- no wait3() in ILE C but waitpid()
#define wait3(stat_loc, options, rusage) waitpid(-1, stat_loc, options)
- no killpg() in ILE C but kill() seems to also does the job. the given pid can also be a pid for a process group.
#define killpg(pid, sig) kill(pid, sig)
- no tzset because time calc gets time zone from job locale => remove call
- no lockf(): dropped the idea of using fcntl() because it uses only advisary locks() and flags , no real locking => no easy workaround
- __VA_ARGS__ : Perhaps you can add to your FAQ section on the porting website on ibm.com that __VA_ARGS__ is not behaving like on Unix/Linux .It seems that in C99 you don't have to pass a variable argument at all and in ILE C you have to pass at least one variable argument.
- string functions: some function definitions seem to be in strings.h instead of string.h
- for some functions the following is needed:
#define _XOPEN_SOURCE 520
I am no C programmer and as I yet had no chance to test these workarounds it would be nice if you could give some advice or comment on these.
Also I am standing before the task of creating procedure prototypes for RPG and am having some difficulties, especially with the data structures.
typedef struct _neo_err
const char *file;
const char *func;
/* internal use only */
struct _neo_err *next;
Here the structure has a subfield with the type of itself ( struct _neo_err *next). AFAIK this is not possible in RPG. Is there a workaround?
This mailing list archive is Copyright 1997-2019 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact