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:
Bart Oldeman 2004-03-27 00:23:06 +00:00
parent 1fb4a30294
commit 9aa77bef50
4 changed files with 22 additions and 24 deletions

View File

@ -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 */

View File

@ -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 */

View File

@ -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 */

View File

@ -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);
}