diff --git a/bfd/hosts/.Sanitize b/bfd/hosts/.Sanitize index cc198add8fd..1b8fa6a0af0 100644 --- a/bfd/hosts/.Sanitize +++ b/bfd/hosts/.Sanitize @@ -30,6 +30,7 @@ h-decstation.h h-dgux.h h-delta88.h h-dose.h +h-go32.h h-harris.h h-hp300bsd.h h-hp9000.h diff --git a/bfd/hosts/amix.h b/bfd/hosts/amix.h index 8481e94644a..f17e3910a95 100644 --- a/bfd/hosts/amix.h +++ b/bfd/hosts/amix.h @@ -9,6 +9,23 @@ #include #include +/* Macros for the 'type' part of an fopen, freopen or fdopen. + [Update] + */ +#define FOPEN_RB "r" +#define FOPEN_WB "w" +#define FOPEN_AB "a" +#define FOPEN_RUB "r+" +#define FOPEN_WUB "w+" +#define FOPEN_AUB "a+" +#define FOPEN_RT "r" +#define FOPEN_WT "w" +#define FOPEN_AT "a" +#define FOPEN_RUT "r+" +#define FOPEN_WUT "w+" +#define FOPEN_AUT "a+" + + #ifndef O_ACCMODE #define O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR) #endif diff --git a/bfd/hosts/decstation.h b/bfd/hosts/decstation.h index 875982c9f25..64a5e92b68e 100644 --- a/bfd/hosts/decstation.h +++ b/bfd/hosts/decstation.h @@ -6,14 +6,39 @@ #include #include #include +#include #ifndef O_ACCMODE #define O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR) #endif #define SEEK_SET 0 #define SEEK_CUR 1 -extern char *malloc(); -extern void free(); +#include +#include +#define HOST_PAGE_SIZE NBPG +/* #define HOST_SEGMENT_SIZE NBPG -- we use HOST_DATA_START_ADDR */ +#define HOST_MACHINE_ARCH bfd_arch_mips +/* #define HOST_MACHINE_MACHINE */ + +#define HOST_TEXT_START_ADDR USRTEXT +#define HOST_DATA_START_ADDR USRDATA +#define HOST_STACK_END_ADDR USRSTACK +/* Macros for the 'type' part of an fopen, freopen or fdopen. + [Update] + */ +#define FOPEN_RB "r" +#define FOPEN_WB "w" +#define FOPEN_AB "a" +#define FOPEN_RUB "r+" +#define FOPEN_WUB "w+" +#define FOPEN_AUB "a+" +#define FOPEN_RT "r" +#define FOPEN_WT "w" +#define FOPEN_AT "a" +#define FOPEN_RUT "r+" +#define FOPEN_WUT "w+" +#define FOPEN_AUT "a+" + /* EXACT TYPES */ typedef char int8e_type; @@ -31,3 +56,6 @@ typedef unsigned short uint16_type; typedef int int32_type; typedef unsigned int uint32_type; +/* other */ + +extern char *getenv(); diff --git a/bfd/hosts/delta88.h b/bfd/hosts/delta88.h index 879b03538d0..6e9254915d1 100644 --- a/bfd/hosts/delta88.h +++ b/bfd/hosts/delta88.h @@ -79,3 +79,18 @@ typedef unsigned short uint16_type; typedef int int32_type; typedef unsigned int uint32_type; +/* Macros for the 'type' part of an fopen, freopen or fdopen. + [Update] + */ +#define FOPEN_RB "r" +#define FOPEN_WB "w" +#define FOPEN_AB "a" +#define FOPEN_RUB "r+" +#define FOPEN_WUB "w+" +#define FOPEN_AUB "a+" +#define FOPEN_RT "r" +#define FOPEN_WT "w" +#define FOPEN_AT "a" +#define FOPEN_RUT "r+" +#define FOPEN_WUT "w+" +#define FOPEN_AUT "a+" diff --git a/bfd/hosts/dgux.h b/bfd/hosts/dgux.h index 7db80bfd503..5c29c8e4422 100644 --- a/bfd/hosts/dgux.h +++ b/bfd/hosts/dgux.h @@ -25,3 +25,18 @@ extern PROTO(void, bzero,(char *, int)); +/* Macros for the 'type' part of an fopen, freopen or fdopen. + [Update] + */ +#define FOPEN_RB "r" +#define FOPEN_WB "w" +#define FOPEN_AB "a" +#define FOPEN_RUB "r+" +#define FOPEN_WUB "w+" +#define FOPEN_AUB "a+" +#define FOPEN_RT "r" +#define FOPEN_WT "w" +#define FOPEN_AT "a" +#define FOPEN_RUT "r+" +#define FOPEN_WUT "w+" +#define FOPEN_AUT "a+" diff --git a/bfd/hosts/dose.h b/bfd/hosts/dose.h index a03b49a6a13..ccab2ac2b6d 100644 --- a/bfd/hosts/dose.h +++ b/bfd/hosts/dose.h @@ -27,3 +27,18 @@ typedef short int16_type; typedef unsigned short uint16_type; typedef int int32_type; typedef unsigned int uint32_type; +/* Macros for the 'type' part of an fopen, freopen or fdopen. + [Update] + */ +#define FOPEN_RB "rb" +#define FOPEN_WB "wb" +#define FOPEN_AB "ab" +#define FOPEN_RUB "r+b" +#define FOPEN_WUB "w+b" +#define FOPEN_AUB "a+b" +#define FOPEN_RT "r" +#define FOPEN_WT "w" +#define FOPEN_AT "a" +#define FOPEN_RUT "r+" +#define FOPEN_WUT "w+" +#define FOPEN_AUT "a+" diff --git a/bfd/hosts/harris.h b/bfd/hosts/harris.h index 138f1703ff9..431c7ae0612 100644 --- a/bfd/hosts/harris.h +++ b/bfd/hosts/harris.h @@ -36,3 +36,18 @@ typedef short int16_type; typedef unsigned short uint16_type; typedef int int32_type; typedef unsigned int uint32_type; +/* Macros for the 'type' part of an fopen, freopen or fdopen. + [Update] + */ +#define FOPEN_RB "r" +#define FOPEN_WB "w" +#define FOPEN_AB "a" +#define FOPEN_RUB "r+" +#define FOPEN_WUB "w+" +#define FOPEN_AUB "a+" +#define FOPEN_RT "r" +#define FOPEN_WT "w" +#define FOPEN_AT "a" +#define FOPEN_RUT "r+" +#define FOPEN_WUT "w+" +#define FOPEN_AUT "a+" diff --git a/bfd/hosts/hp300bsd.h b/bfd/hosts/hp300bsd.h new file mode 100644 index 00000000000..d373fdc972f --- /dev/null +++ b/bfd/hosts/hp300bsd.h @@ -0,0 +1,59 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +void *malloc(); +void free(); + +#ifndef O_ACCMODE +#define O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR) +#endif + +#define SEEK_SET 0 +#define SEEK_CUR 1 + +#include + +#define HOST_PAGE_SIZE NBPG +#define HOST_SEGMENT_SIZE NBPG /* Data seg start addr rounds to NBPG */ +#define HOST_MACHINE_ARCH bfd_arch_m68k +/* #define HOST_MACHINE_MACHINE */ + +#define HOST_TEXT_START_ADDR 0 +#define HOST_STACK_END_ADDR 0xfff00000 + +/* EXACT TYPES */ +typedef char int8e_type; +typedef unsigned char uint8e_type; +typedef short int16e_type; +typedef unsigned short uint16e_type; +typedef int int32e_type; +typedef unsigned int uint32e_type; + +/* CORRECT SIZE OR GREATER */ +typedef char int8_type; +typedef unsigned char uint8_type; +typedef short int16_type; +typedef unsigned short uint16_type; +typedef int int32_type; +typedef unsigned int uint32_type; +/* Macros for the 'type' part of an fopen, freopen or fdopen. + [Update] + */ +#define FOPEN_RB "r" +#define FOPEN_WB "w" +#define FOPEN_AB "a" +#define FOPEN_RUB "r+" +#define FOPEN_WUB "w+" +#define FOPEN_AUB "a+" +#define FOPEN_RT "r" +#define FOPEN_WT "w" +#define FOPEN_AT "a" +#define FOPEN_RUT "r+" +#define FOPEN_WUT "w+" +#define FOPEN_AUT "a+" diff --git a/bfd/hosts/hp9000.h b/bfd/hosts/hp9000.h index cbdb6d1308b..a6b48dc6a27 100644 --- a/bfd/hosts/hp9000.h +++ b/bfd/hosts/hp9000.h @@ -63,3 +63,18 @@ typedef unsigned short uint16_type; typedef int int32_type; typedef unsigned int uint32_type; +/* Macros for the 'type' part of an fopen, freopen or fdopen. + [Update] + */ +#define FOPEN_RB "r" +#define FOPEN_WB "w" +#define FOPEN_AB "a" +#define FOPEN_RUB "r+" +#define FOPEN_WUB "w+" +#define FOPEN_AUB "a+" +#define FOPEN_RT "r" +#define FOPEN_WT "w" +#define FOPEN_AT "a" +#define FOPEN_RUT "r+" +#define FOPEN_WUT "w+" +#define FOPEN_AUT "a+" diff --git a/bfd/hosts/i386mach.h b/bfd/hosts/i386mach.h index 6b6c9cef31d..ce11dd66053 100644 --- a/bfd/hosts/i386mach.h +++ b/bfd/hosts/i386mach.h @@ -43,3 +43,18 @@ typedef short int16_type; typedef unsigned short uint16_type; typedef int int32_type; typedef unsigned int uint32_type; +/* Macros for the 'type' part of an fopen, freopen or fdopen. + [Update] + */ +#define FOPEN_RB "r" +#define FOPEN_WB "w" +#define FOPEN_AB "a" +#define FOPEN_RUB "r+" +#define FOPEN_WUB "w+" +#define FOPEN_AUB "a+" +#define FOPEN_RT "r" +#define FOPEN_WT "w" +#define FOPEN_AT "a" +#define FOPEN_RUT "r+" +#define FOPEN_WUT "w+" +#define FOPEN_AUT "a+" diff --git a/bfd/hosts/i386v.h b/bfd/hosts/i386v.h index 657ec68c9d7..d2b5daade25 100644 --- a/bfd/hosts/i386v.h +++ b/bfd/hosts/i386v.h @@ -65,3 +65,18 @@ typedef unsigned short uint16_type; typedef int int32_type; typedef unsigned int uint32_type; +/* Macros for the 'type' part of an fopen, freopen or fdopen. + [Update] + */ +#define FOPEN_RB "r" +#define FOPEN_WB "w" +#define FOPEN_AB "a" +#define FOPEN_RUB "r+" +#define FOPEN_WUB "w+" +#define FOPEN_AUB "a+" +#define FOPEN_RT "r" +#define FOPEN_WT "w" +#define FOPEN_AT "a" +#define FOPEN_RUT "r+" +#define FOPEN_WUT "w+" +#define FOPEN_AUT "a+" diff --git a/bfd/hosts/i386v4.h b/bfd/hosts/i386v4.h index 12906ef0103..51126328d5b 100644 --- a/bfd/hosts/i386v4.h +++ b/bfd/hosts/i386v4.h @@ -60,3 +60,18 @@ typedef short int16_type; typedef unsigned short uint16_type; typedef int int32_type; typedef unsigned int uint32_type; +/* Macros for the 'type' part of an fopen, freopen or fdopen. + [Update] + */ +#define FOPEN_RB "r" +#define FOPEN_WB "w" +#define FOPEN_AB "a" +#define FOPEN_RUB "r+" +#define FOPEN_WUB "w+" +#define FOPEN_AUB "a+" +#define FOPEN_RT "r" +#define FOPEN_WT "w" +#define FOPEN_AT "a" +#define FOPEN_RUT "r+" +#define FOPEN_WUT "w+" +#define FOPEN_AUT "a+" diff --git a/bfd/hosts/irix3.h b/bfd/hosts/irix3.h index f6e5fa1979f..64f59332cc4 100644 --- a/bfd/hosts/irix3.h +++ b/bfd/hosts/irix3.h @@ -38,3 +38,18 @@ typedef unsigned short uint16_type; typedef int int32_type; typedef unsigned int uint32_type; +/* Macros for the 'type' part of an fopen, freopen or fdopen. + [Update] + */ +#define FOPEN_RB "r" +#define FOPEN_WB "w" +#define FOPEN_AB "a" +#define FOPEN_RUB "r+" +#define FOPEN_WUB "w+" +#define FOPEN_AUB "a+" +#define FOPEN_RT "r" +#define FOPEN_WT "w" +#define FOPEN_AT "a" +#define FOPEN_RUT "r+" +#define FOPEN_WUT "w+" +#define FOPEN_AUT "a+" diff --git a/bfd/hosts/news.h b/bfd/hosts/news.h new file mode 100644 index 00000000000..edfdc4dbc00 --- /dev/null +++ b/bfd/hosts/news.h @@ -0,0 +1,84 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#ifndef O_ACCMODE +#define O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR) +#endif +#define SEEK_SET 0 +#define SEEK_CUR 1 + +extern PROTO(int, abort,(void)); +extern PROTO(int, close,(int)); +extern PROTO(int, fcntl,(int des, int cmd, int e)); +extern PROTO(int, fprintf,(FILE *,char *,...)); +extern PROTO(int, printf,(char *,...)); +extern PROTO(int, qsort,(void *data,int els, int siz, int func())); +extern PROTO(int, exit,(int)); +extern PROTO(int, fseek,(FILE*, int, int)); +extern PROTO(int, fclose,(FILE*)); +extern PROTO(void, bcopy,(char*,char*,int)); +extern PROTO(int, bcmp,(char *, char *, int)); +extern PROTO(void, bzero,(char *, int)); +extern char * strchr(); +extern PROTO(void, perror,(CONST char *)); +extern char *getenv(); +extern char *memchr(); +extern char *strrchr(); +extern int chmod(); +extern int fread(); +extern int fstat(); +extern int fwrite(); +extern int sscanf(); +extern int stat(); +extern int strtol(); +void free(); +char *malloc(); +char *realloc(); +extern char *strrchr(); +extern char *ctime(); +extern int _flsbuf(); +extern int fclose(); +extern int time(); +extern int utimes(); +extern int vfprintf(); +extern long atol(); +extern char *getenv(); +extern int fputc(); +extern int unlink(); + + +/* EXACT TYPES */ +typedef char int8e_type; +typedef unsigned char uint8e_type; +typedef short int16e_type; +typedef unsigned short uint16e_type; +typedef int int32e_type; +typedef unsigned int uint32e_type; + +/* CORRECT SIZE OR GREATER */ +typedef char int8_type; +typedef unsigned char uint8_type; +typedef short int16_type; +typedef unsigned short uint16_type; +typedef int int32_type; +typedef unsigned int uint32_type; +/* Macros for the 'type' part of an fopen, freopen or fdopen. + [Update] + */ +#define FOPEN_RB "r" +#define FOPEN_WB "w" +#define FOPEN_AB "a" +#define FOPEN_RUB "r+" +#define FOPEN_WUB "w+" +#define FOPEN_AUB "a+" +#define FOPEN_RT "r" +#define FOPEN_WT "w" +#define FOPEN_AT "a" +#define FOPEN_RUT "r+" +#define FOPEN_WUT "w+" +#define FOPEN_AUT "a+" diff --git a/bfd/hosts/rs6000.h b/bfd/hosts/rs6000.h index 7cf72b10379..0fd01cd2aeb 100644 --- a/bfd/hosts/rs6000.h +++ b/bfd/hosts/rs6000.h @@ -33,3 +33,18 @@ typedef unsigned short uint16_type; typedef int int32_type; typedef unsigned int uint32_type; +/* Macros for the 'type' part of an fopen, freopen or fdopen. + [Update] + */ +#define FOPEN_RB "r" +#define FOPEN_WB "w" +#define FOPEN_AB "a" +#define FOPEN_RUB "r+" +#define FOPEN_WUB "w+" +#define FOPEN_AUB "a+" +#define FOPEN_RT "r" +#define FOPEN_WT "w" +#define FOPEN_AT "a" +#define FOPEN_RUT "r+" +#define FOPEN_WUT "w+" +#define FOPEN_AUT "a+" diff --git a/bfd/hosts/rtbsd.h b/bfd/hosts/rtbsd.h index 8525052763d..94e900bdde1 100644 --- a/bfd/hosts/rtbsd.h +++ b/bfd/hosts/rtbsd.h @@ -33,3 +33,18 @@ typedef short int16_type; typedef unsigned short uint16_type; typedef int int32_type; typedef unsigned int uint32_type; +/* Macros for the 'type' part of an fopen, freopen or fdopen. + [Update] + */ +#define FOPEN_RB "r" +#define FOPEN_WB "w" +#define FOPEN_AB "a" +#define FOPEN_RUB "r+" +#define FOPEN_WUB "w+" +#define FOPEN_AUB "a+" +#define FOPEN_RT "r" +#define FOPEN_WT "w" +#define FOPEN_AT "a" +#define FOPEN_RUT "r+" +#define FOPEN_WUT "w+" +#define FOPEN_AUT "a+" diff --git a/bfd/hosts/sparc-ll.h b/bfd/hosts/sparc-ll.h index 50a29459e3b..493b5599062 100644 --- a/bfd/hosts/sparc-ll.h +++ b/bfd/hosts/sparc-ll.h @@ -121,3 +121,18 @@ typedef struct { #define uint64_typeLOW(x) (uint32_type)(((x) & 0xffffffff)) #define uint64_typeHIGH(x) (uint32_type)(((x) >> 32) & 0xffffffff) #endif +/* Macros for the 'type' part of an fopen, freopen or fdopen. + [Update] + */ +#define FOPEN_RB "r" +#define FOPEN_WB "w" +#define FOPEN_AB "a" +#define FOPEN_RUB "r+" +#define FOPEN_WUB "w+" +#define FOPEN_AUB "a+" +#define FOPEN_RT "r" +#define FOPEN_WT "w" +#define FOPEN_AT "a" +#define FOPEN_RUT "r+" +#define FOPEN_WUT "w+" +#define FOPEN_AUT "a+" diff --git a/bfd/hosts/sparc.h b/bfd/hosts/sparc.h index 7182ae63bdf..b541922ff7a 100644 --- a/bfd/hosts/sparc.h +++ b/bfd/hosts/sparc.h @@ -131,3 +131,18 @@ typedef struct { #endif +/* Macros for the 'type' part of an fopen, freopen or fdopen. + [Update] + */ +#define FOPEN_RB "r" +#define FOPEN_WB "w" +#define FOPEN_AB "a" +#define FOPEN_RUB "r+" +#define FOPEN_WUB "w+" +#define FOPEN_AUB "a+" +#define FOPEN_RT "r" +#define FOPEN_WT "w" +#define FOPEN_AT "a" +#define FOPEN_RUT "r+" +#define FOPEN_WUT "w+" +#define FOPEN_AUT "a+" diff --git a/bfd/hosts/sun3.h b/bfd/hosts/sun3.h index eefa366f26e..49aba2f7265 100644 --- a/bfd/hosts/sun3.h +++ b/bfd/hosts/sun3.h @@ -68,3 +68,18 @@ typedef unsigned short uint16_type; typedef int int32_type; typedef unsigned int uint32_type; +/* Macros for the 'type' part of an fopen, freopen or fdopen. + [Update] + */ +#define FOPEN_RB "r" +#define FOPEN_WB "w" +#define FOPEN_AB "a" +#define FOPEN_RUB "r+" +#define FOPEN_WUB "w+" +#define FOPEN_AUB "a+" +#define FOPEN_RT "r" +#define FOPEN_WT "w" +#define FOPEN_AT "a" +#define FOPEN_RUT "r+" +#define FOPEN_WUT "w+" +#define FOPEN_AUT "a+" diff --git a/bfd/hosts/tahoe.h b/bfd/hosts/tahoe.h index b8f07887046..99147c0e33d 100644 --- a/bfd/hosts/tahoe.h +++ b/bfd/hosts/tahoe.h @@ -1,3 +1,5 @@ +/* Tahoe running BSD (post-Reno) Unix. */ + #include #include #include @@ -6,11 +8,20 @@ #include #include #include -#ifndef O_ACCMODE -#define O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR) -#endif -#define SEEK_SET 0 -#define SEEK_CUR 1 +#include + +#define FASCIST_FDOPEN +#define NO_CORE_COMMAND + +#undef ALIGN /* They use it, we use it too */ +#include +#undef ALIGN /* They use it, we use it too */ + +#define HOST_PAGE_SIZE NBPG +#define HOST_MACHINE_ARCH bfd_arch_tahoe + +#define HOST_TEXT_START_ADDR 0 +#define HOST_STACK_END_ADDR KERNBASE /* EXACT TYPES */ typedef char int8e_type; @@ -27,4 +38,18 @@ typedef short int16_type; typedef unsigned short uint16_type; typedef int int32_type; typedef unsigned int uint32_type; - +/* Macros for the 'type' part of an fopen, freopen or fdopen. + [Update] + */ +#define FOPEN_RB "r" +#define FOPEN_WB "w" +#define FOPEN_AB "a" +#define FOPEN_RUB "r+" +#define FOPEN_WUB "w+" +#define FOPEN_AUB "a+" +#define FOPEN_RT "r" +#define FOPEN_WT "w" +#define FOPEN_AT "a" +#define FOPEN_RUT "r+" +#define FOPEN_WUT "w+" +#define FOPEN_AUT "a+" diff --git a/bfd/hosts/ultra3.h b/bfd/hosts/ultra3.h index e3df430c978..b84e79fe7ff 100644 --- a/bfd/hosts/ultra3.h +++ b/bfd/hosts/ultra3.h @@ -32,3 +32,18 @@ typedef short int16_type; typedef unsigned short uint16_type; typedef int int32_type; typedef unsigned int uint32_type; +/* Macros for the 'type' part of an fopen, freopen or fdopen. + [Update] + */ +#define FOPEN_RB "r" +#define FOPEN_WB "w" +#define FOPEN_AB "a" +#define FOPEN_RUB "r+" +#define FOPEN_WUB "w+" +#define FOPEN_AUB "a+" +#define FOPEN_RT "r" +#define FOPEN_WT "w" +#define FOPEN_AT "a" +#define FOPEN_RUT "r+" +#define FOPEN_WUT "w+" +#define FOPEN_AUT "a+" diff --git a/bfd/hosts/vaxbsd.h b/bfd/hosts/vaxbsd.h index 330fac50185..a818c779909 100644 --- a/bfd/hosts/vaxbsd.h +++ b/bfd/hosts/vaxbsd.h @@ -27,4 +27,18 @@ typedef short int16_type; typedef unsigned short uint16_type; typedef int int32_type; typedef unsigned int uint32_type; - +/* Macros for the 'type' part of an fopen, freopen or fdopen. + [Update] + */ +#define FOPEN_RB "r" +#define FOPEN_WB "w" +#define FOPEN_AB "a" +#define FOPEN_RUB "r+" +#define FOPEN_WUB "w+" +#define FOPEN_AUB "a+" +#define FOPEN_RT "r" +#define FOPEN_WT "w" +#define FOPEN_AT "a" +#define FOPEN_RUT "r+" +#define FOPEN_WUT "w+" +#define FOPEN_AUT "a+" diff --git a/bfd/hosts/vaxult.h b/bfd/hosts/vaxult.h index 2de63961e8a..ebb1b398fb1 100644 --- a/bfd/hosts/vaxult.h +++ b/bfd/hosts/vaxult.h @@ -16,13 +16,11 @@ #include #include -#define HOST_PAGE_SIZE NBPG -#define HOST_SEGMENT_SIZE NBPG /* Data seg start addr rounds to NBPG */ +#define HOST_PAGE_SIZE (NBPG*CLSIZE) #define HOST_MACHINE_ARCH bfd_arch_vax -/* #define HOST_MACHINE_MACHINE */ -#define HOST_TEXT_START_ADDR USRTEXT -#define HOST_STACK_END_ADDR USRSTACK +#define HOST_TEXT_START_ADDR USRTEXT +#define HOST_STACK_END_ADDR USRSTACK /* EXACT TYPES */ typedef char int8e_type; @@ -39,3 +37,18 @@ typedef short int16_type; typedef unsigned short uint16_type; typedef int int32_type; typedef unsigned int uint32_type; +/* Macros for the 'type' part of an fopen, freopen or fdopen. + [Update] + */ +#define FOPEN_RB "r" +#define FOPEN_WB "w" +#define FOPEN_AB "a" +#define FOPEN_RUB "r+" +#define FOPEN_WUB "w+" +#define FOPEN_AUB "a+" +#define FOPEN_RT "r" +#define FOPEN_WT "w" +#define FOPEN_AT "a" +#define FOPEN_RUT "r+" +#define FOPEN_WUT "w+" +#define FOPEN_AUT "a+"