home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 May / Pcwk0597.iso / borland / cb / setup / cbuilder / data.z / PROCESS.H < prev    next >
C/C++ Source or Header  |  1997-02-28  |  8KB  |  196 lines

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