home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 9 / CDACTUAL9.iso / progs / CB / DATA.Z / PROCESS.H < prev    next >
Encoding:
C/C++ Source or Header  |  1996-09-25  |  8.0 KB  |  201 lines

  1. /*  process.h
  2.  
  3.     Symbols and structures for process management.
  4.  
  5. */
  6.  
  7. /* $Copyright: 1987$ */
  8. /* $Revision:   8.3  $ */
  9.  
  10. #if !defined(__PROCESS_H)
  11. #define __PROCESS_H
  12.  
  13. #if !defined(___DEFS_H)
  14. #include <_defs.h>
  15. #endif
  16.  
  17. #if !defined(__STDDEF_H)
  18. #include <stddef.h>
  19. #endif
  20.  
  21.  
  22. #if !defined(RC_INVOKED)
  23.  
  24. #if defined(__STDC__)
  25. #pragma warn -nak
  26. #endif
  27.  
  28. #endif  /* !RC_INVOKED */
  29.  
  30.  
  31. /*  Modes available as first argument to the spawnxx functions. */
  32.  
  33. #define P_WAIT    0 /* child runs separately, parent waits until exit */
  34. #define P_NOWAIT  1 /* both concurrent -- not implemented */
  35. #define P_OVERLAY 2 /* child replaces parent, parent no longer exists */
  36.  
  37. #define P_NOWAITO 3 /* ASYNCH,       toss RC    */
  38. #define P_DETACH  4 /* DETACHED,     toss RC    */
  39.  
  40. #define WAIT_CHILD       0
  41. #define WAIT_GRANDCHILD      1
  42.  
  43. #ifdef __cplusplus
  44. extern "C" {
  45. #endif
  46.  
  47. #if !defined(__FLAT__)
  48. extern  unsigned _Cdecl _psp;    /* provided unconditionally in dos.h */
  49. #define  getpid()   (_psp)
  50.  
  51. void _Cdecl abort(void);
  52. void _Cdecl _cexit(void);
  53. void _Cdecl _c_exit(void);
  54. void _Cdecl exit(int __status);
  55. void _Cdecl _exit(int __status);
  56.  
  57. #if defined(__DPMI16__) || !defined(_Windows)
  58.  
  59. int  _Cdecl execl(char _FAR *__path, char _FAR *__arg0, ...);
  60. int  _Cdecl execle(char _FAR *__path, char _FAR *__arg0, ...);
  61. int  _Cdecl execlp(char _FAR *__path, char _FAR *__arg0, ...);
  62. int  _Cdecl execlpe(char _FAR *__path, char _FAR *__arg0, ...);
  63. int  _Cdecl execv(char _FAR *__path, char _FAR *__argv[]);
  64. int  _Cdecl execve(char _FAR *__path, char _FAR *__argv[], char _FAR *_FAR *__env);
  65. int  _Cdecl execvp(char _FAR *__path, char _FAR *__argv[]);
  66. int  _Cdecl execvpe(char _FAR *__path, char _FAR *__argv[], char _FAR *_FAR *__env);
  67. int  _Cdecl spawnl(int __mode, char _FAR *__path, char _FAR *__arg0, ...);
  68. int  _Cdecl spawnle(int __mode, char _FAR *__path, char _FAR *__arg0, ...);
  69. int  _Cdecl spawnlp(int __mode, char _FAR *__path, char _FAR *__arg0, ...);
  70. int  _Cdecl spawnlpe(int __mode, char _FAR *__path, char _FAR *__arg0, ...);
  71. int  _Cdecl spawnv(int __mode, char _FAR *__path, char _FAR *__argv[]);
  72. int  _Cdecl spawnve(int __mode, char _FAR *__path, char _FAR *__argv[], char _FAR *_FAR *__env);
  73. int  _Cdecl spawnvp(int __mode, char _FAR *__path, char _FAR *__argv[]);
  74. int  _Cdecl spawnvpe(int __mode, char _FAR *__path, char _FAR *__argv[], char _FAR *_FAR *__env);
  75. int  _Cdecl _FARFUNC system(const char _FAR *__command);
  76.  
  77. #endif /* __DPMI16__ || !_Windows */
  78.  
  79. #else  /* defined __FLAT__ */
  80.  
  81. int  _RTLENTRY _EXPFUNC getpid(void);
  82. void _RTLENTRY _EXPFUNC abort(void);
  83. void _RTLENTRY _EXPFUNC _cexit(void);
  84. void _RTLENTRY _EXPFUNC _c_exit(void);
  85. int  _RTLENTRY _EXPFUNC execl(const char * __path, const char * __arg0, ...);
  86. int  _RTLENTRY _EXPFUNC execle(const char * __path, const char * __arg0, ...);
  87. int  _RTLENTRY _EXPFUNC execlp(const char * __path, const char * __arg0, ...);
  88. int  _RTLENTRY _EXPFUNC execlpe(const char * __path, const char * __arg0, ...);
  89. int  _RTLENTRY _EXPFUNC execv(const char * __path, char * const * __argv);
  90. int  _RTLENTRY _EXPFUNC execve(const char * __path, char * const * __argv,
  91.                               char * const * __env);
  92. int  _RTLENTRY _EXPFUNC execvp(const char * __path, char * const * __argv);
  93. int  _RTLENTRY _EXPFUNC execvpe(const char * __path, char * const * __argv,
  94.                                 char * const * __env);
  95. void _RTLENTRY _EXPFUNC exit(int __status);
  96. void _RTLENTRY _EXPFUNC _exit(int __status);
  97. int  _RTLENTRY _EXPFUNC spawnl(int __mode, const char * __path, const char * __arg0, ...);
  98. int  _RTLENTRY _EXPFUNC spawnle(int __mode, const char * __path, const char * __arg0, ...);
  99. int  _RTLENTRY _EXPFUNC spawnlp(int __mode, const char * __path, const char * __arg0, ...);
  100. int  _RTLENTRY _EXPFUNC spawnlpe(int __mode, const char * __path, const char * __arg0, ...);
  101. int  _RTLENTRY _EXPFUNC spawnv(int __mode, const char * __path, char * const * __argv);
  102. int  _RTLENTRY _EXPFUNC spawnve(int __mode, const char * __path, char * const * __argv,
  103.                                char * const * __env);
  104. int  _RTLENTRY _EXPFUNC spawnvp(int __mode, const char * __path, char * const * __argv);
  105. int  _RTLENTRY _EXPFUNC spawnvpe(int __mode, const char * __path, char * const * __argv,
  106.                                 char * const * __env);
  107. int  _RTLENTRY _EXPFUNC system(const char * __command);
  108.  
  109.  
  110. int  _RTLENTRY _EXPFUNC _wexecl(const wchar_t * __path, const wchar_t * __arg0, ...);
  111. int  _RTLENTRY _EXPFUNC _wexecle(const wchar_t * __path, const wchar_t * __arg0, ...);
  112. int  _RTLENTRY _EXPFUNC _wexeclp(const wchar_t * __path, const wchar_t * __arg0, ...);
  113. int  _RTLENTRY _EXPFUNC _wexclpe(const wchar_t * __path, const wchar_t * __arg0, ...);
  114. int  _RTLENTRY _EXPFUNC _wexecv(const wchar_t * __path, wchar_t * const * __argv);
  115. int  _RTLENTRY _EXPFUNC _wexecve(const wchar_t * __path, wchar_t * const * __argv,
  116.                               wchar_t * const * __env);
  117. int  _RTLENTRY _EXPFUNC _wexecvp(const wchar_t * __path, wchar_t * const * __argv);
  118. int  _RTLENTRY _EXPFUNC _wexcvpe(const wchar_t * __path, wchar_t * const * __argv,
  119.                                 wchar_t * const * __env);
  120. int  _RTLENTRY _EXPFUNC _wspawnl(int __mode, const wchar_t * __path, const wchar_t * __arg0, ...);
  121. int  _RTLENTRY _EXPFUNC _wspawnle(int __mode, const wchar_t * __path, const wchar_t * __arg0, ...);
  122. int  _RTLENTRY _EXPFUNC _wspawnlp(int __mode, const wchar_t * __path, const wchar_t * __arg0, ...);
  123. int  _RTLENTRY _EXPFUNC _wspawnlpe(int __mode, const wchar_t * __path, const wchar_t * __arg0, ...);
  124. int  _RTLENTRY _EXPFUNC _wspawnv(int __mode, const wchar_t * __path, wchar_t * const * __argv);
  125. int  _RTLENTRY _EXPFUNC _wspawnve(int __mode, const wchar_t * __path, wchar_t * const * __argv,
  126.                                wchar_t * const * __env);
  127. int  _RTLENTRY _EXPFUNC _wspawnvp(int __mode, const wchar_t * __path, wchar_t * const * __argv);
  128. int  _RTLENTRY _EXPFUNC _wspawnvpe(int __mode, const wchar_t * __path, wchar_t * const * __argv,
  129.                                 wchar_t * const * __env);
  130. int  _RTLENTRY _EXPFUNC _wsystem(const wchar_t * __command);
  131.  
  132.  
  133. #if defined(__MT__)
  134.  
  135. #if defined(__OS2__)
  136. int _RTLENTRY _EXPFUNC _beginthread(void (_USERENTRY *__start)(void *),
  137.                                     unsigned __stksize, void *__arg);
  138. #endif  /* __OS2__ */
  139.  
  140. #if defined(__WIN32__)
  141. unsigned long _RTLENTRY _EXPFUNC _beginthread  (void (_USERENTRY *__start)(void *),
  142.                                                 unsigned __stksize, void *__arg);
  143. unsigned long _RTLENTRY _EXPFUNC _beginthreadNT(void (_USERENTRY *__start)(void *),
  144.                                                 unsigned __stksize, void *__arg,
  145.                                                 void *__security_attr,
  146.                                                 unsigned long __create_flags,
  147.                                                 unsigned long *__thread_id);
  148.  
  149. #endif  /* __WIN32__ */
  150.  
  151. void _RTLENTRY _EXPFUNC _endthread     (void);
  152.  
  153. #if defined(__MFC_COMPAT__)
  154. inline unsigned long _RTLENTRY _beginthreadex
  155. (
  156.     void *security,
  157.     unsigned stksize,
  158.     unsigned (__stdcall *start_address)(void *),
  159.     void *arglist,
  160.     unsigned initflag,
  161.     unsigned *threadaddr
  162. )
  163. {
  164.     return _beginthreadNT((void(_USERENTRY *)(void *))start_address, stksize,
  165.                           arglist, security, (unsigned long)initflag,
  166.                           (unsigned long *)threadaddr);
  167. }
  168. #pragma argsused
  169. inline void _RTLENTRY _endthreadex(unsigned retval)
  170. {
  171.     _endthread();
  172. }
  173. #endif  /* __MFC_COMPAT__ */
  174.  
  175.  
  176. #endif  /* __MT__ */
  177.  
  178. #if defined(__OS2__) || defined(__WIN32__)
  179. int  _RTLENTRY _EXPFUNC cwait          (int *__term_stat, int __pid, int __action);
  180. int  _RTLENTRY _EXPFUNC wait           (int *__term_stat);
  181. #endif  /* __OS2__ || __WIN32__ */
  182.  
  183. #endif  /* __FLAT__ */
  184.  
  185. #ifdef __cplusplus
  186. }
  187. #endif
  188.  
  189.  
  190. #if !defined(RC_INVOKED)
  191.  
  192. #if defined(__STDC__)
  193. #pragma warn .nak
  194. #endif
  195.  
  196. #endif  /* !RC_INVOKED */
  197.  
  198.  
  199. #endif  /* __PROCESS_H */
  200.  
  201.