Annotation of researchv10no/cmd/nupas/ipc/res_err.c, revision 1.1.1.1

1.1       root        1: #include <stdio.h>
                      2: #include <errno.h>
                      3: #include <sysexits.h>
                      4: #include <string.h>
                      5: #include <ipc.h>
                      6: 
                      7: /*
                      8:  * A known place to keep a copy of the system-supplied
                      9:  * error message.
                     10:  */
                     11: int syserrno;
                     12: char syserrstr[128];
                     13: 
                     14: int ipcdebug = 0;
                     15: int ipcerrno = 0;
                     16: 
                     17: extern char *ipcpath();        /* make sure these are loaded in */
                     18: extern int ipcopen();
                     19: 
                     20: 
                     21: /*
                     22:  * globals for ipc
                     23:  */
                     24: ipcperror(mess)
                     25: char *mess;
                     26: {
                     27:        syserrno = errno;
                     28:        strcpy(syserrstr, errstr);
                     29:        ipcerrno = ipcmaperror();
                     30:        fprintf(stderr, "%s: %s\n", mess, syserrstr);
                     31: }
                     32: 
                     33: call()
                     34: {
                     35:        ipcpath();  ipcopen();
                     36: }
                     37: 
                     38: /*
                     39:  * map the system error in syserrno into one of the
                     40:  * errors in sysexits.h
                     41:  */
                     42: int
                     43: ipcmaperror()
                     44: {
                     45:        switch (syserrno) {
                     46:        case ENOENT:    return EX_NOHOST;
                     47:        case EINTR:     return EX_TEMPFAIL;
                     48:        case EACCES:    return EX_UNAVAILABLE;
                     49:        case ENODEV:    return EX_TEMPFAIL;
                     50:        case EIO:       return EX_TEMPFAIL;
                     51: 
                     52:        default:        return EX_OSERR;
                     53:        }
                     54: }

unix.superglobalmegacorp.com

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