/* Copyright (c) 1993 Xerox Corporation. All rights reserved. */ /* $Id$ $Date$ */ /* Chauser, October 28, 1993 3:29 pm PDT */ #ifndef ←←PCR←errno←h #define ←←PCR←errno←h 1 /* * Standard POSIX errno values */ #include <host/errno.h> /* * per-thread error number */ #ifndef PCR←GetErrnoAddress extern int (*(PCR←GetErrnoAddress(void))); #endif #define PCR←GetErrno() (*(PCR←GetErrnoAddress())) #define PCR←SetErrno(err) (*(PCR←GetErrnoAddress())) = (err) /* * errno values from PCR itself */ #define PCR←←EPCRBASE 1024 #define PCR←EPCR(x) (PCR←←EPCRBASE+(x)) #define PCR←EINTERNAL PCR←EPCR(0) /* should never be seen */ #define PCR←ETIMEDOUT PCR←EPCR(1) /* * Human readable error messages */ extern void PCR←perror(const char *s); /* Print an error message (constructd from s and errno) on stderr. This function is also declared in stdio.h. */ extern char * PCR←strerror(int n); /* Return error message appropriate for abs(errno), in a static buffer. Return catchall message if errno is out of range. This function is also declared in string.h. */ #ifndef PCR←NO←RENAME # undef errno # define errno (*(PCR←GetErrnoAddress())) # undef perror # define perror PCR←perror # undef strerror # define strerror PCR←strerror #endif /* !PCR←NO←RENAME */ #endif /* !←←PCR←errno←h */ /* $Log$ */