diff options
author | alexv-smirnov <alex@ydb.tech> | 2023-06-13 11:05:01 +0300 |
---|---|---|
committer | alexv-smirnov <alex@ydb.tech> | 2023-06-13 11:05:01 +0300 |
commit | bf0f13dd39ee3e65092ba3572bb5b1fcd125dcd0 (patch) | |
tree | 1d1df72c0541a59a81439842f46d95396d3e7189 /contrib/tools/cython/Cython/Includes/posix/stat.pxd | |
parent | 8bfdfa9a9bd19bddbc58d888e180fbd1218681be (diff) | |
download | ydb-bf0f13dd39ee3e65092ba3572bb5b1fcd125dcd0.tar.gz |
add ymake export to ydb
Diffstat (limited to 'contrib/tools/cython/Cython/Includes/posix/stat.pxd')
-rw-r--r-- | contrib/tools/cython/Cython/Includes/posix/stat.pxd | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/contrib/tools/cython/Cython/Includes/posix/stat.pxd b/contrib/tools/cython/Cython/Includes/posix/stat.pxd new file mode 100644 index 0000000000..69c2eca166 --- /dev/null +++ b/contrib/tools/cython/Cython/Includes/posix/stat.pxd @@ -0,0 +1,71 @@ +from posix.types cimport (blkcnt_t, blksize_t, dev_t, gid_t, ino_t, mode_t, + nlink_t, off_t, time_t, uid_t) + + +cdef extern from "<sys/stat.h>" nogil: + cdef struct struct_stat "stat": + dev_t st_dev + ino_t st_ino + mode_t st_mode + nlink_t st_nlink + uid_t st_uid + gid_t st_gid + dev_t st_rdev + off_t st_size + blksize_t st_blksize + blkcnt_t st_blocks + time_t st_atime + time_t st_mtime + time_t st_ctime + + # st_birthtime exists on *BSD and OS X. + # Under Linux, defining it here does not hurt. Compilation under Linux + # will only (and rightfully) fail when attempting to use the field. + time_t st_birthtime + +# POSIX prescribes including both <sys/stat.h> and <unistd.h> for these +cdef extern from "<unistd.h>" nogil: + int fchmod(int, mode_t) + int chmod(const char *, mode_t) + + int fstat(int, struct_stat *) + int lstat(const char *, struct_stat *) + int stat(const char *, struct_stat *) + + # Macros for st_mode + mode_t S_ISREG(mode_t) + mode_t S_ISDIR(mode_t) + mode_t S_ISCHR(mode_t) + mode_t S_ISBLK(mode_t) + mode_t S_ISFIFO(mode_t) + mode_t S_ISLNK(mode_t) + mode_t S_ISSOCK(mode_t) + + mode_t S_IFMT + mode_t S_IFREG + mode_t S_IFDIR + mode_t S_IFCHR + mode_t S_IFBLK + mode_t S_IFIFO + mode_t S_IFLNK + mode_t S_IFSOCK + + # Permissions + mode_t S_ISUID + mode_t S_ISGID + mode_t S_ISVTX + + mode_t S_IRWXU + mode_t S_IRUSR + mode_t S_IWUSR + mode_t S_IXUSR + + mode_t S_IRWXG + mode_t S_IRGRP + mode_t S_IWGRP + mode_t S_IXGRP + + mode_t S_IRWXO + mode_t S_IROTH + mode_t S_IWOTH + mode_t S_IXOTH |