xref: /PHP-7.2/ext/standard/proc_open.h (revision 60a69dae)
1 /*
2    +----------------------------------------------------------------------+
3    | PHP Version 7                                                        |
4    +----------------------------------------------------------------------+
5    | Copyright (c) 1997-2018 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 /* Environment block under win32 is a NUL terminated sequence of NUL terminated
29  * name=value strings.
30  * Under unix, it is an argv style array.
31  * */
32 typedef struct _php_process_env {
33 	char *envp;
34 #ifndef PHP_WIN32
35 	char **envarray;
36 #endif
37 } php_process_env_t;
38 
39 struct php_process_handle {
40 	php_process_id_t	child;
41 #ifdef PHP_WIN32
42 	HANDLE childHandle;
43 #endif
44 	int npipes;
45 	zend_resource **pipes;
46 	char *command;
47 	int is_persistent;
48 	php_process_env_t env;
49 };
50