132
|
1 /*
|
|
2 * Written by Sean Kelly
|
|
3 * Placed into Public Domain
|
|
4 */
|
|
5
|
|
6 module tango.sys.win32.Process;
|
|
7
|
|
8
|
|
9 private
|
|
10 {
|
|
11 import tango.stdc.stdint;
|
|
12 import tango.stdc.stddef;
|
|
13 }
|
|
14
|
|
15 extern (C):
|
|
16
|
|
17 enum
|
|
18 {
|
|
19 P_WAIT,
|
|
20 P_NOWAIT,
|
|
21 P_OVERLAY,
|
|
22 P_NOWAITO,
|
|
23 P_DETACH,
|
|
24 }
|
|
25
|
|
26 enum
|
|
27 {
|
|
28 WAIT_CHILD,
|
|
29 WAIT_GRANDCHILD,
|
|
30 }
|
|
31
|
|
32 private
|
|
33 {
|
|
34 extern (C) alias void function(void*) bt_fptr;
|
|
35 extern (Windows) alias uint function(void*) btex_fptr;
|
|
36 }
|
|
37
|
|
38 uintptr_t _beginthread(bt_fptr, uint, void*);
|
|
39 void _endthread();
|
|
40 uintptr_t _beginthreadex(void*, uint, btex_fptr, void*, uint, uint *);
|
|
41 void _endthreadex(uint);
|
|
42
|
|
43 void abort();
|
|
44 void exit(int);
|
|
45 void _exit(int);
|
|
46 void _cexit();
|
|
47 void _c_exit();
|
|
48
|
|
49 intptr_t cwait(int*, intptr_t, int);
|
|
50 intptr_t wait(int*);
|
|
51
|
|
52 int getpid();
|
|
53 int system(char*);
|
|
54
|
|
55 intptr_t spawnl(int, char*, char*, ...);
|
|
56 intptr_t spawnle(int, char*, char*, ...);
|
|
57 intptr_t spawnlp(int, char*, char*, ...);
|
|
58 intptr_t spawnlpe(int, char*, char*, ...);
|
|
59 intptr_t spawnv(int, char*, char**);
|
|
60 intptr_t spawnve(int, char*, char**, char**);
|
|
61 intptr_t spawnvp(int, char*, char**);
|
|
62 intptr_t spawnvpe(int, char*, char**, char**);
|
|
63
|
|
64 intptr_t execl(char*, char*, ...);
|
|
65 intptr_t execle(char*, char*, ...);
|
|
66 intptr_t execlp(char*, char*, ...);
|
|
67 intptr_t execlpe(char*, char*, ...);
|
|
68 intptr_t execv(char*, char**);
|
|
69 intptr_t execve(char*, char**, char**);
|
|
70 intptr_t execvp(char*, char**);
|
|
71 intptr_t execvpe(char*, char**, char**);
|
|
72
|
|
73 int _wsystem(wchar_t*);
|
|
74
|
|
75 intptr_t _wspawnl(int, wchar_t*, wchar_t*, ...);
|
|
76 intptr_t _wspawnle(int, wchar_t*, wchar_t*, ...);
|
|
77 intptr_t _wspawnlp(int, wchar_t*, wchar_t*, ...);
|
|
78 intptr_t _wspawnlpe(int, wchar_t*, wchar_t*, ...);
|
|
79 intptr_t _wspawnv(int, wchar_t*, wchar_t**);
|
|
80 intptr_t _wspawnve(int, wchar_t*, wchar_t**, wchar_t**);
|
|
81 intptr_t _wspawnvp(int, wchar_t*, wchar_t**);
|
|
82 intptr_t _wspawnvpe(int, wchar_t*, wchar_t**, wchar_t**);
|
|
83
|
|
84 intptr_t _wexecl(wchar_t*, wchar_t*, ...);
|
|
85 intptr_t _wexecle(wchar_t*, wchar_t*, ...);
|
|
86 intptr_t _wexeclp(wchar_t*, wchar_t*, ...);
|
|
87 intptr_t _wexeclpe(wchar_t*, wchar_t*, ...);
|
|
88 intptr_t _wexecv(wchar_t*, wchar_t**);
|
|
89 intptr_t _wexecve(wchar_t*, wchar_t**, wchar_t**);
|
|
90 intptr_t _wexecvp(wchar_t*, wchar_t**);
|
|
91 intptr_t _wexecvpe(wchar_t*, wchar_t**, wchar_t**);
|