aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/tools/cython/Cython/Includes/posix/stat.pxd
diff options
context:
space:
mode:
authoralexv-smirnov <alex@ydb.tech>2023-06-13 11:05:01 +0300
committeralexv-smirnov <alex@ydb.tech>2023-06-13 11:05:01 +0300
commitbf0f13dd39ee3e65092ba3572bb5b1fcd125dcd0 (patch)
tree1d1df72c0541a59a81439842f46d95396d3e7189 /contrib/tools/cython/Cython/Includes/posix/stat.pxd
parent8bfdfa9a9bd19bddbc58d888e180fbd1218681be (diff)
downloadydb-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.pxd71
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