404

[ Avaa Bypassed ]




Upload:

Command:

elspacio@3.128.79.117: ~ $
/* Bytes (String) object interface */

#ifndef Py_BYTESOBJECT_H
#define Py_BYTESOBJECT_H
#ifdef __cplusplus
extern "C" {
#endif

#include <stdarg.h>

/*
Type PyBytesObject represents a character string.  An extra zero byte is
reserved at the end to ensure it is zero-terminated, but a size is
present so strings with null bytes in them can be represented.  This
is an immutable object type.

There are functions to create new string objects, to test
an object for string-ness, and to get the
string value.  The latter function returns a null pointer
if the object is not of the proper type.
There is a variant that takes an explicit size as well as a
variant that assumes a zero-terminated string.  Note that none of the
functions should be applied to nil objects.
*/

/* Caching the hash (ob_shash) saves recalculation of a string's hash value.
   This significantly speeds up dict lookups. */

#ifndef Py_LIMITED_API
typedef struct {
    PyObject_VAR_HEAD
    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 string or -1 if not computed yet.
     */
} PyBytesObject;
#endif

PyAPI_DATA(PyTypeObject) PyBytes_Type;
PyAPI_DATA(PyTypeObject) PyBytesIter_Type;

#define PyBytes_Check(op) \
                 PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_BYTES_SUBCLASS)
#define PyBytes_CheckExact(op) (Py_TYPE(op) == &PyBytes_Type)

PyAPI_FUNC(PyObject *) PyBytes_FromStringAndSize(const char *, Py_ssize_t);
PyAPI_FUNC(PyObject *) PyBytes_FromString(const char *);
PyAPI_FUNC(PyObject *) PyBytes_FromObject(PyObject *);
PyAPI_FUNC(PyObject *) PyBytes_FromFormatV(const char*, va_list)
				Py_GCC_ATTRIBUTE((format(printf, 1, 0)));
PyAPI_FUNC(PyObject *) PyBytes_FromFormat(const char*, ...)
				Py_GCC_ATTRIBUTE((format(printf, 1, 2)));
PyAPI_FUNC(Py_ssize_t) PyBytes_Size(PyObject *);
PyAPI_FUNC(char *) PyBytes_AsString(PyObject *);
PyAPI_FUNC(PyObject *) PyBytes_Repr(PyObject *, int);
PyAPI_FUNC(void) PyBytes_Concat(PyObject **, PyObject *);
PyAPI_FUNC(void) PyBytes_ConcatAndDel(PyObject **, PyObject *);
#ifndef Py_LIMITED_API
PyAPI_FUNC(int) _PyBytes_Resize(PyObject **, Py_ssize_t);
#endif
PyAPI_FUNC(PyObject *) PyBytes_DecodeEscape(const char *, Py_ssize_t,
						   const char *, Py_ssize_t,
						   const char *);

/* Macro, trading safety for speed */
#ifndef Py_LIMITED_API
#define PyBytes_AS_STRING(op) (assert(PyBytes_Check(op)), \
                                (((PyBytesObject *)(op))->ob_sval))
#define PyBytes_GET_SIZE(op)  (assert(PyBytes_Check(op)),Py_SIZE(op))
#endif

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

/* Provides access to the internal data buffer and size of a string
   object or the default encoded version of an Unicode object. Passing
   NULL as *len parameter will force the string buffer to be
   0-terminated (passing a string with embedded NULL characters will
   cause an exception).  */
PyAPI_FUNC(int) PyBytes_AsStringAndSize(
    register PyObject *obj,	/* string or Unicode object */
    register char **s,		/* pointer to buffer variable */
    register Py_ssize_t *len	/* pointer to length variable or NULL
				   (only possible for 0-terminated
				   strings) */
    );

/* Using the current locale, insert the thousands grouping
   into the string pointed to by buffer.  For the argument descriptions,
   see Objects/stringlib/localeutil.h */
#ifndef Py_LIMITED_API
PyAPI_FUNC(Py_ssize_t) _PyBytes_InsertThousandsGroupingLocale(char *buffer,
                                                   Py_ssize_t n_buffer,
                                                   char *digits,
                                                   Py_ssize_t n_digits,
                                                   Py_ssize_t min_width);

/* Using explicit passed-in values, insert the thousands grouping
   into the string pointed to by buffer.  For the argument descriptions,
   see Objects/stringlib/localeutil.h */
PyAPI_FUNC(Py_ssize_t) _PyBytes_InsertThousandsGrouping(char *buffer,
                                                   Py_ssize_t n_buffer,
                                                   char *digits,
                                                   Py_ssize_t n_digits,
                                                   Py_ssize_t min_width,
                                                   const char *grouping,
                                                   const char *thousands_sep);
