Welcome to mirror list, hosted at ThFree Co, Russian Federation.

process.h « include « mingw « winsup - cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: bdc2f0c59d209b7a08c9db7945eab5df2687f68a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
/* 
 * process.h
 * This file has no copyright assigned and is placed in the Public Domain.
 * This file is a part of the mingw-runtime package.
 * No warranty is given; refer to the file DISCLAIMER within the package.
 *
 * Function calls for spawning child processes.
 *
 */

#ifndef	_PROCESS_H_
#define	_PROCESS_H_

/* All the headers include this file. */
#include <_mingw.h>

/* Includes a definition of _pid_t and pid_t */
#include <sys/types.h>

/*
 * Constants for cwait actions.
 * Obsolete for Win32.
 */
#define	_WAIT_CHILD		0
#define	_WAIT_GRANDCHILD	1

#ifndef	_NO_OLDNAMES
#define	WAIT_CHILD		_WAIT_CHILD
#define	WAIT_GRANDCHILD		_WAIT_GRANDCHILD
#endif	/* Not _NO_OLDNAMES */

/*
 * Mode constants for spawn functions.
 */
#define	_P_WAIT		0
#define	_P_NOWAIT	1
#define	_P_OVERLAY	2
#define	_OLD_P_OVERLAY	_P_OVERLAY
#define	_P_NOWAITO	3
#define	_P_DETACH	4

#ifndef	_NO_OLDNAMES
#define	P_WAIT		_P_WAIT
#define	P_NOWAIT	_P_NOWAIT
#define	P_OVERLAY	_P_OVERLAY
#define	OLD_P_OVERLAY	_OLD_P_OVERLAY
#define	P_NOWAITO	_P_NOWAITO
#define	P_DETACH	_P_DETACH
#endif	/* Not _NO_OLDNAMES */


#ifndef RC_INVOKED

#ifdef	__cplusplus
extern "C" {
#endif

_CRTIMP void __cdecl _cexit(void);
_CRTIMP void __cdecl _c_exit(void);

_CRTIMP int __cdecl _cwait (int*, _pid_t, int);

_CRTIMP _pid_t __cdecl _getpid(void);

_CRTIMP int __cdecl _execl	(const char*, const char*, ...);
_CRTIMP int __cdecl _execle	(const char*, const char*, ...);
_CRTIMP int __cdecl _execlp	(const char*, const char*, ...);
_CRTIMP int __cdecl _execlpe	(const char*, const char*, ...);
_CRTIMP int __cdecl _execv	(const char*, const char* const*);
_CRTIMP int __cdecl _execve	(const char*, const char* const*, const char* const*);
_CRTIMP int __cdecl _execvp	(const char*, const char* const*);
_CRTIMP int __cdecl _execvpe	(const char*, const char* const*, const char* const*);

_CRTIMP int __cdecl _spawnl	(int, const char*, const char*, ...);
_CRTIMP int __cdecl _spawnle	(int, const char*, const char*, ...);
_CRTIMP int __cdecl _spawnlp	(int, const char*, const char*, ...);
_CRTIMP int __cdecl _spawnlpe	(int, const char*, const char*, ...);
_CRTIMP int __cdecl _spawnv	(int, const char*, const char* const*);
_CRTIMP int __cdecl _spawnve	(int, const char*, const char* const*, const char* const*);
_CRTIMP int __cdecl _spawnvp	(int, const char*, const char* const*);
_CRTIMP int __cdecl _spawnvpe	(int, const char*, const char* const*, const char* const*);


/*
 * The functions _beginthreadex and _endthreadex are not provided by CRTDLL.
 * They are provided by MSVCRT.
 *
 * NOTE: Apparently _endthread calls CloseHandle on the handle of the thread,
 * making for race conditions if you are not careful. Basically you have to
 * make sure that no-one is going to do *anything* with the thread handle
 * after the thread calls _endthread or returns from the thread function.
 *
 * NOTE: No old names for these functions. Use the underscore.
 */
_CRTIMP unsigned long __cdecl
	_beginthread	(void (*)(void *), unsigned, void*);
_CRTIMP void __cdecl _endthread	(void);

#ifdef	__MSVCRT__
_CRTIMP unsigned long __cdecl
	_beginthreadex	(void *, unsigned, unsigned (__stdcall *) (void *), 
			 void*, unsigned, unsigned*);
_CRTIMP void __cdecl _endthreadex (unsigned);
#endif


#ifndef	_NO_OLDNAMES
/*
 * Functions without the leading underscore, for portability. These functions
 * live in liboldnames.a.
 */
_CRTIMP int  __cdecl cwait (int*, pid_t, int);
_CRTIMP pid_t __cdecl getpid (void);
_CRTIMP int __cdecl execl (const char*, const char*, ...);
_CRTIMP int __cdecl execle (const char*, const char*, ...);
_CRTIMP int __cdecl execlp (const char*, const char*, ...);
_CRTIMP int __cdecl execlpe (const char*, const char*, ...);
_CRTIMP int __cdecl execv (const char*, const char* const*);
_CRTIMP int __cdecl execve (const char*, const char* const*, const char* const*);
_CRTIMP int __cdecl execvp (const char*, const char* const*);
_CRTIMP int __cdecl execvpe (const char*, const char* const*, const char* const*);
_CRTIMP int __cdecl spawnl (int, const char*, const char*, ...);
_CRTIMP int __cdecl spawnle (int, const char*, const char*, ...);
_CRTIMP int __cdecl spawnlp (int, const char*, const char*, ...);
_CRTIMP int __cdecl spawnlpe (int, const char*, const char*, ...);
_CRTIMP int __cdecl spawnv (int, const char*, const char* const*);
_CRTIMP int __cdecl spawnve (int, const char*, const char* const*, const char* const*);
_CRTIMP int __cdecl spawnvp (int, const char*, const char* const*);
_CRTIMP int __cdecl spawnvpe (int, const char*, const char* const*, const char* const*);
#endif	/* Not _NO_OLDNAMES */

#ifdef	__cplusplus
}
#endif

#endif	/* Not RC_INVOKED */

#endif	/* _PROCESS_H_ not defined */