Annotation of researchv10no/cmd/nupas/ipc/mips_err.c, revision 1.1

1.1     ! root        1: /*
        !             2:        Error codes on SGI MIPS system:
        !             3: 
        !             4: EX_USAGE       64      command line usage error
        !             5: EX_DATAERR     65      data format error
        !             6: EX_NOINPUT     66      cannot open input
        !             7: EX_NOUSER      67      addressee unknown
        !             8: EX_NOHOST      68      host name unknown:
        !             9:                                unknown service
        !            10:                                        gethostbyname if host not found.)
        !            11:                                connection timed out
        !            12: EX_UNAVAILABLE 69      service unavailable
        !            13: EX_SOFTWARE    70      internal software error
        !            14: EX_OSERR       71      system error (e.g., can't fork)
        !            15: EX_OSFILE      72      critical OS file missing
        !            16: EX_CANTCREAT   73      can't create (user) output file
        !            17: EX_IOERR       74      input/output error
        !            18: EX_TEMPFAIL    75      temp failure; user is invited to retry
        !            19:                                Connection refused (code returned by
        !            20: EX_PROTOCOL    76      remote error in protocol
        !            21: EX_NOPERM      77      permission denied
        !            22: */
        !            23: 
        !            24: #include <errno.h>
        !            25: #include <stdio.h>
        !            26: #include <sysexits.h>
        !            27: #include <string.h>
        !            28: 
        !            29: extern char *sys_errlist[ ];
        !            30: extern int sys_nerr;
        !            31: extern int errno;
        !            32: 
        !            33: extern int ipcdebug;
        !            34: 
        !            35: /*
        !            36:  * A known place to keep a copy of the system-supplied
        !            37:  * error message.
        !            38:  */
        !            39: int syserrno;
        !            40: char syserrstr[128];
        !            41: 
        !            42: 
        !            43: /*
        !            44:  * Copy the actual OS-supplied errno and string in a known
        !            45:  * place.
        !            46:  */
        !            47: ipcgetsyserr()
        !            48: {
        !            49:        syserrno = errno;
        !            50:        if (ipcdebug)
        !            51:                fprintf(stderr, "ipcgetsyserr: errno=%d\n", syserrno);
        !            52:        if (errno < sys_nerr)
        !            53:                strcpy(syserrstr, sys_errlist[errno]);
        !            54:        else
        !            55:                sprintf(syserrstr, "Unknown error number %d", errno);
        !            56: }
        !            57: 
        !            58: /*
        !            59:  * map the system error in syserrno into one of the
        !            60:  * errors in sysexits.h
        !            61:  */
        !            62: int
        !            63: ipcmaperror()
        !            64: {
        !            65:        switch (syserrno) {
        !            66:        case EAGAIN:
        !            67:        case ENFILE:
        !            68:        case EMFILE:
        !            69:        case ENOSPC:
        !            70:        case ENETDOWN:
        !            71:        case ENETUNREACH:
        !            72:        case ENETRESET:
        !            73:        case ECONNABORTED:
        !            74:        case ECONNRESET:
        !            75:        case ENOBUFS:
        !            76:        case ETIMEDOUT:
        !            77:        case ECONNREFUSED:
        !            78:                                return EX_TEMPFAIL;
        !            79:        case EHOSTDOWN:
        !            80:        case EHOSTUNREACH:
        !            81:                                return EX_NOHOST;
        !            82: 
        !            83:        default:                return EX_OSERR;
        !            84:        }
        !            85: }

unix.superglobalmegacorp.com

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