summaryrefslogtreecommitdiff
path: root/job.h
diff options
context:
space:
mode:
Diffstat (limited to 'job.h')
-rw-r--r--job.h27
1 files changed, 20 insertions, 7 deletions
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 */