| /* Mac MPW host-specific definitions. */ |
| |
| #ifndef __INCLUDE_MPW_H |
| #define __INCLUDE_MPW_H |
| |
| #ifndef MPW |
| #define MPW |
| #endif |
| |
| /* MPW C is basically ANSI, but doesn't actually enable __STDC__, |
| nor does it allow __STDC__ to be #defined. */ |
| |
| #ifndef ALMOST_STDC |
| #define ALMOST_STDC |
| #endif |
| |
| #include <stdio.h> |
| #include <ctype.h> |
| #include <errno.h> |
| |
| #define HAVE_TIME_T_IN_TIME_H 1 |
| |
| #define HAVE_STDLIB_H 1 |
| |
| #define HAVE_ERRNO_H 1 |
| |
| #define HAVE_STDDEF_H 1 |
| |
| #define HAVE_STRING_H 1 |
| |
| #define HAVE_STDARG_H 1 |
| |
| #define HAVE_VPRINTF 1 |
| |
| #ifdef USE_MW_HEADERS |
| |
| #include <unix.h> |
| |
| #else |
| |
| #include <fcntl.h> |
| #include <ioctl.h> |
| #include <sys/stat.h> |
| |
| #define HAVE_FCNTL_H 1 |
| |
| #ifndef O_ACCMODE |
| #define O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR) |
| #endif |
| |
| #ifndef fileno |
| #define fileno(fp) ((fp)->_file) |
| #endif |
| |
| /* stdio.h does not define this if __STDC__, so define here. */ |
| |
| #ifdef __STDC__ |
| FILE *fdopen(int fildes, const char *mode); |
| #endif |
| |
| #endif /* USE_MW_HEADERS */ |
| |
| /* Add ersatz definitions, for systems that lack them. */ |
| |
| #ifndef EIO |
| #define EIO 96 |
| #endif |
| #ifndef ENOENT |
| #define ENOENT 97 |
| #endif |
| #ifndef EACCES |
| #define EACCES 98 |
| #endif |
| #ifndef ENOSYS |
| #define ENOSYS 99 |
| #endif |
| |
| #ifndef R_OK |
| #define R_OK 4 |
| #define W_OK 2 |
| #define X_OK 1 |
| #endif |
| |
| /* Binary files have different characteristics; for instance, no cr/nl |
| translation. */ |
| |
| #define USE_BINARY_FOPEN |
| |
| #include <spin.h> |
| |
| #ifdef MPW_C |
| #undef __PTR_TO_INT |
| #define __PTR_TO_INT(P) ((int)(P)) |
| #undef __INT_TO_PTR |
| #define __INT_TO_PTR(P) ((char *)(P)) |
| #endif /* MPW_C */ |
| |
| #define NO_FCNTL |
| |
| int fstat (); |
| |
| FILE *mpw_fopen (); |
| int mpw_fseek (); |
| int mpw_fread (); |
| int mpw_fwrite (); |
| int mpw_access (); |
| int mpw_open (); |
| int mpw_creat (); |
| void mpw_abort (void); |
| |
| /* Map these standard functions to improved versions in libiberty. */ |
| |
| #define fopen mpw_fopen |
| #define fseek mpw_fseek |
| #define fread mpw_fread |
| #define fwrite mpw_fwrite |
| #define open mpw_open |
| #define access mpw_access |
| #define creat mpw_creat |
| #define abort mpw_abort |
| |
| #define POSIX_UTIME |
| |
| #define LOSING_TOTALLY |
| |
| /* Define this so that files will be closed before being unlinked. */ |
| |
| #define CLOSE_BEFORE_UNLINK |
| |
| #endif /* __INCLUDE_MPW_H */ |