При выполнении сценария bash, расположенного в моей файловой системе FUSE, выполняется вызов open()
с этими флагами:
debug,cpfsfuse.c(62),cpfs_fuse_open: path "/make.sh", flags 0100040
Флаги (0100040
) должны соответствовать значениям, переданным в параметре 2open()
.Неизвестный флаг исходит из execve()
вызова:
matt@stanley:~/cpfs/dir$ strace -f ./make.sh
execve("./make.sh", ["./make.sh"], [/* 37 vars */]
Мой код распознает #define O_LARGEFILE 00100000
, но другой флаг появляется только при вызове execve()
.
Поиск флага не находит его:
matt@stanley:~/cpfs$ grep -RP '\b00*40\b' /usr/include/ | less
В основном обнаружены флажки терминала.Может ли кто-нибудь пролить свет на то, как отследить происхождение и значение этого флага, или где найти его определение?