This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/dm/include/FCNTL.H

128 lines
2.2 KiB
C

/* Copyright (C) 1986-2001 by Digital Mars. $Revision: 1.1.1.1 $ */
#if __SC__ || __RCC__
#pragma once
#endif
#ifndef __FCNTL_H
#define __FCNTL_H 1
#if __cplusplus
extern "C" {
#endif
#define O_RDONLY 0
#define O_WRONLY 1
#define O_RDWR 2
#define O_APPEND 8
#define O_CREAT 0x100
#define O_TRUNC 0x200
#define O_EXCL 0x400
#define _O_RDONLY 0
#define _O_WRONLY 1
#define _O_RDWR 2
#define _O_APPEND 8
#define _O_CREAT 0x100
#define _O_TRUNC 0x200
#define _O_EXCL 0x400
#if M_UNIX || M_XENIX
#define O_ACCMODE 3
#if !defined(_XOPEN_SOURCE) && !defined(_POSIX_SOURCE)
#define O_NDELAY 4
#endif
#define O_NONBLOCK 0x80
#if M_XOUT
#define CF_RDLCK 1
#define CF_WRLCK 2
#define CF_UNLCK 3
#define CMN_RDLCK 3
#define CMN_WRLCK 1
#define CMN_UNLCK 0
#define F_RDLCK CMN_RDLCK
#define F_WRLCK CMN_WRLCK
#define F_UNLCK CMN_UNLCK
#define O_SYNCW 0020
#define O_SYNC O_SYNCW
#else /* M_XOUT */
#define F_RDLCK 01
#define F_WRLCK 02
#define F_UNLCK 03
#if !defined(_POSIX_SOURCE)
#define O_SYNC 0x10
#endif
#endif /* M_XOUT */
#define O_NOCTTY 0x800
#define F_DUPFD 0
#define F_GETFD 1
#define F_SETFD 2
#define F_GETFL 3
#define F_SETFL 4
#define F_GETLK 5
#define F_SETLK 6
#define F_SETLKW 7
#if !defined(_XOPEN_SOURCE) && !defined(_POSIX_SOURCE)
#define F_CHKFL 8
#define F_ALLOCSP 10
#define F_FREESP 11
#define F_CHSIZE 0x6000
#define F_RDCHK 0x6001
#endif
#define FD_CLOEXEC 0x01
#if !defined(_XOPEN_SOURCE) && !defined(_POSIX_SOURCE)
#define F_LK_NBRLCK 0x6100
#define F_LK_NBLCK 0x6200
#define F_LK_UNLCK 0x6300
#define F_LK_RLCK 0x7100
#define F_LK_LOCK 0x7200
#define LK_LCKTYPE(a) ((a>>8)&7)
#define LK_CMDTYPE(a) ((a>>12)&7)
#endif
#include <sys/types.h>
struct flock {
short l_type;
short l_whence;
off_t l_start;
off_t l_len;
short l_sysid;
pid_t l_pid;
};
int __cdecl rdchk(int filedes);
int __cdecl fcntl(int filedes, int cmd, ...);
#else /* M_XENIX || M_UNIX */
#define O_NOINHERIT 0x80
#define O_BINARY 0x8000
#define O_TEXT 0x4000
#define _O_TEXT 0x4000
#define _O_BINARY 0x8000
#define _O_RAW _O_BINARY
#define _O_NOINHERIT 0x0080
#endif /* M_UNIX || M_XENIX */
#if __cplusplus
}
#endif
#endif