which included commits to RCS files with non-trunk default branches. git-svn-id: svn://10.65.10.50/trunk@5403 c028cbd2-c16b-5b4b-a496-9718f37d4682
124 lines
2.7 KiB
C
Executable File
124 lines
2.7 KiB
C
Executable File
/* riscos.h */
|
|
|
|
#ifndef __riscos_h
|
|
#define __riscos_h
|
|
|
|
#include <time.h>
|
|
|
|
typedef struct {
|
|
int errnum;
|
|
char errmess[252];
|
|
} os_error;
|
|
|
|
#ifndef __swiven_h
|
|
# include "swiven.h"
|
|
#endif
|
|
|
|
#define MAXPATHLEN 256
|
|
#define MAXFILENAMELEN 64 /* should be 11 for ADFS, 13 for DOS, 64 seems a sensible value... */
|
|
#define DIR_BUFSIZE 1024 /* this should be enough to read a whole E-Format directory */
|
|
|
|
struct stat {
|
|
unsigned int st_dev;
|
|
int st_ino;
|
|
unsigned int st_mode;
|
|
int st_nlink;
|
|
unsigned short st_uid;
|
|
unsigned short st_gid;
|
|
unsigned int st_rdev;
|
|
unsigned int st_size;
|
|
unsigned int st_blksize;
|
|
time_t st_atime;
|
|
time_t st_mtime;
|
|
time_t st_ctime;
|
|
};
|
|
|
|
typedef struct {
|
|
char *dirname;
|
|
void *buf;
|
|
int size;
|
|
char *act;
|
|
int offset;
|
|
int read;
|
|
} DIR;
|
|
|
|
|
|
struct dirent {
|
|
unsigned int d_off; /* offset of next disk directory entry */
|
|
int d_fileno; /* file number of entry */
|
|
size_t d_reclen; /* length of this record */
|
|
size_t d_namlen; /* length of d_name */
|
|
char d_name[MAXFILENAMELEN]; /* name */
|
|
};
|
|
|
|
typedef struct {
|
|
int load_addr;
|
|
int exec_addr;
|
|
int lenght;
|
|
int attrib;
|
|
int objtype;
|
|
char name[13];
|
|
} riscos_direntry;
|
|
|
|
#define SPARKID 0x4341 /* = "AC" */
|
|
#define SPARKID_2 0x30435241 /* = "ARC0" */
|
|
|
|
typedef struct {
|
|
short ID;
|
|
short size;
|
|
int ID_2;
|
|
int loadaddr;
|
|
int execaddr;
|
|
int attr;
|
|
int zero;
|
|
} extra_block;
|
|
|
|
|
|
#define S_IFMT 0770000
|
|
|
|
#define S_IFDIR 0040000
|
|
#define S_IFREG 0100000 /* 0200000 in UnixLib !?!?!?!? */
|
|
|
|
#ifndef S_IEXEC
|
|
# define S_IEXEC 0000100
|
|
# define S_IWRITE 0000200
|
|
# define S_IREAD 0000400
|
|
#endif
|
|
|
|
#ifndef NO_UNZIPH_STUFF
|
|
# include <time.h>
|
|
# define DATE_FORMAT DF_DMY
|
|
# define lenEOL 1
|
|
# define PutNativeEOL *q++ = native(LF);
|
|
# define USE_STRM_INPUT
|
|
# define USE_FWRITE
|
|
# define PIPE_ERROR (errno == 9999) /* always false */
|
|
# define isatty(x) (TRUE) /* used in funzip.c to find if stdin redirected:
|
|
should find a better way, now just work as if stdin never redirected */
|
|
# define USE_EF_UT_TIME
|
|
# define localtime riscos_localtime
|
|
# define gmtime riscos_gmtime
|
|
#endif /* !NO_UNZIPH_STUFF */
|
|
|
|
#define _raw_getc() SWI_OS_ReadC()
|
|
|
|
extern char *exts2swap; /* Extensions to swap */
|
|
|
|
int stat(char *filename,struct stat *res);
|
|
DIR *opendir(char *dirname);
|
|
struct dirent *readdir(DIR *d);
|
|
void closedir(DIR *d);
|
|
int unlink(char *f);
|
|
int rmdir(char *d);
|
|
int chmod(char *file, int mode);
|
|
void setfiletype(char *fname,int ftype);
|
|
void getRISCOSexts(char *envstr);
|
|
int checkext(char *suff);
|
|
void swapext(char *name, char *exptr);
|
|
void remove_prefix(void);
|
|
void set_prefix(void);
|
|
struct tm *riscos_localtime(const time_t *timer);
|
|
struct tm *riscos_gmtime(const time_t *timer);
|
|
|
|
#endif
|