Skip to content

Commit 17f3631

Browse files
authored
Declare ext/posix constants in stubs (#9095)
1 parent f72d264 commit 17f3631

File tree

3 files changed

+275
-78
lines changed

3 files changed

+275
-78
lines changed

ext/posix/posix.c

Lines changed: 4 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
#include "ext/standard/info.h"
2424
#include "ext/standard/php_string.h"
2525
#include "php_posix.h"
26-
#include "posix_arginfo.h"
2726

2827
#ifdef HAVE_POSIX
2928

@@ -47,6 +46,8 @@
4746
# include <sys/sysmacros.h>
4847
#endif
4948

49+
#include "posix_arginfo.h"
50+
5051
ZEND_DECLARE_MODULE_GLOBALS(posix)
5152
static PHP_MINFO_FUNCTION(posix);
5253

@@ -71,82 +72,8 @@ static PHP_GINIT_FUNCTION(posix) /* {{{ */
7172
/* {{{ PHP_MINIT_FUNCTION(posix) */
7273
static PHP_MINIT_FUNCTION(posix)
7374
{
74-
REGISTER_LONG_CONSTANT("POSIX_F_OK", F_OK, CONST_CS | CONST_PERSISTENT);
75-
REGISTER_LONG_CONSTANT("POSIX_X_OK", X_OK, CONST_CS | CONST_PERSISTENT);
76-
REGISTER_LONG_CONSTANT("POSIX_W_OK", W_OK, CONST_CS | CONST_PERSISTENT);
77-
REGISTER_LONG_CONSTANT("POSIX_R_OK", R_OK, CONST_CS | CONST_PERSISTENT);
78-
#ifdef S_IFREG
79-
REGISTER_LONG_CONSTANT("POSIX_S_IFREG", S_IFREG, CONST_CS | CONST_PERSISTENT);
80-
#endif
81-
#ifdef S_IFCHR
82-
REGISTER_LONG_CONSTANT("POSIX_S_IFCHR", S_IFCHR, CONST_CS | CONST_PERSISTENT);
83-
#endif
84-
#ifdef S_IFBLK
85-
REGISTER_LONG_CONSTANT("POSIX_S_IFBLK", S_IFBLK, CONST_CS | CONST_PERSISTENT);
86-
#endif
87-
#ifdef S_IFIFO
88-
REGISTER_LONG_CONSTANT("POSIX_S_IFIFO", S_IFIFO, CONST_CS | CONST_PERSISTENT);
89-
#endif
90-
#ifdef S_IFSOCK
91-
REGISTER_LONG_CONSTANT("POSIX_S_IFSOCK", S_IFSOCK, CONST_CS | CONST_PERSISTENT);
92-
#endif
93-
#ifdef RLIMIT_AS
94-
REGISTER_LONG_CONSTANT("POSIX_RLIMIT_AS", RLIMIT_AS, CONST_CS | CONST_PERSISTENT);
95-
#endif
96-
#ifdef RLIMIT_CORE
97-
REGISTER_LONG_CONSTANT("POSIX_RLIMIT_CORE", RLIMIT_CORE, CONST_CS | CONST_PERSISTENT);
98-
#endif
99-
#ifdef RLIMIT_CPU
100-
REGISTER_LONG_CONSTANT("POSIX_RLIMIT_CPU", RLIMIT_CPU, CONST_CS | CONST_PERSISTENT);
101-
#endif
102-
#ifdef RLIMIT_DATA
103-
REGISTER_LONG_CONSTANT("POSIX_RLIMIT_DATA", RLIMIT_DATA, CONST_CS | CONST_PERSISTENT);
104-
#endif
105-
#ifdef RLIMIT_FSIZE
106-
REGISTER_LONG_CONSTANT("POSIX_RLIMIT_FSIZE", RLIMIT_FSIZE, CONST_CS | CONST_PERSISTENT);
107-
#endif
108-
#ifdef RLIMIT_LOCKS
109-
REGISTER_LONG_CONSTANT("POSIX_RLIMIT_LOCKS", RLIMIT_LOCKS, CONST_CS | CONST_PERSISTENT);
110-
#endif
111-
#ifdef RLIMIT_MEMLOCK
112-
REGISTER_LONG_CONSTANT("POSIX_RLIMIT_MEMLOCK", RLIMIT_MEMLOCK, CONST_CS | CONST_PERSISTENT);
113-
#endif
114-
#ifdef RLIMIT_MSGQUEUE
115-
REGISTER_LONG_CONSTANT("POSIX_RLIMIT_MSGQUEUE", RLIMIT_MSGQUEUE, CONST_CS | CONST_PERSISTENT);
116-
#endif
117-
#ifdef RLIMIT_NICE
118-
REGISTER_LONG_CONSTANT("POSIX_RLIMIT_NICE", RLIMIT_NICE, CONST_CS | CONST_PERSISTENT);
119-
#endif
120-
#ifdef RLIMIT_NOFILE
121-
REGISTER_LONG_CONSTANT("POSIX_RLIMIT_NOFILE", RLIMIT_NOFILE, CONST_CS | CONST_PERSISTENT);
122-
#endif
123-
#ifdef RLIMIT_NPROC
124-
REGISTER_LONG_CONSTANT("POSIX_RLIMIT_NPROC", RLIMIT_NPROC, CONST_CS | CONST_PERSISTENT);
125-
#endif
126-
#ifdef RLIMIT_RSS
127-
REGISTER_LONG_CONSTANT("POSIX_RLIMIT_RSS", RLIMIT_RSS, CONST_CS | CONST_PERSISTENT);
128-
#endif
129-
#ifdef RLIMIT_RTPRIO
130-
REGISTER_LONG_CONSTANT("POSIX_RLIMIT_RTPRIO", RLIMIT_RTPRIO, CONST_CS | CONST_PERSISTENT);
131-
#endif
132-
#ifdef RLIMIT_RTTIME
133-
REGISTER_LONG_CONSTANT("POSIX_RLIMIT_RTTIME", RLIMIT_RTTIME, CONST_CS | CONST_PERSISTENT);
134-
#endif
135-
#ifdef RLIMIT_SIGPENDING
136-
REGISTER_LONG_CONSTANT("POSIX_RLIMIT_SIGPENDING", RLIMIT_SIGPENDING, CONST_CS | CONST_PERSISTENT);
137-
#endif
138-
#ifdef RLIMIT_STACK
139-
REGISTER_LONG_CONSTANT("POSIX_RLIMIT_STACK", RLIMIT_STACK, CONST_CS | CONST_PERSISTENT);
140-
#endif
141-
#ifdef RLIMIT_KQUEUES
142-
REGISTER_LONG_CONSTANT("POSIX_RLIMIT_KQUEUES", RLIMIT_KQUEUES, CONST_CS | CONST_PERSISTENT);
143-
#endif
144-
#ifdef RLIMIT_NPTS
145-
REGISTER_LONG_CONSTANT("POSIX_RLIMIT_NPTS", RLIMIT_NPTS, CONST_CS | CONST_PERSISTENT);
146-
#endif
147-
#ifdef HAVE_SETRLIMIT
148-
REGISTER_LONG_CONSTANT("POSIX_RLIMIT_INFINITY", RLIM_INFINITY, CONST_CS | CONST_PERSISTENT);
149-
#endif
75+
register_posix_symbols(module_number);
76+
15077
return SUCCESS;
15178
}
15279
/* }}} */

ext/posix/posix.stub.php

Lines changed: 190 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,196 @@
22

33
/** @generate-class-entries */
44

5+
/**
6+
* @var int
7+
* @cvalue F_OK
8+
*/
9+
const POSIX_F_OK = UNKNOWN;
10+
/**
11+
* @var int
12+
* @cvalue X_OK
13+
*/
14+
const POSIX_X_OK = UNKNOWN;
15+
/**
16+
* @var int
17+
* @cvalue W_OK
18+
*/
19+
const POSIX_W_OK = UNKNOWN;
20+
/**
21+
* @var int
22+
* @cvalue R_OK
23+
*/
24+
const POSIX_R_OK = UNKNOWN;
25+
26+
#ifdef S_IFREG
27+
/**
28+
* @var int
29+
* @cvalue S_IFREG
30+
*/
31+
const POSIX_S_IFREG = UNKNOWN;
32+
#endif
33+
#ifdef S_IFCHR
34+
/**
35+
* @var int
36+
* @cvalue S_IFCHR
37+
*/
38+
const POSIX_S_IFCHR = UNKNOWN;
39+
#endif
40+
#ifdef S_IFBLK
41+
/**
42+
* @var int
43+
* @cvalue S_IFBLK
44+
*/
45+
const POSIX_S_IFBLK = UNKNOWN;
46+
#endif
47+
#ifdef S_IFIFO
48+
/**
49+
* @var int
50+
* @cvalue S_IFIFO
51+
*/
52+
const POSIX_S_IFIFO = UNKNOWN;
53+
#endif
54+
#ifdef S_IFSOCK
55+
/**
56+
* @var int
57+
* @cvalue S_IFSOCK
58+
*/
59+
const POSIX_S_IFSOCK = UNKNOWN;
60+
#endif
61+
#ifdef RLIMIT_AS
62+
/**
63+
* @var int
64+
* @cvalue RLIMIT_AS
65+
*/
66+
const POSIX_RLIMIT_AS = UNKNOWN;
67+
#endif
68+
#ifdef RLIMIT_CORE
69+
/**
70+
* @var int
71+
* @cvalue RLIMIT_CORE
72+
*/
73+
const POSIX_RLIMIT_CORE = UNKNOWN;
74+
#endif
75+
#ifdef RLIMIT_CPU
76+
/**
77+
* @var int
78+
* @cvalue RLIMIT_CPU
79+
*/
80+
const POSIX_RLIMIT_CPU = UNKNOWN;
81+
#endif
82+
#ifdef RLIMIT_DATA
83+
/**
84+
* @var int
85+
* @cvalue RLIMIT_DATA
86+
*/
87+
const POSIX_RLIMIT_DATA = UNKNOWN;
88+
#endif
89+
#ifdef RLIMIT_FSIZE
90+
/**
91+
* @var int
92+
* @cvalue RLIMIT_FSIZE
93+
*/
94+
const POSIX_RLIMIT_FSIZE = UNKNOWN;
95+
#endif
96+
#ifdef RLIMIT_LOCKS
97+
/**
98+
* @var int
99+
* @cvalue RLIMIT_LOCKS
100+
*/
101+
const POSIX_RLIMIT_LOCKS = UNKNOWN;
102+
#endif
103+
#ifdef RLIMIT_MEMLOCK
104+
/**
105+
* @var int
106+
* @cvalue RLIMIT_MEMLOCK
107+
*/
108+
const POSIX_RLIMIT_MEMLOCK = UNKNOWN;
109+
#endif
110+
#ifdef RLIMIT_MSGQUEUE
111+
/**
112+
* @var int
113+
* @cvalue RLIMIT_MSGQUEUE
114+
*/
115+
const POSIX_RLIMIT_MSGQUEUE = UNKNOWN;
116+
#endif
117+
#ifdef RLIMIT_NICE
118+
/**
119+
* @var int
120+
* @cvalue RLIMIT_NICE
121+
*/
122+
const POSIX_RLIMIT_NICE = UNKNOWN;
123+
#endif
124+
#ifdef RLIMIT_NOFILE
125+
/**
126+
* @var int
127+
* @cvalue RLIMIT_NOFILE
128+
*/
129+
const POSIX_RLIMIT_NOFILE = UNKNOWN;
130+
#endif
131+
#ifdef RLIMIT_NPROC
132+
/**
133+
* @var int
134+
* @cvalue RLIMIT_NPROC
135+
*/
136+
const POSIX_RLIMIT_NPROC = UNKNOWN;
137+
#endif
138+
#ifdef RLIMIT_RSS
139+
/**
140+
* @var int
141+
* @cvalue RLIMIT_RSS
142+
*/
143+
const POSIX_RLIMIT_RSS = UNKNOWN;
144+
#endif
145+
#ifdef RLIMIT_RTPRIO
146+
/**
147+
* @var int
148+
* @cvalue RLIMIT_RTPRIO
149+
*/
150+
const POSIX_RLIMIT_RTPRIO = UNKNOWN;
151+
#endif
152+
#ifdef RLIMIT_RTTIME
153+
/**
154+
* @var int
155+
* @cvalue RLIMIT_RTTIME
156+
*/
157+
const POSIX_RLIMIT_RTTIME = UNKNOWN;
158+
#endif
159+
#ifdef RLIMIT_SIGPENDING
160+
/**
161+
* @var int
162+
* @cvalue RLIMIT_SIGPENDING
163+
*/
164+
const POSIX_RLIMIT_SIGPENDING = UNKNOWN;
165+
#endif
166+
#ifdef RLIMIT_STACK
167+
/**
168+
* @var int
169+
* @cvalue RLIMIT_STACK
170+
*/
171+
const POSIX_RLIMIT_STACK = UNKNOWN;
172+
#endif
173+
#ifdef RLIMIT_KQUEUES
174+
/**
175+
* @var int
176+
* @cvalue RLIMIT_KQUEUES
177+
*/
178+
const POSIX_RLIMIT_KQUEUES = UNKNOWN;
179+
#endif
180+
#ifdef RLIMIT_NPTS
181+
/**
182+
* @var int
183+
* @cvalue RLIMIT_NPTS
184+
*/
185+
const POSIX_RLIMIT_NPTS = UNKNOWN;
186+
#endif
187+
#ifdef HAVE_SETRLIMIT
188+
/**
189+
* @var int
190+
* @cvalue RLIM_INFINITY
191+
*/
192+
const POSIX_RLIMIT_INFINITY = UNKNOWN;
193+
#endif
194+
5195
function posix_kill(int $process_id, int $signal): bool {}
6196

7197
function posix_getpid(): int {}

ext/posix/posix_arginfo.h

Lines changed: 81 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)