home *** CD-ROM | disk | FTP | other *** search
/ Chip 1997 October / Chip_1997-10_cd.bin / tema / sybase / powerj / h.z / PROCESS.H < prev    next >
C/C++ Source or Header  |  1996-11-06  |  7KB  |  179 lines

  1. /*
  2.  *  process.h    Process spawning and related routines
  3.  *
  4.  *  Copyright by WATCOM International Corp. 1988-1996.  All rights reserved.
  5.  */
  6. #ifndef _PROCESS_H_INCLUDED
  7. #define _PROCESS_H_INCLUDED
  8. #if !defined(_ENABLE_AUTODEPEND)
  9.   #pragma read_only_file;
  10. #endif
  11. #ifdef __cplusplus
  12. extern "C" {
  13. #endif
  14.  
  15. #ifndef _COMDEF_H_INCLUDED
  16.  #include <_comdef.h>
  17. #endif
  18.  
  19. #ifndef _WCHAR_T_DEFINED
  20. #define _WCHAR_T_DEFINED
  21. #define _WCHAR_T_DEFINED_
  22. #ifdef __cplusplus
  23. typedef long char wchar_t;
  24. #else
  25. typedef unsigned short wchar_t;
  26. #endif
  27. #endif
  28.  
  29. /*
  30.  *  POSIX 1003.1 Prototypes
  31.  */
  32. _WCRTLINK extern int execl( const char *__path, const char *__arg0, ... );
  33. _WCRTLINK extern int execle( const char *__path, const char *__arg0, ... );
  34. _WCRTLINK extern int execlp( const char *__file, const char *__arg0, ... );
  35. _WCRTLINK extern int execv( const char *__path, const char *const __argv[] );
  36. _WCRTLINK extern int execve( const char *__path, const char *const __argv[], 
  37.                 const char *const __envp[] );
  38. _WCRTLINK extern int execvp( const char *__file, const char *const __argv[] );
  39.  
  40.  
  41. /* mode flags for spawnxxx routines */
  42. _WCRTLINK extern int __p_overlay;
  43.  
  44. #define P_WAIT        0
  45. #define P_NOWAIT    1
  46. #define P_OVERLAY   __p_overlay
  47. #define P_NOWAITO   3
  48.  
  49. /*
  50.  *  Prototypes for non-POSIX functions
  51.  */
  52.  
  53. _WCRTLINK extern int execlpe( const char *__file, const char *__arg0, ... );
  54. _WCRTLINK extern int execvpe( const char *__file, const char *const __argv[], 
  55.                   const char *const __envp[] );
  56.  
  57. #if defined(__386__) || defined(__AXP__) || defined(__PPC__)
  58. #if defined(__NT__)
  59. _WCRTLINK extern unsigned long _beginthread( 
  60.                 register void (*__start_address)(void *),
  61.         unsigned __stack_size, void *__arglist );
  62. _WCRTLINK extern unsigned long _beginthreadex( void *__security, 
  63.         unsigned __stack_size, 
  64.         register unsigned (__stdcall *__start_address)(void *),
  65.         void *__arglist, unsigned __initflag, unsigned *__thrdaddr );
  66. #pragma intrinsic(_beginthread,_beginthreadex);
  67. _WCRTLINK extern void _endthreadex( unsigned __retval );
  68. _WCRTLINK extern unsigned long __threadhandle( void );
  69. #else
  70. _WCRTLINK extern int  _beginthread( register void (*__start_address)(void *),
  71.    void *__stack_bottom, unsigned __stack_size, void *__arglist );
  72. #pragma intrinsic(_beginthread);
  73. #endif
  74. _WCRTLINK extern void _endthread();
  75. #else
  76. _WCRTLINK extern int _WCFAR  _beginthread( 
  77.     register void (_WCFAR *__start_address)(void _WCFAR *),
  78.     void _WCFAR *__stack_bottom, unsigned __stack_size, void _WCFAR *__arglist );
  79. #pragma intrinsic(_beginthread);
  80. _WCRTLINK extern void _WCFAR _endthread();
  81. #ifndef __SW_ZU
  82.   _WCRTLINK void _WCFAR *__chkstack( void _WCFAR * );
  83.   #define _beginthread( __sa, __sb, __ss, __al ) \
  84.         _beginthread( __sa, __chkstack(__sb), __ss, __al )
  85. #endif
  86. #endif
  87.  
  88. /* values for __action_code used with cwait() */
  89.  
  90. #define WAIT_CHILD 0
  91. #define WAIT_GRANDCHILD 1
  92.  
  93. _WCRTLINK extern int   cwait( int *__status, int __process_id, 
  94.                  int __action_code );
  95. _WCRTLINK extern int   _cwait( int *__status, int __process_id, 
  96.                  int __action_code );
  97. _WCRTLINK extern void  abort( void );
  98. _WCRTLINK extern void  exit( int __status );
  99. _WCRTLINK extern void  _exit( int __status );
  100. _WCRTLINK extern char *getcmd( char *__buffer );
  101. _WCRTLINK extern int   _bgetcmd( char *__buffer, int __len );
  102. _WCRTLINK extern char *_cmdname( char *__name );
  103. _WCRTLINK extern char *getenv( const char *__name );
  104. _WCRTLINK extern int   putenv( const char *__string );
  105. _WCRTLINK extern int   spawnl( int __mode, const char *__path, 
  106.                   const char *__arg0, ... );
  107. _WCRTLINK extern int   spawnle( int __mode, const char *__path, 
  108.                    const char *__arg0, ... );
  109. _WCRTLINK extern int   spawnlp( int __mode, const char *__path, 
  110.                    const char *__arg0, ... );
  111. _WCRTLINK extern int   spawnlpe( int __mode, const char *__path, 
  112.                 const char *__arg0, ... );
  113. _WCRTLINK extern int   spawnv( int __mode, const char *__path, 
  114.                   const char * const *__argv );
  115. _WCRTLINK extern int   spawnve( int __mode, const char *__path, 
  116.                    const char * const *__argv, 
  117.                    const char * const *__envp );
  118. _WCRTLINK extern int   spawnvp( int __mode, const char *__path, 
  119.                    const char * const *__argv );
  120. _WCRTLINK extern int   spawnvpe( int __mode, const char *__path, 
  121.                 const char * const *__argv, 
  122.                 const char * const *__envp );
  123. _WCRTLINK extern int   system( const char *__cmd );
  124.  
  125. _WCRTLINK extern wchar_t *  _wgetenv( const wchar_t *__name );
  126. _WCRTLINK extern int        _wsetenv( const wchar_t *__name,
  127.                       const wchar_t *__newvalue, 
  128.                       int __overwrite );
  129. _WCRTLINK extern int        _wputenv( const wchar_t *__env_string );
  130.  
  131. _WCRTLINK extern int    _wexecl( const wchar_t *__path, const wchar_t *__arg0, ... );
  132. _WCRTLINK extern int    _wexecle( const wchar_t *__path, const wchar_t *__arg0, ... );
  133. _WCRTLINK extern int    _wexeclp( const wchar_t *__file, const wchar_t *__arg0, ... );
  134. _WCRTLINK extern int    _wexecv( const wchar_t *__path, const wchar_t *const __argv[] );
  135. _WCRTLINK extern int    _wexecve( const wchar_t *__path, const wchar_t *const __argv[], 
  136.                   const wchar_t *const __envp[] );
  137. _WCRTLINK extern int    _wexecvp( const wchar_t *__file, const wchar_t *const __argv[] );
  138. _WCRTLINK extern int    _wexeclpe( const wchar_t *__file, const wchar_t *__arg0, ... );
  139. _WCRTLINK extern int    _wexecvpe( const wchar_t *__file, const wchar_t *const __argv[], 
  140.                    const wchar_t *const __envp[] );
  141. _WCRTLINK extern int    _wspawnl( int __mode, const wchar_t *__path, 
  142.                   const wchar_t *__arg0, ... );
  143. _WCRTLINK extern int    _wspawnle( int __mode, const wchar_t *__path, 
  144.                    const wchar_t *__arg0, ... );
  145. _WCRTLINK extern int    _wspawnlp( int __mode, const wchar_t *__path, 
  146.                    const wchar_t *__arg0, ... );
  147. _WCRTLINK extern int    _wspawnlpe( int __mode, const wchar_t *__path, 
  148.                     const wchar_t *__arg0, ... );
  149. _WCRTLINK extern int    _wspawnv( int __mode, const wchar_t *__path, 
  150.                   const wchar_t * const *__argv );
  151. _WCRTLINK extern int    _wspawnve( int __mode, const wchar_t *__path, 
  152.                    const wchar_t * const *__argv, 
  153.                    const wchar_t * const *__envp );
  154. _WCRTLINK extern int    _wspawnvp( int __mode, const wchar_t *__path, 
  155.                    const wchar_t * const *__argv );
  156. _WCRTLINK extern int    _wspawnvpe( int __mode, const wchar_t *__path, 
  157.                     const wchar_t * const *__argv, 
  158.                     const wchar_t * const *__envp );
  159. _WCRTLINK extern int    _wsystem( const wchar_t *__cmd );
  160.  
  161. #if defined(__NT__)
  162.  // For use when access to the DLL startup is required.
  163.  // this function pointer will be called after the C library startup
  164.  // and before the C++ library startup.
  165.  #if defined(_WINDOWS_)
  166.   extern BOOL (WINAPI *_pRawDllMain)( HANDLE, DWORD, LPVOID );
  167.  #else
  168.   extern int (__stdcall *_pRawDllMain)( void *, unsigned, void * );
  169.  #endif
  170. #endif
  171. _WCRTLINK extern int getpid( void );
  172. _WCRTLINK extern int wait( int *__status );
  173.  
  174.  
  175. #ifdef __cplusplus
  176. };
  177. #endif
  178. #endif
  179.