home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume25 / tcsh-6.01 / part10 / sh.init.c < prev   
C/C++ Source or Header  |  1991-12-19  |  24KB  |  805 lines

  1. /* $Header: /home/hyperion/mu/christos/src/sys/tcsh-6.01/RCS/sh.init.c,v 3.10 1991/12/14 20:45:46 christos Exp $ */
  2. /*
  3.  * sh.init.c: Function and signal tables
  4.  */
  5. /*-
  6.  * Copyright (c) 1980, 1991 The Regents of the University of California.
  7.  * All rights reserved.
  8.  *
  9.  * Redistribution and use in source and binary forms, with or without
  10.  * modification, are permitted provided that the following conditions
  11.  * are met:
  12.  * 1. Redistributions of source code must retain the above copyright
  13.  *    notice, this list of conditions and the following disclaimer.
  14.  * 2. Redistributions in binary form must reproduce the above copyright
  15.  *    notice, this list of conditions and the following disclaimer in the
  16.  *    documentation and/or other materials provided with the distribution.
  17.  * 3. All advertising materials mentioning features or use of this software
  18.  *    must display the following acknowledgement:
  19.  *    This product includes software developed by the University of
  20.  *    California, Berkeley and its contributors.
  21.  * 4. Neither the name of the University nor the names of its contributors
  22.  *    may be used to endorse or promote products derived from this software
  23.  *    without specific prior written permission.
  24.  *
  25.  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  26.  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  27.  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  28.  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  29.  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  30.  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  31.  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  32.  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  33.  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  34.  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  35.  * SUCH DAMAGE.
  36.  */
  37. #include "sh.h"
  38.  
  39. RCSID("$Id: sh.init.c,v 3.10 1991/12/14 20:45:46 christos Exp $")
  40.  
  41. #include "ed.h"
  42.  
  43. /*
  44.  * C shell
  45.  */
  46.  
  47. #define    INF    0x7fffffff
  48.  
  49. struct    biltins bfunc[] = {
  50.     { "@",    dolet,        0,    INF, },
  51.     { "alias",    doalias,    0,    INF, },
  52.     { "aliases",    doaliases,    0,    1, /* PWP */ },
  53.     { "alloc",    showall,    0,    1, },
  54.     { "bg",    dobg,        0,    INF, },
  55.     { "bind",    dobind,        0,    2, },
  56.     { "bindkey",    dobindkey,    0,    8, },
  57.     { "break",    dobreak,    0,    0, },
  58.     { "breaksw",    doswbrk,    0,    0, },
  59. #if defined(IIASA) || defined(KAI)
  60.     { "bye",    goodbye,    0,    0, },
  61. #endif
  62.     { "case",    dozip,        0,    1, },
  63.     { "cd",    dochngd,    0,    INF, },
  64.     { "chdir",    dochngd,    0,    INF, },
  65.     { "continue",    docontin,    0,    0, },
  66.     { "default",    dozip,        0,    0, },
  67.     { "dirs",    dodirs,        0,    INF, },
  68.     { "echo",    doecho,        0,    INF, },
  69.     { "echotc",    doechotc,    0,    INF, },
  70.     { "else",    doelse,        0,    INF, },
  71.     { "end",    doend,        0,    0, },
  72.     { "endif",    dozip,        0,    0, },
  73.     { "endsw",    dozip,        0,    0, },
  74.     { "eval",    doeval,        0,    INF, },
  75.     { "exec",    execash,    1,    INF, },
  76.     { "exit",    doexit,        0,    INF, },
  77.     { "fg",    dofg,        0,    INF, },
  78.     { "foreach",    doforeach,    3,    INF, },
  79. #ifdef TCF
  80.     { "getspath",    dogetspath,    0,    0, },
  81.     { "getxvers", dogetxvers,    0,    0, },
  82. #endif /* TCF */
  83. #ifdef IIASA
  84.     { "gd",    dopushd,    0,    INF, },
  85. #endif
  86.     { "glob",    doglob,        0,    INF, },
  87.     { "goto",    dogoto,        1,    1, },
  88. #ifdef VFORK
  89.     { "hashstat",    hashstat,    0,    0, },
  90. #endif
  91.     { "history",    dohist,        0,    2, },
  92.     { "if",    doif,        1,    INF, },
  93. #ifdef apollo
  94.     { "inlib",    doinlib,    1,    INF, },
  95. #endif
  96.     { "jobs",    dojobs,        0,    1, },
  97.     { "kill",    dokill,        1,    INF, },
  98. #ifndef HAVENOLIMIT
  99.     { "limit",    dolimit,    0,    3, },
  100. #endif /* ! HAVENOLIMIT */
  101.     { "linedit",    doecho,        0,    INF, },
  102. #ifndef KAI
  103.     { "log",    dolog,        0,    0, },
  104. #endif
  105.     { "login",    dologin,    0,    1, },
  106.     { "logout",    dologout,    0,    0, },
  107.     { "ls-F",    dolist,        0,    INF, },
  108. #ifdef TCF
  109.     { "migrate",    domigrate,    1,    INF, },
  110. #endif /* TCF */
  111. #ifdef NEWGRP
  112.     { "newgrp",    donewgrp,    1,    1, },
  113. #endif
  114.     { "nice",    donice,        0,    INF, },
  115.     { "nohup",    donohup,    0,    INF, },
  116.     { "notify",    donotify,    0,    INF, },
  117.     { "onintr",    doonintr,    0,    2, },
  118.     { "popd",    dopopd,        0,    INF, },
  119.     { "pushd",    dopushd,    0,    INF, },
  120. #ifdef IIASA
  121.     { "rd",    dopopd,        0,    INF, },
  122. #endif
  123.     { "rehash",    dohash,        0,    3, },
  124.     { "repeat",    dorepeat,    2,    INF, },
  125. #ifdef apollo
  126.     { "rootnode", dorootnode,    1,    1, },
  127. #endif
  128.     { "sched",    dosched,    0,    INF, },
  129.     { "set",    doset,        0,    INF, },
  130.     { "setenv",    dosetenv,    0,    2, },
  131. #ifdef MACH
  132.     { "setpath",    dosetpath,    0,    INF, },
  133. #endif    /* MACH */
  134. #ifdef TCF
  135.     { "setspath",    dosetspath,    1,    INF, },
  136. #endif /* TCF */
  137.     { "settc",    dosettc,    2,    2, },
  138.     { "setty",  dosetty,    0,      INF },
  139. #ifdef TCF
  140.     { "setxvers",    dosetxvers,    0,    1, },
  141. #endif /* TCF */
  142.     { "shift",    shift,        0,    1, },
  143.     { "source",    dosource,    1,    2, },
  144.     { "stop",    dostop,        1,    INF, },
  145.     { "suspend",    dosuspend,    0,    0, },
  146.     { "switch",    doswitch,    1,    INF, },
  147.     { "telltc",    dotelltc,    0,    INF, },
  148.     { "time",    dotime,        0,    INF, },
  149.     { "umask",    doumask,    0,    1, },
  150.     { "unalias",    unalias,    1,    INF, },
  151.     { "unhash",    dounhash,    0,    0, },
  152. #ifdef masscomp
  153.     { "universe",    douniverse,    0,    1, },
  154. #endif
  155. #ifndef HAVENOLIMIT
  156.     { "unlimit",    dounlimit,    0,    INF, },
  157. #endif /* !HAVENOLIMIT */
  158.     { "unset",    unset,        1,    INF, },
  159.     { "unsetenv",    dounsetenv,    1,    INF, },
  160. #ifdef apollo
  161.     { "ver",    dover,        0,    INF, },
  162. #endif
  163.     { "wait",    dowait,        0,    0, },
  164. #ifdef WARP
  165.     { "warp",    dowarp,        0,    2, },
  166. #endif
  167. #ifdef KAI
  168.     { "watchlog",    dolog,        0,    0, },
  169. #endif
  170.     { "where",    dowhere,    1,    INF, },
  171.     { "which",    dowhich,    1,    INF, },
  172.     { "while",    dowhile,    1,    INF, },
  173. };
  174. int nbfunc = sizeof bfunc / sizeof *bfunc;
  175.  
  176. struct srch srchn[] = {
  177.     { "@",    T_LET, },
  178.     { "break",    T_BREAK, },
  179.     { "breaksw",    T_BRKSW, },
  180.     { "case",    T_CASE, },
  181.     { "default",     T_DEFAULT, },
  182.     { "else",    T_ELSE, },
  183.     { "end",    T_END, },
  184.     { "endif",    T_ENDIF, },
  185.     { "endsw",    T_ENDSW, },
  186.     { "exit",    T_EXIT, },
  187.     { "foreach",     T_FOREACH, },
  188.     { "goto",    T_GOTO, },
  189.     { "if",    T_IF, },
  190.     { "label",    T_LABEL, },
  191.     { "set",    T_SET, },
  192.     { "switch",    T_SWITCH, },
  193.     { "while",    T_WHILE, },
  194. };
  195. int nsrchn = sizeof srchn / sizeof *srchn;
  196.  
  197. /*
  198.  * Note: For some machines, (hpux eg.)
  199.  * NSIG = number of signals + 1...
  200.  * so we define 33 signals for 
  201.  * everybody
  202.  */
  203. struct    mesg mesg[] = {
  204. /*  0 */    0,        "",
  205. /*  1 */    "HUP",        "Hangup",
  206. /*  2 */    "INT",        "Interrupt",    
  207. /*  3 */    "QUIT",        "Quit",
  208. /*  4 */    "ILL",        "Illegal instruction",
  209. /*  5 */    "TRAP",        "Trace/BPT trap",
  210. #if SVID > 3
  211. /*  6 */    "ABRT",        "Abort",
  212. #else /* SVID > 3 */
  213. /*  6 */    "IOT",        "IOT trap",
  214. #endif /* SVID > 3 */
  215. #ifdef aiws
  216. /*  7 */    "DANGER",     "System Crash Imminent",
  217. #else /* aiws */
  218. /*  7 */    "EMT",        "EMT trap",
  219. #endif /* aiws */
  220. /*  8 */    "FPE",        "Floating exception",
  221. /*  9 */    "KILL",        "Killed",
  222. /* 10 */    "BUS",        "Bus error",
  223. /* 11 */    "SEGV",        "Segmentation fault",
  224. /* 12 */    "SYS",        "Bad system call",
  225. /* 13 */    "PIPE",        "Broken pipe",
  226. /* 14 */    "ALRM",        "Alarm clock",
  227. /* 15 */    "TERM",        "Terminated",
  228.  
  229. #if (SVID > 0) || defined(DGUX) || defined(IBMAIX) || defined(apollo)
  230.  
  231. # ifdef _sigextra_
  232. #  undef  _sigextra_
  233. # endif /* _sigextra_ */
  234.  
  235. #if !defined(IBMAIX) && !defined(cray)
  236. /* these are the real svid signals */
  237. /* 16 */    "USR1",        "User signal 1",
  238. /* 17 */    "USR2",     "User signal 2",
  239. # ifdef apollo
  240. /* 18 */    "CLD",        "Death of child",
  241. /* 19 */    "APOLLO",      "Apollo-specific fault",
  242. # else
  243. /* 18 */    "CHLD",        "Child exited",
  244. /* 19 */    "PWR",      "Power failure",
  245. # endif /* apollo */
  246. #endif /* IBMAIX */
  247.  
  248. # ifdef cray
  249. # define _sigextra_
  250. /* 16 */    "IO",        "Input/output possible signal",
  251. /* 17 */    "URG",        "Urgent condition on I/O channel",
  252. /* 18 */    "CHLD",        "Child exited",
  253. /* 19 */    "PWR",        "Power failure",
  254. /* 20 */    "MT",        "Multitasking wake-up",
  255. /* 21 */    "MTKILL",    "Multitasking kill",
  256. /* 22 */    "BUFIO",    "Fortran asynchronous I/O completion",
  257. /* 23 */    "RECOVERY",    "Recovery",
  258. /* 24 */    "UME",        "Uncorrectable memory error",
  259. /* 25 */    "DLK",        "True deadlock detected",
  260. /* 26 */    "CPULIM",    "CPU time limit exceeded",
  261. /* 27 */    "SHUTDN",    "System shutdown imminent",
  262. # ifdef SUSPENDED
  263. /* 28 */    "STOP",     "Suspended",
  264. /* 29 */    "TSTP",     "Suspended",
  265. # else /* SUSPENDED */
  266. /* 28 */    "STOP",     "Stopped",
  267. /* 29 */    "TSTP",     "Stopped",
  268. # endif /* SUSPENDED */
  269. /* 30 */    "CONT",       "Continue",
  270. # ifdef SUSPENDED
  271. /* 31 */    "TTIN",        "Suspended (tty input)",
  272. /* 32 */    "TTOU",        "Suspended (tty output)",
  273. # else /* SUSPENDED */
  274. /* 31 */    "TTIN",        "Stopped (tty input)",
  275. /* 32 */    "TTOU",        "Stopped (tty output)",
  276. # endif /* SUSPENDED */
  277. /* 33 */    "WINCH",    "Window size changed",
  278. /* 34 */    "RPE",        "CRAY Y-MP register parity error",
  279. /* 35 */    0,        "Signal 35",
  280. /* 36 */    0,        "Signal 36",
  281. /* 37 */    0,        "Signal 37",
  282. /* 38 */    0,        "Signal 38",
  283. /* 39 */    0,        "Signal 39",
  284. /* 40 */    0,        "Signal 40",
  285. /* 41 */    0,        "Signal 41",
  286. /* 42 */    0,        "Signal 42",
  287. /* 43 */    0,        "Signal 43",
  288. /* 44 */    0,        "Signal 44",
  289. /* 45 */    0,        "Signal 45",
  290. /* 46 */    0,        "Signal 46",
  291. /* 47 */    0,        "Signal 47",
  292. /* 48 */    "INFO",        "Information signal",
  293. /* 49 */    "USR1",        "User-defined signal 1",
  294. /* 50 */    "USR2",        "User-defined signal 2",
  295. /* 51 */    0,        "Signal 51",
  296. /* 52 */    0,        "Signal 52",
  297. /* 53 */    0,        "Signal 53",
  298. /* 54 */    0,        "Signal 54",
  299. /* 55 */    0,        "Signal 55",
  300. /* 56 */    0,        "Signal 56",
  301. /* 57 */    0,        "Signal 57",
  302. /* 58 */    0,        "Signal 58",
  303. /* 59 */    0,        "Signal 59",
  304. /* 60 */    0,        "Signal 60",
  305. /* 61 */    0,        "Signal 61",
  306. /* 62 */    0,        "Signal 62",
  307. /* 63 */    0,            "Signal 63",
  308. /* 64 */    0,        "Signal 64",
  309. # endif /* cray */
  310.  
  311. /*
  312. **  In the UNIXpc these signal *ARE* used!!
  313. */
  314. #ifdef UNIXPC
  315. /* 20 */    "WIND",        "Window status changed",
  316. /* 21 */    "PHONE",     "Phone status changed",
  317. #endif
  318.  
  319. # ifdef OREO
  320. #  define _sigextra_
  321. #  ifdef SUSPENDED
  322. /* 20 */    "TSTP",        "Suspended",
  323. /* 21 */    "TTIN",     "Suspended (tty input)",
  324. /* 22 */    "TTOU",     "Suspended (tty output)",
  325. /* 23 */    "STOP",        "Suspended (signal)",
  326. #  else
  327. /* 20 */    "TSTP",        "Stopped",
  328. /* 21 */    "TTIN",     "Stopped (tty input)",
  329. /* 22 */    "TTOU",     "Stopped (tty output)",
  330. /* 23 */    "STOP",        "Stopped (signal)",
  331. #  endif /* SUSPENDED */
  332. /* 24 */    "XCPU",        "Cputime limit exceeded",
  333. /* 25 */    "XFSZ",     "Filesize limit exceeded",
  334. /* 26 */    "VTALRM",     "Virtual time alarm",
  335. /* 27 */    "PROF",     "Profiling time alarm",
  336. /* 28 */    "WINCH",     "Window changed",
  337. /* 29 */    "CONT",        "Continued",
  338. /* 30 */    "URG",        "Urgent condition on IO channel",
  339. /* 31 */    "IO",        "Asynchronous I/O (select)",
  340. /* 32 */    0,        "Signal 32",
  341. # endif /* OREO */
  342.  
  343. # ifdef hpux
  344. #  define _sigextra_
  345. /* 20 */    "VTALRM",     "Virtual time alarm",
  346. /* 21 */    "PROF",     "Profiling time alarm",
  347. /* 22 */    "IO",         "Asynchronous I/O (select)",
  348. /* 23 */    "WINDOW",     "Window changed",
  349. #  ifdef SUSPENDED
  350. /* 24 */    "STOP",        "Suspended (signal)",
  351. /* 25 */    "TSTP",        "Suspended",
  352. #  else /* SUSPENDED */
  353. /* 24 */    "STOP",        "Stopped (signal)",
  354. /* 25 */    "TSTP",        "Stopped",
  355. #  endif /* SUSPENDED */
  356. /* 26 */    "CONT",        "Continued",
  357. #  ifdef SUSPENDED
  358. /* 27 */    "TTIN",     "Suspended (tty input)",
  359. /* 28 */    "TTOU",     "Suspended (tty output)",
  360. #  else /* SUSPENDED */
  361. /* 27 */    "TTIN",     "Stopped (tty input)",
  362. /* 28 */    "TTOU",     "Stopped (tty output)",
  363. #  endif /* SUSPENDED */
  364. /* 29 */    "URG",        "Urgent condition on IO channel",
  365. /* 30 */    "LOST",        "Remote lock lost (NFS)",
  366. /* 31 */    0,         "Reserved", /* Reserved */
  367. /* 32 */    "DIL",        "DIL signal",
  368. # endif /* hpux */
  369.  
  370. # ifdef stellar
  371. #  define _sigextra_
  372. /* 20 */    "WINDOW",     "Window changed",
  373. /* 21 */    "URG",        "Urgent condition on IO channel",
  374. /* 22 */    "POLL",     "Pollable event occured",
  375. #  ifdef SUSPENDED
  376. /* 23 */    "STOP",        "Suspended (signal)",
  377. /* 24 */    "TSTP",        "Suspended",
  378. #  else /* SUSPENDED */
  379. /* 23 */    "STOP",        "Stopped (signal)",
  380. /* 24 */    "TSTP",        "Stopped",
  381. #  endif /* SUSPENDED */
  382. /* 25 */    "CONT",        "Continued",
  383. #  ifdef SUSPENDED
  384. /* 26 */    "TTIN",     "Suspended (tty input)",
  385. /* 27 */    "TTOU",     "Suspended (tty output)",
  386. #  else /* SUSPENDED */
  387. /* 26 */    "TTIN",     "Stopped (tty input)",
  388. /* 27 */    "TTOU",     "Stopped (tty output)",
  389. #  endif /* SUSPENDED */
  390. /* 28 */    "IO",         "Asynchronous I/O (select)",
  391. /* 29 */    "XCPU",        "Cputime limit exceeded",
  392. /* 30 */    "XFSZ",     "Filesize limit exceeded",
  393. /* 31 */    "VTALRM",     "Virtual time alarm",
  394. /* 32 */    "PROF",     "Profiling time alarm",
  395. # endif /* stellar */
  396.  
  397. # if SVID > 3
  398. #  define _sigextra_
  399. /* 20 */    "WINCH",     "Window change",
  400. /* 21 */    "URG",         "Urgent socket condition",
  401. /* 22 */    "IO",         "Socket I/O possible",
  402. #  ifdef SUSPENDED
  403. /* 23 */    "STOP",        "Suspended (signal)",
  404. /* 24 */    "TSTP",        "Suspended",
  405. /* 25 */    "CONT",        "Continued",
  406. /* 26 */    "TTIN",     "Suspended (tty input)",
  407. /* 27 */    "TTOU",     "Suspended (tty output)",
  408. #  else /* SUSPENDED */
  409. /* 23 */    "STOP",        "Stopped (signal)",
  410. /* 24 */    "TSTP",        "Stopped",
  411. /* 25 */    "CONT",        "Continued",
  412. /* 26 */    "TTIN",     "Stopped (tty input)",
  413. /* 27 */    "TTOU",     "Stopped (tty output)",
  414. #  endif /* SUSPENDED */
  415. /* 28 */    "VTALRM",    "Virtual timer expired",
  416. /* 29 */    "PROF",        "Profiling timer expired",
  417. /* 30 */    "XCPU",        "CPU time limit exceeded",
  418. /* 31 */    "XFSZ",     "File size limit exceeded",
  419. /* 32 */    0,        "Maximum number of signals",
  420. # endif /* SVID > 3 */
  421. # if defined(ISC) && defined(POSIX) 
  422. #  define _sigextra_
  423. /* 20 */    "WINCH",     "Window change",
  424. /* 21 */    0,         "Unused", /* SIGPHONE used only for UNIXPC */
  425. /* 22 */    "POLL",     "Pollable event occured",
  426. /* 23 */    "CONT",     "Continued",
  427. #  ifdef SUSPENDED
  428. /* 24 */    "STOP",        "Suspended (signal)",
  429. /* 25 */    "TSTP",        "Suspended",
  430. /* 26 */    "TTIN",     "Suspended (tty input)",
  431. /* 27 */    "TTOU",     "Suspended (tty output)",
  432. #  else /* SUSPENDED */
  433. /* 24 */    "STOP",        "Stopped (signal)",
  434. /* 25 */    "TSTP",        "Stopped",
  435. /* 26 */    "TTIN",     "Stopped (tty input)",
  436. /* 27 */    "TTOU",     "Stopped (tty output)",
  437. #  endif /* SUSPENDED */
  438. /* 28 */    0,          "number of signals",
  439. /* 29 */    0,        "Reserved", /* Reserved */
  440. /* 30 */    0,        "Reserved", /* Reserved */
  441. /* 31 */    0,         "Reserved", /* Reserved */
  442. /* 32 */    0,        "Maximum number of signals",
  443. # endif /* ISC && POSIX */
  444.  
  445. # if defined(SCO) && defined(POSIX) 
  446. #  define _sigextra_
  447. /* 20 */    "WINCH",     "Window change",
  448. /* 21 */    0,         "Unused", /* SIGPHONE used only for UNIXPC */
  449. /* 22 */    "POLL",     "Pollable event occured",
  450. #  ifdef SUSPENDED
  451. /* 23 */    "STOP",        "Suspended (signal)",
  452. /* 24 */    "TSTP",        "Suspended",
  453. /* 25 */    "CONT",     "Continued",
  454. /* 26 */    "TTIN",     "Suspended (tty input)",
  455. /* 27 */    "TTOU",     "Suspended (tty output)",
  456. #  else /* SUSPENDED */
  457. /* 23 */    "STOP",        "Stopped (signal)",
  458. /* 24 */    "TSTP",        "Stopped",
  459. /* 25 */    "CONT",     "Continued",
  460. /* 26 */    "TTIN",     "Stopped (tty input)",
  461. /* 27 */    "TTOU",     "Stopped (tty output)",
  462. #  endif /* SUSPENDED */
  463. /* 28 */    0,          "number of signals",
  464. /* 29 */    0,        "Reserved", /* Reserved */
  465. /* 30 */    0,        "Reserved", /* Reserved */
  466. /* 31 */    0,         "Reserved", /* Reserved */
  467. /* 32 */    0,        "Maximum number of signals",
  468. # endif /* SCO && POSIX */
  469.  
  470. # ifdef IRIS4D
  471. #  define _sigextra_
  472. #  ifdef SUSPENDED
  473. /* 20 */    "STOP",        "Suspended (signal)",
  474. /* 21 */    "TSTP",        "Suspended",
  475. #  else /* SUSPENDED */
  476. /* 20 */    "STOP",        "Stopped (signal)",
  477. /* 21 */    "TSTP",        "Stopped",
  478. #  endif /* SUSPENDED */
  479. /* 22 */    "POLL",     "Stream I/O pending",
  480. /* 23 */    "IO",         "Asynchronous I/O (select)",
  481. /* 24 */    "URG",        "Urgent condition on IO channel",
  482. /* 25 */    "WINCH",     "Window changed",
  483. /* 26 */    "VTALRM",     "Virtual time alarm",
  484. /* 27 */    "PROF",     "Profiling time alarm",
  485. /* 28 */    "CONT",        "Continued",
  486. #  ifdef SUSPENDED
  487. /* 29 */    "TTIN",     "Suspended (tty input)",
  488. /* 30 */    "TTOU",     "Suspended (tty output)",
  489. #  else /* SUSPENDED */
  490. /* 29 */    "TTIN",     "Stopped (tty input)",
  491. /* 30 */    "TTOU",     "Stopped (tty output)",
  492. #  endif /* SUSPENDED */
  493. /* 31 */    0,        "Signal 31",
  494. /* 32 */    0,        "Signal 32",
  495. # endif /* IRIS4D */
  496.  
  497. # ifdef IRIS3D
  498. #  define _sigextra_
  499. /* 20 */    0,        "Signal 20",
  500. /* 21 */    0,        "Signal 21",
  501. /* 22 */    0,        "Signal 22",
  502. /* 23 */    0,        "Signal 23",
  503. /* 24 */    0,        "Signal 24",
  504. /* 25 */    "WINCH",     "Window changed",
  505. /* 26 */    "IO",         "Asynchronous I/O (select)",
  506. /* 27 */    "URG",        "Urgent condition on IO channel",
  507. /* 28 */    "POLL",     "Stream I/O pending",
  508. /* 29 */    0,        "Signal 29",
  509. /* 30 */    0,        "Signal 30",
  510. /* 31 */    0,        "Signal 31",
  511. /* 32 */    0,        "Signal 32",
  512. # endif /* IRIS3D */
  513.  
  514. # ifdef apollo
  515. #  define _sigextra_
  516. #  ifdef SUSPENDED
  517. /* 20 */    "STOP",        "Suspended (signal)",
  518. /* 21 */    "TSTP",        "Suspended",
  519. #  else /* SUSPENDED */
  520. /* 20 */    "STOP",        "Stopped (signal)",
  521. /* 21 */    "TSTP",        "Stopped",
  522. #  endif /* SUSPENDED */
  523. /* 22 */    "CONT",        "Continued",
  524. /* 23 */    "CHLD",        "Child stopped or exited",
  525. #  ifdef SUSPENDED
  526. /* 24 */    "TTIN",     "Suspended (tty input)",
  527. /* 25 */    "TTOU",     "Suspended (tty output)",
  528. #  else /* SUSPENDED */
  529. /* 24 */    "TTIN",     "Stopped (tty input)",
  530. /* 25 */    "TTOU",     "Stopped (tty output)",
  531. #  endif /* SUSPENDED */
  532. /* 26 */    "IO",         "Asynchronous I/O (select)",
  533. /* 27 */    "XCPU",        "Cputime limit exceeded",
  534. /* 28 */    "XFSZ",     "Filesize limit exceeded",
  535. /* 29 */    "VTALRM",     "Virtual time alarm",
  536. /* 30 */    "PROF",     "Profiling time alarm",
  537. /* 31 */    "URG",        "Urgent condition on IO channel",
  538. /* 32 */    "WINCH",     "Window changed",
  539. # endif /* apollo */
  540.  
  541. # ifdef aiws
  542. #  define _sigextra_
  543. /* 20 */    0,        "Signal 20",
  544. /* 21 */    0,        "Signal 21",
  545. /* 22 */    0,        "Signal 22",
  546. /* 23 */    "AIO",         "LAN Asyncronous I/O",
  547. /* 24 */    "PTY",         "PTY read/write availability",
  548. /* 25 */    "IOINT",     "I/O intervention required",
  549. /* 26 */    "GRANT",     "monitor mode granted",
  550. /* 27 */    "RETRACT",     "monitor mode retracted",
  551. /* 28 */    "WINCH","Window size changed",
  552. /* 29 */    0,        "Signal 29",
  553. /* 30 */    "SOUND",     "sound completed",
  554. /* 31 */    "MSG",         "input hft data pending",
  555. /* 32 */    0,        "Signal 32",
  556. # endif /* aiws */
  557.  
  558. # ifdef m88k                /* Motorola 88100: POSIX/BCS signals */
  559. #  define _sigextra_
  560. /* 20 */    "WINCH",     "Window changed",
  561. # ifdef DGUX
  562. /* 21 */    0,        "Signal 21",
  563. # else
  564. #  ifdef SUSPENDED
  565. /* 21 */    "TTIN",     "Suspended (tty input)",
  566. #  else /* SUSPENDED */
  567. /* 21 */    "TTIN",     "Stopped (tty input)",
  568. #  endif /* SUSPENDED */
  569. # endif /* DGUX */
  570. /* 22 */    "POLL",     "Stream I/O pending",
  571. # ifdef SUSPENDED
  572. /* 23 */    "STOP",        "Suspended (signal)",
  573. /* 24 */    "TSTP",        "Suspended",
  574. # else /* SUSPENDED */
  575. /* 23 */    "STOP",        "Stopped (signal)",
  576. /* 24 */    "TSTP",        "Stopped",
  577. # endif /* SUSPENDED */
  578. /* 25 */    "CONT",        "Continued",
  579. # ifdef SUSPENDED
  580. /* 26 */    "TTIN",     "Suspended (tty input)",
  581. /* 27 */    "TTOU",     "Suspended (tty output)",
  582. # else /* SUSPENDED */
  583. /* 26 */    "TTIN",     "Stopped (tty input)",
  584. /* 27 */    "TTOU",     "Stopped (tty output)",
  585. # endif /* SUSPENDED */
  586. /* 28 */    0,        "Signal 28",
  587. /* 29 */    0,        "Signal 29",
  588. /* 30 */    0,        "Signal 30",
  589. /* 31 */    0,        "Signal 31",
  590. /* 32 */    0,        "Signal 32",
  591. /* 33 */    "URG",        "Urgent condition on IO channel",
  592. /* 34 */    "IO",         "Asynchronous I/O (select)",
  593. /* 35 */    "XCPU",        "Cputime limit exceeded",
  594. /* 36 */    "XFSZ",     "Filesize limit exceeded",
  595. /* 37 */    "VTALRM",     "Virtual time alarm",
  596. /* 38 */    "PROF",        "Profiling time alarm",
  597. /* 39 */    0,        "Signal 39",
  598. /* 40 */    "LOST",        "Resource lost",
  599. /* 41 */    0,        "Signal 41",
  600. /* 42 */    0,        "Signal 42",
  601. /* 43 */    0,        "Signal 43",
  602. /* 44 */    0,        "Signal 44",
  603. /* 45 */    0,        "Signal 45",
  604. /* 46 */    0,        "Signal 46",
  605. /* 47 */    0,        "Signal 47",
  606. /* 48 */    0,        "Signal 48",
  607. /* 49 */    0,        "Signal 49",
  608. /* 50 */    0,        "Signal 50",
  609. /* 51 */    0,        "Signal 51",
  610. /* 52 */    0,        "Signal 52",
  611. /* 53 */    0,        "Signal 53",
  612. /* 54 */    0,        "Signal 54",
  613. /* 55 */    0,        "Signal 55",
  614. /* 56 */    0,        "Signal 56",
  615. /* 57 */    0,        "Signal 57",
  616. /* 58 */    0,        "Signal 58",
  617. /* 59 */    0,        "Signal 59",
  618. /* 60 */    0,        "Signal 60",
  619. /* 61 */    0,        "Signal 61",
  620. /* 62 */    0,        "Signal 62",
  621. /* 63 */    0,        "Signal 63",
  622. /* 64 */    0,        "Signal 64",
  623. # endif /* m88k */
  624.  
  625.  
  626. #ifdef IBMAIX
  627. # define _sigextra_
  628.  
  629. /* 16 */    "URG",        "Urgent condition on IO channel",
  630. # ifdef SUSPENDED
  631. /* 17 */    "STOP",        "Suspended (signal)",
  632. /* 18 */    "TSTP",        "Suspended",
  633. # else /* SUSPENDED */
  634. /* 17 */    "STOP",        "Stopped (signal)",
  635. /* 18 */    "TSTP",        "Stopped",
  636. # endif /* SUSPENDED */
  637. /* 19 */    "CONT",        "Continued",
  638. /* 20 */    "CHLD",        "Child exited",
  639. # ifdef SUSPENDED
  640. /* 21 */    "TTIN",     "Suspended (tty input)",
  641. /* 22 */    "TTOU",     "Suspended (tty output)",
  642. # else /* SUSPENDED */
  643. /* 21 */    "TTIN",     "Stopped (tty input)",
  644. /* 22 */    "TTOU",     "Stopped (tty output)",
  645. # endif /* SUSPENDED */
  646. /* 23 */    "IO",       "IO possible interrupt",
  647. /* 24 */    "XCPU",        "Cputime limit exceeded",
  648. /* 25 */    "XFSZ",     "Filesize limit exceeded",
  649. /* 26 */    0,        "Signal 26",
  650. /* 27 */    "MSG",         "Data in HFT ring buffer",
  651. /* 28 */    "WINCH",    "Window size changed",
  652. /* 29 */    "PWR",        "Power failure",
  653. /* 30 */    "USR1",        "User signal 1",
  654. /* 31 */    "USR2",     "User signal 2",
  655. /* 32 */    "PROF",        "Profiling time alarm",
  656. /* 33 */    "DANGER",     "System Crash Imminent",
  657. /* 34 */    "VTALRM",     "Virtual time alarm",
  658. /* 35 */    "MIGRATE",    "Migrate process",
  659. /* 36 */    "PRE",          "Programming exception",
  660. /* 37 */    0,        "Signal 37",
  661. /* 38 */    0,        "Signal 38",
  662. /* 39 */    0,        "Signal 39",
  663. /* 40 */    0,        "Signal 40",
  664. /* 41 */    0,        "Signal 41",
  665. /* 42 */    0,        "Signal 42",
  666. /* 43 */    0,        "Signal 43",
  667. /* 44 */    0,        "Signal 44",
  668. /* 45 */    0,        "Signal 45",
  669. /* 46 */    0,        "Signal 46",
  670. /* 47 */    0,        "Signal 47",
  671. /* 48 */    0,        "Signal 48",
  672. /* 49 */    0,        "Signal 49",
  673. /* 50 */    0,        "Signal 50",
  674. /* 51 */    0,        "Signal 51",
  675. /* 52 */    0,        "Signal 52",
  676. /* 53 */    0,        "Signal 53",
  677. /* 54 */    0,        "Signal 54",
  678. /* 55 */    0,        "Signal 55",
  679. /* 56 */    0,        "Signal 56",
  680. /* 57 */    0,        "Signal 57",
  681. /* 58 */    0,        "Signal 58",
  682. /* 59 */    0,        "Signal 59",
  683. /* 60 */    "GRANT",     "HFT monitor mode granted",
  684. /* 61 */    "RETRACT",     "HFT monitor mode should be relinguished",
  685. /* 62 */    "SOUND",    "HFT sound control has completed",
  686. #ifdef SIGSAK
  687. /* 63 */    "SAK",        "Secure attention key",
  688. #else
  689. /* 63 */    0,            "Signal 63",
  690. #endif
  691. /* 64 */    0,        "Signal 64",
  692. #endif /* IBMAIX */
  693.  
  694. # ifdef _SEQUENT_
  695. #  define _sigextra_
  696. /* 20 */    "WINCH",     "Window changed",
  697. /* 21 */    0,        "Signal 21",
  698. /* 22 */    "POLL",     "Stream I/O pending",
  699. #  ifdef SUSPENDED
  700. /* 23 */    "STOP",        "Suspended (signal)",
  701. /* 24 */    "TSTP",        "Suspended",
  702. /* 25 */    "CONT",        "Continued",
  703. /* 26 */    "TTIN",     "Suspended (tty input)",
  704. /* 27 */    "TTOU",     "Suspended (tty output)",
  705. #  else /* SUSPENDED */
  706. /* 23 */    "STOP",        "Stopped (signal)",
  707. /* 24 */    "TSTP",        "Stopped",
  708. /* 25 */    "CONT",        "Continued",
  709. /* 26 */    "TTIN",     "Stopped (tty input)",
  710. /* 27 */    "TTOU",     "Stopped (tty output)",
  711. #  endif /* SUSPENDED */
  712. /* 28 */    0,         "Signal 28",
  713. /* 29 */    0,        "Signal 29",
  714. /* 30 */    0,         "Signal 30",
  715. /* 31 */    0,         "Signal 31",
  716. /* 32 */    0,        "Signal 32",
  717. # endif /* _SEQUENT_ */
  718.  
  719. # ifndef _sigextra_
  720. /* 20 */    0,        "Signal 20",
  721. /* 21 */    0,        "Signal 21",
  722. /* 22 */    0,        "Signal 22",
  723. /* 23 */    0,        "Signal 23",
  724. /* 24 */    0,        "Signal 24",
  725. /* 25 */    0,        "Signal 25",
  726. /* 26 */    0,        "Signal 26",
  727. /* 27 */    0,        "Signal 27",
  728. /* 28 */    0,        "Signal 28",
  729. /* 29 */    0,        "Signal 29",
  730. /* 30 */    0,        "Signal 30",
  731. /* 31 */    0,        "Signal 31",
  732. /* 32 */    0,        "Signal 32",
  733. # endif /* _sigextra_ */
  734.  
  735.  
  736. #else /* bsd */
  737.  
  738. # ifdef _sigextra_
  739. #  undef  _sigextra_
  740. # endif /* _sigextra_ */
  741.  
  742. /* 16 */    "URG",        "Urgent condition on IO channel",
  743. # ifdef SUSPENDED
  744. /* 17 */    "STOP",        "Suspended (signal)",
  745. /* 18 */    "TSTP",        "Suspended",
  746. # else /* SUSPENDED */
  747. /* 17 */    "STOP",        "Stopped (signal)",
  748. /* 18 */    "TSTP",        "Stopped",
  749. # endif /* SUSPENDED */
  750. /* 19 */    "CONT",        "Continued",
  751. /* 20 */    "CHLD",        "Child exited",
  752. # ifdef SUSPENDED
  753. /* 21 */    "TTIN",     "Suspended (tty input)",
  754. /* 22 */    "TTOU",     "Suspended (tty output)",
  755. # else /* SUSPENDED */
  756. /* 21 */    "TTIN",     "Stopped (tty input)",
  757. /* 22 */    "TTOU",     "Stopped (tty output)",
  758. # endif /* SUSPENDED */
  759. /* 23 */    "IO",       "IO possible interrupt",
  760. /* 24 */    "XCPU",        "Cputime limit exceeded",
  761. /* 25 */    "XFSZ",     "Filesize limit exceeded",
  762. /* 26 */    "VTALRM",     "Virtual time alarm",
  763. /* 27 */    "PROF",        "Profiling time alarm",
  764.  
  765. # if defined(sun) || defined(ultrix) || defined(hp9000) || defined(convex) || defined(__convex__)
  766. #  define _sigextra_
  767. /* 28 */    "WINCH",     "Window changed",
  768. /* 29 */    "LOST",        "Resource lost",
  769. /* 30 */    "USR1",        "User signal 1",
  770. /* 31 */    "USR2",        "User signal 2",
  771. /* 32 */    0,        "Signal 32",
  772. # endif /* sun */
  773.  
  774. # ifdef pyr
  775. #  define _sigextra_
  776. /* 28 */    "USR1",        "User signal 1",
  777. /* 29 */    "USR2",        "User signal 2",
  778. /* 30 */    "PWR",        "Power failure",
  779. /* 31 */    0,        "Signal 31",
  780. /* 32 */    0,        "Signal 32",
  781. # endif /* pyr */
  782.  
  783. # ifndef _sigextra_
  784. /* 28 */    "WINCH",    "Window size changed",
  785. #  ifdef RENO
  786. /* 29 */    "INFO",        "Information request",
  787. #  else
  788. /* 29 */    0,        "Signal 29",
  789. #  endif /* RENO */
  790. /* 30 */    "USR1",        "User defined signal 1",
  791. /* 31 */    "USR2",        "User defined signal 2",
  792. /* 32 */    0,        "Signal 32",
  793. # endif /* _sigextra_ */
  794.  
  795.  
  796. #endif /* (SVID > 0) || DGUX || IBMAIX */
  797.  
  798. /* These are here for systems with bad NSIG */
  799. #ifndef POSIX
  800. /* 33 */    0,        "Signal 33"
  801. #else /* POSIX */
  802. /* 65 */    0,        "Signal 65"
  803. #endif /* POSIX */
  804. };
  805.