⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fcntlcom.h

📁 介绍:MySQL是比较出名的数据库软件
💻 H
字号:
/*	@(#)fcntlcom.h 1.13 91/06/18 SMI; from UCB fcntl.h 5.2 1/8/86	*//* * Copyright (c) 1983 Regents of the University of California. * All rights reserved.  The Berkeley software License Agreement * specifies the terms and conditions for redistribution. */#ifndef	__sys_fcntlcom_h#define	__sys_fcntlcom_h#include <sys/cdefs.h>/* * Rewack the FXXXXX values as _FXXXX so that _POSIX_SOURCE works. */#define	_FOPEN		(-1)	/* from sys/file.h, kernel use only */#define	_FREAD		0x0001	/* read enabled */#define	_FWRITE		0x0002	/* write enabled */#define	_FNDELAY	0x0004	/* non blocking I/O (4.2 style) */#define	_FAPPEND	0x0008	/* append (writes guaranteed at the end) */#define _FSETBLK	0x0010	/* use block offsets */#define	_FASYNC		0x0040	/* signal pgrp when data ready */#define	_FSHLOCK	0x0080	/* BSD flock() shared lock present */#define	_FEXLOCK	0x0100	/* BSD flock() exclusive lock present */#define	_FCREAT		0x0200	/* open with file create */#define	_FTRUNC		0x0400	/* open with truncation */#define	_FEXCL		0x0800	/* error on open if file exists */#define	_FNBIO		0x1000	/* non blocking I/O (sys5 style) */#define	_FSYNC		0x2000	/* do all writes synchronously */#define	_FNONBLOCK	0x4000	/* non blocking I/O (POSIX style) */#define	_FNOCTTY	0x8000	/* don't assign a ctty on this open */#define	_FMARK		0x10000	/* internal; mark during gc() */#define	_FDEFER		0x20000	/* internal; defer for next gc pass */#define	O_ACCMODE	(O_RDONLY|O_WRONLY|O_RDWR)/* * Flag values for open(2) and fcntl(2) * The kernel adds 1 to the open modes to turn it into some * combination of FREAD and FWRITE. */#define	O_RDONLY	0		/* +1 == FREAD */#define	O_WRONLY	1		/* +1 == FWRITE */#define	O_RDWR		2		/* +1 == FREAD|FWRITE */#define	O_APPEND	_FAPPEND#define	O_CREAT		_FCREAT#define	O_TRUNC		_FTRUNC#define	O_EXCL		_FEXCL/*	O_SYNC		_FSYNC		not posix, defined below *//*	O_NDELAY	_FNDELAY 	set in include/fcntl.h *//*	O_NDELAY	_FNBIO 		set in 5include/fcntl.h */#define	O_NONBLOCK	_FNONBLOCK#define	O_NOCTTY	_FNOCTTY#ifndef	_POSIX_SOURCE#define	O_SYNC		_FSYNC/* * Flags that work for fcntl(fd, F_SETFL, FXXXX) */#define	FAPPEND		_FAPPEND#define	FSYNC		_FSYNC#define	FASYNC		_FASYNC#define	FNBIO		_FNBIO#define	FNONBIO		_FNONBLOCK	/* XXX fix to be NONBLOCK everywhere */#define	FNDELAY		_FNDELAY/* * Flags that are disallowed for fcntl's (FCNTLCANT); * used for opens, internal state, or locking. */#define	FREAD		_FREAD#define	FWRITE		_FWRITE#define	FMARK		_FMARK#define	FDEFER		_FDEFER#define	FSETBLK		_FSETBLK#define	FSHLOCK		_FSHLOCK#define	FEXLOCK		_FEXLOCK/* * The rest of the flags, used only for opens */#define	FOPEN		_FOPEN#define	FCREAT		_FCREAT#define	FTRUNC		_FTRUNC#define	FEXCL		_FEXCL#define	FNOCTTY		_FNOCTTY#endif	!_POSIX_SOURCE/* XXX close on exec request; must match UF_EXCLOSE in user.h */#define	FD_CLOEXEC	1	/* posix *//* fcntl(2) requests */#define	F_DUPFD		0	/* Duplicate fildes */#define	F_GETFD		1	/* Get fildes flags (close on exec) */#define	F_SETFD		2	/* Set fildes flags (close on exec) */#define	F_GETFL		3	/* Get file flags */#define	F_SETFL		4	/* Set file flags */#ifndef	_POSIX_SOURCE#define	F_GETOWN 	5	/* Get owner - for ASYNC */#define	F_SETOWN 	6	/* Set owner - for ASYNC */#endif	/* !_POSIX_SOURCE */#define	F_GETLK  	7	/* Get record-locking information */#define	F_SETLK  	8	/* Set or Clear a record-lock (Non-Blocking) */#define	F_SETLKW 	9	/* Set or Clear a record-lock (Blocking) */#ifndef	_POSIX_SOURCE#define	F_RGETLK 	10	/* Test a remote lock to see if it is blocked */#define	F_RSETLK 	11	/* Set or unlock a remote lock */#define	F_CNVT 		12	/* Convert a fhandle to an open fd */#define	F_RSETLKW 	13	/* Set or Clear remote record-lock(Blocking) */#endif	/* !_POSIX_SOURCE *//* fcntl(2) flags (l_type field of flock structure) */#define	F_RDLCK		1	/* read lock */#define	F_WRLCK		2	/* write lock */#define	F_UNLCK		3	/* remove lock(s) */#ifndef	_POSIX_SOURCE#define	F_UNLKSYS	4	/* remove remote locks for a given system */#endif	/* !_POSIX_SOURCE */#include <sys/stdtypes.h>/* file segment locking set data type - information passed to system by user */struct flock {	short	l_type;		/* F_RDLCK, F_WRLCK, or F_UNLCK */	short	l_whence;	/* flag to choose starting offset */	long	l_start;	/* relative offset, in bytes */	long	l_len;		/* length, in bytes; 0 means lock to EOF */	short	l_pid;		/* returned with F_GETLK */	short	l_xxx;		/* reserved for future use */};#ifndef	_POSIX_SOURCE/* extended file segment locking set data type */struct eflock {	short	l_type;		/* F_RDLCK, F_WRLCK, or F_UNLCK */	short	l_whence;	/* flag to choose starting offset */	long	l_start;	/* relative offset, in bytes */	long	l_len;		/* length, in bytes; 0 means lock to EOF */	short	l_pid;		/* returned with F_GETLK */	short	l_xxx;		/* reserved for future use */	long	l_rpid;		/* Remote process id wanting this lock */	long	l_rsys;		/* Remote system id wanting this lock */};#endif	/* !_POSIX_SOURCE */#ifndef	KERNEL#include <sys/stat.h>		/* sigh. for the mode bits for open/creat */#include <sys/cdefs.h>__BEGIN_DECLSint	open __P_((const char *path, int flags, ...));int	creat __P_((const char *path, mode_t modes));int	fcntl __P_((int fd, int cmd, ...));__END_DECLS#endif	/* !KERNEL */#endif	/* !__sys_fcntlcom_h */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -