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