From 9e443adaf679b071fb3319cfc3259e322dcb6e57 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Wed, 20 Mar 1996 14:57:41 +0000 Subject: Tue Mar 19 20:21:34 1996 Roland McGrath Merged VMS port from Klaus Kaempf . * make.h (PARAMS): New macro. * config.h-vms: New file. * makefile.com: New file. * makefile.vms: New file. * readme.vms: New file. * vmsdir.h: New file. * vmsfunctions.c: New file. * vmsify.c: New file. * file.h: Renamed to filedef.h to avoid conflict with VMS system hdr. * ar.c: Added prototypes and changes for VMS. * commands.c: Likewise. * commands.h: Likewise. * default.c: Likewise. * dep.h: Likewise. * dir.c: Likewise. * expand.c: Likewise. * file.c: Likewise. * function.c: Likewise. * implicit.c: Likewise. * job.c: Likewise. * job.h: Likewise. * main.c: Likewise. * make.h: Likewise. * misc.c: Likewise. * read.c: Likewise. * remake.c: Likewise. * remote-stub.c: Likewise. * rule.c: Likewise. * rule.h: Likewise. * variable.c: Likewise. * variable.h: Likewise. * vpath.c: Likewise. * compatMakefile (srcs): Rename file.h to filedef.h. --- job.h | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) (limited to 'job.h') diff --git a/job.h b/job.h index 572bb33..82814aa 100644 --- a/job.h +++ b/job.h @@ -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 */ -- cgit v1.2.3