mirror of https://github.com/FDOS/kernel.git
Get rid of SFT_M* mode values. O_* values are sufficient.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@830 6ac86273-5f31-0410-b378-82cca8765d1b
This commit is contained in:
parent
1fb4a30294
commit
9aa77bef50
20
hdr/file.h
20
hdr/file.h
|
@ -47,13 +47,25 @@ static BYTE *file_hRcsId =
|
|||
#define STDAUX 3
|
||||
#define STDPRN 4
|
||||
|
||||
#define O_RDONLY SFT_MREAD
|
||||
#define O_WRONLY SFT_MWRITE
|
||||
#define O_RDWR SFT_MRDWR
|
||||
#define O_ACCMODE 3
|
||||
/* mode bits */
|
||||
#define O_VALIDMASK 0xfff3 /* valid open mask */
|
||||
|
||||
#define O_RDONLY 0x0000
|
||||
#define O_WRONLY 0x0001
|
||||
#define O_RDWR 0x0002
|
||||
#define O_ACCMODE 0x0003
|
||||
|
||||
/* bits 2, 3 reserved */
|
||||
|
||||
/* bits 4, 5, 6 sharing modes */
|
||||
#define O_SHAREMASK 0x0070 /* mask to isolate shared bits */
|
||||
|
||||
#define O_DENYALL 0x0010 /* " " */
|
||||
#define O_DENYWRITE 0x0020 /* " " */
|
||||
#define O_DENYREAD 0x0030 /* " " */
|
||||
#define O_DENYNONE 0x0040 /* sharing bits */
|
||||
#define O_NETFCB 0x0070 /* networked fcb */
|
||||
|
||||
#define O_NOINHERIT 0x0080
|
||||
#define O_OPEN 0x0100 /* not */
|
||||
#define O_TRUNC 0x0200 /* both */
|
||||
|
|
14
hdr/sft.h
14
hdr/sft.h
|
@ -94,20 +94,6 @@ typedef struct sfttbl {
|
|||
/* defines for sft use */
|
||||
#define SFT_MASK 0x0060 /* splits device data */
|
||||
|
||||
/* mode bits */
|
||||
#define SFT_MFCB 0x8000 /* entry is for fcb */
|
||||
#define SFT_MDENYNONE 0x0040 /* sharing bits */
|
||||
#define SFT_MDENYREAD 0x0030 /* " " */
|
||||
#define SFT_MDENYWRITE 0x0020 /* " " */
|
||||
#define SFT_MEXCLUSIVE 0x0010 /* " " */
|
||||
#define SFT_NOINHERIT 0x0080 /* inhibit inherting of file */
|
||||
#define SFT_NETFCB 0x0070 /* networked fcb */
|
||||
#define SFT_MSHAREMASK 0x0070 /* mask to isolate shared bits */
|
||||
#define SFT_MRDWR 0x0002 /* read/write bit */
|
||||
#define SFT_MWRITE 0x0001 /* write bit */
|
||||
#define SFT_MREAD 0x0000 /* ~ write bit */
|
||||
#define SFT_OMASK 0xfff3 /* valid open mask */
|
||||
|
||||
/* flag bits */
|
||||
|
||||
/* the following bit is for redirection */
|
||||
|
|
|
@ -211,8 +211,8 @@ long DosRWSft(int sft_idx, size_t n, void FAR * bp, int mode)
|
|||
return DE_INVLDHNDL;
|
||||
}
|
||||
/* If for read and write-only or for write and read-only then exit */
|
||||
if((mode == XFR_READ && (s->sft_mode & SFT_MWRITE)) ||
|
||||
(mode == XFR_WRITE && !(s->sft_mode & (SFT_MWRITE | SFT_MRDWR))))
|
||||
if((mode == XFR_READ && (s->sft_mode & O_WRONLY)) ||
|
||||
(mode == XFR_WRITE && (s->sft_mode & O_ACCMODE) == O_RDONLY))
|
||||
{
|
||||
return DE_ACCESS;
|
||||
}
|
||||
|
@ -337,7 +337,7 @@ COUNT SftSeek(int sft_idx, LONG new_pos, COUNT mode)
|
|||
* Lredir via mfs.c from DosEMU works when writing appended files.
|
||||
* Mfs.c looks for these mode bits set, so here is my best guess.;^)
|
||||
*/
|
||||
if ((s->sft_mode & SFT_MDENYREAD) || (s->sft_mode & SFT_MDENYNONE))
|
||||
if ((s->sft_mode & O_DENYREAD) || (s->sft_mode & O_DENYNONE))
|
||||
{
|
||||
s->sft_posit = remote_lseek(s, new_pos);
|
||||
return SUCCESS;
|
||||
|
@ -644,7 +644,7 @@ long DosOpen(char FAR * fname, unsigned mode, unsigned attrib)
|
|||
unsigned hndl;
|
||||
|
||||
/* test if mode is in range */
|
||||
if ((mode & ~SFT_OMASK) != 0)
|
||||
if ((mode & ~O_VALIDMASK) != 0)
|
||||
return DE_INVLDACC;
|
||||
|
||||
/* get a free handle */
|
||||
|
|
|
@ -412,7 +412,7 @@ UBYTE FcbOpen(xfcb FAR * lpXfcb, unsigned flags)
|
|||
}
|
||||
|
||||
sftp = idx_to_sft(sft_idx);
|
||||
sftp->sft_mode |= SFT_MFCB;
|
||||
sftp->sft_mode |= O_FCB;
|
||||
|
||||
lpFcb->fcb_sftno = sft_idx;
|
||||
lpFcb->fcb_curec = 0;
|
||||
|
@ -631,7 +631,7 @@ VOID FcbCloseAll()
|
|||
sft FAR *sftp;
|
||||
|
||||
for (idx = 0; (sftp = idx_to_sft(idx)) != (sft FAR *) - 1; idx++)
|
||||
if ((sftp->sft_mode & SFT_MFCB) && sftp->sft_psp == cu_psp)
|
||||
if ((sftp->sft_mode & O_FCB) && sftp->sft_psp == cu_psp)
|
||||
DosCloseSft(idx, FALSE);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue