o_rdonly_O_RDWR, O_CREAT等open函数标志位在哪里定义? | 学步园
查了下O_RDWR, O_CREAT等定义,终于找到了。
我的系统是Fedora12, 其定义在文件:/usr/include/asm-generic/fcntl.h,部分定义如下:
#include
/* open/fcntl - O_SYNC is only implemented on blocks devices and on files
located on an ext2 file system */
#define O_ACCMODE00000003
#define O_RDONLY00000000
#define O_WRONLY00000001
#define O_RDWR00000002
#ifndef O_CREAT
#define O_CREAT00000100/* not fcntl */
#endif
#ifndef O_EXCL
#define O_EXCL00000200/* not fcntl */
#endif
#ifndef O_NOCTTY
#define O_NOCTTY00000400/* not fcntl */
#endif
#ifndef O_TRUNC
#define O_TRUNC00001000/* not fcntl */
#endif
#ifndef O_APPEND
#define O_APPEND00002000
#endif
#ifndef O_NONBLOCK
#define O_NONBLOCK00004000
#endif
#ifndef O_SYNC
#define O_SYNC00010000
#endif
#ifndef FASYNC
#define FASYNC00020000/* fcntl, for BSD compatibility */
#endif
#ifndef O_DIRECT
#define O_DIRECT00040000/* direct disk access hint */
#endif
#ifndef O_LARGEFILE
#define O_LARGEFILE00100000
#endif
#ifndef O_DIRECTORY
#define O_DIRECTORY00200000/* must be a directory */
#endif
#ifndef O_NOFOLLOW
#define O_NOFOLLOW00400000/* don't follow links */
#endif
#ifndef O_NOATIME
#define O_NOATIME01000000
#endif
#ifndef O_CLOEXEC
#define O_CLOEXEC02000000/* set close_on_exec */
#endif
#ifndef O_NDELAY
#define O_NDELAYO_NONBLOCK
#endif
注意:
#define O_RDONLY 00000000
#define O_WRONLY 00000001
#define O_RDWR 00000002
所以:O_RDONLY | O_WRONLY = 1 ,并不等于O_RDWR。
o_rdonly_O_RDWR, O_CREAT等open函数标志位在哪里定义? | 学步园相关推荐
- O_RDWR, O_CREAT等open函数标志位在哪里定义?
查了下O_RDWR, O_CREAT等定义,终于找到了. 我的系统是Fedora12, 其定义在文件:/usr/include/asm-generic/fcntl.h,部分定义如下: #include ...
- java判断线段是否相交函数_判断线段是否相交… | 学步园
判断直线是否相交,貌似很容易,直接用一个向量叉乘公式:x1*y2-x2*y1.如果结果为0,则直线是平行或者重合,否则必然相交... 但如何判断两条线段是否相交呢?我们给出了两条线段的四个端点,这两条 ...
- [汇编语言]各个指令对于标志位的影响
1.ADD CF:若计算结果有向更高位的进位,CF=1,否则为0 OF:带符号数加法,两个操作数的符号相同,而结果却与操作数相反(正+正=负/负+负=正) 剩下的则根据结果:ZF:结果为0,PF:二进 ...
- Python正则表达式 re.sub()函数:标志位flags与参数个数问题
这两天在写爬虫程序,涉及英文文本处理,需要规范化英文标点符号的写法.正常情况下,英文句号.后面需要保证有且只有一个空格,但也有例外情况,比如i.e..e.g..P.S.这种.由于无法预测大小写,因此在 ...
- 关于STM32的IIC跟EEPROM通信为什么卡死在while(I2C_CheckEvent)的EV6事件还有为什么检测的是标志位及其怎样写等待写入操作完成函数问题跟解决方法
我们在写IIC跟EEPROM 通信的时候,会遇到读不出来的一个问题 实际上这是EEPROM这时候还在写入数据,然后我们的STM32的执行速度过快,然后就会卡死在while中 为什么会卡死在这个地方呢, ...
- USART库函数中用于清除标志位的一些函数,如读DR寄存器的值清除标志位
USART库函数中用于清除标志位的一些函数,如读DR寄存器的值清除标志位 刚学M4没多久,对于库函数的使用还有些陌生,因为之前学的是寄存器配置,今天在用库函数配置usart的时候,遇到了不知道该调用哪 ...
- 标志位和中断位的区别:USART_ClearFlag和USART_ClearITPendingBit
在STM32的函数库中,这两个函数实现的功能其实是一样的,都是清除对应的标志位,但是标志位和中断位的含义不一样,不是所有的标志位都可以产生中断.查看源代码如下: #define ADC_IT_EOC ...
- 【Android 逆向】Android 进程注入工具开发 ( 远程进程 注入动态库 文件操作 | Android 进程读取文件所需的权限 | fopen 打开文件标志位 | 验证文件权限 )
文章目录 前言 一.Android 进程读取文件所需的权限 二.fopen 打开文件标志位 三.验证文件权限 前言 一.Android 进程读取文件所需的权限 通过 注入工具 , 将 libbridg ...
- 调整标志位方法oracle,面试题(二)(示例代码)
1.查找/us/oc al/nginx/ogs下更改时间在7天前以log 后极的文件井移动到sr/oca/nginx/log/backup下(至少两种方法) 2. Centos 查看某个进程的环境安量 ...
最新文章
- 关于yum安装后提示There are no enabled repos Run yum repolist all..的问题解决
- 可以看游资的app_跟随一线游资操作,轻松收获涨停板
- oracle ora-01001,ORA-01001 and ORACLE游标
- python合并列表重新排序_python实现的合并两个排序的列表
- python数值模拟教程_数值模拟必备random模块
- HDU 4348 To the moon
- 无心剑英译奥修《什么是教育?》
- Linux 添加中文字体库
- 信息安全应急预案整理
- 欧姆龙CP1H+CIF11与3台施耐德ATV 71变频器通讯实战程序
- java 中英文长度_Java 计算中英文长度的若干种方法
- 关于广告系统的定向,看这篇就够了
- 淘宝天猫店招空白间隔去除
- 格林函数一阶常微分方程方法介绍
- mysql proxool.xm_pom.xml · McAntilic_清水闲人/koala - Gitee.com
- RISC-V 指令格式
- IBM Verse On-Premises 1.0.5发布
- 机器视觉光源颜色选择
- 那个“支付宝锦鲤”女孩,现在变得怎么样了?你肯定想象不到
- android关闭或开启移动网络数据(关闭后,设备不可以上网,但可以打电话和发短信)...
热门文章
- # 异运算_小学数学运算三要点:定律、法则与顺序(解析)
- 怎么验证proftpd安装成功_英雄联盟手游泰服安卓账号怎么注册
- qt中如何模拟按钮点击_如何快速在 Shopify 中加入按钮
- vue3开发实践笔记
- 如何通过Maven的Tomcat插件运行Web工程
- [JS] Invalid Date
- javascript学习系列(23):数组中的解构方法
- [html] 如何设置打印尺寸?
- [html] 简述下html5的离线储存原理,同时说明如何使用?
- [css] 请说说颜色中#F00的每一位分别表示什么?为什么会有三位和六位的表示呢?