first commit
This commit is contained in:
commit
417e54da96
5696 changed files with 900003 additions and 0 deletions
|
@ -0,0 +1 @@
|
|||
# empty file
|
|
@ -0,0 +1,14 @@
|
|||
# POSIX dynamic linking/loading interface.
|
||||
# http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/dlfcn.h.html
|
||||
|
||||
cdef extern from "<dlfcn.h>" nogil:
|
||||
void *dlopen(const char *, int)
|
||||
char *dlerror()
|
||||
void *dlsym(void *, const char *)
|
||||
int dlclose(void *)
|
||||
|
||||
enum:
|
||||
RTLD_LAZY
|
||||
RTLD_NOW
|
||||
RTLD_GLOBAL
|
||||
RTLD_LOCAL
|
|
@ -0,0 +1,68 @@
|
|||
# http://www.opengroup.org/onlinepubs/009695399/basedefs/fcntl.h.html
|
||||
|
||||
cdef extern from "<fcntl.h>" nogil:
|
||||
|
||||
enum: F_DUPFD
|
||||
enum: F_GETFD
|
||||
enum: F_SETFD
|
||||
enum: F_GETFL
|
||||
enum: F_SETFL
|
||||
enum: F_GETLK
|
||||
enum: F_SETLK
|
||||
enum: F_SETLKW
|
||||
enum: F_GETOWN
|
||||
enum: F_SETOWN
|
||||
|
||||
enum: FD_CLOEXEC
|
||||
|
||||
enum: F_RDLCK
|
||||
enum: F_UNLCK
|
||||
enum: F_WRLCK
|
||||
|
||||
enum: SEEK_SET
|
||||
enum: SEEK_CUR
|
||||
enum: SEEK_END
|
||||
|
||||
enum: O_CREAT
|
||||
enum: O_DIRECT
|
||||
enum: O_EXCL
|
||||
enum: O_NOCTTY
|
||||
enum: O_TRUNC
|
||||
|
||||
enum: O_APPEND
|
||||
enum: O_DSYNC
|
||||
enum: O_NONBLOCK
|
||||
enum: O_RSYNC
|
||||
enum: O_SYNC
|
||||
|
||||
enum: O_ACCMODE # O_RDONLY|O_WRONLY|O_RDWR
|
||||
|
||||
enum: O_RDONLY
|
||||
enum: O_WRONLY
|
||||
enum: O_RDWR
|
||||
|
||||
enum: S_IFMT
|
||||
enum: S_IFBLK
|
||||
enum: S_IFCHR
|
||||
enum: S_IFIFO
|
||||
enum: S_IFREG
|
||||
enum: S_IFDIR
|
||||
enum: S_IFLNK
|
||||
enum: S_IFSOCK
|
||||
|
||||
ctypedef int mode_t
|
||||
ctypedef signed pid_t
|
||||
ctypedef signed off_t
|
||||
|
||||
struct flock:
|
||||
short l_type
|
||||
short l_whence
|
||||
off_t l_start
|
||||
off_t l_len
|
||||
pid_t l_pid
|
||||
|
||||
int creat(char *, mode_t)
|
||||
int fcntl(int, int, ...)
|
||||
int open(char *, int, ...)
|
||||
#int open (char *, int, mode_t)
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
cdef extern from "<sys/ioctl.h>" nogil:
|
||||
enum: FIONBIO
|
||||
|
||||
int ioctl(int fd, int request, ...)
|
|
@ -0,0 +1,99 @@
|
|||
# http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/mman.h.html
|
||||
|
||||
from posix.types cimport off_t, mode_t
|
||||
|
||||
cdef extern from "<sys/mman.h>" nogil:
|
||||
enum: PROT_EXEC # protection bits for mmap/mprotect
|
||||
enum: PROT_READ
|
||||
enum: PROT_WRITE
|
||||
enum: PROT_NONE
|
||||
|
||||
enum: MAP_PRIVATE # flag bits for mmap
|
||||
enum: MAP_SHARED
|
||||
enum: MAP_FIXED
|
||||
enum: MAP_ANON # These three are not in POSIX, but are
|
||||
enum: MAP_ANONYMOUS # fairly common in spelling/semantics
|
||||
enum: MAP_STACK
|
||||
|
||||
enum: MAP_LOCKED # Typically available only on Linux
|
||||
enum: MAP_HUGETLB
|
||||
enum: MAP_POPULATE
|
||||
enum: MAP_NORESERVE
|
||||
enum: MAP_GROWSDOWN
|
||||
|
||||
enum: MAP_NOCORE # Typically available only on BSD
|
||||
enum: MAP_NOSYNC
|
||||
|
||||
void *MAP_FAILED
|
||||
|
||||
void *mmap(void *addr, size_t Len, int prot, int flags, int fd, off_t off)
|
||||
int munmap(void *addr, size_t Len)
|
||||
int mprotect(void *addr, size_t Len, int prot)
|
||||
|
||||
enum: MS_ASYNC
|
||||
enum: MS_SYNC
|
||||
enum: MS_INVALIDATE
|
||||
int msync(void *addr, size_t Len, int flags)
|
||||
|
||||
enum: POSIX_MADV_NORMAL # POSIX advice flags
|
||||
enum: POSIX_MADV_SEQUENTIAL
|
||||
enum: POSIX_MADV_RANDOM
|
||||
enum: POSIX_MADV_WILLNEED
|
||||
enum: POSIX_MADV_DONTNEED
|
||||
int posix_madvise(void *addr, size_t Len, int advice)
|
||||
|
||||
enum: MCL_CURRENT
|
||||
enum: MCL_FUTURE
|
||||
int mlock(const void *addr, size_t Len)
|
||||
int munlock(const void *addr, size_t Len)
|
||||
int mlockall(int flags)
|
||||
int munlockall()
|
||||
# Linux-specific
|
||||
enum: MLOCK_ONFAULT
|
||||
enum: MCL_ONFAULT
|
||||
int mlock2(const void *addr, size_t len, int flags)
|
||||
|
||||
int shm_open(const char *name, int oflag, mode_t mode)
|
||||
int shm_unlink(const char *name)
|
||||
|
||||
# often available
|
||||
enum: MADV_NORMAL # pre-POSIX advice flags; should translate 1-1 to POSIX_*
|
||||
enum: MADV_RANDOM # but in practice it is not always the same.
|
||||
enum: MADV_SEQUENTIAL
|
||||
enum: MADV_WILLNEED
|
||||
enum: MADV_DONTNEED
|
||||
enum: MADV_REMOVE # other pre-POSIX advice flags; often available
|
||||
enum: MADV_DONTFORK
|
||||
enum: MADV_DOFORK
|
||||
enum: MADV_HWPOISON
|
||||
enum: MADV_MERGEABLE,
|
||||
enum: MADV_UNMERGEABLE
|
||||
enum: MADV_SOFT_OFFLINE
|
||||
enum: MADV_HUGEPAGE
|
||||
enum: MADV_NOHUGEPAGE
|
||||
enum: MADV_DONTDUMP
|
||||
enum: MADV_DODUMP
|
||||
enum: MADV_FREE
|
||||
enum: MADV_WIPEONFORK
|
||||
enum: MADV_KEEPONFORK
|
||||
int madvise(void *addr, size_t Len, int advice)
|
||||
|
||||
# sometimes available
|
||||
int mincore(void *addr, size_t Len, unsigned char *vec)
|
||||
|
||||
# These two are Linux specific but sometimes very efficient
|
||||
void *mremap(void *old_addr, size_t old_len, size_t new_len, int flags, ...)
|
||||
int remap_file_pages(void *addr, size_t Len, int prot,
|
||||
size_t pgoff, int flags)
|
||||
|
||||
# The rare but standardized typed memory option
|
||||
enum: POSIX_TYPED_MEM_ALLOCATE
|
||||
enum: POSIX_TYPED_MEM_ALLOCATE_CONTIG
|
||||
enum: POSIX_TYPED_MEM_MAP_ALLOCATABLE
|
||||
int posix_typed_mem_open(const char *name, int oflag, int tflag)
|
||||
int posix_mem_offset(const void *addr, size_t Len, off_t *off,
|
||||
size_t *contig_len, int *fildes)
|
||||
|
||||
cdef struct posix_typed_mem_info:
|
||||
size_t posix_tmi_length
|
||||
int posix_typed_mem_get_info(int fildes, posix_typed_mem_info *info)
|
|
@ -0,0 +1,55 @@
|
|||
# http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/resource.h.html
|
||||
|
||||
from posix.time cimport timeval
|
||||
from posix.types cimport id_t
|
||||
|
||||
cdef extern from "<sys/resource.h>" nogil:
|
||||
|
||||
enum: PRIO_PROCESS
|
||||
enum: PRIO_PGRP
|
||||
enum: PRIO_USER
|
||||
|
||||
enum: RLIM_INFINITY
|
||||
enum: RLIM_SAVED_MAX
|
||||
enum: RLIM_SAVED_CUR
|
||||
|
||||
enum: RUSAGE_SELF
|
||||
enum: RUSAGE_CHILDREN
|
||||
|
||||
enum: RLIMIT_CORE
|
||||
enum: RLIMIT_CPU
|
||||
enum: RLIMIT_DATA
|
||||
enum: RLIMIT_FSIZE
|
||||
enum: RLIMIT_NOFILE
|
||||
enum: RLIMIT_STACK
|
||||
enum: RLIMIT_AS
|
||||
|
||||
ctypedef unsigned long rlim_t
|
||||
|
||||
cdef struct rlimit:
|
||||
rlim_t rlim_cur
|
||||
rlim_t rlim_max
|
||||
|
||||
cdef struct rusage:
|
||||
timeval ru_utime
|
||||
timeval ru_stime
|
||||
long ru_maxrss
|
||||
long ru_ixrss
|
||||
long ru_idrss
|
||||
long ru_isrss
|
||||
long ru_minflt
|
||||
long ru_majflt
|
||||
long ru_nswap
|
||||
long ru_inblock
|
||||
long ru_oublock
|
||||
long ru_msgsnd
|
||||
long ru_msgrcv
|
||||
long ru_nsignals
|
||||
long ru_nvcsw
|
||||
long ru_nivcsw
|
||||
|
||||
int getpriority(int, id_t)
|
||||
int getrlimit(int, rlimit *)
|
||||
int getrusage(int, rusage *)
|
||||
int setpriority(int, id_t, int)
|
||||
int setrlimit(int, const rlimit *)
|
|
@ -0,0 +1,19 @@
|
|||
from .types cimport sigset_t
|
||||
from .time cimport timeval, timespec
|
||||
|
||||
cdef extern from "<sys/select.h>" nogil:
|
||||
ctypedef struct fd_set:
|
||||
pass
|
||||
|
||||
int FD_SETSIZE
|
||||
void FD_SET(int, fd_set*)
|
||||
void FD_CLR(int, fd_set*)
|
||||
bint FD_ISSET(int, fd_set*)
|
||||
void FD_ZERO(fd_set*)
|
||||
|
||||
int select(int nfds, fd_set *readfds, fd_set *writefds,
|
||||
fd_set *exceptfds, const timeval *timeout)
|
||||
|
||||
int pselect(int nfds, fd_set *readfds, fd_set *writefds,
|
||||
fd_set *exceptfds, const timespec *timeout,
|
||||
const sigset_t *sigmask)
|
|
@ -0,0 +1,73 @@
|
|||
# 7.14 Signal handling <signal.h>
|
||||
|
||||
from posix.types cimport pid_t, sigset_t, uid_t
|
||||
|
||||
cdef extern from "<signal.h>" nogil:
|
||||
|
||||
cdef union sigval:
|
||||
int sival_int
|
||||
void *sival_ptr
|
||||
|
||||
cdef struct sigevent:
|
||||
int sigev_notify
|
||||
int sigev_signo
|
||||
sigval sigev_value
|
||||
void sigev_notify_function(sigval)
|
||||
|
||||
ctypedef struct siginfo_t:
|
||||
int si_signo
|
||||
int si_code
|
||||
int si_errno
|
||||
pid_t si_pid
|
||||
uid_t si_uid
|
||||
void *si_addr
|
||||
int si_status
|
||||
long si_band
|
||||
sigval si_value
|
||||
|
||||
cdef struct sigaction_t "sigaction":
|
||||
void sa_handler(int)
|
||||
void sa_sigaction(int, siginfo_t *, void *)
|
||||
sigset_t sa_mask
|
||||
int sa_flags
|
||||
|
||||
ctypedef struct stack_t:
|
||||
void *ss_sp
|
||||
int ss_flags
|
||||
size_t ss_size
|
||||
|
||||
enum: SA_NOCLDSTOP
|
||||
enum: SIG_BLOCK
|
||||
enum: SIG_UNBLOCK
|
||||
enum: SIG_SETMASK
|
||||
enum: SA_ONSTACK
|
||||
enum: SA_RESETHAND
|
||||
enum: SA_RESTART
|
||||
enum: SA_SIGINFO
|
||||
enum: SA_NOCLDWAIT
|
||||
enum: SA_NODEFER
|
||||
enum: SS_ONSTACK
|
||||
enum: SS_DISABLE
|
||||
enum: MINSIGSTKSZ
|
||||
enum: SIGSTKSZ
|
||||
|
||||
enum: SIGEV_NONE
|
||||
enum: SIGEV_SIGNAL
|
||||
enum: SIGEV_THREAD
|
||||
enum: SIGEV_THREAD_ID
|
||||
|
||||
|
||||
int kill (pid_t, int)
|
||||
int killpg (pid_t, int)
|
||||
int sigaction (int, const sigaction_t *, sigaction_t *)
|
||||
int sigpending (sigset_t *)
|
||||
int sigprocmask (int, const sigset_t *, sigset_t *)
|
||||
int sigsuspend (const sigset_t *)
|
||||
|
||||
int sigaddset (sigset_t *, int)
|
||||
int sigdelset (sigset_t *, int)
|
||||
int sigemptyset (sigset_t *)
|
||||
int sigfillset (sigset_t *)
|
||||
int sigismember (const sigset_t *, int)
|
||||
|
||||
int sigaltstack(const stack_t *, stack_t *)
|
|
@ -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
|
|
@ -0,0 +1,37 @@
|
|||
# POSIX additions to <stdio.h>.
|
||||
# http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/stdio.h.html
|
||||
|
||||
from libc.stdio cimport FILE
|
||||
from libc.stddef cimport wchar_t
|
||||
from posix.types cimport off_t
|
||||
|
||||
cdef extern from "<stdio.h>" nogil:
|
||||
# File descriptors
|
||||
FILE *fdopen(int, const char *)
|
||||
int fileno(FILE *)
|
||||
|
||||
# Pipes
|
||||
FILE *popen(const char *, const char *)
|
||||
int pclose(FILE *)
|
||||
|
||||
# Memory streams (POSIX.2008)
|
||||
FILE *fmemopen(void *, size_t, const char *)
|
||||
FILE *open_memstream(char **, size_t *)
|
||||
FILE *open_wmemstream(wchar_t **, size_t *)
|
||||
|
||||
# Seek and tell with off_t
|
||||
int fseeko(FILE *, off_t, int)
|
||||
off_t ftello(FILE *)
|
||||
|
||||
# Locking (for multithreading)
|
||||
void flockfile(FILE *)
|
||||
int ftrylockfile(FILE *)
|
||||
void funlockfile(FILE *)
|
||||
int getc_unlocked(FILE *)
|
||||
int getchar_unlocked()
|
||||
int putc_unlocked(int, FILE *)
|
||||
int putchar_unlocked(int)
|
||||
|
||||
# Reading lines and records (POSIX.2008)
|
||||
ssize_t getline(char **, size_t *, FILE *)
|
||||
ssize_t getdelim(char **, size_t *, int, FILE *)
|
|
@ -0,0 +1,29 @@
|
|||
# POSIX additions to <stdlib.h>
|
||||
# http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/stdlib.h.html
|
||||
|
||||
cdef extern from "<stdlib.h>" nogil:
|
||||
void _Exit(int)
|
||||
double drand48()
|
||||
double erand48(unsigned short *)
|
||||
int getsubopt(char **, char *const *, char **)
|
||||
void lcong48(unsigned short *)
|
||||
long lrand()
|
||||
char *mkdtemp(char *)
|
||||
int mkstemp(char *)
|
||||
long mrand()
|
||||
long nrand48(unsigned short *)
|
||||
int posix_memalign(void **, size_t, size_t)
|
||||
int posix_openpt(int)
|
||||
char *ptsname(int)
|
||||
int putenv(char *)
|
||||
int rand_r(unsigned *)
|
||||
long random()
|
||||
char *realpath(const char *, char *)
|
||||
unsigned short *seed48(unsigned short *)
|
||||
int setenv(const char *, const char *, int)
|
||||
void setkey(const char *)
|
||||
char *setstate(char *)
|
||||
void srand48(long)
|
||||
void srandom(unsigned)
|
||||
int unlockpt(int)
|
||||
int unsetenv(const char *)
|
|
@ -0,0 +1,9 @@
|
|||
cdef extern from "<strings.h>" nogil:
|
||||
int bcmp(const void *, const void *, size_t)
|
||||
void bcopy(const void *, void *, size_t)
|
||||
void bzero(void *, size_t)
|
||||
int ffs(int)
|
||||
char *index(const char *, int)
|
||||
char *rindex(const char *, int)
|
||||
int strcasecmp(const char *, const char *)
|
||||
int strncasecmp(const char *, const char *, size_t)
|
|
@ -0,0 +1,71 @@
|
|||
# http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/time.h.html
|
||||
|
||||
from posix.types cimport suseconds_t, time_t, clockid_t, timer_t
|
||||
from posix.signal cimport sigevent
|
||||
|
||||
cdef extern from "<sys/time.h>" nogil:
|
||||
enum: CLOCK_REALTIME
|
||||
enum: TIMER_ABSTIME
|
||||
enum: CLOCK_MONOTONIC
|
||||
|
||||
# FreeBSD-specific clocks
|
||||
enum: CLOCK_UPTIME
|
||||
enum: CLOCK_UPTIME_PRECISE
|
||||
enum: CLOCK_UPTIME_FAST
|
||||
enum: CLOCK_REALTIME_PRECISE
|
||||
enum: CLOCK_REALTIME_FAST
|
||||
enum: CLOCK_MONOTONIC_PRECISE
|
||||
enum: CLOCK_MONOTONIC_FAST
|
||||
enum: CLOCK_SECOND
|
||||
|
||||
# Linux-specific clocks
|
||||
enum: CLOCK_PROCESS_CPUTIME_ID
|
||||
enum: CLOCK_THREAD_CPUTIME_ID
|
||||
enum: CLOCK_MONOTONIC_RAW
|
||||
enum: CLOCK_REALTIME_COARSE
|
||||
enum: CLOCK_MONOTONIC_COARSE
|
||||
enum: CLOCK_BOOTTIME
|
||||
enum: CLOCK_REALTIME_ALARM
|
||||
enum: CLOCK_BOOTTIME_ALARM
|
||||
|
||||
enum: ITIMER_REAL
|
||||
enum: ITIMER_VIRTUAL
|
||||
enum: ITIMER_PROF
|
||||
|
||||
cdef struct timezone:
|
||||
int tz_minuteswest
|
||||
int dsttime
|
||||
|
||||
cdef struct timeval:
|
||||
time_t tv_sec
|
||||
suseconds_t tv_usec
|
||||
|
||||
cdef struct timespec:
|
||||
time_t tv_sec
|
||||
long tv_nsec
|
||||
|
||||
cdef struct itimerval:
|
||||
timeval it_interval
|
||||
timeval it_value
|
||||
|
||||
cdef struct itimerspec:
|
||||
timespec it_interval
|
||||
timespec it_value
|
||||
|
||||
int nanosleep(const timespec *, timespec *)
|
||||
|
||||
int getitimer(int, itimerval *)
|
||||
int gettimeofday(timeval *tp, timezone *tzp)
|
||||
int setitimer(int, const itimerval *, itimerval *)
|
||||
|
||||
int clock_getcpuclockid(pid_t, clockid_t *)
|
||||
int clock_getres(clockid_t, timespec *)
|
||||
int clock_gettime(clockid_t, timespec *)
|
||||
int clock_nanosleep(clockid_t, int, const timespec *, timespec *)
|
||||
int clock_settime(clockid_t, const timespec *)
|
||||
|
||||
int timer_create(clockid_t, sigevent *, timer_t *)
|
||||
int timer_delete(timer_t)
|
||||
int timer_gettime(timer_t, itimerspec *)
|
||||
int timer_getoverrun(timer_t)
|
||||
int timer_settime(timer_t, int, const itimerspec *, itimerspec *)
|
|
@ -0,0 +1,30 @@
|
|||
# Note that the actual size of these types is system-dependent, and
|
||||
# can't be detected at C compile time. However, the generated C code
|
||||
# will correctly use the actual size of these types *except* for
|
||||
# determining promotion in binary arithmetic expressions involving
|
||||
# mixed types. In this case, operands are promoted to the declared
|
||||
# larger type, with a bias towards typedef types. Thus, with the
|
||||
# declarations below, long + time_t will result in a time_t whereas
|
||||
# long long + time_t will result in a long long which should be
|
||||
# acceptable for either 32-bit or 64-bit signed time_t (though admittedly
|
||||
# the POSIX standard doesn't even specify that time_t must be an integral
|
||||
# type).
|
||||
|
||||
cdef extern from "<sys/types.h>":
|
||||
ctypedef long blkcnt_t
|
||||
ctypedef long blksize_t
|
||||
ctypedef long clockid_t
|
||||
ctypedef long dev_t
|
||||
ctypedef long gid_t
|
||||
ctypedef long id_t
|
||||
ctypedef unsigned long ino_t
|
||||
ctypedef long mode_t
|
||||
ctypedef long nlink_t
|
||||
ctypedef long off_t
|
||||
ctypedef long pid_t
|
||||
ctypedef struct sigset_t:
|
||||
pass
|
||||
ctypedef long suseconds_t
|
||||
ctypedef long time_t
|
||||
ctypedef long timer_t
|
||||
ctypedef long uid_t
|
|
@ -0,0 +1,271 @@
|
|||
# http://www.opengroup.org/onlinepubs/009695399/basedefs/unistd.h.html
|
||||
|
||||
from posix.types cimport gid_t, pid_t, off_t, uid_t
|
||||
|
||||
cdef extern from "<unistd.h>" nogil:
|
||||
|
||||
#:NULL
|
||||
|
||||
enum: R_OK
|
||||
enum: W_OK
|
||||
enum: X_OK
|
||||
enum: F_OK
|
||||
|
||||
enum: _CS_PATH
|
||||
enum: _CS_POSIX_V6_ILP32_OFF32_CFLAGS
|
||||
enum: _CS_POSIX_V6_ILP32_OFF32_LDFLAGS
|
||||
enum: _CS_POSIX_V6_ILP32_OFF32_LIBS
|
||||
enum: _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
|
||||
enum: _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
|
||||
enum: _CS_POSIX_V6_ILP32_OFFBIG_LIBS
|
||||
enum: _CS_POSIX_V6_LP64_OFF64_CFLAGS
|
||||
enum: _CS_POSIX_V6_LP64_OFF64_LDFLAGS
|
||||
enum: _CS_POSIX_V6_LP64_OFF64_LIBS
|
||||
enum: _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
|
||||
enum: _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
|
||||
enum: _CS_POSIX_V6_LPBIG_OFFBIG_LIBS
|
||||
enum: _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS
|
||||
|
||||
enum: SEEK_SET
|
||||
enum: SEEK_CUR
|
||||
enum: SEEK_END
|
||||
|
||||
enum: F_LOCK
|
||||
enum: F_TEST
|
||||
enum: F_TLOCK
|
||||
enum: F_ULOCK
|
||||
|
||||
enum: _PC_2_SYMLINKS
|
||||
enum: _PC_ALLOC_SIZE_MIN
|
||||
enum: _PC_ASYNC_IO
|
||||
enum: _PC_CHOWN_RESTRICTED
|
||||
enum: _PC_FILESIZEBITS
|
||||
enum: _PC_LINK_MAX
|
||||
enum: _PC_MAX_CANON
|
||||
enum: _PC_MAX_INPUT
|
||||
enum: _PC_NAME_MAX
|
||||
enum: _PC_NO_TRUNC
|
||||
enum: _PC_PATH_MAX
|
||||
enum: _PC_PIPE_BUF
|
||||
enum: _PC_PRIO_IO
|
||||
enum: _PC_REC_INCR_XFER_SIZE
|
||||
enum: _PC_REC_MIN_XFER_SIZE
|
||||
enum: _PC_REC_XFER_ALIGN
|
||||
enum: _PC_SYMLINK_MAX
|
||||
enum: _PC_SYNC_IO
|
||||
enum: _PC_VDISABLE
|
||||
|
||||
enum: _SC_2_C_BIND
|
||||
enum: _SC_2_C_DEV
|
||||
enum: _SC_2_CHAR_TERM
|
||||
enum: _SC_2_FORT_DEV
|
||||
enum: _SC_2_FORT_RUN
|
||||
enum: _SC_2_LOCALEDEF
|
||||
enum: _SC_2_PBS
|
||||
enum: _SC_2_PBS_ACCOUNTING
|
||||
enum: _SC_2_PBS_CHECKPOINT
|
||||
enum: _SC_2_PBS_LOCATE
|
||||
enum: _SC_2_PBS_MESSAGE
|
||||
enum: _SC_2_PBS_TRACK
|
||||
enum: _SC_2_SW_DEV
|
||||
enum: _SC_2_UPE
|
||||
enum: _SC_2_VERSION
|
||||
enum: _SC_ADVISORY_INFO
|
||||
enum: _SC_AIO_LISTIO_MAX
|
||||
enum: _SC_AIO_MAX
|
||||
enum: _SC_AIO_PRIO_DELTA_MAX
|
||||
enum: _SC_ARG_MAX
|
||||
enum: _SC_ASYNCHRONOUS_IO
|
||||
enum: _SC_ATEXIT_MAX
|
||||
enum: _SC_BARRIERS
|
||||
enum: _SC_BC_BASE_MAX
|
||||
enum: _SC_BC_DIM_MAX
|
||||
enum: _SC_BC_SCALE_MAX
|
||||
enum: _SC_BC_STRING_MAX
|
||||
enum: _SC_CHILD_MAX
|
||||
enum: _SC_CLK_TCK
|
||||
enum: _SC_CLOCK_SELECTION
|
||||
enum: _SC_COLL_WEIGHTS_MAX
|
||||
enum: _SC_CPUTIME
|
||||
enum: _SC_DELAYTIMER_MAX
|
||||
enum: _SC_EXPR_NEST_MAX
|
||||
enum: _SC_FSYNC
|
||||
enum: _SC_GETGR_R_SIZE_MAX
|
||||
enum: _SC_GETPW_R_SIZE_MAX
|
||||
enum: _SC_HOST_NAME_MAX
|
||||
enum: _SC_IOV_MAX
|
||||
enum: _SC_IPV6
|
||||
enum: _SC_JOB_CONTROL
|
||||
enum: _SC_LINE_MAX
|
||||
enum: _SC_LOGIN_NAME_MAX
|
||||
enum: _SC_MAPPED_FILES
|
||||
enum: _SC_MEMLOCK
|
||||
enum: _SC_MEMLOCK_RANGE
|
||||
enum: _SC_MEMORY_PROTECTION
|
||||
enum: _SC_MESSAGE_PASSING
|
||||
enum: _SC_MONOTONIC_CLOCK
|
||||
enum: _SC_MQ_OPEN_MAX
|
||||
enum: _SC_MQ_PRIO_MAX
|
||||
enum: _SC_NGROUPS_MAX
|
||||
enum: _SC_OPEN_MAX
|
||||
enum: _SC_PAGE_SIZE
|
||||
enum: _SC_PAGESIZE
|
||||
enum: _SC_PRIORITIZED_IO
|
||||
enum: _SC_PRIORITY_SCHEDULING
|
||||
enum: _SC_RAW_SOCKETS
|
||||
enum: _SC_RE_DUP_MAX
|
||||
enum: _SC_READER_WRITER_LOCKS
|
||||
enum: _SC_REALTIME_SIGNALS
|
||||
enum: _SC_REGEXP
|
||||
enum: _SC_RTSIG_MAX
|
||||
enum: _SC_SAVED_IDS
|
||||
enum: _SC_SEM_NSEMS_MAX
|
||||
enum: _SC_SEM_VALUE_MAX
|
||||
enum: _SC_SEMAPHORES
|
||||
enum: _SC_SHARED_MEMORY_OBJECTS
|
||||
enum: _SC_SHELL
|
||||
enum: _SC_SIGQUEUE_MAX
|
||||
enum: _SC_SPAWN
|
||||
enum: _SC_SPIN_LOCKS
|
||||
enum: _SC_SPORADIC_SERVER
|
||||
enum: _SC_SS_REPL_MAX
|
||||
enum: _SC_STREAM_MAX
|
||||
enum: _SC_SYMLOOP_MAX
|
||||
enum: _SC_SYNCHRONIZED_IO
|
||||
enum: _SC_THREAD_ATTR_STACKADDR
|
||||
enum: _SC_THREAD_ATTR_STACKSIZE
|
||||
enum: _SC_THREAD_CPUTIME
|
||||
enum: _SC_THREAD_DESTRUCTOR_ITERATIONS
|
||||
enum: _SC_THREAD_KEYS_MAX
|
||||
enum: _SC_THREAD_PRIO_INHERIT
|
||||
enum: _SC_THREAD_PRIO_PROTECT
|
||||
enum: _SC_THREAD_PRIORITY_SCHEDULING
|
||||
enum: _SC_THREAD_PROCESS_SHARED
|
||||
enum: _SC_THREAD_SAFE_FUNCTIONS
|
||||
enum: _SC_THREAD_SPORADIC_SERVER
|
||||
enum: _SC_THREAD_STACK_MIN
|
||||
enum: _SC_THREAD_THREADS_MAX
|
||||
enum: _SC_THREADS
|
||||
enum: _SC_TIMEOUTS
|
||||
enum: _SC_TIMER_MAX
|
||||
enum: _SC_TIMERS
|
||||
enum: _SC_TRACE
|
||||
enum: _SC_TRACE_EVENT_FILTER
|
||||
enum: _SC_TRACE_EVENT_NAME_MAX
|
||||
enum: _SC_TRACE_INHERIT
|
||||
enum: _SC_TRACE_LOG
|
||||
enum: _SC_TRACE_NAME_MAX
|
||||
enum: _SC_TRACE_SYS_MAX
|
||||
enum: _SC_TRACE_USER_EVENT_MAX
|
||||
enum: _SC_TTY_NAME_MAX
|
||||
enum: _SC_TYPED_MEMORY_OBJECTS
|
||||
enum: _SC_TZNAME_MAX
|
||||
enum: _SC_V6_ILP32_OFF32
|
||||
enum: _SC_V6_ILP32_OFFBIG
|
||||
enum: _SC_V6_LP64_OFF64
|
||||
enum: _SC_V6_LPBIG_OFFBIG
|
||||
enum: _SC_VERSION
|
||||
enum: _SC_XBS5_ILP32_OFF32
|
||||
enum: _SC_XBS5_ILP32_OFFBIG
|
||||
enum: _SC_XBS5_LP64_OFF64
|
||||
enum: _SC_XBS5_LPBIG_OFFBIG
|
||||
enum: _SC_XOPEN_CRYPT
|
||||
enum: _SC_XOPEN_ENH_I18N
|
||||
enum: _SC_XOPEN_LEGACY
|
||||
enum: _SC_XOPEN_REALTIME
|
||||
enum: _SC_XOPEN_REALTIME_THREADS
|
||||
enum: _SC_XOPEN_SHM
|
||||
enum: _SC_XOPEN_STREAMS
|
||||
enum: _SC_XOPEN_UNIX
|
||||
enum: _SC_XOPEN_VERSION
|
||||
|
||||
enum: STDIN_FILENO #0
|
||||
enum: STDOUT_FILENO #1
|
||||
enum: STDERR_FILENO #2
|
||||
|
||||
ctypedef unsigned useconds_t
|
||||
|
||||
int access(const char *, int)
|
||||
unsigned alarm(unsigned)
|
||||
int chdir(const char *)
|
||||
int chown(const char *, uid_t, gid_t)
|
||||
int close(int)
|
||||
size_t confstr(int, char *, size_t)
|
||||
char *crypt(const char *, const char *)
|
||||
char *ctermid(char *)
|
||||
int dup(int)
|
||||
int dup2(int, int)
|
||||
void encrypt(char[64], int)
|
||||
int execl(const char *, const char *, ...)
|
||||
int execle(const char *, const char *, ...)
|
||||
int execlp(const char *, const char *, ...)
|
||||
int execv(const char *, char *[])
|
||||
int execve(const char *, char *[], char *[])
|
||||
int execvp(const char *, char *[])
|
||||
void _exit(int)
|
||||
int fchown(int, uid_t, gid_t)
|
||||
int fchdir(int)
|
||||
int fdatasync(int)
|
||||
pid_t fork()
|
||||
long fpathconf(int, int)
|
||||
int fsync(int)
|
||||
int ftruncate(int, off_t)
|
||||
char *getcwd(char *, size_t)
|
||||
gid_t getegid()
|
||||
uid_t geteuid()
|
||||
gid_t getgid()
|
||||
int getgroups(int, gid_t [])
|
||||
long gethostid()
|
||||
int gethostname(char *, size_t)
|
||||
char *getlogin()
|
||||
int getlogin_r(char *, size_t)
|
||||
int getopt(int, char * [], const char *)
|
||||
pid_t getpgid(pid_t)
|
||||
pid_t getpgrp()
|
||||
pid_t getpid()
|
||||
pid_t getppid()
|
||||
pid_t getsid(pid_t)
|
||||
uid_t getuid()
|
||||
char *getwd(char *)
|
||||
int isatty(int)
|
||||
int lchown(const char *, uid_t, gid_t)
|
||||
int link(const char *, const char *)
|
||||
int lockf(int, int, off_t)
|
||||
off_t lseek(int, off_t, int)
|
||||
int nice(int)
|
||||
long pathconf(char *, int)
|
||||
int pause()
|
||||
int pipe(int [2])
|
||||
ssize_t pread(int, void *, size_t, off_t)
|
||||
ssize_t pwrite(int, const void *, size_t, off_t)
|
||||
ssize_t read(int, void *, size_t)
|
||||
ssize_t readlink(const char *, char *, size_t)
|
||||
int rmdir(const char *)
|
||||
int setegid(gid_t)
|
||||
int seteuid(uid_t)
|
||||
int setgid(gid_t)
|
||||
int setpgid(pid_t, pid_t)
|
||||
pid_t setpgrp()
|
||||
int setregid(gid_t, gid_t)
|
||||
int setreuid(uid_t, uid_t)
|
||||
pid_t setsid()
|
||||
int setuid(uid_t)
|
||||
unsigned sleep(unsigned)
|
||||
void swab(const void *, void *, ssize_t)
|
||||
int symlink(const char *, const char *)
|
||||
void sync()
|
||||
long sysconf(int)
|
||||
pid_t tcgetpgrp(int)
|
||||
int tcsetpgrp(int, pid_t)
|
||||
int truncate(const char *, off_t)
|
||||
char *ttyname(int)
|
||||
int ttyname_r(int, char *, size_t)
|
||||
useconds_t ualarm(useconds_t, useconds_t)
|
||||
int unlink(const char *)
|
||||
int usleep(useconds_t)
|
||||
pid_t vfork()
|
||||
ssize_t write(int, const void *, size_t)
|
||||
char *optarg
|
||||
int optind
|
||||
int opterr
|
||||
int optopt
|
|
@ -0,0 +1,38 @@
|
|||
# http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/wait.h.html
|
||||
|
||||
from posix.types cimport pid_t, id_t
|
||||
from posix.signal cimport siginfo_t
|
||||
from posix.resource cimport rusage
|
||||
|
||||
cdef extern from "<sys/wait.h>" nogil:
|
||||
enum: WNOHANG
|
||||
enum: WUNTRACED
|
||||
enum: WCONTINUED
|
||||
enum: WEXITED
|
||||
enum: WSTOPPED
|
||||
enum: WNOWAIT
|
||||
|
||||
int WEXITSTATUS(int status)
|
||||
int WIFCONTINUED(int status)
|
||||
int WIFEXITED(int status)
|
||||
int WIFSIGNALED(int status)
|
||||
int WIFSTOPPED(int status)
|
||||
int WSTOPSIG(int status)
|
||||
int WTERMSIG(int status)
|
||||
|
||||
ctypedef int idtype_t
|
||||
enum: P_ALL # idtype_t values
|
||||
enum: P_PID
|
||||
enum: P_PGID
|
||||
|
||||
pid_t wait(int *stat_loc)
|
||||
pid_t waitpid(pid_t pid, int *status, int options)
|
||||
int waitid(idtype_t idtype, id_t id, siginfo_t *infop, int options)
|
||||
|
||||
# wait3 was in POSIX until 2008 while wait4 was never standardized.
|
||||
# Even so, these calls are in almost every Unix, always in sys/wait.h.
|
||||
# Hence, posix.wait is the least surprising place to declare them for Cython.
|
||||
# libc may require _XXX_SOURCE to be defined at C-compile time to provide them.
|
||||
|
||||
pid_t wait3(int *status, int options, rusage *rusage)
|
||||
pid_t wait4(pid_t pid, int *status, int options, rusage *rusage)
|
Loading…
Add table
Add a link
Reference in a new issue