|
|
1.1 ! root 1: /* needed for unresolved references (see ../mbox) ! 2: from res_err.c & ultrix_err.c .. wmb */ ! 3: ! 4: #include <stdio.h> ! 5: #include <errno.h> ! 6: #include <sysexits.h> ! 7: #include <string.h> ! 8: ! 9: /* ! 10: * A known place to keep a copy of the system-supplied ! 11: * error message. ! 12: */ ! 13: int syserrno; ! 14: char syserrstr[128]; ! 15: ! 16: /* ! 17: * map the system error in syserrno into one of the ! 18: * errors in sysexits.h ! 19: */ ! 20: int ! 21: ipcmaperror() ! 22: { ! 23: switch (syserrno) { ! 24: case ENOENT: return EX_NOHOST; ! 25: case EINTR: return EX_TEMPFAIL; ! 26: case EACCES: return EX_UNAVAILABLE; ! 27: case ENODEV: return EX_TEMPFAIL; ! 28: case EIO: return EX_TEMPFAIL; ! 29: ! 30: default: return EX_OSERR; ! 31: } ! 32: } ! 33: ! 34: ! 35: extern char *sys_errlist[ ]; ! 36: extern int sys_nerr; ! 37: ! 38: extern int ipcdebug; ! 39: ! 40: /* ! 41: * Copy the actual OS-supplied errno and string in a known ! 42: * place. ! 43: */ ! 44: ipcgetsyserr() ! 45: { ! 46: syserrno = errno; ! 47: if (ipcdebug) ! 48: fprintf(stderr, "ipcgetsyserr: errno=%d\n", syserrno); ! 49: if (errno < sys_nerr) ! 50: strcpy(syserrstr, sys_errlist[errno]); ! 51: else ! 52: sprintf(syserrstr, "Unknown error number %d", errno); ! 53: } ! 54: ! 55: /* ! 56: * Dummy gethostname (hostname supplied at gateway) ! 57: */ ! 58: int ! 59: gethostname(hostname,namelen) ! 60: char *hostname; ! 61: int namelen; ! 62: { ! 63: *hostname = '\0'; ! 64: return 0; ! 65: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.