1991-04-04 06:19:10 +08:00
|
|
|
#include <fcntl.h>
|
|
|
|
#include <errno.h>
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <sys/types.h>
|
|
|
|
#include <sys/stat.h>
|
|
|
|
#include <ctype.h>
|
|
|
|
#include <string.h>
|
|
|
|
#include <sys/file.h>
|
|
|
|
#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));
|
1991-07-05 02:00:42 +09:00
|
|
|
extern PROTO(int, fcntl,(int des, int cmd, int e));
|
1991-04-04 06:19:10 +08:00
|
|
|
extern PROTO(int, fprintf,(FILE *,char *,...));
|
|
|
|
extern PROTO(int, printf,(char *,...));
|
1991-05-18 11:57:45 +09:00
|
|
|
extern PROTO(int, qsort,(void *data,int els, int siz, int func()));
|
1991-05-05 07:45:02 +09:00
|
|
|
extern PROTO(void, exit,(int));
|
1991-04-04 06:19:10 +08:00
|
|
|
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));
|
1991-05-18 11:57:45 +09:00
|
|
|
extern PROTO(PTR,memset,(PTR, int,unsigned int));
|
1991-04-04 06:19:10 +08:00
|
|
|
PROTO(PTR, memcpy,(PTR,CONST PTR,unsigned int));
|
|
|
|
extern char * strchr();
|
|
|
|
extern PROTO(void, perror,(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();
|
1991-05-18 11:57:45 +09:00
|
|
|
#ifndef DONTDECLARE_MALLOC
|
|
|
|
extern PROTO(PTR,malloc,(unsigned));
|
|
|
|
extern PROTO(PTR ,realloc, (PTR, unsigned));
|
|
|
|
#endif
|
|
|
|
|
|
|
|
extern PROTO(int, free,(PTR));
|
|
|
|
|
1991-04-04 06:19:10 +08:00
|
|
|
PROTO (void, perror, (char *s));
|
|
|
|
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;
|
|
|
|
|
1991-05-18 11:57:45 +09:00
|
|
|
|
|
|
|
#ifdef __GNUC__
|
|
|
|
typedef unsigned long long uint64e_type;
|
|
|
|
|
|
|
|
#else
|
|
|
|
typedef struct {
|
|
|
|
uint32e_type low, high;
|
|
|
|
} uint64e_type;
|
|
|
|
|
|
|
|
#endif
|
1991-04-04 06:19:10 +08:00
|
|
|
/* 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;
|
|
|
|
|
1991-05-18 11:57:45 +09:00
|
|
|
#ifdef __GNUC__
|
|
|
|
typedef unsigned long long uint64_type;
|
|
|
|
typedef long long int64_type;
|
|
|
|
#else
|
|
|
|
typedef struct {
|
|
|
|
uint32e_type low, high;
|
|
|
|
} uint64_type;
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
uint32e_type low, high;
|
|
|
|
} int64_type;
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#define BYTES_IN_PRINTF_INT 4
|
|
|
|
#ifndef __GNUC__
|
|
|
|
#define uint64_typeLOW(x) (uint32_type)(((x).low))
|
|
|
|
#define uint64_typeHIGH(x) (uint32_type)(((x).high))
|
|
|
|
#else
|
|
|
|
#define uint64_typeLOW(x) (uint32_type)(((x) & 0xffffffff))
|
|
|
|
#define uint64_typeHIGH(x) (uint32_type)(((x) >> 32) & 0xffffffff)
|
|
|
|
#endif
|