2 +----------------------------------------------------------------------+
4 +----------------------------------------------------------------------+
5 | Copyright (c) 1997-2013 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: Jim Winstead <jimw@php.net> |
16 +----------------------------------------------------------------------+
29 #include "win32/pwd.h"
36 # include "win32/grp.h"
43 #define getgroups(a, b) 0
51 #include <sys/types.h>
56 #include "ext/standard/basic_functions.h"
60 PHPAPI
void php_statpage(TSRMLS_D
)
64 pstat
= sapi_get_stat(TSRMLS_C
);
66 if (BG(page_uid
)==-1 || BG(page_gid
)==-1) {
68 BG(page_uid
) = pstat
->st_uid
;
69 BG(page_gid
) = pstat
->st_gid
;
70 BG(page_inode
) = pstat
->st_ino
;
71 BG(page_mtime
) = pstat
->st_mtime
;
72 } else { /* handler for situations where there is no source file, ex. php -r */
73 BG(page_uid
) = getuid();
74 BG(page_gid
) = getgid();
82 long php_getuid(TSRMLS_D
)
84 php_statpage(TSRMLS_C
);
85 return (BG(page_uid
));
89 long php_getgid(TSRMLS_D
)
91 php_statpage(TSRMLS_C
);
92 return (BG(page_gid
));
95 /* {{{ proto int getmyuid(void)
96 Get PHP script owner's UID */
97 PHP_FUNCTION(getmyuid
)
101 if (zend_parse_parameters_none() == FAILURE
) {
105 uid
= php_getuid(TSRMLS_C
);
114 /* {{{ proto int getmygid(void)
115 Get PHP script owner's GID */
116 PHP_FUNCTION(getmygid
)
120 if (zend_parse_parameters_none() == FAILURE
) {
124 gid
= php_getgid(TSRMLS_C
);
133 /* {{{ proto int getmypid(void)
134 Get current process ID */
135 PHP_FUNCTION(getmypid
)
139 if (zend_parse_parameters_none() == FAILURE
) {
147 RETURN_LONG((long) pid
);
152 /* {{{ proto int getmyinode(void)
153 Get the inode of the current script being parsed */
154 PHP_FUNCTION(getmyinode
)
156 if (zend_parse_parameters_none() == FAILURE
) {
160 php_statpage(TSRMLS_C
);
161 if (BG(page_inode
) < 0) {
164 RETURN_LONG(BG(page_inode
));
169 PHPAPI
long php_getlastmod(TSRMLS_D
)
171 php_statpage(TSRMLS_C
);
172 return BG(page_mtime
);
175 /* {{{ proto int getlastmod(void)
176 Get time of last page modification */
177 PHP_FUNCTION(getlastmod
)
181 if (zend_parse_parameters_none() == FAILURE
) {
185 lm
= php_getlastmod(TSRMLS_C
);
199 * vim600: sw=4 ts=4 fdm=marker