/usr/include/python2.6
NameSizeModeActions
abstract.h446310644editdlrm
asdl.h10990644editdlrm
ast.h2300644editdlrm
bitset.h7920644editdlrm
boolobject.h9120644editdlrm
bufferobject.h9220644editdlrm
bytearrayobject.h19410644editdlrm
bytesobject.h14580644editdlrm
bytes_methods.h32690644editdlrm
cellobject.h6510644editdlrm
ceval.h51190644editdlrm
classobject.h29390644editdlrm
cobject.h18790644editdlrm
code.h35240644editdlrm
codecs.h50140644editdlrm
compile.h11570644editdlrm
complexobject.h15360644editdlrm
cStringIO.h20010644editdlrm
datetime.h86270644editdlrm
descrobject.h24800644editdlrm
dictobject.h59700644editdlrm
enumobject.h2530644editdlrm
errcode.h13630644editdlrm
eval.h5570644editdlrm
fileobject.h29180644editdlrm
floatobject.h50600644editdlrm
frameobject.h29230644editdlrm
funcobject.h29950644editdlrm
genobject.h8910644editdlrm
graminit.h19080644editdlrm
grammar.h20210644editdlrm
import.h22150644editdlrm
intobject.h27360644editdlrm
intrcheck.h2740644editdlrm
iterobject.h5220644editdlrm
listobject.h25130644editdlrm
longintrepr.h23180644editdlrm
longobject.h55840644editdlrm
marshal.h7130644editdlrm
metagrammar.h2530644editdlrm
methodobject.h32380644editdlrm
modsupport.h53690644editdlrm
moduleobject.h6090644editdlrm
node.h8900644editdlrm
object.h373940644editdlrm
objimpl.h130870644editdlrm
opcode.h43410644editdlrm
osdefs.h9420644editdlrm
parsetok.h17800644editdlrm
patchlevel.h14290644editdlrm
pgen.h2530644editdlrm
pgenheaders.h11440644editdlrm
pyarena.h26930644editdlrm
pyconfig-32.h312410644editdlrm
pyconfig-64.h312350644editdlrm
pyconfig.h1620644editdlrm
pyctype.h10720644editdlrm
pydebug.h13220644editdlrm
pydtrace.h13490644editdlrm
pyerrors.h117160644editdlrm
pyexpat.h19570644editdlrm
pyfpe.h84950644editdlrm
pygetopt.h3480644editdlrm
pymacconfig.h24850644editdlrm
pymactoolbox.h79430644editdlrm
pymath.h66140644editdlrm
pymem.h46820644editdlrm
pyport.h247780644editdlrm
pystate.h63330644editdlrm
pystrcmp.h4630644editdlrm
pystrtod.h3590644editdlrm
Python-ast.h200810644editdlrm
Python.h42940644editdlrm
pythonrun.h71080644editdlrm
pythread.h14470644editdlrm
py_curses.h43880644editdlrm
rangeobject.h6460644editdlrm
setobject.h30770644editdlrm
sliceobject.h13310644editdlrm
stringobject.h78760644editdlrm
structmember.h29010644editdlrm
structseq.h8620644editdlrm
symtable.h40580644editdlrm
sysmodule.h9160644editdlrm
timefuncs.h4420644editdlrm
token.h17100644editdlrm
traceback.h6970644editdlrm
tupleobject.h21230644editdlrm
ucnhash.h8610644editdlrm
unicodeobject.h523040644editdlrm
warnings.h6350644editdlrm
weakrefobject.h24280644editdlrm
Edit: /usr/include/python2.6/pyarena.h (2693B)
/* An arena-like memory interface for the compiler. */ #ifndef Py_PYARENA_H #define Py_PYARENA_H #ifdef __cplusplus extern "C" { #endif typedef struct _arena PyArena; /* PyArena_New() and PyArena_Free() create a new arena and free it, respectively. Once an arena has been created, it can be used to allocate memory via PyArena_Malloc(). Pointers to PyObject can also be registered with the arena via PyArena_AddPyObject(), and the arena will ensure that the PyObjects stay alive at least until PyArena_Free() is called. When an arena is freed, all the memory it allocated is freed, the arena releases internal references to registered PyObject*, and none of its pointers are valid. XXX (tim) What does "none of its pointers are valid" mean? Does it XXX mean that pointers previously obtained via PyArena_Malloc() are XXX no longer valid? (That's clearly true, but not sure that's what XXX the text is trying to say.) PyArena_New() returns an arena pointer. On error, it returns a negative number and sets an exception. XXX (tim): Not true. On error, PyArena_New() actually returns NULL, XXX and looks like it may or may not set an exception (e.g., if the XXX internal PyList_New(0) returns NULL, PyArena_New() passes that on XXX and an exception is set; OTOH, if the internal XXX block_new(DEFAULT_BLOCK_SIZE) returns NULL, that's passed on but XXX an exception is not set in that case). */ PyAPI_FUNC(PyArena *) PyArena_New(void); PyAPI_FUNC(void) PyArena_Free(PyArena *); /* Mostly like malloc(), return the address of a block of memory spanning * `size` bytes, or return NULL (without setting an exception) if enough * new memory can't be obtained. Unlike malloc(0), PyArena_Malloc() with * size=0 does not guarantee to return a unique pointer (the pointer * returned may equal one or more other pointers obtained from * PyArena_Malloc()). * Note that pointers obtained via PyArena_Malloc() must never be passed to * the system free() or realloc(), or to any of Python's similar memory- * management functions. PyArena_Malloc()-obtained pointers remain valid * until PyArena_Free(ar) is called, at which point all pointers obtained * from the arena `ar` become invalid simultaneously. */ PyAPI_FUNC(void *) PyArena_Malloc(PyArena *, size_t size); /* This routine isn't a proper arena allocation routine. It takes * a PyObject* and records it so that it can be DECREFed when the * arena is freed. */ PyAPI_FUNC(int) PyArena_AddPyObject(PyArena *, PyObject *); #ifdef __cplusplus } #endif #endif /* !Py_PYARENA_H */