1 | /* |
2 | +----------------------------------------------------------------------+ |
3 | | PHP Version 5 | |
4 | +----------------------------------------------------------------------+ |
5 | | Copyright (c) 1997-2015 The PHP Group | |
6 | +----------------------------------------------------------------------+ |
7 | | This source file is subject to version 3.01 of the PHP license, | |
8 | | that is bundled with this package in the file LICENSE, and is | |
9 | | available through the world-wide-web at the following url: | |
10 | | http://www.php.net/license/3_01.txt | |
11 | | If you did not receive a copy of the PHP license and are unable to | |
12 | | obtain it through the world-wide-web, please send a note to | |
13 | | license@php.net so we can mail you a copy immediately. | |
14 | +----------------------------------------------------------------------+ |
15 | | Author: Wez Furlong <wez@thebrainroom.com> | |
16 | +----------------------------------------------------------------------+ |
17 | */ |
18 | /* $Id$ */ |
19 | |
20 | #ifdef PHP_WIN32 |
21 | typedef HANDLE php_file_descriptor_t; |
22 | typedef DWORD php_process_id_t; |
23 | #else |
24 | typedef int php_file_descriptor_t; |
25 | typedef pid_t php_process_id_t; |
26 | #endif |
27 | |
28 | #define PHP_PROC_OPEN_MAX_DESCRIPTORS 16 |
29 | |
30 | /* Environment block under win32 is a NUL terminated sequence of NUL terminated |
31 | * name=value strings. |
32 | * Under unix, it is an argv style array. |
33 | * */ |
34 | typedef struct _php_process_env { |
35 | char *envp; |
36 | #ifndef PHP_WIN32 |
37 | char **envarray; |
38 | #endif |
39 | } php_process_env_t; |
40 | |
41 | struct php_process_handle { |
42 | php_process_id_t child; |
43 | #ifdef PHP_WIN32 |
44 | HANDLE childHandle; |
45 | #endif |
46 | int npipes; |
47 | long pipes[PHP_PROC_OPEN_MAX_DESCRIPTORS]; |
48 | char *command; |
49 | int is_persistent; |
50 | php_process_env_t env; |
51 | }; |
52 | |
53 | |