Commit 29fafd87 authored by Martin v. Löwis's avatar Martin v. Löwis

Make documentation match the implementation.

parent 67d70eb9
...@@ -16,7 +16,7 @@ for which they do not apply, they will raise a Python exception. ...@@ -16,7 +16,7 @@ for which they do not apply, they will raise a Python exception.
object is written instead of the \function{repr()}. object is written instead of the \function{repr()}.
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{int}{PyObject_HasAttrString}{PyObject *o, char *attr_name} \begin{cfuncdesc}{int}{PyObject_HasAttrString}{PyObject *o, const char *attr_name}
Returns \code{1} if \var{o} has the attribute \var{attr_name}, and Returns \code{1} if \var{o} has the attribute \var{attr_name}, and
\code{0} otherwise. This is equivalent to the Python expression \code{0} otherwise. This is equivalent to the Python expression
\samp{hasattr(\var{o}, \var{attr_name})}. This function always \samp{hasattr(\var{o}, \var{attr_name})}. This function always
...@@ -24,7 +24,7 @@ for which they do not apply, they will raise a Python exception. ...@@ -24,7 +24,7 @@ for which they do not apply, they will raise a Python exception.
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{PyObject*}{PyObject_GetAttrString}{PyObject *o, \begin{cfuncdesc}{PyObject*}{PyObject_GetAttrString}{PyObject *o,
char *attr_name} const char *attr_name}
Retrieve an attribute named \var{attr_name} from object \var{o}. Retrieve an attribute named \var{attr_name} from object \var{o}.
Returns the attribute value on success, or \NULL{} on failure. Returns the attribute value on success, or \NULL{} on failure.
This is the equivalent of the Python expression This is the equivalent of the Python expression
...@@ -50,7 +50,7 @@ for which they do not apply, they will raise a Python exception. ...@@ -50,7 +50,7 @@ for which they do not apply, they will raise a Python exception.
\begin{cfuncdesc}{int}{PyObject_SetAttrString}{PyObject *o, \begin{cfuncdesc}{int}{PyObject_SetAttrString}{PyObject *o,
char *attr_name, PyObject *v} const char *attr_name, PyObject *v}
Set the value of the attribute named \var{attr_name}, for object Set the value of the attribute named \var{attr_name}, for object
\var{o}, to the value \var{v}. Returns \code{-1} on failure. This \var{o}, to the value \var{v}. Returns \code{-1} on failure. This
is the equivalent of the Python statement is the equivalent of the Python statement
...@@ -67,7 +67,7 @@ for which they do not apply, they will raise a Python exception. ...@@ -67,7 +67,7 @@ for which they do not apply, they will raise a Python exception.
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{int}{PyObject_DelAttrString}{PyObject *o, char *attr_name} \begin{cfuncdesc}{int}{PyObject_DelAttrString}{PyObject *o, const char *attr_name}
Delete attribute named \var{attr_name}, for object \var{o}. Returns Delete attribute named \var{attr_name}, for object \var{o}. Returns
\code{-1} on failure. This is the equivalent of the Python \code{-1} on failure. This is the equivalent of the Python
statement: \samp{del \var{o}.\var{attr_name}}. statement: \samp{del \var{o}.\var{attr_name}}.
...@@ -301,7 +301,7 @@ determination. ...@@ -301,7 +301,7 @@ determination.
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{int}{PyObject_Hash}{PyObject *o} \begin{cfuncdesc}{long}{PyObject_Hash}{PyObject *o}
Compute and return the hash value of an object \var{o}. On failure, Compute and return the hash value of an object \var{o}. On failure,
return \code{-1}. This is the equivalent of the Python expression return \code{-1}. This is the equivalent of the Python expression
\samp{hash(\var{o})}.\bifuncindex{hash} \samp{hash(\var{o})}.\bifuncindex{hash}
...@@ -340,8 +340,8 @@ determination. ...@@ -340,8 +340,8 @@ determination.
\versionadded{2.2} \versionadded{2.2}
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{int}{PyObject_Length}{PyObject *o} \begin{cfuncdesc}{Py_ssize_t}{PyObject_Length}{PyObject *o}
\cfuncline{int}{PyObject_Size}{PyObject *o} \cfuncline{Py_ssize_t}{PyObject_Size}{PyObject *o}
Return the length of object \var{o}. If the object \var{o} provides Return the length of object \var{o}. If the object \var{o} provides
either the sequence and mapping protocols, the sequence length is either the sequence and mapping protocols, the sequence length is
returned. On error, \code{-1} is returned. This is the equivalent returned. On error, \code{-1} is returned. This is the equivalent
...@@ -697,14 +697,14 @@ determination. ...@@ -697,14 +697,14 @@ determination.
\code{0} otherwise. This function always succeeds. \code{0} otherwise. This function always succeeds.
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{int}{PySequence_Size}{PyObject *o} \begin{cfuncdesc}{Py_ssize_t}{PySequence_Size}{PyObject *o}
Returns the number of objects in sequence \var{o} on success, and Returns the number of objects in sequence \var{o} on success, and
\code{-1} on failure. For objects that do not provide sequence \code{-1} on failure. For objects that do not provide sequence
protocol, this is equivalent to the Python expression protocol, this is equivalent to the Python expression
\samp{len(\var{o})}.\bifuncindex{len} \samp{len(\var{o})}.\bifuncindex{len}
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{int}{PySequence_Length}{PyObject *o} \begin{cfuncdesc}{Py_ssize_t}{PySequence_Length}{PyObject *o}
Alternate name for \cfunction{PySequence_Size()}. Alternate name for \cfunction{PySequence_Size()}.
\end{cfuncdesc} \end{cfuncdesc}
...@@ -715,7 +715,7 @@ determination. ...@@ -715,7 +715,7 @@ determination.
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{PyObject*}{PySequence_Repeat}{PyObject *o, int count} \begin{cfuncdesc}{PyObject*}{PySequence_Repeat}{PyObject *o, Py_ssize_t count}
Return the result of repeating sequence object \var{o} \var{count} Return the result of repeating sequence object \var{o} \var{count}
times, or \NULL{} on failure. This is the equivalent of the Python times, or \NULL{} on failure. This is the equivalent of the Python
expression \samp{\var{o} * \var{count}}. expression \samp{\var{o} * \var{count}}.
...@@ -730,7 +730,7 @@ determination. ...@@ -730,7 +730,7 @@ determination.
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{PyObject*}{PySequence_InPlaceRepeat}{PyObject *o, int count} \begin{cfuncdesc}{PyObject*}{PySequence_InPlaceRepeat}{PyObject *o, Py_ssize_t count}
Return the result of repeating sequence object \var{o} \var{count} Return the result of repeating sequence object \var{o} \var{count}
times, or \NULL{} on failure. The operation is done \emph{in-place} times, or \NULL{} on failure. The operation is done \emph{in-place}
when \var{o} supports it. This is the equivalent of the Python when \var{o} supports it. This is the equivalent of the Python
...@@ -738,41 +738,41 @@ determination. ...@@ -738,41 +738,41 @@ determination.
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{PyObject*}{PySequence_GetItem}{PyObject *o, int i} \begin{cfuncdesc}{PyObject*}{PySequence_GetItem}{PyObject *o, Py_ssize_t i}
Return the \var{i}th element of \var{o}, or \NULL{} on failure. Return the \var{i}th element of \var{o}, or \NULL{} on failure.
This is the equivalent of the Python expression This is the equivalent of the Python expression
\samp{\var{o}[\var{i}]}. \samp{\var{o}[\var{i}]}.
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{PyObject*}{PySequence_GetSlice}{PyObject *o, int i1, int i2} \begin{cfuncdesc}{PyObject*}{PySequence_GetSlice}{PyObject *o, Py_ssize_t i1, Py_ssize_t i2}
Return the slice of sequence object \var{o} between \var{i1} and Return the slice of sequence object \var{o} between \var{i1} and
\var{i2}, or \NULL{} on failure. This is the equivalent of the \var{i2}, or \NULL{} on failure. This is the equivalent of the
Python expression \samp{\var{o}[\var{i1}:\var{i2}]}. Python expression \samp{\var{o}[\var{i1}:\var{i2}]}.
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{int}{PySequence_SetItem}{PyObject *o, int i, PyObject *v} \begin{cfuncdesc}{int}{PySequence_SetItem}{PyObject *o, Py_ssize_t i, PyObject *v}
Assign object \var{v} to the \var{i}th element of \var{o}. Returns Assign object \var{v} to the \var{i}th element of \var{o}. Returns
\code{-1} on failure. This is the equivalent of the Python \code{-1} on failure. This is the equivalent of the Python
statement \samp{\var{o}[\var{i}] = \var{v}}. This function \emph{does not} statement \samp{\var{o}[\var{i}] = \var{v}}. This function \emph{does not}
steal a reference to \var{v}. steal a reference to \var{v}.
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{int}{PySequence_DelItem}{PyObject *o, int i} \begin{cfuncdesc}{int}{PySequence_DelItem}{PyObject *o, Py_ssize_t i}
Delete the \var{i}th element of object \var{o}. Returns \code{-1} Delete the \var{i}th element of object \var{o}. Returns \code{-1}
on failure. This is the equivalent of the Python statement on failure. This is the equivalent of the Python statement
\samp{del \var{o}[\var{i}]}. \samp{del \var{o}[\var{i}]}.
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{int}{PySequence_SetSlice}{PyObject *o, int i1, \begin{cfuncdesc}{int}{PySequence_SetSlice}{PyObject *o, Py_ssize_t i1,
int i2, PyObject *v} Py_ssize_t i2, PyObject *v}
Assign the sequence object \var{v} to the slice in sequence object Assign the sequence object \var{v} to the slice in sequence object
\var{o} from \var{i1} to \var{i2}. This is the equivalent of the \var{o} from \var{i1} to \var{i2}. This is the equivalent of the
Python statement \samp{\var{o}[\var{i1}:\var{i2}] = \var{v}}. Python statement \samp{\var{o}[\var{i1}:\var{i2}] = \var{v}}.
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{int}{PySequence_DelSlice}{PyObject *o, int i1, int i2} \begin{cfuncdesc}{int}{PySequence_DelSlice}{PyObject *o, Py_ssize_t i1, Py_ssize_t i2}
Delete the slice in sequence object \var{o} from \var{i1} to Delete the slice in sequence object \var{o} from \var{i1} to
\var{i2}. Returns \code{-1} on failure. This is the equivalent of \var{i2}. Returns \code{-1} on failure. This is the equivalent of
the Python statement \samp{del \var{o}[\var{i1}:\var{i2}]}. the Python statement \samp{del \var{o}[\var{i1}:\var{i2}]}.
...@@ -821,7 +821,7 @@ determination. ...@@ -821,7 +821,7 @@ determination.
text. text.
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{PyObject*}{PySequence_Fast_GET_ITEM}{PyObject *o, int i} \begin{cfuncdesc}{PyObject*}{PySequence_Fast_GET_ITEM}{PyObject *o, Py_ssize_t i}
Return the \var{i}th element of \var{o}, assuming that \var{o} was Return the \var{i}th element of \var{o}, assuming that \var{o} was
returned by \cfunction{PySequence_Fast()}, \var{o} is not \NULL, returned by \cfunction{PySequence_Fast()}, \var{o} is not \NULL,
and that \var{i} is within bounds. and that \var{i} is within bounds.
...@@ -834,7 +834,7 @@ determination. ...@@ -834,7 +834,7 @@ determination.
\versionadded{2.4} \versionadded{2.4}
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{PyObject*}{PySequence_ITEM}{PyObject *o, int i} \begin{cfuncdesc}{PyObject*}{PySequence_ITEM}{PyObject *o, Py_ssize_t i}
Return the \var{i}th element of \var{o} or \NULL{} on failure. Return the \var{i}th element of \var{o} or \NULL{} on failure.
Macro form of \cfunction{PySequence_GetItem()} but without checking Macro form of \cfunction{PySequence_GetItem()} but without checking
that \cfunction{PySequence_Check(\var{o})} is true and without that \cfunction{PySequence_Check(\var{o})} is true and without
...@@ -860,7 +860,7 @@ determination. ...@@ -860,7 +860,7 @@ determination.
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{int}{PyMapping_Length}{PyObject *o} \begin{cfuncdesc}{Py_ssize_t}{PyMapping_Length}{PyObject *o}
Returns the number of keys in object \var{o} on success, and Returns the number of keys in object \var{o} on success, and
\code{-1} on failure. For objects that do not provide mapping \code{-1} on failure. For objects that do not provide mapping
protocol, this is equivalent to the Python expression protocol, this is equivalent to the Python expression
...@@ -986,7 +986,7 @@ else { ...@@ -986,7 +986,7 @@ else {
\begin{cfuncdesc}{int}{PyObject_AsCharBuffer}{PyObject *obj, \begin{cfuncdesc}{int}{PyObject_AsCharBuffer}{PyObject *obj,
const char **buffer, const char **buffer,
int *buffer_len} Py_ssize_t *buffer_len}
Returns a pointer to a read-only memory location useable as character- Returns a pointer to a read-only memory location useable as character-
based input. The \var{obj} argument must support the single-segment based input. The \var{obj} argument must support the single-segment
character buffer interface. On success, returns \code{0}, sets character buffer interface. On success, returns \code{0}, sets
...@@ -997,7 +997,7 @@ else { ...@@ -997,7 +997,7 @@ else {
\begin{cfuncdesc}{int}{PyObject_AsReadBuffer}{PyObject *obj, \begin{cfuncdesc}{int}{PyObject_AsReadBuffer}{PyObject *obj,
const void **buffer, const void **buffer,
int *buffer_len} Py_ssize_t *buffer_len}
Returns a pointer to a read-only memory location containing Returns a pointer to a read-only memory location containing
arbitrary data. The \var{obj} argument must support the arbitrary data. The \var{obj} argument must support the
single-segment readable buffer interface. On success, returns single-segment readable buffer interface. On success, returns
...@@ -1015,7 +1015,7 @@ else { ...@@ -1015,7 +1015,7 @@ else {
\begin{cfuncdesc}{int}{PyObject_AsWriteBuffer}{PyObject *obj, \begin{cfuncdesc}{int}{PyObject_AsWriteBuffer}{PyObject *obj,
void **buffer, void **buffer,
int *buffer_len} Py_ssize_t *buffer_len}
Returns a pointer to a writeable memory location. The \var{obj} Returns a pointer to a writeable memory location. The \var{obj}
argument must support the single-segment, character buffer argument must support the single-segment, character buffer
interface. On success, returns \code{0}, sets \var{buffer} to the interface. On success, returns \code{0}, sets \var{buffer} to the
......
This diff is collapsed.
...@@ -113,7 +113,7 @@ for each thread. ...@@ -113,7 +113,7 @@ for each thread.
exception state.} exception state.}
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{void}{PyErr_SetString}{PyObject *type, char *message} \begin{cfuncdesc}{void}{PyErr_SetString}{PyObject *type, const char *message}
This is the most common way to set the error indicator. The first This is the most common way to set the error indicator. The first
argument specifies the exception type; it is normally one of the argument specifies the exception type; it is normally one of the
standard exceptions, e.g. \cdata{PyExc_RuntimeError}. You need not standard exceptions, e.g. \cdata{PyExc_RuntimeError}. You need not
...@@ -184,7 +184,7 @@ for each thread. ...@@ -184,7 +184,7 @@ for each thread.
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{PyObject*}{PyErr_SetFromErrnoWithFilename}{PyObject *type, \begin{cfuncdesc}{PyObject*}{PyErr_SetFromErrnoWithFilename}{PyObject *type,
char *filename} const char *filename}
Similar to \cfunction{PyErr_SetFromErrno()}, with the additional Similar to \cfunction{PyErr_SetFromErrno()}, with the additional
behavior that if \var{filename} is not \NULL, it is passed to the behavior that if \var{filename} is not \NULL, it is passed to the
constructor of \var{type} as a third parameter. In the case of constructor of \var{type} as a third parameter. In the case of
...@@ -217,7 +217,7 @@ for each thread. ...@@ -217,7 +217,7 @@ for each thread.
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{PyObject*}{PyErr_SetFromWindowsErrWithFilename}{int ierr, \begin{cfuncdesc}{PyObject*}{PyErr_SetFromWindowsErrWithFilename}{int ierr,
char *filename} const char *filename}
Similar to \cfunction{PyErr_SetFromWindowsErr()}, with the Similar to \cfunction{PyErr_SetFromWindowsErr()}, with the
additional behavior that if \var{filename} is not \NULL, it is additional behavior that if \var{filename} is not \NULL, it is
passed to the constructor of \exception{WindowsError} as a third passed to the constructor of \exception{WindowsError} as a third
...@@ -275,8 +275,9 @@ for each thread. ...@@ -275,8 +275,9 @@ for each thread.
command line documentation. There is no C API for warning control. command line documentation. There is no C API for warning control.
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{int}{PyErr_WarnExplicit}{PyObject *category, char *message, \begin{cfuncdesc}{int}{PyErr_WarnExplicit}{PyObject *category,
char *filename, int lineno, char *module, PyObject *registry} const char *message, const char *filename, int lineno,
const char *module, PyObject *registry}
Issue a warning message with explicit control over all warning Issue a warning message with explicit control over all warning
attributes. This is a straightforward wrapper around the Python attributes. This is a straightforward wrapper around the Python
function \function{warnings.warn_explicit()}, see there for more function \function{warnings.warn_explicit()}, see there for more
......
...@@ -331,7 +331,7 @@ ...@@ -331,7 +331,7 @@
\withsubitem{(in module sys)}{\ttindex{version}} \withsubitem{(in module sys)}{\ttindex{version}}
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{int}{PySys_SetArgv}{int argc, char **argv} \begin{cfuncdesc}{void}{PySys_SetArgv}{int argc, char **argv}
Set \code{sys.argv} based on \var{argc} and \var{argv}. These Set \code{sys.argv} based on \var{argc} and \var{argv}. These
parameters are similar to those passed to the program's parameters are similar to those passed to the program's
\cfunction{main()}\ttindex{main()} function with the difference that \cfunction{main()}\ttindex{main()} function with the difference that
......
...@@ -11,7 +11,7 @@ defining new object types. ...@@ -11,7 +11,7 @@ defining new object types.
\begin{cfuncdesc}{PyObject*}{_PyObject_New}{PyTypeObject *type} \begin{cfuncdesc}{PyObject*}{_PyObject_New}{PyTypeObject *type}
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{PyVarObject*}{_PyObject_NewVar}{PyTypeObject *type, int size} \begin{cfuncdesc}{PyVarObject*}{_PyObject_NewVar}{PyTypeObject *type, Py_ssize_t size}
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{void}{_PyObject_Del}{PyObject *op} \begin{cfuncdesc}{void}{_PyObject_Del}{PyObject *op}
...@@ -27,7 +27,7 @@ defining new object types. ...@@ -27,7 +27,7 @@ defining new object types.
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{PyVarObject*}{PyObject_InitVar}{PyVarObject *op, \begin{cfuncdesc}{PyVarObject*}{PyObject_InitVar}{PyVarObject *op,
PyTypeObject *type, int size} PyTypeObject *type, Py_ssize_t size}
This does everything \cfunction{PyObject_Init()} does, and also This does everything \cfunction{PyObject_Init()} does, and also
initializes the length information for a variable-size object. initializes the length information for a variable-size object.
\end{cfuncdesc} \end{cfuncdesc}
...@@ -42,7 +42,7 @@ defining new object types. ...@@ -42,7 +42,7 @@ defining new object types.
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{\var{TYPE}*}{PyObject_NewVar}{TYPE, PyTypeObject *type, \begin{cfuncdesc}{\var{TYPE}*}{PyObject_NewVar}{TYPE, PyTypeObject *type,
int size} Py_ssize_t size}
Allocate a new Python object using the C structure type \var{TYPE} Allocate a new Python object using the C structure type \var{TYPE}
and the Python type object \var{type}. Fields not defined by the and the Python type object \var{type}. Fields not defined by the
Python object header are not initialized. The allocated memory Python object header are not initialized. The allocated memory
...@@ -69,7 +69,7 @@ defining new object types. ...@@ -69,7 +69,7 @@ defining new object types.
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{\var{TYPE}*}{PyObject_NEW_VAR}{TYPE, PyTypeObject *type, \begin{cfuncdesc}{\var{TYPE}*}{PyObject_NEW_VAR}{TYPE, PyTypeObject *type,
int size} Py_ssize_t size}
Macro version of \cfunction{PyObject_NewVar()}, to gain performance Macro version of \cfunction{PyObject_NewVar()}, to gain performance
at the expense of safety. This does not check \var{type} for a at the expense of safety. This does not check \var{type} for a
\NULL{} value. \NULL{} value.
...@@ -170,13 +170,13 @@ These macros are used in the definition of \ctype{PyObject} and ...@@ -170,13 +170,13 @@ These macros are used in the definition of \ctype{PyObject} and
\csimplemacro{Py_TRACE_REFS}. By default, that macro is not \csimplemacro{Py_TRACE_REFS}. By default, that macro is not
defined, and \csimplemacro{PyObject_HEAD} expands to: defined, and \csimplemacro{PyObject_HEAD} expands to:
\begin{verbatim} \begin{verbatim}
int ob_refcnt; Py_ssize_t ob_refcnt;
PyTypeObject *ob_type; PyTypeObject *ob_type;
\end{verbatim} \end{verbatim}
When \csimplemacro{Py_TRACE_REFS} is defined, it expands to: When \csimplemacro{Py_TRACE_REFS} is defined, it expands to:
\begin{verbatim} \begin{verbatim}
PyObject *_ob_next, *_ob_prev; PyObject *_ob_next, *_ob_prev;
int ob_refcnt; Py_ssize_t ob_refcnt;
PyTypeObject *ob_type; PyTypeObject *ob_type;
\end{verbatim} \end{verbatim}
\end{csimplemacrodesc} \end{csimplemacrodesc}
...@@ -383,7 +383,7 @@ objects) \emph{must} have the \member{ob_size} field. ...@@ -383,7 +383,7 @@ objects) \emph{must} have the \member{ob_size} field.
These fields are not inherited by subtypes. These fields are not inherited by subtypes.
\end{cmemberdesc} \end{cmemberdesc}
\begin{cmemberdesc}{PyObject}{int}{ob_refcnt} \begin{cmemberdesc}{PyObject}{Py_ssize_t}{ob_refcnt}
This is the type object's reference count, initialized to \code{1} This is the type object's reference count, initialized to \code{1}
by the \code{PyObject_HEAD_INIT} macro. Note that for statically by the \code{PyObject_HEAD_INIT} macro. Note that for statically
allocated type objects, the type's instances (objects whose allocated type objects, the type's instances (objects whose
...@@ -421,7 +421,7 @@ Foo_Type.ob_type = &PyType_Type; ...@@ -421,7 +421,7 @@ Foo_Type.ob_type = &PyType_Type;
and in 2.3 and beyond, it is inherited by subtypes. and in 2.3 and beyond, it is inherited by subtypes.
\end{cmemberdesc} \end{cmemberdesc}
\begin{cmemberdesc}{PyVarObject}{int}{ob_size} \begin{cmemberdesc}{PyVarObject}{Py_ssize_t}{ob_size}
For statically allocated type objects, this should be initialized For statically allocated type objects, this should be initialized
to zero. For dynamically allocated type objects, this field has a to zero. For dynamically allocated type objects, this field has a
special internal meaning. special internal meaning.
...@@ -457,8 +457,8 @@ Foo_Type.ob_type = &PyType_Type; ...@@ -457,8 +457,8 @@ Foo_Type.ob_type = &PyType_Type;
This field is not inherited by subtypes. This field is not inherited by subtypes.
\end{cmemberdesc} \end{cmemberdesc}
\begin{cmemberdesc}{PyTypeObject}{int}{tp_basicsize} \begin{cmemberdesc}{PyTypeObject}{Py_ssize_t}{tp_basicsize}
\cmemberline{PyTypeObject}{int}{tp_itemsize} \cmemberline{PyTypeObject}{Py_ssize_t}{tp_itemsize}
These fields allow calculating the size in bytes of instances of These fields allow calculating the size in bytes of instances of
the type. the type.
...@@ -1234,7 +1234,7 @@ int tp_init(PyObject *self, PyObject *args, PyObject *kwds) ...@@ -1234,7 +1234,7 @@ int tp_init(PyObject *self, PyObject *args, PyObject *kwds)
The function signature is The function signature is
\begin{verbatim} \begin{verbatim}
PyObject *tp_alloc(PyTypeObject *self, int nitems) PyObject *tp_alloc(PyTypeObject *self, Py_ssize_t nitems)
\end{verbatim} \end{verbatim}
The purpose of this function is to separate memory allocation from The purpose of this function is to separate memory allocation from
...@@ -1386,15 +1386,15 @@ The remaining fields are only defined if the feature test macro ...@@ -1386,15 +1386,15 @@ The remaining fields are only defined if the feature test macro
They are documented here for completeness. None of these fields are They are documented here for completeness. None of these fields are
inherited by subtypes. inherited by subtypes.
\begin{cmemberdesc}{PyTypeObject}{int}{tp_allocs} \begin{cmemberdesc}{PyTypeObject}{Py_ssize_t}{tp_allocs}
Number of allocations. Number of allocations.
\end{cmemberdesc} \end{cmemberdesc}
\begin{cmemberdesc}{PyTypeObject}{int}{tp_frees} \begin{cmemberdesc}{PyTypeObject}{Py_ssize_t}{tp_frees}
Number of frees. Number of frees.
\end{cmemberdesc} \end{cmemberdesc}
\begin{cmemberdesc}{PyTypeObject}{int}{tp_maxalloc} \begin{cmemberdesc}{PyTypeObject}{Py_ssize_t}{tp_maxalloc}
Maximum simultaneously allocated objects. Maximum simultaneously allocated objects.
\end{cmemberdesc} \end{cmemberdesc}
...@@ -1509,8 +1509,8 @@ to be able to test for its presence before using it.} ...@@ -1509,8 +1509,8 @@ to be able to test for its presence before using it.}
\member{bf_getcharbuffer} slot is non-\NULL. \member{bf_getcharbuffer} slot is non-\NULL.
\end{datadesc} \end{datadesc}
\begin{ctypedesc}[getreadbufferproc]{int (*getreadbufferproc) \begin{ctypedesc}[getreadbufferproc]{Py_ssize_t (*readbufferproc)
(PyObject *self, int segment, void **ptrptr)} (PyObject *self, Py_ssize_t segment, void **ptrptr)}
Return a pointer to a readable segment of the buffer. This function Return a pointer to a readable segment of the buffer. This function
is allowed to raise an exception, in which case it must return is allowed to raise an exception, in which case it must return
\code{-1}. The \var{segment} which is passed must be zero or \code{-1}. The \var{segment} which is passed must be zero or
...@@ -1520,8 +1520,8 @@ to be able to test for its presence before using it.} ...@@ -1520,8 +1520,8 @@ to be able to test for its presence before using it.}
pointer to that memory. pointer to that memory.
\end{ctypedesc} \end{ctypedesc}
\begin{ctypedesc}[getwritebufferproc]{int (*getwritebufferproc) \begin{ctypedesc}[getwritebufferproc]{Py_ssize_t (*writebufferproc)
(PyObject *self, int segment, void **ptrptr)} (PyObject *self, Py_ssize_t segment, void **ptrptr)}
Return a pointer to a writable memory buffer in Return a pointer to a writable memory buffer in
\code{*\var{ptrptr}}, and the length of that segment as the function \code{*\var{ptrptr}}, and the length of that segment as the function
return value. The memory buffer must correspond to buffer segment return value. The memory buffer must correspond to buffer segment
...@@ -1535,16 +1535,16 @@ to be able to test for its presence before using it.} ...@@ -1535,16 +1535,16 @@ to be able to test for its presence before using it.}
% code. % code.
\end{ctypedesc} \end{ctypedesc}
\begin{ctypedesc}[getsegcountproc]{int (*getsegcountproc) \begin{ctypedesc}[getsegcountproc]{Py_ssize_t (*segcountproc)
(PyObject *self, int *lenp)} (PyObject *self, Py_ssize_t *lenp)}
Return the number of memory segments which comprise the buffer. If Return the number of memory segments which comprise the buffer. If
\var{lenp} is not \NULL, the implementation must report the sum of \var{lenp} is not \NULL, the implementation must report the sum of
the sizes (in bytes) of all segments in \code{*\var{lenp}}. the sizes (in bytes) of all segments in \code{*\var{lenp}}.
The function cannot fail. The function cannot fail.
\end{ctypedesc} \end{ctypedesc}
\begin{ctypedesc}[getcharbufferproc]{int (*getcharbufferproc) \begin{ctypedesc}[getcharbufferproc]{Py_ssize_t (*charbufferproc)
(PyObject *self, int segment, const char **ptrptr)} (PyObject *self, Py_ssize_t segment, const char **ptrptr)}
Return the size of the memory buffer in \var{ptrptr} for segment Return the size of the memory buffer in \var{ptrptr} for segment
\var{segment}. \code{*\var{ptrptr}} is set to the memory buffer. \var{segment}. \code{*\var{ptrptr}} is set to the memory buffer.
\end{ctypedesc} \end{ctypedesc}
...@@ -1599,12 +1599,12 @@ Constructors for container types must conform to two rules: ...@@ -1599,12 +1599,12 @@ Constructors for container types must conform to two rules:
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{\var{TYPE}*}{PyObject_GC_NewVar}{TYPE, PyTypeObject *type, \begin{cfuncdesc}{\var{TYPE}*}{PyObject_GC_NewVar}{TYPE, PyTypeObject *type,
int size} Py_ssize_t size}
Analogous to \cfunction{PyObject_NewVar()} but for container objects Analogous to \cfunction{PyObject_NewVar()} but for container objects
with the \constant{Py_TPFLAGS_HAVE_GC} flag set. with the \constant{Py_TPFLAGS_HAVE_GC} flag set.
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{PyVarObject *}{PyObject_GC_Resize}{PyVarObject *op, int} \begin{cfuncdesc}{PyVarObject *}{PyObject_GC_Resize}{PyVarObject *op, Py_ssize_t}
Resize an object allocated by \cfunction{PyObject_NewVar()}. Returns Resize an object allocated by \cfunction{PyObject_NewVar()}. Returns
the resized object or \NULL{} on failure. the resized object or \NULL{} on failure.
\end{cfuncdesc} \end{cfuncdesc}
...@@ -1633,12 +1633,12 @@ pair of rules: ...@@ -1633,12 +1633,12 @@ pair of rules:
\cfunction{PyObject_GC_Del()}. \cfunction{PyObject_GC_Del()}.
\end{enumerate} \end{enumerate}
\begin{cfuncdesc}{void}{PyObject_GC_Del}{PyObject *op} \begin{cfuncdesc}{void}{PyObject_GC_Del}{void *op}
Releases memory allocated to an object using Releases memory allocated to an object using
\cfunction{PyObject_GC_New()} or \cfunction{PyObject_GC_NewVar()}. \cfunction{PyObject_GC_New()} or \cfunction{PyObject_GC_NewVar()}.
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{void}{PyObject_GC_UnTrack}{PyObject *op} \begin{cfuncdesc}{void}{PyObject_GC_UnTrack}{void *op}
Remove the object \var{op} from the set of container objects tracked Remove the object \var{op} from the set of container objects tracked
by the collector. Note that \cfunction{PyObject_GC_Track()} can be by the collector. Note that \cfunction{PyObject_GC_Track()} can be
called again on this object to add it back to the set of tracked called again on this object to add it back to the set of tracked
......
...@@ -8,7 +8,7 @@ values from C values. ...@@ -8,7 +8,7 @@ values from C values.
\section{Operating System Utilities \label{os}} \section{Operating System Utilities \label{os}}
\begin{cfuncdesc}{int}{Py_FdIsInteractive}{FILE *fp, char *filename} \begin{cfuncdesc}{int}{Py_FdIsInteractive}{FILE *fp, const char *filename}
Return true (nonzero) if the standard I/O file \var{fp} with name Return true (nonzero) if the standard I/O file \var{fp} with name
\var{filename} is deemed interactive. This is the case for files \var{filename} is deemed interactive. This is the case for files
for which \samp{isatty(fileno(\var{fp}))} is true. If the global for which \samp{isatty(fileno(\var{fp}))} is true. If the global
...@@ -91,7 +91,7 @@ values from C values. ...@@ -91,7 +91,7 @@ values from C values.
\section{Importing Modules \label{importing}} \section{Importing Modules \label{importing}}
\begin{cfuncdesc}{PyObject*}{PyImport_ImportModule}{char *name} \begin{cfuncdesc}{PyObject*}{PyImport_ImportModule}{const char *name}
This is a simplified interface to This is a simplified interface to
\cfunction{PyImport_ImportModuleEx()} below, leaving the \cfunction{PyImport_ImportModuleEx()} below, leaving the
\var{globals} and \var{locals} arguments set to \NULL. When the \var{globals} and \var{locals} arguments set to \NULL. When the
...@@ -148,7 +148,7 @@ values from C values. ...@@ -148,7 +148,7 @@ values from C values.
case). case).
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{PyObject*}{PyImport_AddModule}{char *name} \begin{cfuncdesc}{PyObject*}{PyImport_AddModule}{const char *name}
Return the module object corresponding to a module name. The Return the module object corresponding to a module name. The
\var{name} argument may be of the form \code{package.module}. \var{name} argument may be of the form \code{package.module}.
First check the modules dictionary if there's one there, and if not, First check the modules dictionary if there's one there, and if not,
...@@ -369,7 +369,7 @@ Should only non-negative values be written using these routines? ...@@ -369,7 +369,7 @@ Should only non-negative values be written using these routines?
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{PyObject*}{PyMarshal_ReadObjectFromString}{char *string, \begin{cfuncdesc}{PyObject*}{PyMarshal_ReadObjectFromString}{char *string,
int len} Py_ssize_t len}
Return a Python object from the data stream in a character buffer Return a Python object from the data stream in a character buffer
containing \var{len} bytes pointed to by \var{string}. On error, containing \var{len} bytes pointed to by \var{string}. On error,
sets the appropriate exception (\exception{EOFError} or sets the appropriate exception (\exception{EOFError} or
...@@ -687,21 +687,21 @@ format and the format must be exhausted. On success, the ...@@ -687,21 +687,21 @@ format and the format must be exhausted. On success, the
\cfunction{PyArg_Parse*()} functions return true, otherwise they \cfunction{PyArg_Parse*()} functions return true, otherwise they
return false and raise an appropriate exception. return false and raise an appropriate exception.
\begin{cfuncdesc}{int}{PyArg_ParseTuple}{PyObject *args, char *format, \begin{cfuncdesc}{int}{PyArg_ParseTuple}{PyObject *args, const char *format,
\moreargs} \moreargs}
Parse the parameters of a function that takes only positional Parse the parameters of a function that takes only positional
parameters into local variables. Returns true on success; on parameters into local variables. Returns true on success; on
failure, it returns false and raises the appropriate exception. failure, it returns false and raises the appropriate exception.
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{int}{PyArg_VaParse}{PyObject *args, char *format, \begin{cfuncdesc}{int}{PyArg_VaParse}{PyObject *args, const char *format,
va_list vargs} va_list vargs}
Identical to \cfunction{PyArg_ParseTuple()}, except that it accepts a Identical to \cfunction{PyArg_ParseTuple()}, except that it accepts a
va_list rather than a variable number of arguments. va_list rather than a variable number of arguments.
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{int}{PyArg_ParseTupleAndKeywords}{PyObject *args, \begin{cfuncdesc}{int}{PyArg_ParseTupleAndKeywords}{PyObject *args,
PyObject *kw, char *format, char *keywords[], PyObject *kw, const char *format, char *keywords[],
\moreargs} \moreargs}
Parse the parameters of a function that takes both positional and Parse the parameters of a function that takes both positional and
keyword parameters into local variables. Returns true on success; keyword parameters into local variables. Returns true on success;
...@@ -709,13 +709,13 @@ return false and raise an appropriate exception. ...@@ -709,13 +709,13 @@ return false and raise an appropriate exception.
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{int}{PyArg_VaParseTupleAndKeywords}{PyObject *args, \begin{cfuncdesc}{int}{PyArg_VaParseTupleAndKeywords}{PyObject *args,
PyObject *kw, char *format, char *keywords[], PyObject *kw, const char *format, char *keywords[],
va_list vargs} va_list vargs}
Identical to \cfunction{PyArg_ParseTupleAndKeywords()}, except that it Identical to \cfunction{PyArg_ParseTupleAndKeywords()}, except that it
accepts a va_list rather than a variable number of arguments. accepts a va_list rather than a variable number of arguments.
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{int}{PyArg_Parse}{PyObject *args, char *format, \begin{cfuncdesc}{int}{PyArg_Parse}{PyObject *args, const char *format,
\moreargs} \moreargs}
Function used to deconstruct the argument lists of ``old-style'' Function used to deconstruct the argument lists of ``old-style''
functions --- these are functions which use the functions --- these are functions which use the
...@@ -727,8 +727,8 @@ return false and raise an appropriate exception. ...@@ -727,8 +727,8 @@ return false and raise an appropriate exception.
purpose. purpose.
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{int}{PyArg_UnpackTuple}{PyObject *args, char *name, \begin{cfuncdesc}{int}{PyArg_UnpackTuple}{PyObject *args, const char *name,
int min, int max, \moreargs} Py_ssize_t min, Py_ssize_t max, \moreargs}
A simpler form of parameter retrieval which does not use a format A simpler form of parameter retrieval which does not use a format
string to specify the types of the arguments. Functions which use string to specify the types of the arguments. Functions which use
this method to retrieve their parameters should be declared as this method to retrieve their parameters should be declared as
...@@ -774,7 +774,7 @@ PyArg_ParseTuple(args, "O|O:ref", &object, &callback) ...@@ -774,7 +774,7 @@ PyArg_ParseTuple(args, "O|O:ref", &object, &callback)
\versionadded{2.2} \versionadded{2.2}
\end{cfuncdesc} \end{cfuncdesc}
\begin{cfuncdesc}{PyObject*}{Py_BuildValue}{char *format, \begin{cfuncdesc}{PyObject*}{Py_BuildValue}{const char *format,
\moreargs} \moreargs}
Create a new value based on a format string similar to those Create a new value based on a format string similar to those
accepted by the \cfunction{PyArg_Parse*()} family of functions and a accepted by the \cfunction{PyArg_Parse*()} family of functions and a
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment