summaryrefslogtreecommitdiff
path: root/vendor/github.com/power-devops/perfstat/sysconf.go
blob: b557da0deaa58ea12f5a46596974f8afc516da36 (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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
//go:build aix
// +build aix

package perfstat

/*
#include <unistd.h>
*/
import "C"

import "fmt"

const (
	SC_ARG_MAX                      = 0
	SC_CHILD_MAX                    = 1
	SC_CLK_TCK                      = 2
	SC_NGROUPS_MAX                  = 3
	SC_OPEN_MAX                     = 4
	SC_STREAM_MAX                   = 5
	SC_TZNAME_MAX                   = 6
	SC_JOB_CONTROL                  = 7
	SC_SAVED_IDS                    = 8
	SC_VERSION                      = 9
	SC_POSIX_ARG_MAX                = 10
	SC_POSIX_CHILD_MAX              = 11
	SC_POSIX_LINK_MAX               = 12
	SC_POSIX_MAX_CANON              = 13
	SC_POSIX_MAX_INPUT              = 14
	SC_POSIX_NAME_MAX               = 15
	SC_POSIX_NGROUPS_MAX            = 16
	SC_POSIX_OPEN_MAX               = 17
	SC_POSIX_PATH_MAX               = 18
	SC_POSIX_PIPE_BUF               = 19
	SC_POSIX_SSIZE_MAX              = 20
	SC_POSIX_STREAM_MAX             = 21
	SC_POSIX_TZNAME_MAX             = 22
	SC_BC_BASE_MAX                  = 23
	SC_BC_DIM_MAX                   = 24
	SC_BC_SCALE_MAX                 = 25
	SC_BC_STRING_MAX                = 26
	SC_EQUIV_CLASS_MAX              = 27
	SC_EXPR_NEST_MAX                = 28
	SC_LINE_MAX                     = 29
	SC_RE_DUP_MAX                   = 30
	SC_2_VERSION                    = 31
	SC_2_C_DEV                      = 32
	SC_2_FORT_DEV                   = 33
	SC_2_FORT_RUN                   = 34
	SC_2_LOCALEDEF                  = 35
	SC_2_SW_DEV                     = 36
	SC_POSIX2_BC_BASE_MAX           = 37
	SC_POSIX2_BC_DIM_MAX            = 38
	SC_POSIX2_BC_SCALE_MAX          = 39
	SC_POSIX2_BC_STRING_MAX         = 40
	SC_POSIX2_BC_EQUIV_CLASS_MAX    = 41
	SC_POSIX2_BC_EXPR_NEST_MAX      = 42
	SC_POSIX2_BC_LINE_MAX           = 43
	SC_POSIX2_BC_RE_DUP_MAX         = 44
	SC_PASS_MAX                     = 45
	SC_XOPEN_VERSION                = 46
	SC_ATEXIT_MAX                   = 47
	SC_PAGE_SIZE                    = 48
	SC_PAGESIZE                     = SC_PAGE_SIZE
	SC_AES_OS_VERSION               = 49
	SC_COLL_WEIGHTS_MAX             = 50
	SC_2_C_WIND                     = 51
	SC_2_C_VERSION                  = 52
	SC_2_UPE                        = 53
	SC_2_CHAR_TERM                  = 54
	SC_XOPEN_SHM                    = 55
	SC_XOPEN_CRYPT                  = 56
	SC_XOPEN_ENH_I18N               = 57
	SC_IOV_MAX                      = 58
	SC_THREAD_SAFE_FUNCTIONS        = 59
	SC_THREADS                      = 60
	SC_THREAD_ATTR_STACKADDR        = 61
	SC_THREAD_ATTR_STACKSIZE        = 62
	SC_THREAD_FORKALL               = 63
	SC_THREAD_PRIORITY_SCHEDULING   = 64
	SC_THREAD_PRIO_INHERIT          = 65
	SC_THREAD_PRIO_PROTECT          = 66
	SC_THREAD_PROCESS_SHARED        = 67
	SC_THREAD_KEYS_MAX              = 68
	SC_THREAD_DATAKEYS_MAX          = SC_THREAD_KEYS_MAX
	SC_THREAD_STACK_MIN             = 69
	SC_THREAD_THREADS_MAX           = 70
	SC_NPROCESSORS_CONF             = 71
	SC_NPROCESSORS_ONLN             = 72
	SC_XOPEN_UNIX                   = 73
	SC_AIO_LISTIO_MAX               = 75
	SC_AIO_MAX                      = 76
	SC_AIO_PRIO_DELTA_MAX           = 77
	SC_ASYNCHRONOUS_IO              = 78
	SC_DELAYTIMER_MAX               = 79
	SC_FSYNC                        = 80
	SC_GETGR_R_SIZE_MAX             = 81
	SC_GETPW_R_SIZE_MAX             = 82
	SC_LOGIN_NAME_MAX               = 83
	SC_MAPPED_FILES                 = 84
	SC_MEMLOCK                      = 85
	SC_MEMLOCK_RANGE                = 86
	SC_MEMORY_PROTECTION            = 87
	SC_MESSAGE_PASSING              = 88
	SC_MQ_OPEN_MAX                  = 89
	SC_MQ_PRIO_MAX                  = 90
	SC_PRIORITIZED_IO               = 91
	SC_PRIORITY_SCHEDULING          = 92
	SC_REALTIME_SIGNALS             = 93
	SC_RTSIG_MAX                    = 94
	SC_SEMAPHORES                   = 95
	SC_SEM_NSEMS_MAX                = 96
	SC_SEM_VALUE_MAX                = 97
	SC_SHARED_MEMORY_OBJECTS        = 98
	SC_SIGQUEUE_MAX                 = 99
	SC_SYNCHRONIZED_IO              = 100
	SC_THREAD_DESTRUCTOR_ITERATIONS = 101
	SC_TIMERS                       = 102
	SC_TIMER_MAX                    = 103
	SC_TTY_NAME_MAX                 = 104
	SC_XBS5_ILP32_OFF32             = 105
	SC_XBS5_ILP32_OFFBIG            = 106
	SC_XBS5_LP64_OFF64              = 107
	SC_XBS5_LPBIG_OFFBIG            = 108
	SC_XOPEN_XCU_VERSION            = 109
	SC_XOPEN_REALTIME               = 110
	SC_XOPEN_REALTIME_THREADS       = 111
	SC_XOPEN_LEGACY                 = 112
	SC_REENTRANT_FUNCTIONS          = SC_THREAD_SAFE_FUNCTIONS
	SC_PHYS_PAGES                   = 113
	SC_AVPHYS_PAGES                 = 114
	SC_LPAR_ENABLED                 = 115
	SC_LARGE_PAGESIZE               = 116
	SC_AIX_KERNEL_BITMODE           = 117
	SC_AIX_REALMEM                  = 118
	SC_AIX_HARDWARE_BITMODE         = 119
	SC_AIX_MP_CAPABLE               = 120
	SC_V6_ILP32_OFF32               = 121
	SC_V6_ILP32_OFFBIG              = 122
	SC_V6_LP64_OFF64                = 123
	SC_V6_LPBIG_OFFBIG              = 124
	SC_XOPEN_STREAMS                = 125
	SC_HOST_NAME_MAX                = 126
	SC_REGEXP                       = 127
	SC_SHELL                        = 128
	SC_SYMLOOP_MAX                  = 129
	SC_ADVISORY_INFO                = 130
	SC_FILE_LOCKING                 = 131
	SC_2_PBS                        = 132
	SC_2_PBS_ACCOUNTING             = 133
	SC_2_PBS_CHECKPOINT             = 134
	SC_2_PBS_LOCATE                 = 135
	SC_2_PBS_MESSAGE                = 136
	SC_2_PBS_TRACK                  = 137
	SC_BARRIERS                     = 138
	SC_CLOCK_SELECTION              = 139
	SC_CPUTIME                      = 140
	SC_MONOTONIC_CLOCK              = 141
	SC_READER_WRITER_LOCKS          = 142
	SC_SPAWN                        = 143
	SC_SPIN_LOCKS                   = 144
	SC_SPORADIC_SERVER              = 145
	SC_THREAD_CPUTIME               = 146
	SC_THREAD_SPORADIC_SERVER       = 147
	SC_TIMEOUTS                     = 148
	SC_TRACE                        = 149
	SC_TRACE_EVENT_FILTER           = 150
	SC_TRACE_INHERIT                = 151
	SC_TRACE_LOG                    = 152
	SC_TYPED_MEMORY_OBJECTS         = 153
	SC_IPV6                         = 154
	SC_RAW_SOCKETS                  = 155
	SC_SS_REPL_MAX                  = 156
	SC_TRACE_EVENT_NAME_MAX         = 157
	SC_TRACE_NAME_MAX               = 158
	SC_TRACE_SYS_MAX                = 159
	SC_TRACE_USER_EVENT_MAX         = 160
	SC_AIX_UKEYS                    = 161
	SC_AIX_ENHANCED_AFFINITY        = 162
	SC_V7_ILP32_OFF32               = 163
	SC_V7_ILP32_OFFBIG              = 164
	SC_V7_LP64_OFF64                = 165
	SC_V7_LPBIG_OFFBIG              = 166
	SC_THREAD_ROBUST_PRIO_INHERIT   = 167
	SC_THREAD_ROBUST_PRIO_PROTECT   = 168
	SC_XOPEN_UUCP                   = 169
	SC_XOPEN_ARMOR                  = 170
)

func Sysconf(name int32) (int64, error) {
	r := C.sysconf(C.int(name))
	if r == -1 {
		return 0, fmt.Errorf("sysconf error")
	} else {
		return int64(r), nil
	}
}