SILENT KILLERPanel

Current Path: > > opt > alt > python313 > include > > > > python3.13 > cpython


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 ]

Files and Folders in: //opt/alt/python313/include////python3.13/cpython

NameTypeSizeLast ModifiedActions
abstract.h File 3399 bytes June 11 2025 15:36:57.
bytearrayobject.h File 1163 bytes June 11 2025 15:36:57.
bytesobject.h File 1180 bytes June 11 2025 15:36:57.
cellobject.h File 1076 bytes June 11 2025 15:36:57.
ceval.h File 1115 bytes June 11 2025 15:36:57.
classobject.h File 2245 bytes June 11 2025 15:36:57.
code.h File 15207 bytes June 11 2025 15:36:57.
compile.h File 2121 bytes June 11 2025 15:36:57.
complexobject.h File 909 bytes June 11 2025 15:36:57.
context.h File 1837 bytes June 11 2025 15:36:57.
critical_section.h File 5588 bytes June 11 2025 15:36:57.
descrobject.h File 1593 bytes June 11 2025 15:36:57.
dictobject.h File 3870 bytes June 11 2025 15:36:57.
fileobject.h File 652 bytes June 11 2025 15:36:57.
fileutils.h File 232 bytes June 11 2025 15:36:57.
floatobject.h File 900 bytes June 11 2025 15:36:57.
frameobject.h File 1199 bytes June 11 2025 15:36:57.
funcobject.h File 7049 bytes June 11 2025 15:36:57.
genobject.h File 2997 bytes June 11 2025 15:36:57.
import.h File 725 bytes June 11 2025 15:36:57.
initconfig.h File 8197 bytes June 11 2025 15:36:57.
listobject.h File 1801 bytes June 11 2025 15:36:57.
lock.h File 1763 bytes June 11 2025 15:36:57.
longintrepr.h File 5119 bytes June 11 2025 15:36:57.
longobject.h File 5583 bytes June 11 2025 15:36:57.
memoryobject.h File 2223 bytes June 11 2025 15:36:57.
methodobject.h File 2276 bytes June 11 2025 15:36:57.
modsupport.h File 1042 bytes June 11 2025 15:36:57.
monitoring.h File 7704 bytes June 11 2025 15:36:57.
object.h File 19074 bytes June 11 2025 15:36:57.
objimpl.h File 3820 bytes June 11 2025 15:36:57.
odictobject.h File 1311 bytes June 11 2025 15:36:57.
picklebufobject.h File 848 bytes June 11 2025 15:36:57.
pthread_stubs.h File 3926 bytes June 11 2025 15:36:57.
pyatomic.h File 16506 bytes June 11 2025 15:36:57.
pyatomic_gcc.h File 19131 bytes June 11 2025 15:36:57.
pyatomic_msc.h File 29241 bytes June 11 2025 15:36:57.
pyatomic_std.h File 24336 bytes June 11 2025 15:36:57.
pyctype.h File 1387 bytes June 11 2025 15:36:57.
pydebug.h File 1413 bytes June 11 2025 15:36:57.
pyerrors.h File 2908 bytes June 11 2025 15:36:57.
pyfpe.h File 444 bytes June 11 2025 15:36:57.
pyframe.h File 1947 bytes June 11 2025 15:36:57.
pyhash.h File 1382 bytes June 11 2025 15:36:57.
pylifecycle.h File 2817 bytes June 11 2025 15:36:57.
pymem.h File 2843 bytes June 11 2025 15:36:57.
pystate.h File 9465 bytes June 11 2025 15:36:57.
pystats.h File 5434 bytes June 11 2025 15:36:57.
pythonrun.h File 4327 bytes June 11 2025 15:36:57.
pythread.h File 1510 bytes June 11 2025 15:36:57.
pytime.h File 707 bytes June 11 2025 15:36:57.
setobject.h File 2046 bytes June 11 2025 15:36:57.
sysmodule.h File 775 bytes June 11 2025 15:36:57.
traceback.h File 282 bytes June 11 2025 15:36:57.
tracemalloc.h File 823 bytes June 11 2025 15:36:57.
tupleobject.h File 1329 bytes June 11 2025 15:36:57.
unicodeobject.h File 25074 bytes June 11 2025 15:36:57.
warnings.h File 695 bytes June 11 2025 15:36:57.
weakrefobject.h File 2249 bytes June 11 2025 15:36:57.

Reading File: //opt/alt/python313/include////python3.13/cpython/objimpl.h

#ifndef Py_CPYTHON_OBJIMPL_H
#  error "this header file must not be included directly"
#endif

static inline size_t _PyObject_SIZE(PyTypeObject *type) {
    return _Py_STATIC_CAST(size_t, type->tp_basicsize);
}

/* _PyObject_VAR_SIZE returns the number of bytes (as size_t) allocated for a
   vrbl-size object with nitems items, exclusive of gc overhead (if any).  The
   value is rounded up to the closest multiple of sizeof(void *), in order to
   ensure that pointer fields at the end of the object are correctly aligned
   for the platform (this is of special importance for subclasses of, e.g.,
   str or int, so that pointers can be stored after the embedded data).

   Note that there's no memory wastage in doing this, as malloc has to
   return (at worst) pointer-aligned memory anyway.
*/
#if ((SIZEOF_VOID_P - 1) & SIZEOF_VOID_P) != 0
#   error "_PyObject_VAR_SIZE requires SIZEOF_VOID_P be a power of 2"
#endif

static inline size_t _PyObject_VAR_SIZE(PyTypeObject *type, Py_ssize_t nitems) {
    size_t size = _Py_STATIC_CAST(size_t, type->tp_basicsize);
    size += _Py_STATIC_CAST(size_t, nitems) * _Py_STATIC_CAST(size_t, type->tp_itemsize);
    return _Py_SIZE_ROUND_UP(size, SIZEOF_VOID_P);
}


/* This example code implements an object constructor with a custom
   allocator, where PyObject_New is inlined, and shows the important
   distinction between two steps (at least):
       1) the actual allocation of the object storage;
       2) the initialization of the Python specific fields
      in this storage with PyObject_{Init, InitVar}.

   PyObject *
   YourObject_New(...)
   {
       PyObject *op;

       op = (PyObject *) Your_Allocator(_PyObject_SIZE(YourTypeStruct));
       if (op == NULL) {
           return PyErr_NoMemory();
       }

       PyObject_Init(op, &YourTypeStruct);

       op->ob_field = value;
       ...
       return op;
   }

   Note that in C++, the use of the new operator usually implies that
   the 1st step is performed automatically for you, so in a C++ class
   constructor you would start directly with PyObject_Init/InitVar. */


typedef struct {
    /* user context passed as the first argument to the 2 functions */
    void *ctx;

    /* allocate an arena of size bytes */
    void* (*alloc) (void *ctx, size_t size);

    /* free an arena */
    void (*free) (void *ctx, void *ptr, size_t size);
} PyObjectArenaAllocator;

/* Get the arena allocator. */
PyAPI_FUNC(void) PyObject_GetArenaAllocator(PyObjectArenaAllocator *allocator);

/* Set the arena allocator. */
PyAPI_FUNC(void) PyObject_SetArenaAllocator(PyObjectArenaAllocator *allocator);


/* Test if an object implements the garbage collector protocol */
PyAPI_FUNC(int) PyObject_IS_GC(PyObject *obj);


// Test if a type supports weak references
PyAPI_FUNC(int) PyType_SUPPORTS_WEAKREFS(PyTypeObject *type);

PyAPI_FUNC(PyObject **) PyObject_GET_WEAKREFS_LISTPTR(PyObject *op);

PyAPI_FUNC(PyObject *) PyUnstable_Object_GC_NewWithExtraData(PyTypeObject *,
                                                             size_t);


/* Visit all live GC-capable objects, similar to gc.get_objects(None). The
 * supplied callback is called on every such object with the void* arg set
 * to the supplied arg. Returning 0 from the callback ends iteration, returning
 * 1 allows iteration to continue. Returning any other value may result in
 * undefined behaviour.
 *
 * If new objects are (de)allocated by the callback it is undefined if they
 * will be visited.

 * Garbage collection is disabled during operation. Explicitly running a
 * collection in the callback may lead to undefined behaviour e.g. visiting the
 * same objects multiple times or not at all.
 */
typedef int (*gcvisitobjects_t)(PyObject*, void*);
PyAPI_FUNC(void) PyUnstable_GC_VisitObjects(gcvisitobjects_t callback, void* arg);

SILENT KILLER Tool