假设我有一个到open.
man 2 open 给我信息,它需要 2 或 3 个参数
int open(const char *pathname, int flags);
int open(const char *pathname, int flags, mode_t mode);
所以,我的代码运行并且在我的寄存器中我有
$rdi = 0x00007fffffffdb40 → "/etc/init.d/",
$rsi = 0x0000000000000241,
$rdx = 0x00000000000001c9
它在通话期间如何使用以及使用哪些标志?如何打开目录(或文件)?
- 我正在查看手册页。提到了可能的标志,但没有通过
|在源代码中将标志放在一起来设置它们的位/值/整数。 - 我继续查看手册页并查看上面定义常量的头文件。在这种情况下,我需要
#include <sys/types.h> <sys/stat.h> <fcntl.h>. 但是,在这个文件中,我找不到位或整数,这些sum或|高达给定的标志($rsi = 0x241,577十进制,1001000001二进制)我看不到任何模式。
问题:我监督某事吗?我需要去别的地方看看吗?这些位在哪里描述?