Index: third_party/cython/src/Cython/Includes/cpython/bytes.pxd |
diff --git a/third_party/cython/src/Cython/Includes/cpython/bytes.pxd b/third_party/cython/src/Cython/Includes/cpython/bytes.pxd |
new file mode 100644 |
index 0000000000000000000000000000000000000000..2fb350201539f5761b4276003c443daa741a7f28 |
--- /dev/null |
+++ b/third_party/cython/src/Cython/Includes/cpython/bytes.pxd |
@@ -0,0 +1,198 @@ |
+from cpython.ref cimport PyObject |
+ |
+cdef extern from "Python.h": |
+ ctypedef struct va_list |
+ |
+ ############################################################################ |
+ # 7.3.1 String Objects |
+ ############################################################################ |
+ |
+ # These functions raise TypeError when expecting a string |
+ # parameter and are called with a non-string parameter. |
+ # PyStringObject |
+ # This subtype of PyObject represents a Python bytes object. |
+ # PyTypeObject PyBytes_Type |
+ # This instance of PyTypeObject represents the Python bytes type; |
+ # it is the same object as bytes and types.BytesType in the Python |
+ # layer. |
+ |
+ bint PyBytes_Check(object o) |
+ # Return true if the object o is a string object or an instance of |
+ # a subtype of the string type. |
+ |
+ bint PyBytes_CheckExact(object o) |
+ # Return true if the object o is a string object, but not an instance of a subtype of the string type. |
+ |
+ bytes PyBytes_FromString(char *v) |
+ # Return value: New reference. |
+ # Return a new string object with the value v on success, and NULL |
+ # on failure. The parameter v must not be NULL; it will not be |
+ # checked. |
+ |
+ bytes PyBytes_FromStringAndSize(char *v, Py_ssize_t len) |
+ # Return value: New reference. |
+ # Return a new string object with the value v and length len on |
+ # success, and NULL on failure. If v is NULL, the contents of the |
+ # string are uninitialized. |
+ |
+ bytes PyBytes_FromFormat(char *format, ...) |
+ # Return value: New reference. |
+ # Take a C printf()-style format string and a variable number of |
+ # arguments, calculate the size of the resulting Python string and |
+ # return a string with the values formatted into it. The variable |
+ # arguments must be C types and must correspond exactly to the |
+ # format characters in the format string. The following format |
+ # characters are allowed: |
+ # Format Characters Type Comment |
+ # %% n/a The literal % character. |
+ # %c int A single character, represented as an C int. |
+ # %d int Exactly equivalent to printf("%d"). |
+ # %u unsigned int Exactly equivalent to printf("%u"). |
+ # %ld long Exactly equivalent to printf("%ld"). |
+ # %lu unsigned long Exactly equivalent to printf("%lu"). |
+ # %zd Py_ssize_t Exactly equivalent to printf("%zd"). |
+ # %zu size_t Exactly equivalent to printf("%zu"). |
+ # %i int Exactly equivalent to printf("%i"). |
+ # %x int Exactly equivalent to printf("%x"). |
+ # %s char* A null-terminated C character array. |
+ |
+ # %p void* The hex representation of a C pointer. |
+ # Mostly equivalent to printf("%p") except that it is guaranteed to |
+ # start with the literal 0x regardless of what the platform's printf |
+ # yields. |
+ # An unrecognized format character causes all the rest of the |
+ # format string to be copied as-is to the result string, and any |
+ # extra arguments discarded. |
+ |
+ bytes PyBytes_FromFormatV(char *format, va_list vargs) |
+ # Return value: New reference. |
+ # Identical to PyBytes_FromFormat() except that it takes exactly two arguments. |
+ |
+ Py_ssize_t PyBytes_Size(object string) except -1 |
+ # Return the length of the string in string object string. |
+ |
+ Py_ssize_t PyBytes_GET_SIZE(object string) |
+ # Macro form of PyBytes_Size() but without error checking. |
+ |
+ char* PyBytes_AsString(object string) except NULL |
+ # Return a NUL-terminated representation of the contents of |
+ # string. The pointer refers to the internal buffer of string, not |
+ # a copy. The data must not be modified in any way, unless the |
+ # string was just created using PyBytes_FromStringAndSize(NULL, |
+ # size). It must not be deallocated. If string is a Unicode |
+ # object, this function computes the default encoding of string |
+ # and operates on that. If string is not a string object at all, |
+ # PyBytes_AsString() returns NULL and raises TypeError. |
+ |
+ char* PyBytes_AS_STRING(object string) |
+ # Macro form of PyBytes_AsString() but without error |
+ # checking. Only string objects are supported; no Unicode objects |
+ # should be passed. |
+ |
+ int PyBytes_AsStringAndSize(object obj, char **buffer, Py_ssize_t *length) except -1 |
+ # Return a NULL-terminated representation of the contents of the |
+ # object obj through the output variables buffer and length. |
+ # |
+ # The function accepts both string and Unicode objects as |
+ # input. For Unicode objects it returns the default encoded |
+ # version of the object. If length is NULL, the resulting buffer |
+ # may not contain NUL characters; if it does, the function returns |
+ # -1 and a TypeError is raised. |
+ |
+ # The buffer refers to an internal string buffer of obj, not a |
+ # copy. The data must not be modified in any way, unless the |
+ # string was just created using PyBytes_FromStringAndSize(NULL, |
+ # size). It must not be deallocated. If string is a Unicode |
+ # object, this function computes the default encoding of string |
+ # and operates on that. If string is not a string object at all, |
+ # PyBytes_AsStringAndSize() returns -1 and raises TypeError. |
+ |
+ void PyBytes_Concat(PyObject **string, object newpart) |
+ # Create a new string object in *string containing the contents of |
+ # newpart appended to string; the caller will own the new |
+ # reference. The reference to the old value of string will be |
+ # stolen. If the new string cannot be created, the old reference |
+ # to string will still be discarded and the value of *string will |
+ # be set to NULL; the appropriate exception will be set. |
+ |
+ void PyBytes_ConcatAndDel(PyObject **string, object newpart) |
+ # Create a new string object in *string containing the contents of |
+ # newpart appended to string. This version decrements the |
+ # reference count of newpart. |
+ |
+ int _PyBytes_Resize(PyObject **string, Py_ssize_t newsize) except -1 |
+ # A way to resize a string object even though it is |
+ # ``immutable''. Only use this to build up a brand new string |
+ # object; don't use this if the string may already be known in |
+ # other parts of the code. It is an error to call this function if |
+ # the refcount on the input string object is not one. Pass the |
+ # address of an existing string object as an lvalue (it may be |
+ # written into), and the new size desired. On success, *string |
+ # holds the resized string object and 0 is returned; the address |
+ # in *string may differ from its input value. If the reallocation |
+ # fails, the original string object at *string is deallocated, |
+ # *string is set to NULL, a memory exception is set, and -1 is |
+ # returned. |
+ |
+ bytes PyBytes_Format(object format, object args) |
+ # Return value: New reference. Return a new string object from |
+ # format and args. Analogous to format % args. The args argument |
+ # must be a tuple. |
+ |
+ void PyBytes_InternInPlace(PyObject **string) |
+ # Intern the argument *string in place. The argument must be the |
+ # address of a pointer variable pointing to a Python string |
+ # object. If there is an existing interned string that is the same |
+ # as *string, it sets *string to it (decrementing the reference |
+ # count of the old string object and incrementing the reference |
+ # count of the interned string object), otherwise it leaves |
+ # *string alone and interns it (incrementing its reference |
+ # count). (Clarification: even though there is a lot of talk about |
+ # reference counts, think of this function as |
+ # reference-count-neutral; you own the object after the call if |
+ # and only if you owned it before the call.) |
+ |
+ bytes PyBytes_InternFromString(char *v) |
+ # Return value: New reference. |
+ # A combination of PyBytes_FromString() and |
+ # PyBytes_InternInPlace(), returning either a new string object |
+ # that has been interned, or a new (``owned'') reference to an |
+ # earlier interned string object with the same value. |
+ |
+ object PyBytes_Decode(char *s, Py_ssize_t size, char *encoding, char *errors) |
+ # Return value: New reference. |
+ # Create an object by decoding size bytes of the encoded buffer s |
+ # using the codec registered for encoding. encoding and errors |
+ # have the same meaning as the parameters of the same name in the |
+ # unicode() built-in function. The codec to be used is looked up |
+ # using the Python codec registry. Return NULL if an exception was |
+ # raised by the codec. |
+ |
+ object PyBytes_AsDecodedObject(object str, char *encoding, char *errors) |
+ # Return value: New reference. |
+ # Decode a string object by passing it to the codec registered for |
+ # encoding and return the result as Python object. encoding and |
+ # errors have the same meaning as the parameters of the same name |
+ # in the string encode() method. The codec to be used is looked up |
+ # using the Python codec registry. Return NULL if an exception was |
+ # raised by the codec. |
+ |
+ object PyBytes_Encode(char *s, Py_ssize_t size, char *encoding, char *errors) |
+ # Return value: New reference. |
+ # Encode the char buffer of the given size by passing it to the |
+ # codec registered for encoding and return a Python |
+ # object. encoding and errors have the same meaning as the |
+ # parameters of the same name in the string encode() method. The |
+ # codec to be used is looked up using the Python codec |
+ # registry. Return NULL if an exception was raised by the codec. |
+ |
+ object PyBytes_AsEncodedObject(object str, char *encoding, char *errors) |
+ # Return value: New reference. |
+ # Encode a string object using the codec registered for encoding |
+ # and return the result as Python object. encoding and errors have |
+ # the same meaning as the parameters of the same name in the |
+ # string encode() method. The codec to be used is looked up using |
+ # the Python codec registry. Return NULL if an exception was |
+ # raised by the codec. |
+ |
+ |