diff options
Diffstat (limited to 'include/mpw/mpw.h')
-rw-r--r-- | include/mpw/mpw.h | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/include/mpw/mpw.h b/include/mpw/mpw.h new file mode 100644 index 0000000..58702e7 --- /dev/null +++ b/include/mpw/mpw.h @@ -0,0 +1,130 @@ +/* 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 */ |