0,0 → 1,120 |
/* Copyright (C) 1998 DJ Delorie, see COPYING.DJ for details */ |
/* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */ |
#ifndef __dj_include_fcntl_h_ |
#define __dj_include_fcntl_h_ |
|
#ifdef __cplusplus |
extern "C" { |
#endif |
|
#define FD_CLOEXEC 0x0001 |
|
#define F_DUPFD 1 |
#define F_GETFD 2 |
#define F_GETFL 3 |
#define F_GETLK 4 |
#define F_SETFD 5 |
#define F_SETFL 6 |
#define F_SETLK 7 |
#define F_SETLKW 8 |
|
#define F_UNLCK 0 |
#define F_RDLCK 1 |
#define F_WRLCK 2 |
|
#define O_RDONLY 0x0000 |
#define O_WRONLY 0x0001 |
#define O_RDWR 0x0002 |
#define O_ACCMODE 0x0003 |
|
#define O_BINARY 0x0004 /* must fit in char, reserved by dos */ |
#define O_TEXT 0x0008 /* must fit in char, reserved by dos */ |
#define O_NOINHERIT 0x0080 /* DOS-specific */ |
|
#define O_CREAT 0x0100 /* second byte, away from DOS bits */ |
#define O_EXCL 0x0200 |
#define O_NOCTTY 0x0400 |
#define O_TRUNC 0x0800 |
#define O_APPEND 0x1000 |
#define O_NONBLOCK 0x2000 |
|
#include <sys/types.h> |
|
struct flock { |
off_t l_len; |
pid_t l_pid; |
off_t l_start; |
short l_type; |
short l_whence; |
}; |
|
extern int _fmode; /* O_TEXT or O_BINARY */ |
|
int open(const char *_path, int _oflag, ...); |
int creat(const char *_path, mode_t _mode); |
int fcntl(int _fildes, int _cmd, ...); |
|
#define SH_COMPAT 0x0000 |
#define SH_DENYRW 0x0010 |
#define SH_DENYWR 0x0020 |
#define SH_DENYRD 0x0030 |
#define SH_DENYNO 0x0040 |
|
#define _SH_COMPAT SH_COMPAT |
#define _SH_DENYRW SH_DENYRW |
#define _SH_DENYWR SH_DENYWR |
#define _SH_DENYRD SH_DENYRD |
#define _SH_DENYNO SH_DENYNO |
|
extern int __djgpp_share_flags; |
|
#define S_IREAD S_IRUSR |
#define S_IWRITE S_IWUSR |
#define S_IEXEC S_IXUSR |
|
/* |
* For compatibility with other DOS C compilers. |
*/ |
|
#define _O_RDONLY O_RDONLY |
#define _O_WRONLY O_WRONLY |
#define _O_RDWR O_RDWR |
#define _O_APPEND O_APPEND |
#define _O_CREAT O_CREAT |
#define _O_TRUNC O_TRUNC |
#define _O_EXCL O_EXCL |
#define _O_TEXT O_TEXT |
#define _O_BINARY O_BINARY |
#define _O_NOINHERIT O_NOINHERIT |
|
/* |
* Support for advanced filesystems (Windows 9x VFAT, NTFS, LFN etc.) |
*/ |
|
#define _FILESYS_UNKNOWN 0x80000000U |
#define _FILESYS_CASE_SENSITIVE 0x0001 |
#define _FILESYS_CASE_PRESERVED 0x0002 |
#define _FILESYS_UNICODE 0x0004 |
#define _FILESYS_LFN_SUPPORTED 0x4000 |
#define _FILESYS_VOL_COMPRESSED 0x8000 |
|
unsigned _get_volume_info (const char *_path, int *_max_file_len, int *_max_path_len, char *_filesystype); |
char _use_lfn (const char *_path); |
char *_lfn_gen_short_fname (const char *_long_fname, char *_short_fname); |
|
#define _LFN_CTIME 1 |
#define _LFN_ATIME 2 |
|
unsigned _lfn_get_ftime (int _handle, int _which); |
|
char _preserve_fncase (void); |
|
#ifndef _USE_LFN |
#define _USE_LFN _use_lfn(0) /* assume it's the same on ALL drives */ |
#endif |
|
#ifdef __cplusplus |
} |
#endif |
|
#endif /* !__dj_include_fcntl_h_ */ |