SILENT KILLERPanel

Current Path: > > opt > alt > python311 > include > > python3.11 > > > 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/python311/include//python3.11///cpython/

NameTypeSizeLast ModifiedActions
abstract.h File 8229 bytes June 03 2025 18:38:25.
bytearrayobject.h File 1305 bytes June 03 2025 18:38:25.
bytesobject.h File 4802 bytes June 03 2025 18:38:25.
cellobject.h File 723 bytes June 03 2025 18:38:25.
ceval.h File 1239 bytes June 03 2025 18:38:25.
classobject.h File 1656 bytes June 03 2025 18:38:25.
code.h File 11484 bytes June 03 2025 18:38:25.
compile.h File 2218 bytes June 03 2025 18:38:25.
complexobject.h File 1248 bytes June 03 2025 18:38:25.
context.h File 1959 bytes June 03 2025 18:38:25.
descrobject.h File 1642 bytes June 03 2025 18:38:25.
dictobject.h File 3324 bytes June 03 2025 18:38:25.
fileobject.h File 818 bytes June 03 2025 18:38:25.
fileutils.h File 232 bytes June 03 2025 18:38:25.
floatobject.h File 702 bytes June 03 2025 18:38:25.
frameobject.h File 1108 bytes June 03 2025 18:38:25.
funcobject.h File 4424 bytes June 03 2025 18:38:25.
genobject.h File 3279 bytes June 03 2025 18:38:25.
import.h File 1526 bytes June 03 2025 18:38:25.
initconfig.h File 7817 bytes June 03 2025 18:38:25.
listobject.h File 1769 bytes June 03 2025 18:38:25.
longintrepr.h File 3817 bytes June 03 2025 18:38:25.
longobject.h File 4532 bytes June 03 2025 18:38:25.
methodobject.h File 2556 bytes June 03 2025 18:38:25.
modsupport.h File 4303 bytes June 03 2025 18:38:25.
object.h File 18305 bytes June 03 2025 18:38:25.
objimpl.h File 2998 bytes June 03 2025 18:38:25.
odictobject.h File 1299 bytes June 03 2025 18:38:25.
picklebufobject.h File 846 bytes June 03 2025 18:38:25.
pthread_stubs.h File 3505 bytes June 03 2025 18:38:25.
pyctype.h File 1387 bytes June 03 2025 18:38:25.
pydebug.h File 1073 bytes June 03 2025 18:38:25.
pyerrors.h File 4522 bytes June 03 2025 18:38:25.
pyfpe.h File 444 bytes June 03 2025 18:38:25.
pyframe.h File 582 bytes June 03 2025 18:38:25.
pylifecycle.h File 2099 bytes June 03 2025 18:38:25.
pymem.h File 3379 bytes June 03 2025 18:38:25.
pystate.h File 14351 bytes June 03 2025 18:38:25.
pythonrun.h File 4811 bytes June 03 2025 18:38:25.
pythread.h File 1426 bytes June 03 2025 18:38:25.
pytime.h File 12158 bytes June 03 2025 18:38:25.
setobject.h File 1997 bytes June 03 2025 18:38:25.
sysmodule.h File 489 bytes June 03 2025 18:38:25.
traceback.h File 444 bytes June 03 2025 18:38:25.
tupleobject.h File 1513 bytes June 03 2025 18:38:25.
unicodeobject.h File 42739 bytes June 03 2025 18:38:25.
warnings.h File 560 bytes June 03 2025 18:38:25.
weakrefobject.h File 2103 bytes June 03 2025 18:38:25.

Reading File: //opt/alt/python311/include//python3.11///cpython//objimpl.h

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

#define _PyObject_SIZE(typeobj) ( (typeobj)->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

#define _PyObject_VAR_SIZE(typeobj, nitems)     \
    _Py_SIZE_ROUND_UP((typeobj)->tp_basicsize + \
        (nitems)*(typeobj)->tp_itemsize,        \
        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);


/* Code built with Py_BUILD_CORE must include pycore_gc.h instead which
   defines a different _PyGC_FINALIZED() macro. */
#ifndef Py_BUILD_CORE
   // Kept for backward compatibility with Python 3.8
#  define _PyGC_FINALIZED(o) PyObject_GC_IsFinalized(o)
#endif


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

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

SILENT KILLER Tool