Fix some prototypes and add definitions for "extended open" support.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@412 6ac86273-5f31-0410-b378-82cca8765d1b
This commit is contained in:
parent
8567cb9ed5
commit
3b5e79890e
@ -126,8 +126,8 @@ struct dhdr {
|
||||
struct dhdr
|
||||
FAR *dh_next;
|
||||
UWORD dh_attr;
|
||||
VOID(*dh_strategy) ();
|
||||
VOID(*dh_interrupt) ();
|
||||
VOID(*dh_strategy) (void);
|
||||
VOID(*dh_interrupt) (void);
|
||||
BYTE dh_name[8];
|
||||
};
|
||||
|
||||
|
@ -36,7 +36,7 @@ static BYTE *dirmatch_hRcsId =
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
BYTE dm_drive;
|
||||
UBYTE dm_drive;
|
||||
BYTE dm_name_pat[FNAME_SIZE + FEXT_SIZE];
|
||||
BYTE dm_attr_srch;
|
||||
UWORD dm_entry;
|
||||
|
@ -53,6 +53,7 @@ typedef struct {
|
||||
} exe_header;
|
||||
|
||||
#define MAGIC 0x5a4d
|
||||
#define OLD_MAGIC 0x4d5a
|
||||
|
||||
/*
|
||||
* Log: exe.h,v
|
||||
|
@ -78,7 +78,7 @@ static BYTE *fcb_hRcsId =
|
||||
|
||||
/* File Control Block (FCB) */
|
||||
typedef struct {
|
||||
BYTE fcb_drive; /* Drive number 0=default, 1=A, etc */
|
||||
UBYTE fcb_drive; /* Drive number 0=default, 1=A, etc */
|
||||
BYTE fcb_fname[FNAME_SIZE]; /* File name */
|
||||
BYTE fcb_fext[FEXT_SIZE]; /* File name Extension */
|
||||
UWORD fcb_cublock; /* Current block number of */
|
||||
|
15
hdr/file.h
15
hdr/file.h
@ -51,6 +51,21 @@ static BYTE *file_hRcsId =
|
||||
#define O_WRONLY SFT_MWRITE
|
||||
#define O_RDWR SFT_MRDWR
|
||||
|
||||
/* bits 2, 3 reserved */
|
||||
/* bits 4, 5, 6 sharing modes */
|
||||
#define O_NOINHERIT 0x0080
|
||||
#define O_OPEN 0x0100 /* not */
|
||||
#define O_TRUNC 0x0200 /* both */
|
||||
#define O_CREAT 0x0400
|
||||
#define O_LEGACY 0x0800
|
||||
#define O_LARGEFILE 0x1000
|
||||
#define O_NOCRIT 0x2000
|
||||
#define O_SYNC 0x4000
|
||||
#define O_FCB 0x8000
|
||||
|
||||
/* status for extended open */
|
||||
enum {S_OPENED = 1, S_CREATED = 2, S_REPLACED = 3};
|
||||
|
||||
/*
|
||||
* Log: file.h,v
|
||||
*
|
||||
|
12
hdr/nls.h
12
hdr/nls.h
@ -175,7 +175,7 @@
|
||||
*
|
||||
* Performance tweaks:
|
||||
* When the system -- This word applies to the combination of kernel and
|
||||
* any loaded MUX-14 extension la NLSFUNC here. -- uppercases
|
||||
* any loaded MUX-14 extension á la NLSFUNC here. -- uppercases
|
||||
* _filenames_, it must perform a DOS-65-A2 internally. In the basic
|
||||
* implementation this request would be channeled through MUX-14, even
|
||||
* if there is no external NLSFUNC at all. Also, when a NLS pkg had
|
||||
@ -517,22 +517,22 @@ extern BYTE FAR hcTablesStart[], hcTablesEnd[];
|
||||
|
||||
#define CSYS_FD_IDSTRING "FreeDOS COUNTRY.SYS v1.0\r\n"
|
||||
|
||||
struct nlsCSys_function { /* S3: function definition */
|
||||
struct csys_function { /* S3: function definition */
|
||||
UDWORD csys_rpos; /* relative position to actual data */
|
||||
UWORD csys_length;
|
||||
UBYTE csys_fctID; /* As passed to DOS-65-XX */
|
||||
UBYTE csys_reserved1; /* always 0, reserved for future use */
|
||||
};
|
||||
|
||||
struct nlsCSys_ccDefinition { /* S1: country/codepage reference */
|
||||
struct csys_ccDefinition { /* S1: country/codepage reference */
|
||||
UDWORD csys_rpos; /* moving the 4byte value to the front
|
||||
can increase performance */
|
||||
UWORD csys_cp;
|
||||
UWORD csys_cntry;
|
||||
};
|
||||
|
||||
struct nlsCSys_numEntries { /* helper structure for "number of entries" */
|
||||
UWORD csys_numEntries;
|
||||
struct csys_numEntries { /* helper structure for "number of entries" */
|
||||
UWORD csys_entries;
|
||||
};
|
||||
|
||||
/* Actually, this structure is never really used */
|
||||
@ -541,7 +541,7 @@ struct nlsCSys_fileHeader { /* S0: primary structure */
|
||||
/* decrement by 1 to cut off \0 from IDString -- ska */
|
||||
};
|
||||
|
||||
struct nlsCSys_completeFileHeader { /* as S0, but full 128 bytes */
|
||||
struct csys_completeFileHeader { /* as S0, but full 128 bytes */
|
||||
unsigned char csys_idstring[sizeof(CSYS_FD_IDSTRING) - 1];
|
||||
unsigned char csys_padbytes[128 - (sizeof(CSYS_FD_IDSTRING) - 1)];
|
||||
};
|
||||
|
@ -81,6 +81,12 @@ typedef struct _iregss {
|
||||
UWORD ip, cs, flags;
|
||||
} iregs;
|
||||
|
||||
/* struct used for local copy of registers */
|
||||
typedef struct {
|
||||
xreg a, b, c, d;
|
||||
UWORD si, di, ds, es;
|
||||
} lregs;
|
||||
|
||||
/* Registers directly passed to syscall;
|
||||
must be the same order as iregs!
|
||||
Is used to define parameters. */
|
||||
|
@ -68,7 +68,7 @@ typedef struct {
|
||||
|
||||
/* CP/M-like entry point */
|
||||
UBYTE ps_farcall; /* 05 far call opcode */
|
||||
VOID(FAR ASMCFUNC * ps_reentry) (); /* 06 re-entry point */
|
||||
VOID(FAR ASMCFUNC * ps_reentry) (void); /* 06 re-entry point */
|
||||
intvec ps_isv22, /* 0a terminate address */
|
||||
ps_isv23, /* 0e break address */
|
||||
ps_isv24; /* 12 critical error address */
|
||||
@ -76,7 +76,7 @@ typedef struct {
|
||||
UBYTE ps_files[20]; /* 18 file table - 0xff is unused */
|
||||
UWORD ps_environ; /* 2c environment paragraph */
|
||||
BYTE FAR *ps_stack; /* 2e user stack pointer - int 21 */
|
||||
WORD ps_maxfiles; /* 32 maximum open files */
|
||||
UWORD ps_maxfiles; /* 32 maximum open files */
|
||||
UBYTE FAR *ps_filetab; /* 34 open file table pointer */
|
||||
VOID FAR *ps_prevpsp; /* 38 previous psp pointer */
|
||||
BYTE FAR *ps_dta; /* 3c process dta address */
|
||||
|
Loading…
Reference in New Issue
Block a user