xref: /openbsd-src/gnu/usr.bin/binutils/include/mpw/mpw.h (revision c88b1d6c2990dec69cf89c9efe884ddff6a0bbe5)
12159047fSniklas /* Mac MPW host-specific definitions. */
22159047fSniklas 
32159047fSniklas #ifndef	__INCLUDE_MPW_H
42159047fSniklas #define __INCLUDE_MPW_H
52159047fSniklas 
62159047fSniklas #ifndef MPW
72159047fSniklas #define MPW
82159047fSniklas #endif
92159047fSniklas 
102159047fSniklas /* MPW C is basically ANSI, but doesn't actually enable __STDC__,
112159047fSniklas    nor does it allow __STDC__ to be #defined. */
122159047fSniklas 
132159047fSniklas #ifndef ALMOST_STDC
142159047fSniklas #define ALMOST_STDC
152159047fSniklas #endif
162159047fSniklas 
172159047fSniklas #include <stdio.h>
182159047fSniklas #include <ctype.h>
192159047fSniklas #include <errno.h>
202159047fSniklas 
21*c88b1d6cSniklas #define HAVE_TIME_T_IN_TIME_H 1
222159047fSniklas 
23*c88b1d6cSniklas #define HAVE_STDLIB_H 1
242159047fSniklas 
25*c88b1d6cSniklas #define HAVE_ERRNO_H 1
262159047fSniklas 
27*c88b1d6cSniklas #define HAVE_STDDEF_H 1
282159047fSniklas 
29*c88b1d6cSniklas #define HAVE_STRING_H 1
302159047fSniklas 
31*c88b1d6cSniklas #define HAVE_STDARG_H 1
32*c88b1d6cSniklas 
33*c88b1d6cSniklas #define HAVE_VPRINTF 1
342159047fSniklas 
352159047fSniklas #ifdef USE_MW_HEADERS
362159047fSniklas 
372159047fSniklas #include <unix.h>
382159047fSniklas 
392159047fSniklas #else
402159047fSniklas 
412159047fSniklas #include <fcntl.h>
422159047fSniklas #include <ioctl.h>
432159047fSniklas #include <sys/stat.h>
442159047fSniklas 
45*c88b1d6cSniklas #define HAVE_FCNTL_H 1
46*c88b1d6cSniklas 
472159047fSniklas #ifndef	O_ACCMODE
482159047fSniklas #define O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR)
492159047fSniklas #endif
502159047fSniklas 
512159047fSniklas #ifndef fileno
522159047fSniklas #define fileno(fp) ((fp)->_file)
532159047fSniklas #endif
542159047fSniklas 
552159047fSniklas /* stdio.h does not define this if __STDC__, so define here. */
562159047fSniklas 
572159047fSniklas #ifdef __STDC__
582159047fSniklas FILE *fdopen(int fildes, const char *mode);
592159047fSniklas #endif
602159047fSniklas 
612159047fSniklas #endif /* USE_MW_HEADERS */
622159047fSniklas 
632159047fSniklas /* Add ersatz definitions, for systems that lack them.  */
642159047fSniklas 
652159047fSniklas #ifndef EIO
662159047fSniklas #define EIO 96
672159047fSniklas #endif
682159047fSniklas #ifndef ENOENT
692159047fSniklas #define ENOENT 97
702159047fSniklas #endif
712159047fSniklas #ifndef EACCES
722159047fSniklas #define EACCES 98
732159047fSniklas #endif
742159047fSniklas #ifndef ENOSYS
752159047fSniklas #define ENOSYS 99
762159047fSniklas #endif
772159047fSniklas 
782159047fSniklas #ifndef R_OK
792159047fSniklas #define R_OK 4
802159047fSniklas #define W_OK 2
812159047fSniklas #define X_OK 1
822159047fSniklas #endif
832159047fSniklas 
842159047fSniklas /* Binary files have different characteristics; for instance, no cr/nl
852159047fSniklas    translation. */
862159047fSniklas 
872159047fSniklas #define USE_BINARY_FOPEN
882159047fSniklas 
892159047fSniklas #include <spin.h>
902159047fSniklas 
912159047fSniklas #ifdef MPW_C
922159047fSniklas #undef  __PTR_TO_INT
932159047fSniklas #define __PTR_TO_INT(P) ((int)(P))
942159047fSniklas #undef __INT_TO_PTR
952159047fSniklas #define __INT_TO_PTR(P) ((char *)(P))
96*c88b1d6cSniklas #endif /* MPW_C */
972159047fSniklas 
982159047fSniklas #define NO_FCNTL
992159047fSniklas 
1002159047fSniklas int fstat ();
1012159047fSniklas 
1022159047fSniklas FILE *mpw_fopen ();
1032159047fSniklas int mpw_fseek ();
1042159047fSniklas int mpw_fread ();
1052159047fSniklas int mpw_fwrite ();
106*c88b1d6cSniklas int mpw_access ();
107*c88b1d6cSniklas int mpw_open ();
1082159047fSniklas int mpw_creat ();
109*c88b1d6cSniklas void mpw_abort (void);
1102159047fSniklas 
1112159047fSniklas /* Map these standard functions to improved versions in libiberty. */
1122159047fSniklas 
1132159047fSniklas #define fopen mpw_fopen
1142159047fSniklas #define fseek mpw_fseek
1152159047fSniklas #define fread mpw_fread
1162159047fSniklas #define fwrite mpw_fwrite
117*c88b1d6cSniklas #define open mpw_open
118*c88b1d6cSniklas #define access mpw_access
1192159047fSniklas #define creat mpw_creat
120*c88b1d6cSniklas #define abort mpw_abort
1212159047fSniklas 
1222159047fSniklas #define POSIX_UTIME
1232159047fSniklas 
1242159047fSniklas #define LOSING_TOTALLY
1252159047fSniklas 
1262159047fSniklas /* Define this so that files will be closed before being unlinked. */
1272159047fSniklas 
1282159047fSniklas #define CLOSE_BEFORE_UNLINK
1292159047fSniklas 
1302159047fSniklas #endif /* __INCLUDE_MPW_H */
131