_dos_open
Syntax
#include <fcntl.h>
#include <share.h>
#include <dos.h>
unsigned int _dos_open(const char *filename, unsigned short mode,int *handle);
Description
This is a direct connection to the MS-DOS open function call (%ah = 0x3D). This function opens the given file with the given mode and puts handle of file into handle if openning is successful. Meaning of mode parameter is the following:
Access mode bits (in FCNTL.H):
O_RDONLY (_O_RDONLY) 0x00 Open for read only
O_WRONLY (_O_WRONLY) 0x01 Open for write only
O_RDWR (_O_RDWR) 0x02 Open for read and write
Sharing mode bits (in SHARE.H):
SH_COMPAT (_SH_COMPAT) 0x00 Compatibility mode
SH_DENYRW (_SH_DENYRW) 0x10 Deny read/write mode
SH_DENYWR (_SH_DENYWR) 0x20 Deny write mode
SH_DENYRD (_SH_DENYRD) 0x30 Deny read mode
SH_DENYNO (_SH_DENYNO) 0x40 Deny none mode
Inheritance bits (in FCNTL.H):
O_NOINHERIT (_O_NOINHERIT) 0x80 File is not inherited by child process
See also
_dos_creat,
_dos_creatnew,
_dos_read,
_dos_write, and
_dos_close.
This function does not support long filenames, even on systems where the LFN API (see section LFN) is available. For LFN-aware functions with similar functionality see _open, _creat, and _creatnew. Also see open, and creat, which are Posix-standard.
Return Value
Returns 0 if successful or DOS error code on error (and sets errno to EACCES, EINVAL, EMFILE or ENOENT).
Example
int handle;
if ( !_dos_open("FOO.DAT", O_RDWR, &handle) )
puts("Wow, file opening was successful !");