Skip to content

Commit f40cc41

Browse files
stephenreaycmb69
authored andcommitted
Added arginfo stub for posix extension
1 parent 9436a2c commit f40cc41

File tree

3 files changed

+278
-168
lines changed

3 files changed

+278
-168
lines changed

ext/posix/posix.c

Lines changed: 2 additions & 168 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
#include "ext/standard/info.h"
2626
#include "ext/standard/php_string.h"
2727
#include "php_posix.h"
28-
28+
#include "posix_arginfo.h"
2929

3030
#if HAVE_POSIX
3131

@@ -52,172 +52,6 @@
5252
ZEND_DECLARE_MODULE_GLOBALS(posix)
5353
static PHP_MINFO_FUNCTION(posix);
5454

55-
/* {{{ arginfo */
56-
ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_kill, 0, 0, 2)
57-
ZEND_ARG_INFO(0, pid)
58-
ZEND_ARG_INFO(0, sig)
59-
ZEND_END_ARG_INFO()
60-
61-
ZEND_BEGIN_ARG_INFO(arginfo_posix_getpid, 0)
62-
ZEND_END_ARG_INFO()
63-
64-
ZEND_BEGIN_ARG_INFO(arginfo_posix_getppid, 0)
65-
ZEND_END_ARG_INFO()
66-
67-
ZEND_BEGIN_ARG_INFO(arginfo_posix_getuid, 0)
68-
ZEND_END_ARG_INFO()
69-
70-
ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_setuid, 0, 0, 1)
71-
ZEND_ARG_INFO(0, uid)
72-
ZEND_END_ARG_INFO()
73-
74-
ZEND_BEGIN_ARG_INFO(arginfo_posix_geteuid, 0)
75-
ZEND_END_ARG_INFO()
76-
77-
#ifdef HAVE_SETEUID
78-
ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_seteuid, 0, 0, 1)
79-
ZEND_ARG_INFO(0, uid)
80-
ZEND_END_ARG_INFO()
81-
#endif
82-
83-
ZEND_BEGIN_ARG_INFO(arginfo_posix_getgid, 0)
84-
ZEND_END_ARG_INFO()
85-
86-
ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_setgid, 0, 0, 1)
87-
ZEND_ARG_INFO(0, gid)
88-
ZEND_END_ARG_INFO()
89-
90-
ZEND_BEGIN_ARG_INFO(arginfo_posix_getegid, 0)
91-
ZEND_END_ARG_INFO()
92-
93-
#ifdef HAVE_SETEGID
94-
ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_setegid, 0, 0, 1)
95-
ZEND_ARG_INFO(0, gid)
96-
ZEND_END_ARG_INFO()
97-
#endif
98-
99-
#ifdef HAVE_GETGROUPS
100-
ZEND_BEGIN_ARG_INFO(arginfo_posix_getgroups, 0)
101-
ZEND_END_ARG_INFO()
102-
#endif
103-
104-
#ifdef HAVE_GETLOGIN
105-
ZEND_BEGIN_ARG_INFO(arginfo_posix_getlogin, 0)
106-
ZEND_END_ARG_INFO()
107-
#endif
108-
109-
ZEND_BEGIN_ARG_INFO(arginfo_posix_getpgrp, 0)
110-
ZEND_END_ARG_INFO()
111-
112-
#ifdef HAVE_SETSID
113-
ZEND_BEGIN_ARG_INFO(arginfo_posix_setsid, 0)
114-
ZEND_END_ARG_INFO()
115-
#endif
116-
117-
ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_setpgid, 0, 0, 2)
118-
ZEND_ARG_INFO(0, pid)
119-
ZEND_ARG_INFO(0, pgid)
120-
ZEND_END_ARG_INFO()
121-
122-
#ifdef HAVE_GETPGID
123-
ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_getpgid, 0, 0, 1)
124-
ZEND_ARG_INFO(0, pid)
125-
ZEND_END_ARG_INFO()
126-
#endif
127-
128-
#ifdef HAVE_GETSID
129-
ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_getsid, 0, 0, 1)
130-
ZEND_ARG_INFO(0, pid)
131-
ZEND_END_ARG_INFO()
132-
#endif
133-
134-
ZEND_BEGIN_ARG_INFO(arginfo_posix_uname, 0)
135-
ZEND_END_ARG_INFO()
136-
137-
ZEND_BEGIN_ARG_INFO(arginfo_posix_times, 0)
138-
ZEND_END_ARG_INFO()
139-
140-
#ifdef HAVE_CTERMID
141-
ZEND_BEGIN_ARG_INFO(arginfo_posix_ctermid, 0)
142-
ZEND_END_ARG_INFO()
143-
#endif
144-
145-
ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_ttyname, 0, 0, 1)
146-
ZEND_ARG_INFO(0, fd)
147-
ZEND_END_ARG_INFO()
148-
149-
ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_isatty, 0, 0, 1)
150-
ZEND_ARG_INFO(0, fd)
151-
ZEND_END_ARG_INFO()
152-
153-
ZEND_BEGIN_ARG_INFO(arginfo_posix_getcwd, 0)
154-
ZEND_END_ARG_INFO()
155-
156-
#ifdef HAVE_MKFIFO
157-
ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_mkfifo, 0, 0, 2)
158-
ZEND_ARG_INFO(0, pathname)
159-
ZEND_ARG_INFO(0, mode)
160-
ZEND_END_ARG_INFO()
161-
#endif
162-
163-
#ifdef HAVE_MKNOD
164-
ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_mknod, 0, 0, 2)
165-
ZEND_ARG_INFO(0, pathname)
166-
ZEND_ARG_INFO(0, mode)
167-
ZEND_ARG_INFO(0, major)
168-
ZEND_ARG_INFO(0, minor)
169-
ZEND_END_ARG_INFO()
170-
#endif
171-
172-
ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_access, 0, 0, 1)
173-
ZEND_ARG_INFO(0, file)
174-
ZEND_ARG_INFO(0, mode)
175-
ZEND_END_ARG_INFO()
176-
177-
ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_getgrnam, 0, 0, 1)
178-
ZEND_ARG_INFO(0, name)
179-
ZEND_END_ARG_INFO()
180-
181-
ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_getgrgid, 0, 0, 1)
182-
ZEND_ARG_INFO(0, gid)
183-
ZEND_END_ARG_INFO()
184-
185-
ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_getpwnam, 0, 0, 1)
186-
ZEND_ARG_INFO(0, username)
187-
ZEND_END_ARG_INFO()
188-
189-
ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_getpwuid, 0, 0, 1)
190-
ZEND_ARG_INFO(0, uid)
191-
ZEND_END_ARG_INFO()
192-
193-
#ifdef HAVE_GETRLIMIT
194-
ZEND_BEGIN_ARG_INFO(arginfo_posix_getrlimit, 0)
195-
ZEND_END_ARG_INFO()
196-
#endif
197-
198-
#ifdef HAVE_SETRLIMIT
199-
ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_setrlimit, 0, 0, 3)
200-
ZEND_ARG_INFO(0, resource)
201-
ZEND_ARG_INFO(0, softlimit)
202-
ZEND_ARG_INFO(0, hardlimit)
203-
ZEND_END_ARG_INFO()
204-
#endif
205-
206-
ZEND_BEGIN_ARG_INFO(arginfo_posix_get_last_error, 0)
207-
ZEND_END_ARG_INFO()
208-
209-
ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_strerror, 0, 0, 1)
210-
ZEND_ARG_INFO(0, errno)
211-
ZEND_END_ARG_INFO()
212-
213-
#ifdef HAVE_INITGROUPS
214-
ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_initgroups, 0, 0, 2)
215-
ZEND_ARG_INFO(0, name)
216-
ZEND_ARG_INFO(0, base_group_id)
217-
ZEND_END_ARG_INFO()
218-
#endif
219-
/* }}} */
220-
22155
/* {{{ posix_functions[]
22256
*/
22357
static const zend_function_entry posix_functions[] = {
@@ -302,7 +136,7 @@ static const zend_function_entry posix_functions[] = {
302136
#endif
303137

304138
PHP_FE(posix_get_last_error, arginfo_posix_get_last_error)
305-
PHP_FALIAS(posix_errno, posix_get_last_error, arginfo_posix_get_last_error)
139+
PHP_FALIAS(posix_errno, posix_get_last_error, arginfo_posix_errno)
306140
PHP_FE(posix_strerror, arginfo_posix_strerror)
307141
#ifdef HAVE_INITGROUPS
308142
PHP_FE(posix_initgroups, arginfo_posix_initgroups)

ext/posix/posix.stub.php

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
<?php
2+
3+
function posix_kill(int $pid, int $sig): bool {}
4+
5+
function posix_getpid(): int {}
6+
7+
function posix_getppid(): int {}
8+
9+
function posix_getuid(): int {}
10+
11+
function posix_setuid(int $uid): bool {}
12+
13+
function posix_geteuid(): int {}
14+
15+
#ifdef HAVE_SETEUID
16+
function posix_seteuid(int $uid): bool {}
17+
#endif
18+
19+
function posix_getgid(): int {}
20+
21+
function posix_setgid(int $gid): bool {}
22+
23+
function posix_getegid(): int {}
24+
25+
#ifdef HAVE_SETEGID
26+
function posix_setegid(int $gid): bool {}
27+
#endif
28+
29+
#ifdef HAVE_GETGROUPS
30+
/** @return array|false */
31+
function posix_getgroups() {}
32+
#endif
33+
34+
#ifdef HAVE_GETLOGIN
35+
/** @return string|false */
36+
function posix_getlogin() {}
37+
#endif
38+
39+
function posix_getpgrp(): int {}
40+
41+
#ifdef HAVE_SETSID
42+
function posix_setsid(): int {}
43+
#endif
44+
45+
function posix_setpgid(int $pid, int $pgid): bool {}
46+
47+
#ifdef HAVE_GETPGID
48+
/** @return int|false */
49+
function posix_getpgid(int $pid) {}
50+
#endif
51+
52+
#ifdef HAVE_GETSID
53+
/** @return int|false */
54+
function posix_getsid(int $pid) {}
55+
#endif
56+
57+
/** @return array|false */
58+
function posix_uname() {}
59+
60+
/** @return array|false */
61+
function posix_times() {}
62+
63+
64+
#ifdef HAVE_CTERMID
65+
/** @return string|false */
66+
function posix_ctermid() {}
67+
#endif
68+
69+
/**
70+
* @return string|false
71+
*/
72+
function posix_ttyname($fd) {}
73+
74+
function posix_isatty($fd): bool {}
75+
76+
/** @return string|false */
77+
function posix_getcwd() {}
78+
79+
#ifdef HAVE_MKFIFO
80+
function posix_mkfifo(string $pathname, int $mode): bool {}
81+
#endif
82+
83+
#ifdef HAVE_MKNOD
84+
function posix_mknod(string $pathname, int $mode, int $major = 0, int $minor = 0): bool {}
85+
#endif
86+
87+
function posix_access(string $file, int $mode = 0): bool {}
88+
89+
/** @return array|false */
90+
function posix_getgrnam(string $name) {}
91+
92+
/** @return array|false */
93+
function posix_getgrgid(int $gid) {}
94+
95+
/** @return array|false */
96+
function posix_getpwnam(string $username) {}
97+
98+
/** @return array|false */
99+
function posix_getpwuid(int $uid) {}
100+
101+
#ifdef HAVE_GETRLIMIT
102+
/** @return array|false */
103+
function posix_getrlimit() {}
104+
#endif
105+
106+
#ifdef HAVE_SETRLIMIT
107+
function posix_setrlimit(int $resource, int $softlimit, int $hardlimit): bool {}
108+
#endif
109+
110+
function posix_get_last_error(): int {}
111+
112+
function posix_errno(): int {}
113+
114+
function posix_strerror(int $errno): string {}
115+
116+
#ifdef HAVE_INITGROUPS
117+
function posix_initgroups(string $name, int $base_group_id): bool {}
118+
#endif

0 commit comments

Comments
 (0)