diff options
Diffstat (limited to 'job.h')
-rw-r--r-- | job.h | 27 |
1 files changed, 20 insertions, 7 deletions
@@ -16,6 +16,9 @@ You should have received a copy of the GNU General Public License along with GNU Make; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ +#ifndef SEEN_JOB_H +#define SEEN_JOB_H + /* Structure describing a running or dead child process. */ struct child @@ -31,6 +34,10 @@ struct child char *command_ptr; /* Ptr into command_lines[command_line]. */ pid_t pid; /* Child process's ID number. */ +#ifdef VMS + int efn; /* Completion event flag number */ + int cstatus; /* Completion status */ +#endif unsigned int remote:1; /* Nonzero if executing remotely. */ unsigned int noerror:1; /* Nonzero if commands contained a `-'. */ @@ -41,18 +48,22 @@ struct child extern struct child *children; -extern void new_job (); -extern void reap_children (); -extern void start_waiting_jobs (); +extern void new_job PARAMS ((struct file *file)); +extern void reap_children PARAMS ((int block, int err)); +extern void start_waiting_jobs PARAMS ((void)); -extern char **construct_command_argv (); -extern void child_execute_job (); -extern void exec_command (); +extern char **construct_command_argv PARAMS ((char *line, char **restp, struct file *file)); +#ifdef VMS +extern int child_execute_job PARAMS ((char *argv, struct child *child)); +#else +extern void child_execute_job PARAMS ((int stdin_fd, int stdout_fd, char **argv, char **envp)); +#endif +extern void exec_command PARAMS ((char **argv, char **envp)); extern unsigned int job_slots_used; #ifdef POSIX -extern void unblock_sigs (); +extern void unblock_sigs PARAMS ((void)); #else #ifdef HAVE_SIGSETMASK extern int fatal_signal_mask; @@ -61,3 +72,5 @@ extern int fatal_signal_mask; #define unblock_sigs() #endif #endif + +#endif /* SEEN_JOB_H */ |