php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
getrusage.h
Go to the documentation of this file.
1/*
2 +----------------------------------------------------------------------+
3 | Copyright (c) The PHP Group |
4 +----------------------------------------------------------------------+
5 | This source file is subject to version 3.01 of the PHP license, |
6 | that is bundled with this package in the file LICENSE, and is |
7 | available through the world-wide-web at the following url: |
8 | https://www.php.net/license/3_01.txt |
9 | If you did not receive a copy of the PHP license and are unable to |
10 | obtain it through the world-wide-web, please send a note to |
11 | license@php.net so we can mail you a copy immediately. |
12 +----------------------------------------------------------------------+
13 | Authors: Kalle Sommer Nielsen <kalle@php.net> |
14 +----------------------------------------------------------------------+
15 */
16
17#ifndef HAVE_GETRUSAGE_H
18# define HAVE_GETRUSAGE_H
19
20/*
21 * Note
22 *
23 * RUSAGE_CHILDREN is not implemented, and the RUSAGE_THREAD will
24 * therefore instead be used instead to emulate the behavior.
25 */
26
27# define RUSAGE_SELF 0
28# define RUSAGE_CHILDREN 1
29
30# define RUSAGE_THREAD RUSAGE_CHILDREN
31
32/*
33 * Implementation support
34 *
35 * RUSAGE_SELF
36 * ru_utime
37 * ru_stime
38 * ru_majflt
39 * ru_maxrss
40 *
41 * RUSAGE_THREAD
42 * ru_utime
43 * ru_stime
44 *
45 * Not implemented:
46 * ru_ixrss (unused)
47 * ru_idrss (unused)
48 * ru_isrss (unused)
49 * ru_minflt
50 * ru_nswap (unused)
51 * ru_inblock
52 * ru_oublock
53 * ru_msgsnd (unused)
54 * ru_msgrcv (unused)
55 * ru_nsignals (unused)
56 * ru_nvcsw
57 * ru_nivcsw
58 */
59
60struct rusage
61{
62 /* User time used */
63 struct timeval ru_utime;
64
65 /* System time used */
66 struct timeval ru_stime;
67
68 /* Integral max resident set size */
70
71 /* Page faults */
73#if 0
74 /* Integral shared text memory size */
75 zend_long ru_ixrss;
76
77 /* Integral unshared data size */
78 zend_long ru_idrss;
79
80 /* Integral unshared stack size */
81 zend_long ru_isrss;
82
83 /* Page reclaims */
84 zend_long ru_minflt;
85
86 /* Swaps */
87 zend_long ru_nswap;
88
89 /* Block input operations */
90 zend_long ru_inblock;
91
92 /* Block output operations */
93 zend_long ru_oublock;
94
95 /* Messages sent */
96 zend_long ru_msgsnd;
97
98 /* Messages received */
99 zend_long ru_msgrcv;
100
101 /* Signals received */
102 zend_long ru_nsignals;
103
104 /* Voluntary context switches */
105 zend_long ru_nvcsw;
106
107 /* Involuntary context switches */
108 zend_long ru_nivcsw;
109#endif
110};
111
112PHPAPI int getrusage(int who, struct rusage *usage);
113
114#endif
PHPAPI int getrusage(int who, struct rusage *usage)
Definition getrusage.c:38
#define PHPAPI
Definition php.h:71
zend_long ru_maxrss
Definition getrusage.h:69
struct timeval ru_utime
Definition getrusage.h:63
struct timeval ru_stime
Definition getrusage.h:66
zend_long ru_majflt
Definition getrusage.h:72
int32_t zend_long
Definition zend_long.h:42
usage()