>Declare waitpid as > pid_t waitpid (pid_t pid, int *statp, int options, ...); It's already been defined (by POSIX), and probably not as a varargs function. Yeah, maybe it'll work on most of the machines you and I can think of (just as calling "open" with 2 arguments will), but why take chances?