home *** CD-ROM | disk | FTP | other *** search
/ ProfitPress Mega CDROM2 …eeware (MSDOS)(1992)(Eng) / ProfitPress-MegaCDROM2.B6I / MISC / GNU / MAK358AS.ZIP / JOB.H < prev    next >
Encoding:
C/C++ Source or Header  |  1992-02-22  |  1.8 KB  |  63 lines

  1. /*
  2.  * MS-DOS port (c) 1990 by Thorsten Ohl <ohl@gnu.ai.mit.edu>
  3.  *
  4.  * To this port, the same copying conditions apply as to the
  5.  * original release.
  6.  *
  7.  * IMPORTANT:
  8.  * This file is not identical to the original GNU release!
  9.  * You should have received this code as patch to the official
  10.  * GNU release.
  11.  *
  12.  * MORE IMPORTANT:
  13.  * This port comes with ABSOLUTELY NO WARRANTY.
  14.  *
  15.  * $Header: e:/gnu/make/RCS/job.h'v 3.58.0.2 90/07/17 03:32:50 tho Exp $
  16.  */
  17.  
  18. /* Structure describing a running or dead child process.  */
  19.  
  20. struct child
  21.   {
  22.     struct child *next;        /* Link in the chain.  */
  23.  
  24.     struct file *file;        /* File being remade.  */
  25.  
  26.     char **environment;        /* Environment for commands.  */
  27.  
  28.     char *commands;        /* Commands being executed.  */
  29.     char *command_ptr;        /* Pointer into above.  */
  30.     unsigned int command_line;    /* Index into file->cmds->command_lines.  */
  31.  
  32.     int pid;            /* Child process's ID number.  */
  33.     unsigned int remote:1;    /* Nonzero if executing remotely.  */
  34.  
  35.     unsigned int noerror:1;    /* Nonzero if commands contained a `-'.  */
  36.  
  37.     unsigned int good_stdin:1;    /* Nonzero if this child has a good stdin.  */
  38.     unsigned int deleted:1;    /* Nonzero if targets have been deleted.  */
  39.   };
  40.  
  41. extern struct child *children;
  42.  
  43. #ifdef MSDOS
  44. extern  int _cdecl wait (int *status);
  45. extern  void new_job (struct file *file);
  46. extern  void block_children (void);
  47. extern  void unblock_children (void);
  48. #else /* not MSDOS */
  49. extern void new_job ();
  50. extern void wait_for_children ();
  51. extern void block_children (), unblock_children ();
  52. #endif /* not MSDOS */
  53.  
  54. #ifdef MSDOS
  55. extern  void exec_command (char **argv, char **envp, char *path, char *shell);
  56. #endif /* MSDOS */
  57.  
  58. extern char **construct_command_argv ();
  59. extern void child_execute_job ();
  60. extern void exec_command ();
  61.  
  62. extern unsigned int job_slots_used;
  63.