delorie.com/djgpp/doc/libc/libc_176.html   search  
libc.a reference

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

_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).

Portability

ANSI/ISO C No
POSIX No

Example

 
int handle;

if ( !_dos_open("FOO.DAT", O_RDWR, &handle) )
   puts("Wow, file opening was successful !");


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

  webmaster     delorie software   privacy  
  Copyright © 2004     Updated Apr 2004