GRAYBYTE WORDPRESS FILE MANAGER8685

Server IP : 198.54.121.189 / Your IP : 216.73.216.140
System : Linux premium69.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
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /opt/alt/python310/include/python3.10/cpython/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /opt/alt/python310/include/python3.10/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. */

/* This function returns the number of allocated memory blocks, regardless of size */
PyAPI_FUNC(Py_ssize_t) _Py_GetAllocatedBlocks(void);

/* Macros */
#ifdef WITH_PYMALLOC
PyAPI_FUNC(int) _PyObject_DebugMallocStats(FILE *out);
#endif


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

PyAPI_FUNC(PyObject *) _PyObject_GC_Malloc(size_t size);
PyAPI_FUNC(PyObject *) _PyObject_GC_Calloc(size_t size);


/* Test if a type supports weak references */
#define PyType_SUPPORTS_WEAKREFS(t) ((t)->tp_weaklistoffset > 0)

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

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
May 13 2025 08:38:35
root / linksafe
0755
abstract.h
13.725 KB
April 08 2025 12:10:59
root / linksafe
0644
bytearrayobject.h
0.751 KB
April 08 2025 12:10:59
root / linksafe
0644
bytesobject.h
4.022 KB
April 08 2025 12:10:59
root / linksafe
0644
ceval.h
1.434 KB
April 08 2025 12:10:59
root / linksafe
0644
code.h
7.393 KB
April 08 2025 12:10:59
root / linksafe
0644
compile.h
2.166 KB
April 08 2025 12:10:59
root / linksafe
0644
dictobject.h
3.646 KB
April 08 2025 12:10:59
root / linksafe
0644
fileobject.h
0.706 KB
April 08 2025 12:10:59
root / linksafe
0644
fileutils.h
4.167 KB
April 08 2025 12:10:59
root / linksafe
0644
frameobject.h
3.078 KB
April 08 2025 12:10:59
root / linksafe
0644
import.h
1.592 KB
April 08 2025 12:10:59
root / linksafe
0644
initconfig.h
7.419 KB
April 08 2025 12:10:59
root / linksafe
0644
interpreteridobject.h
0.378 KB
April 08 2025 12:10:59
root / linksafe
0644
listobject.h
1.214 KB
April 08 2025 12:10:59
root / linksafe
0644
methodobject.h
1.366 KB
April 08 2025 12:10:59
root / linksafe
0644
object.h
19.153 KB
April 08 2025 12:10:59
root / linksafe
0644
objimpl.h
3.277 KB
April 08 2025 12:10:59
root / linksafe
0644
odictobject.h
1.269 KB
April 08 2025 12:10:59
root / linksafe
0644
picklebufobject.h
0.826 KB
April 08 2025 12:10:59
root / linksafe
0644
pyctype.h
1.354 KB
April 08 2025 12:10:59
root / linksafe
0644
pydebug.h
1.067 KB
April 08 2025 12:10:59
root / linksafe
0644
pyerrors.h
5.348 KB
April 08 2025 12:10:59
root / linksafe
0644
pyfpe.h
0.434 KB
April 08 2025 12:10:59
root / linksafe
0644
pylifecycle.h
2.046 KB
April 08 2025 12:10:59
root / linksafe
0644
pymem.h
3.3 KB
April 08 2025 12:10:59
root / linksafe
0644
pystate.h
11.635 KB
April 08 2025 12:10:59
root / linksafe
0644
pythonrun.h
4.698 KB
April 08 2025 12:10:59
root / linksafe
0644
pytime.h
8.98 KB
April 08 2025 12:10:59
root / linksafe
0644
sysmodule.h
0.494 KB
April 08 2025 12:10:59
root / linksafe
0644
traceback.h
0.395 KB
April 08 2025 12:10:59
root / linksafe
0644
tupleobject.h
0.952 KB
April 08 2025 12:10:59
root / linksafe
0644
unicodeobject.h
43.246 KB
April 08 2025 12:10:59
root / linksafe
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF