404

[ Avaa Bypassed ]




Upload:

Command:

elspacio@18.117.9.215: ~ $
#ifndef Py_CPYTHON_PYMEM_H
#  error "this header file must not be included directly"
#endif

PyAPI_FUNC(void *) PyMem_RawMalloc(size_t size);
PyAPI_FUNC(void *) PyMem_RawCalloc(size_t nelem, size_t elsize);
PyAPI_FUNC(void *) PyMem_RawRealloc(void *ptr, size_t new_size);
PyAPI_FUNC(void) PyMem_RawFree(void *ptr);

/* Try to get the allocators name set by _PyMem_SetupAllocators(). */
PyAPI_FUNC(const char*) _PyMem_GetCurrentAllocatorName(void);

/* strdup() using PyMem_RawMalloc() */
PyAPI_FUNC(char *) _PyMem_RawStrdup(const char *str);

/* strdup() using PyMem_Malloc() */
PyAPI_FUNC(char *) _PyMem_Strdup(const char *str);

/* wcsdup() using PyMem_RawMalloc() */
PyAPI_FUNC(wchar_t*) _PyMem_RawWcsdup(const wchar_t *str);


typedef enum {
    /* PyMem_RawMalloc(), PyMem_RawRealloc() and PyMem_RawFree() */
    PYMEM_DOMAIN_RAW,

    /* PyMem_Malloc(), PyMem_Realloc() and PyMem_Free() */
    PYMEM_DOMAIN_MEM,

    /* PyObject_Malloc(), PyObject_Realloc() and PyObject_Free() */
    PYMEM_DOMAIN_OBJ
} PyMemAllocatorDomain;

typedef enum {
    PYMEM_ALLOCATOR_NOT_SET = 0,
    PYMEM_ALLOCATOR_DEFAULT = 1,
    PYMEM_ALLOCATOR_DEBUG = 2,
    PYMEM_ALLOCATOR_MALLOC = 3,
    PYMEM_ALLOCATOR_MALLOC_DEBUG = 4,
#ifdef WITH_PYMALLOC
    PYMEM_ALLOCATOR_PYMALLOC = 5,
    PYMEM_ALLOCATOR_PYMALLOC_DEBUG = 6,
#endif
} PyMemAllocatorName;


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

    /* allocate a memory block */
    void* (*malloc) (void *ctx, size_t size);

    /* allocate a memory block initialized by zeros */
    void* (*calloc) (void *ctx, size_t nelem, size_t elsize);

    /* allocate or resize a memory block */
    void* (*realloc) (void *ctx, void *ptr, size_t new_size);

    /* release a memory block */
    void (*free) (void *ctx, void *ptr);
} PyMemAllocatorEx;

/* Get the memory block allocator of the specified domain. */
PyAPI_FUNC(void) PyMem_GetAllocator(PyMemAllocatorDomain domain,
                                    PyMemAllocatorEx *allocator);

/* Set the memory block allocator of the specified domain.

   The new allocator must return a distinct non-NULL pointer when requesting
   zero bytes.

   For the PYMEM_DOMAIN_RAW domain, the allocator must be thread-safe: the GIL
   is not held when the allocator is called.

   If the new allocator is not a hook (don't call the previous allocator), the
   PyMem_SetupDebugHooks() function must be called to reinstall the debug hooks
   on top on the new allocator. */
PyAPI_FUNC(void) PyMem_SetAllocator(PyMemAllocatorDomain domain,
                                    PyMemAllocatorEx *allocator);

/* Setup hooks to detect bugs in the following Python memory allocator
   functions:

   - PyMem_RawMalloc(), PyMem_RawRealloc(), PyMem_RawFree()
   - PyMem_Malloc(), PyMem_Realloc(), PyMem_Free()
   - PyObject_Malloc(), PyObject_Realloc() and PyObject_Free()

   Newly allocated memory is filled with the byte 0xCB, freed memory is filled
   with the byte 0xDB. Additional checks:

   - detect API violations, ex: PyObject_Free() called on a buffer allocated
     by PyMem_Malloc()
   - detect write before the start of the buffer (buffer underflow)
   - detect write after the end of the buffer (buffer overflow)

   The function does nothing if Python is not compiled is debug mode. */
PyAPI_FUNC(void) PyMem_SetupDebugHooks(void);

Filemanager

Name Type Size Permission Actions
abstract.h File 8.04 KB 0644
bytearrayobject.h File 1.27 KB 0644
bytesobject.h File 4.46 KB 0644
cellobject.h File 723 B 0644
ceval.h File 1.21 KB 0644
classobject.h File 1.62 KB 0644
code.h File 11.21 KB 0644
compile.h File 2.17 KB 0644
complexobject.h File 1.22 KB 0644
context.h File 1.91 KB 0644
descrobject.h File 1.6 KB 0644
dictobject.h File 3.25 KB 0644
fileobject.h File 818 B 0644
fileutils.h File 232 B 0644
floatobject.h File 702 B 0644
frameobject.h File 1.08 KB 0644
funcobject.h File 4.32 KB 0644
genobject.h File 3.2 KB 0644
import.h File 1.49 KB 0644
initconfig.h File 7.63 KB 0644
listobject.h File 1.73 KB 0644
longintrepr.h File 3.73 KB 0644
longobject.h File 4.43 KB 0644
methodobject.h File 2.5 KB 0644
modsupport.h File 4.2 KB 0644
object.h File 17.88 KB 0644
objimpl.h File 2.93 KB 0644
odictobject.h File 1.27 KB 0644
picklebufobject.h File 846 B 0644
pthread_stubs.h File 3.42 KB 0644
pyctype.h File 1.35 KB 0644
pydebug.h File 1.05 KB 0644
pyerrors.h File 4.42 KB 0644
pyfpe.h File 444 B 0644
pyframe.h File 582 B 0644
pylifecycle.h File 2.05 KB 0644
pymem.h File 3.3 KB 0644
pystate.h File 14.01 KB 0644
pythonrun.h File 4.7 KB 0644
pythread.h File 1.39 KB 0644
pytime.h File 11.87 KB 0644
setobject.h File 1.95 KB 0644
sysmodule.h File 489 B 0644
traceback.h File 444 B 0644
tupleobject.h File 1.48 KB 0644
unicodeobject.h File 40.93 KB 0644
warnings.h File 560 B 0644
weakrefobject.h File 2.05 KB 0644