mirror of
https://github.com/Ed94/pikuma_ps1.git
synced 2026-06-01 18:41:13 -07:00
Updating dependencies docs and prepping for more advanced script usage of toolchain for Psy-Q
This commit is contained in:
@@ -0,0 +1,103 @@
|
||||
/*
|
||||
* File:fs.h
|
||||
*/
|
||||
/*
|
||||
* $PSLibId: Run-time Library Release 4.7$
|
||||
*/
|
||||
|
||||
#ifndef _FS_H
|
||||
#define _FS_H
|
||||
|
||||
#if defined(_LANGUAGE_C)||defined(LANGUAGE_C)||defined(_LANGUAGE_C_PLUS_PLUS)||defined(__cplusplus)||defined(c_plusplus)
|
||||
|
||||
/* device table */
|
||||
struct device_table {
|
||||
char *dt_string; /* device name */
|
||||
int dt_type; /* device "type" */
|
||||
int dt_bsize; /* file system type */
|
||||
char *dt_desc; /* device description */
|
||||
int (*dt_init)(); /* device init routine */
|
||||
int (*dt_open)(); /* device open routine */
|
||||
int (*dt_strategy)(); /* device strategy routine, returns cnt */
|
||||
int (*dt_close)(); /* device close routine */
|
||||
int (*dt_ioctl)(); /* device ioctl routine */
|
||||
int (*dt_read)(); /* fs read routine, returns count */
|
||||
int (*dt_write)(); /* fs write routine, return count */
|
||||
int (*dt_delete)(); /* file delete routine */
|
||||
int (*dt_undelete)(); /* file delete routine */
|
||||
int (*dt_firstfile)(); /* directory serach routine */
|
||||
int (*dt_nextfile)(); /* directory serach routine */
|
||||
int (*dt_format)();
|
||||
int (*dt_cd)();
|
||||
int (*dt_rename)();
|
||||
int (*dt_remove)();
|
||||
int (*dt_else)();
|
||||
};
|
||||
#endif /* LANGUAGE_C */
|
||||
|
||||
/* device types */
|
||||
#define DTTYPE_CHAR 0x1 /* character device */
|
||||
#define DTTYPE_CONS 0x2 /* can be console */
|
||||
#define DTTYPE_BLOCK 0x4 /* block device */
|
||||
#define DTTYPE_RAW 0x8 /* raw device that uses fs switch */
|
||||
#define DTTYPE_FS 0x10
|
||||
|
||||
|
||||
/* character device flags */
|
||||
#define DB_RAW 0x1 /* don't interpret special chars */
|
||||
#define DB_STOPPED 0x2 /* stop output */
|
||||
#define DB_BREAK 0x4 /* cntl-c raise console interrpt */
|
||||
|
||||
/* character device buffer */
|
||||
#define CBUFSIZE 256
|
||||
|
||||
#if defined(_LANGUAGE_C)||defined(LANGUAGE_C)||defined(_LANGUAGE_C_PLUS_PLUS)||defined(__cplusplus)||defined(c_plusplus)
|
||||
struct device_buf {
|
||||
int db_flags; /* character device flags */
|
||||
char *db_in; /* pts at next free char */
|
||||
char *db_out; /* pts at next filled char */
|
||||
char db_buf[CBUFSIZE]; /* circular buffer for input */
|
||||
};
|
||||
#endif /* LANGUAGE_C */
|
||||
|
||||
/* circular buffer functions */
|
||||
#define CIRC_EMPTY(x) ((x)->db_in == (x)->db_out)
|
||||
#define CIRC_FLUSH(x) ((x)->db_in = (x)->db_out = (x)->db_buf)
|
||||
#define CIRC_STOPPED(x) ((x)->db_flags & DB_STOPPED)
|
||||
|
||||
|
||||
/* io block */
|
||||
#if defined(_LANGUAGE_C)||defined(LANGUAGE_C)||defined(_LANGUAGE_C_PLUS_PLUS)||defined(__cplusplus)||defined(c_plusplus)
|
||||
struct iob {
|
||||
int i_flgs;
|
||||
int i_unit; /* pseudo device unit */
|
||||
char *i_ma; /* memory address of i/o buffer */
|
||||
unsigned int i_cc; /* character count of transfer */
|
||||
unsigned long i_offset; /* seek offset in file */
|
||||
int i_fstype; /* file system type */
|
||||
int i_errno; /* error # return */
|
||||
struct device_table *i_dp; /* pointer into device_table */
|
||||
unsigned long i_size;
|
||||
long i_head;
|
||||
long i_fd; /* file descriptor */
|
||||
};
|
||||
#endif /* LANGUAGE_C */
|
||||
|
||||
#ifndef NULL
|
||||
#define NULL 0
|
||||
#endif
|
||||
|
||||
/* Request codes */
|
||||
#define READ 1
|
||||
#define WRITE 2
|
||||
|
||||
#define NIOB 16 /* max number of open files */
|
||||
|
||||
/*
|
||||
extern int _nulldev();
|
||||
extern int _nodev();
|
||||
*/
|
||||
|
||||
#endif /* _FS_H */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user