home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 June / Chip_2002-06_cd1.bin / zkuste / cecko / install / devcpp4920.exe / include / process.h < prev    next >
Encoding:
C/C++ Source or Header  |  2001-09-17  |  4.4 KB  |  159 lines

  1. /* 
  2.  * process.h
  3.  *
  4.  * Function calls for spawning child processes.
  5.  *
  6.  * This file is part of the Mingw32 package.
  7.  *
  8.  * Contributors:
  9.  *  Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
  10.  *
  11.  *  THIS SOFTWARE IS NOT COPYRIGHTED
  12.  *
  13.  *  This source code is offered for use in the public domain. You may
  14.  *  use, modify or distribute it freely.
  15.  *
  16.  *  This code is distributed in the hope that it will be useful but
  17.  *  WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
  18.  *  DISCLAMED. This includes but is not limited to warranties of
  19.  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  20.  *
  21.  * $Revision: 1.4 $
  22.  * $Author: cgf $
  23.  * $Date: 2000/02/05 04:04:55 $
  24.  *
  25.  */
  26.  
  27. #ifndef    __STRICT_ANSI__
  28.  
  29. #ifndef    _PROCESS_H_
  30. #define    _PROCESS_H_
  31.  
  32. /* All the headers include this file. */
  33. #include <_mingw.h>
  34.  
  35. /* Includes a definition of _pid_t and pid_t */
  36. #include <sys/types.h>
  37.  
  38. /*
  39.  * Constants for cwait actions.
  40.  * Obsolete for Win32.
  41.  */
  42. #define    _WAIT_CHILD        0
  43. #define    _WAIT_GRANDCHILD    1
  44.  
  45. #ifndef    _NO_OLDNAMES
  46. #define    WAIT_CHILD        _WAIT_CHILD
  47. #define    WAIT_GRANDCHILD        _WAIT_GRANDCHILD
  48. #endif    /* Not _NO_OLDNAMES */
  49.  
  50. /*
  51.  * Mode constants for spawn functions.
  52.  */
  53. #define    _P_WAIT        0
  54. #define    _P_NOWAIT    1
  55. #define    _P_OVERLAY    2
  56. #define    _OLD_P_OVERLAY    _P_OVERLAY
  57. #define    _P_NOWAITO    3
  58. #define    _P_DETACH    4
  59.  
  60. #ifndef    _NO_OLDNAMES
  61. #define    P_WAIT        _P_WAIT
  62. #define    P_NOWAIT    _P_NOWAIT
  63. #define    P_OVERLAY    _P_OVERLAY
  64. #define    OLD_P_OVERLAY    _OLD_P_OVERLAY
  65. #define    P_NOWAITO    _P_NOWAITO
  66. #define    P_DETACH    _P_DETACH
  67. #endif    /* Not _NO_OLDNAMES */
  68.  
  69.  
  70. #ifndef RC_INVOKED
  71.  
  72. #ifdef    __cplusplus
  73. extern "C" {
  74. #endif
  75.  
  76. void    _cexit(void);
  77. void    _c_exit(void);
  78.  
  79. int    _cwait (int*, _pid_t, int);
  80.  
  81. _pid_t    _getpid(void);
  82.  
  83. int    _execl        (const char*, const char*, ...);
  84. int    _execle        (const char*, const char*, ...);
  85. int    _execlp        (const char*, const char*, ...);
  86. int    _execlpe    (const char*, const char*, ...);
  87. int    _execv        (const char*, char* const*);
  88. int    _execve        (const char*, char* const*, char* const*);
  89. int    _execvp        (const char*, char* const*);
  90. int    _execvpe    (const char*, char* const*, char* const*);
  91.  
  92. int    _spawnl        (int, const char*, const char*, ...);
  93. int    _spawnle    (int, const char*, const char*, ...);
  94. int    _spawnlp    (int, const char*, const char*, ...);
  95. int    _spawnlpe    (int, const char*, const char*, ...);
  96. int    _spawnv        (int, const char*, char* const*);
  97. int    _spawnve    (int, const char*, char* const*, char* const*);
  98. int    _spawnvp    (int, const char*, char* const*);
  99. int    _spawnvpe    (int, const char*, char* const*, char* const*);
  100.  
  101. /*
  102.  * The functions _beginthreadex and _endthreadex are not provided by CRTDLL.
  103.  * They are provided by MSVCRT.
  104.  *
  105.  * NOTE: Apparently _endthread calls CloseHandle on the handle of the thread,
  106.  * making for race conditions if you are not careful. Basically you have to
  107.  * make sure that no-one is going to do *anything* with the thread handle
  108.  * after the thread calls _endthread or returns from the thread function.
  109.  *
  110.  * NOTE: No old names for these functions. Use the underscore.
  111.  */
  112. unsigned long
  113.     _beginthread    (void (*)(void *), unsigned, void*);
  114. void    _endthread    (void);
  115.  
  116. #ifdef    __MSVCRT__
  117. unsigned long
  118.     _beginthreadex    (void *, unsigned, unsigned (__stdcall *) (void *), 
  119.              void*, unsigned, unsigned*);
  120. void    _endthreadex    (unsigned);
  121. #endif
  122.  
  123.  
  124. #ifndef    _NO_OLDNAMES
  125. /*
  126.  * Functions without the leading underscore, for portability. These functions
  127.  * live in liboldnames.a.
  128.  */
  129. int    cwait (int*, pid_t, int);
  130. pid_t    getpid (void);
  131. int    execl (const char*, const char*, ...);
  132. int    execle (const char*, const char*, ...);
  133. int    execlp (const char*, const char*, ...);
  134. int    execlpe (const char*, const char*, ...);
  135. int    execv (const char*, char* const*);
  136. int    execve (const char*, char* const*, char* const*);
  137. int    execvp (const char*, char* const*);
  138. int    execvpe (const char*, char* const*, char* const*);
  139. int    spawnl (int, const char*, const char*, ...);
  140. int    spawnle (int, const char*, const char*, ...);
  141. int    spawnlp (int, const char*, const char*, ...);
  142. int    spawnlpe (int, const char*, const char*, ...);
  143. int    spawnv (int, const char*, char* const*);
  144. int    spawnve (int, const char*, char* const*, char* const*);
  145. int    spawnvp (int, const char*, char* const*);
  146. int    spawnvpe (int, const char*, char* const*, char* const*);
  147. #endif    /* Not _NO_OLDNAMES */
  148.  
  149. #ifdef    __cplusplus
  150. }
  151. #endif
  152.  
  153. #endif    /* Not RC_INVOKED */
  154.  
  155. #endif    /* _PROCESS_H_ not defined */
  156.  
  157. #endif    /* Not __STRICT_ANSI__ */
  158.  
  159.