1 0 stevel /* 2 0 stevel * CDDL HEADER START 3 0 stevel * 4 0 stevel * The contents of this file are subject to the terms of the 5 1676 jpk * Common Development and Distribution License (the "License"). 6 1676 jpk * You may not use this file except in compliance with the License. 7 0 stevel * 8 0 stevel * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 0 stevel * or http://www.opensolaris.org/os/licensing. 10 0 stevel * See the License for the specific language governing permissions 11 0 stevel * and limitations under the License. 12 0 stevel * 13 0 stevel * When distributing Covered Code, include this CDDL HEADER in each 14 0 stevel * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 0 stevel * If applicable, add the following below this CDDL HEADER, with the 16 0 stevel * fields enclosed by brackets "[]" replaced with your own identifying 17 0 stevel * information: Portions Copyright [yyyy] [name of copyright owner] 18 0 stevel * 19 0 stevel * CDDL HEADER END 20 0 stevel */ 21 2248 raf 22 0 stevel /* 23 9264 Roger * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 24 0 stevel * Use is subject to license terms. 25 0 stevel */ 26 0 stevel 27 0 stevel /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 28 0 stevel /* All Rights Reserved */ 29 0 stevel 30 0 stevel #include <stdio.h> 31 0 stevel #include <stdlib.h> 32 0 stevel #include <fcntl.h> 33 0 stevel #include <unistd.h> 34 0 stevel #include <string.h> 35 0 stevel #include <signal.h> 36 0 stevel #include <sys/types.h> 37 0 stevel #include <libproc.h> 38 0 stevel #include <sys/aio.h> 39 0 stevel #include <sys/port_impl.h> 40 0 stevel #include "ramdata.h" 41 0 stevel #include "systable.h" 42 0 stevel #include "print.h" 43 0 stevel #include "proto.h" 44 0 stevel 45 0 stevel /* 46 0 stevel * Tables of information about system calls - read-only data. 47 0 stevel */ 48 0 stevel 49 0 stevel const char *const errcode[] = { /* error code names */ 50 0 stevel NULL, /* 0 */ 51 0 stevel "EPERM", /* 1 */ 52 0 stevel "ENOENT", /* 2 */ 53 0 stevel "ESRCH", /* 3 */ 54 0 stevel "EINTR", /* 4 */ 55 0 stevel "EIO", /* 5 */ 56 0 stevel "ENXIO", /* 6 */ 57 0 stevel "E2BIG", /* 7 */ 58 0 stevel "ENOEXEC", /* 8 */ 59 0 stevel "EBADF", /* 9 */ 60 0 stevel "ECHILD", /* 10 */ 61 0 stevel "EAGAIN", /* 11 */ 62 0 stevel "ENOMEM", /* 12 */ 63 0 stevel "EACCES", /* 13 */ 64 0 stevel "EFAULT", /* 14 */ 65 0 stevel "ENOTBLK", /* 15 */ 66 0 stevel "EBUSY", /* 16 */ 67 0 stevel "EEXIST", /* 17 */ 68 0 stevel "EXDEV", /* 18 */ 69 0 stevel "ENODEV", /* 19 */ 70 0 stevel "ENOTDIR", /* 20 */ 71 0 stevel "EISDIR", /* 21 */ 72 0 stevel "EINVAL", /* 22 */ 73 0 stevel "ENFILE", /* 23 */ 74 0 stevel "EMFILE", /* 24 */ 75 0 stevel "ENOTTY", /* 25 */ 76 0 stevel "ETXTBSY", /* 26 */ 77 0 stevel "EFBIG", /* 27 */ 78 0 stevel "ENOSPC", /* 28 */ 79 0 stevel "ESPIPE", /* 29 */ 80 0 stevel "EROFS", /* 30 */ 81 0 stevel "EMLINK", /* 31 */ 82 0 stevel "EPIPE", /* 32 */ 83 0 stevel "EDOM", /* 33 */ 84 0 stevel "ERANGE", /* 34 */ 85 0 stevel "ENOMSG", /* 35 */ 86 0 stevel "EIDRM", /* 36 */ 87 0 stevel "ECHRNG", /* 37 */ 88 0 stevel "EL2NSYNC", /* 38 */ 89 0 stevel "EL3HLT", /* 39 */ 90 0 stevel "EL3RST", /* 40 */ 91 0 stevel "ELNRNG", /* 41 */ 92 0 stevel "EUNATCH", /* 42 */ 93 0 stevel "ENOCSI", /* 43 */ 94 0 stevel "EL2HLT", /* 44 */ 95 0 stevel "EDEADLK", /* 45 */ 96 0 stevel "ENOLCK", /* 46 */ 97 0 stevel "ECANCELED", /* 47 */ 98 0 stevel "ENOTSUP", /* 48 */ 99 0 stevel "EDQUOT", /* 49 */ 100 0 stevel "EBADE", /* 50 */ 101 0 stevel "EBADR", /* 51 */ 102 0 stevel "EXFULL", /* 52 */ 103 0 stevel "ENOANO", /* 53 */ 104 0 stevel "EBADRQC", /* 54 */ 105 0 stevel "EBADSLT", /* 55 */ 106 0 stevel "EDEADLOCK", /* 56 */ 107 0 stevel "EBFONT", /* 57 */ 108 0 stevel "EOWNERDEAD", /* 58 */ 109 0 stevel "ENOTRECOVERABLE", /* 59 */ 110 0 stevel "ENOSTR", /* 60 */ 111 0 stevel "ENODATA", /* 61 */ 112 0 stevel "ETIME", /* 62 */ 113 0 stevel "ENOSR", /* 63 */ 114 0 stevel "ENONET", /* 64 */ 115 0 stevel "ENOPKG", /* 65 */ 116 0 stevel "EREMOTE", /* 66 */ 117 0 stevel "ENOLINK", /* 67 */ 118 0 stevel "EADV", /* 68 */ 119 0 stevel "ESRMNT", /* 69 */ 120 0 stevel "ECOMM", /* 70 */ 121 0 stevel "EPROTO", /* 71 */ 122 0 stevel "ELOCKUNMAPPED", /* 72 */ 123 0 stevel "ENOTACTIVE", /* 73 */ 124 0 stevel "EMULTIHOP", /* 74 */ 125 0 stevel NULL, /* 75 */ 126 0 stevel NULL, /* 76 */ 127 0 stevel "EBADMSG", /* 77 */ 128 0 stevel "ENAMETOOLONG", /* 78 */ 129 0 stevel "EOVERFLOW", /* 79 */ 130 0 stevel "ENOTUNIQ", /* 80 */ 131 0 stevel "EBADFD", /* 81 */ 132 0 stevel "EREMCHG", /* 82 */ 133 0 stevel "ELIBACC", /* 83 */ 134 0 stevel "ELIBBAD", /* 84 */ 135 0 stevel "ELIBSCN", /* 85 */ 136 0 stevel "ELIBMAX", /* 86 */ 137 0 stevel "ELIBEXEC", /* 87 */ 138 0 stevel "EILSEQ", /* 88 */ 139 0 stevel "ENOSYS", /* 89 */ 140 0 stevel "ELOOP", /* 90 */ 141 0 stevel "ERESTART", /* 91 */ 142 0 stevel "ESTRPIPE", /* 92 */ 143 0 stevel "ENOTEMPTY", /* 93 */ 144 0 stevel "EUSERS", /* 94 */ 145 0 stevel "ENOTSOCK", /* 95 */ 146 0 stevel "EDESTADDRREQ", /* 96 */ 147 0 stevel "EMSGSIZE", /* 97 */ 148 0 stevel "EPROTOTYPE", /* 98 */ 149 0 stevel "ENOPROTOOPT", /* 99 */ 150 0 stevel NULL, /* 100 */ 151 0 stevel NULL, /* 101 */ 152 0 stevel NULL, /* 102 */ 153 0 stevel NULL, /* 103 */ 154 0 stevel NULL, /* 104 */ 155 0 stevel NULL, /* 105 */ 156 0 stevel NULL, /* 106 */ 157 0 stevel NULL, /* 107 */ 158 0 stevel NULL, /* 108 */ 159 0 stevel NULL, /* 109 */ 160 0 stevel NULL, /* 110 */ 161 0 stevel NULL, /* 111 */ 162 0 stevel NULL, /* 112 */ 163 0 stevel NULL, /* 113 */ 164 0 stevel NULL, /* 114 */ 165 0 stevel NULL, /* 115 */ 166 0 stevel NULL, /* 116 */ 167 0 stevel NULL, /* 117 */ 168 0 stevel NULL, /* 118 */ 169 0 stevel NULL, /* 119 */ 170 0 stevel "EPROTONOSUPPORT", /* 120 */ 171 0 stevel "ESOCKTNOSUPPORT", /* 121 */ 172 0 stevel "EOPNOTSUPP", /* 122 */ 173 0 stevel "EPFNOSUPPORT", /* 123 */ 174 0 stevel "EAFNOSUPPORT", /* 124 */ 175 0 stevel "EADDRINUSE", /* 125 */ 176 0 stevel "EADDRNOTAVAIL", /* 126 */ 177 0 stevel "ENETDOWN", /* 127 */ 178 0 stevel "ENETUNREACH", /* 128 */ 179 0 stevel "ENETRESET", /* 129 */ 180 0 stevel "ECONNABORTED", /* 130 */ 181 0 stevel "ECONNRESET", /* 131 */ 182 0 stevel "ENOBUFS", /* 132 */ 183 0 stevel "EISCONN", /* 133 */ 184 0 stevel "ENOTCONN", /* 134 */ 185 0 stevel NULL, /* 135 */ 186 0 stevel NULL, /* 136 */ 187 0 stevel NULL, /* 137 */ 188 0 stevel NULL, /* 138 */ 189 0 stevel NULL, /* 139 */ 190 0 stevel NULL, /* 140 */ 191 0 stevel NULL, /* 141 */ 192 0 stevel NULL, /* 142 */ 193 0 stevel "ESHUTDOWN", /* 143 */ 194 0 stevel "ETOOMANYREFS", /* 144 */ 195 0 stevel "ETIMEDOUT", /* 145 */ 196 0 stevel "ECONNREFUSED", /* 146 */ 197 0 stevel "EHOSTDOWN", /* 147 */ 198 0 stevel "EHOSTUNREACH", /* 148 */ 199 0 stevel "EALREADY", /* 149 */ 200 0 stevel "EINPROGRESS", /* 150 */ 201 0 stevel "ESTALE" /* 151 */ 202 0 stevel }; 203 0 stevel 204 0 stevel #define NERRCODE (sizeof (errcode) / sizeof (char *)) 205 0 stevel 206 0 stevel 207 0 stevel const char * 208 0 stevel errname(int err) /* return the error code name (NULL if none) */ 209 0 stevel { 210 0 stevel const char *ename = NULL; 211 0 stevel 212 0 stevel if (err >= 0 && err < NERRCODE) 213 0 stevel ename = errcode[err]; 214 0 stevel 215 0 stevel return (ename); 216 0 stevel } 217 0 stevel 218 0 stevel 219 0 stevel const struct systable systable[] = { 220 0 stevel { NULL, 8, HEX, HEX, HEX, HEX, HEX, HEX, HEX, HEX, HEX, HEX}, 221 0 stevel {"_exit", 1, DEC, NOV, DEC}, /* 1 */ 222 0 stevel {"forkall", 0, DEC, NOV}, /* 2 */ 223 0 stevel {"read", 3, DEC, NOV, DEC, IOB, UNS}, /* 3 */ 224 0 stevel {"write", 3, DEC, NOV, DEC, IOB, UNS}, /* 4 */ 225 0 stevel {"open", 3, DEC, NOV, STG, OPN, OCT}, /* 5 */ 226 0 stevel {"close", 1, DEC, NOV, DEC}, /* 6 */ 227 0 stevel {"wait", 0, DEC, HHX}, /* 7 */ 228 0 stevel {"creat", 2, DEC, NOV, STG, OCT}, /* 8 */ 229 0 stevel {"link", 2, DEC, NOV, STG, STG}, /* 9 */ 230 0 stevel {"unlink", 1, DEC, NOV, STG}, /* 10 */ 231 0 stevel {"exec", 2, DEC, NOV, STG, DEC}, /* 11 */ 232 0 stevel {"chdir", 1, DEC, NOV, STG}, /* 12 */ 233 0 stevel {"time", 0, DEC, NOV}, /* 13 */ 234 0 stevel {"mknod", 3, DEC, NOV, STG, OCT, HEX}, /* 14 */ 235 0 stevel {"chmod", 2, DEC, NOV, STG, OCT}, /* 15 */ 236 0 stevel {"chown", 3, DEC, NOV, STG, DEC, DEC}, /* 16 */ 237 0 stevel {"brk", 1, DEC, NOV, HEX}, /* 17 */ 238 0 stevel {"stat", 2, DEC, NOV, STG, HEX}, /* 18 */ 239 0 stevel {"lseek", 3, DEC, NOV, DEC, DEX, WHN}, /* 19 */ 240 0 stevel {"getpid", 0, DEC, DEC}, /* 20 */ 241 0 stevel {"mount", 8, DEC, NOV, STG, STG, MTF, MFT, HEX, DEC, HEX, DEC}, /* 21 */ 242 0 stevel {"umount", 1, DEC, NOV, STG}, /* 22 */ 243 4321 casper {"setuid", 1, DEC, NOV, UNS}, /* 23 */ 244 4321 casper {"getuid", 0, UNS, UNS}, /* 24 */ 245 0 stevel {"stime", 1, DEC, NOV, DEC}, /* 25 */ 246 0 stevel {"pcsample", 2, DEC, NOV, HEX, DEC}, /* 26 */ 247 0 stevel {"alarm", 1, DEC, NOV, UNS}, /* 27 */ 248 0 stevel {"fstat", 2, DEC, NOV, DEC, HEX}, /* 28 */ 249 0 stevel {"pause", 0, DEC, NOV}, /* 29 */ 250 0 stevel {"utime", 2, DEC, NOV, STG, HEX}, /* 30 */ 251 0 stevel {"stty", 2, DEC, NOV, DEC, DEC}, /* 31 */ 252 0 stevel {"gtty", 2, DEC, NOV, DEC, DEC}, /* 32 */ 253 0 stevel {"access", 2, DEC, NOV, STG, ACC}, /* 33 */ 254 0 stevel {"nice", 1, DEC, NOV, DEC}, /* 34 */ 255 0 stevel {"statfs", 4, DEC, NOV, STG, HEX, DEC, DEC}, /* 35 */ 256 0 stevel {"sync", 0, DEC, NOV}, /* 36 */ 257 0 stevel {"kill", 2, DEC, NOV, DEC, SIG}, /* 37 */ 258 0 stevel {"fstatfs", 4, DEC, NOV, DEC, HEX, DEC, DEC}, /* 38 */ 259 0 stevel {"pgrpsys", 3, DEC, NOV, DEC, DEC, DEC}, /* 39 */ 260 2712 nn35248 {"uucopystr", 3, DEC, NOV, STG, RST, UNS}, /* 40 */ 261 0 stevel {"dup", 1, DEC, NOV, DEC}, /* 41 */ 262 0 stevel {"pipe", 0, DEC, DEC}, /* 42 */ 263 0 stevel {"times", 1, DEC, NOV, HEX}, /* 43 */ 264 0 stevel {"profil", 4, DEC, NOV, HEX, UNS, HEX, OCT}, /* 44 */ 265 0 stevel {"plock", 1, DEC, NOV, PLK}, /* 45 */ 266 4321 casper {"setgid", 1, DEC, NOV, UNS}, /* 46 */ 267 4321 casper {"getgid", 0, UNS, UNS}, /* 47 */ 268 10927 Roger { NULL, 8, HEX, HEX, HEX, HEX, HEX, HEX, HEX, HEX, HEX, HEX}, 269 0 stevel {"msgsys", 6, DEC, NOV, DEC, DEC, DEC, DEC, DEC, DEC}, /* 49 */ 270 0 stevel {"sysi86", 4, HEX, NOV, S86, HEX, HEX, HEX, DEC, DEC}, /* 50 */ 271 0 stevel {"acct", 1, DEC, NOV, STG}, /* 51 */ 272 0 stevel {"shmsys", 4, DEC, NOV, DEC, HEX, HEX, HEX}, /* 52 */ 273 0 stevel {"semsys", 5, DEC, NOV, DEC, HEX, HEX, HEX, HEX}, /* 53 */ 274 0 stevel {"ioctl", 3, DEC, NOV, DEC, IOC, IOA}, /* 54 */ 275 0 stevel {"uadmin", 3, DEC, NOV, DEC, DEC, DEC}, /* 55 */ 276 0 stevel { NULL, 8, HEX, HEX, HEX, HEX, HEX, HEX, HEX, HEX, HEX, HEX}, 277 0 stevel {"utssys", 4, DEC, NOV, HEX, DEC, UTS, HEX}, /* 57 */ 278 0 stevel {"fdsync", 2, DEC, NOV, DEC, FFG}, /* 58 */ 279 0 stevel {"execve", 3, DEC, NOV, STG, HEX, HEX}, /* 59 */ 280 0 stevel {"umask", 1, OCT, NOV, OCT}, /* 60 */ 281 0 stevel {"chroot", 1, DEC, NOV, STG}, /* 61 */ 282 0 stevel {"fcntl", 3, DEC, NOV, DEC, FCN, HEX}, /* 62 */ 283 0 stevel {"ulimit", 2, DEX, NOV, ULM, DEC}, /* 63 */ 284 0 stevel 285 0 stevel /* The following 6 entries were reserved for the UNIX PC */ 286 0 stevel { NULL, 8, HEX, HEX, HEX, HEX, HEX, HEX, HEX, HEX, HEX, HEX}, 287 0 stevel { NULL, 8, HEX, HEX, HEX, HEX, HEX, HEX, HEX, HEX, HEX, HEX}, 288 0 stevel { NULL, 8, HEX, HEX, HEX, HEX, HEX, HEX, HEX, HEX, HEX, HEX}, 289 0 stevel { NULL, 8, HEX, HEX, HEX, HEX, HEX, HEX, HEX, HEX, HEX, HEX}, 290 0 stevel { NULL, 8, HEX, HEX, HEX, HEX, HEX, HEX, HEX, HEX, HEX, HEX}, 291 0 stevel { NULL, 8, HEX, HEX, HEX, HEX, HEX, HEX, HEX, HEX, HEX, HEX}, 292 0 stevel 293 0 stevel {"tasksys", 5, DEC, NOV, DEC, DEC, DEC, HEX, DEC}, /* 70 */ 294 0 stevel {"acctctl", 3, DEC, NOV, HEX, HEX, UNS}, /* 71 */ 295 0 stevel {"exacctsys", 6, DEC, NOV, DEC, IDT, DEC, HEX, DEC, HEX}, /* 72 */ 296 0 stevel {"getpagesizes", 2, DEC, NOV, HEX, DEC}, /* 73 */ 297 2447 nf202958 {"rctlsys", 6, DEC, NOV, RSC, STG, HEX, HEX, DEC, DEC}, /* 74 */ 298 4321 casper {"sidsys", 4, UNS, UNS, DEC, DEC, DEC, DEC}, /* 75 */ 299 0 stevel {"fsat", 6, DEC, NOV, HEX, HEX, HEX, HEX, HEX, HEX}, /* 76 */ 300 0 stevel {"lwp_park", 3, DEC, NOV, DEC, HEX, DEC}, /* 77 */ 301 0 stevel {"sendfilev", 5, DEC, NOV, DEC, DEC, HEX, DEC, HEX}, /* 78 */ 302 0 stevel {"rmdir", 1, DEC, NOV, STG}, /* 79 */ 303 0 stevel {"mkdir", 2, DEC, NOV, STG, OCT}, /* 80 */ 304 0 stevel {"getdents", 3, DEC, NOV, DEC, HEX, UNS}, /* 81 */ 305 0 stevel {"privsys", 5, HEX, NOV, DEC, DEC, DEC, HEX, DEC}, /* 82 */ 306 0 stevel {"ucredsys", 3, DEC, NOV, DEC, DEC, HEX}, /* 83 */ 307 0 stevel {"sysfs", 3, DEC, NOV, SFS, DEX, DEX}, /* 84 */ 308 0 stevel {"getmsg", 4, DEC, NOV, DEC, HEX, HEX, HEX}, /* 85 */ 309 0 stevel {"putmsg", 4, DEC, NOV, DEC, HEX, HEX, SMF}, /* 86 */ 310 0 stevel {"poll", 3, DEC, NOV, HEX, DEC, DEC}, /* 87 */ 311 0 stevel {"lstat", 2, DEC, NOV, STG, HEX}, /* 88 */ 312 0 stevel {"symlink", 2, DEC, NOV, STG, STG}, /* 89 */ 313 0 stevel {"readlink", 3, DEC, NOV, STG, RLK, UNS}, /* 90 */ 314 0 stevel {"setgroups", 2, DEC, NOV, DEC, HEX}, /* 91 */ 315 0 stevel {"getgroups", 2, DEC, NOV, DEC, HEX}, /* 92 */ 316 0 stevel {"fchmod", 2, DEC, NOV, DEC, OCT}, /* 93 */ 317 0 stevel {"fchown", 3, DEC, NOV, DEC, DEC, DEC}, /* 94 */ 318 0 stevel {"sigprocmask", 3, DEC, NOV, SPM, HEX, HEX}, /* 95 */ 319 0 stevel {"sigsuspend", 1, DEC, NOV, HEX}, /* 96 */ 320 0 stevel {"sigaltstack", 2, DEC, NOV, HEX, HEX}, /* 97 */ 321 0 stevel {"sigaction", 3, DEC, NOV, SIG, HEX, HEX}, /* 98 */ 322 0 stevel {"sigpendsys", 2, DEC, NOV, DEC, HEX}, /* 99 */ 323 0 stevel {"context", 2, DEC, NOV, DEC, HEX}, /* 100 */ 324 0 stevel {"evsys", 3, DEC, NOV, DEC, DEC, HEX}, /* 101 */ 325 0 stevel {"evtrapret", 0, DEC, NOV}, /* 102 */ 326 0 stevel {"statvfs", 2, DEC, NOV, STG, HEX}, /* 103 */ 327 0 stevel {"fstatvfs", 2, DEC, NOV, DEC, HEX}, /* 104 */ 328 0 stevel {"getloadavg", 2, DEC, NOV, HEX, DEC}, /* 105 */ 329 0 stevel {"nfssys", 2, DEC, NOV, DEC, HEX}, /* 106 */ 330 0 stevel {"waitid", 4, DEC, NOV, IDT, DEC, HEX, WOP}, /* 107 */ 331 0 stevel {"sigsendsys", 2, DEC, NOV, HEX, SIG}, /* 108 */ 332 0 stevel {"hrtsys", 5, DEC, NOV, DEC, HEX, HEX, HEX, HEX}, /* 109 */ 333 10440 Roger {"utimesys", 5, DEC, NOV, DEC, HEX, HEX, HEX, HEX}, /* 110 */ 334 4806 raf {"sigresend", 3, DEC, NOV, SIG, HEX, HEX}, /* 111 */ 335 0 stevel {"priocntlsys", 5, DEC, NOV, DEC, HEX, DEC, PC4, PC5}, /* 112 */ 336 0 stevel {"pathconf", 2, DEC, NOV, STG, PTC}, /* 113 */ 337 0 stevel {"mincore", 3, DEC, NOV, HEX, UNS, HEX}, /* 114 */ 338 0 stevel {"mmap", 6, HEX, NOV, HEX, UNS, MPR, MTY, DEC, DEC}, /* 115 */ 339 0 stevel {"mprotect", 3, DEC, NOV, HEX, UNS, MPR}, /* 116 */ 340 0 stevel {"munmap", 2, DEC, NOV, HEX, UNS}, /* 117 */ 341 0 stevel {"fpathconf", 2, DEC, NOV, DEC, PTC}, /* 118 */ 342 0 stevel {"vfork", 0, DEC, NOV}, /* 119 */ 343 0 stevel {"fchdir", 1, DEC, NOV, DEC}, /* 120 */ 344 0 stevel {"readv", 3, DEC, NOV, DEC, HEX, DEC}, /* 121 */ 345 0 stevel {"writev", 3, DEC, NOV, DEC, HEX, DEC}, /* 122 */ 346 0 stevel {"xstat", 3, DEC, NOV, DEC, STG, HEX}, /* 123 */ 347 0 stevel {"lxstat", 3, DEC, NOV, DEC, STG, HEX}, /* 124 */ 348 0 stevel {"fxstat", 3, DEC, NOV, DEC, DEC, HEX}, /* 125 */ 349 0 stevel {"xmknod", 4, DEC, NOV, DEC, STG, OCT, HEX}, /* 126 */ 350 10198 Ali {"mmapobj", 5, DEC, NOV, DEC, MOB, HEX, HEX, HEX}, /* 127 */ 351 0 stevel {"setrlimit", 2, DEC, NOV, RLM, HEX}, /* 128 */ 352 0 stevel {"getrlimit", 2, DEC, NOV, RLM, HEX}, /* 129 */ 353 0 stevel {"lchown", 3, DEC, NOV, STG, DEC, DEC}, /* 130 */ 354 0 stevel {"memcntl", 6, DEC, NOV, HEX, UNS, MCF, MC4, MC5, DEC}, /* 131 */ 355 0 stevel {"getpmsg", 5, DEC, NOV, DEC, HEX, HEX, HEX, HEX}, /* 132 */ 356 0 stevel {"putpmsg", 5, DEC, NOV, DEC, HEX, HEX, DEC, HHX}, /* 133 */ 357 0 stevel {"rename", 2, DEC, NOV, STG, STG}, /* 134 */ 358 0 stevel {"uname", 1, DEC, NOV, HEX}, /* 135 */ 359 4321 casper {"setegid", 1, DEC, NOV, UNS}, /* 136 */ 360 0 stevel {"sysconfig", 1, DEC, NOV, CNF}, /* 137 */ 361 0 stevel {"adjtime", 2, DEC, NOV, HEX, HEX}, /* 138 */ 362 0 stevel {"sysinfo", 3, DEC, NOV, INF, RST, DEC}, /* 139 */ 363 3957 th199096 {"sharefs", 3, DEC, NOV, DEC, HEX, DEC}, /* 140 */ 364 4321 casper {"seteuid", 1, DEC, NOV, UNS}, /* 141 */ 365 3235 raf {"forksys", 2, DEC, NOV, DEC, HHX}, /* 142 */ 366 0 stevel {"fork1", 0, DEC, NOV}, /* 143 */ 367 0 stevel {"sigtimedwait", 3, DEC, NOV, HEX, HEX, HEX}, /* 144 */ 368 0 stevel {"lwp_info", 1, DEC, NOV, HEX}, /* 145 */ 369 0 stevel {"yield", 0, DEC, NOV}, /* 146 */ 370 0 stevel {"lwp_sema_wait", 1, DEC, NOV, HEX}, /* 147 */ 371 0 stevel {"lwp_sema_post", 1, DEC, NOV, HEX}, /* 148 */ 372 0 stevel {"lwp_sema_trywait", 1, DEC, NOV, HEX}, /* 149 */ 373 0 stevel {"lwp_detach", 1, DEC, NOV, DEC}, /* 150 */ 374 0 stevel {"corectl", 4, DEC, NOV, DEC, HEX, HEX, HEX}, /* 151 */ 375 0 stevel {"modctl", 5, DEC, NOV, MOD, HEX, HEX, HEX, HEX}, /* 152 */ 376 0 stevel {"fchroot", 1, DEC, NOV, DEC}, /* 153 */ 377 0 stevel {"utimes", 2, DEC, NOV, STG, HEX}, /* 154 */ 378 0 stevel {"vhangup", 0, DEC, NOV}, /* 155 */ 379 0 stevel {"gettimeofday", 1, DEC, NOV, HEX}, /* 156 */ 380 0 stevel {"getitimer", 2, DEC, NOV, ITM, HEX}, /* 157 */ 381 0 stevel {"setitimer", 3, DEC, NOV, ITM, HEX, HEX}, /* 158 */ 382 0 stevel {"lwp_create", 3, DEC, NOV, HEX, LWF, HEX}, /* 159 */ 383 0 stevel {"lwp_exit", 0, DEC, NOV}, /* 160 */ 384 0 stevel {"lwp_suspend", 1, DEC, NOV, DEC}, /* 161 */ 385 0 stevel {"lwp_continue", 1, DEC, NOV, DEC}, /* 162 */ 386 0 stevel {"lwp_kill", 2, DEC, NOV, DEC, SIG}, /* 163 */ 387 0 stevel {"lwp_self", 0, DEC, NOV}, /* 164 */ 388 0 stevel {"lwp_sigmask", 3, HEX, HEX, SPM, HEX, HEX}, /* 165 */ 389 0 stevel {"lwp_private", 3, HEX, NOV, DEC, DEC, HEX}, /* 166 */ 390 0 stevel {"lwp_wait", 2, DEC, NOV, DEC, HEX}, /* 167 */ 391 4574 raf {"lwp_mutex_wakeup", 2, DEC, NOV, HEX, DEC}, /* 168 */ 392 0 stevel {"lwp_mutex_lock", 1, DEC, NOV, HEX}, /* 169 */ 393 0 stevel {"lwp_cond_wait", 4, DEC, NOV, HEX, HEX, HEX, DEC}, /* 170 */ 394 0 stevel {"lwp_cond_signal", 1, DEC, NOV, HEX}, /* 171 */ 395 0 stevel {"lwp_cond_broadcast", 1, DEC, NOV, HEX}, /* 172 */ 396 0 stevel {"pread", 4, DEC, NOV, DEC, IOB, UNS, DEX}, /* 173 */ 397 0 stevel {"pwrite", 4, DEC, NOV, DEC, IOB, UNS, DEX}, /* 174 */ 398 0 stevel {"llseek", 4, LLO, NOV, DEC, LLO, HID, WHN}, /* 175 */ 399 0 stevel {"inst_sync", 2, DEC, NOV, STG, DEC}, /* 176 */ 400 2712 nn35248 {"brand", 6, DEC, NOV, DEC, HEX, HEX, HEX, HEX, HEX}, /* 177 */ 401 0 stevel {"kaio", 7, DEC, NOV, AIO, HEX, HEX, HEX, HEX, HEX, HEX}, /* 178 */ 402 0 stevel {"cpc", 5, DEC, NOV, CPC, DEC, HEX, HEX, HEX}, /* 179 */ 403 0 stevel {"lgrpsys", 3, DEC, NOV, DEC, DEC, HEX}, /* 180 */ 404 3247 gjelinek {"rusagesys", 5, DEC, NOV, DEC, HEX, DEC, HEX, HEX}, /* 181 */ 405 0 stevel {"portfs", 6, HEX, HEX, DEC, HEX, HEX, HEX, HEX, HEX}, /* 182 */ 406 0 stevel {"pollsys", 4, DEC, NOV, HEX, DEC, HEX, HEX}, /* 183 */ 407 1676 jpk {"labelsys", 2, DEC, NOV, DEC, HEX}, /* 184 */ 408 0 stevel {"acl", 4, DEC, NOV, STG, ACL, DEC, HEX}, /* 185 */ 409 0 stevel {"auditsys", 4, DEC, NOV, AUD, HEX, HEX, HEX}, /* 186 */ 410 0 stevel {"processor_bind", 4, DEC, NOV, IDT, DEC, DEC, HEX}, /* 187 */ 411 0 stevel {"processor_info", 2, DEC, NOV, DEC, HEX}, /* 188 */ 412 0 stevel {"p_online", 2, DEC, NOV, DEC, DEC}, /* 189 */ 413 2248 raf {"sigqueue", 5, DEC, NOV, DEC, SIG, HEX, SQC, DEC}, /* 190 */ 414 0 stevel {"clock_gettime", 2, DEC, NOV, DEC, HEX}, /* 191 */ 415 0 stevel {"clock_settime", 2, DEC, NOV, DEC, HEX}, /* 192 */ 416 0 stevel {"clock_getres", 2, DEC, NOV, DEC, HEX}, /* 193 */ 417 0 stevel {"timer_create", 3, DEC, NOV, DEC, HEX, HEX}, /* 194 */ 418 0 stevel {"timer_delete", 1, DEC, NOV, DEC}, /* 195 */ 419 0 stevel {"timer_settime", 4, DEC, NOV, DEC, DEC, HEX, HEX}, /* 196 */ 420 0 stevel {"timer_gettime", 2, DEC, NOV, DEC, HEX}, /* 197 */ 421 0 stevel {"timer_getoverrun", 1, DEC, NOV, DEC}, /* 198 */ 422 0 stevel {"nanosleep", 2, DEC, NOV, HEX, HEX}, /* 199 */ 423 0 stevel {"facl", 4, DEC, NOV, DEC, ACL, DEC, HEX}, /* 200 */ 424 0 stevel {"door", 6, DEC, NOV, DEC, HEX, HEX, HEX, HEX, DEC}, /* 201 */ 425 4321 casper {"setreuid", 2, DEC, NOV, UN1, UN1}, /* 202 */ 426 4321 casper {"setregid", 2, DEC, NOV, UN1, UN1}, /* 203 */ 427 0 stevel {"install_utrap", 3, DEC, NOV, DEC, HEX, HEX}, /* 204 */ 428 0 stevel {"signotify", 3, DEC, NOV, DEC, HEX, HEX}, /* 205 */ 429 0 stevel {"schedctl", 0, HEX, NOV}, /* 206 */ 430 0 stevel {"pset", 5, DEC, NOV, DEC, HEX, HEX, HEX, HEX}, /* 207 */ 431 0 stevel {"sparc_utrap_install", 5, DEC, NOV, UTT, UTH, UTH, HEX, HEX}, /* 208 */ 432 0 stevel {"resolvepath", 3, DEC, NOV, STG, RLK, DEC}, /* 209 */ 433 10887 Roger {"lwp_mutex_timedlock", 3, DEC, NOV, HEX, HEX, HEX}, /* 210 */ 434 0 stevel {"lwp_sema_timedwait", 3, DEC, NOV, HEX, HEX, DEC}, /* 211 */ 435 0 stevel {"lwp_rwlock_sys", 3, DEC, NOV, DEC, HEX, HEX}, /* 212 */ 436 0 stevel {"getdents64", 3, DEC, NOV, DEC, HEX, UNS}, /* 213 */ 437 0 stevel {"mmap64", 7, HEX, NOV, HEX, UNS, MPR, MTY, DEC, LLO, HID}, /* 214 */ 438 0 stevel {"stat64", 2, DEC, NOV, STG, HEX}, /* 215 */ 439 0 stevel {"lstat64", 2, DEC, NOV, STG, HEX}, /* 216 */ 440 0 stevel {"fstat64", 2, DEC, NOV, DEC, HEX}, /* 217 */ 441 0 stevel {"statvfs64", 2, DEC, NOV, STG, HEX}, /* 218 */ 442 0 stevel {"fstatvfs64", 2, DEC, NOV, DEC, HEX}, /* 219 */ 443 0 stevel {"setrlimit64", 2, DEC, NOV, RLM, HEX}, /* 220 */ 444 0 stevel {"getrlimit64", 2, DEC, NOV, RLM, HEX}, /* 221 */ 445 0 stevel {"pread64", 5, DEC, NOV, DEC, IOB, UNS, LLO, HID}, /* 222 */ 446 0 stevel {"pwrite64", 5, DEC, NOV, DEC, IOB, UNS, LLO, HID}, /* 223 */ 447 0 stevel {"creat64", 2, DEC, NOV, STG, OCT}, /* 224 */ 448 0 stevel {"open64", 3, DEC, NOV, STG, OPN, OCT}, /* 225 */ 449 0 stevel {"rpcmod", 3, DEC, NOV, DEC, HEX}, /* 226 */ 450 0 stevel {"zone", 5, DEC, NOV, DEC, HEX, HEX, HEX, HEX}, /* 227 */ 451 0 stevel {"autofssys", 2, DEC, NOV, DEC, HEX}, /* 228 */ 452 0 stevel {"getcwd", 3, DEC, NOV, RST, DEC}, /* 229 */ 453 0 stevel {"so_socket", 5, DEC, NOV, PFM, SKT, SKP, STG, SKV}, /* 230 */ 454 0 stevel {"so_socketpair", 1, DEC, NOV, HEX}, /* 231 */ 455 0 stevel {"bind", 4, DEC, NOV, DEC, HEX, DEC, SKV}, /* 232 */ 456 0 stevel {"listen", 3, DEC, NOV, DEC, DEC, SKV}, /* 233 */ 457 0 stevel {"accept", 4, DEC, NOV, DEC, HEX, HEX, SKV}, /* 234 */ 458 0 stevel {"connect", 4, DEC, NOV, DEC, HEX, DEC, SKV}, /* 235 */ 459 0 stevel {"shutdown", 3, DEC, NOV, DEC, SHT, SKV}, /* 236 */ 460 0 stevel {"recv", 4, DEC, NOV, DEC, IOB, DEC, DEC}, /* 237 */ 461 0 stevel {"recvfrom", 6, DEC, NOV, DEC, IOB, DEC, DEC, HEX, HEX}, /* 238 */ 462 0 stevel {"recvmsg", 3, DEC, NOV, DEC, HEX, DEC}, /* 239 */ 463 0 stevel {"send", 4, DEC, NOV, DEC, IOB, DEC, DEC}, /* 240 */ 464 0 stevel {"sendmsg", 3, DEC, NOV, DEC, HEX, DEC}, /* 241 */ 465 0 stevel {"sendto", 6, DEC, NOV, DEC, IOB, DEC, DEC, HEX, DEC}, /* 242 */ 466 0 stevel {"getpeername", 4, DEC, NOV, DEC, HEX, HEX, SKV}, /* 243 */ 467 0 stevel {"getsockname", 4, DEC, NOV, DEC, HEX, HEX, SKV}, /* 244 */ 468 0 stevel {"getsockopt", 6, DEC, NOV, DEC, SOL, SON, HEX, HEX, SKV}, /* 245 */ 469 0 stevel {"setsockopt", 6, DEC, NOV, DEC, SOL, SON, HEX, DEC, SKV}, /* 246 */ 470 0 stevel {"sockconfig", 4, DEC, NOV, DEC, DEC, DEC, STG}, /* 247 */ 471 0 stevel {"ntp_gettime", 1, DEC, NOV, HEX}, /* 248 */ 472 0 stevel {"ntp_adjtime", 1, DEC, NOV, HEX}, /* 249 */ 473 0 stevel {"lwp_mutex_unlock", 1, DEC, NOV, HEX}, /* 250 */ 474 10887 Roger {"lwp_mutex_trylock", 2, DEC, NOV, HEX, HEX}, /* 251 */ 475 9264 Roger {"lwp_mutex_register", 2, DEC, NOV, HEX, HEX}, /* 252 */ 476 0 stevel {"cladm", 3, DEC, NOV, CLC, CLF, HEX}, /* 253 */ 477 2712 nn35248 {"uucopy", 3, DEC, NOV, HEX, HEX, UNS}, /* 254 */ 478 0 stevel {"umount2", 2, DEC, NOV, STG, MTF}, /* 255 */ 479 0 stevel { NULL, -1, DEC, NOV}, 480 0 stevel }; 481 0 stevel 482 0 stevel /* SYSEND == max syscall number + 1 */ 483 0 stevel #define SYSEND ((sizeof (systable) / sizeof (struct systable))-1) 484 0 stevel 485 0 stevel 486 0 stevel /* 487 0 stevel * The following are for interpreting syscalls with sub-codes. 488 0 stevel */ 489 0 stevel 490 0 stevel const struct systable opentable[] = { 491 0 stevel {"open", 2, DEC, NOV, STG, OPN}, /* 0 */ 492 0 stevel {"open", 3, DEC, NOV, STG, OPN, OCT}, /* 1 */ 493 0 stevel }; 494 0 stevel #define NOPENCODE (sizeof (opentable) / sizeof (struct systable)) 495 0 stevel 496 0 stevel const struct systable open64table[] = { 497 0 stevel {"open64", 2, DEC, NOV, STG, OPN}, /* 0 */ 498 0 stevel {"open64", 3, DEC, NOV, STG, OPN, OCT}, /* 1 */ 499 0 stevel }; 500 0 stevel #define NOPEN64CODE (sizeof (open64table) / sizeof (struct systable)) 501 0 stevel 502 0 stevel const struct systable fcntltable[] = { 503 0 stevel {"fcntl", 3, DEC, NOV, DEC, FCN, HEX}, /* 0: default */ 504 0 stevel {"fcntl", 2, DEC, NOV, DEC, FCN}, /* 1: no arg */ 505 0 stevel {"fcntl", 3, DEC, NOV, DEC, FCN, FFG}, /* 2: F_SETFL */ 506 0 stevel }; 507 0 stevel #define NFCNTLCODE (sizeof (fcntltable) / sizeof (struct systable)) 508 0 stevel 509 0 stevel const struct systable msgtable[] = { 510 0 stevel {"msgget", 3, DEC, NOV, HID, KEY, MSF}, /* 0 */ 511 0 stevel {"msgctl", 4, DEC, NOV, HID, DEC, MSC, HEX}, /* 1 */ 512 0 stevel {"msgrcv", 6, DEC, NOV, HID, DEC, HEX, UNS, DEC, MSF}, /* 2 */ 513 0 stevel {"msgsnd", 5, DEC, NOV, HID, DEC, HEX, UNS, MSF}, /* 3 */ 514 0 stevel {"msgids", 4, DEC, NOV, HID, HEX, UNS, HEX}, /* 4 */ 515 0 stevel {"msgsnap", 5, DEC, NOV, HID, DEC, HEX, UNS, DEC}, /* 5 */ 516 0 stevel }; 517 0 stevel #define NMSGCODE (sizeof (msgtable) / sizeof (struct systable)) 518 0 stevel 519 0 stevel const struct systable semtable[] = { 520 0 stevel {"semctl", 5, DEC, NOV, HID, DEC, DEC, SMC, DEX}, /* 0 */ 521 0 stevel {"semget", 4, DEC, NOV, HID, KEY, DEC, SEF}, /* 1 */ 522 0 stevel {"semop", 4, DEC, NOV, HID, DEC, HEX, UNS}, /* 2 */ 523 0 stevel {"semids", 4, DEC, NOV, HID, HEX, UNS, HEX}, /* 3 */ 524 0 stevel {"semtimedop", 5, DEC, NOV, HID, DEC, HEX, UNS, HEX}, /* 4 */ 525 0 stevel }; 526 0 stevel #define NSEMCODE (sizeof (semtable) / sizeof (struct systable)) 527 0 stevel 528 0 stevel const struct systable shmtable[] = { 529 0 stevel {"shmat", 4, HEX, NOV, HID, DEC, DEX, SHF}, /* 0 */ 530 0 stevel {"shmctl", 4, DEC, NOV, HID, DEC, SHC, DEX}, /* 1 */ 531 0 stevel {"shmdt", 2, DEC, NOV, HID, HEX}, /* 2 */ 532 0 stevel {"shmget", 4, DEC, NOV, HID, KEY, UNS, SHF}, /* 3 */ 533 0 stevel {"shmids", 4, DEC, NOV, HID, HEX, UNS, HEX}, /* 4 */ 534 0 stevel }; 535 0 stevel #define NSHMCODE (sizeof (shmtable) / sizeof (struct systable)) 536 0 stevel 537 0 stevel const struct systable pidtable[] = { 538 0 stevel {"getpgrp", 1, DEC, NOV, HID}, /* 0 */ 539 0 stevel {"setpgrp", 1, DEC, NOV, HID}, /* 1 */ 540 0 stevel {"getsid", 2, DEC, NOV, HID, DEC}, /* 2 */ 541 0 stevel {"setsid", 1, DEC, NOV, HID}, /* 3 */ 542 0 stevel {"getpgid", 2, DEC, NOV, HID, DEC}, /* 4 */ 543 0 stevel {"setpgid", 3, DEC, NOV, HID, DEC, DEC}, /* 5 */ 544 0 stevel }; 545 0 stevel #define NPIDCODE (sizeof (pidtable) / sizeof (struct systable)) 546 0 stevel 547 0 stevel const struct systable sfstable[] = { 548 0 stevel {"sysfs", 3, DEC, NOV, SFS, DEX, DEX}, /* 0 */ 549 0 stevel {"sysfs", 2, DEC, NOV, SFS, STG}, /* 1 */ 550 0 stevel {"sysfs", 3, DEC, NOV, SFS, DEC, RST}, /* 2 */ 551 0 stevel {"sysfs", 1, DEC, NOV, SFS}, /* 3 */ 552 0 stevel }; 553 0 stevel #define NSFSCODE (sizeof (sfstable) / sizeof (struct systable)) 554 0 stevel 555 0 stevel const struct systable utstable[] = { 556 0 stevel {"utssys", 3, DEC, NOV, HEX, DEC, UTS}, /* 0 */ 557 0 stevel {"utssys", 4, DEC, NOV, HEX, HEX, HEX, HEX}, /* err */ 558 0 stevel {"utssys", 3, DEC, NOV, HEX, HHX, UTS}, /* 2 */ 559 0 stevel {"utssys", 4, DEC, NOV, STG, FUI, UTS, HEX} /* 3 */ 560 0 stevel }; 561 0 stevel #define NUTSCODE (sizeof (utstable) / sizeof (struct systable)) 562 2447 nf202958 563 2447 nf202958 const struct systable rctltable[] = { 564 2447 nf202958 {"getrctl", 6, DEC, NOV, HID, STG, HEX, HEX, HID, RGF}, /* 0 */ 565 2447 nf202958 {"setrctl", 6, DEC, NOV, HID, STG, HEX, HEX, HID, RSF}, /* 1 */ 566 2447 nf202958 {"rctlsys_lst", 6, DEC, NOV, HID, HID, HEX, HID, HEX, HID}, /* 2 */ 567 2447 nf202958 {"rctlsys_ctl", 6, DEC, NOV, HID, STG, HEX, HID, HID, RCF}, /* 3 */ 568 3684 rd117015 {"setprojrctl", 6, DEC, NOV, HID, STG, HID, HEX, HEX, SPF}, /* 4 */ 569 2447 nf202958 }; 570 2447 nf202958 #define NRCTLCODE (sizeof (rctltable) / sizeof (struct systable)) 571 0 stevel 572 0 stevel const struct systable sgptable[] = { 573 0 stevel {"sigpendsys", 2, DEC, NOV, DEC, HEX}, /* err */ 574 0 stevel {"sigpending", 2, DEC, NOV, HID, HEX}, /* 1 */ 575 0 stevel {"sigfillset", 2, DEC, NOV, HID, HEX}, /* 2 */ 576 0 stevel }; 577 0 stevel #define NSGPCODE (sizeof (sgptable) / sizeof (struct systable)) 578 0 stevel 579 0 stevel const struct systable ctxtable[] = { 580 0 stevel {"getcontext", 2, DEC, NOV, HID, HEX}, /* 0 */ 581 0 stevel {"setcontext", 2, DEC, NOV, HID, HEX}, /* 1 */ 582 0 stevel {"getustack", 2, DEC, NOV, HID, HEX}, /* 2 */ 583 0 stevel {"setustack", 2, DEC, NOV, HID, HEX}, /* 3 */ 584 0 stevel }; 585 0 stevel #define NCTXCODE (sizeof (ctxtable) / sizeof (struct systable)) 586 0 stevel 587 0 stevel const struct systable hrttable[] = { 588 0 stevel {"hrtcntl", 5, DEC, NOV, HID, DEC, DEC, HEX, HEX}, /* 0 */ 589 0 stevel {"hrtalarm", 3, DEC, NOV, HID, HEX, DEC}, /* 1 */ 590 0 stevel {"hrtsleep", 2, DEC, NOV, HID, HEX}, /* 2 */ 591 0 stevel {"hrtcancel", 3, DEC, NOV, HID, HEX, DEC}, /* 3 */ 592 0 stevel }; 593 0 stevel #define NHRTCODE (sizeof (hrttable) / sizeof (struct systable)) 594 0 stevel 595 0 stevel const struct systable cortable[] = { 596 0 stevel {"corectl", 4, DEC, NOV, COR, HEX, HEX, HEX}, /* 0 */ 597 0 stevel {"corectl", 2, DEC, NOV, COR, CCO}, /* 1 */ 598 0 stevel {"corectl", 1, HHX, NOV, COR}, /* 2 */ 599 0 stevel {"corectl", 3, DEC, NOV, COR, STG, DEC}, /* 3 */ 600 0 stevel {"corectl", 3, DEC, NOV, COR, RST, DEC}, /* 4 */ 601 0 stevel {"corectl", 4, DEC, NOV, COR, STG, DEC, DEC}, /* 5 */ 602 0 stevel {"corectl", 4, DEC, NOV, COR, RST, DEC, DEC}, /* 6 */ 603 0 stevel {"corectl", 2, DEC, NOV, COR, CCC}, /* 7 */ 604 0 stevel {"corectl", 2, DEC, NOV, COR, RCC}, /* 8 */ 605 0 stevel {"corectl", 3, DEC, NOV, COR, CCC, DEC}, /* 9 */ 606 0 stevel {"corectl", 3, DEC, NOV, COR, RCC, DEC}, /* 10 */ 607 0 stevel {"corectl", 3, DEC, NOV, COR, STG, DEC}, /* 11 */ 608 0 stevel {"corectl", 3, DEC, NOV, COR, RST, DEC}, /* 12 */ 609 0 stevel {"corectl", 2, DEC, NOV, COR, CCC}, /* 13 */ 610 0 stevel {"corectl", 2, DEC, NOV, COR, RCC}, /* 14 */ 611 0 stevel }; 612 0 stevel #define NCORCODE (sizeof (cortable) / sizeof (struct systable)) 613 0 stevel 614 0 stevel const struct systable aiotable[] = { 615 0 stevel {"kaio", 7, DEC, NOV, AIO, DEC, HEX, DEC, LLO, HID, HEX}, /* 0 */ 616 0 stevel {"kaio", 7, DEC, NOV, AIO, DEC, HEX, DEC, LLO, HID, HEX}, /* 1 */ 617 0 stevel {"kaio", 3, DEC, NOV, AIO, HEX, DEC}, /* 2 */ 618 0 stevel {"kaio", 3, DEC, NOV, AIO, DEC, HEX}, /* 3 */ 619 0 stevel {"kaio", 1, DEC, NOV, AIO}, /* 4 */ 620 0 stevel {"kaio", 1, DEC, NOV, AIO}, /* 5 */ 621 0 stevel {"kaio", 1, DEC, NOV, AIO}, /* 6 */ 622 0 stevel {"kaio", 5, DEC, NOV, AIO, LIO, HEX, DEC, HEX}, /* 7 */ 623 0 stevel {"kaio", 5, DEC, NOV, AIO, HEX, DEC, HEX, DEC}, /* 8 */ 624 0 stevel {"kaio", 2, DEC, NOV, AIO, HEX}, /* 9 */ 625 0 stevel {"kaio", 5, DEC, NOV, AIO, LIO, HEX, DEC, HEX}, /* 10 */ 626 0 stevel {"kaio", 2, DEC, NOV, AIO, HEX}, /* 11 */ 627 0 stevel {"kaio", 2, DEC, NOV, AIO, HEX}, /* 12 */ 628 0 stevel {"kaio", 5, DEC, NOV, AIO, LIO, HEX, DEC, HEX}, /* 13 */ 629 0 stevel {"kaio", 5, DEC, NOV, AIO, HEX, DEC, HEX, DEC}, /* 14 */ 630 0 stevel {"kaio", 2, DEC, NOV, AIO, HEX}, /* 15 */ 631 0 stevel {"kaio", 5, DEC, NOV, AIO, LIO, HEX, DEC, HEX}, /* 16 */ 632 0 stevel {"kaio", 2, DEC, NOV, AIO, HEX}, /* 17 */ 633 0 stevel {"kaio", 2, DEC, NOV, AIO, HEX}, /* 18 */ 634 0 stevel {"kaio", 3, DEC, NOV, AIO, DEC, HEX}, /* 19 */ 635 0 stevel {"kaio", 1, DEC, NOV, AIO}, /* 20 */ 636 0 stevel {"kaio", 5, DEC, NOV, AIO, HEX, DEC, HEX, HEX}, /* 21 */ 637 0 stevel }; 638 0 stevel #define NAIOCODE (sizeof (aiotable) / sizeof (struct systable)) 639 0 stevel 640 0 stevel const struct systable doortable[] = { 641 0 stevel {"door_create", 3, DEC, NOV, HEX, HEX, DFL}, /* 0 */ 642 0 stevel {"door_revoke", 1, DEC, NOV, DEC}, /* 1 */ 643 0 stevel {"door_info", 2, DEC, NOV, DEC, HEX}, /* 2 */ 644 0 stevel {"door_call", 2, DEC, NOV, DEC, HEX}, /* 3 */ 645 0 stevel {"door_return", 4, DEC, NOV, HEX, DEC, HEX, DEC}, /* 4 (old) */ 646 0 stevel {"door_cred", 1, DEC, NOV, HEX}, /* 5 (old) */ 647 0 stevel {"door_bind", 1, DEC, NOV, DEC}, /* 6 */ 648 0 stevel {"door_unbind", 0, DEC, NOV}, /* 7 */ 649 0 stevel {"door_unref", 0, DEC, NOV}, /* 8 */ 650 0 stevel {"door_ucred", 1, DEC, NOV, HEX}, /* 9 */ 651 0 stevel {"door_return", 5, DEC, NOV, HEX, DEC, HEX, HEX, DEC}, /* 10 */ 652 0 stevel {"door_getparam", 3, DEC, NOV, DEC, DPM, HEX}, /* 11 */ 653 0 stevel {"door_setparam", 3, DEC, NOV, DEC, DPM, DEC}, /* 12 */ 654 0 stevel }; 655 0 stevel #define NDOORCODE (sizeof (doortable) / sizeof (struct systable)) 656 0 stevel 657 0 stevel const struct systable psettable[] = { 658 0 stevel {"pset_create", 2, DEC, NOV, HID, HEX}, /* 0 */ 659 0 stevel {"pset_destroy", 2, DEC, NOV, HID, PST}, /* 1 */ 660 0 stevel {"pset_assign", 4, DEC, NOV, HID, PST, DEC, HEX}, /* 2 */ 661 0 stevel {"pset_info", 5, DEC, NOV, HID, PST, HEX, HEX, HEX}, /* 3 */ 662 0 stevel {"pset_bind", 5, DEC, NOV, HID, PST, IDT, DEC, HEX}, /* 4 */ 663 0 stevel {"pset_getloadavg", 4, DEC, NOV, HID, PST, HEX, DEC}, /* 5 */ 664 0 stevel {"pset_list", 3, DEC, NOV, HID, HEX, HEX}, /* 6 */ 665 0 stevel {"pset_setattr", 3, DEC, NOV, HID, PST, HEX}, /* 7 */ 666 0 stevel {"pset_getattr", 3, DEC, NOV, HID, PST, HEX}, /* 8 */ 667 0 stevel {"pset_assign_forced", 4, DEC, NOV, HID, PST, DEC, HEX}, /* 9 */ 668 0 stevel }; 669 0 stevel #define NPSETCODE (sizeof (psettable) / sizeof (struct systable)) 670 0 stevel 671 0 stevel const struct systable lwpcreatetable[] = { 672 0 stevel {"lwp_create", 3, DEC, NOV, HEX, LWF, HEX}, /* 0 */ 673 0 stevel {"lwp_create", 0, DEC, NOV}, /* 1 */ 674 0 stevel }; 675 0 stevel #define NLWPCREATECODE (sizeof (lwpcreatetable) / sizeof (struct systable)) 676 0 stevel 677 0 stevel static const struct systable tasksystable[] = { 678 0 stevel {"settaskid", 3, DEC, NOV, HID, DEC, HEX}, /* 0 */ 679 0 stevel {"gettaskid", 1, DEC, NOV, HID}, /* 1 */ 680 0 stevel {"getprojid", 1, DEC, NOV, HID}, /* 2 */ 681 0 stevel }; 682 0 stevel #define NTASKSYSCODE (sizeof (tasksystable) / sizeof (struct systable)) 683 0 stevel 684 0 stevel static const struct systable privsystable[] = { 685 0 stevel {"setppriv", 4, DEC, NOV, HID, PRO, PRN, PRS}, /* 0 */ 686 0 stevel {"getppriv", 4, DEC, NOV, HID, HID, PRN, PRS}, /* 1 */ 687 0 stevel {"getprivimplinfo", 5, DEC, NOV, HID, HID, HID, HEX, DEC}, /* 2 */ 688 0 stevel {"setpflags", 3, DEC, NOV, HID, PFL, DEC}, /* 3 */ 689 0 stevel {"getpflags", 2, DEC, NOV, HID, PFL}, /* 4 */ 690 4321 casper {"issetugid", 0, DEC, NOV, HID}, /* 5 */ 691 0 stevel }; 692 0 stevel #define NPRIVSYSCODE (sizeof (privsystable) / sizeof (struct systable)) 693 0 stevel 694 0 stevel static const struct systable exacctsystable[] = { 695 0 stevel {"getacct", 5, DEC, NOV, HID, IDT, DEC, HEX, UNS}, /* 0 */ 696 0 stevel {"putacct", 6, DEC, NOV, HID, IDT, DEC, HEX, UNS, HEX}, /* 1 */ 697 0 stevel {"wracct", 4, DEC, NOV, HID, IDT, DEC, HEX}, /* 2 */ 698 0 stevel }; 699 0 stevel #define NEXACCTSYSCODE (sizeof (exacctsystable) / sizeof (struct systable)) 700 0 stevel 701 0 stevel static const struct systable fsatsystable[] = { 702 0 stevel {"openat", 5, DEC, NOV, HID, ATC, STG, OPN, OCT}, /* 0 */ 703 0 stevel {"openat64", 5, DEC, NOV, HID, ATC, STG, OPN, OCT}, /* 1 */ 704 0 stevel {"fstatat64", 5, DEC, NOV, HID, ATC, STG, HEX, HEX}, /* 2 */ 705 0 stevel {"fstatat", 5, DEC, NOV, HID, ATC, STG, HEX, HEX}, /* 3 */ 706 0 stevel {"fchownat", 6, DEC, NOV, HID, ATC, STG, HEX, HEX, HEX}, /* 4 */ 707 0 stevel {"unlinkat", 4, DEC, NOV, HID, ATC, STG, HEX}, /* 5 */ 708 0 stevel {"futimesat", 4, DEC, NOV, HID, ATC, STG, HEX}, /* 6 */ 709 0 stevel {"renameat", 5, DEC, NOV, HID, ATC, STG, DEC, STG}, /* 7 */ 710 9880 Sumanth {"faccessat", 5, DEC, NOV, HID, ATC, STG, ACC, ACC}, /* 8 */ 711 5331 amw {"__openattrdirat", 3, DEC, NOV, HID, ATC, STG}, /* 9 */ 712 3855 sn199410 {"openat", 4, DEC, NOV, HID, ATC, STG, OPN}, /* N - 2 */ 713 3855 sn199410 {"openat64", 4, DEC, NOV, HID, ATC, STG, OPN}, /* N - 1 */ 714 0 stevel }; 715 0 stevel #define NFSATSYSCODE (sizeof (fsatsystable) / sizeof (struct systable)) 716 0 stevel 717 0 stevel static const struct systable lwpparktable[] = { 718 0 stevel {"lwp_park", 3, DEC, NOV, HID, HEX, DEC}, /* 0 */ 719 0 stevel {"lwp_unpark", 2, DEC, NOV, HID, DEC}, /* 1 */ 720 0 stevel {"lwp_unpark_all", 3, DEC, NOV, HID, HEX, DEC}, /* 2 */ 721 4389 sl108498 {"lwp_unpark_cancel", 2, DEC, NOV, HID, DEC}, /* 3 */ 722 4389 sl108498 {"lwp_set_park", 3, DEC, NOV, HID, HEX, DEC}, /* 4 */ 723 0 stevel }; 724 0 stevel #define NLWPPARKCODE (sizeof (lwpparktable) / sizeof (struct systable)) 725 0 stevel 726 0 stevel static const struct systable lwprwlocktable[] = { 727 0 stevel {"lwp_rwlock_rdlock", 3, DEC, NOV, HID, HEX, HEX}, /* 0 */ 728 0 stevel {"lwp_rwlock_wrlock", 3, DEC, NOV, HID, HEX, HEX}, /* 1 */ 729 0 stevel {"lwp_rwlock_tryrdlock", 2, DEC, NOV, HID, HEX}, /* 2 */ 730 0 stevel {"lwp_rwlock_trywrlock", 2, DEC, NOV, HID, HEX}, /* 3 */ 731 0 stevel {"lwp_rwlock_unlock", 2, DEC, NOV, HID, HEX}, /* 4 */ 732 0 stevel }; 733 0 stevel #define NLWPRWLOCKCODE (sizeof (lwprwlocktable) / sizeof (struct systable)) 734 0 stevel 735 0 stevel static const struct systable sendfilevsystable[] = { 736 0 stevel {"sendfilev", 5, DEC, NOV, DEC, DEC, HEX, DEC, HEX}, /* 0 */ 737 0 stevel {"sendfilev64", 5, DEC, NOV, DEC, DEC, HEX, DEC, HEX}, /* 1 */ 738 0 stevel }; 739 0 stevel #define NSENDFILESYSCODE \ 740 0 stevel (sizeof (sendfilevsystable) / sizeof (struct systable)) 741 0 stevel 742 0 stevel static const struct systable lgrpsystable[] = { 743 0 stevel {"meminfo", 3, DEC, NOV, HID, NOV, MIF}, /* 0 */ 744 0 stevel {"_lgrpsys", 3, DEC, NOV, DEC, DEC, NOV}, /* 1 */ 745 0 stevel {"lgrp_version", 3, DEC, NOV, HID, DEC, NOV}, /* 2 */ 746 0 stevel {"_lgrpsys", 3, DEC, NOV, DEC, HEX, HEX}, /* 3 */ 747 0 stevel {"lgrp_affinity_get", 3, DEC, NOV, HID, NOV, LAF}, /* 4 */ 748 0 stevel {"lgrp_affinity_set", 3, DEC, NOV, HID, NOV, LAF}, /* 5 */ 749 0 stevel {"lgrp_latency", 3, DEC, NOV, HID, DEC, DEC}, /* 6 */ 750 0 stevel }; 751 0 stevel #define NLGRPSYSCODE (sizeof (lgrpsystable) / sizeof (struct systable)) 752 0 stevel 753 0 stevel static const struct systable rusagesystable[] = { 754 0 stevel {"getrusage", 2, DEC, NOV, HID, HEX}, /* 0 */ 755 0 stevel {"getrusage_chld", 2, DEC, NOV, HID, HEX}, /* 1 */ 756 0 stevel {"getrusage_lwp", 2, DEC, NOV, HID, HEX}, /* 2 */ 757 3247 gjelinek {"getvmusage", 5, DEC, NOV, HID, HEX, DEC, HEX, HEX}, /* 3 */ 758 0 stevel }; 759 0 stevel #define NRUSAGESYSCODE \ 760 0 stevel (sizeof (rusagesystable) / sizeof (struct systable)) 761 0 stevel 762 0 stevel static const struct systable ucredsystable[] = { 763 0 stevel {"ucred_get", 3, DEC, NOV, HID, DEC, HEX}, 764 0 stevel {"getpeerucred", 3, DEC, NOV, HID, DEC, HEX}, 765 0 stevel }; 766 0 stevel #define NUCREDSYSCODE \ 767 0 stevel (sizeof (ucredsystable) / sizeof (struct systable)) 768 0 stevel 769 0 stevel const struct systable portfstable[] = { 770 0 stevel {"port_create", 2, DEC, NOV, HID, DEC}, /* 0 */ 771 0 stevel {"port_associate", 6, DEC, NOV, HID, DEC, DEC, HEX, HEX, HEX}, /* 1 */ 772 0 stevel {"port_dissociate", 4, DEC, NOV, HID, DEC, DEC, HEX}, /* 2 */ 773 0 stevel {"port_send", 4, DEC, NOV, HID, DEC, HEX, HEX}, /* 3 */ 774 0 stevel {"port_sendn", 6, DEC, DEC, HID, HEX, HEX, DEC, HEX, HEX}, /* 4 */ 775 0 stevel {"port_get", 4, DEC, NOV, HID, DEC, HEX, HEX}, /* 5 */ 776 0 stevel {"port_getn", 6, DEC, DEC, HID, DEC, HEX, DEC, DEC, HEX}, /* 6 */ 777 0 stevel {"port_alert", 5, DEC, NOV, HID, DEC, HEX, HEX, HEX}, /* 7 */ 778 0 stevel {"port_dispatch", 6, DEC, NOV, HID, DEC, DEC, HEX, HEX, HEX}, /* 8 */ 779 0 stevel }; 780 0 stevel #define NPORTCODE (sizeof (portfstable) / sizeof (struct systable)) 781 0 stevel 782 0 stevel static const struct systable zonetable[] = { 783 813 dp {"zone_create", 2, DEC, NOV, HID, HEX}, /* 0 */ 784 0 stevel {"zone_destroy", 2, DEC, NOV, HID, DEC}, /* 1 */ 785 0 stevel {"zone_getattr", 5, DEC, NOV, HID, DEC, ZGA, HEX, DEC}, /* 2 */ 786 0 stevel {"zone_enter", 2, DEC, NOV, HID, DEC}, /* 3 */ 787 0 stevel {"zone_list", 3, DEC, NOV, HID, HEX, HEX}, /* 4 */ 788 0 stevel {"zone_shutdown", 2, DEC, NOV, HID, DEC}, /* 5 */ 789 3235 raf {"zone_lookup", 2, DEC, NOV, HID, STG}, /* 6 */ 790 3235 raf {"zone_boot", 2, DEC, NOV, HID, DEC}, /* 7 */ 791 813 dp {"zone_version", 2, HEX, NOV, HID, DEC}, /* 8 */ 792 2267 dp {"zone_setattr", 5, DEC, NOV, HID, DEC, ZGA, HEX, DEC}, /* 9 */ 793 3448 dh155122 {"zone_add_datalink", 3, DEC, NOV, HID, DEC, STG}, /* 10 */ 794 3448 dh155122 {"zone_remove_datalink", 3, DEC, NOV, HID, DEC, STG}, /* 11 */ 795 3448 dh155122 {"zone_check_datalink", 3, DEC, NOV, HID, HEX, STG}, /* 12 */ 796 3448 dh155122 {"zone_list_datalink", 4, DEC, NOV, HID, DEC, HEX, HEX}, /* 13 */ 797 0 stevel }; 798 0 stevel #define NZONECODE (sizeof (zonetable) / sizeof (struct systable)) 799 0 stevel 800 1676 jpk static const struct systable labeltable[] = { 801 3235 raf {"labelsys", 3, DEC, NOV, HID, HEX, HEX}, /* 0 */ 802 1676 jpk {"is_system_labeled", 1, DEC, NOV, HID}, /* 1 */ 803 3235 raf {"tnrh", 3, DEC, NOV, HID, TND, HEX}, /* 2 */ 804 3235 raf {"tnrhtp", 3, DEC, NOV, HID, TND, HEX}, /* 3 */ 805 3235 raf {"tnmlp", 3, DEC, NOV, HID, TND, HEX}, /* 4 */ 806 3235 raf {"getlabel", 3, DEC, NOV, HID, STG, HEX}, /* 5 */ 807 3235 raf {"fgetlabel", 3, DEC, NOV, HID, DEC, HEX}, /* 6 */ 808 1676 jpk }; 809 1676 jpk #define NLABELCODE (sizeof (labeltable) / sizeof (struct systable)) 810 1676 jpk 811 3235 raf const struct systable forktable[] = { 812 3235 raf /* parent codes */ 813 3235 raf {"forkx", 2, DEC, NOV, HID, FXF}, /* 0 */ 814 3235 raf {"forkallx", 2, DEC, NOV, HID, FXF}, /* 1 */ 815 3235 raf {"vforkx", 2, DEC, NOV, HID, FXF}, /* 2 */ 816 3235 raf /* child codes */ 817 3235 raf {"forkx", 0, DEC, NOV}, /* 3 */ 818 3235 raf {"forkallx", 0, DEC, NOV}, /* 4 */ 819 3235 raf {"vforkx", 0, DEC, NOV}, /* 5 */ 820 3235 raf }; 821 3235 raf #define NFORKCODE (sizeof (forktable) / sizeof (struct systable)) 822 4321 casper 823 4321 casper const struct systable sidsystable[] = { 824 4321 casper {"allocids", 4, UNS, UNS, HID, DEC, DEC, DEC}, /* 0 */ 825 4321 casper {"idmap_reg", 2, DEC, NOV, HID, DEC}, /* 1 */ 826 4321 casper {"idmap_unreg", 2, DEC, NOV, HID, DEC}, /* 2 */ 827 4321 casper }; 828 4321 casper #define NSIDSYSCODE (sizeof (sidsystable) / sizeof (struct systable)) 829 3235 raf 830 10440 Roger const struct systable utimesystable[] = { 831 10440 Roger {"futimens", 3, DEC, NOV, HID, DEC, HEX}, /* 0 */ 832 10440 Roger {"utimensat", 5, DEC, NOV, HID, ATC, STG, HEX, UTF}, /* 1 */ 833 10440 Roger }; 834 10440 Roger #define NUTIMESYSCODE (sizeof (utimesystable) / sizeof (struct systable)) 835 10440 Roger 836 0 stevel const struct sysalias sysalias[] = { 837 0 stevel { "exit", SYS_exit }, 838 3235 raf { "fork", SYS_forksys }, 839 3235 raf { "forkx", SYS_forksys }, 840 3235 raf { "forkallx", SYS_forksys }, 841 3235 raf { "vforkx", SYS_forksys }, 842 0 stevel { "sbrk", SYS_brk }, 843 0 stevel { "getppid", SYS_getpid }, 844 0 stevel { "geteuid", SYS_getuid }, 845 0 stevel { "getpgrp", SYS_pgrpsys }, 846 0 stevel { "setpgrp", SYS_pgrpsys }, 847 0 stevel { "getsid", SYS_pgrpsys }, 848 0 stevel { "setsid", SYS_pgrpsys }, 849 0 stevel { "getpgid", SYS_pgrpsys }, 850 0 stevel { "setpgid", SYS_pgrpsys }, 851 0 stevel { "getegid", SYS_getgid }, 852 0 stevel { "msgget", SYS_msgsys }, 853 0 stevel { "msgctl", SYS_msgsys }, 854 0 stevel { "msgctl64", SYS_msgsys }, 855 0 stevel { "msgrcv", SYS_msgsys }, 856 0 stevel { "msgsnd", SYS_msgsys }, 857 0 stevel { "msgids", SYS_msgsys }, 858 0 stevel { "msgsnap", SYS_msgsys }, 859 0 stevel { "msgop", SYS_msgsys }, 860 0 stevel { "shmat", SYS_shmsys }, 861 0 stevel { "shmctl", SYS_shmsys }, 862 0 stevel { "shmctl64", SYS_shmsys }, 863 0 stevel { "shmdt", SYS_shmsys }, 864 0 stevel { "shmget", SYS_shmsys }, 865 0 stevel { "shmids", SYS_shmsys }, 866 0 stevel { "shmop", SYS_shmsys }, 867 0 stevel { "semctl", SYS_semsys }, 868 0 stevel { "semctl64", SYS_semsys }, 869 0 stevel { "semget", SYS_semsys }, 870 0 stevel { "semids", SYS_semsys }, 871 0 stevel { "semop", SYS_semsys }, 872 0 stevel { "semtimedop", SYS_semsys }, 873 0 stevel { "uname", SYS_utssys }, 874 0 stevel { "ustat", SYS_utssys }, 875 0 stevel { "fusers", SYS_utssys }, 876 0 stevel { "exec", SYS_execve }, 877 0 stevel { "execl", SYS_execve }, 878 0 stevel { "execv", SYS_execve }, 879 0 stevel { "execle", SYS_execve }, 880 0 stevel { "execlp", SYS_execve }, 881 0 stevel { "execvp", SYS_execve }, 882 0 stevel { "sigfillset", SYS_sigpending }, 883 0 stevel { "getcontext", SYS_context }, 884 0 stevel { "setcontext", SYS_context }, 885 0 stevel { "getustack", SYS_context }, 886 0 stevel { "setustack", SYS_context }, 887 0 stevel { "hrtcntl", SYS_hrtsys }, 888 0 stevel { "hrtalarm", SYS_hrtsys }, 889 0 stevel { "hrtsleep", SYS_hrtsys }, 890 0 stevel { "hrtcancel", SYS_hrtsys }, 891 0 stevel { "aioread", SYS_kaio }, 892 0 stevel { "aiowrite", SYS_kaio }, 893 0 stevel { "aiowait", SYS_kaio }, 894 0 stevel { "aiocancel", SYS_kaio }, 895 0 stevel { "aionotify", SYS_kaio }, 896 0 stevel { "audit", SYS_auditsys }, 897 0 stevel { "door_create", SYS_door }, 898 0 stevel { "door_revoke", SYS_door }, 899 0 stevel { "door_info", SYS_door }, 900 0 stevel { "door_call", SYS_door }, 901 0 stevel { "door_return", SYS_door }, 902 0 stevel { "door_bind", SYS_door }, 903 0 stevel { "door_unbind", SYS_door }, 904 0 stevel { "door_unref", SYS_door }, 905 0 stevel { "door_ucred", SYS_door }, 906 0 stevel { "door_getparam", SYS_door }, 907 0 stevel { "door_setparam", SYS_door }, 908 0 stevel { "pset_create", SYS_pset }, 909 0 stevel { "pset_destroy", SYS_pset }, 910 0 stevel { "pset_assign", SYS_pset }, 911 0 stevel { "pset_info", SYS_pset }, 912 0 stevel { "pset_bind", SYS_pset }, 913 0 stevel { "pset_getloadavg", SYS_pset }, 914 0 stevel { "pset_list", SYS_pset }, 915 0 stevel { "pset_setattr", SYS_pset }, 916 0 stevel { "pset_getattr", SYS_pset }, 917 0 stevel { "pset_assign_forced", SYS_pset }, 918 0 stevel { "settaskid", SYS_tasksys }, 919 0 stevel { "gettaskid", SYS_tasksys }, 920 0 stevel { "getprojid", SYS_tasksys }, 921 0 stevel { "setppriv", SYS_privsys }, 922 0 stevel { "getppriv", SYS_privsys }, 923 0 stevel { "getprivimplinfo", SYS_privsys }, 924 0 stevel { "setpflags", SYS_privsys }, 925 0 stevel { "getpflags", SYS_privsys }, 926 0 stevel { "getacct", SYS_exacctsys }, 927 0 stevel { "putacct", SYS_exacctsys }, 928 0 stevel { "wracct", SYS_exacctsys }, 929 0 stevel { "lwp_cond_timedwait", SYS_lwp_cond_wait }, 930 0 stevel { "lwp_park", SYS_lwp_park }, 931 0 stevel { "lwp_unpark", SYS_lwp_park }, 932 0 stevel { "lwp_unpark_all", SYS_lwp_park }, 933 0 stevel { "lwp_rwlock_rdlock", SYS_lwp_rwlock_sys }, 934 0 stevel { "lwp_rwlock_wrlock", SYS_lwp_rwlock_sys }, 935 0 stevel { "lwp_rwlock_tryrdlock", SYS_lwp_rwlock_sys }, 936 0 stevel { "lwp_rwlock_trywrlock", SYS_lwp_rwlock_sys }, 937 0 stevel { "lwp_rwlock_unlock", SYS_lwp_rwlock_sys }, 938 0 stevel { "sendfilev64", SYS_sendfilev }, 939 0 stevel { "openat", SYS_fsat }, 940 0 stevel { "openat64", SYS_fsat }, 941 0 stevel { "fstatat64", SYS_fsat }, 942 0 stevel { "fstatat", SYS_fsat }, 943 0 stevel { "fchownat", SYS_fsat }, 944 0 stevel { "unlinkat", SYS_fsat }, 945 0 stevel { "futimesat", SYS_fsat }, 946 0 stevel { "renameat", SYS_fsat }, 947 9880 Sumanth { "faccessat", SYS_fsat }, 948 5331 amw { "__openattrdirat", SYS_fsat }, 949 0 stevel { "lgrpsys", SYS_lgrpsys }, 950 0 stevel { "getrusage", SYS_rusagesys }, 951 0 stevel { "getrusage_chld", SYS_rusagesys }, 952 0 stevel { "getrusage_lwp", SYS_rusagesys }, 953 3247 gjelinek { "getvmusage", SYS_rusagesys }, 954 0 stevel { "getpeerucred", SYS_ucredsys }, 955 0 stevel { "ucred_get", SYS_ucredsys }, 956 0 stevel { "port_create", SYS_port }, 957 0 stevel { "port_associate", SYS_port }, 958 0 stevel { "port_dissociate", SYS_port }, 959 0 stevel { "port_send", SYS_port }, 960 0 stevel { "port_sendn", SYS_port }, 961 0 stevel { "port_get", SYS_port }, 962 0 stevel { "port_getn", SYS_port }, 963 0 stevel { "port_alert", SYS_port }, 964 0 stevel { "port_dispatch", SYS_port }, 965 0 stevel { "zone_create", SYS_zone }, 966 0 stevel { "zone_destroy", SYS_zone }, 967 0 stevel { "zone_getattr", SYS_zone }, 968 3247 gjelinek { "zone_setattr", SYS_zone }, 969 0 stevel { "zone_enter", SYS_zone }, 970 0 stevel { "getzoneid", SYS_zone }, 971 0 stevel { "zone_list", SYS_zone }, 972 0 stevel { "zone_shutdown", SYS_zone }, 973 3448 dh155122 { "zone_add_datalink", SYS_zone }, 974 3448 dh155122 { "zone_remove_datalink", SYS_zone }, 975 3448 dh155122 { "zone_check_datalink", SYS_zone }, 976 3448 dh155122 { "zone_list_datalink", SYS_zone }, 977 1676 jpk { "is_system_labeled", SYS_labelsys }, 978 1676 jpk { "tnrh", SYS_labelsys }, 979 1676 jpk { "tnrhtp", SYS_labelsys }, 980 1676 jpk { "tnmlp", SYS_labelsys }, 981 1676 jpk { "getlabel", SYS_labelsys }, 982 1676 jpk { "fgetlabel", SYS_labelsys }, 983 2447 nf202958 { "getrctl", SYS_rctlsys }, 984 2447 nf202958 { "setrctl", SYS_rctlsys }, 985 2447 nf202958 { "rctlsys_lst", SYS_rctlsys }, 986 2447 nf202958 { "rctlsys_ctl", SYS_rctlsys }, 987 4321 casper { "allocids", SYS_sidsys }, 988 10440 Roger { "futimens", SYS_utimesys }, 989 10440 Roger { "utimensat", SYS_utimesys }, 990 0 stevel { NULL, 0 } /* end-of-list */ 991 0 stevel }; 992 0 stevel 993 0 stevel /* 994 0 stevel * Return structure to interpret system call with sub-codes. 995 0 stevel */ 996 0 stevel const struct systable * 997 0 stevel subsys(int syscall, int subcode) 998 0 stevel { 999 0 stevel const struct systable *stp = NULL; 1000 0 stevel 1001 0 stevel if (subcode != -1) { 1002 0 stevel switch (syscall) { 1003 0 stevel case SYS_open: 1004 0 stevel if ((unsigned)subcode < NOPENCODE) 1005 0 stevel stp = &opentable[subcode]; 1006 0 stevel break; 1007 0 stevel case SYS_open64: 1008 0 stevel if ((unsigned)subcode < NOPEN64CODE) 1009 0 stevel stp = &open64table[subcode]; 1010 0 stevel break; 1011 0 stevel case SYS_msgsys: /* msgsys() */ 1012 0 stevel if ((unsigned)subcode < NMSGCODE) 1013 0 stevel stp = &msgtable[subcode]; 1014 0 stevel break; 1015 0 stevel case SYS_semsys: /* semsys() */ 1016 0 stevel if ((unsigned)subcode < NSEMCODE) 1017 0 stevel stp = &semtable[subcode]; 1018 0 stevel break; 1019 0 stevel case SYS_shmsys: /* shmsys() */ 1020 0 stevel if ((unsigned)subcode < NSHMCODE) 1021 0 stevel stp = &shmtable[subcode]; 1022 0 stevel break; 1023 0 stevel case SYS_pgrpsys: /* pgrpsys() */ 1024 0 stevel if ((unsigned)subcode < NPIDCODE) 1025 0 stevel stp = &pidtable[subcode]; 1026 0 stevel break; 1027 0 stevel case SYS_utssys: /* utssys() */ 1028 0 stevel if ((unsigned)subcode < NUTSCODE) 1029 0 stevel stp = &utstable[subcode]; 1030 0 stevel break; 1031 0 stevel case SYS_sysfs: /* sysfs() */ 1032 0 stevel if ((unsigned)subcode < NSFSCODE) 1033 0 stevel stp = &sfstable[subcode]; 1034 0 stevel break; 1035 0 stevel case SYS_sigpending: /* sigpending()/sigfillset() */ 1036 0 stevel if ((unsigned)subcode < NSGPCODE) 1037 0 stevel stp = &sgptable[subcode]; 1038 0 stevel break; 1039 0 stevel case SYS_context: /* [get|set]context() */ 1040 0 stevel if ((unsigned)subcode < NCTXCODE) 1041 0 stevel stp = &ctxtable[subcode]; 1042 0 stevel break; 1043 0 stevel case SYS_hrtsys: /* hrtsys() */ 1044 0 stevel if ((unsigned)subcode < NHRTCODE) 1045 0 stevel stp = &hrttable[subcode]; 1046 0 stevel break; 1047 0 stevel case SYS_corectl: /* corectl() */ 1048 0 stevel if ((unsigned)subcode < NCORCODE) 1049 0 stevel stp = &cortable[subcode]; 1050 0 stevel break; 1051 0 stevel case SYS_kaio: /* kaio() */ 1052 0 stevel if ((unsigned)subcode < NAIOCODE) 1053 0 stevel stp = &aiotable[subcode]; 1054 0 stevel break; 1055 0 stevel case SYS_door: /* doors */ 1056 0 stevel if ((unsigned)subcode < NDOORCODE) 1057 0 stevel stp = &doortable[subcode]; 1058 0 stevel break; 1059 0 stevel case SYS_pset: /* pset() */ 1060 0 stevel if ((unsigned)subcode < NPSETCODE) 1061 0 stevel stp = &psettable[subcode]; 1062 0 stevel break; 1063 0 stevel case SYS_lwp_create: /* lwp_create() */ 1064 0 stevel if ((unsigned)subcode < NLWPCREATECODE) 1065 0 stevel stp = &lwpcreatetable[subcode]; 1066 0 stevel break; 1067 0 stevel case SYS_tasksys: /* tasks */ 1068 0 stevel if ((unsigned)subcode < NTASKSYSCODE) 1069 0 stevel stp = &tasksystable[subcode]; 1070 0 stevel break; 1071 0 stevel case SYS_exacctsys: /* exacct */ 1072 0 stevel if ((unsigned)subcode < NEXACCTSYSCODE) 1073 0 stevel stp = &exacctsystable[subcode]; 1074 0 stevel break; 1075 0 stevel case SYS_fsat: 1076 0 stevel if ((unsigned)subcode < NFSATSYSCODE) 1077 0 stevel stp = &fsatsystable[subcode]; 1078 0 stevel break; 1079 0 stevel case SYS_privsys: /* privileges */ 1080 0 stevel if ((unsigned)subcode < NPRIVSYSCODE) 1081 0 stevel stp = &privsystable[subcode]; 1082 0 stevel break; 1083 0 stevel case SYS_lwp_park: /* lwp_park */ 1084 0 stevel if ((unsigned)subcode < NLWPPARKCODE) 1085 0 stevel stp = &lwpparktable[subcode]; 1086 0 stevel break; 1087 0 stevel case SYS_lwp_rwlock_sys: 1088 0 stevel if ((unsigned)subcode < NLWPRWLOCKCODE) 1089 0 stevel stp = &lwprwlocktable[subcode]; 1090 0 stevel break; 1091 0 stevel case SYS_sendfilev: /* sendfilev */ 1092 0 stevel if ((unsigned)subcode < NSENDFILESYSCODE) 1093 0 stevel stp = &sendfilevsystable[subcode]; 1094 0 stevel break; 1095 0 stevel case SYS_lgrpsys: /* lgrpsys */ 1096 0 stevel if ((unsigned)subcode < NLGRPSYSCODE) 1097 0 stevel stp = &lgrpsystable[subcode]; 1098 0 stevel break; 1099 0 stevel case SYS_rusagesys: /* rusagesys */ 1100 0 stevel if ((unsigned)subcode < NRUSAGESYSCODE) 1101 0 stevel stp = &rusagesystable[subcode]; 1102 0 stevel break; 1103 0 stevel case SYS_fcntl: /* fcntl */ 1104 0 stevel if ((unsigned)subcode < NFCNTLCODE) 1105 0 stevel stp = &fcntltable[subcode]; 1106 0 stevel break; 1107 0 stevel case SYS_ucredsys: 1108 0 stevel if ((unsigned)subcode < NUCREDSYSCODE) 1109 0 stevel stp = &ucredsystable[subcode]; 1110 0 stevel break; 1111 0 stevel case SYS_port: /* portfs */ 1112 0 stevel if ((unsigned)subcode < NPORTCODE) 1113 0 stevel stp = &portfstable[subcode]; 1114 0 stevel break; 1115 0 stevel case SYS_zone: /* zone family */ 1116 0 stevel if ((unsigned)subcode < NZONECODE) 1117 0 stevel stp = &zonetable[subcode]; 1118 1676 jpk break; 1119 1676 jpk case SYS_labelsys: /* label family */ 1120 1676 jpk if ((unsigned)subcode < NLABELCODE) 1121 1676 jpk stp = &labeltable[subcode]; 1122 2447 nf202958 break; 1123 2447 nf202958 case SYS_rctlsys: /* rctl family */ 1124 2447 nf202958 if ((unsigned)subcode < NRCTLCODE) 1125 2447 nf202958 stp = &rctltable[subcode]; 1126 0 stevel break; 1127 3235 raf case SYS_forksys: /* fork family */ 1128 3235 raf if ((unsigned)subcode < NFORKCODE) 1129 3235 raf stp = &forktable[subcode]; 1130 4321 casper break; 1131 4321 casper case SYS_sidsys: /* SID family */ 1132 4321 casper if ((unsigned)subcode < NSIDSYSCODE) 1133 4321 casper stp = &sidsystable[subcode]; 1134 10440 Roger break; 1135 10440 Roger case SYS_utimesys: /* utime family */ 1136 10440 Roger if ((unsigned)subcode < NUTIMESYSCODE) 1137 10440 Roger stp = &utimesystable[subcode]; 1138 3235 raf break; 1139 0 stevel } 1140 0 stevel } 1141 0 stevel 1142 0 stevel if (stp == NULL) 1143 0 stevel stp = &systable[((unsigned)syscall < SYSEND)? syscall : 0]; 1144 0 stevel 1145 0 stevel return (stp); 1146 0 stevel } 1147 0 stevel 1148 0 stevel /* 1149 0 stevel * Return the name of the system call. 1150 0 stevel */ 1151 0 stevel const char * 1152 0 stevel sysname(private_t *pri, int syscall, int subcode) 1153 0 stevel { 1154 0 stevel const struct systable *stp = subsys(syscall, subcode); 1155 0 stevel const char *name = stp->name; /* may be NULL */ 1156 0 stevel 1157 0 stevel if (name == NULL) { /* manufacture a name */ 1158 0 stevel (void) sprintf(pri->sys_name, "sys#%d", syscall); 1159 0 stevel name = pri->sys_name; 1160 0 stevel } 1161 0 stevel 1162 0 stevel return (name); 1163 0 stevel } 1164 0 stevel 1165 0 stevel /* 1166 0 stevel * Return the name of the signal. 1167 0 stevel * Return NULL if unknown signal. 1168 0 stevel */ 1169 0 stevel const char * 1170 0 stevel rawsigname(private_t *pri, int sig) 1171 0 stevel { 1172 0 stevel /* 1173 0 stevel * The C library function sig2str() omits the leading "SIG". 1174 0 stevel */ 1175 0 stevel (void) strcpy(pri->raw_sig_name, "SIG"); 1176 0 stevel 1177 0 stevel if (sig > 0 && sig2str(sig, pri->raw_sig_name+3) == 0) 1178 0 stevel return (pri->raw_sig_name); 1179 0 stevel return (NULL); 1180 0 stevel } 1181 0 stevel 1182 0 stevel /* 1183 0 stevel * Return the name of the signal. 1184 0 stevel * Manufacture a name for unknown signal. 1185 0 stevel */ 1186 0 stevel const char * 1187 0 stevel signame(private_t *pri, int sig) 1188 0 stevel { 1189 0 stevel const char *name = rawsigname(pri, sig); 1190 0 stevel 1191 0 stevel if (name == NULL) { /* manufacture a name */ 1192 0 stevel (void) sprintf(pri->sig_name, "SIG#%d", sig); 1193 0 stevel name = pri->sig_name; 1194 0 stevel } 1195 0 stevel 1196 0 stevel return (name); 1197 0 stevel } 1198 0 stevel 1199 0 stevel /* 1200 0 stevel * Determine the subcode for this syscall, if any. 1201 0 stevel */ 1202 0 stevel int 1203 0 stevel getsubcode(private_t *pri) 1204 0 stevel { 1205 0 stevel const lwpstatus_t *Lsp = pri->lwpstat; 1206 0 stevel int syscall = Lsp->pr_syscall; 1207 0 stevel int nsysarg = Lsp->pr_nsysarg; 1208 0 stevel int subcode = -1; 1209 0 stevel int arg0; 1210 0 stevel 1211 0 stevel if (syscall > 0 && nsysarg > 0) { 1212 0 stevel arg0 = Lsp->pr_sysarg[0]; 1213 0 stevel switch (syscall) { 1214 0 stevel case SYS_utssys: /* utssys() */ 1215 0 stevel if (nsysarg > 2) 1216 0 stevel subcode = Lsp->pr_sysarg[2]; 1217 0 stevel break; 1218 0 stevel case SYS_open: /* open() w/ and w/o O_CREAT */ 1219 0 stevel case SYS_open64: 1220 0 stevel if (nsysarg > 1) 1221 0 stevel subcode = (Lsp->pr_sysarg[1] & O_CREAT)? 1 : 0; 1222 0 stevel break; 1223 0 stevel case SYS_fsat: 1224 0 stevel switch (arg0) { 1225 0 stevel case 0: /* openat */ 1226 0 stevel if (nsysarg > 3) 1227 0 stevel subcode = 1228 0 stevel (Lsp->pr_sysarg[3] & O_CREAT) ? 1229 3855 sn199410 0 : NFSATSYSCODE - 2; 1230 0 stevel break; 1231 0 stevel case 1: /* openat64 */ 1232 0 stevel if (nsysarg > 3) 1233 0 stevel subcode = 1234 0 stevel (Lsp->pr_sysarg[3] & O_CREAT) ? 1235 3855 sn199410 1 : NFSATSYSCODE - 1; 1236 0 stevel break; 1237 0 stevel case 2: 1238 0 stevel case 3: 1239 0 stevel case 4: 1240 0 stevel case 5: 1241 0 stevel case 6: 1242 0 stevel case 7: 1243 3855 sn199410 case 8: 1244 5331 amw case 9: 1245 0 stevel subcode = arg0; 1246 0 stevel } 1247 0 stevel break; 1248 0 stevel case SYS_kaio: /* kaio() */ 1249 0 stevel subcode = arg0 & ~AIO_POLL_BIT; 1250 0 stevel break; 1251 0 stevel case SYS_door: /* doors */ 1252 0 stevel if (nsysarg > 5) 1253 0 stevel subcode = Lsp->pr_sysarg[5]; 1254 0 stevel break; 1255 0 stevel case SYS_lwp_create: /* lwp_create() */ 1256 0 stevel subcode = /* 0 for parent, 1 for child */ 1257 2267 dp (Lsp->pr_why == PR_SYSEXIT && Lsp->pr_errno == 0 && 1258 2267 dp Lsp->pr_rval1 == 0); 1259 0 stevel break; 1260 3235 raf case SYS_forksys: /* forksys */ 1261 3235 raf subcode = arg0; 1262 3235 raf if (Lsp->pr_why == PR_SYSEXIT && Lsp->pr_errno == 0 && 1263 3235 raf pri->Rval2 != 0) /* this is the child */ 1264 3235 raf subcode += 3; 1265 3235 raf break; 1266 0 stevel case SYS_msgsys: /* msgsys() */ 1267 0 stevel case SYS_semsys: /* semsys() */ 1268 0 stevel case SYS_shmsys: /* shmsys() */ 1269 0 stevel case SYS_pgrpsys: /* pgrpsys() */ 1270 0 stevel case SYS_sysfs: /* sysfs() */ 1271 0 stevel case SYS_sigpending: /* sigpending()/sigfillset() */ 1272 0 stevel case SYS_context: /* [get|set]context() */ 1273 0 stevel case SYS_hrtsys: /* hrtsys() */ 1274 0 stevel case SYS_corectl: /* corectl() */ 1275 0 stevel case SYS_pset: /* pset() */ 1276 0 stevel case SYS_tasksys: /* tasks */ 1277 0 stevel case SYS_privsys: /* privileges */ 1278 0 stevel case SYS_exacctsys: /* exacct */ 1279 0 stevel case SYS_lwp_park: /* lwp_park */ 1280 0 stevel case SYS_lwp_rwlock_sys: /* lwp_rwlock_*() */ 1281 0 stevel case SYS_sendfilev: /* sendfilev */ 1282 0 stevel case SYS_lgrpsys: /* lgrpsys */ 1283 0 stevel case SYS_rusagesys: /* rusagesys */ 1284 0 stevel case SYS_ucredsys: /* ucredsys */ 1285 0 stevel case SYS_zone: /* zone */ 1286 1676 jpk case SYS_labelsys: /* labelsys */ 1287 2447 nf202958 case SYS_rctlsys: /* rctlsys */ 1288 4321 casper case SYS_sidsys: /* sidsys */ 1289 10440 Roger case SYS_utimesys: /* utimesys */ 1290 0 stevel subcode = arg0; 1291 0 stevel break; 1292 0 stevel case SYS_fcntl: /* fcntl() */ 1293 0 stevel if (nsysarg > 2) { 1294 0 stevel switch (Lsp->pr_sysarg[1]) { 1295 0 stevel default: subcode = 0; break; 1296 0 stevel case F_GETFL: 1297 0 stevel case F_GETOWN: 1298 0 stevel case F_GETXFL: subcode = 1; break; 1299 0 stevel case F_SETFL: subcode = 2; break; 1300 0 stevel } 1301 0 stevel } 1302 0 stevel break; 1303 0 stevel case SYS_port: /* portfs */ 1304 0 stevel subcode = arg0 & PORT_CODE_MASK; 1305 0 stevel break; 1306 0 stevel } 1307 0 stevel } 1308 0 stevel 1309 0 stevel return (subcode); 1310 0 stevel } 1311 0 stevel 1312 0 stevel /* 1313 0 stevel * Return the maximum number of system calls, counting 1314 0 stevel * all system calls with subcodes as separate calls. 1315 0 stevel */ 1316 0 stevel int 1317 0 stevel maxsyscalls() 1318 0 stevel { 1319 0 stevel return (PRMAXSYS + 1 1320 2267 dp + NOPENCODE - 1 1321 2267 dp + NOPEN64CODE - 1 1322 2267 dp + NMSGCODE - 1 1323 2267 dp + NSEMCODE - 1 1324 2267 dp + NSHMCODE - 1 1325 2267 dp + NPIDCODE - 1 1326 2267 dp + NSFSCODE - 1 1327 2267 dp + NUTSCODE - 1 1328 2267 dp + NSGPCODE - 1 1329 2267 dp + NCTXCODE - 1 1330 2267 dp + NHRTCODE - 1 1331 2267 dp + NCORCODE - 1 1332 2267 dp + NAIOCODE - 1 1333 2267 dp + NDOORCODE - 1 1334 2267 dp + NPSETCODE - 1 1335 2267 dp + NLWPCREATECODE - 1 1336 2267 dp + NTASKSYSCODE - 1 1337 2267 dp + NEXACCTSYSCODE - 1 1338 2267 dp + NFSATSYSCODE - 1 1339 2267 dp + NLWPPARKCODE - 1 1340 2267 dp + NLWPRWLOCKCODE - 1 1341 2267 dp + NSENDFILESYSCODE - 1 1342 2267 dp + NLGRPSYSCODE - 1 1343 2267 dp + NRUSAGESYSCODE - 1 1344 2267 dp + NFCNTLCODE - 1 1345 2267 dp + NPRIVSYSCODE - 1 1346 2267 dp + NUCREDSYSCODE - 1 1347 2267 dp + NPORTCODE - 1 1348 2267 dp + NZONECODE - 1 1349 2447 nf202958 + NLABELCODE - 1 1350 3235 raf + NRCTLCODE - 1 1351 4321 casper + NFORKCODE - 1 1352 10440 Roger + NSIDSYSCODE - 1 1353 10440 Roger + NUTIMESYSCODE - 1); 1354 0 stevel } 1355 0 stevel 1356 0 stevel /* 1357 0 stevel * Return the number of subcodes for the specified system call number. 1358 0 stevel */ 1359 0 stevel int 1360 0 stevel nsubcodes(int syscall) 1361 0 stevel { 1362 0 stevel switch (syscall) { 1363 0 stevel case SYS_open: 1364 0 stevel return (NOPENCODE); 1365 0 stevel case SYS_open64: 1366 0 stevel return (NOPEN64CODE); 1367 0 stevel case SYS_msgsys: /* msgsys() */ 1368 0 stevel return (NMSGCODE); 1369 0 stevel case SYS_semsys: /* semsys() */ 1370 0 stevel return (NSEMCODE); 1371 0 stevel case SYS_shmsys: /* shmsys() */ 1372 0 stevel return (NSHMCODE); 1373 0 stevel case SYS_pgrpsys: /* pgrpsys() */ 1374 0 stevel return (NPIDCODE); 1375 0 stevel case SYS_utssys: /* utssys() */ 1376 0 stevel return (NUTSCODE); 1377 0 stevel case SYS_sysfs: /* sysfs() */ 1378 0 stevel return (NSFSCODE); 1379 0 stevel case SYS_sigpending: /* sigpending()/sigfillset() */ 1380 0 stevel return (NSGPCODE); 1381 0 stevel case SYS_context: /* [get|set]context() */ 1382 0 stevel return (NCTXCODE); 1383 0 stevel case SYS_hrtsys: /* hrtsys() */ 1384 0 stevel return (NHRTCODE); 1385 0 stevel case SYS_corectl: /* corectl() */ 1386 0 stevel return (NCORCODE); 1387 0 stevel case SYS_kaio: /* kaio() */ 1388 0 stevel return (NAIOCODE); 1389 0 stevel case SYS_door: /* doors */ 1390 0 stevel return (NDOORCODE); 1391 0 stevel case SYS_pset: /* pset() */ 1392 0 stevel return (NPSETCODE); 1393 0 stevel case SYS_lwp_create: /* lwp_create() */ 1394 0 stevel return (NLWPCREATECODE); 1395 0 stevel case SYS_tasksys: /* tasks */ 1396 0 stevel return (NTASKSYSCODE); 1397 0 stevel case SYS_exacctsys: /* exacct */ 1398 0 stevel return (NEXACCTSYSCODE); 1399 0 stevel case SYS_fsat: 1400 0 stevel return (NFSATSYSCODE); 1401 0 stevel case SYS_privsys: /* privileges */ 1402 0 stevel return (NPRIVSYSCODE); 1403 0 stevel case SYS_lwp_park: /* lwp_park */ 1404 0 stevel return (NLWPPARKCODE); 1405 0 stevel case SYS_lwp_rwlock_sys: 1406 0 stevel return (NLWPRWLOCKCODE); 1407 0 stevel case SYS_sendfilev: /* sendfilev */ 1408 0 stevel return (NSENDFILESYSCODE); 1409 0 stevel case SYS_lgrpsys: /* lgrpsys */ 1410 0 stevel return (NLGRPSYSCODE); 1411 0 stevel case SYS_rusagesys: 1412 0 stevel return (NRUSAGESYSCODE); 1413 0 stevel case SYS_fcntl: 1414 0 stevel return (NFCNTLCODE); 1415 0 stevel case SYS_ucredsys: 1416 0 stevel return (NUCREDSYSCODE); 1417 0 stevel case SYS_port: 1418 0 stevel return (NPORTCODE); 1419 0 stevel case SYS_zone: /* zone */ 1420 0 stevel return (NZONECODE); 1421 1676 jpk case SYS_labelsys: 1422 1676 jpk return (NLABELCODE); 1423 2447 nf202958 case SYS_rctlsys: 1424 2447 nf202958 return (NRCTLCODE); 1425 3235 raf case SYS_forksys: 1426 3235 raf return (NFORKCODE); 1427 4321 casper case SYS_sidsys: 1428 4321 casper return (NSIDSYSCODE); 1429 10440 Roger case SYS_utimesys: 1430 10440 Roger return (NUTIMESYSCODE); 1431 0 stevel default: 1432 0 stevel return (1); 1433 0 stevel } 1434 0 stevel } 1435 0 stevel 1436 0 stevel 1437 0 stevel 1438 0 stevel /* Socket address families (and protocol families) */ 1439 0 stevel const char * const afcodes[] = { 1440 0 stevel "UNSPEC", /* 0 */ 1441 0 stevel "UNIX", /* 1 */ 1442 0 stevel "INET", /* 2 */ 1443 0 stevel "IMPLINK", /* 3 */ 1444 0 stevel "PUP", /* 4 */ 1445 0 stevel "CHAOS", /* 5 */ 1446 0 stevel "NS", /* 6 */ 1447 0 stevel "NBS", /* 7 */ 1448 0 stevel "ECMA", /* 8 */ 1449 0 stevel "DATAKIT", /* 9 */ 1450 0 stevel "CCITT", /* 10 */ 1451 0 stevel "SNA", /* 11 */ 1452 0 stevel "DECnet", /* 12 */ 1453 0 stevel "DLI", /* 13 */ 1454 0 stevel "LAT", /* 14 */ 1455 0 stevel "HYLINK", /* 15 */ 1456 0 stevel "APPLETALK", /* 16 */ 1457 0 stevel "NIT", /* 17 */ 1458 0 stevel "802", /* 18 */ 1459 0 stevel "OSI", /* 19 */ 1460 0 stevel "X25", /* 20 */ 1461 0 stevel "OSINET", /* 21 */ 1462 0 stevel "GOSIP", /* 22 */ 1463 0 stevel "IPX", /* 23 */ 1464 0 stevel "ROUTE", /* 24 */ 1465 0 stevel "LINK", /* 25 */ 1466 0 stevel "INET6", /* 26 */ 1467 0 stevel "KEY", /* 27 */ 1468 0 stevel "NCA", /* 28 */ 1469 3302 agiri "POLICY", /* 29 */ 1470 10491 Rishi "RDS", /* 30 */ 1471 10639 Darren "TRILL", /* 31 */ 1472 10639 Darren "PACKET" /* 32 */ 1473 0 stevel }; 1474 10639 Darren #if MAX_AFCODES != 33 1475 0 stevel #error Need to update address-family table 1476 0 stevel #endif 1477 0 stevel 1478 0 stevel 1479 0 stevel const char * const socktype_codes[] = { /* cf socket.h */ 1480 0 stevel NULL, 1481 0 stevel "SOCK_DGRAM", /* 1 */ 1482 0 stevel "SOCK_STREAM", /* 2 */ 1483 0 stevel NULL, 1484 0 stevel "SOCK_RAW", /* 4 */ 1485 0 stevel "SOCK_RDM", /* 5 */ 1486 0 stevel "SOCK_SEQPACKET" /* 6 */ 1487 0 stevel }; 1488 0 stevel #if MAX_SOCKTYPES != 7 1489 0 stevel #error Need to update socket-type table 1490 0 stevel #endif 1491