linux内核中的fcntl.h文件操作中的打开文件模式的宏定义
2013-11-18 21:47
309 查看
#ifndef _ALPHA_FCNTL_H #define _ALPHA_FCNTL_H /* open/fcntl - O_SYNC is only implemented on blocks devices and on files located on an ext2 file system */ #define O_ACCMODE 0003 // #define O_RDONLY 00 //只读打开 #define O_WRONLY 01 //只写打开 #define O_RDWR 02 //读写打开 #define O_CREAT 01000 /* not fcntl *///文件不存在则创建 #define O_TRUNC 02000 /* not fcntl */若文件存在并且写方式打开成功,则将文件截短为0 #define O_EXCL 04000 //测试文件是否存在,不存在则创建 #define O_NOCTTY 010000 //如果pathname指向一个终端设备,则不会把此设备终端分配给作为当前进程的控制终端 #define O_NONBLOCK 00004 //如果指定文件为命名管道、快设备、或者字符设备,则将此设备设为阻塞 #define O_APPEND 00010 //每次写文件都把数据加到文件结尾 #define O_NDELAY O_NONBLOCK //对文件使用非阻塞方式 #define O_SYNC 040000 #define FASYNC 020000 /* fcntl, for BSD compatibility */ #define O_DIRECTORY 0100000 /* must be a directory */ #define O_NOFOLLOW 0200000 /* don't follow links */ #define O_LARGEFILE 0400000 /* will be set by the kernel on every open */ #define O_DIRECT 02000000 /* direct disk access - should check with OSF/1 */ #define O_NOATIME 04000000 #define F_DUPFD 0 /* dup */ #define F_GETFD 1 /* get close_on_exec */ #define F_SETFD 2 /* set/clear close_on_exec */ #define F_GETFL 3 /* get file->f_flags */ #define F_SETFL 4 /* set file->f_flags */ #define F_GETLK 7 #define F_SETLK 8 #define F_SETLKW 9 #define F_SETOWN 5 /* for sockets. */ #define F_GETOWN 6 /* for sockets. */ #define F_SETSIG 10 /* for sockets. */ #define F_GETSIG 11 /* for sockets. */ /* for F_[GET|SET]FL */ #define FD_CLOEXEC 1 /* actually anything with low bit set goes */ /* for posix fcntl() and lockf() */ #define F_RDLCK 1 #define F_WRLCK 2 #define F_UNLCK 8 /* for old implementation of bsd flock () */ #define F_EXLCK 16 /* or 3 */ #define F_SHLCK 32 /* or 4 */ #define F_INPROGRESS 64 /* operations for bsd flock(), also used by the kernel implementation */ #define LOCK_SH 1 /* shared lock */ #define LOCK_EX 2 /* exclusive lock */ #define LOCK_NB 4 /* or'd with one of the above to prevent blocking */ #define LOCK_UN 8 /* remove lock */ #define LOCK_MAND 32 /* This is a mandatory flock */ #define LOCK_READ 64 /* ... Which allows concurrent read operations */ #define LOCK_WRITE 128 /* ... Which allows concurrent write operations */ #define LOCK_RW 192 /* ... Which allows concurrent read & write ops */ struct flock { short l_type; short l_whence; __kernel_off_t l_start; __kernel_off_t l_len; __kernel_pid_t l_pid; }; #define F_LINUX_SPECIFIC_BASE 1024 #endif
相关文章推荐
- linux内核空间 打开、读、写等文件操作实现
- [置顶] day24.open 打开文件操作
- python中的文件打开与关闭操作命令介绍
- Python open()函数文件打开、读、写操作详解
- Linux下文件操作,打开一个文件并修改文件后5个字符为abcde
- C语言中打开文件读取,写入的操作
- fstream提供了三个类,用来实现c++对文件的操作。(文件的创建、读、写)。 ifstream -- 从已有的文件读 ofstream -- 向文件写内容 fstream - 打开文件供读写
- 文件操作之打开
- IntelliJ IDEA 请求的操作无法在使用用户映射区域打开的文件上执行
- 一个打开并创建文件操作引发的讨论
- Internet Explorer无法打开internet站点文件.....操作终止
- CFile打开文件模式总结
- 添加右键操作:当前路径打开cmd, 添加用Notepad++打开文件, 删除.svn文件夹, 修改IE查看源文件编辑器
- linux文件打开模式
- 打开文件对话框、右键菜单和图片框模式
- 输入/输出流---打开,读写文件操作
- 文件上传, 打开, 删除操作
- VC 文件操作(文件查找,打开/保存,读/写,复制/删除/重命名)
- linux系统编程之文件与I0:文件描述符相关操作-dup,dup2,fcntl
- Linux ubuntu 修改了locale文件后系统无法启动进入系统修复模式变成无权限操作locale文件