home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume43 / strace / part05 < prev    next >
Encoding:
Internet Message Format  |  1994-07-09  |  60.6 KB

  1. From: jrs@world.std.com (Rick Sladkey)
  2. Newsgroups: comp.sources.misc
  3. Subject: v43i079:  strace - system call tracer for sunos, linux, svr4, solaris2, Part05/10
  4. Date: 9 Jul 1994 15:49:14 -0500
  5. Organization: Sterling Software
  6. Sender: kent@sparky.sterling.com
  7. Approved: kent@sparky.sterling.com
  8. Message-ID: <2vn2ga$9bv@sparky.sterling.com>
  9. X-Md4-Signature: 70f5bf5b823fe593dcd88b8829372ce4
  10.  
  11. Submitted-by: jrs@world.std.com (Rick Sladkey)
  12. Posting-number: Volume 43, Issue 79
  13. Archive-name: strace/part05
  14. Environment: sunos, linux, svr4, solaris
  15.  
  16. #! /bin/sh
  17. # This is a shell archive.  Remove anything before this line, then feed it
  18. # into a shell via "sh file" or similar.  To overwrite existing files,
  19. # type "sh file -c".
  20. # Contents:  strace-3.0/signal.c strace-3.0/sunos4/ioctlent.sh
  21. #   strace-3.0/svr4/ioctlent.h strace-3.0/svr4/syscallent.h
  22. #   strace-3.0/test/sig.c
  23. # Wrapped by kent@sparky on Sat Jul  9 15:42:56 1994
  24. PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin:$PATH ; export PATH
  25. echo If this archive is complete, you will see the following message:
  26. echo '          "shar: End of archive 5 (of 10)."'
  27. if test -f 'strace-3.0/signal.c' -a "${1}" != "-c" ; then 
  28.   echo shar: Will not clobber existing file \"'strace-3.0/signal.c'\"
  29. else
  30.   echo shar: Extracting \"'strace-3.0/signal.c'\" \(16926 characters\)
  31.   sed "s/^X//" >'strace-3.0/signal.c' <<'END_OF_FILE'
  32. X/*
  33. X * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
  34. X * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
  35. X * Copyright (c) 1993, 1994 Rick Sladkey <jrs@world.std.com>
  36. X * All rights reserved.
  37. X *
  38. X * Redistribution and use in source and binary forms, with or without
  39. X * modification, are permitted provided that the following conditions
  40. X * are met:
  41. X * 1. Redistributions of source code must retain the above copyright
  42. X *    notice, this list of conditions and the following disclaimer.
  43. X * 2. Redistributions in binary form must reproduce the above copyright
  44. X *    notice, this list of conditions and the following disclaimer in the
  45. X *    documentation and/or other materials provided with the distribution.
  46. X * 3. All advertising materials mentioning features or use of this software
  47. X *    must display the following acknowledgement:
  48. X *      This product includes software developed by Paul Kranenburg,
  49. X *      Branko Lankester and Rick Sladkey.
  50. X * 4. The name of the author may not be used to endorse or promote products
  51. X *    derived from this software without specific prior written permission.
  52. X *
  53. X * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
  54. X * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  55. X * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  56. X * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
  57. X * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  58. X * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  59. X * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  60. X * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  61. X * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  62. X * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  63. X *
  64. X *    signal.c,v 2.26 1994/03/21 05:45:36 jrs Exp
  65. X */
  66. X
  67. X#include "defs.h"
  68. X
  69. X#include <signal.h>
  70. X#include <sys/user.h>
  71. X#include <fcntl.h>
  72. X
  73. X#ifdef SVR4
  74. X#include <sys/ucontext.h>
  75. X#endif /* SVR4 */
  76. X
  77. Xchar *signalent[] = {
  78. X#ifdef LINUX
  79. X    "SIGNULL",    /* 0 */
  80. X    "SIGHUP",    /* 1 */
  81. X    "SIGINT",    /* 2 */
  82. X    "SIGQUIT",    /* 3 */
  83. X    "SIGILL",    /* 4 */
  84. X    "SIGTRAP",    /* 5 */
  85. X    "SIGABRT",    /* 6 */
  86. X    "SIGUNUSED",    /* 7 */
  87. X    "SIGFPE",    /* 8 */
  88. X    "SIGKILL",    /* 9 */
  89. X    "SIGUSR1",    /* 10 */
  90. X    "SIGSEGV",    /* 11 */
  91. X    "SIGUSR2",    /* 12 */
  92. X    "SIGPIPE",    /* 13 */
  93. X    "SIGALRM",    /* 14 */
  94. X    "SIGTERM",    /* 15 */
  95. X    "SIGSTKFLT",    /* 16 */
  96. X    "SIGCHLD",    /* 17 */
  97. X    "SIGCONT",    /* 18 */
  98. X    "SIGSTOP",    /* 19 */
  99. X    "SIGTSTP",    /* 20 */
  100. X    "SIGTTIN",    /* 21 */
  101. X    "SIGTTOU",    /* 22 */
  102. X    "SIGIO",    /* 23 */
  103. X    "SIGXCPU",    /* 24 */
  104. X    "SIGXFSZ",    /* 25 */
  105. X    "SIGVTALRM",    /* 26 */
  106. X    "SIGPROF",    /* 27 */
  107. X    "SIGWINCH",    /* 28 */
  108. X    "SIGLOST",    /* 29 */
  109. X    "SIG30",    /* 30 */
  110. X    "SIG31",    /* 31 */
  111. X    "SIG32",    /* 32 */
  112. X#endif /* LINUX */
  113. X#ifdef SUNOS4
  114. X    "SIGNULL",    /* 0 */
  115. X    "SIGHUP",    /* 1 */
  116. X    "SIGINT",    /* 2 */
  117. X    "SIGQUIT",    /* 3 */
  118. X    "SIGILL",    /* 4 */
  119. X    "SIGTRAP",    /* 5 */
  120. X    "SIGIOT",    /* 6 */
  121. X    "SIGEMT",    /* 7 */
  122. X    "SIGFPE",    /* 8 */
  123. X    "SIGKILL",    /* 9 */
  124. X    "SIGBUS",    /* 10 */
  125. X    "SIGSEGV",    /* 11 */
  126. X    "SIGSYS",    /* 12 */
  127. X    "SIGPIPE",    /* 13 */
  128. X    "SIGALRM",    /* 14 */
  129. X    "SIGTERM",    /* 15 */
  130. X    "SIGURG",    /* 16 */
  131. X    "SIGSTOP",    /* 17 */
  132. X    "SIGTSTP",    /* 18 */
  133. X    "SIGCONT",    /* 19 */
  134. X    "SIGCHLD",    /* 20 */
  135. X    "SIGTTIN",    /* 21 */
  136. X    "SIGTTOU",    /* 22 */
  137. X    "SIGIO",    /* 23 */
  138. X    "SIGXCPU",    /* 24 */
  139. X    "SIGXFSZ",    /* 25 */
  140. X    "SIGVTALRM",    /* 26 */
  141. X    "SIGPROF",    /* 27 */
  142. X    "SIGWINCH",    /* 28 */
  143. X    "SIGLOST",    /* 29 */
  144. X    "SIGUSR1",    /* 30 */
  145. X    "SIGUSR2",    /* 31 */
  146. X#endif /* SUNOS4 */
  147. X#ifdef SVR4
  148. X    "SIGNULL",    /* 0 */
  149. X    "SIGHUP",    /* 1 */
  150. X    "SIGINT",    /* 2 */
  151. X    "SIGQUIT",    /* 3 */
  152. X    "SIGILL",    /* 4 */
  153. X    "SIGTRAP",    /* 5 */
  154. X    "SIGABRT",    /* 6 */
  155. X    "SIGEMT",    /* 7 */
  156. X    "SIGFPE",    /* 8 */
  157. X    "SIGKILL",    /* 9 */
  158. X    "SIGBUS",    /* 10 */
  159. X    "SIGSEGV",    /* 11 */
  160. X    "SIGSYS",    /* 12 */
  161. X    "SIGPIPE",    /* 13 */
  162. X    "SIGALRM",    /* 14 */
  163. X    "SIGTERM",    /* 15 */
  164. X    "SIGUSR1",    /* 16 */
  165. X    "SIGUSR2",    /* 17 */
  166. X    "SIGCHLD",    /* 18 */
  167. X    "SIGPWR",    /* 19 */
  168. X    "SIGWINCH",    /* 20 */
  169. X    "SIGURG",    /* 21 */
  170. X    "SIGPOLL",    /* 22 */
  171. X    "SIGSTOP",    /* 23 */
  172. X    "SIGTSTP",    /* 24 */
  173. X    "SIGCONT",    /* 25 */
  174. X    "SIGTTIN",    /* 26 */
  175. X    "SIGTTOU",    /* 27 */
  176. X    "SIGVTALRM",    /* 28 */
  177. X    "SIGPROF",    /* 29 */
  178. X    "SIGXCPU",    /* 30 */
  179. X    "SIGXFSZ",    /* 31 */
  180. X    "SIGWAITING",    /* 32 */
  181. X    "SIGLWP",    /* 33 */
  182. X    "SIGFREEZE",    /* 34 */
  183. X    "SIGTHAW",    /* 35 */
  184. X    "SIGRT1",    /* 36 */
  185. X    "SIGRT2",    /* 37 */
  186. X    "SIGRT3",    /* 38 */
  187. X    "SIGRT4",    /* 39 */
  188. X    "SIGRT5",    /* 40 */
  189. X    "SIGRT6",    /* 41 */
  190. X    "SIGRT7",    /* 42 */
  191. X    "SIGRT8",    /* 43 */
  192. X    "SIG44",    /* 44 */
  193. X#endif /* SVR4 */
  194. X};
  195. Xint nsignals = sizeof signalent / sizeof signalent[0];
  196. X
  197. X#ifdef SUNOS4
  198. X
  199. Xstatic struct xlat sigvec_flags[] = {
  200. X    { SV_ONSTACK,    "SV_ONSTACK"    },
  201. X    { SV_INTERRUPT,    "SV_INTERRUPT"    },
  202. X    { SV_RESETHAND,    "SV_RESETHAND"    },
  203. X    { SA_NOCLDSTOP,    "SA_NOCLDSTOP"    },
  204. X    { 0,        NULL        },
  205. X};
  206. X
  207. X#endif /* SUNOS4 */
  208. X
  209. X#ifdef HAVE_SIGACTION
  210. X
  211. Xstatic struct xlat sigact_flags[] = {
  212. X#ifdef SA_STACK
  213. X    { SA_STACK,    "SA_STACK"    },
  214. X#endif
  215. X#ifdef SA_RESTART
  216. X    { SA_RESTART,    "SA_RESTART"    },
  217. X#endif
  218. X#ifdef SA_INTERRUPT
  219. X    { SA_INTERRUPT,    "SA_INTERRUPT"    },
  220. X#endif
  221. X#ifdef SA_NOMASK
  222. X    { SA_NOMASK,    "SA_NOMASK"    },
  223. X#endif
  224. X#ifdef SA_ONESHOT
  225. X    { SA_ONESHOT,    "SA_ONESHOT"    },
  226. X#endif
  227. X#ifdef SA_SIGINFO
  228. X    { SA_SIGINFO,    "SA_SIGINFO"    },
  229. X#endif
  230. X#ifdef SA_RESETHAND
  231. X    { SA_RESETHAND,    "SA_RESETHAND"    },
  232. X#endif
  233. X#ifdef SA_ONSTACK
  234. X    { SA_ONSTACK,    "SA_ONSTACK"    },
  235. X#endif
  236. X#ifdef SA_NODEFER
  237. X    { SA_NODEFER,    "SA_NODEFER"    },
  238. X#endif
  239. X#ifdef SA_NOCLDSTOP
  240. X    { SA_NOCLDSTOP,    "SA_NOCLDSTOP"    },
  241. X#endif
  242. X#ifdef SA_NOCLDWAIT
  243. X    { SA_NOCLDWAIT,    "SA_NOCLDWAIT"    },
  244. X#endif
  245. X    { 0,        NULL        },
  246. X};
  247. X
  248. Xstatic struct xlat sigprocmaskcmds[] = {
  249. X    { SIG_BLOCK,    "SIG_BLOCK"    },
  250. X    { SIG_UNBLOCK,    "SIG_UNBLOCK"    },
  251. X    { SIG_SETMASK,    "SIG_SETMASK"    },
  252. X    { 0,        NULL        },
  253. X};
  254. X
  255. X#endif /* HAVE_SIGACTION */
  256. X
  257. X#ifdef LINUX
  258. X
  259. Xstruct sigcontext_struct {
  260. X    unsigned short gs, __gsh;
  261. X    unsigned short fs, __fsh;
  262. X    unsigned short es, __esh;
  263. X    unsigned short ds, __dsh;
  264. X    unsigned long edi;
  265. X    unsigned long esi;
  266. X    unsigned long ebp;
  267. X    unsigned long esp;
  268. X    unsigned long ebx;
  269. X    unsigned long edx;
  270. X    unsigned long ecx;
  271. X    unsigned long eax;
  272. X    unsigned long trapno;
  273. X    unsigned long err;
  274. X    unsigned long eip;
  275. X    unsigned short cs, __csh;
  276. X    unsigned long eflags;
  277. X    unsigned long esp_at_signal;
  278. X    unsigned short ss, __ssh;
  279. X    unsigned long i387;
  280. X    unsigned long oldmask;
  281. X    unsigned long cr2;
  282. X};
  283. X
  284. X#endif /* LINUX */
  285. X
  286. Xstatic char *
  287. Xsprintsigmask(s, mask)
  288. Xchar *s;
  289. Xsigset_t mask;
  290. X{
  291. X    int i, nsigs;
  292. X    char *format;
  293. X    static char outstr[256];
  294. X
  295. X    strcpy(outstr, s);
  296. X    s = outstr + strlen(outstr);
  297. X    nsigs = 0;
  298. X    for (i = 1; i <= NSIG; i++) {
  299. X        if (sigismember(&mask, i) == 1)
  300. X            nsigs++;
  301. X    }
  302. X    if (nsigs >= NSIG * 2 / 3) {
  303. X        *s++ = '~';
  304. X        for (i = 1; i <= NSIG; i++) {
  305. X            switch (sigismember(&mask, i)) {
  306. X            case 1:
  307. X                sigdelset(&mask, i);
  308. X                break;
  309. X            case 0:
  310. X                sigaddset(&mask, i);
  311. X                break;
  312. X            }
  313. X        }
  314. X    }
  315. X    format = "%s";
  316. X    *s++ = '[';
  317. X    for (i = 1; i <= NSIG; i++) {
  318. X        if (sigismember(&mask, i) == 1) {
  319. X            sprintf(s, format, signalent[i] + 3); s += strlen(s);
  320. X            format = " %s";
  321. X        }
  322. X    }
  323. X    *s++ = ']';
  324. X    *s = '\0';
  325. X    return outstr;
  326. X}
  327. X
  328. Xstatic void
  329. Xprintsigmask(mask)
  330. Xsigset_t mask;
  331. X{
  332. X    tprintf("%s", sprintsigmask("", mask));
  333. X}
  334. X
  335. Xvoid
  336. Xprintsignal(nr)
  337. Xint nr;
  338. X{
  339. X    if (nr > 0 && nr < nsignals)
  340. X        tprintf("%s", signalent[nr]);
  341. X    else
  342. X        tprintf("%d", nr);
  343. X}
  344. X
  345. X/*
  346. X * Check process TCP for the disposition of signal SIG.
  347. X * Return 1 if the process would somehow manage to  survive signal SIG,
  348. X * else return 0.  This routine will never be called with SIGKILL.
  349. X */
  350. Xint
  351. Xsigishandled(tcp, sig)
  352. Xstruct tcb *tcp;
  353. Xint sig;
  354. X{
  355. X#ifdef LINUX
  356. X    int sfd;
  357. X    char sname[32];
  358. X    char buf[1024];
  359. X    char *s;
  360. X    int i;
  361. X    int signalled, blocked, ignored, caught;
  362. X
  363. X    /* This is incredibly costly but it's worth it. */
  364. X    sprintf(sname, "/proc/%d/stat", tcp->pid);
  365. X    if ((sfd = open(sname, O_RDONLY)) == -1) {
  366. X        perror(sname);
  367. X        return 1;
  368. X    }
  369. X    i = read(sfd, buf, 1024);
  370. X    buf[i] = '\0';
  371. X    close(sfd);
  372. X    /*
  373. X     * Skip the extraneous fields. This loses if the
  374. X     * command name has any spaces in it.  So be it.
  375. X     */
  376. X    for (i = 0, s = buf; i < 30; i++) {
  377. X        while (*++s != ' ') {
  378. X            if (!*s)
  379. X                break;
  380. X        }
  381. X    }
  382. X    if (sscanf(s, "%d%d%d%d",
  383. X           &signalled, &blocked, &ignored, &caught) != 4) {
  384. X        fprintf(stderr, "/proc/pid/stat format error\n");
  385. X        return 1;
  386. X    } 
  387. X#ifdef DEBUG
  388. X    fprintf(stderr, "sigs: %08x %08x %08x %08x\n",
  389. X        signalled, blocked, ignored, caught);
  390. X#endif
  391. X    if ((ignored & sigmask(sig)) || (caught & sigmask(sig)))
  392. X        return 1;
  393. X#endif /* LINUX */
  394. X
  395. X#ifdef SUNOS4
  396. X    void (*u_signal)();
  397. X
  398. X    if (upeek(tcp->pid, uoff(u_signal[0]) + sig*sizeof(u_signal),
  399. X        (int *) &u_signal) < 0) {
  400. X        return 0;
  401. X    }
  402. X    if (u_signal != SIG_DFL)
  403. X        return 1;
  404. X#endif /* SUNOS4 */
  405. X
  406. X#ifdef SVR4
  407. X    /*
  408. X     * Since procfs doesn't interfere with wait I think it is safe
  409. X     * to punt on this question.  If not, the information is there.
  410. X     */
  411. X    return 1;
  412. X#endif /* SVR4 */
  413. X
  414. X    switch (sig) {
  415. X    case SIGCONT:
  416. X    case SIGSTOP:
  417. X    case SIGTSTP:
  418. X    case SIGTTIN:
  419. X    case SIGTTOU:
  420. X    case SIGCHLD:
  421. X    case SIGIO:
  422. X#if defined(SIGURG) && SIGURG != SIGIO
  423. X    case SIGURG:
  424. X#endif
  425. X    case SIGWINCH:
  426. X        /* Gloria Gaynor says ... */
  427. X        return 1;
  428. X    default:
  429. X        break;
  430. X    }
  431. X    return 0;
  432. X}
  433. X
  434. X#ifdef SUNOS4
  435. X
  436. Xint
  437. Xsys_sigvec(tcp)
  438. Xstruct tcb *tcp;
  439. X{
  440. X    struct sigvec sv;
  441. X    int addr;
  442. X
  443. X    if (entering(tcp)) {
  444. X        printsignal(tcp->u_arg[0]);
  445. X        tprintf(", ");
  446. X        addr = tcp->u_arg[1];
  447. X    } else {
  448. X        addr = tcp->u_arg[2];
  449. X    }
  450. X    if (addr == 0)
  451. X        tprintf("NULL");
  452. X    else if (!verbose(tcp))
  453. X        tprintf("%#x", addr);
  454. X    else if (umove(tcp, addr, &sv) < 0)
  455. X        tprintf("{...}");
  456. X    else {
  457. X        switch ((int) sv.sv_handler) {
  458. X        case (int) SIG_ERR:
  459. X            tprintf("{SIG_ERR}");
  460. X            break;
  461. X        case (int) SIG_DFL:
  462. X            tprintf("{SIG_DFL}");
  463. X            break;
  464. X        case (int) SIG_IGN:
  465. X            if (tcp->u_arg[0] == SIGTRAP) {
  466. X                tcp->flags |= TCB_SIGTRAPPED;
  467. X                kill(tcp->pid, SIGSTOP);
  468. X            }
  469. X            tprintf("{SIG_IGN}");
  470. X            break;
  471. X        case (int) SIG_HOLD:
  472. X            if (tcp->u_arg[0] == SIGTRAP) {
  473. X                tcp->flags |= TCB_SIGTRAPPED;
  474. X                kill(tcp->pid, SIGSTOP);
  475. X            }
  476. X            tprintf("SIG_HOLD");
  477. X            break;
  478. X        default:
  479. X            if (tcp->u_arg[0] == SIGTRAP) {
  480. X                tcp->flags |= TCB_SIGTRAPPED;
  481. X                kill(tcp->pid, SIGSTOP);
  482. X            }
  483. X            tprintf("{%#lx, ", (unsigned long) sv.sv_handler);
  484. X            printsigmask(sv.sv_mask);
  485. X            tprintf(", ");
  486. X            if (!printflags(sigvec_flags, sv.sv_flags))
  487. X                tprintf("0");
  488. X            tprintf("}");
  489. X        }
  490. X    }
  491. X    if (entering(tcp))
  492. X        tprintf(", ");
  493. X    return 0;
  494. X}
  495. X
  496. Xint
  497. Xsys_sigblock(tcp)
  498. Xstruct tcb *tcp;
  499. X{
  500. X    return sys_sigsetmask(tcp);
  501. X}
  502. X
  503. Xint
  504. Xsys_sigpause(tcp)
  505. Xstruct tcb *tcp;
  506. X{
  507. X    if (entering(tcp))
  508. X        printsigmask(tcp->u_arg[0]);
  509. X    return 0;
  510. X}
  511. X
  512. Xint
  513. Xsys_sigstack(tcp)
  514. Xstruct tcb *tcp;
  515. X{
  516. X    struct sigstack ss;
  517. X    int addr;
  518. X
  519. X    if (entering(tcp))
  520. X        addr = tcp->u_arg[0];
  521. X    else
  522. X        addr = tcp->u_arg[1];
  523. X    if (addr == 0)
  524. X        tprintf("NULL");
  525. X    else if (umove(tcp, addr, &ss) < 0)
  526. X        tprintf("%#x", addr);
  527. X    else {
  528. X        tprintf("{ss_sp %#lx ", (unsigned long) ss.ss_sp);
  529. X        tprintf("ss_onstack %s}", ss.ss_onstack ? "YES" : "NO");
  530. X    }
  531. X    if (entering(tcp))
  532. X        tprintf(", ");
  533. X    return 0;
  534. X}
  535. X
  536. Xint
  537. Xsys_sigcleanup(tcp)
  538. Xstruct tcb *tcp;
  539. X{
  540. X    return 0;
  541. X}
  542. X
  543. X#endif /* SUNOS4 */
  544. X
  545. X#ifndef SVR4
  546. X
  547. Xint
  548. Xsys_sigsetmask(tcp)
  549. Xstruct tcb *tcp;
  550. X{
  551. X    if (entering(tcp)) {
  552. X        printsigmask(tcp->u_arg[0]);
  553. X        if ((tcp->u_arg[0] & sigmask(SIGTRAP))) {
  554. X            /* Mark attempt to block SIGTRAP */
  555. X            tcp->flags |= TCB_SIGTRAPPED;
  556. X            /* Send unblockable signal */
  557. X            kill(tcp->pid, SIGSTOP);
  558. X        }
  559. X    }
  560. X    else if (!syserror(tcp)) {
  561. X        tcp->auxstr = sprintsigmask("old mask ", tcp->u_rval);
  562. X        return RVAL_HEX | RVAL_STR;
  563. X    }
  564. X    return 0;
  565. X}
  566. X
  567. X#endif /* !SVR4 */
  568. X
  569. X#ifdef HAVE_SIGACTION
  570. X
  571. Xint
  572. Xsys_sigaction(tcp)
  573. Xstruct tcb *tcp;
  574. X{
  575. X    struct sigaction sa;
  576. X    int addr;
  577. X
  578. X    if (entering(tcp)) {
  579. X        printsignal(tcp->u_arg[0]);
  580. X        tprintf(", ");
  581. X        addr = tcp->u_arg[1];
  582. X    } else
  583. X        addr = tcp->u_arg[2];
  584. X    if (addr == 0)
  585. X        tprintf("NULL");
  586. X    else if (!verbose(tcp))
  587. X        tprintf("%#x", addr);
  588. X    else if (umove(tcp, addr, &sa) < 0)
  589. X        tprintf("{...}");
  590. X    else {
  591. X        switch ((int) sa.sa_handler) {
  592. X        case (int) SIG_ERR:
  593. X            tprintf("{SIG_ERR}");
  594. X            break;
  595. X        case (int) SIG_DFL:
  596. X            tprintf("{SIG_DFL}");
  597. X            break;
  598. X        case (int) SIG_IGN:
  599. X#ifndef SVR4
  600. X            if (tcp->u_arg[0] == SIGTRAP) {
  601. X                tcp->flags |= TCB_SIGTRAPPED;
  602. X                kill(tcp->pid, SIGSTOP);
  603. X            }
  604. X#endif /* !SVR4 */
  605. X            tprintf("{SIG_IGN}");
  606. X            break;
  607. X        default:
  608. X#ifndef SVR4
  609. X            if (tcp->u_arg[0] == SIGTRAP) {
  610. X                tcp->flags |= TCB_SIGTRAPPED;
  611. X                kill(tcp->pid, SIGSTOP);
  612. X            }
  613. X#endif /* !SVR4 */
  614. X            tprintf("{%#x, ", (int) sa.sa_handler);
  615. X            printsigmask(sa.sa_mask);
  616. X            tprintf(", ");
  617. X            if (!printflags(sigact_flags, sa.sa_flags))
  618. X                tprintf("0");
  619. X            tprintf("}");
  620. X        }
  621. X    }
  622. X    if (entering(tcp))
  623. X        tprintf(", ");
  624. X    return 0;
  625. X}
  626. X
  627. Xint
  628. Xsys_signal(tcp)
  629. Xstruct tcb *tcp;
  630. X{
  631. X    if (entering(tcp)) {
  632. X        printsignal(tcp->u_arg[0]);
  633. X        switch (tcp->u_arg[1]) {
  634. X        case (int) SIG_ERR:
  635. X            tprintf("SIG_ERR");
  636. X            break;
  637. X        case (int) SIG_DFL:
  638. X            tprintf("SIG_DFL");
  639. X            break;
  640. X        case (int) SIG_IGN:
  641. X#ifndef SVR4
  642. X            if (tcp->u_arg[0] == SIGTRAP) {
  643. X                tcp->flags |= TCB_SIGTRAPPED;
  644. X                kill(tcp->pid, SIGSTOP);
  645. X            }
  646. X#endif /* !SVR4 */
  647. X            tprintf("SIG_IGN");
  648. X            break;
  649. X        default:
  650. X#ifndef SVR4
  651. X            if (tcp->u_arg[0] == SIGTRAP) {
  652. X                tcp->flags |= TCB_SIGTRAPPED;
  653. X                kill(tcp->pid, SIGSTOP);
  654. X            }
  655. X#endif /* !SVR4 */
  656. X            tprintf("%#x", tcp->u_arg[1]);
  657. X        }
  658. X    }
  659. X    return 0;
  660. X}
  661. X
  662. X#endif /* HAVE_SIGACTION */
  663. X
  664. X#ifdef LINUX
  665. X
  666. Xint
  667. Xsys_sigreturn(tcp)
  668. Xstruct tcb *tcp;
  669. X{
  670. X    int esp;
  671. X    struct sigcontext_struct sc;
  672. X
  673. X    if (entering(tcp)) {
  674. X        tcp->u_arg[0] = 0;
  675. X        if (upeek(tcp->pid, 4*UESP, &esp) < 0)
  676. X            return 0;
  677. X        if (umove(tcp, esp, &sc) < 0)
  678. X            return 0;
  679. X        tcp->u_arg[0] = 1;
  680. X        tcp->u_arg[1] = sc.oldmask;
  681. X    }
  682. X    else {
  683. X        tcp->u_rval = tcp->u_error = 0;
  684. X        if (tcp->u_arg[0] == 0)
  685. X            return 0;
  686. X        tcp->auxstr = sprintsigmask("mask now ", tcp->u_arg[1]);
  687. X        return RVAL_NONE | RVAL_STR;
  688. X    }
  689. X    return 0;
  690. X}
  691. X
  692. Xint
  693. Xsys_siggetmask(tcp)
  694. Xstruct tcb *tcp;
  695. X{
  696. X    if (exiting(tcp)) {
  697. X        tcp->auxstr = sprintsigmask("mask ", tcp->u_rval);
  698. X    }
  699. X    return RVAL_HEX | RVAL_STR;
  700. X}
  701. X
  702. Xint
  703. Xsys_sigsuspend(tcp)
  704. Xstruct tcb *tcp;
  705. X{
  706. X    if (entering(tcp)) {
  707. X#if 0
  708. X        /* first two are not really arguments, but print them anyway */
  709. X        /* nevermind, they are an anachronism now, too bad... */
  710. X        tprintf("%d, %#x, ", tcp->u_arg[0], tcp->u_arg[1]);
  711. X#endif
  712. X        printsigmask(tcp->u_arg[2]);
  713. X    }
  714. X    return 0;
  715. X}
  716. X
  717. X#endif /* LINUX */
  718. X
  719. X#ifdef SVR4
  720. X
  721. Xint
  722. Xsys_sigsuspend(tcp)
  723. Xstruct tcb *tcp;
  724. X{
  725. X    sigset_t sigset;
  726. X
  727. X    if (entering(tcp)) {
  728. X        if (umove(tcp, tcp->u_arg[0], &sigset) < 0)
  729. X            tprintf("[?]");
  730. X        else
  731. X            printsigmask(sigset);
  732. X    }
  733. X    return 0;
  734. X}
  735. Xstatic struct xlat ucontext_flags[] = {
  736. X    { UC_SIGMASK,    "UC_SIGMASK"    },
  737. X    { UC_STACK,    "UC_STACK"    },
  738. X    { UC_CPU,    "UC_CPU"    },
  739. X#ifdef UC_FPU
  740. X    { UC_FPU,    "UC_FPU"    },
  741. X#endif
  742. X#ifdef UC_INTR
  743. X    { UC_INTR,    "UC_INTR"    },
  744. X#endif
  745. X    { 0,        NULL        },
  746. X};
  747. X
  748. Xstatic struct xlat sigaltstack_flags[] = {
  749. X    { SS_ONSTACK,    "SS_ONSTACK"    },
  750. X    { SS_DISABLE,    "SS_DISABLE"    },
  751. X    { 0,        NULL        },
  752. X};
  753. X
  754. Xstatic void
  755. Xprintcontext(tcp, ucp)
  756. Xstruct tcb *tcp;
  757. Xucontext_t *ucp;
  758. X{
  759. X    tprintf("{");
  760. X    if (!abbrev(tcp)) {
  761. X        tprintf("uc_flags=");
  762. X        if (!printflags(ucontext_flags, ucp->uc_flags))
  763. X            tprintf("0");
  764. X        tprintf(", uc_link=%#lx, ", (unsigned long) ucp->uc_link);
  765. X    }
  766. X    tprintf("uc_sigmask=");
  767. X    printsigmask(ucp->uc_sigmask);
  768. X    if (!abbrev(tcp)) {
  769. X        tprintf(", uc_stack={ss_sp=%#lx, ss_size=%d, ss_flags=",
  770. X            (unsigned long) ucp->uc_stack.ss_sp,
  771. X            ucp->uc_stack.ss_size);
  772. X        if (!printflags(sigaltstack_flags, ucp->uc_stack.ss_flags))
  773. X            tprintf("0");
  774. X        tprintf("}");
  775. X    }
  776. X    tprintf(", ...}");
  777. X}
  778. X
  779. Xint
  780. Xsys_getcontext(tcp)
  781. Xstruct tcb *tcp;
  782. X{
  783. X    ucontext_t uc;
  784. X
  785. X    if (entering(tcp)) {
  786. X        if (!tcp->u_arg[0])
  787. X            tprintf("NULL");
  788. X        else if (umove(tcp, tcp->u_arg[0], &uc) < 0)
  789. X            tprintf("{...}");
  790. X        else
  791. X            printcontext(tcp, &uc);
  792. X    }
  793. X    return 0;
  794. X}
  795. X
  796. Xint
  797. Xsys_setcontext(tcp)
  798. Xstruct tcb *tcp;
  799. X{
  800. X    ucontext_t uc;
  801. X
  802. X    if (entering(tcp)) {
  803. X        if (!tcp->u_arg[0])
  804. X            tprintf("NULL");
  805. X        else if (umove(tcp, tcp->u_arg[0], &uc) < 0)
  806. X            tprintf("{...}");
  807. X        else
  808. X            printcontext(tcp, &uc);
  809. X    }
  810. X    else {
  811. X        tcp->u_rval = tcp->u_error = 0;
  812. X        if (tcp->u_arg[0] == 0)
  813. X            return 0;
  814. X        return RVAL_NONE;
  815. X    }
  816. X    return 0;
  817. X}
  818. X
  819. X#endif /* SVR4 */
  820. X
  821. X#ifdef HAVE_SIGACTION
  822. X
  823. Xint
  824. Xsys_sigprocmask(tcp)
  825. Xstruct tcb *tcp;
  826. X{
  827. X    sigset_t sigset;
  828. X
  829. X    if (entering(tcp)) {
  830. X#ifdef SVR4
  831. X        if (tcp->u_arg[0] == 0)
  832. X            tprintf("0");
  833. X        else
  834. X#endif /* SVR4 */
  835. X        printxval(sigprocmaskcmds, tcp->u_arg[0], "SIG_???");
  836. X        tprintf(", ");
  837. X        if (!tcp->u_arg[1])
  838. X            tprintf("NULL, ");
  839. X        else if (umove(tcp, tcp->u_arg[1], &sigset) < 0)
  840. X            tprintf("%#x, ", tcp->u_arg[1]);
  841. X        else {
  842. X            printsigmask(sigset);
  843. X            tprintf(", ");
  844. X        }
  845. X    }
  846. X    else {
  847. X        if (!tcp->u_arg[2])
  848. X            tprintf("NULL");
  849. X        else if (syserror(tcp))
  850. X            tprintf("%#x", tcp->u_arg[2]);
  851. X        else if (umove(tcp, tcp->u_arg[2], &sigset) < 0)
  852. X            tprintf("[?]");
  853. X        else
  854. X            printsigmask(sigset);
  855. X    }
  856. X    return 0;
  857. X}
  858. X
  859. X#endif /* HAVE_SIGACTION */
  860. X
  861. Xint
  862. Xsys_kill(tcp)
  863. Xstruct tcb *tcp;
  864. X{
  865. X    if (entering(tcp)) {
  866. X        int sig = tcp->u_arg[1];
  867. X
  868. X        if (sig >= 0 && sig < NSIG)
  869. X            tprintf("%d, %s", tcp->u_arg[0], signalent[sig]);
  870. X        else
  871. X            tprintf("%d, %d", tcp->u_arg[0], sig);
  872. X    }
  873. X    return 0;
  874. X}
  875. X
  876. Xint
  877. Xsys_killpg(tcp)
  878. Xstruct tcb *tcp;
  879. X{
  880. X    return sys_kill(tcp);
  881. X}
  882. X
  883. Xint
  884. Xsys_sigpending(tcp)
  885. Xstruct tcb *tcp;
  886. X{
  887. X    sigset_t sigset;
  888. X
  889. X    if (exiting(tcp)) {
  890. X        if (syserror(tcp))
  891. X            tprintf("%#x", tcp->u_arg[0]);
  892. X        else if (umove(tcp, tcp->u_arg[0], &sigset) < 0)
  893. X            tprintf("[?]");
  894. X        else
  895. X            printsigmask(sigset);
  896. X    }
  897. X    return 0;
  898. X}
  899. END_OF_FILE
  900.   if test 16926 -ne `wc -c <'strace-3.0/signal.c'`; then
  901.     echo shar: \"'strace-3.0/signal.c'\" unpacked with wrong size!
  902.   fi
  903.   # end of 'strace-3.0/signal.c'
  904. fi
  905. if test -f 'strace-3.0/sunos4/ioctlent.sh' -a "${1}" != "-c" ; then 
  906.   echo shar: Will not clobber existing file \"'strace-3.0/sunos4/ioctlent.sh'\"
  907. else
  908.   echo shar: Extracting \"'strace-3.0/sunos4/ioctlent.sh'\" \(3798 characters\)
  909.   sed "s/^X//" >'strace-3.0/sunos4/ioctlent.sh' <<'END_OF_FILE'
  910. X#!/bin/sh
  911. X# Copyright (c) 1993, 1994 Rick Sladkey <jrs@world.std.com>
  912. X# All rights reserved.
  913. X#
  914. X# Redistribution and use in source and binary forms, with or without
  915. X# modification, are permitted provided that the following conditions
  916. X# are met:
  917. X# 1. Redistributions of source code must retain the above copyright
  918. X#    notice, this list of conditions and the following disclaimer.
  919. X# 2. Redistributions in binary form must reproduce the above copyright
  920. X#    notice, this list of conditions and the following disclaimer in the
  921. X#    documentation and/or other materials provided with the distribution.
  922. X# 3. All advertising materials mentioning features or use of this software
  923. X#    must display the following acknowledgement:
  924. X#      This product includes software developed by Paul Kranenburg,
  925. X#      Branko Lankester and Rick Sladkey.
  926. X# 4. The name of the author may not be used to endorse or promote products
  927. X#    derived from this software without specific prior written permission.
  928. X#
  929. X# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
  930. X# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  931. X# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  932. X# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
  933. X# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  934. X# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  935. X# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  936. X# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  937. X# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  938. X# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  939. X#
  940. X#    ioctlent.sh,v 2.2 1994/03/12 23:12:20 jrs Exp
  941. X
  942. Xif [ $# -ne 1 ]
  943. Xthen
  944. X    echo "usage: $0 include-directory" >&2
  945. X    exit 1
  946. Xfi
  947. X
  948. Xbad_defines='WINGETVALIDVALUES'
  949. X(
  950. X    cd $1
  951. X    find . -name '*.h' -print | sed 's/^\.\///' |
  952. X        xargs egrep '^[     ]*#[     ]*define[     ][     ]*[A-Z_][A-Za-z0-9_]*[     ][     ]*_IO[RW]?\(' /dev/null |
  953. X        sed 's/\(.*\):#[     ]*define[     ]*\([A-Z_][A-Za-z0-9_]*\)[     ]*\(_IO[^)]*)\)[     ]*\(.*\)/    { "\1",    "\2",    \2    },    \4/' |
  954. X    sort -u
  955. X) >ioctlent.tmp
  956. Xecho "\
  957. X#include <sys/types.h>
  958. X#define KERNEL
  959. X#include <stdio.h>
  960. X#include <strings.h>
  961. X#include <fcntl.h>
  962. X#include <sys/types.h>
  963. X#include <sys/time.h>
  964. X#include <sys/ioctl.h>
  965. X#include <sys/socket.h>
  966. X#include <sys/des.h>
  967. X#include <sys/mtio.h>
  968. X#include <sys/stropts.h>
  969. X#include <sys/stream.h>
  970. X#include <sys/vcmd.h>
  971. X
  972. X#include <net/if.h>
  973. X#include <net/if_arp.h>
  974. X#include <net/route.h>
  975. X#include <net/nit.h>
  976. X#include <net/nit_if.h>
  977. X#include <net/nit_pf.h>
  978. X#include <net/nit_buf.h>
  979. X#include <net/packetfilt.h>
  980. X#include <netinet/in.h>
  981. X#include <netinet/in_systm.h>
  982. X#include <netinet/in_var.h>
  983. X#include <netinet/ip.h>
  984. X#include <netinet/ip_icmp.h>
  985. X#include <netinet/if_ether.h>
  986. X
  987. X#include <scsi/impl/uscsi.h>
  988. X#include <scsi/scsi.h>
  989. X#include <scsi/targets/srdef.h>
  990. X#include <scsi/targets/stdef.h>
  991. X#if 0
  992. X#include <scsi/targets/sddef.h>
  993. X#endif
  994. X
  995. X#include <sun/audioio.h>
  996. X#include <sun/fbio.h>
  997. X#include <sun/gpio.h>
  998. X#include <sun/ndio.h>
  999. X#include <sun/tvio.h>
  1000. X#include <sun/mem.h>
  1001. X#include <sun/sqz.h>
  1002. X#include <sun/vddrv.h>
  1003. X#include <sun/isdnio.h>
  1004. X
  1005. X#include <machine/reg.h>
  1006. X
  1007. X#include <sundev/kbio.h>
  1008. X#include <sundev/msio.h>
  1009. X#include <sundev/fdreg.h>
  1010. X#include <sundev/ppreg.h>
  1011. X#include <sundev/openpromio.h>
  1012. X#include <sundev/lightpenreg.h>
  1013. X
  1014. X#include <sunwindow/window_hs.h>
  1015. X#include <sunwindow/win_enum.h>
  1016. X#include <sunwindow/win_ioctl.h>
  1017. X
  1018. X#include <sbusdev/audiovar.h>
  1019. X#define AMD_CHIP
  1020. X#include <sbusdev/audio_79C30.h>
  1021. X#include <sbusdev/bpp_io.h>
  1022. X#include <sbusdev/gtreg.h>
  1023. X
  1024. X#include <sys/termio.h>
  1025. X"
  1026. Xecho "struct ioctlent ioctlent[] = {"
  1027. Xegrep -v "$bad_defines" ioctlent.tmp | awk '
  1028. X{
  1029. X    print "#ifdef " $4
  1030. X    print
  1031. X    print "#endif"
  1032. X}
  1033. X'
  1034. Xecho "};"
  1035. Xrm -f ioctlent.tmp
  1036. END_OF_FILE
  1037.   if test 3798 -ne `wc -c <'strace-3.0/sunos4/ioctlent.sh'`; then
  1038.     echo shar: \"'strace-3.0/sunos4/ioctlent.sh'\" unpacked with wrong size!
  1039.   fi
  1040.   # end of 'strace-3.0/sunos4/ioctlent.sh'
  1041. fi
  1042. if test -f 'strace-3.0/svr4/ioctlent.h' -a "${1}" != "-c" ; then 
  1043.   echo shar: Will not clobber existing file \"'strace-3.0/svr4/ioctlent.h'\"
  1044. else
  1045.   echo shar: Extracting \"'strace-3.0/svr4/ioctlent.h'\" \(16195 characters\)
  1046.   sed "s/^X//" >'strace-3.0/svr4/ioctlent.h' <<'END_OF_FILE'
  1047. X{"sys/dkio.h",    "DKIOCGGEOM",    0x401},
  1048. X{"sys/dkio.h",    "DKIOCSGEOM",    0x402},
  1049. X{"sys/dkio.h",    "DKIOCINFO",    0x403},
  1050. X{"sys/dkio.h",    "DKIOCSAPART",    0x404},
  1051. X{"sys/dkio.h",    "DKIOCGAPART",    0x405},
  1052. X{"sys/dkio.h",    "DKIOCEJECT",    0x406},
  1053. X{"sys/dkio.h",    "DKIOCLOCK",    0x407},
  1054. X{"sys/dkio.h",    "DKIOCUNLOCK",    0x408},
  1055. X{"sys/dkio.h",    "DKIOCGVTOC",    0x40b},
  1056. X{"sys/dkio.h",    "DKIOCSVTOC",    0x40c},
  1057. X{"sys/dkio.h",    "DKIOCSTATE",    0x40d},
  1058. X{"sys/fdio.h",    "FDIOGCHAR",    0x433},
  1059. X{"sys/fdio.h",    "FDIOSCHAR",    0x434},
  1060. X{"sys/fdio.h",    "FDEJECT",    0x435},
  1061. X{"sys/fdio.h",    "FDGETCHANGE",    0x436},
  1062. X{"sys/fdio.h",    "FDGETDRIVECHAR",    0x437},
  1063. X{"sys/fdio.h",    "FDSETDRIVECHAR",    0x438},
  1064. X{"sys/fdio.h",    "FDGETSEARCH",    0x439},
  1065. X{"sys/fdio.h",    "FDSETSEARCH",    0x43a},
  1066. X{"sys/fdio.h",    "FDIOCMD",    0x43b},
  1067. X{"sys/fdio.h",    "FDRAW",    0x446},
  1068. X{"sys/hdio.h",    "HDKIOCSTYPE",    0x465},
  1069. X{"sys/hdio.h",    "HDKIOCGTYPE",    0x466},
  1070. X{"sys/hdio.h",    "HDKIOCSBAD",    0x467},
  1071. X{"sys/hdio.h",    "HDKIOCGBAD",    0x468},
  1072. X{"sys/hdio.h",    "HDKIOCSCMD",    0x469},
  1073. X{"sys/hdio.h",    "HDKIOCGDIAG",    0x46a},
  1074. X{"sys/cdio.h",    "CDROMPAUSE",    0x497},
  1075. X{"sys/cdio.h",    "CDROMRESUME",    0x498},
  1076. X{"sys/cdio.h",    "CDROMPLAYMSF",    0x499},
  1077. X{"sys/cdio.h",    "CDROMPLAYTRKIND",    0x49a},
  1078. X{"sys/cdio.h",    "CDROMREADTOCHDR",    0x49b},
  1079. X{"sys/cdio.h",    "CDROMREADTOCENTRY",    0x49c},
  1080. X{"sys/cdio.h",    "CDROMSTOP",    0x49d},
  1081. X{"sys/cdio.h",    "CDROMSTART",    0x49e},
  1082. X{"sys/cdio.h",    "CDROMEJECT",    0x49f},
  1083. X{"sys/cdio.h",    "CDROMVOLCTRL",    0x4a0},
  1084. X{"sys/cdio.h",    "CDROMSUBCHNL",    0x4a1},
  1085. X{"sys/cdio.h",    "CDROMREADMODE2",    0x4a2},
  1086. X{"sys/cdio.h",    "CDROMREADMODE1",    0x4a3},
  1087. X{"sys/cdio.h",    "CDROMREADOFFSET",    0x4a4},
  1088. X{"sys/scsi/impl/uscsi.h",    "USCSICMD",    0x4c9},
  1089. X{"sys/bdio.h",    "BDIOBUTLITE",    0x4201},
  1090. X{"sys/bufmod.h",    "SBIOCSTIME",    0x4201},
  1091. X{"sys/bufmod.h",    "SBIOCGTIME",    0x4202},
  1092. X{"sys/bufmod.h",    "SBIOCCTIME",    0x4203},
  1093. X{"sys/bufmod.h",    "SBIOCSCHUNK",    0x4204},
  1094. X{"sys/bufmod.h",    "SBIOCGCHUNK",    0x4205},
  1095. X{"sys/bufmod.h",    "SBIOCSSNAP",    0x4206},
  1096. X{"sys/bufmod.h",    "SBIOCGSNAP",    0x4207},
  1097. X{"sys/bufmod.h",    "SBIOCSFLAGS",    0x4208},
  1098. X{"sys/bufmod.h",    "SBIOCGFLAGS",    0x4209},
  1099. X{"sys/termios.h",    "LDOPEN",    0x4400},
  1100. X{"sys/termios.h",    "LDCLOSE",    0x4401},
  1101. X{"sys/dlpi.h",    "DLIOCRAW",    0x4401},
  1102. X{"sys/sad.h",    "SAD_SAP",    0x4401},
  1103. X{"sys/sad.h",    "SAD_GAP",    0x4402},
  1104. X{"sys/termios.h",    "LDCHG",    0x4402},
  1105. X{"sys/sad.h",    "SAD_VML",    0x4403},
  1106. X{"sys/termios.h",    "LDGETT",    0x4408},
  1107. X{"sys/termios.h",    "LDSETT",    0x4409},
  1108. X{"sys/termios.h",    "LDSMAP",    0x440a},
  1109. X{"sys/dlpi.h",    "DL_IOC_HDR_INFO",    0x440a},
  1110. X{"sys/termios.h",    "LDGMAP",    0x440b},
  1111. X{"sys/termios.h",    "LDNMAP",    0x440c},
  1112. X{"sys/fbio.h",    "FBIOGTYPE",    0x4600},
  1113. X{"sys/fbio.h",    "FBIOGINFO",    0x4602},
  1114. X{"sys/fbio.h",    "FBIOPUTCMAP",    0x4603},
  1115. X{"sys/fbio.h",    "FBIOGETCMAP",    0x4604},
  1116. X{"sys/fbio.h",    "FBIOSATTR",    0x4605},
  1117. X{"sys/fbio.h",    "FBIOGATTR",    0x4606},
  1118. X{"sys/fbio.h",    "FBIOSVIDEO",    0x4607},
  1119. X{"sys/fbio.h",    "FBIOGVIDEO",    0x4608},
  1120. X{"sys/fbio.h",    "FBIOVERTICAL",    0x4609},
  1121. X{"sys/fbio.h",    "GRABPAGEALLOC",    0x460a},
  1122. X{"sys/fbio.h",    "GRABPAGEFREE",    0x460b},
  1123. X{"sys/fbio.h",    "GRABATTACH",    0x460c},
  1124. X{"sys/fbio.h",    "FBIOGPLNGRP",    0x460d},
  1125. X{"sys/fbio.h",    "FBIOGCMSIZE",    0x460e},
  1126. X{"sys/fbio.h",    "FBIOSCMSIZE",    0x460f},
  1127. X{"sys/fbio.h",    "FBIOSCMS",    0x4610},
  1128. X{"sys/fbio.h",    "FBIOAVAILPLNGRP",    0x4611},
  1129. X{"sys/fbio.h",    "FBIODBLGINFO",    0x4612},
  1130. X{"sys/fbio.h",    "FBIODBLSINFO",    0x4613},
  1131. X{"sys/fbio.h",    "FBIOSWINFD",    0x4614},
  1132. X{"sys/fbio.h",    "FBIOSAVWINFD",    0x4615},
  1133. X{"sys/fbio.h",    "FBIORESWINFD",    0x4616},
  1134. X{"sys/fbio.h",    "FBIOSRWINFD",    0x4617},
  1135. X{"sys/visual_io.h",    "VIS_SETCURSOR",    0x4618},
  1136. X{"sys/fbio.h",    "FBIOSCURSOR",    0x4618},
  1137. X{"sys/visual_io.h",    "VIS_GETCURSOR",    0x4619},
  1138. X{"sys/fbio.h",    "FBIOGCURSOR",    0x4619},
  1139. X{"sys/visual_io.h",    "VIS_MOVECURSOR",    0x461a},
  1140. X{"sys/fbio.h",    "FBIOSCURPOS",    0x461a},
  1141. X{"sys/visual_io.h",    "VIS_GETCURSORPOS",    0x461b},
  1142. X{"sys/fbio.h",    "FBIOGCURPOS",    0x461b},
  1143. X{"sys/fbio.h",    "FBIOGCURMAX",    0x461c},
  1144. X{"sys/fbio.h",    "GRABLOCKINFO",    0x461d},
  1145. X{"sys/fbio.h",    "FBIO_WID_ALLOC",    0x461e},
  1146. X{"sys/fbio.h",    "FBIO_WID_FREE",    0x461f},
  1147. X{"sys/fbio.h",    "FBIO_WID_PUT",    0x4620},
  1148. X{"sys/fbio.h",    "FBIO_WID_GET",    0x4621},
  1149. X{"sys/fbio.h",    "FBIO_DEVID",    0x4622},
  1150. X{"sys/fbio.h",    "FBIO_U_RST",    0x4623},
  1151. X{"sys/fbio.h",    "FBIO_FULLSCREEN_ELIMINATION_GROUPS",    0x4624},
  1152. X{"sys/fbio.h",    "FBIO_WID_DBL_SET",    0x4625},
  1153. X{"sys/fbio.h",    "FBIOVRTOFFSET",    0x4626},
  1154. X{"sys/fbio.h",    "FBIOGXINFO",    0x4627},
  1155. X{"sys/fbio.h",    "FBIOMONINFO",    0x4628},
  1156. X{"sys/fbio.h",    "FBIOPUTCMAPI",    0x4629},
  1157. X{"sys/fbio.h",    "FBIOGETCMAPI",    0x462a},
  1158. X{"sys/fbio.h",    "FBIO_ASSIGNWID",    0x462b},
  1159. X{"sys/fbio.h",    "FBIO_STEREO",    0x462c},
  1160. X{"sys/gpio.h",    "GP1IO_PUT_INFO",    0x4700},
  1161. X{"sys/gpio.h",    "GP1IO_GET_STATIC_BLOCK",    0x4701},
  1162. X{"sys/gpio.h",    "GP1IO_FREE_STATIC_BLOCK",    0x4702},
  1163. X{"sys/gpio.h",    "GP1IO_GET_GBUFFER_STATE",    0x4703},
  1164. X{"sys/gpio.h",    "GP1IO_CHK_GP",    0x4704},
  1165. X{"sys/gpio.h",    "GP1IO_GET_RESTART_COUNT",    0x4705},
  1166. X{"sys/gpio.h",    "GP1IO_REDIRECT_DEVFB",    0x4706},
  1167. X{"sys/gpio.h",    "GP1IO_GET_REQDEV",    0x4707},
  1168. X{"sys/gpio.h",    "GP1IO_GET_TRUMINORDEV",    0x4708},
  1169. X{"sys/gpio.h",    "GP1IO_CHK_FOR_GBUFFER",    0x4709},
  1170. X{"sys/gpio.h",    "GP1IO_SET_USING_GBUFFER",    0x470a},
  1171. X{"sys/gpio.h",    "GP1IO_INFO_STATIC_BLOCK",    0x470b},
  1172. X{"sys/sockmod.h",    "SI_GETUDATA",    0x4965},
  1173. X{"sys/sockmod.h",    "SI_SHUTDOWN",    0x4966},
  1174. X{"sys/sockmod.h",    "SI_LISTEN",    0x4967},
  1175. X{"sys/sockmod.h",    "SI_SETMYNAME",    0x4968},
  1176. X{"sys/sockmod.h",    "SI_SETPEERNAME",    0x4969},
  1177. X{"sys/sockmod.h",    "SI_GETINTRANSIT",    0x496a},
  1178. X{"sys/strlog.h",    "I_TRCLOG",    0x4c01},
  1179. X{"sys/strlog.h",    "I_ERRLOG",    0x4c02},
  1180. X{"sys/strlog.h",    "I_CONSLOG",    0x4c03},
  1181. X{"sys/cg14io.h",    "MDI_RESET",    0x4d01},
  1182. X{"sys/cg14io.h",    "MDI_GET_CFGINFO",    0x4d02},
  1183. X{"sys/cg14io.h",    "MDI_SET_PIXELMODE",    0x4d03},
  1184. X{"sys/cg14io.h",    "MDI_SET_COUNTERS",    0x4d04},
  1185. X{"sys/cg14io.h",    "MDI_SET_PPR",    0x4d05},
  1186. X{"sys/cg14io.h",    "MDI_VRT_CNTL",    0x4d06},
  1187. X{"sys/cg14io.h",    "MDI_SET_CLUT",    0x4d07},
  1188. X{"sys/cg14io.h",    "MDI_GET_CLUT",    0x4d08},
  1189. X{"sys/cg14io.h",    "MDI_SET_XLUT",    0x4d09},
  1190. X{"sys/cg14io.h",    "MDI_GET_XLUT",    0x4d0a},
  1191. X{"sys/cg14io.h",    "MDI_GAMMA_CORRECT",    0x4d0b},
  1192. X{"sys/cg14io.h",    "MDI_SET_GAMMALUT",    0x4d0c},
  1193. X{"sys/cg14io.h",    "MDI_GET_GAMMALUT",    0x4d0d},
  1194. X{"sys/cg14io.h",    "MDI_SET_DEGAMMALUT",    0x4d0e},
  1195. X{"sys/cg14io.h",    "MDI_GET_DEGAMMALUT",    0x4d0f},
  1196. X{"sys/cg14io.h",    "MDI_GET_BUFFER_INFO",    0x4d10},
  1197. X{"sys/cg14io.h",    "MDI_SET_CURSOR",    0x4d11},
  1198. X{"sys/cg14io.h",    "MDI_GET_DIAGINFO",    0x4d12},
  1199. X{"sys/openpromio.h",    "OPROMGETBOOTARGS",    0x4f0c},
  1200. X{"sys/pfmod.h",    "PFIOCSETF",    0x5001},
  1201. X{"sys/stropts.h",    "I_NREAD",    0x5301},
  1202. X{"sys/stropts.h",    "I_PUSH",    0x5302},
  1203. X{"sys/stropts.h",    "I_POP",    0x5303},
  1204. X{"sys/stropts.h",    "I_LOOK",    0x5304},
  1205. X{"sys/stropts.h",    "I_FLUSH",    0x5305},
  1206. X{"sys/stropts.h",    "I_SRDOPT",    0x5306},
  1207. X{"sys/stropts.h",    "I_GRDOPT",    0x5307},
  1208. X{"sys/stropts.h",    "I_STR",    0x5308},
  1209. X{"sys/stropts.h",    "I_SETSIG",    0x5309},
  1210. X{"sys/stropts.h",    "I_GETSIG",    0x530a},
  1211. X{"sys/stropts.h",    "I_FIND",    0x530b},
  1212. X{"sys/stropts.h",    "I_LINK",    0x530c},
  1213. X{"sys/stropts.h",    "I_UNLINK",    0x530d},
  1214. X{"sys/stropts.h",    "I_RECVFD",    0x530e},
  1215. X{"sys/stropts.h",    "I_PEEK",    0x530f},
  1216. X{"sys/stropts.h",    "I_FDINSERT",    0x5310},
  1217. X{"sys/stropts.h",    "I_SENDFD",    0x5311},
  1218. X{"sys/stropts.h",    "I_SWROPT",    0x5313},
  1219. X{"sys/stropts.h",    "I_GWROPT",    0x5314},
  1220. X{"sys/stropts.h",    "I_LIST",    0x5315},
  1221. X{"sys/stropts.h",    "I_PLINK",    0x5316},
  1222. X{"sys/stropts.h",    "I_PUNLINK",    0x5317},
  1223. X{"sys/stropts.h",    "I_SETEV",    0x5318},
  1224. X{"sys/stropts.h",    "I_GETEV",    0x5319},
  1225. X{"sys/stropts.h",    "I_STREV",    0x531a},
  1226. X{"sys/stropts.h",    "I_UNSTREV",    0x531b},
  1227. X{"sys/stropts.h",    "I_FLUSHBAND",    0x531c},
  1228. X{"sys/stropts.h",    "I_CKBAND",    0x531d},
  1229. X{"sys/stropts.h",    "I_GETBAND",    0x531e},
  1230. X{"sys/stropts.h",    "I_ATMARK",    0x531f},
  1231. X{"sys/stropts.h",    "I_SETCLTIME",    0x5320},
  1232. X{"sys/stropts.h",    "I_GETCLTIME",    0x5321},
  1233. X{"sys/stropts.h",    "I_CANPUT",    0x5322},
  1234. X{"sys/termios.h",    "TCGETA",    0x5401},
  1235. X{"sys/termios.h",    "TCSETA",    0x5402},
  1236. X{"sys/termios.h",    "TCSETAW",    0x5403},
  1237. X{"sys/termios.h",    "TCSETAF",    0x5404},
  1238. X{"sys/termios.h",    "TCSBRK",    0x5405},
  1239. X{"sys/termios.h",    "TCXONC",    0x5406},
  1240. X{"sys/termios.h",    "TCFLSH",    0x5407},
  1241. X{"sys/termios.h",    "TIOCKBON",    0x5408},
  1242. X{"sys/termios.h",    "TIOCKBOF",    0x5409},
  1243. X{"sys/termios.h",    "KBENABLED",    0x540a},
  1244. X{"sys/termios.h",    "TCGETS",    0x540d},
  1245. X{"sys/termios.h",    "TCSETS",    0x540e},
  1246. X{"sys/termios.h",    "TCSETSW",    0x540f},
  1247. X{"sys/termios.h",    "TCSETSF",    0x5410},
  1248. X{"sys/termio.h",    "TCDSET",    0x5420},
  1249. X{"sys/termios.h",    "TCDSET",    0x5420},
  1250. X{"sys/termios.h",    "RTS_TOG",    0x5421},
  1251. X{"sys/ttold.h",    "TIOCSWINSZ",    0x5467},
  1252. X{"sys/termios.h",    "TIOCSWINSZ",    0x5467},
  1253. X{"sys/termios.h",    "TIOCGWINSZ",    0x5468},
  1254. X{"sys/ttold.h",    "TIOCGWINSZ",    0x5468},
  1255. X{"sys/termios.h",    "TIOCGSOFTCAR",    0x5469},
  1256. X{"sys/termios.h",    "TIOCSSOFTCAR",    0x546a},
  1257. X{"sys/timod.h",    "TI_GETINFO",    0x548c},
  1258. X{"sys/timod.h",    "TI_OPTMGMT",    0x548d},
  1259. X{"sys/timod.h",    "TI_BIND",    0x548e},
  1260. X{"sys/timod.h",    "TI_UNBIND",    0x548f},
  1261. X{"sys/timod.h",    "TI_GETMYNAME",    0x5490},
  1262. X{"sys/timod.h",    "TI_GETPEERNAME",    0x5491},
  1263. X{"sys/timod.h",    "TI_SETMYNAME",    0x5492},
  1264. X{"sys/timod.h",    "TI_SETPEERNAME",    0x5493},
  1265. X{"sys/termiox.h",    "TCGETX",    0x5801},
  1266. X{"sys/termiox.h",    "TCSETX",    0x5802},
  1267. X{"sys/termiox.h",    "TCSETXW",    0x5803},
  1268. X{"sys/termiox.h",    "TCSETXF",    0x5804},
  1269. X{"sys/ioctl.h",    "DIOCGETC",    0x6401},
  1270. X{"sys/ioctl.h",    "DIOCGETB",    0x6402},
  1271. X{"sys/ioctl.h",    "DIOCSETE",    0x6403},
  1272. X{"sys/termios.h",    "DIOCGETP",    0x6408},
  1273. X{"sys/termios.h",    "DIOCSETP",    0x6409},
  1274. X{"sys/jioctl.h",    "JBOOT",    0x6a01},
  1275. X{"sys/jioctl.h",    "JTERM",    0x6a02},
  1276. X{"sys/jioctl.h",    "JMPX",    0x6a03},
  1277. X{"sys/jioctl.h",    "JWINSIZE",    0x6a05},
  1278. X{"sys/jioctl.h",    "JZOMBOOT",    0x6a07},
  1279. X{"sys/jioctl.h",    "JAGENT",    0x6a09},
  1280. X{"sys/jioctl.h",    "JTRUN",    0x6a0a},
  1281. X{"sys/jioctl.h",    "JXTPROTO",    0x6a0b},
  1282. X{"sys/kbio.h",    "KIOCTRANS",    0x6b00},
  1283. X{"sys/kbio.h",    "KIOCSETKEY",    0x6b01},
  1284. X{"sys/kbio.h",    "KIOCGETKEY",    0x6b02},
  1285. X{"sys/kbio.h",    "KIOCGTRANS",    0x6b05},
  1286. X{"sys/kbio.h",    "KIOCTRANSABLE",    0x6b06},
  1287. X{"sys/kbio.h",    "KIOCGTRANSABLE",    0x6b07},
  1288. X{"sys/kbio.h",    "KIOCCMD",    0x6b08},
  1289. X{"sys/kbio.h",    "KIOCTYPE",    0x6b09},
  1290. X{"sys/kbio.h",    "KIOCSDIRECT",    0x6b0a},
  1291. X{"sys/kbio.h",    "KIOCGDIRECT",    0x6b0b},
  1292. X{"sys/kbio.h",    "KIOCSKEY",    0x6b0c},
  1293. X{"sys/kbio.h",    "KIOCGKEY",    0x6b0d},
  1294. X{"sys/kbio.h",    "KIOCSLED",    0x6b0e},
  1295. X{"sys/kbio.h",    "KIOCGLED",    0x6b0f},
  1296. X{"sys/kbio.h",    "KIOCSCOMPAT",    0x6b10},
  1297. X{"sys/kbio.h",    "KIOCGCOMPAT",    0x6b11},
  1298. X{"sys/kbio.h",    "KIOCLAYOUT",    0x6b14},
  1299. X{"sys/ioctl.h",    "LIOCGETP",    0x6c01},
  1300. X{"sys/ioctl.h",    "LIOCSETP",    0x6c02},
  1301. X{"sys/ioctl.h",    "LIOCGETS",    0x6c05},
  1302. X{"sys/ioctl.h",    "LIOCSETS",    0x6c06},
  1303. X{"sys/mtio.h",    "MTIOCTOP",    0x6d01},
  1304. X{"sys/msio.h",    "MSIOGETPARMS",    0x6d01},
  1305. X{"sys/msio.h",    "MSIOSETPARMS",    0x6d02},
  1306. X{"sys/mtio.h",    "MTIOCGET",    0x6d02},
  1307. X{"sys/mtio.h",    "MTIOCGETDRIVETYPE",    0x6d03},
  1308. X{"sys/procfs.h",    "PIOCSTATUS",    0x7101},
  1309. X{"sys/procfs.h",    "PIOCSTOP",    0x7102},
  1310. X{"sys/procfs.h",    "PIOCWSTOP",    0x7103},
  1311. X{"sys/procfs.h",    "PIOCRUN",    0x7104},
  1312. X{"sys/procfs.h",    "PIOCGTRACE",    0x7105},
  1313. X{"sys/procfs.h",    "PIOCSTRACE",    0x7106},
  1314. X{"sys/procfs.h",    "PIOCSSIG",    0x7107},
  1315. X{"sys/procfs.h",    "PIOCKILL",    0x7108},
  1316. X{"sys/procfs.h",    "PIOCUNKILL",    0x7109},
  1317. X{"sys/procfs.h",    "PIOCGHOLD",    0x710a},
  1318. X{"sys/procfs.h",    "PIOCSHOLD",    0x710b},
  1319. X{"sys/procfs.h",    "PIOCMAXSIG",    0x710c},
  1320. X{"sys/procfs.h",    "PIOCACTION",    0x710d},
  1321. X{"sys/procfs.h",    "PIOCGFAULT",    0x710e},
  1322. X{"sys/procfs.h",    "PIOCSFAULT",    0x710f},
  1323. X{"sys/procfs.h",    "PIOCCFAULT",    0x7110},
  1324. X{"sys/procfs.h",    "PIOCGENTRY",    0x7111},
  1325. X{"sys/procfs.h",    "PIOCSENTRY",    0x7112},
  1326. X{"sys/procfs.h",    "PIOCGEXIT",    0x7113},
  1327. X{"sys/procfs.h",    "PIOCSEXIT",    0x7114},
  1328. X{"sys/procfs.h",    "PIOCSFORK",    0x7115},
  1329. X{"sys/procfs.h",    "PIOCRFORK",    0x7116},
  1330. X{"sys/procfs.h",    "PIOCSRLC",    0x7117},
  1331. X{"sys/procfs.h",    "PIOCRRLC",    0x7118},
  1332. X{"sys/procfs.h",    "PIOCGREG",    0x7119},
  1333. X{"sys/procfs.h",    "PIOCSREG",    0x711a},
  1334. X{"sys/procfs.h",    "PIOCGFPREG",    0x711b},
  1335. X{"sys/procfs.h",    "PIOCSFPREG",    0x711c},
  1336. X{"sys/procfs.h",    "PIOCNICE",    0x711d},
  1337. X{"sys/procfs.h",    "PIOCPSINFO",    0x711e},
  1338. X{"sys/procfs.h",    "PIOCNMAP",    0x711f},
  1339. X{"sys/procfs.h",    "PIOCMAP",    0x7120},
  1340. X{"sys/procfs.h",    "PIOCOPENM",    0x7121},
  1341. X{"sys/procfs.h",    "PIOCCRED",    0x7122},
  1342. X{"sys/procfs.h",    "PIOCGROUPS",    0x7123},
  1343. X{"sys/procfs.h",    "PIOCGETPR",    0x7124},
  1344. X{"sys/procfs.h",    "PIOCGETU",    0x7125},
  1345. X{"sys/procfs.h",    "PIOCSET",    0x7126},
  1346. X{"sys/procfs.h",    "PIOCRESET",    0x7127},
  1347. X{"sys/procfs.h",    "PIOCNWATCH",    0x7128},
  1348. X{"sys/procfs.h",    "PIOCGWATCH",    0x7129},
  1349. X{"sys/procfs.h",    "PIOCSWATCH",    0x712a},
  1350. X{"sys/procfs.h",    "PIOCUSAGE",    0x712b},
  1351. X{"sys/procfs.h",    "PIOCOPENPD",    0x712c},
  1352. X{"sys/procfs.h",    "PIOCLWPIDS",    0x712d},
  1353. X{"sys/procfs.h",    "PIOCOPENLWP",    0x712e},
  1354. X{"sys/procfs.h",    "PIOCLSTATUS",    0x712f},
  1355. X{"sys/procfs.h",    "PIOCLUSAGE",    0x7130},
  1356. X{"sys/procfs.h",    "PIOCNAUXV",    0x7131},
  1357. X{"sys/procfs.h",    "PIOCAUXV",    0x7132},
  1358. X{"sys/procfs.h",    "PIOCGWIN",    0x7165},
  1359. X{"sys/ttold.h",    "TIOCGETD",    0x7400},
  1360. X{"sys/termios.h",    "TIOCGETD",    0x7400},
  1361. X{"sys/termios.h",    "TIOCSETD",    0x7401},
  1362. X{"sys/ttold.h",    "TIOCSETD",    0x7401},
  1363. X{"sys/ttold.h",    "TIOCHPCL",    0x7402},
  1364. X{"sys/termios.h",    "TIOCHPCL",    0x7402},
  1365. X{"sys/termios.h",    "TIOCGETP",    0x7408},
  1366. X{"sys/ttold.h",    "TIOCGETP",    0x7408},
  1367. X{"sys/ttold.h",    "TIOCSETP",    0x7409},
  1368. X{"sys/termios.h",    "TIOCSETP",    0x7409},
  1369. X{"sys/ttold.h",    "TIOCSETN",    0x740a},
  1370. X{"sys/termios.h",    "TIOCSETN",    0x740a},
  1371. X{"sys/ttold.h",    "TIOCEXCL",    0x740d},
  1372. X{"sys/termios.h",    "TIOCEXCL",    0x740d},
  1373. X{"sys/ttold.h",    "TIOCNXCL",    0x740e},
  1374. X{"sys/termios.h",    "TIOCNXCL",    0x740e},
  1375. X{"sys/termios.h",    "TIOCFLUSH",    0x7410},
  1376. X{"sys/ttold.h",    "TIOCFLUSH",    0x7410},
  1377. X{"sys/ttold.h",    "TIOCSETC",    0x7411},
  1378. X{"sys/termios.h",    "TIOCSETC",    0x7411},
  1379. X{"sys/ttold.h",    "TIOCGETC",    0x7412},
  1380. X{"sys/termios.h",    "TIOCGETC",    0x7412},
  1381. X{"sys/termios.h",    "TIOCGPGRP",    0x7414},
  1382. X{"sys/termios.h",    "TIOCSPGRP",    0x7415},
  1383. X{"sys/termios.h",    "TIOCGSID",    0x7416},
  1384. X{"sys/termios.h",    "TIOCSTI",    0x7417},
  1385. X{"sys/termios.h",    "TIOCSSID",    0x7418},
  1386. X{"sys/termios.h",    "TIOCMSET",    0x741a},
  1387. X{"sys/termios.h",    "TIOCMBIS",    0x741b},
  1388. X{"sys/termios.h",    "TIOCMBIC",    0x741c},
  1389. X{"sys/termios.h",    "TIOCMGET",    0x741d},
  1390. X{"sys/termios.h",    "TIOCREMOTE",    0x741e},
  1391. X{"sys/ttold.h",    "TIOCREMOTE",    0x741e},
  1392. X{"sys/termios.h",    "TIOCSIGNAL",    0x741f},
  1393. X{"sys/ttold.h",    "TIOCSTART",    0x746e},
  1394. X{"sys/termios.h",    "TIOCSTART",    0x746e},
  1395. X{"sys/termios.h",    "TIOCSTOP",    0x746f},
  1396. X{"sys/ttold.h",    "TIOCSTOP",    0x746f},
  1397. X{"sys/ttold.h",    "TIOCNOTTY",    0x7471},
  1398. X{"sys/termios.h",    "TIOCNOTTY",    0x7471},
  1399. X{"sys/termios.h",    "TIOCOUTQ",    0x7473},
  1400. X{"sys/ttold.h",    "TIOCOUTQ",    0x7473},
  1401. X{"sys/ttold.h",    "TIOCGLTC",    0x7474},
  1402. X{"sys/termios.h",    "TIOCGLTC",    0x7474},
  1403. X{"sys/termios.h",    "TIOCSLTC",    0x7475},
  1404. X{"sys/ttold.h",    "TIOCSLTC",    0x7475},
  1405. X{"sys/termios.h",    "TIOCCDTR",    0x7478},
  1406. X{"sys/ttold.h",    "TIOCCDTR",    0x7478},
  1407. X{"sys/ttold.h",    "TIOCSDTR",    0x7479},
  1408. X{"sys/termios.h",    "TIOCSDTR",    0x7479},
  1409. X{"sys/termios.h",    "TIOCCBRK",    0x747a},
  1410. X{"sys/ttold.h",    "TIOCCBRK",    0x747a},
  1411. X{"sys/termios.h",    "TIOCSBRK",    0x747b},
  1412. X{"sys/ttold.h",    "TIOCSBRK",    0x747b},
  1413. X{"sys/termios.h",    "TIOCLGET",    0x747c},
  1414. X{"sys/ttold.h",    "TIOCLGET",    0x747c},
  1415. X{"sys/termios.h",    "TIOCLSET",    0x747d},
  1416. X{"sys/ttold.h",    "TIOCLSET",    0x747d},
  1417. X{"sys/ttold.h",    "TIOCLBIC",    0x747e},
  1418. X{"sys/termios.h",    "TIOCLBIC",    0x747e},
  1419. X{"sys/ttold.h",    "TIOCLBIS",    0x747f},
  1420. X{"sys/termios.h",    "TIOCLBIS",    0x747f},
  1421. X{"sys/bdio.h",    "VUIDSFORMAT",    0x7601},
  1422. X{"sys/vuid_event.h",    "VUIDSFORMAT",    0x7601},
  1423. X{"sys/vol.h",    "VOLIOCMAP",    0x7601},
  1424. X{"sys/vol.h",    "VOLIOCUNMAP",    0x7602},
  1425. X{"sys/bdio.h",    "VUIDGFORMAT",    0x7602},
  1426. X{"sys/vuid_event.h",    "VUIDGFORMAT",    0x7602},
  1427. X{"sys/vuid_event.h",    "VUIDSADDR",    0x7603},
  1428. X{"sys/vol.h",    "VOLIOCEVENT",    0x7603},
  1429. X{"sys/vuid_event.h",    "VUIDGADDR",    0x7604},
  1430. X{"sys/vol.h",    "VOLIOCEJECT",    0x7604},
  1431. X{"sys/vol.h",    "VOLIOCCHECK",    0x7605},
  1432. X{"sys/vol.h",    "VOLIOCINUSE",    0x7606},
  1433. X{"sys/vol.h",    "VOLIOCDGATTR",    0x7607},
  1434. X{"sys/vol.h",    "VOLIOCDSATTR",    0x7608},
  1435. X{"sys/vol.h",    "VOLIOCDCHECK",    0x7609},
  1436. X{"sys/vol.h",    "VOLIOCCANCEL",    0x760a},
  1437. X{"sys/vol.h",    "VOLIOCINFO",    0x760b},
  1438. X{"sys/vol.h",    "VOLIOCSATTR",    0x760c},
  1439. X{"sys/vol.h",    "VOLIOCGATTR",    0x760d},
  1440. X{"sys/vol.h",    "VOLIOCDINUSE",    0x760e},
  1441. X{"sys/vol.h",    "VOLIOCDAEMON",    0x760f},
  1442. X{"sys/vol.h",    "VOLIOCFLAGS",    0x7610},
  1443. X{"sys/vol.h",    "VOLIOCEXTRA4",    0x7611},
  1444. X{"sys/vol.h",    "VOLIOCEXTRA5",    0x7612},
  1445. X{"sys/vol.h",    "VOLIOCEXTRA6",    0x7613},
  1446. X{"sys/vol.h",    "VOLIOCEXTRA7",    0x7614},
  1447. X{"sys/ser_sync.h",    "S_IOCGETMODE",    0x7a01},
  1448. X{"sys/ser_sync.h",    "S_IOCSETMODE",    0x7a02},
  1449. X{"sys/ser_sync.h",    "S_IOCGETSTATS",    0x7a03},
  1450. X{"sys/ser_sync.h",    "S_IOCCLRSTATS",    0x7a04},
  1451. X{"sys/ser_sync.h",    "S_IOCGETSPEED",    0x7a05},
  1452. X{"sys/ser_sync.h",    "S_IOCGETMRU",    0x7a06},
  1453. X{"sys/ser_sync.h",    "S_IOCSETMRU",    0x7a07},
  1454. X{"sys/ser_sync.h",    "S_IOCGETMTU",    0x7a08},
  1455. X{"sys/ser_sync.h",    "S_IOCSETMTU",    0x7a09},
  1456. X{"sys/ser_sync.h",    "S_IOCGETMCTL",    0x7a0a},
  1457. END_OF_FILE
  1458.   if test 16195 -ne `wc -c <'strace-3.0/svr4/ioctlent.h'`; then
  1459.     echo shar: \"'strace-3.0/svr4/ioctlent.h'\" unpacked with wrong size!
  1460.   fi
  1461.   # end of 'strace-3.0/svr4/ioctlent.h'
  1462. fi
  1463. if test -f 'strace-3.0/svr4/syscallent.h' -a "${1}" != "-c" ; then 
  1464.   echo shar: Will not clobber existing file \"'strace-3.0/svr4/syscallent.h'\"
  1465. else
  1466.   echo shar: Extracting \"'strace-3.0/svr4/syscallent.h'\" \(19157 characters\)
  1467.   sed "s/^X//" >'strace-3.0/svr4/syscallent.h' <<'END_OF_FILE'
  1468. X/*
  1469. X * Copyright (c) 1993, 1994 Rick Sladkey <jrs@world.std.com>
  1470. X * All rights reserved.
  1471. X *
  1472. X * Redistribution and use in source and binary forms, with or without
  1473. X * modification, are permitted provided that the following conditions
  1474. X * are met:
  1475. X * 1. Redistributions of source code must retain the above copyright
  1476. X *    notice, this list of conditions and the following disclaimer.
  1477. X * 2. Redistributions in binary form must reproduce the above copyright
  1478. X *    notice, this list of conditions and the following disclaimer in the
  1479. X *    documentation and/or other materials provided with the distribution.
  1480. X * 3. All advertising materials mentioning features or use of this software
  1481. X *    must display the following acknowledgement:
  1482. X *      This product includes software developed by Paul Kranenburg,
  1483. X *      Branko Lankester and Rick Sladkey.
  1484. X * 4. The name of the author may not be used to endorse or promote products
  1485. X *    derived from this software without specific prior written permission.
  1486. X *
  1487. X * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
  1488. X * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  1489. X * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  1490. X * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
  1491. X * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  1492. X * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  1493. X * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  1494. X * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  1495. X * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  1496. X * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  1497. X *
  1498. X *    syscallent.h,v 2.23 1994/03/21 05:45:58 jrs Exp
  1499. X */
  1500. X
  1501. X    { -1,    sys_syscall,        "syscall"    },    /* 0 */
  1502. X    { -1,    sys_exit,        "_exit"        },    /* 1 */
  1503. X    { -1,    sys_fork,        "fork"        },    /* 2 */
  1504. X    { -1,    sys_read,        "read"        },    /* 3 */
  1505. X    { -1,    sys_write,        "write"        },    /* 4 */
  1506. X    { -1,    sys_open,        "open"        },    /* 5 */
  1507. X    { -1,    sys_close,        "close"        },    /* 6 */
  1508. X    { -1,    sys_wait,        "wait"        },    /* 7 */
  1509. X    { -1,    sys_creat,        "creat"        },    /* 8 */
  1510. X    { -1,    sys_link,        "link"        },    /* 9 */
  1511. X    { -1,    sys_unlink,        "unlink"    },    /* 10 */
  1512. X    { -1,    sys_exec,        "exec"        },    /* 11 */
  1513. X    { -1,    sys_chdir,        "chdir"        },    /* 12 */
  1514. X    { -1,    sys_time,        "time"        },    /* 13 */
  1515. X    { -1,    sys_mknod,        "mknod"        },    /* 14 */
  1516. X    { -1,    sys_chmod,        "chmod"        },    /* 15 */
  1517. X    { -1,    sys_chown,        "chown"        },    /* 16 */
  1518. X    { -1,    sys_brk,        "brk"        },    /* 17 */
  1519. X    { -1,    sys_stat,        "stat"        },    /* 18 */
  1520. X    { -1,    sys_lseek,        "lseek"    },    /* 19 */
  1521. X    { -1,    sys_getpid,        "getpid"    },    /* 20 */
  1522. X    { -1,    sys_mount,        "mount"        },    /* 21 */
  1523. X    { -1,    sys_umount,        "umount"    },    /* 22 */
  1524. X    { -1,    sys_setuid,        "setuid"    },    /* 23 */
  1525. X    { -1,    sys_getuid,        "getuid"    },    /* 24 */
  1526. X    { -1,    sys_stime,        "stime"        },    /* 25 */
  1527. X    { -1,    sys_ptrace,        "ptrace"    },    /* 26 */
  1528. X    { -1,    sys_alarm,        "alarm"        },    /* 27 */
  1529. X    { -1,    sys_fstat,        "fstat"        },    /* 28 */
  1530. X    { -1,    sys_pause,        "pause"        },    /* 29 */
  1531. X    { -1,    sys_utime,        "utime"        },    /* 30 */
  1532. X    { -1,    sys_stty,        "stty"        },    /* 31 */
  1533. X    { -1,    sys_gtty,        "gtty"        },    /* 32 */
  1534. X    { -1,    sys_access,        "access"    },    /* 33 */
  1535. X    { -1,    sys_nice,        "nice"        },    /* 34 */
  1536. X    { -1,    sys_statfs,        "statfs"    },    /* 35 */
  1537. X    { -1,    sys_sync,        "sync"        },    /* 36 */
  1538. X    { -1,    sys_kill,        "kill"        },    /* 37 */
  1539. X    { -1,    sys_fstatfs,        "fstatfs"    },    /* 38 */
  1540. X    { -1,    sys_pgrpsys,        "pgrpsys"    },    /* 39 */
  1541. X    { -1,    sys_xenix,        "xenix"        },    /* 40 */
  1542. X    { -1,    sys_dup,        "dup"        },    /* 41 */
  1543. X    { -1,    sys_pipe,        "pipe"        },    /* 42 */
  1544. X    { -1,    sys_times,        "times"        },    /* 43 */
  1545. X    { -1,    sys_profil,        "profil"    },    /* 44 */
  1546. X    { -1,    sys_plock,        "plock"        },    /* 45 */
  1547. X    { -1,    sys_setgid,        "setgid"    },    /* 46 */
  1548. X    { -1,    sys_getgid,        "getgid"    },    /* 47 */
  1549. X    { -1,    sys_sigcall,        "sigcall"    },    /* 48 */
  1550. X    { -1,    sys_msgsys,        "msgsys"    },    /* 49 */
  1551. X#ifdef __sun__
  1552. X    { -1,    sys_syssun,        "syssun"    },    /* 50 */
  1553. X#else /* !__sun__ */
  1554. X#ifdef __i386__
  1555. X    { -1,    sys_sysi86,        "sysi86"    },    /* 50 */
  1556. X#else /* !__i386__ */
  1557. X    { -1,    sys_sysmachine,        "sysmachine"    },    /* 50 */
  1558. X#endif /* !__i386__ */
  1559. X#endif /* !__sun__ */
  1560. X    { -1,    sys_acct,        "acct"        },    /* 51 */
  1561. X    { -1,    sys_shmsys,        "shmsys"    },    /* 52 */
  1562. X    { -1,    sys_semsys,        "semsys"    },    /* 53 */
  1563. X    { -1,    sys_ioctl,        "ioctl"        },    /* 54 */
  1564. X    { -1,    sys_uadmin,        "uadmin"    },    /* 55 */
  1565. X    { -1,    printargs,        "SYS_56"    },    /* 56 */
  1566. X    { -1,    sys_utssys,        "utssys"    },    /* 57 */
  1567. X    { -1,    sys_fdsync,        "fdsync"    },    /* 58 */
  1568. X    { -1,    sys_execve,        "execve"    },    /* 59 */
  1569. X    { -1,    sys_umask,        "umask"        },    /* 60 */
  1570. X    { -1,    sys_chroot,        "chroot"    },    /* 61 */
  1571. X    { -1,    sys_fcntl,        "fcntl"        },    /* 62 */
  1572. X    { -1,    sys_ulimit,        "ulimit"    },    /* 63 */
  1573. X    { -1,    printargs,        "SYS_64"    },    /* 64 */
  1574. X    { -1,    printargs,        "SYS_65"    },    /* 65 */
  1575. X    { -1,    printargs,        "SYS_66"    },    /* 66 */
  1576. X    { -1,    printargs,        "SYS_67"    },    /* 67 */
  1577. X    { -1,    printargs,        "SYS_68"    },    /* 68 */
  1578. X    { -1,    printargs,        "SYS_69"    },    /* 69 */
  1579. X    { -1,    printargs,        "SYS_70"    },    /* 70 */
  1580. X    { -1,    printargs,        "SYS_71"    },    /* 71 */
  1581. X    { -1,    printargs,        "SYS_72"    },    /* 72 */
  1582. X    { -1,    printargs,        "SYS_73"    },    /* 73 */
  1583. X    { -1,    printargs,        "SYS_74"    },    /* 74 */
  1584. X    { -1,    printargs,        "SYS_75"    },    /* 75 */
  1585. X    { -1,    printargs,        "SYS_76"    },    /* 76 */
  1586. X    { -1,    printargs,        "SYS_77"    },    /* 77 */
  1587. X    { -1,    printargs,        "SYS_78"    },    /* 78 */
  1588. X    { -1,    sys_rmdir,        "rmdir"        },    /* 79 */
  1589. X    { -1,    sys_mkdir,        "mkdir"        },    /* 80 */
  1590. X    { -1,    sys_getdents,        "getdents"    },    /* 81 */
  1591. X    { -1,    printargs,        "SYS_82"    },    /* 82 */
  1592. X    { -1,    printargs,        "SYS_83"    },    /* 83 */
  1593. X    { -1,    sys_sysfs,        "sysfs"        },    /* 84 */
  1594. X    { -1,    sys_getmsg,        "getmsg"    },    /* 85 */
  1595. X    { -1,    sys_putmsg,        "putmsg"    },    /* 86 */
  1596. X    { -1,    sys_poll,        "poll"        },    /* 87 */
  1597. X    { -1,    sys_lstat,        "lstat"        },    /* 88 */
  1598. X    { -1,    sys_symlink,        "symlink"    },    /* 89 */
  1599. X    { -1,    sys_readlink,        "readlink"    },    /* 90 */
  1600. X    { -1,    sys_setgroups,        "setgroups"    },    /* 91 */
  1601. X    { -1,    sys_getgroups,        "getgroups"    },    /* 92 */
  1602. X    { -1,    sys_fchmod,        "fchmod"    },    /* 93 */
  1603. X    { -1,    sys_fchown,        "fchown"    },    /* 94 */
  1604. X    { -1,    sys_sigprocmask,    "sigprocmask"    },    /* 95 */
  1605. X    { -1,    sys_sigsuspend,        "sigsuspend"    },    /* 96 */
  1606. X    { -1,    sys_sigaltstack,    "sigaltstack"    },    /* 97 */
  1607. X    { -1,    sys_sigaction,        "sigaction"    },    /* 98 */
  1608. X    { -1,    sys_spcall,        "spcall"    },    /* 99 */
  1609. X    { -1,    sys_context,        "context"    },    /* 100 */
  1610. X    { -1,    sys_evsys,        "evsys"        },    /* 101 */
  1611. X    { -1,    sys_evtrapret,        "evtrapret"    },    /* 102 */
  1612. X    { -1,    sys_statvfs,        "statvfs"    },    /* 103 */
  1613. X    { -1,    sys_fstatvfs,        "fstatvfs"    },    /* 104 */
  1614. X    { -1,    printargs,        "SYS_105"    },    /* 105 */
  1615. X    { -1,    sys_nfssys,        "nfssys"    },    /* 106 */
  1616. X    { -1,    sys_waitid,        "waitid"    },    /* 107 */
  1617. X    { -1,    sys_sigsendsys,        "sigsendsys"    },    /* 108 */
  1618. X    { -1,    sys_hrtsys,        "hrtsys"    },    /* 109 */
  1619. X    { -1,    sys_acancel,        "acancel"    },    /* 110 */
  1620. X    { -1,    sys_async,        "async"        },    /* 111 */
  1621. X    { -1,    sys_priocntlsys,    "priocntlsys"    },    /* 112 */
  1622. X    { -1,    sys_pathconf,        "pathconf"    },    /* 113 */
  1623. X    { -1,    sys_mincore,        "mincore"    },    /* 114 */
  1624. X    { -1,    sys_mmap,        "mmap"        },    /* 115 */
  1625. X    { -1,    sys_mprotect,        "mprotect"    },    /* 116 */
  1626. X    { -1,    sys_munmap,        "munmap"    },    /* 117 */
  1627. X    { -1,    sys_fpathconf,        "fpathconf"    },    /* 118 */
  1628. X    { -1,    sys_vfork,        "vfork"        },    /* 119 */
  1629. X    { -1,    sys_fchdir,        "fchdir"    },    /* 120 */
  1630. X    { -1,    sys_readv,        "readv"        },    /* 121 */
  1631. X    { -1,    sys_writev,        "writev"    },    /* 122 */
  1632. X    { -1,    sys_xstat,        "xstat"        },    /* 123 */
  1633. X    { -1,    sys_lxstat,        "lxstat"    },    /* 124 */
  1634. X    { -1,    sys_fxstat,        "fxstat"    },    /* 125 */
  1635. X    { -1,    sys_xmknod,        "xmknod"    },    /* 126 */
  1636. X    { -1,    sys_clocal,        "clocal"    },    /* 127 */
  1637. X    { -1,    sys_setrlimit,        "setrlimit"    },    /* 128 */
  1638. X    { -1,    sys_getrlimit,        "getrlimit"    },    /* 129 */
  1639. X    { -1,    sys_lchown,        "lchown"    },    /* 130 */
  1640. X    { -1,    sys_memcntl,        "memcntl"    },    /* 131 */
  1641. X    { -1,    sys_getpmsg,        "getpmsg"    },    /* 132 */
  1642. X    { -1,    sys_putpmsg,        "putpmsg"    },    /* 133 */
  1643. X    { -1,    sys_rename,        "rename"    },    /* 134 */
  1644. X    { -1,    sys_uname,        "uname"        },    /* 135 */
  1645. X    { -1,    sys_setegid,        "setegid"    },    /* 136 */
  1646. X    { -1,    sys_sysconfig,        "sysconfig"    },    /* 137 */
  1647. X    { -1,    sys_adjtime,        "adjtime"    },    /* 138 */
  1648. X    { -1,    sys_sysinfo,        "sysinfo"    },    /* 139 */
  1649. X    { -1,    printargs,        "SYS_140"    },    /* 140 */
  1650. X    { -1,    sys_seteuid,        "seteuid"    },    /* 141 */
  1651. X    { -1,    sys_vtrace,        "vtrace"    },    /* 142 */
  1652. X    { -1,    sys_fork1,        "fork1"        },    /* 143 */
  1653. X    { -1,    sys_sigtimedwait,    "sigtimedwait"    },    /* 144 */
  1654. X    { -1,    sys_lwp_info,        "lwp_info"    },    /* 145 */
  1655. X    { -1,    sys_yield,        "yield"        },    /* 146 */
  1656. X    { -1,    sys_lwp_sema_wait,    "lwp_sema_wait"    },    /* 147 */
  1657. X    { -1,    sys_lwp_sema_post,    "lwp_sema_post"    },    /* 148 */
  1658. X    { -1,    printargs,        "SYS_149"    },    /* 149 */
  1659. X    { -1,    printargs,        "SYS_150"    },    /* 150 */
  1660. X    { -1,    printargs,        "SYS_151"    },    /* 151 */
  1661. X    { -1,    sys_modctl,        "modctl"    },    /* 152 */
  1662. X    { -1,    sys_fchroot,        "fchroot"    },    /* 153 */
  1663. X    { -1,    sys_utimes,        "utimes"    },    /* 154 */
  1664. X    { -1,    sys_vhangup,        "vhangup"    },    /* 155 */
  1665. X    { -1,    sys_gettimeofday,    "gettimeofday"    },    /* 156 */
  1666. X    { -1,    sys_getitimer,        "getitimer"    },    /* 157 */
  1667. X    { -1,    sys_setitimer,        "setitimer"    },    /* 158 */
  1668. X    { -1,    sys_lwp_create,        "lwp_create"    },    /* 159 */
  1669. X    { -1,    sys_lwp_exit,        "lwp_exit"    },    /* 160 */
  1670. X    { -1,    sys_lwp_suspend,    "lwp_suspend"    },    /* 161 */
  1671. X    { -1,    sys_lwp_continue,    "lwp_continue"    },    /* 162 */
  1672. X    { -1,    sys_lwp_kill,        "lwp_kill"    },    /* 163 */
  1673. X    { -1,    sys_lwp_self,        "lwp_self"    },    /* 164 */
  1674. X    { -1,    sys_lwp_setprivate,    "lwp_setprivate"},    /* 165 */
  1675. X    { -1,    sys_lwp_getprivate,    "lwp_getprivate"},    /* 166 */
  1676. X    { -1,    sys_lwp_wait,        "lwp_wait"    },    /* 167 */
  1677. X    { -1,    sys_lwp_mutex_unlock,    "lwp_mutex_unlock"},    /* 168 */
  1678. X    { -1,    sys_lwp_mutex_lock,    "lwp_mutex_lock"},    /* 169 */
  1679. X    { -1,    sys_lwp_cond_wait,    "lwp_cond_wait"},    /* 170 */
  1680. X    { -1,    sys_lwp_cond_signal,    "lwp_cond_signal"},    /* 171 */
  1681. X    { -1,    sys_lwp_cond_broadcast,    "lwp_cond_broadcast"},    /* 172 */
  1682. X    { -1,    sys_pread,        "pread"        },    /* 173 */
  1683. X    { -1,    sys_pwrite,        "pwrite"    },    /* 174 */
  1684. X    { -1,    sys_llseek,        "llseek"    },    /* 175 */
  1685. X    { -1,    sys_inst_sync,        "inst_sync"    },    /* 176 */
  1686. X    { -1,    printargs,        "SYS_177"    },    /* 177 */
  1687. X    { -1,    printargs,        "SYS_178"    },    /* 178 */
  1688. X    { -1,    printargs,        "SYS_179"    },    /* 179 */
  1689. X    { -1,    printargs,        "SYS_180"    },    /* 180 */
  1690. X    { -1,    printargs,        "SYS_181"    },    /* 181 */
  1691. X    { -1,    printargs,        "SYS_182"    },    /* 182 */
  1692. X    { -1,    printargs,        "SYS_183"    },    /* 183 */
  1693. X    { -1,    printargs,        "SYS_184"    },    /* 184 */
  1694. X    { -1,    printargs,        "SYS_185"    },    /* 185 */
  1695. X    { -1,    sys_auditsys,        "auditsys"    },    /* 186 */
  1696. X    { -1,    sys_processor_bind,    "processor_bind"},    /* 187 */
  1697. X    { -1,    sys_processor_info,    "processor_info"},    /* 188 */
  1698. X    { -1,    sys_p_online,        "p_online"    },    /* 189 */
  1699. X    { -1,    sys_sigqueue,        "sigqueue"    },    /* 190 */
  1700. X    { -1,    sys_clock_gettime,    "clock_gettime"    },    /* 191 */
  1701. X    { -1,    sys_clock_settime,    "clock_settime"    },    /* 192 */
  1702. X    { -1,    sys_clock_getres,    "clock_getres"    },    /* 193 */
  1703. X    { -1,    sys_timer_create,    "timer_create"    },    /* 194 */
  1704. X    { -1,    sys_timer_delete,    "timer_delete"    },    /* 195 */
  1705. X    { -1,    sys_timer_settime,    "timer_settime"    },    /* 196 */
  1706. X    { -1,    sys_timer_gettime,    "timer_gettime"    },    /* 197 */
  1707. X    { -1,    sys_timer_getoverrun,    "timer_getoverrun"},    /* 198 */
  1708. X    { -1,    sys_nanosleep,        "nanosleep"    },    /* 199 */
  1709. X
  1710. X    { -1,    printargs,        "SYS_200"    },    /* 200 */
  1711. X    { -1,    printargs,        "SYS_201"    },    /* 201 */
  1712. X    { -1,    printargs,        "SYS_202"    },    /* 202 */
  1713. X    { -1,    printargs,        "SYS_203"    },    /* 203 */
  1714. X    { -1,    printargs,        "SYS_204"    },    /* 204 */
  1715. X    { -1,    printargs,        "SYS_205"    },    /* 205 */
  1716. X    { -1,    printargs,        "SYS_206"    },    /* 206 */
  1717. X    { -1,    printargs,        "SYS_207"    },    /* 207 */
  1718. X    { -1,    printargs,        "SYS_208"    },    /* 208 */
  1719. X    { -1,    printargs,        "SYS_209"    },    /* 209 */
  1720. X    { -1,    printargs,        "SYS_210"    },    /* 210 */
  1721. X    { -1,    printargs,        "SYS_211"    },    /* 211 */
  1722. X    { -1,    printargs,        "SYS_212"    },    /* 212 */
  1723. X    { -1,    printargs,        "SYS_213"    },    /* 213 */
  1724. X    { -1,    printargs,        "SYS_214"    },    /* 214 */
  1725. X    { -1,    printargs,        "SYS_215"    },    /* 215 */
  1726. X    { -1,    printargs,        "SYS_216"    },    /* 216 */
  1727. X    { -1,    printargs,        "SYS_217"    },    /* 217 */
  1728. X    { -1,    printargs,        "SYS_218"    },    /* 218 */
  1729. X    { -1,    printargs,        "SYS_219"    },    /* 219 */
  1730. X    { -1,    printargs,        "SYS_220"    },    /* 220 */
  1731. X    { -1,    printargs,        "SYS_221"    },    /* 221 */
  1732. X    { -1,    printargs,        "SYS_222"    },    /* 222 */
  1733. X    { -1,    printargs,        "SYS_223"    },    /* 223 */
  1734. X    { -1,    printargs,        "SYS_224"    },    /* 224 */
  1735. X    { -1,    printargs,        "SYS_225"    },    /* 225 */
  1736. X    { -1,    printargs,        "SYS_226"    },    /* 226 */
  1737. X    { -1,    printargs,        "SYS_227"    },    /* 227 */
  1738. X    { -1,    printargs,        "SYS_228"    },    /* 228 */
  1739. X    { -1,    printargs,        "SYS_229"    },    /* 229 */
  1740. X    { -1,    printargs,        "SYS_230"    },    /* 230 */
  1741. X    { -1,    printargs,        "SYS_231"    },    /* 231 */
  1742. X    { -1,    printargs,        "SYS_232"    },    /* 232 */
  1743. X    { -1,    printargs,        "SYS_233"    },    /* 233 */
  1744. X    { -1,    printargs,        "SYS_234"    },    /* 234 */
  1745. X    { -1,    printargs,        "SYS_235"    },    /* 235 */
  1746. X    { -1,    printargs,        "SYS_236"    },    /* 236 */
  1747. X    { -1,    printargs,        "SYS_237"    },    /* 237 */
  1748. X    { -1,    printargs,        "SYS_238"    },    /* 238 */
  1749. X    { -1,    printargs,        "SYS_239"    },    /* 239 */
  1750. X    { -1,    printargs,        "SYS_240"    },    /* 240 */
  1751. X    { -1,    printargs,        "SYS_241"    },    /* 241 */
  1752. X    { -1,    printargs,        "SYS_242"    },    /* 242 */
  1753. X    { -1,    printargs,        "SYS_243"    },    /* 243 */
  1754. X    { -1,    printargs,        "SYS_244"    },    /* 244 */
  1755. X    { -1,    printargs,        "SYS_245"    },    /* 245 */
  1756. X    { -1,    printargs,        "SYS_246"    },    /* 246 */
  1757. X    { -1,    printargs,        "SYS_247"    },    /* 247 */
  1758. X    { -1,    printargs,        "SYS_248"    },    /* 248 */
  1759. X    { -1,    printargs,        "SYS_249"    },    /* 249 */
  1760. X    { -1,    printargs,        "SYS_250"    },    /* 250 */
  1761. X    { -1,    printargs,        "SYS_251"    },    /* 251 */
  1762. X    { -1,    printargs,        "SYS_252"    },    /* 252 */
  1763. X    { -1,    printargs,        "SYS_253"    },    /* 253 */
  1764. X    { -1,    printargs,        "SYS_254"    },    /* 254 */
  1765. X    { -1,    printargs,        "SYS_255"    },    /* 255 */
  1766. X    { -1,    printargs,        "SYS_256"    },    /* 256 */
  1767. X    { -1,    printargs,        "SYS_257"    },    /* 257 */
  1768. X    { -1,    printargs,        "SYS_258"    },    /* 258 */
  1769. X    { -1,    printargs,        "SYS_259"    },    /* 259 */
  1770. X    { -1,    printargs,        "SYS_260"    },    /* 260 */
  1771. X    { -1,    printargs,        "SYS_261"    },    /* 261 */
  1772. X    { -1,    printargs,        "SYS_262"    },    /* 262 */
  1773. X    { -1,    printargs,        "SYS_263"    },    /* 263 */
  1774. X    { -1,    printargs,        "SYS_264"    },    /* 264 */
  1775. X    { -1,    printargs,        "SYS_265"    },    /* 265 */
  1776. X    { -1,    printargs,        "SYS_266"    },    /* 266 */
  1777. X    { -1,    printargs,        "SYS_267"    },    /* 267 */
  1778. X    { -1,    printargs,        "SYS_268"    },    /* 268 */
  1779. X    { -1,    printargs,        "SYS_269"    },    /* 269 */
  1780. X    { -1,    printargs,        "SYS_270"    },    /* 270 */
  1781. X    { -1,    printargs,        "SYS_271"    },    /* 271 */
  1782. X    { -1,    printargs,        "SYS_272"    },    /* 272 */
  1783. X    { -1,    printargs,        "SYS_273"    },    /* 273 */
  1784. X    { -1,    printargs,        "SYS_274"    },    /* 274 */
  1785. X    { -1,    printargs,        "SYS_275"    },    /* 275 */
  1786. X    { -1,    printargs,        "SYS_276"    },    /* 276 */
  1787. X    { -1,    printargs,        "SYS_277"    },    /* 277 */
  1788. X    { -1,    printargs,        "SYS_278"    },    /* 278 */
  1789. X    { -1,    printargs,        "SYS_279"    },    /* 279 */
  1790. X    { -1,    printargs,        "SYS_280"    },    /* 280 */
  1791. X    { -1,    printargs,        "SYS_281"    },    /* 281 */
  1792. X    { -1,    printargs,        "SYS_282"    },    /* 282 */
  1793. X    { -1,    printargs,        "SYS_283"    },    /* 283 */
  1794. X    { -1,    printargs,        "SYS_284"    },    /* 284 */
  1795. X    { -1,    printargs,        "SYS_285"    },    /* 285 */
  1796. X    { -1,    printargs,        "SYS_286"    },    /* 286 */
  1797. X    { -1,    printargs,        "SYS_287"    },    /* 287 */
  1798. X    { -1,    printargs,        "SYS_288"    },    /* 288 */
  1799. X    { -1,    printargs,        "SYS_289"    },    /* 289 */
  1800. X    { -1,    printargs,        "SYS_290"    },    /* 290 */
  1801. X    { -1,    printargs,        "SYS_291"    },    /* 291 */
  1802. X    { -1,    printargs,        "SYS_292"    },    /* 292 */
  1803. X    { -1,    printargs,        "SYS_293"    },    /* 293 */
  1804. X    { -1,    printargs,        "SYS_294"    },    /* 294 */
  1805. X    { -1,    printargs,        "SYS_295"    },    /* 295 */
  1806. X    { -1,    printargs,        "SYS_296"    },    /* 296 */
  1807. X    { -1,    printargs,        "SYS_297"    },    /* 297 */
  1808. X    { -1,    printargs,        "SYS_298"    },    /* 298 */
  1809. X    { -1,    printargs,        "SYS_299"    },    /* 299 */
  1810. X
  1811. X    { -1,    sys_getpgrp,        "getpgrp"    },    /* 300 */
  1812. X    { -1,    sys_setpgrp,        "setpgrp"    },    /* 301 */
  1813. X    { -1,    sys_getsid,        "getsid"    },    /* 302 */
  1814. X    { -1,    sys_setsid,        "setsid"    },    /* 303 */
  1815. X    { -1,    sys_getpgid,        "getpgid"    },    /* 304 */
  1816. X    { -1,    sys_setpgid,        "setpgid"    },    /* 305 */
  1817. X    { -1,    printargs,        "SYS_306"    },    /* 306 */
  1818. X    { -1,    printargs,        "SYS_307"    },    /* 307 */
  1819. X    { -1,    printargs,        "SYS_308"    },    /* 308 */
  1820. X    { -1,    printargs,        "SYS_309"    },    /* 309 */
  1821. X
  1822. X    { -1,    sys_signal,        "signal"    },    /* 310 */
  1823. X    { -1,    sys_sigset,        "sigset"    },    /* 311 */
  1824. X    { -1,    sys_sighold,        "sighold"    },    /* 312 */
  1825. X    { -1,    sys_sigrelse,        "sigrelse"    },    /* 313 */
  1826. X    { -1,    sys_sigignore,        "sigignore"    },    /* 314 */
  1827. X    { -1,    sys_sigpause,        "sigpause"    },    /* 315 */
  1828. X    { -1,    printargs,        "SYS_316"    },    /* 316 */
  1829. X    { -1,    printargs,        "SYS_317"    },    /* 317 */
  1830. X    { -1,    printargs,        "SYS_318"    },    /* 318 */
  1831. X    { -1,    printargs,        "SYS_319"    },    /* 319 */
  1832. X
  1833. X    { -1,    sys_msgget,        "msgget"    },    /* 320 */
  1834. X    { -1,    sys_msgctl,        "msgctl"    },    /* 321 */
  1835. X    { -1,    sys_msgrcv,        "msgrcv"    },    /* 322 */
  1836. X    { -1,    sys_msgsnd,        "msgsnd"    },    /* 323 */
  1837. X    { -1,    printargs,        "SYS_324"    },    /* 324 */
  1838. X    { -1,    printargs,        "SYS_325"    },    /* 325 */
  1839. X    { -1,    printargs,        "SYS_326"    },    /* 326 */
  1840. X    { -1,    printargs,        "SYS_327"    },    /* 327 */
  1841. X    { -1,    printargs,        "SYS_328"    },    /* 328 */
  1842. X    { -1,    printargs,        "SYS_329"    },    /* 329 */
  1843. X
  1844. X    { -1,    sys_shmat,        "shmat"        },    /* 330 */
  1845. X    { -1,    sys_shmctl,        "shmctl"    },    /* 331 */
  1846. X    { -1,    sys_shmdt,        "shmdt"        },    /* 332 */
  1847. X    { -1,    sys_shmget,        "shmget"    },    /* 333 */
  1848. X    { -1,    printargs,        "SYS_334"    },    /* 334 */
  1849. X    { -1,    printargs,        "SYS_335"    },    /* 335 */
  1850. X    { -1,    printargs,        "SYS_336"    },    /* 336 */
  1851. X    { -1,    printargs,        "SYS_337"    },    /* 337 */
  1852. X    { -1,    printargs,        "SYS_338"    },    /* 338 */
  1853. X    { -1,    printargs,        "SYS_339"    },    /* 339 */
  1854. X
  1855. X    { -1,    sys_semctl,        "semctl"    },    /* 340 */
  1856. X    { -1,    sys_semget,        "semget"    },    /* 341 */
  1857. X    { -1,    sys_semop,        "semop"        },    /* 342 */
  1858. X    { -1,    printargs,        "SYS_343"    },    /* 343 */
  1859. X    { -1,    printargs,        "SYS_344"    },    /* 344 */
  1860. X    { -1,    printargs,        "SYS_345"    },    /* 345 */
  1861. X    { -1,    printargs,        "SYS_346"    },    /* 346 */
  1862. X    { -1,    printargs,        "SYS_347"    },    /* 347 */
  1863. X    { -1,    printargs,        "SYS_348"    },    /* 348 */
  1864. X    { -1,    printargs,        "SYS_349"    },    /* 349 */
  1865. X
  1866. X    { -1,    sys_olduname,        "olduname"    },    /* 350 */
  1867. X    { -1,    printargs,        "utssys1"    },    /* 351 */
  1868. X    { -1,    sys_ustat,        "ustat"        },    /* 352 */
  1869. X    { -1,    sys_fusers,        "fusers"    },    /* 353 */
  1870. X    { -1,    printargs,        "SYS_354"    },    /* 354 */
  1871. X    { -1,    printargs,        "SYS_355"    },    /* 355 */
  1872. X    { -1,    printargs,        "SYS_356"    },    /* 356 */
  1873. X    { -1,    printargs,        "SYS_357"    },    /* 357 */
  1874. X    { -1,    printargs,        "SYS_358"    },    /* 358 */
  1875. X    { -1,    printargs,        "SYS_359"    },    /* 359 */
  1876. X
  1877. X    { -1,    printargs,        "sysfs0"    },    /* 360 */
  1878. X    { -1,    sys_sysfs1,        "sysfs1"    },    /* 361 */
  1879. X    { -1,    sys_sysfs2,        "sysfs2"    },    /* 362 */
  1880. X    { -1,    sys_sysfs3,        "sysfs3"    },    /* 363 */
  1881. X    { -1,    printargs,        "SYS_364"    },    /* 364 */
  1882. X    { -1,    printargs,        "SYS_365"    },    /* 365 */
  1883. X    { -1,    printargs,        "SYS_366"    },    /* 366 */
  1884. X    { -1,    printargs,        "SYS_367"    },    /* 367 */
  1885. X    { -1,    printargs,        "SYS_368"    },    /* 368 */
  1886. X    { -1,    printargs,        "SYS_369"    },    /* 369 */
  1887. X
  1888. X    { -1,    printargs,        "spcall0"    },    /* 370 */
  1889. X    { -1,    sys_sigpending,        "sigpending"    },    /* 371 */
  1890. X    { -1,    sys_sigfillset,        "sigfillset"    },    /* 372 */
  1891. X    { -1,    printargs,        "SYS_373"    },    /* 373 */
  1892. X    { -1,    printargs,        "SYS_374"    },    /* 374 */
  1893. X    { -1,    printargs,        "SYS_375"    },    /* 375 */
  1894. X    { -1,    printargs,        "SYS_376"    },    /* 376 */
  1895. X    { -1,    printargs,        "SYS_377"    },    /* 377 */
  1896. X    { -1,    printargs,        "SYS_378"    },    /* 378 */
  1897. X    { -1,    printargs,        "SYS_379"    },    /* 379 */
  1898. X
  1899. X    { -1,    sys_getcontext,        "getcontext"    },    /* 380 */
  1900. X    { -1,    sys_setcontext,        "setcontext"    },    /* 381 */
  1901. X    { -1,    printargs,        "SYS_382"    },    /* 382 */
  1902. X    { -1,    printargs,        "SYS_383"    },    /* 383 */
  1903. X    { -1,    printargs,        "SYS_384"    },    /* 384 */
  1904. X    { -1,    printargs,        "SYS_385"    },    /* 385 */
  1905. X    { -1,    printargs,        "SYS_386"    },    /* 386 */
  1906. X    { -1,    printargs,        "SYS_387"    },    /* 387 */
  1907. X    { -1,    printargs,        "SYS_388"    },    /* 388 */
  1908. X    { -1,    printargs,        "SYS_389"    },    /* 389 */
  1909. X
  1910. X    { -1,    printargs,        "SYS_390"    },    /* 390 */
  1911. X    { -1,    printargs,        "SYS_391"    },    /* 391 */
  1912. X    { -1,    printargs,        "SYS_392"    },    /* 392 */
  1913. X    { -1,    printargs,        "SYS_393"    },    /* 393 */
  1914. X    { -1,    printargs,        "SYS_394"    },    /* 394 */
  1915. X    { -1,    printargs,        "SYS_395"    },    /* 395 */
  1916. X    { -1,    printargs,        "SYS_396"    },    /* 396 */
  1917. X    { -1,    printargs,        "SYS_397"    },    /* 397 */
  1918. X    { -1,    printargs,        "SYS_398"    },    /* 398 */
  1919. X    { -1,    printargs,        "SYS_399"    },    /* 399 */
  1920. END_OF_FILE
  1921.   if test 19157 -ne `wc -c <'strace-3.0/svr4/syscallent.h'`; then
  1922.     echo shar: \"'strace-3.0/svr4/syscallent.h'\" unpacked with wrong size!
  1923.   fi
  1924.   # end of 'strace-3.0/svr4/syscallent.h'
  1925. fi
  1926. if test -f 'strace-3.0/test/sig.c' -a "${1}" != "-c" ; then 
  1927.   echo shar: Will not clobber existing file \"'strace-3.0/test/sig.c'\"
  1928. else
  1929.   echo shar: Extracting \"'strace-3.0/test/sig.c'\" \(195 characters\)
  1930.   sed "s/^X//" >'strace-3.0/test/sig.c' <<'END_OF_FILE'
  1931. X#include <signal.h>
  1932. Xmain()
  1933. X{
  1934. X    char buf[1024];
  1935. X    void interrupt();
  1936. X
  1937. X    signal(SIGINT, interrupt);
  1938. X    read(0, buf, 1024);
  1939. X    write(2, "qwerty\n", 7);
  1940. X    exit(0);
  1941. X}
  1942. X
  1943. Xinterrupt()
  1944. X{
  1945. X    write(2, "xyzzy\n", 6);
  1946. X}
  1947. END_OF_FILE
  1948.   if test 195 -ne `wc -c <'strace-3.0/test/sig.c'`; then
  1949.     echo shar: \"'strace-3.0/test/sig.c'\" unpacked with wrong size!
  1950.   fi
  1951.   # end of 'strace-3.0/test/sig.c'
  1952. fi
  1953. echo shar: End of archive 5 \(of 10\).
  1954. cp /dev/null ark5isdone
  1955. MISSING=""
  1956. for I in 1 2 3 4 5 6 7 8 9 10 ; do
  1957.     if test ! -f ark${I}isdone ; then
  1958.     MISSING="${MISSING} ${I}"
  1959.     fi
  1960. done
  1961. if test "${MISSING}" = "" ; then
  1962.     echo You have unpacked all 10 archives.
  1963.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  1964. else
  1965.     echo You still must unpack the following archives:
  1966.     echo "        " ${MISSING}
  1967. fi
  1968. exit 0
  1969. exit 0 # Just in case...
  1970.