sysconf.go 6.8 KB

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