Current Path: > > opt > alt > > python33 > include > python3.3m >
Operation : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 Software : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
Python-ast.h | File | 19321 bytes | September 19 2017 07:38:53. | |
Python.h | File | 2836 bytes | September 19 2017 07:32:02. | |
abstract.h | File | 42607 bytes | September 19 2017 07:32:02. | |
accu.h | File | 1016 bytes | September 19 2017 07:32:02. | |
asdl.h | File | 1092 bytes | September 19 2017 07:32:02. | |
ast.h | File | 344 bytes | September 19 2017 07:32:02. | |
bitset.h | File | 792 bytes | September 19 2017 07:32:02. | |
bltinmodule.h | File | 264 bytes | September 19 2017 07:32:02. | |
boolobject.h | File | 886 bytes | September 19 2017 07:32:02. | |
bytearrayobject.h | File | 2001 bytes | September 19 2017 07:32:02. | |
bytes_methods.h | File | 2025 bytes | September 19 2017 07:32:02. | |
bytesobject.h | File | 4891 bytes | September 19 2017 07:32:02. | |
cellobject.h | File | 701 bytes | September 19 2017 07:32:02. | |
ceval.h | File | 7194 bytes | September 19 2017 07:32:02. | |
classobject.h | File | 1666 bytes | September 19 2017 07:32:02. | |
code.h | File | 4227 bytes | September 19 2017 07:32:02. | |
codecs.h | File | 6478 bytes | September 19 2017 07:32:02. | |
compile.h | File | 1663 bytes | September 19 2017 07:32:02. | |
complexobject.h | File | 1954 bytes | September 19 2017 07:32:02. | |
datetime.h | File | 8542 bytes | September 19 2017 07:32:02. | |
descrobject.h | File | 2913 bytes | September 19 2017 07:32:02. | |
dictobject.h | File | 4972 bytes | September 19 2017 07:32:02. | |
dtoa.h | File | 458 bytes | September 19 2017 07:32:02. | |
dynamic_annotations.h | File | 22471 bytes | September 19 2017 07:32:02. | |
enumobject.h | File | 253 bytes | September 19 2017 07:32:02. | |
errcode.h | File | 1497 bytes | September 19 2017 07:32:02. | |
eval.h | File | 597 bytes | September 19 2017 07:32:02. | |
fileobject.h | File | 1767 bytes | September 19 2017 07:32:02. | |
fileutils.h | File | 1086 bytes | September 19 2017 07:32:02. | |
floatobject.h | File | 4641 bytes | September 19 2017 07:32:02. | |
frameobject.h | File | 3372 bytes | September 19 2017 07:32:02. | |
funcobject.h | File | 3771 bytes | September 19 2017 07:32:02. | |
genobject.h | File | 1080 bytes | September 19 2017 07:32:02. | |
graminit.h | File | 1873 bytes | September 19 2017 07:32:02. | |
grammar.h | File | 2021 bytes | September 19 2017 07:32:02. | |
import.h | File | 3883 bytes | September 19 2017 07:32:02. | |
intrcheck.h | File | 460 bytes | September 19 2017 07:32:02. | |
iterobject.h | File | 567 bytes | September 19 2017 07:32:02. | |
listobject.h | File | 2834 bytes | September 19 2017 07:32:02. | |
longintrepr.h | File | 3997 bytes | September 19 2017 07:32:02. | |
longobject.h | File | 7733 bytes | September 19 2017 07:32:02. | |
marshal.h | File | 743 bytes | September 19 2017 07:32:02. | |
memoryobject.h | File | 2872 bytes | September 19 2017 07:32:02. | |
metagrammar.h | File | 253 bytes | September 19 2017 07:32:02. | |
methodobject.h | File | 3307 bytes | September 19 2017 07:32:02. | |
modsupport.h | File | 4867 bytes | September 19 2017 07:32:02. | |
moduleobject.h | File | 1565 bytes | September 19 2017 07:32:02. | |
namespaceobject.h | File | 297 bytes | September 19 2017 07:32:02. | |
node.h | File | 996 bytes | September 19 2017 07:32:02. | |
object.h | File | 37978 bytes | September 19 2017 07:32:02. | |
objimpl.h | File | 13389 bytes | September 19 2017 07:32:02. | |
opcode.h | File | 5208 bytes | September 19 2017 07:32:02. | |
osdefs.h | File | 986 bytes | September 19 2017 07:32:02. | |
parsetok.h | File | 2283 bytes | September 19 2017 07:32:02. | |
patchlevel.h | File | 1128 bytes | September 19 2017 07:32:02. | |
pgen.h | File | 253 bytes | September 19 2017 07:32:02. | |
pgenheaders.h | File | 1144 bytes | September 19 2017 07:32:02. | |
py_curses.h | File | 4175 bytes | September 19 2017 07:32:02. | |
pyarena.h | File | 2744 bytes | September 19 2017 07:32:02. | |
pyatomic.h | File | 5944 bytes | September 19 2017 07:32:02. | |
pycapsule.h | File | 1726 bytes | September 19 2017 07:32:02. | |
pyconfig-64.h | File | 42427 bytes | April 17 2024 16:56:51. | |
pyconfig.h | File | 162 bytes | April 17 2024 16:58:11. | |
pyctype.h | File | 1320 bytes | September 19 2017 07:32:02. | |
pydebug.h | File | 986 bytes | September 19 2017 07:32:02. | |
pyerrors.h | File | 14685 bytes | September 19 2017 07:32:02. | |
pyexpat.h | File | 2340 bytes | September 19 2017 07:32:02. | |
pyfpe.h | File | 8489 bytes | September 19 2017 07:32:02. | |
pygetopt.h | File | 388 bytes | September 19 2017 07:32:02. | |
pymacconfig.h | File | 2988 bytes | September 19 2017 07:32:02. | |
pymacro.h | File | 2685 bytes | September 19 2017 07:32:02. | |
pymath.h | File | 6412 bytes | September 19 2017 07:32:02. | |
pymem.h | File | 4698 bytes | September 19 2017 07:32:02. | |
pyport.h | File | 31043 bytes | September 19 2017 07:32:02. | |
pystate.h | File | 7757 bytes | September 19 2017 07:32:02. | |
pystrcmp.h | File | 436 bytes | September 19 2017 07:32:02. | |
pystrtod.h | File | 1276 bytes | September 19 2017 07:32:02. | |
pythonrun.h | File | 8997 bytes | September 19 2017 07:32:02. | |
pythread.h | File | 3036 bytes | September 19 2017 07:32:02. | |
pytime.h | File | 2706 bytes | September 19 2017 07:32:02. | |
rangeobject.h | File | 629 bytes | September 19 2017 07:32:02. | |
setobject.h | File | 3291 bytes | September 19 2017 07:32:02. | |
sliceobject.h | File | 1380 bytes | September 19 2017 07:32:02. | |
structmember.h | File | 2068 bytes | September 19 2017 07:32:02. | |
structseq.h | File | 1217 bytes | September 19 2017 07:32:02. | |
symtable.h | File | 4688 bytes | September 19 2017 07:32:02. | |
sysmodule.h | File | 1111 bytes | September 19 2017 07:32:02. | |
token.h | File | 1882 bytes | September 19 2017 07:32:02. | |
traceback.h | File | 2145 bytes | September 19 2017 07:32:02. | |
tupleobject.h | File | 2444 bytes | September 19 2017 07:32:02. | |
typeslots.h | File | 1997 bytes | September 19 2017 07:32:02. | |
ucnhash.h | File | 1057 bytes | September 19 2017 07:32:02. | |
unicodeobject.h | File | 76194 bytes | September 19 2017 07:32:02. | |
warnings.h | File | 953 bytes | September 19 2017 07:32:02. | |
weakrefobject.h | File | 2866 bytes | September 19 2017 07:32:02. |
#ifndef Py_LIMITED_API #ifndef Py_ATOMIC_H #define Py_ATOMIC_H /* XXX: When compilers start offering a stdatomic.h with lock-free atomic_int and atomic_address types, include that here and rewrite the atomic operations in terms of it. */ #include "dynamic_annotations.h" #ifdef __cplusplus extern "C" { #endif /* This is modeled after the atomics interface from C1x, according to * the draft at * http://www.open-std.org/JTC1/SC22/wg14/www/docs/n1425.pdf. * Operations and types are named the same except with a _Py_ prefix * and have the same semantics. * * Beware, the implementations here are deep magic. */ typedef enum _Py_memory_order { _Py_memory_order_relaxed, _Py_memory_order_acquire, _Py_memory_order_release, _Py_memory_order_acq_rel, _Py_memory_order_seq_cst } _Py_memory_order; typedef struct _Py_atomic_address { void *_value; } _Py_atomic_address; typedef struct _Py_atomic_int { int _value; } _Py_atomic_int; /* Only support GCC (for expression statements) and x86 (for simple * atomic semantics) for now */ #if defined(__GNUC__) && (defined(__i386__) || defined(__amd64)) static __inline__ void _Py_atomic_signal_fence(_Py_memory_order order) { if (order != _Py_memory_order_relaxed) __asm__ volatile("":::"memory"); } static __inline__ void _Py_atomic_thread_fence(_Py_memory_order order) { if (order != _Py_memory_order_relaxed) __asm__ volatile("mfence":::"memory"); } /* Tell the race checker about this operation's effects. */ static __inline__ void _Py_ANNOTATE_MEMORY_ORDER(const volatile void *address, _Py_memory_order order) { (void)address; /* shut up -Wunused-parameter */ switch(order) { case _Py_memory_order_release: case _Py_memory_order_acq_rel: case _Py_memory_order_seq_cst: _Py_ANNOTATE_HAPPENS_BEFORE(address); break; case _Py_memory_order_relaxed: case _Py_memory_order_acquire: break; } switch(order) { case _Py_memory_order_acquire: case _Py_memory_order_acq_rel: case _Py_memory_order_seq_cst: _Py_ANNOTATE_HAPPENS_AFTER(address); break; case _Py_memory_order_relaxed: case _Py_memory_order_release: break; } } #define _Py_atomic_store_explicit(ATOMIC_VAL, NEW_VAL, ORDER) \ __extension__ ({ \ __typeof__(ATOMIC_VAL) atomic_val = ATOMIC_VAL; \ __typeof__(atomic_val->_value) new_val = NEW_VAL;\ volatile __typeof__(new_val) *volatile_data = &atomic_val->_value; \ _Py_memory_order order = ORDER; \ _Py_ANNOTATE_MEMORY_ORDER(atomic_val, order); \ \ /* Perform the operation. */ \ _Py_ANNOTATE_IGNORE_WRITES_BEGIN(); \ switch(order) { \ case _Py_memory_order_release: \ _Py_atomic_signal_fence(_Py_memory_order_release); \ /* fallthrough */ \ case _Py_memory_order_relaxed: \ *volatile_data = new_val; \ break; \ \ case _Py_memory_order_acquire: \ case _Py_memory_order_acq_rel: \ case _Py_memory_order_seq_cst: \ __asm__ volatile("xchg %0, %1" \ : "+r"(new_val) \ : "m"(atomic_val->_value) \ : "memory"); \ break; \ } \ _Py_ANNOTATE_IGNORE_WRITES_END(); \ }) #define _Py_atomic_load_explicit(ATOMIC_VAL, ORDER) \ __extension__ ({ \ __typeof__(ATOMIC_VAL) atomic_val = ATOMIC_VAL; \ __typeof__(atomic_val->_value) result; \ volatile __typeof__(result) *volatile_data = &atomic_val->_value; \ _Py_memory_order order = ORDER; \ _Py_ANNOTATE_MEMORY_ORDER(atomic_val, order); \ \ /* Perform the operation. */ \ _Py_ANNOTATE_IGNORE_READS_BEGIN(); \ switch(order) { \ case _Py_memory_order_release: \ case _Py_memory_order_acq_rel: \ case _Py_memory_order_seq_cst: \ /* Loads on x86 are not releases by default, so need a */ \ /* thread fence. */ \ _Py_atomic_thread_fence(_Py_memory_order_release); \ break; \ default: \ /* No fence */ \ break; \ } \ result = *volatile_data; \ switch(order) { \ case _Py_memory_order_acquire: \ case _Py_memory_order_acq_rel: \ case _Py_memory_order_seq_cst: \ /* Loads on x86 are automatically acquire operations so */ \ /* can get by with just a compiler fence. */ \ _Py_atomic_signal_fence(_Py_memory_order_acquire); \ break; \ default: \ /* No fence */ \ break; \ } \ _Py_ANNOTATE_IGNORE_READS_END(); \ result; \ }) #else /* !gcc x86 */ /* Fall back to other compilers and processors by assuming that simple volatile accesses are atomic. This is false, so people should port this. */ #define _Py_atomic_signal_fence(/*memory_order*/ ORDER) ((void)0) #define _Py_atomic_thread_fence(/*memory_order*/ ORDER) ((void)0) #define _Py_atomic_store_explicit(ATOMIC_VAL, NEW_VAL, ORDER) \ ((ATOMIC_VAL)->_value = NEW_VAL) #define _Py_atomic_load_explicit(ATOMIC_VAL, ORDER) \ ((ATOMIC_VAL)->_value) #endif /* !gcc x86 */ /* Standardized shortcuts. */ #define _Py_atomic_store(ATOMIC_VAL, NEW_VAL) \ _Py_atomic_store_explicit(ATOMIC_VAL, NEW_VAL, _Py_memory_order_seq_cst) #define _Py_atomic_load(ATOMIC_VAL) \ _Py_atomic_load_explicit(ATOMIC_VAL, _Py_memory_order_seq_cst) /* Python-local extensions */ #define _Py_atomic_store_relaxed(ATOMIC_VAL, NEW_VAL) \ _Py_atomic_store_explicit(ATOMIC_VAL, NEW_VAL, _Py_memory_order_relaxed) #define _Py_atomic_load_relaxed(ATOMIC_VAL) \ _Py_atomic_load_explicit(ATOMIC_VAL, _Py_memory_order_relaxed) #ifdef __cplusplus } #endif #endif /* Py_ATOMIC_H */ #endif /* Py_LIMITED_API */
SILENT KILLER Tool