#endif

/* Flags used by string formatting */
#define F_LJUST (1<<0)
#define F_SIGN	(1<<1)
#define F_BLANK (1<<2)
#define F_ALT	(1<<3)
#define F_ZERO	(1<<4)

#ifdef __cplusplus
}
#endif
#endif /* !Py_BYTESOBJECT_H */

Filemanager

Name Type Size Permission Actions
Python-ast.h File 18.87 KB 0644
Python.h File 2.77 KB 0644
abstract.h File 41.61 KB 0644
accu.h File 1016 B 0644
asdl.h File 1.07 KB 0644
ast.h File 344 B 0644
bitset.h File 792 B 0644
bltinmodule.h File 264 B 0644
boolobject.h File 886 B 0644
bytearrayobject.h File 1.95 KB 0644
bytes_methods.h File 1.98 KB 0644
bytesobject.h File 4.78 KB 0644
cellobject.h File 701 B 0644
ceval.h File 7.03 KB 0644
classobject.h File 1.63 KB 0644
code.h File 4.13 KB 0644
codecs.h File 6.33 KB 0644
compile.h File 1.62 KB 0644
complexobject.h File 1.91 KB 0644
datetime.h File 8.34 KB 0644
descrobject.h File 2.84 KB 0644
dictobject.h File 4.86 KB 0644
dtoa.h File 458 B 0644
dynamic_annotations.h File 21.94 KB 0644
enumobject.h File 253 B 0644
errcode.h File 1.46 KB 0644
eval.h File 597 B 0644
fileobject.h File 1.73 KB 0644
fileutils.h File 1.06 KB 0644
floatobject.h File 4.53 KB 0644
frameobject.h File 3.29 KB 0644
funcobject.h File 3.68 KB 0644
genobject.h File 1.05 KB 0644
graminit.h File 1.83 KB 0644
grammar.h File 1.97 KB 0644
import.h File 3.79 KB 0644
intrcheck.h File 460 B 0644
iterobject.h File 567 B 0644
listobject.h File 2.77 KB 0644
longintrepr.h File 3.9 KB 0644
longobject.h File 7.55 KB 0644
marshal.h File 743 B 0644
memoryobject.h File 2.8 KB 0644
metagrammar.h File 253 B 0644
methodobject.h File 3.23 KB 0644
modsupport.h File 4.75 KB 0644
moduleobject.h File 1.53 KB 0644
namespaceobject.h File 297 B 0644
node.h File 996 B 0644
object.h File 37.09 KB 0644
objimpl.h File 13.08 KB 0644
opcode.h File 5.09 KB 0644
osdefs.h File 986 B 0644
parsetok.h File 2.23 KB 0644
patchlevel.h File 1.1 KB 0644
pgen.h File 253 B 0644
pgenheaders.h File 1.12 KB 0644
py_curses.h File 4.08 KB 0644
pyarena.h File 2.68 KB 0644
pyatomic.h File 5.8 KB 0644
pycapsule.h File 1.69 KB 0644
pyconfig-64.h File 41.43 KB 0644
pyconfig.h File 162 B 0644
pyctype.h File 1.29 KB 0644
pydebug.h File 986 B 0644
pyerrors.h File 14.34 KB 0644
pyexpat.h File 2.29 KB 0644
pyfpe.h File 8.29 KB 0644
pygetopt.h File 388 B 0644
pymacconfig.h File 2.92 KB 0644
pymacro.h File 2.62 KB 0644
pymath.h File 6.26 KB 0644
pymem.h File 4.59 KB 0644
pyport.h File 30.32 KB 0644
pystate.h File 7.58 KB 0644
pystrcmp.h File 436 B 0644
pystrtod.h File 1.25 KB 0644
pythonrun.h File 8.79 KB 0644
pythread.h File 2.96 KB 0644
pytime.h File 2.64 KB 0644
rangeobject.h File 629 B 0644
setobject.h File 3.21 KB 0644
sliceobject.h File 1.35 KB 0644
structmember.h File 2.02 KB 0644
structseq.h File 1.19 KB 0644
symtable.h File 4.58 KB 0644
sysmodule.h File 1.08 KB 0644
token.h File 1.84 KB 0644
traceback.h File 2.09 KB 0644
tupleobject.h File 2.39 KB 0644
typeslots.h File 1.95 KB 0644
ucnhash.h File 1.03 KB 0644
unicodeobject.h File 74.41 KB 0644
warnings.h File 953 B 0644
weakrefobject.h File 2.8 KB 0644