Cython 3.1.0a1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- Cython/Build/BuildExecutable.py +169 -0
- Cython/Build/Cache.py +199 -0
- Cython/Build/Cythonize.py +250 -0
- Cython/Build/Dependencies.py +1275 -0
- Cython/Build/Distutils.py +1 -0
- Cython/Build/Inline.py +342 -0
- Cython/Build/IpythonMagic.py +560 -0
- Cython/Build/Tests/TestCyCache.py +119 -0
- Cython/Build/Tests/TestCythonizeArgsParser.py +481 -0
- Cython/Build/Tests/TestDependencies.py +133 -0
- Cython/Build/Tests/TestInline.py +112 -0
- Cython/Build/Tests/TestIpythonMagic.py +287 -0
- Cython/Build/Tests/TestRecythonize.py +212 -0
- Cython/Build/Tests/TestStripLiterals.py +155 -0
- Cython/Build/Tests/__init__.py +1 -0
- Cython/Build/__init__.py +8 -0
- Cython/CodeWriter.py +811 -0
- Cython/Compiler/AnalysedTreeTransforms.py +97 -0
- Cython/Compiler/Annotate.py +326 -0
- Cython/Compiler/AutoDocTransforms.py +314 -0
- Cython/Compiler/Buffer.py +680 -0
- Cython/Compiler/Builtin.py +862 -0
- Cython/Compiler/CmdLine.py +243 -0
- Cython/Compiler/Code.pxd +145 -0
- Cython/Compiler/Code.py +3328 -0
- Cython/Compiler/CodeGeneration.py +33 -0
- Cython/Compiler/CythonScope.py +179 -0
- Cython/Compiler/Dataclass.py +868 -0
- Cython/Compiler/DebugFlags.py +21 -0
- Cython/Compiler/Errors.py +295 -0
- Cython/Compiler/ExprNodes.py +15051 -0
- Cython/Compiler/FlowControl.pxd +97 -0
- Cython/Compiler/FlowControl.py +1438 -0
- Cython/Compiler/FusedNode.py +998 -0
- Cython/Compiler/Future.py +16 -0
- Cython/Compiler/Interpreter.py +57 -0
- Cython/Compiler/Lexicon.py +340 -0
- Cython/Compiler/LineTable.py +114 -0
- Cython/Compiler/Main.py +779 -0
- Cython/Compiler/MatchCaseNodes.py +259 -0
- Cython/Compiler/MemoryView.py +860 -0
- Cython/Compiler/ModuleNode.py +4065 -0
- Cython/Compiler/Naming.py +369 -0
- Cython/Compiler/Nodes.py +10557 -0
- Cython/Compiler/Optimize.py +5269 -0
- Cython/Compiler/Options.py +828 -0
- Cython/Compiler/ParseTreeTransforms.pxd +78 -0
- Cython/Compiler/ParseTreeTransforms.py +4441 -0
- Cython/Compiler/Parsing.pxd +9 -0
- Cython/Compiler/Parsing.py +4797 -0
- Cython/Compiler/Pipeline.py +425 -0
- Cython/Compiler/PyrexTypes.py +5572 -0
- Cython/Compiler/Pythran.py +223 -0
- Cython/Compiler/Scanning.pxd +40 -0
- Cython/Compiler/Scanning.py +574 -0
- Cython/Compiler/StringEncoding.py +347 -0
- Cython/Compiler/Symtab.py +2998 -0
- Cython/Compiler/Tests/TestBuffer.py +105 -0
- Cython/Compiler/Tests/TestBuiltin.py +72 -0
- Cython/Compiler/Tests/TestCmdLine.py +573 -0
- Cython/Compiler/Tests/TestCode.py +86 -0
- Cython/Compiler/Tests/TestFlowControl.py +65 -0
- Cython/Compiler/Tests/TestGrammar.py +202 -0
- Cython/Compiler/Tests/TestMemView.py +71 -0
- Cython/Compiler/Tests/TestParseTreeTransforms.py +285 -0
- Cython/Compiler/Tests/TestScanning.py +134 -0
- Cython/Compiler/Tests/TestSignatureMatching.py +73 -0
- Cython/Compiler/Tests/TestStringEncoding.py +33 -0
- Cython/Compiler/Tests/TestTreeFragment.py +63 -0
- Cython/Compiler/Tests/TestTreePath.py +93 -0
- Cython/Compiler/Tests/TestTypes.py +75 -0
- Cython/Compiler/Tests/TestUtilityLoad.py +112 -0
- Cython/Compiler/Tests/TestVisitor.py +61 -0
- Cython/Compiler/Tests/Utils.py +36 -0
- Cython/Compiler/Tests/__init__.py +1 -0
- Cython/Compiler/TreeFragment.py +278 -0
- Cython/Compiler/TreePath.py +290 -0
- Cython/Compiler/TypeInference.py +584 -0
- Cython/Compiler/TypeSlots.py +1181 -0
- Cython/Compiler/UFuncs.py +311 -0
- Cython/Compiler/UtilNodes.py +387 -0
- Cython/Compiler/UtilityCode.py +274 -0
- Cython/Compiler/Version.py +8 -0
- Cython/Compiler/Visitor.pxd +53 -0
- Cython/Compiler/Visitor.py +861 -0
- Cython/Compiler/__init__.py +1 -0
- Cython/Coverage.py +443 -0
- Cython/Debugger/Cygdb.py +179 -0
- Cython/Debugger/DebugWriter.py +82 -0
- Cython/Debugger/Tests/TestLibCython.py +275 -0
- Cython/Debugger/Tests/__init__.py +1 -0
- Cython/Debugger/Tests/cfuncs.c +8 -0
- Cython/Debugger/Tests/codefile +49 -0
- Cython/Debugger/Tests/test_libcython_in_gdb.py +578 -0
- Cython/Debugger/Tests/test_libpython_in_gdb.py +90 -0
- Cython/Debugger/__init__.py +1 -0
- Cython/Debugger/libcython.py +1549 -0
- Cython/Debugger/libpython.py +2821 -0
- Cython/Debugging.py +20 -0
- Cython/Distutils/__init__.py +2 -0
- Cython/Distutils/build_ext.py +137 -0
- Cython/Distutils/extension.py +96 -0
- Cython/Distutils/old_build_ext.py +351 -0
- Cython/Includes/cpython/__init__.pxd +173 -0
- Cython/Includes/cpython/array.pxd +174 -0
- Cython/Includes/cpython/bool.pxd +37 -0
- Cython/Includes/cpython/buffer.pxd +112 -0
- Cython/Includes/cpython/bytearray.pxd +33 -0
- Cython/Includes/cpython/bytes.pxd +200 -0
- Cython/Includes/cpython/cellobject.pxd +35 -0
- Cython/Includes/cpython/ceval.pxd +8 -0
- Cython/Includes/cpython/codecs.pxd +121 -0
- Cython/Includes/cpython/complex.pxd +55 -0
- Cython/Includes/cpython/contextvars.pxd +141 -0
- Cython/Includes/cpython/conversion.pxd +36 -0
- Cython/Includes/cpython/datetime.pxd +384 -0
- Cython/Includes/cpython/descr.pxd +26 -0
- Cython/Includes/cpython/dict.pxd +187 -0
- Cython/Includes/cpython/exc.pxd +263 -0
- Cython/Includes/cpython/fileobject.pxd +57 -0
- Cython/Includes/cpython/float.pxd +47 -0
- Cython/Includes/cpython/function.pxd +65 -0
- Cython/Includes/cpython/genobject.pxd +25 -0
- Cython/Includes/cpython/getargs.pxd +12 -0
- Cython/Includes/cpython/instance.pxd +25 -0
- Cython/Includes/cpython/iterator.pxd +36 -0
- Cython/Includes/cpython/iterobject.pxd +24 -0
- Cython/Includes/cpython/list.pxd +92 -0
- Cython/Includes/cpython/long.pxd +149 -0
- Cython/Includes/cpython/longintrepr.pxd +19 -0
- Cython/Includes/cpython/mapping.pxd +63 -0
- Cython/Includes/cpython/marshal.pxd +66 -0
- Cython/Includes/cpython/mem.pxd +120 -0
- Cython/Includes/cpython/memoryview.pxd +50 -0
- Cython/Includes/cpython/method.pxd +49 -0
- Cython/Includes/cpython/module.pxd +208 -0
- Cython/Includes/cpython/number.pxd +258 -0
- Cython/Includes/cpython/object.pxd +433 -0
- Cython/Includes/cpython/pycapsule.pxd +143 -0
- Cython/Includes/cpython/pylifecycle.pxd +68 -0
- Cython/Includes/cpython/pyport.pxd +8 -0
- Cython/Includes/cpython/pystate.pxd +95 -0
- Cython/Includes/cpython/pythread.pxd +53 -0
- Cython/Includes/cpython/ref.pxd +67 -0
- Cython/Includes/cpython/sequence.pxd +134 -0
- Cython/Includes/cpython/set.pxd +119 -0
- Cython/Includes/cpython/slice.pxd +70 -0
- Cython/Includes/cpython/time.pxd +129 -0
- Cython/Includes/cpython/tuple.pxd +72 -0
- Cython/Includes/cpython/type.pxd +53 -0
- Cython/Includes/cpython/unicode.pxd +639 -0
- Cython/Includes/cpython/version.pxd +32 -0
- Cython/Includes/cpython/weakref.pxd +42 -0
- Cython/Includes/libc/__init__.pxd +1 -0
- Cython/Includes/libc/complex.pxd +35 -0
- Cython/Includes/libc/errno.pxd +127 -0
- Cython/Includes/libc/float.pxd +43 -0
- Cython/Includes/libc/limits.pxd +28 -0
- Cython/Includes/libc/locale.pxd +46 -0
- Cython/Includes/libc/math.pxd +209 -0
- Cython/Includes/libc/setjmp.pxd +10 -0
- Cython/Includes/libc/signal.pxd +64 -0
- Cython/Includes/libc/stddef.pxd +9 -0
- Cython/Includes/libc/stdint.pxd +105 -0
- Cython/Includes/libc/stdio.pxd +80 -0
- Cython/Includes/libc/stdlib.pxd +72 -0
- Cython/Includes/libc/string.pxd +50 -0
- Cython/Includes/libc/time.pxd +47 -0
- Cython/Includes/libcpp/__init__.pxd +4 -0
- Cython/Includes/libcpp/algorithm.pxd +320 -0
- Cython/Includes/libcpp/any.pxd +16 -0
- Cython/Includes/libcpp/atomic.pxd +59 -0
- Cython/Includes/libcpp/bit.pxd +29 -0
- Cython/Includes/libcpp/cast.pxd +12 -0
- Cython/Includes/libcpp/cmath.pxd +518 -0
- Cython/Includes/libcpp/complex.pxd +106 -0
- Cython/Includes/libcpp/deque.pxd +165 -0
- Cython/Includes/libcpp/execution.pxd +15 -0
- Cython/Includes/libcpp/forward_list.pxd +63 -0
- Cython/Includes/libcpp/functional.pxd +26 -0
- Cython/Includes/libcpp/iterator.pxd +34 -0
- Cython/Includes/libcpp/limits.pxd +61 -0
- Cython/Includes/libcpp/list.pxd +117 -0
- Cython/Includes/libcpp/map.pxd +252 -0
- Cython/Includes/libcpp/memory.pxd +115 -0
- Cython/Includes/libcpp/numbers.pxd +15 -0
- Cython/Includes/libcpp/numeric.pxd +131 -0
- Cython/Includes/libcpp/optional.pxd +34 -0
- Cython/Includes/libcpp/pair.pxd +1 -0
- Cython/Includes/libcpp/queue.pxd +25 -0
- Cython/Includes/libcpp/random.pxd +166 -0
- Cython/Includes/libcpp/set.pxd +228 -0
- Cython/Includes/libcpp/stack.pxd +11 -0
- Cython/Includes/libcpp/string.pxd +333 -0
- Cython/Includes/libcpp/typeindex.pxd +15 -0
- Cython/Includes/libcpp/typeinfo.pxd +10 -0
- Cython/Includes/libcpp/unordered_map.pxd +193 -0
- Cython/Includes/libcpp/unordered_set.pxd +152 -0
- Cython/Includes/libcpp/utility.pxd +30 -0
- Cython/Includes/libcpp/vector.pxd +167 -0
- Cython/Includes/openmp.pxd +50 -0
- Cython/Includes/posix/__init__.pxd +1 -0
- Cython/Includes/posix/dlfcn.pxd +14 -0
- Cython/Includes/posix/fcntl.pxd +86 -0
- Cython/Includes/posix/ioctl.pxd +4 -0
- Cython/Includes/posix/mman.pxd +101 -0
- Cython/Includes/posix/resource.pxd +57 -0
- Cython/Includes/posix/select.pxd +21 -0
- Cython/Includes/posix/signal.pxd +73 -0
- Cython/Includes/posix/stat.pxd +98 -0
- Cython/Includes/posix/stdio.pxd +37 -0
- Cython/Includes/posix/stdlib.pxd +29 -0
- Cython/Includes/posix/strings.pxd +9 -0
- Cython/Includes/posix/time.pxd +71 -0
- Cython/Includes/posix/types.pxd +30 -0
- Cython/Includes/posix/uio.pxd +26 -0
- Cython/Includes/posix/unistd.pxd +271 -0
- Cython/Includes/posix/wait.pxd +38 -0
- Cython/Plex/Actions.pxd +24 -0
- Cython/Plex/Actions.py +119 -0
- Cython/Plex/DFA.pxd +14 -0
- Cython/Plex/DFA.py +164 -0
- Cython/Plex/Errors.py +48 -0
- Cython/Plex/Lexicons.py +178 -0
- Cython/Plex/Machines.pxd +36 -0
- Cython/Plex/Machines.py +238 -0
- Cython/Plex/Regexps.py +539 -0
- Cython/Plex/Scanners.pxd +47 -0
- Cython/Plex/Scanners.py +360 -0
- Cython/Plex/Transitions.pxd +14 -0
- Cython/Plex/Transitions.py +239 -0
- Cython/Plex/__init__.py +34 -0
- Cython/Runtime/__init__.py +1 -0
- Cython/Runtime/refnanny.pyx +261 -0
- Cython/Shadow.py +656 -0
- Cython/Shadow.pyi +521 -0
- Cython/StringIOTree.py +170 -0
- Cython/Tempita/__init__.py +4 -0
- Cython/Tempita/_looper.py +154 -0
- Cython/Tempita/_tempita.py +1091 -0
- Cython/TestUtils.py +417 -0
- Cython/Tests/TestCodeWriter.py +128 -0
- Cython/Tests/TestCythonUtils.py +202 -0
- Cython/Tests/TestJediTyper.py +223 -0
- Cython/Tests/TestShadow.py +114 -0
- Cython/Tests/TestStringIOTree.py +67 -0
- Cython/Tests/TestTestUtils.py +90 -0
- Cython/Tests/__init__.py +1 -0
- Cython/Tests/xmlrunner.py +390 -0
- Cython/Utility/AsyncGen.c +1263 -0
- Cython/Utility/Buffer.c +875 -0
- Cython/Utility/Builtins.c +660 -0
- Cython/Utility/CConvert.pyx +134 -0
- Cython/Utility/CMath.c +95 -0
- Cython/Utility/CommonStructures.c +139 -0
- Cython/Utility/Complex.c +378 -0
- Cython/Utility/Coroutine.c +2413 -0
- Cython/Utility/CpdefEnums.pyx +108 -0
- Cython/Utility/CppConvert.pyx +279 -0
- Cython/Utility/CppSupport.cpp +133 -0
- Cython/Utility/CythonFunction.c +1851 -0
- Cython/Utility/Dataclasses.c +185 -0
- Cython/Utility/Dataclasses.py +112 -0
- Cython/Utility/Embed.c +125 -0
- Cython/Utility/Exceptions.c +1017 -0
- Cython/Utility/ExtensionTypes.c +797 -0
- Cython/Utility/FunctionArguments.c +573 -0
- Cython/Utility/ImportExport.c +912 -0
- Cython/Utility/MemoryView.pyx +1478 -0
- Cython/Utility/MemoryView_C.c +992 -0
- Cython/Utility/ModuleSetupCode.c +2501 -0
- Cython/Utility/NumpyImportArray.c +46 -0
- Cython/Utility/ObjectHandling.c +3054 -0
- Cython/Utility/Optimize.c +1533 -0
- Cython/Utility/Overflow.c +404 -0
- Cython/Utility/Printing.c +86 -0
- Cython/Utility/Profile.c +660 -0
- Cython/Utility/StringTools.c +1206 -0
- Cython/Utility/TestCyUtilityLoader.pyx +8 -0
- Cython/Utility/TestCythonScope.pyx +75 -0
- Cython/Utility/TestUtilityLoader.c +12 -0
- Cython/Utility/TypeConversion.c +1329 -0
- Cython/Utility/UFuncs.pyx +50 -0
- Cython/Utility/UFuncs_C.c +89 -0
- Cython/Utility/__init__.py +28 -0
- Cython/Utility/arrayarray.h +143 -0
- Cython/Utils.py +687 -0
- Cython/__init__.py +10 -0
- Cython/__init__.pyi +7 -0
- Cython/py.typed +0 -0
- Cython-3.1.0a1.dist-info/COPYING.txt +19 -0
- Cython-3.1.0a1.dist-info/LICENSE.txt +176 -0
- Cython-3.1.0a1.dist-info/METADATA +67 -0
- Cython-3.1.0a1.dist-info/RECORD +301 -0
- Cython-3.1.0a1.dist-info/WHEEL +5 -0
- Cython-3.1.0a1.dist-info/entry_points.txt +4 -0
- Cython-3.1.0a1.dist-info/top_level.txt +3 -0
- cython.py +29 -0
- pyximport/__init__.py +4 -0
- pyximport/pyxbuild.py +160 -0
- pyximport/pyximport.py +482 -0
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# 7.14 Signal handling <signal.h>
|
|
2
|
+
|
|
3
|
+
from posix.types cimport pid_t, sigset_t, uid_t
|
|
4
|
+
|
|
5
|
+
cdef extern from "<signal.h>" nogil:
|
|
6
|
+
|
|
7
|
+
cdef union sigval:
|
|
8
|
+
int sival_int
|
|
9
|
+
void *sival_ptr
|
|
10
|
+
|
|
11
|
+
cdef struct sigevent:
|
|
12
|
+
int sigev_notify
|
|
13
|
+
int sigev_signo
|
|
14
|
+
sigval sigev_value
|
|
15
|
+
void sigev_notify_function(sigval)
|
|
16
|
+
|
|
17
|
+
ctypedef struct siginfo_t:
|
|
18
|
+
int si_signo
|
|
19
|
+
int si_code
|
|
20
|
+
int si_errno
|
|
21
|
+
pid_t si_pid
|
|
22
|
+
uid_t si_uid
|
|
23
|
+
void *si_addr
|
|
24
|
+
int si_status
|
|
25
|
+
long si_band
|
|
26
|
+
sigval si_value
|
|
27
|
+
|
|
28
|
+
cdef struct sigaction_t "sigaction":
|
|
29
|
+
void sa_handler(int)
|
|
30
|
+
void sa_sigaction(int, siginfo_t *, void *)
|
|
31
|
+
sigset_t sa_mask
|
|
32
|
+
int sa_flags
|
|
33
|
+
|
|
34
|
+
ctypedef struct stack_t:
|
|
35
|
+
void *ss_sp
|
|
36
|
+
int ss_flags
|
|
37
|
+
size_t ss_size
|
|
38
|
+
|
|
39
|
+
enum: SA_NOCLDSTOP
|
|
40
|
+
enum: SIG_BLOCK
|
|
41
|
+
enum: SIG_UNBLOCK
|
|
42
|
+
enum: SIG_SETMASK
|
|
43
|
+
enum: SA_ONSTACK
|
|
44
|
+
enum: SA_RESETHAND
|
|
45
|
+
enum: SA_RESTART
|
|
46
|
+
enum: SA_SIGINFO
|
|
47
|
+
enum: SA_NOCLDWAIT
|
|
48
|
+
enum: SA_NODEFER
|
|
49
|
+
enum: SS_ONSTACK
|
|
50
|
+
enum: SS_DISABLE
|
|
51
|
+
enum: MINSIGSTKSZ
|
|
52
|
+
enum: SIGSTKSZ
|
|
53
|
+
|
|
54
|
+
enum: SIGEV_NONE
|
|
55
|
+
enum: SIGEV_SIGNAL
|
|
56
|
+
enum: SIGEV_THREAD
|
|
57
|
+
enum: SIGEV_THREAD_ID
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
int kill (pid_t, int)
|
|
61
|
+
int killpg (pid_t, int)
|
|
62
|
+
int sigaction (int, const sigaction_t *, sigaction_t *)
|
|
63
|
+
int sigpending (sigset_t *)
|
|
64
|
+
int sigprocmask (int, const sigset_t *, sigset_t *)
|
|
65
|
+
int sigsuspend (const sigset_t *)
|
|
66
|
+
|
|
67
|
+
int sigaddset (sigset_t *, int)
|
|
68
|
+
int sigdelset (sigset_t *, int)
|
|
69
|
+
int sigemptyset (sigset_t *)
|
|
70
|
+
int sigfillset (sigset_t *)
|
|
71
|
+
int sigismember (const sigset_t *, int)
|
|
72
|
+
|
|
73
|
+
int sigaltstack(const stack_t *, stack_t *)
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# https://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/stat.h.html
|
|
2
|
+
# https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_stat.h.html
|
|
3
|
+
|
|
4
|
+
from posix.types cimport (blkcnt_t, blksize_t, dev_t, gid_t, ino_t, mode_t,
|
|
5
|
+
nlink_t, off_t, time_t, uid_t)
|
|
6
|
+
from posix.time cimport timespec
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
cdef extern from "<sys/stat.h>" nogil:
|
|
10
|
+
cdef struct struct_stat "stat":
|
|
11
|
+
dev_t st_dev
|
|
12
|
+
ino_t st_ino
|
|
13
|
+
mode_t st_mode
|
|
14
|
+
nlink_t st_nlink
|
|
15
|
+
uid_t st_uid
|
|
16
|
+
gid_t st_gid
|
|
17
|
+
dev_t st_rdev
|
|
18
|
+
off_t st_size
|
|
19
|
+
blksize_t st_blksize
|
|
20
|
+
blkcnt_t st_blocks
|
|
21
|
+
# POSIX.1-2001
|
|
22
|
+
time_t st_atime
|
|
23
|
+
time_t st_mtime
|
|
24
|
+
time_t st_ctime
|
|
25
|
+
# POSIX.1-2008
|
|
26
|
+
timespec st_atim
|
|
27
|
+
timespec st_mtim
|
|
28
|
+
timespec st_ctim
|
|
29
|
+
|
|
30
|
+
# st_birthtime exists on *BSD and OS X.
|
|
31
|
+
# Under Linux, defining it here does not hurt. Compilation under Linux
|
|
32
|
+
# will only (and rightfully) fail when attempting to use the field.
|
|
33
|
+
time_t st_birthtime
|
|
34
|
+
|
|
35
|
+
# POSIX prescribes including both <sys/stat.h> and <unistd.h> for these
|
|
36
|
+
cdef extern from "<unistd.h>" nogil:
|
|
37
|
+
int chmod(const char *, mode_t)
|
|
38
|
+
int fchmod(int, mode_t)
|
|
39
|
+
int fchmodat(int, const char *, mode_t, int flags)
|
|
40
|
+
|
|
41
|
+
int stat(const char *, struct_stat *)
|
|
42
|
+
int lstat(const char *, struct_stat *)
|
|
43
|
+
int fstat(int, struct_stat *)
|
|
44
|
+
int fstatat(int, const char *, struct_stat *, int flags)
|
|
45
|
+
|
|
46
|
+
int mkdir(const char *, mode_t)
|
|
47
|
+
int mkdirat(int, const char *, mode_t)
|
|
48
|
+
int mkfifo(const char *, mode_t)
|
|
49
|
+
int mkfifoat(int, const char *, mode_t)
|
|
50
|
+
int mknod(const char *, mode_t, dev_t)
|
|
51
|
+
int mknodat(int, const char *, mode_t, dev_t)
|
|
52
|
+
|
|
53
|
+
int futimens(int, const timespec *)
|
|
54
|
+
int utimensat(int, const char *, const timespec *, int flags)
|
|
55
|
+
|
|
56
|
+
# Macros for st_mode
|
|
57
|
+
mode_t S_ISREG(mode_t)
|
|
58
|
+
mode_t S_ISDIR(mode_t)
|
|
59
|
+
mode_t S_ISCHR(mode_t)
|
|
60
|
+
mode_t S_ISBLK(mode_t)
|
|
61
|
+
mode_t S_ISFIFO(mode_t)
|
|
62
|
+
mode_t S_ISLNK(mode_t)
|
|
63
|
+
mode_t S_ISSOCK(mode_t)
|
|
64
|
+
|
|
65
|
+
mode_t S_IFMT
|
|
66
|
+
mode_t S_IFREG
|
|
67
|
+
mode_t S_IFDIR
|
|
68
|
+
mode_t S_IFCHR
|
|
69
|
+
mode_t S_IFBLK
|
|
70
|
+
mode_t S_IFIFO
|
|
71
|
+
mode_t S_IFLNK
|
|
72
|
+
mode_t S_IFSOCK
|
|
73
|
+
|
|
74
|
+
# Permissions
|
|
75
|
+
mode_t S_ISUID
|
|
76
|
+
mode_t S_ISGID
|
|
77
|
+
mode_t S_ISVTX
|
|
78
|
+
|
|
79
|
+
mode_t S_IRWXU
|
|
80
|
+
mode_t S_IRUSR
|
|
81
|
+
mode_t S_IWUSR
|
|
82
|
+
mode_t S_IXUSR
|
|
83
|
+
|
|
84
|
+
mode_t S_IRWXG
|
|
85
|
+
mode_t S_IRGRP
|
|
86
|
+
mode_t S_IWGRP
|
|
87
|
+
mode_t S_IXGRP
|
|
88
|
+
|
|
89
|
+
mode_t S_IRWXO
|
|
90
|
+
mode_t S_IROTH
|
|
91
|
+
mode_t S_IWOTH
|
|
92
|
+
mode_t S_IXOTH
|
|
93
|
+
|
|
94
|
+
# test file types
|
|
95
|
+
bint S_TYPEISMQ(struct_stat *buf)
|
|
96
|
+
bint S_TYPEISSEM(struct_stat *buf)
|
|
97
|
+
bint S_TYPEISSHM(struct_stat *buf)
|
|
98
|
+
bint S_TYPEISTMO(struct_stat *buf)
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# POSIX additions to <stdio.h>.
|
|
2
|
+
# https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/stdio.h.html
|
|
3
|
+
|
|
4
|
+
from libc.stdio cimport FILE
|
|
5
|
+
from libc.stddef cimport wchar_t
|
|
6
|
+
from posix.types cimport off_t
|
|
7
|
+
|
|
8
|
+
cdef extern from "<stdio.h>" nogil:
|
|
9
|
+
# File descriptors
|
|
10
|
+
FILE *fdopen(int, const char *)
|
|
11
|
+
int fileno(FILE *)
|
|
12
|
+
|
|
13
|
+
# Pipes
|
|
14
|
+
FILE *popen(const char *, const char *)
|
|
15
|
+
int pclose(FILE *)
|
|
16
|
+
|
|
17
|
+
# Memory streams (POSIX.2008)
|
|
18
|
+
FILE *fmemopen(void *, size_t, const char *)
|
|
19
|
+
FILE *open_memstream(char **, size_t *)
|
|
20
|
+
FILE *open_wmemstream(wchar_t **, size_t *)
|
|
21
|
+
|
|
22
|
+
# Seek and tell with off_t
|
|
23
|
+
int fseeko(FILE *, off_t, int)
|
|
24
|
+
off_t ftello(FILE *)
|
|
25
|
+
|
|
26
|
+
# Locking (for multithreading)
|
|
27
|
+
void flockfile(FILE *)
|
|
28
|
+
int ftrylockfile(FILE *)
|
|
29
|
+
void funlockfile(FILE *)
|
|
30
|
+
int getc_unlocked(FILE *)
|
|
31
|
+
int getchar_unlocked()
|
|
32
|
+
int putc_unlocked(int, FILE *)
|
|
33
|
+
int putchar_unlocked(int)
|
|
34
|
+
|
|
35
|
+
# Reading lines and records (POSIX.2008)
|
|
36
|
+
ssize_t getline(char **, size_t *, FILE *)
|
|
37
|
+
ssize_t getdelim(char **, size_t *, int, FILE *)
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# POSIX additions to <stdlib.h>
|
|
2
|
+
# https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/stdlib.h.html
|
|
3
|
+
|
|
4
|
+
cdef extern from "<stdlib.h>" nogil:
|
|
5
|
+
void _Exit(int)
|
|
6
|
+
double drand48()
|
|
7
|
+
double erand48(unsigned short *)
|
|
8
|
+
int getsubopt(char **, char *const *, char **)
|
|
9
|
+
void lcong48(unsigned short *)
|
|
10
|
+
long lrand()
|
|
11
|
+
char *mkdtemp(char *)
|
|
12
|
+
int mkstemp(char *)
|
|
13
|
+
long mrand()
|
|
14
|
+
long nrand48(unsigned short *)
|
|
15
|
+
int posix_memalign(void **, size_t, size_t)
|
|
16
|
+
int posix_openpt(int)
|
|
17
|
+
char *ptsname(int)
|
|
18
|
+
int putenv(char *)
|
|
19
|
+
int rand_r(unsigned *)
|
|
20
|
+
long random()
|
|
21
|
+
char *realpath(const char *, char *)
|
|
22
|
+
unsigned short *seed48(unsigned short *)
|
|
23
|
+
int setenv(const char *, const char *, int)
|
|
24
|
+
void setkey(const char *)
|
|
25
|
+
char *setstate(char *)
|
|
26
|
+
void srand48(long)
|
|
27
|
+
void srandom(unsigned)
|
|
28
|
+
int unlockpt(int)
|
|
29
|
+
int unsetenv(const char *)
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
cdef extern from "<strings.h>" nogil:
|
|
2
|
+
int bcmp(const void *, const void *, size_t)
|
|
3
|
+
void bcopy(const void *, void *, size_t)
|
|
4
|
+
void bzero(void *, size_t)
|
|
5
|
+
int ffs(int)
|
|
6
|
+
char *index(const char *, int)
|
|
7
|
+
char *rindex(const char *, int)
|
|
8
|
+
int strcasecmp(const char *, const char *)
|
|
9
|
+
int strncasecmp(const char *, const char *, size_t)
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# https://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/time.h.html
|
|
2
|
+
|
|
3
|
+
from posix.types cimport suseconds_t, time_t, clockid_t, timer_t
|
|
4
|
+
from posix.signal cimport sigevent
|
|
5
|
+
|
|
6
|
+
cdef extern from "<sys/time.h>" nogil:
|
|
7
|
+
enum: CLOCK_REALTIME
|
|
8
|
+
enum: TIMER_ABSTIME
|
|
9
|
+
enum: CLOCK_MONOTONIC
|
|
10
|
+
|
|
11
|
+
# FreeBSD-specific clocks
|
|
12
|
+
enum: CLOCK_UPTIME
|
|
13
|
+
enum: CLOCK_UPTIME_PRECISE
|
|
14
|
+
enum: CLOCK_UPTIME_FAST
|
|
15
|
+
enum: CLOCK_REALTIME_PRECISE
|
|
16
|
+
enum: CLOCK_REALTIME_FAST
|
|
17
|
+
enum: CLOCK_MONOTONIC_PRECISE
|
|
18
|
+
enum: CLOCK_MONOTONIC_FAST
|
|
19
|
+
enum: CLOCK_SECOND
|
|
20
|
+
|
|
21
|
+
# Linux-specific clocks
|
|
22
|
+
enum: CLOCK_PROCESS_CPUTIME_ID
|
|
23
|
+
enum: CLOCK_THREAD_CPUTIME_ID
|
|
24
|
+
enum: CLOCK_MONOTONIC_RAW
|
|
25
|
+
enum: CLOCK_REALTIME_COARSE
|
|
26
|
+
enum: CLOCK_MONOTONIC_COARSE
|
|
27
|
+
enum: CLOCK_BOOTTIME
|
|
28
|
+
enum: CLOCK_REALTIME_ALARM
|
|
29
|
+
enum: CLOCK_BOOTTIME_ALARM
|
|
30
|
+
|
|
31
|
+
enum: ITIMER_REAL
|
|
32
|
+
enum: ITIMER_VIRTUAL
|
|
33
|
+
enum: ITIMER_PROF
|
|
34
|
+
|
|
35
|
+
cdef struct timezone:
|
|
36
|
+
int tz_minuteswest
|
|
37
|
+
int dsttime
|
|
38
|
+
|
|
39
|
+
cdef struct timeval:
|
|
40
|
+
time_t tv_sec
|
|
41
|
+
suseconds_t tv_usec
|
|
42
|
+
|
|
43
|
+
cdef struct timespec:
|
|
44
|
+
time_t tv_sec
|
|
45
|
+
long tv_nsec
|
|
46
|
+
|
|
47
|
+
cdef struct itimerval:
|
|
48
|
+
timeval it_interval
|
|
49
|
+
timeval it_value
|
|
50
|
+
|
|
51
|
+
cdef struct itimerspec:
|
|
52
|
+
timespec it_interval
|
|
53
|
+
timespec it_value
|
|
54
|
+
|
|
55
|
+
int nanosleep(const timespec *, timespec *)
|
|
56
|
+
|
|
57
|
+
int getitimer(int, itimerval *)
|
|
58
|
+
int gettimeofday(timeval *tp, timezone *tzp)
|
|
59
|
+
int setitimer(int, const itimerval *, itimerval *)
|
|
60
|
+
|
|
61
|
+
int clock_getcpuclockid(pid_t, clockid_t *)
|
|
62
|
+
int clock_getres(clockid_t, timespec *)
|
|
63
|
+
int clock_gettime(clockid_t, timespec *)
|
|
64
|
+
int clock_nanosleep(clockid_t, int, const timespec *, timespec *)
|
|
65
|
+
int clock_settime(clockid_t, const timespec *)
|
|
66
|
+
|
|
67
|
+
int timer_create(clockid_t, sigevent *, timer_t *)
|
|
68
|
+
int timer_delete(timer_t)
|
|
69
|
+
int timer_gettime(timer_t, itimerspec *)
|
|
70
|
+
int timer_getoverrun(timer_t)
|
|
71
|
+
int timer_settime(timer_t, int, const itimerspec *, itimerspec *)
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Note that the actual size of these types is system-dependent, and
|
|
2
|
+
# cannot be detected before C compile time. However, the generated C code
|
|
3
|
+
# will correctly use the actual size of these types *except* for
|
|
4
|
+
# determining promotion in binary arithmetic expressions involving
|
|
5
|
+
# mixed types. In this case, operands are promoted to the declared
|
|
6
|
+
# larger type, with a bias towards typedef types. Thus, with the
|
|
7
|
+
# declarations below, long + time_t will result in a time_t whereas
|
|
8
|
+
# long long + time_t will result in a long long which should be
|
|
9
|
+
# acceptable for either 32-bit or 64-bit signed time_t (though admittedly
|
|
10
|
+
# the POSIX standard doesn't even specify that time_t must be an integral
|
|
11
|
+
# type).
|
|
12
|
+
|
|
13
|
+
cdef extern from "<sys/types.h>":
|
|
14
|
+
ctypedef long blkcnt_t
|
|
15
|
+
ctypedef long blksize_t
|
|
16
|
+
ctypedef long clockid_t
|
|
17
|
+
ctypedef long dev_t
|
|
18
|
+
ctypedef long gid_t
|
|
19
|
+
ctypedef long id_t
|
|
20
|
+
ctypedef unsigned long ino_t
|
|
21
|
+
ctypedef long mode_t
|
|
22
|
+
ctypedef long nlink_t
|
|
23
|
+
ctypedef long off_t
|
|
24
|
+
ctypedef long pid_t
|
|
25
|
+
ctypedef struct sigset_t:
|
|
26
|
+
pass
|
|
27
|
+
ctypedef long suseconds_t
|
|
28
|
+
ctypedef long time_t
|
|
29
|
+
ctypedef long timer_t
|
|
30
|
+
ctypedef long uid_t
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_uio.h.html
|
|
2
|
+
|
|
3
|
+
from posix.types cimport off_t
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
cdef extern from "<sys/uio.h>" nogil:
|
|
7
|
+
|
|
8
|
+
cdef struct iovec:
|
|
9
|
+
void *iov_base
|
|
10
|
+
size_t iov_len
|
|
11
|
+
|
|
12
|
+
ssize_t readv (int fd, const iovec *iov, int iovcnt)
|
|
13
|
+
ssize_t writev(int fd, const iovec *iov, int iovcnt)
|
|
14
|
+
|
|
15
|
+
# Linux-specific, https://man7.org/linux/man-pages/man2/readv.2.html
|
|
16
|
+
ssize_t preadv (int fd, const iovec *iov, int iovcnt, off_t offset)
|
|
17
|
+
ssize_t pwritev(int fd, const iovec *iov, int iovcnt, off_t offset)
|
|
18
|
+
|
|
19
|
+
enum: RWF_DSYNC
|
|
20
|
+
enum: RWF_HIPRI
|
|
21
|
+
enum: RWF_SYNC
|
|
22
|
+
enum: RWF_NOWAIT
|
|
23
|
+
enum: RWF_APPEND
|
|
24
|
+
|
|
25
|
+
ssize_t preadv2 (int fd, const iovec *iov, int iovcnt, off_t offset, int flags)
|
|
26
|
+
ssize_t pwritev2(int fd, const iovec *iov, int iovcnt, off_t offset, int flags)
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
# http://www.opengroup.org/onlinepubs/009695399/basedefs/unistd.h.html
|
|
2
|
+
|
|
3
|
+
from posix.types cimport gid_t, pid_t, off_t, uid_t
|
|
4
|
+
|
|
5
|
+
cdef extern from "<unistd.h>" nogil:
|
|
6
|
+
|
|
7
|
+
#:NULL
|
|
8
|
+
|
|
9
|
+
enum: R_OK
|
|
10
|
+
enum: W_OK
|
|
11
|
+
enum: X_OK
|
|
12
|
+
enum: F_OK
|
|
13
|
+
|
|
14
|
+
enum: _CS_PATH
|
|
15
|
+
enum: _CS_POSIX_V6_ILP32_OFF32_CFLAGS
|
|
16
|
+
enum: _CS_POSIX_V6_ILP32_OFF32_LDFLAGS
|
|
17
|
+
enum: _CS_POSIX_V6_ILP32_OFF32_LIBS
|
|
18
|
+
enum: _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
|
|
19
|
+
enum: _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
|
|
20
|
+
enum: _CS_POSIX_V6_ILP32_OFFBIG_LIBS
|
|
21
|
+
enum: _CS_POSIX_V6_LP64_OFF64_CFLAGS
|
|
22
|
+
enum: _CS_POSIX_V6_LP64_OFF64_LDFLAGS
|
|
23
|
+
enum: _CS_POSIX_V6_LP64_OFF64_LIBS
|
|
24
|
+
enum: _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
|
|
25
|
+
enum: _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
|
|
26
|
+
enum: _CS_POSIX_V6_LPBIG_OFFBIG_LIBS
|
|
27
|
+
enum: _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS
|
|
28
|
+
|
|
29
|
+
enum: SEEK_SET
|
|
30
|
+
enum: SEEK_CUR
|
|
31
|
+
enum: SEEK_END
|
|
32
|
+
|
|
33
|
+
enum: F_LOCK
|
|
34
|
+
enum: F_TEST
|
|
35
|
+
enum: F_TLOCK
|
|
36
|
+
enum: F_ULOCK
|
|
37
|
+
|
|
38
|
+
enum: _PC_2_SYMLINKS
|
|
39
|
+
enum: _PC_ALLOC_SIZE_MIN
|
|
40
|
+
enum: _PC_ASYNC_IO
|
|
41
|
+
enum: _PC_CHOWN_RESTRICTED
|
|
42
|
+
enum: _PC_FILESIZEBITS
|
|
43
|
+
enum: _PC_LINK_MAX
|
|
44
|
+
enum: _PC_MAX_CANON
|
|
45
|
+
enum: _PC_MAX_INPUT
|
|
46
|
+
enum: _PC_NAME_MAX
|
|
47
|
+
enum: _PC_NO_TRUNC
|
|
48
|
+
enum: _PC_PATH_MAX
|
|
49
|
+
enum: _PC_PIPE_BUF
|
|
50
|
+
enum: _PC_PRIO_IO
|
|
51
|
+
enum: _PC_REC_INCR_XFER_SIZE
|
|
52
|
+
enum: _PC_REC_MIN_XFER_SIZE
|
|
53
|
+
enum: _PC_REC_XFER_ALIGN
|
|
54
|
+
enum: _PC_SYMLINK_MAX
|
|
55
|
+
enum: _PC_SYNC_IO
|
|
56
|
+
enum: _PC_VDISABLE
|
|
57
|
+
|
|
58
|
+
enum: _SC_2_C_BIND
|
|
59
|
+
enum: _SC_2_C_DEV
|
|
60
|
+
enum: _SC_2_CHAR_TERM
|
|
61
|
+
enum: _SC_2_FORT_DEV
|
|
62
|
+
enum: _SC_2_FORT_RUN
|
|
63
|
+
enum: _SC_2_LOCALEDEF
|
|
64
|
+
enum: _SC_2_PBS
|
|
65
|
+
enum: _SC_2_PBS_ACCOUNTING
|
|
66
|
+
enum: _SC_2_PBS_CHECKPOINT
|
|
67
|
+
enum: _SC_2_PBS_LOCATE
|
|
68
|
+
enum: _SC_2_PBS_MESSAGE
|
|
69
|
+
enum: _SC_2_PBS_TRACK
|
|
70
|
+
enum: _SC_2_SW_DEV
|
|
71
|
+
enum: _SC_2_UPE
|
|
72
|
+
enum: _SC_2_VERSION
|
|
73
|
+
enum: _SC_ADVISORY_INFO
|
|
74
|
+
enum: _SC_AIO_LISTIO_MAX
|
|
75
|
+
enum: _SC_AIO_MAX
|
|
76
|
+
enum: _SC_AIO_PRIO_DELTA_MAX
|
|
77
|
+
enum: _SC_ARG_MAX
|
|
78
|
+
enum: _SC_ASYNCHRONOUS_IO
|
|
79
|
+
enum: _SC_ATEXIT_MAX
|
|
80
|
+
enum: _SC_BARRIERS
|
|
81
|
+
enum: _SC_BC_BASE_MAX
|
|
82
|
+
enum: _SC_BC_DIM_MAX
|
|
83
|
+
enum: _SC_BC_SCALE_MAX
|
|
84
|
+
enum: _SC_BC_STRING_MAX
|
|
85
|
+
enum: _SC_CHILD_MAX
|
|
86
|
+
enum: _SC_CLK_TCK
|
|
87
|
+
enum: _SC_CLOCK_SELECTION
|
|
88
|
+
enum: _SC_COLL_WEIGHTS_MAX
|
|
89
|
+
enum: _SC_CPUTIME
|
|
90
|
+
enum: _SC_DELAYTIMER_MAX
|
|
91
|
+
enum: _SC_EXPR_NEST_MAX
|
|
92
|
+
enum: _SC_FSYNC
|
|
93
|
+
enum: _SC_GETGR_R_SIZE_MAX
|
|
94
|
+
enum: _SC_GETPW_R_SIZE_MAX
|
|
95
|
+
enum: _SC_HOST_NAME_MAX
|
|
96
|
+
enum: _SC_IOV_MAX
|
|
97
|
+
enum: _SC_IPV6
|
|
98
|
+
enum: _SC_JOB_CONTROL
|
|
99
|
+
enum: _SC_LINE_MAX
|
|
100
|
+
enum: _SC_LOGIN_NAME_MAX
|
|
101
|
+
enum: _SC_MAPPED_FILES
|
|
102
|
+
enum: _SC_MEMLOCK
|
|
103
|
+
enum: _SC_MEMLOCK_RANGE
|
|
104
|
+
enum: _SC_MEMORY_PROTECTION
|
|
105
|
+
enum: _SC_MESSAGE_PASSING
|
|
106
|
+
enum: _SC_MONOTONIC_CLOCK
|
|
107
|
+
enum: _SC_MQ_OPEN_MAX
|
|
108
|
+
enum: _SC_MQ_PRIO_MAX
|
|
109
|
+
enum: _SC_NGROUPS_MAX
|
|
110
|
+
enum: _SC_OPEN_MAX
|
|
111
|
+
enum: _SC_PAGE_SIZE
|
|
112
|
+
enum: _SC_PAGESIZE
|
|
113
|
+
enum: _SC_PRIORITIZED_IO
|
|
114
|
+
enum: _SC_PRIORITY_SCHEDULING
|
|
115
|
+
enum: _SC_RAW_SOCKETS
|
|
116
|
+
enum: _SC_RE_DUP_MAX
|
|
117
|
+
enum: _SC_READER_WRITER_LOCKS
|
|
118
|
+
enum: _SC_REALTIME_SIGNALS
|
|
119
|
+
enum: _SC_REGEXP
|
|
120
|
+
enum: _SC_RTSIG_MAX
|
|
121
|
+
enum: _SC_SAVED_IDS
|
|
122
|
+
enum: _SC_SEM_NSEMS_MAX
|
|
123
|
+
enum: _SC_SEM_VALUE_MAX
|
|
124
|
+
enum: _SC_SEMAPHORES
|
|
125
|
+
enum: _SC_SHARED_MEMORY_OBJECTS
|
|
126
|
+
enum: _SC_SHELL
|
|
127
|
+
enum: _SC_SIGQUEUE_MAX
|
|
128
|
+
enum: _SC_SPAWN
|
|
129
|
+
enum: _SC_SPIN_LOCKS
|
|
130
|
+
enum: _SC_SPORADIC_SERVER
|
|
131
|
+
enum: _SC_SS_REPL_MAX
|
|
132
|
+
enum: _SC_STREAM_MAX
|
|
133
|
+
enum: _SC_SYMLOOP_MAX
|
|
134
|
+
enum: _SC_SYNCHRONIZED_IO
|
|
135
|
+
enum: _SC_THREAD_ATTR_STACKADDR
|
|
136
|
+
enum: _SC_THREAD_ATTR_STACKSIZE
|
|
137
|
+
enum: _SC_THREAD_CPUTIME
|
|
138
|
+
enum: _SC_THREAD_DESTRUCTOR_ITERATIONS
|
|
139
|
+
enum: _SC_THREAD_KEYS_MAX
|
|
140
|
+
enum: _SC_THREAD_PRIO_INHERIT
|
|
141
|
+
enum: _SC_THREAD_PRIO_PROTECT
|
|
142
|
+
enum: _SC_THREAD_PRIORITY_SCHEDULING
|
|
143
|
+
enum: _SC_THREAD_PROCESS_SHARED
|
|
144
|
+
enum: _SC_THREAD_SAFE_FUNCTIONS
|
|
145
|
+
enum: _SC_THREAD_SPORADIC_SERVER
|
|
146
|
+
enum: _SC_THREAD_STACK_MIN
|
|
147
|
+
enum: _SC_THREAD_THREADS_MAX
|
|
148
|
+
enum: _SC_THREADS
|
|
149
|
+
enum: _SC_TIMEOUTS
|
|
150
|
+
enum: _SC_TIMER_MAX
|
|
151
|
+
enum: _SC_TIMERS
|
|
152
|
+
enum: _SC_TRACE
|
|
153
|
+
enum: _SC_TRACE_EVENT_FILTER
|
|
154
|
+
enum: _SC_TRACE_EVENT_NAME_MAX
|
|
155
|
+
enum: _SC_TRACE_INHERIT
|
|
156
|
+
enum: _SC_TRACE_LOG
|
|
157
|
+
enum: _SC_TRACE_NAME_MAX
|
|
158
|
+
enum: _SC_TRACE_SYS_MAX
|
|
159
|
+
enum: _SC_TRACE_USER_EVENT_MAX
|
|
160
|
+
enum: _SC_TTY_NAME_MAX
|
|
161
|
+
enum: _SC_TYPED_MEMORY_OBJECTS
|
|
162
|
+
enum: _SC_TZNAME_MAX
|
|
163
|
+
enum: _SC_V6_ILP32_OFF32
|
|
164
|
+
enum: _SC_V6_ILP32_OFFBIG
|
|
165
|
+
enum: _SC_V6_LP64_OFF64
|
|
166
|
+
enum: _SC_V6_LPBIG_OFFBIG
|
|
167
|
+
enum: _SC_VERSION
|
|
168
|
+
enum: _SC_XBS5_ILP32_OFF32
|
|
169
|
+
enum: _SC_XBS5_ILP32_OFFBIG
|
|
170
|
+
enum: _SC_XBS5_LP64_OFF64
|
|
171
|
+
enum: _SC_XBS5_LPBIG_OFFBIG
|
|
172
|
+
enum: _SC_XOPEN_CRYPT
|
|
173
|
+
enum: _SC_XOPEN_ENH_I18N
|
|
174
|
+
enum: _SC_XOPEN_LEGACY
|
|
175
|
+
enum: _SC_XOPEN_REALTIME
|
|
176
|
+
enum: _SC_XOPEN_REALTIME_THREADS
|
|
177
|
+
enum: _SC_XOPEN_SHM
|
|
178
|
+
enum: _SC_XOPEN_STREAMS
|
|
179
|
+
enum: _SC_XOPEN_UNIX
|
|
180
|
+
enum: _SC_XOPEN_VERSION
|
|
181
|
+
|
|
182
|
+
enum: STDIN_FILENO #0
|
|
183
|
+
enum: STDOUT_FILENO #1
|
|
184
|
+
enum: STDERR_FILENO #2
|
|
185
|
+
|
|
186
|
+
ctypedef unsigned useconds_t
|
|
187
|
+
|
|
188
|
+
int access(const char *, int)
|
|
189
|
+
unsigned alarm(unsigned)
|
|
190
|
+
int chdir(const char *)
|
|
191
|
+
int chown(const char *, uid_t, gid_t)
|
|
192
|
+
int close(int)
|
|
193
|
+
size_t confstr(int, char *, size_t)
|
|
194
|
+
char *crypt(const char *, const char *)
|
|
195
|
+
char *ctermid(char *)
|
|
196
|
+
int dup(int)
|
|
197
|
+
int dup2(int, int)
|
|
198
|
+
void encrypt(char[64], int)
|
|
199
|
+
int execl(const char *, const char *, ...)
|
|
200
|
+
int execle(const char *, const char *, ...)
|
|
201
|
+
int execlp(const char *, const char *, ...)
|
|
202
|
+
int execv(const char *, char *[])
|
|
203
|
+
int execve(const char *, char *[], char *[])
|
|
204
|
+
int execvp(const char *, char *[])
|
|
205
|
+
void _exit(int)
|
|
206
|
+
int fchown(int, uid_t, gid_t)
|
|
207
|
+
int fchdir(int)
|
|
208
|
+
int fdatasync(int)
|
|
209
|
+
pid_t fork()
|
|
210
|
+
long fpathconf(int, int)
|
|
211
|
+
int fsync(int)
|
|
212
|
+
int ftruncate(int, off_t)
|
|
213
|
+
char *getcwd(char *, size_t)
|
|
214
|
+
gid_t getegid()
|
|
215
|
+
uid_t geteuid()
|
|
216
|
+
gid_t getgid()
|
|
217
|
+
int getgroups(int, gid_t [])
|
|
218
|
+
long gethostid()
|
|
219
|
+
int gethostname(char *, size_t)
|
|
220
|
+
char *getlogin()
|
|
221
|
+
int getlogin_r(char *, size_t)
|
|
222
|
+
int getopt(int, char * [], const char *)
|
|
223
|
+
pid_t getpgid(pid_t)
|
|
224
|
+
pid_t getpgrp()
|
|
225
|
+
pid_t getpid()
|
|
226
|
+
pid_t getppid()
|
|
227
|
+
pid_t getsid(pid_t)
|
|
228
|
+
uid_t getuid()
|
|
229
|
+
char *getwd(char *)
|
|
230
|
+
int isatty(int)
|
|
231
|
+
int lchown(const char *, uid_t, gid_t)
|
|
232
|
+
int link(const char *, const char *)
|
|
233
|
+
int lockf(int, int, off_t)
|
|
234
|
+
off_t lseek(int, off_t, int)
|
|
235
|
+
int nice(int)
|
|
236
|
+
long pathconf(char *, int)
|
|
237
|
+
int pause()
|
|
238
|
+
int pipe(int [2])
|
|
239
|
+
ssize_t pread(int, void *, size_t, off_t)
|
|
240
|
+
ssize_t pwrite(int, const void *, size_t, off_t)
|
|
241
|
+
ssize_t read(int, void *, size_t)
|
|
242
|
+
ssize_t readlink(const char *, char *, size_t)
|
|
243
|
+
int rmdir(const char *)
|
|
244
|
+
int setegid(gid_t)
|
|
245
|
+
int seteuid(uid_t)
|
|
246
|
+
int setgid(gid_t)
|
|
247
|
+
int setpgid(pid_t, pid_t)
|
|
248
|
+
pid_t setpgrp()
|
|
249
|
+
int setregid(gid_t, gid_t)
|
|
250
|
+
int setreuid(uid_t, uid_t)
|
|
251
|
+
pid_t setsid()
|
|
252
|
+
int setuid(uid_t)
|
|
253
|
+
unsigned sleep(unsigned)
|
|
254
|
+
void swab(const void *, void *, ssize_t)
|
|
255
|
+
int symlink(const char *, const char *)
|
|
256
|
+
void sync()
|
|
257
|
+
long sysconf(int)
|
|
258
|
+
pid_t tcgetpgrp(int)
|
|
259
|
+
int tcsetpgrp(int, pid_t)
|
|
260
|
+
int truncate(const char *, off_t)
|
|
261
|
+
char *ttyname(int)
|
|
262
|
+
int ttyname_r(int, char *, size_t)
|
|
263
|
+
useconds_t ualarm(useconds_t, useconds_t)
|
|
264
|
+
int unlink(const char *)
|
|
265
|
+
int usleep(useconds_t)
|
|
266
|
+
pid_t vfork()
|
|
267
|
+
ssize_t write(int, const void *, size_t)
|
|
268
|
+
char *optarg
|
|
269
|
+
int optind
|
|
270
|
+
int opterr
|
|
271
|
+
int optopt
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_wait.h.html
|
|
2
|
+
|
|
3
|
+
from posix.types cimport pid_t, id_t
|
|
4
|
+
from posix.signal cimport siginfo_t
|
|
5
|
+
from posix.resource cimport rusage
|
|
6
|
+
|
|
7
|
+
cdef extern from "<sys/wait.h>" nogil:
|
|
8
|
+
enum: WNOHANG
|
|
9
|
+
enum: WUNTRACED
|
|
10
|
+
enum: WCONTINUED
|
|
11
|
+
enum: WEXITED
|
|
12
|
+
enum: WSTOPPED
|
|
13
|
+
enum: WNOWAIT
|
|
14
|
+
|
|
15
|
+
int WEXITSTATUS(int status)
|
|
16
|
+
int WIFCONTINUED(int status)
|
|
17
|
+
int WIFEXITED(int status)
|
|
18
|
+
int WIFSIGNALED(int status)
|
|
19
|
+
int WIFSTOPPED(int status)
|
|
20
|
+
int WSTOPSIG(int status)
|
|
21
|
+
int WTERMSIG(int status)
|
|
22
|
+
|
|
23
|
+
ctypedef int idtype_t
|
|
24
|
+
enum: P_ALL # idtype_t values
|
|
25
|
+
enum: P_PID
|
|
26
|
+
enum: P_PGID
|
|
27
|
+
|
|
28
|
+
pid_t wait(int *stat_loc)
|
|
29
|
+
pid_t waitpid(pid_t pid, int *status, int options)
|
|
30
|
+
int waitid(idtype_t idtype, id_t id, siginfo_t *infop, int options)
|
|
31
|
+
|
|
32
|
+
# wait3 was in POSIX until 2008 while wait4 was never standardized.
|
|
33
|
+
# Even so, these calls are in almost every Unix, always in sys/wait.h.
|
|
34
|
+
# Hence, posix.wait is the least surprising place to declare them for Cython.
|
|
35
|
+
# libc may require _XXX_SOURCE to be defined at C-compile time to provide them.
|
|
36
|
+
|
|
37
|
+
pid_t wait3(int *status, int options, rusage *rusage)
|
|
38
|
+
pid_t wait4(pid_t pid, int *status, int options, rusage *rusage)
|