xref: /PHP-5.5/ext/pcntl/php_pcntl.h (revision 73c1be26)
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: Jason Greene <jason@inetgurus.net>                           |
16    +----------------------------------------------------------------------+
17  */
18 
19 /* $Id$ */
20 
21 #ifndef PHP_PCNTL_H
22 #define PHP_PCNTL_H
23 
24 extern zend_module_entry pcntl_module_entry;
25 #define phpext_pcntl_ptr &pcntl_module_entry
26 
27 PHP_MINIT_FUNCTION(pcntl);
28 PHP_MSHUTDOWN_FUNCTION(pcntl);
29 PHP_RINIT_FUNCTION(pcntl);
30 PHP_RSHUTDOWN_FUNCTION(pcntl);
31 PHP_MINFO_FUNCTION(pcntl);
32 
33 PHP_FUNCTION(pcntl_alarm);
34 PHP_FUNCTION(pcntl_fork);
35 PHP_FUNCTION(pcntl_waitpid);
36 PHP_FUNCTION(pcntl_wait);
37 PHP_FUNCTION(pcntl_wifexited);
38 PHP_FUNCTION(pcntl_wifstopped);
39 PHP_FUNCTION(pcntl_wifsignaled);
40 PHP_FUNCTION(pcntl_wexitstatus);
41 PHP_FUNCTION(pcntl_wtermsig);
42 PHP_FUNCTION(pcntl_wstopsig);
43 PHP_FUNCTION(pcntl_signal);
44 PHP_FUNCTION(pcntl_signal_dispatch);
45 PHP_FUNCTION(pcntl_get_last_error);
46 PHP_FUNCTION(pcntl_strerror);
47 #ifdef HAVE_SIGPROCMASK
48 PHP_FUNCTION(pcntl_sigprocmask);
49 #endif
50 #if HAVE_SIGWAITINFO && HAVE_SIGTIMEDWAIT
51 PHP_FUNCTION(pcntl_sigwaitinfo);
52 PHP_FUNCTION(pcntl_sigtimedwait);
53 #endif
54 PHP_FUNCTION(pcntl_exec);
55 #ifdef HAVE_GETPRIORITY
56 PHP_FUNCTION(pcntl_getpriority);
57 #endif
58 #ifdef HAVE_SETPRIORITY
59 PHP_FUNCTION(pcntl_setpriority);
60 #endif
61 
62 struct php_pcntl_pending_signal {
63 	struct php_pcntl_pending_signal *next;
64 	long signo;
65 };
66 
67 ZEND_BEGIN_MODULE_GLOBALS(pcntl)
68 	HashTable php_signal_table;
69 	int processing_signal_queue;
70 	struct php_pcntl_pending_signal *head, *tail, *spares;
71 	int last_error;
72 	volatile char pending_signals;
73 ZEND_END_MODULE_GLOBALS(pcntl)
74 
75 #ifdef ZTS
76 #define PCNTL_G(v) TSRMG(pcntl_globals_id, zend_pcntl_globals *, v)
77 #else
78 #define PCNTL_G(v)	(pcntl_globals.v)
79 #endif
80 
81 #define REGISTER_PCNTL_ERRNO_CONSTANT(name) REGISTER_LONG_CONSTANT("PCNTL_" #name, name, CONST_CS | CONST_PERSISTENT)
82 
83 #endif	/* PHP_PCNTL_H */
84 
85 
86 /*
87  * Local variables:
88  * tab-width: 4
89  * c-basic-offset: 4
90  * indent-tabs-mode: t
91  * End:
92  */
93