Annotation of micropolis/src/tcl/tclunxst.c, revision 1.1

1.1     ! root        1: /* 
        !             2:  * tclUnixStr.c --
        !             3:  *
        !             4:  *     This file contains procedures that generate strings
        !             5:  *     corresponding to various UNIX-related codes, such
        !             6:  *     as errno and signals.
        !             7:  *
        !             8:  * Copyright 1991 Regents of the University of California
        !             9:  * Permission to use, copy, modify, and distribute this
        !            10:  * software and its documentation for any purpose and without
        !            11:  * fee is hereby granted, provided that this copyright
        !            12:  * notice appears in all copies.  The University of California
        !            13:  * makes no representations about the suitability of this
        !            14:  * software for any purpose.  It is provided "as is" without
        !            15:  * express or implied warranty.
        !            16:  */
        !            17: 
        !            18: #ifndef lint
        !            19: static char rcsid[] = "$Header: /user6/ouster/tcl/RCS/tclUnixStr.c,v 1.12 92/04/30 15:51:15 ouster Exp $ SPRITE (Berkeley)";
        !            20: #endif /* not lint */
        !            21: 
        !            22: #include "tclint.h"
        !            23: #include "tclunix.h"
        !            24: 
        !            25: /*
        !            26:  *----------------------------------------------------------------------
        !            27:  *
        !            28:  * Tcl_ErrnoId --
        !            29:  *
        !            30:  *     Return a textual identifier for the current errno value.
        !            31:  *
        !            32:  * Results:
        !            33:  *     This procedure returns a machine-readable textual identifier
        !            34:  *     that corresponds to the current errno value (e.g. "EPERM").
        !            35:  *     The identifier is the same as the #define name in errno.h.
        !            36:  *
        !            37:  * Side effects:
        !            38:  *     None.
        !            39:  *
        !            40:  *----------------------------------------------------------------------
        !            41:  */
        !            42: 
        !            43: char *
        !            44: Tcl_ErrnoId()
        !            45: {
        !            46:     switch (errno) {
        !            47: #ifdef E2BIG
        !            48:        case E2BIG: return "E2BIG";
        !            49: #endif
        !            50: #ifdef EACCES
        !            51:        case EACCES: return "EACCES";
        !            52: #endif
        !            53: #ifdef EADDRINUSE
        !            54:        case EADDRINUSE: return "EADDRINUSE";
        !            55: #endif
        !            56: #ifdef EADDRNOTAVAIL
        !            57:        case EADDRNOTAVAIL: return "EADDRNOTAVAIL";
        !            58: #endif
        !            59: #ifdef EADV
        !            60:        case EADV: return "EADV";
        !            61: #endif
        !            62: #ifdef EAFNOSUPPORT
        !            63:        case EAFNOSUPPORT: return "EAFNOSUPPORT";
        !            64: #endif
        !            65: #ifdef EAGAIN
        !            66:        case EAGAIN: return "EAGAIN";
        !            67: #endif
        !            68: #ifdef EALIGN
        !            69:        case EALIGN: return "EALIGN";
        !            70: #endif
        !            71: #ifdef EALREADY
        !            72:        case EALREADY: return "EALREADY";
        !            73: #endif
        !            74: #ifdef EBADE
        !            75:        case EBADE: return "EBADE";
        !            76: #endif
        !            77: #ifdef EBADF
        !            78:        case EBADF: return "EBADF";
        !            79: #endif
        !            80: #ifdef EBADFD
        !            81:        case EBADFD: return "EBADFD";
        !            82: #endif
        !            83: #ifdef EBADMSG
        !            84:        case EBADMSG: return "EBADMSG";
        !            85: #endif
        !            86: #ifdef EBADR
        !            87:        case EBADR: return "EBADR";
        !            88: #endif
        !            89: #ifdef EBADRPC
        !            90:        case EBADRPC: return "EBADRPC";
        !            91: #endif
        !            92: #ifdef EBADRQC
        !            93:        case EBADRQC: return "EBADRQC";
        !            94: #endif
        !            95: #ifdef EBADSLT
        !            96:        case EBADSLT: return "EBADSLT";
        !            97: #endif
        !            98: #ifdef EBFONT
        !            99:        case EBFONT: return "EBFONT";
        !           100: #endif
        !           101: #ifdef EBUSY
        !           102:        case EBUSY: return "EBUSY";
        !           103: #endif
        !           104: #ifdef ECHILD
        !           105:        case ECHILD: return "ECHILD";
        !           106: #endif
        !           107: #ifdef ECHRNG
        !           108:        case ECHRNG: return "ECHRNG";
        !           109: #endif
        !           110: #ifdef ECOMM
        !           111:        case ECOMM: return "ECOMM";
        !           112: #endif
        !           113: #ifdef ECONNABORTED
        !           114:        case ECONNABORTED: return "ECONNABORTED";
        !           115: #endif
        !           116: #ifdef ECONNREFUSED
        !           117:        case ECONNREFUSED: return "ECONNREFUSED";
        !           118: #endif
        !           119: #ifdef ECONNRESET
        !           120:        case ECONNRESET: return "ECONNRESET";
        !           121: #endif
        !           122: #if defined(EDEADLK) && (!defined(EWOULDBLOCK) || (EDEADLK != EWOULDBLOCK))
        !           123:        case EDEADLK: return "EDEADLK";
        !           124: #endif
        !           125: #ifndef IS_LINUX
        !           126: #ifdef EDEADLOCK
        !           127:        case EDEADLOCK: return "EDEADLOCK";
        !           128: #endif
        !           129: #endif
        !           130: #ifdef EDESTADDRREQ
        !           131:        case EDESTADDRREQ: return "EDESTADDRREQ";
        !           132: #endif
        !           133: #ifdef EDIRTY
        !           134:        case EDIRTY: return "EDIRTY";
        !           135: #endif
        !           136: #ifdef EDOM
        !           137:        case EDOM: return "EDOM";
        !           138: #endif
        !           139: #ifdef EDOTDOT
        !           140:        case EDOTDOT: return "EDOTDOT";
        !           141: #endif
        !           142: #ifdef EDQUOT
        !           143:        case EDQUOT: return "EDQUOT";
        !           144: #endif
        !           145: #ifdef EDUPPKG
        !           146:        case EDUPPKG: return "EDUPPKG";
        !           147: #endif
        !           148: #ifdef EEXIST
        !           149:        case EEXIST: return "EEXIST";
        !           150: #endif
        !           151: #ifdef EFAULT
        !           152:        case EFAULT: return "EFAULT";
        !           153: #endif
        !           154: #ifdef EFBIG
        !           155:        case EFBIG: return "EFBIG";
        !           156: #endif
        !           157: #ifdef EHOSTDOWN
        !           158:        case EHOSTDOWN: return "EHOSTDOWN";
        !           159: #endif
        !           160: #ifdef EHOSTUNREACH
        !           161:        case EHOSTUNREACH: return "EHOSTUNREACH";
        !           162: #endif
        !           163: #ifdef EIDRM
        !           164:        case EIDRM: return "EIDRM";
        !           165: #endif
        !           166: #ifdef EINIT
        !           167:        case EINIT: return "EINIT";
        !           168: #endif
        !           169: #ifdef EINPROGRESS
        !           170:        case EINPROGRESS: return "EINPROGRESS";
        !           171: #endif
        !           172: #ifdef EINTR
        !           173:        case EINTR: return "EINTR";
        !           174: #endif
        !           175: #ifdef EINVAL
        !           176:        case EINVAL: return "EINVAL";
        !           177: #endif
        !           178: #ifdef EIO
        !           179:        case EIO: return "EIO";
        !           180: #endif
        !           181: #ifdef EISCONN
        !           182:        case EISCONN: return "EISCONN";
        !           183: #endif
        !           184: #ifdef EISDIR
        !           185:        case EISDIR: return "EISDIR";
        !           186: #endif
        !           187: #ifdef EISNAME
        !           188:        case EISNAM: return "EISNAM";
        !           189: #endif
        !           190: #ifdef ELBIN
        !           191:        case ELBIN: return "ELBIN";
        !           192: #endif
        !           193: #ifdef EL2HLT
        !           194:        case EL2HLT: return "EL2HLT";
        !           195: #endif
        !           196: #ifdef EL2NSYNC
        !           197:        case EL2NSYNC: return "EL2NSYNC";
        !           198: #endif
        !           199: #ifdef EL3HLT
        !           200:        case EL3HLT: return "EL3HLT";
        !           201: #endif
        !           202: #ifdef EL3RST
        !           203:        case EL3RST: return "EL3RST";
        !           204: #endif
        !           205: #ifdef ELIBACC
        !           206:        case ELIBACC: return "ELIBACC";
        !           207: #endif
        !           208: #ifdef ELIBBAD
        !           209:        case ELIBBAD: return "ELIBBAD";
        !           210: #endif
        !           211: #ifdef ELIBEXEC
        !           212:        case ELIBEXEC: return "ELIBEXEC";
        !           213: #endif
        !           214: #ifdef ELIBMAX
        !           215:        case ELIBMAX: return "ELIBMAX";
        !           216: #endif
        !           217: #ifdef ELIBSCN
        !           218:        case ELIBSCN: return "ELIBSCN";
        !           219: #endif
        !           220: #ifdef ELNRNG
        !           221:        case ELNRNG: return "ELNRNG";
        !           222: #endif
        !           223: #ifdef ELOOP
        !           224:        case ELOOP: return "ELOOP";
        !           225: #endif
        !           226: #ifdef EMFILE
        !           227:        case EMFILE: return "EMFILE";
        !           228: #endif
        !           229: #ifdef EMLINK
        !           230:        case EMLINK: return "EMLINK";
        !           231: #endif
        !           232: #ifdef EMSGSIZE
        !           233:        case EMSGSIZE: return "EMSGSIZE";
        !           234: #endif
        !           235: #ifdef EMULTIHOP
        !           236:        case EMULTIHOP: return "EMULTIHOP";
        !           237: #endif
        !           238: #ifdef ENAMETOOLONG
        !           239:        case ENAMETOOLONG: return "ENAMETOOLONG";
        !           240: #endif
        !           241: #ifdef ENAVAIL
        !           242:        case ENAVAIL: return "ENAVAIL";
        !           243: #endif
        !           244: #ifdef ENET
        !           245:        case ENET: return "ENET";
        !           246: #endif
        !           247: #ifdef ENETDOWN
        !           248:        case ENETDOWN: return "ENETDOWN";
        !           249: #endif
        !           250: #ifdef ENETRESET
        !           251:        case ENETRESET: return "ENETRESET";
        !           252: #endif
        !           253: #ifdef ENETUNREACH
        !           254:        case ENETUNREACH: return "ENETUNREACH";
        !           255: #endif
        !           256: #ifdef ENFILE
        !           257:        case ENFILE: return "ENFILE";
        !           258: #endif
        !           259: #ifdef ENOANO
        !           260:        case ENOANO: return "ENOANO";
        !           261: #endif
        !           262: #if defined(ENOBUFS) && (!defined(ENOSR) || (ENOBUFS != ENOSR))
        !           263:        case ENOBUFS: return "ENOBUFS";
        !           264: #endif
        !           265: #ifdef ENOCSI
        !           266:        case ENOCSI: return "ENOCSI";
        !           267: #endif
        !           268: #ifdef ENODATA
        !           269:        case ENODATA: return "ENODATA";
        !           270: #endif
        !           271: #ifdef ENODEV
        !           272:        case ENODEV: return "ENODEV";
        !           273: #endif
        !           274: #ifdef ENOENT
        !           275:        case ENOENT: return "ENOENT";
        !           276: #endif
        !           277: #ifdef ENOEXEC
        !           278:        case ENOEXEC: return "ENOEXEC";
        !           279: #endif
        !           280: #ifdef ENOLCK
        !           281:        case ENOLCK: return "ENOLCK";
        !           282: #endif
        !           283: #ifdef ENOLINK
        !           284:        case ENOLINK: return "ENOLINK";
        !           285: #endif
        !           286: #ifdef ENOMEM
        !           287:        case ENOMEM: return "ENOMEM";
        !           288: #endif
        !           289: #ifdef ENOMSG
        !           290:        case ENOMSG: return "ENOMSG";
        !           291: #endif
        !           292: #ifdef ENONET
        !           293:        case ENONET: return "ENONET";
        !           294: #endif
        !           295: #ifdef ENOPKG
        !           296:        case ENOPKG: return "ENOPKG";
        !           297: #endif
        !           298: #ifdef ENOPROTOOPT
        !           299:        case ENOPROTOOPT: return "ENOPROTOOPT";
        !           300: #endif
        !           301: #ifdef ENOSPC
        !           302:        case ENOSPC: return "ENOSPC";
        !           303: #endif
        !           304: #ifdef ENOSR
        !           305:        case ENOSR: return "ENOSR";
        !           306: #endif
        !           307: #ifdef ENOSTR
        !           308:        case ENOSTR: return "ENOSTR";
        !           309: #endif
        !           310: #ifdef ENOSYM
        !           311:        case ENOSYM: return "ENOSYM";
        !           312: #endif
        !           313: #ifdef ENOSYS
        !           314:        case ENOSYS: return "ENOSYS";
        !           315: #endif
        !           316: #ifdef ENOTBLK
        !           317:        case ENOTBLK: return "ENOTBLK";
        !           318: #endif
        !           319: #ifdef ENOTCONN
        !           320:        case ENOTCONN: return "ENOTCONN";
        !           321: #endif
        !           322: #ifdef ENOTDIR
        !           323:        case ENOTDIR: return "ENOTDIR";
        !           324: #endif
        !           325: #if defined(ENOTEMPTY) && (!defined(EEXIST) || (ENOTEMPTY != EEXIST))
        !           326:        case ENOTEMPTY: return "ENOTEMPTY";
        !           327: #endif
        !           328: #ifdef ENOTNAM
        !           329:        case ENOTNAM: return "ENOTNAM";
        !           330: #endif
        !           331: #ifdef ENOTSOCK
        !           332:        case ENOTSOCK: return "ENOTSOCK";
        !           333: #endif
        !           334: #ifdef ENOTTY
        !           335:        case ENOTTY: return "ENOTTY";
        !           336: #endif
        !           337: #ifdef ENOTUNIQ
        !           338:        case ENOTUNIQ: return "ENOTUNIQ";
        !           339: #endif
        !           340: #ifndef __GNUC__
        !           341: #ifdef ENXIO
        !           342:        case ENXIO: return "ENXIO";
        !           343: #endif
        !           344: #endif
        !           345: #ifdef EOPNOTSUPP
        !           346:        case EOPNOTSUPP: return "EOPNOTSUPP";
        !           347: #endif
        !           348: #ifndef __GNUC__
        !           349: #ifdef EPERM
        !           350:        case EPERM: return "EPERM";
        !           351: #endif
        !           352: #endif
        !           353: #ifdef EPFNOSUPPORT
        !           354:        case EPFNOSUPPORT: return "EPFNOSUPPORT";
        !           355: #endif
        !           356: #ifdef EPIPE
        !           357:        case EPIPE: return "EPIPE";
        !           358: #endif
        !           359: #ifdef EPROCLIM
        !           360:        case EPROCLIM: return "EPROCLIM";
        !           361: #endif
        !           362: #ifdef EPROCUNAVAIL
        !           363:        case EPROCUNAVAIL: return "EPROCUNAVAIL";
        !           364: #endif
        !           365: #ifdef EPROGMISMATCH
        !           366:        case EPROGMISMATCH: return "EPROGMISMATCH";
        !           367: #endif
        !           368: #ifdef EPROGUNAVAIL
        !           369:        case EPROGUNAVAIL: return "EPROGUNAVAIL";
        !           370: #endif
        !           371: #ifdef EPROTO
        !           372:        case EPROTO: return "EPROTO";
        !           373: #endif
        !           374: #ifdef EPROTONOSUPPORT
        !           375:        case EPROTONOSUPPORT: return "EPROTONOSUPPORT";
        !           376: #endif
        !           377: #ifdef EPROTOTYPE
        !           378:        case EPROTOTYPE: return "EPROTOTYPE";
        !           379: #endif
        !           380: #ifdef ERANGE
        !           381:        case ERANGE: return "ERANGE";
        !           382: #endif
        !           383: #if defined(EREFUSED) && (!defined(ECONNREFUSED) || (EREFUSED != ECONNREFUSED))
        !           384:        case EREFUSED: return "EREFUSED";
        !           385: #endif
        !           386: #ifdef EREMCHG
        !           387:        case EREMCHG: return "EREMCHG";
        !           388: #endif
        !           389: #ifdef EREMDEV
        !           390:        case EREMDEV: return "EREMDEV";
        !           391: #endif
        !           392: #ifdef EREMOTE
        !           393:        case EREMOTE: return "EREMOTE";
        !           394: #endif
        !           395: #ifdef EREMOTEIO
        !           396:        case EREMOTEIO: return "EREMOTEIO";
        !           397: #endif
        !           398: #ifdef EREMOTERELEASE
        !           399:        case EREMOTERELEASE: return "EREMOTERELEASE";
        !           400: #endif
        !           401: #ifdef EROFS
        !           402:        case EROFS: return "EROFS";
        !           403: #endif
        !           404: #ifdef ERPCMISMATCH
        !           405:        case ERPCMISMATCH: return "ERPCMISMATCH";
        !           406: #endif
        !           407: #ifdef ERREMOTE
        !           408:        case ERREMOTE: return "ERREMOTE";
        !           409: #endif
        !           410: #ifdef ESHUTDOWN
        !           411:        case ESHUTDOWN: return "ESHUTDOWN";
        !           412: #endif
        !           413: #ifdef ESOCKTNOSUPPORT
        !           414:        case ESOCKTNOSUPPORT: return "ESOCKTNOSUPPORT";
        !           415: #endif
        !           416: #ifdef ESPIPE
        !           417:        case ESPIPE: return "ESPIPE";
        !           418: #endif
        !           419: #ifdef ESRCH
        !           420:        case ESRCH: return "ESRCH";
        !           421: #endif
        !           422: #ifdef ESRMNT
        !           423:        case ESRMNT: return "ESRMNT";
        !           424: #endif
        !           425: #ifdef ESTALE
        !           426:        case ESTALE: return "ESTALE";
        !           427: #endif
        !           428: #ifdef ESUCCESS
        !           429:        case ESUCCESS: return "ESUCCESS";
        !           430: #endif
        !           431: #ifdef ETIME
        !           432:        case ETIME: return "ETIME";
        !           433: #endif
        !           434: #ifdef ETIMEDOUT
        !           435:        case ETIMEDOUT: return "ETIMEDOUT";
        !           436: #endif
        !           437: #ifdef ETOOMANYREFS
        !           438:        case ETOOMANYREFS: return "ETOOMANYREFS";
        !           439: #endif
        !           440: #ifdef ETXTBSY
        !           441:        case ETXTBSY: return "ETXTBSY";
        !           442: #endif
        !           443: #ifdef EUCLEAN
        !           444:        case EUCLEAN: return "EUCLEAN";
        !           445: #endif
        !           446: #ifdef EUNATCH
        !           447:        case EUNATCH: return "EUNATCH";
        !           448: #endif
        !           449: #ifdef EUSERS
        !           450:        case EUSERS: return "EUSERS";
        !           451: #endif
        !           452: #ifdef EVERSION
        !           453:        case EVERSION: return "EVERSION";
        !           454: #endif
        !           455: #if defined(EWOULDBLOCK) && (!defined(EAGAIN) || (EWOULDBLOCK != EAGAIN))
        !           456:        case EWOULDBLOCK: return "EWOULDBLOCK";
        !           457: #endif
        !           458: #ifdef EXDEV
        !           459:        case EXDEV: return "EXDEV";
        !           460: #endif
        !           461: #ifdef EXFULL
        !           462:        case EXFULL: return "EXFULL";
        !           463: #endif
        !           464:     }
        !           465:     return "unknown error";
        !           466: }
        !           467: 
        !           468: /*
        !           469:  *----------------------------------------------------------------------
        !           470:  *
        !           471:  * Tcl_SignalId --
        !           472:  *
        !           473:  *     Return a textual identifier for a signal number.
        !           474:  *
        !           475:  * Results:
        !           476:  *     This procedure returns a machine-readable textual identifier
        !           477:  *     that corresponds to sig.  The identifier is the same as the
        !           478:  *     #define name in signal.h.
        !           479:  *
        !           480:  * Side effects:
        !           481:  *     None.
        !           482:  *
        !           483:  *----------------------------------------------------------------------
        !           484:  */
        !           485: 
        !           486: char *
        !           487: Tcl_SignalId(sig)
        !           488:     int sig;                   /* Number of signal. */
        !           489: {
        !           490:     switch (sig) {
        !           491: #ifdef SIGABRT
        !           492:        case SIGABRT: return "SIGABRT";
        !           493: #endif
        !           494: #ifdef SIGALRM
        !           495:        case SIGALRM: return "SIGALRM";
        !           496: #endif
        !           497: #ifdef SIGBUS
        !           498:        case SIGBUS: return "SIGBUS";
        !           499: #endif
        !           500: #ifdef SIGCHLD
        !           501:        case SIGCHLD: return "SIGCHLD";
        !           502: #endif
        !           503: #if defined(SIGCLD) && (!defined(SIGCHLD) || (SIGCLD != SIGCHLD))
        !           504:        case SIGCLD: return "SIGCLD";
        !           505: #endif
        !           506: #ifdef SIGCONT
        !           507:        case SIGCONT: return "SIGCONT";
        !           508: #endif
        !           509: #if defined(SIGEMT) && (!defined(SIGXCPU) || (SIGEMT != SIGXCPU))
        !           510:        case SIGEMT: return "SIGEMT";
        !           511: #endif
        !           512: #ifdef SIGFPE
        !           513:        case SIGFPE: return "SIGFPE";
        !           514: #endif
        !           515: #ifdef SIGHUP
        !           516:        case SIGHUP: return "SIGHUP";
        !           517: #endif
        !           518: #ifdef SIGILL
        !           519:        case SIGILL: return "SIGILL";
        !           520: #endif
        !           521: #ifdef SIGINT
        !           522:        case SIGINT: return "SIGINT";
        !           523: #endif
        !           524: #ifdef SIGIO
        !           525:        case SIGIO: return "SIGIO";
        !           526: #endif
        !           527: #if defined(SIGIOT) && (!defined(SIGABRT) || (SIGIOT != SIGABRT))
        !           528:        case SIGIOT: return "SIGIOT";
        !           529: #endif
        !           530: #ifdef SIGKILL
        !           531:        case SIGKILL: return "SIGKILL";
        !           532: #endif
        !           533: #if defined(SIGLOST) && (!defined(SIGIOT) || (SIGLOST != SIGIOT))
        !           534:        case SIGLOST: return "SIGLOST";
        !           535: #endif
        !           536: #ifdef SIGPIPE
        !           537:        case SIGPIPE: return "SIGPIPE";
        !           538: #endif
        !           539: #if defined(SIGPOLL) && (!defined(SIGIO) || (SIGPOLL != SIGIO))
        !           540:        case SIGPOLL: return "SIGPOLL";
        !           541: #endif
        !           542: #ifdef SIGPROF
        !           543:        case SIGPROF: return "SIGPROF";
        !           544: #endif
        !           545: #if defined(SIGPWR) && (!defined(SIGXFSZ) || (SIGPWR != SIGXFSZ))
        !           546:        case SIGPWR: return "SIGPWR";
        !           547: #endif
        !           548: #ifdef SIGQUIT
        !           549:        case SIGQUIT: return "SIGQUIT";
        !           550: #endif
        !           551: #ifdef SIGSEGV
        !           552:        case SIGSEGV: return "SIGSEGV";
        !           553: #endif
        !           554: #ifdef SIGSTOP
        !           555:        case SIGSTOP: return "SIGSTOP";
        !           556: #endif
        !           557: #ifdef SIGSYS
        !           558:        case SIGSYS: return "SIGSYS";
        !           559: #endif
        !           560: #ifdef SIGTERM
        !           561:        case SIGTERM: return "SIGTERM";
        !           562: #endif
        !           563: #ifdef SIGTRAP
        !           564:        case SIGTRAP: return "SIGTRAP";
        !           565: #endif
        !           566: #ifdef SIGTSTP
        !           567:        case SIGTSTP: return "SIGTSTP";
        !           568: #endif
        !           569: #ifdef SIGTTIN
        !           570:        case SIGTTIN: return "SIGTTIN";
        !           571: #endif
        !           572: #ifdef SIGTTOU
        !           573:        case SIGTTOU: return "SIGTTOU";
        !           574: #endif
        !           575: #ifdef SIGURG
        !           576:        case SIGURG: return "SIGURG";
        !           577: #endif
        !           578: #ifdef SIGUSR1
        !           579:        case SIGUSR1: return "SIGUSR1";
        !           580: #endif
        !           581: #ifdef SIGUSR2
        !           582:        case SIGUSR2: return "SIGUSR2";
        !           583: #endif
        !           584: #ifdef SIGVTALRM
        !           585:        case SIGVTALRM: return "SIGVTALRM";
        !           586: #endif
        !           587: #ifdef SIGWINCH
        !           588:        case SIGWINCH: return "SIGWINCH";
        !           589: #endif
        !           590: #ifdef SIGXCPU
        !           591:        case SIGXCPU: return "SIGXCPU";
        !           592: #endif
        !           593: #ifdef SIGXFSZ
        !           594:        case SIGXFSZ: return "SIGXFSZ";
        !           595: #endif
        !           596:     }
        !           597:     return "unknown signal";
        !           598: }
        !           599: 
        !           600: /*
        !           601:  *----------------------------------------------------------------------
        !           602:  *
        !           603:  * Tcl_SignalMsg --
        !           604:  *
        !           605:  *     Return a human-readable message describing a signal.
        !           606:  *
        !           607:  * Results:
        !           608:  *     This procedure returns a string describing sig that should
        !           609:  *     make sense to a human.  It may not be easy for a machine
        !           610:  *     to parse.
        !           611:  *
        !           612:  * Side effects:
        !           613:  *     None.
        !           614:  *
        !           615:  *----------------------------------------------------------------------
        !           616:  */
        !           617: 
        !           618: char *
        !           619: Tcl_SignalMsg(sig)
        !           620:     int sig;                   /* Number of signal. */
        !           621: {
        !           622:     switch (sig) {
        !           623: #ifdef SIGABRT
        !           624:        case SIGABRT: return "SIGABRT";
        !           625: #endif
        !           626: #ifdef SIGALRM
        !           627:        case SIGALRM: return "alarm clock";
        !           628: #endif
        !           629: #ifdef SIGBUS
        !           630:        case SIGBUS: return "bus error";
        !           631: #endif
        !           632: #ifdef SIGCHLD
        !           633:        case SIGCHLD: return "child status changed";
        !           634: #endif
        !           635: #if defined(SIGCLD) && (!defined(SIGCHLD) || (SIGCLD != SIGCHLD))
        !           636:        case SIGCLD: return "child status changed";
        !           637: #endif
        !           638: #ifdef SIGCONT
        !           639:        case SIGCONT: return "continue after stop";
        !           640: #endif
        !           641: #if defined(SIGEMT) && (!defined(SIGXCPU) || (SIGEMT != SIGXCPU))
        !           642:        case SIGEMT: return "EMT instruction";
        !           643: #endif
        !           644: #ifdef SIGFPE
        !           645:        case SIGFPE: return "floating-point exception";
        !           646: #endif
        !           647: #ifdef SIGHUP
        !           648:        case SIGHUP: return "hangup";
        !           649: #endif
        !           650: #ifdef SIGILL
        !           651:        case SIGILL: return "illegal instruction";
        !           652: #endif
        !           653: #ifdef SIGINT
        !           654:        case SIGINT: return "interrupt";
        !           655: #endif
        !           656: #ifdef SIGIO
        !           657:        case SIGIO: return "input/output possible on file";
        !           658: #endif
        !           659: #if defined(SIGIOT) && (!defined(SIGABRT) || (SIGABRT != SIGIOT))
        !           660:        case SIGIOT: return "IOT instruction";
        !           661: #endif
        !           662: #ifdef SIGKILL
        !           663:        case SIGKILL: return "kill signal";
        !           664: #endif
        !           665: #if defined(SIGLOST) && (!defined(SIGIOT) || (SIGLOST != SIGIOT))
        !           666:        case SIGLOST: return "resource lost";
        !           667: #endif
        !           668: #ifdef SIGPIPE
        !           669:        case SIGPIPE: return "write on pipe with no readers";
        !           670: #endif
        !           671: #if defined(SIGPOLL) && (!defined(SIGIO) || (SIGPOLL != SIGIO))
        !           672:        case SIGPOLL: return "input/output possible on file";
        !           673: #endif
        !           674: #ifdef SIGPROF
        !           675:        case SIGPROF: return "profiling alarm";
        !           676: #endif
        !           677: #if defined(SIGPWR) && (!defined(SIGXFSZ) || (SIGPWR != SIGXFSZ))
        !           678:        case SIGPWR: return "power-fail restart";
        !           679: #endif
        !           680: #ifdef SIGQUIT
        !           681:        case SIGQUIT: return "quit signal";
        !           682: #endif
        !           683: #ifdef SIGSEGV
        !           684:        case SIGSEGV: return "segmentation violation";
        !           685: #endif
        !           686: #ifdef SIGSTOP
        !           687:        case SIGSTOP: return "stop";
        !           688: #endif
        !           689: #ifdef SIGSYS
        !           690:        case SIGSYS: return "bad argument to system call";
        !           691: #endif
        !           692: #ifdef SIGTERM
        !           693:        case SIGTERM: return "software termination signal";
        !           694: #endif
        !           695: #ifdef SIGTRAP
        !           696:        case SIGTRAP: return "trace trap";
        !           697: #endif
        !           698: #ifdef SIGTSTP
        !           699:        case SIGTSTP: return "stop signal from tty";
        !           700: #endif
        !           701: #ifdef SIGTTIN
        !           702:        case SIGTTIN: return "background tty read";
        !           703: #endif
        !           704: #ifdef SIGTTOU
        !           705:        case SIGTTOU: return "background tty write";
        !           706: #endif
        !           707: #ifdef SIGURG
        !           708:        case SIGURG: return "urgent I/O condition";
        !           709: #endif
        !           710: #ifdef SIGUSR1
        !           711:        case SIGUSR1: return "user-defined signal 1";
        !           712: #endif
        !           713: #ifdef SIGUSR2
        !           714:        case SIGUSR2: return "user-defined signal 2";
        !           715: #endif
        !           716: #ifdef SIGVTALRM
        !           717:        case SIGVTALRM: return "virtual time alarm";
        !           718: #endif
        !           719: #ifdef SIGWINCH
        !           720:        case SIGWINCH: return "window changed";
        !           721: #endif
        !           722: #ifdef SIGXCPU
        !           723:        case SIGXCPU: return "exceeded CPU time limit";
        !           724: #endif
        !           725: #ifdef SIGXFSZ
        !           726:        case SIGXFSZ: return "exceeded file size limit";
        !           727: #endif
        !           728:     }
        !           729:     return "unknown signal";
        !           730: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.