summaryrefslogtreecommitdiff
path: root/ext/posix/php_posix.h
blob: 2ebdc06db26e8224f3d0d8ca48a2c12adfe0a273 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
/* 
   +----------------------------------------------------------------------+
   | PHP Version 4                                                        |
   +----------------------------------------------------------------------+
   | Copyright (c) 1997-2002 The PHP Group                                |
   +----------------------------------------------------------------------+
   | This source file is subject to version 2.02 of the PHP license,      |
   | that is bundled with this package in the file LICENSE, and is        |
   | available at through the world-wide-web at                           |
   | http://www.php.net/license/2_02.txt.                                 |
   | If you did not receive a copy of the PHP license and are unable to   |
   | obtain it through the world-wide-web, please send a note to          |
   | license@php.net so we can mail you a copy immediately.               |
   +----------------------------------------------------------------------+
   | Author: Kristian Koehntopp <kris@koehntopp.de>                       |
   +----------------------------------------------------------------------+
 */


/* $Id$ */

#ifndef PHP_POSIX_H
#define PHP_POSIX_H

#ifdef HAVE_CONFIG_H
#include "config.h"
#endif

#if HAVE_POSIX
#ifndef DLEXPORT
#define DLEXPORT
#endif

extern zend_module_entry posix_module_entry;
#define posix_module_ptr &posix_module_entry

/* POSIX.1, 3.3 */
PHP_FUNCTION(posix_kill);

/* POSIX.1, 4.1 */
PHP_FUNCTION(posix_getpid);
PHP_FUNCTION(posix_getppid);

/* POSIX.1,  4.2 */
PHP_FUNCTION(posix_getuid);
PHP_FUNCTION(posix_getgid);
PHP_FUNCTION(posix_geteuid);
PHP_FUNCTION(posix_getegid);
PHP_FUNCTION(posix_setuid);
PHP_FUNCTION(posix_setgid);
#ifdef HAVE_SETEUID
PHP_FUNCTION(posix_seteuid);
#endif
#ifdef HAVE_SETEGID
PHP_FUNCTION(posix_setegid);
#endif
PHP_FUNCTION(posix_getgroups);
PHP_FUNCTION(posix_getlogin);

/* POSIX.1, 4.3 */
PHP_FUNCTION(posix_getpgrp);
#ifdef HAVE_SETSID
PHP_FUNCTION(posix_setsid);
#endif
PHP_FUNCTION(posix_setpgid);
/* Non-Posix functions which are common */
#ifdef HAVE_GETPGID
PHP_FUNCTION(posix_getpgid);
#endif
#ifdef HAVE_GETSID
PHP_FUNCTION(posix_getsid);
#endif

/* POSIX.1, 4.4 */
PHP_FUNCTION(posix_uname);
PHP_FUNCTION(posix_times);

/* POSIX.1, 4.5 */
#ifdef HAVE_CTERMID
PHP_FUNCTION(posix_ctermid);
#endif
PHP_FUNCTION(posix_ttyname);
PHP_FUNCTION(posix_isatty);

/* POSIX.1, 5.2 */
PHP_FUNCTION(posix_getcwd);

/* POSIX.1, 5.4 */
#ifdef HAVE_MKFIFO
PHP_FUNCTION(posix_mkfifo);
#endif

/* POSIX.1, 9.2 */
PHP_FUNCTION(posix_getgrnam);
PHP_FUNCTION(posix_getgrgid);
PHP_FUNCTION(posix_getpwnam);
PHP_FUNCTION(posix_getpwuid);

#ifdef HAVE_GETRLIMIT
PHP_FUNCTION(posix_getrlimit);
#endif

PHP_FUNCTION(posix_get_last_error);
PHP_FUNCTION(posix_strerror);

ZEND_BEGIN_MODULE_GLOBALS(posix)
	int last_error;
ZEND_END_MODULE_GLOBALS(posix)

#ifdef ZTS
# define POSIX_G(v) TSRMG(posix_globals_id, zend_posix_globals *, v)
#else
# define POSIX_G(v)	(posix_globals.v)
#endif

#else

#define posix_module_ptr NULL

#endif

#define phpext_posix_ptr posix_module_ptr

#endif /* PHP_POSIX_H */