source: trunk/essentials/dev-lang/python/Doc/api/refcounts.dat@ 3226

Last change on this file since 3226 was 3225, checked in by bird, 19 years ago

Python 2.5

File size: 44.1 KB
Line 
1# Created by Skip Montanaro <[email protected]>.
2
3# Format:
4# function ':' type ':' [param name] ':' [refcount effect] ':' [comment]
5# If the param name slot is empty, that line corresponds to the function's
6# return value, otherwise it's the type of the named parameter.
7
8# The first line of a function block gives type/refcount information for the
9# function's return value. Successive lines with the same function name
10# correspond to the function's parameter list and appear in the order the
11# parameters appear in the function's prototype.
12
13# For readability, each function's lines are surrounded by a blank line.
14# The blocks are sorted alphabetically by function name.
15
16# Refcount behavior is given for all PyObject* types: 0 (no change), +1
17# (increment) and -1 (decrement). A blank refcount field indicates the
18# parameter or function value is not a PyObject* and is therefore not
19# subject to reference counting. A special case for the value "null"
20# (without quotes) is used for functions which return a PyObject* type but
21# always return NULL. This is used by some of the PyErr_*() functions, in
22# particular.
23
24# XXX NOTE: the 0/+1/-1 refcount information for arguments is
25# confusing! Much more useful would be to indicate whether the
26# function "steals" a reference to the argument or not. Take for
27# example PyList_SetItem(list, i, item). This lists as a 0 change for
28# both the list and the item arguments. However, in fact it steals a
29# reference to the item argument!
30
31# The parameter names are as they appear in the API manual, not the source
32# code.
33
34PyBool_FromLong:PyObject*::+1:
35PyBool_FromLong:long:v:0:
36
37PyBuffer_FromObject:PyObject*::+1:
38PyBuffer_FromObject:PyObject*:base:+1:
39PyBuffer_FromObject:int:offset::
40PyBuffer_FromObject:int:size::
41
42PyBuffer_FromReadWriteObject:PyObject*::+1:
43PyBuffer_FromReadWriteObject:PyObject*:base:+1:
44PyBuffer_FromReadWriteObject:int:offset::
45PyBuffer_FromReadWriteObject:int:size::
46
47PyBuffer_FromMemory:PyObject*::+1:
48PyBuffer_FromMemory:void*:ptr::
49PyBuffer_FromMemory:int:size::
50
51PyBuffer_FromReadWriteMemory:PyObject*::+1:
52PyBuffer_FromReadWriteMemory:void*:ptr::
53PyBuffer_FromReadWriteMemory:int:size::
54
55PyBuffer_New:PyObject*::+1:
56PyBuffer_New:int:size::
57
58PyCObject_AsVoidPtr:void*:::
59PyCObject_AsVoidPtr:PyObject*:self:0:
60
61PyCObject_FromVoidPtr:PyObject*::+1:
62PyCObject_FromVoidPtr:void*:cobj::
63PyCObject_FromVoidPtr::void (* destr)(void* )::
64
65PyCObject_FromVoidPtrAndDesc:PyObject*::+1:
66PyCObject_FromVoidPtrAndDesc:void*:cobj::
67PyCObject_FromVoidPtrAndDesc:void*:desc::
68PyCObject_FromVoidPtrAndDesc:void(*)(void*,void*):destr::
69
70PyCObject_GetDesc:void*:::
71PyCObject_GetDesc:PyObject*:self:0:
72
73PyCell_New:PyObject*::+1:
74PyCell_New:PyObject*:ob:0:
75
76PyCell_GET:PyObject*::0:
77PyCell_GET:PyObject*:ob:0:
78
79PyCell_Get:PyObject*::+1:
80PyCell_Get:PyObject*:cell:0:
81
82PyCell_SET:void:::
83PyCell_SET:PyObject*:cell:0:
84PyCell_SET:PyObject*:value:0:
85
86PyCell_Set:int:::
87PyCell_Set:PyObject*:cell:0:
88PyCell_Set:PyObject*:value:0:
89
90PyCallIter_New:PyObject*::+1:
91PyCallIter_New:PyObject*:callable::
92PyCallIter_New:PyObject*:sentinel::
93
94PyCallable_Check:int:::
95PyCallable_Check:PyObject*:o:0:
96
97PyComplex_AsCComplex:Py_complex:::
98PyComplex_AsCComplex:PyObject*:op:0:
99
100PyComplex_Check:int:::
101PyComplex_Check:PyObject*:p:0:
102
103PyComplex_FromCComplex:PyObject*::+1:
104PyComplex_FromCComplex::Py_complex v::
105
106PyComplex_FromDoubles:PyObject*::+1:
107PyComplex_FromDoubles::double real::
108PyComplex_FromDoubles::double imag::
109
110PyComplex_ImagAsDouble:double:::
111PyComplex_ImagAsDouble:PyObject*:op:0:
112
113PyComplex_RealAsDouble:double:::
114PyComplex_RealAsDouble:PyObject*:op:0:
115
116PyDate_FromDate:PyObject*::+1:
117PyDate_FromDate:int:year::
118PyDate_FromDate:int:month::
119PyDate_FromDate:int:day::
120
121PyDate_FromTimestamp:PyObject*::+1:
122PyDate_FromTimestamp:PyObject*:args:0:
123
124PyDateTime_FromDateAndTime:PyObject*::+1:
125PyDateTime_FromDateAndTime:int:year::
126PyDateTime_FromDateAndTime:int:month::
127PyDateTime_FromDateAndTime:int:day::
128PyDateTime_FromDateAndTime:int:hour::
129PyDateTime_FromDateAndTime:int:minute::
130PyDateTime_FromDateAndTime:int:second::
131PyDateTime_FromDateAndTime:int:usecond::
132
133PyDateTime_FromTimestamp:PyObject*::+1:
134PyDateTime_FromTimestamp:PyObject*:args:0:
135
136PyDelta_FromDSU:PyObject*::+1:
137PyDelta_FromDSU:int:days::
138PyDelta_FromDSU:int:seconds::
139PyDelta_FromDSU:int:useconds::
140
141PyDescr_NewClassMethod:PyObject*::+1:
142PyDescr_NewClassMethod:PyTypeObject*:type::
143PyDescr_NewClassMethod:PyMethodDef*:method::
144
145PyDescr_NewGetSet:PyObject*::+1:
146PyDescr_NewGetSet:PyTypeObject*:type::
147PyDescr_NewGetSet:PyGetSetDef*:getset::
148
149PyDescr_NewMember:PyObject*::+1:
150PyDescr_NewMember:PyTypeObject*:type::
151PyDescr_NewMember:PyMemberDef*:member::
152
153PyDescr_NewMethod:PyObject*::+1:
154PyDescr_NewMethod:PyTypeObject*:type::
155PyDescr_NewMethod:PyMethodDef*:meth::
156
157PyDescr_NewWrapper:PyObject*::+1:
158PyDescr_NewWrapper:PyTypeObject*:type::
159PyDescr_NewWrapper:struct wrapperbase*:base::
160PyDescr_NewWrapper:void*:wrapped::
161
162PyDict_Check:int:::
163PyDict_Check:PyObject*:p:0:
164
165PyDict_Clear:void:::
166PyDict_Clear:PyObject*:p:0:
167
168PyDict_DelItem:int:::
169PyDict_DelItem:PyObject*:p:0:
170PyDict_DelItem:PyObject*:key:0:
171
172PyDict_DelItemString:int:::
173PyDict_DelItemString:PyObject*:p:0:
174PyDict_DelItemString:char*:key::
175
176PyDict_GetItem:PyObject*::0:0
177PyDict_GetItem:PyObject*:p:0:
178PyDict_GetItem:PyObject*:key:0:
179
180PyDict_GetItemString:PyObject*::0:
181PyDict_GetItemString:PyObject*:p:0:
182PyDict_GetItemString:char*:key::
183
184PyDict_Items:PyObject*::+1:
185PyDict_Items:PyObject*:p:0:
186
187PyDict_Keys:PyObject*::+1:
188PyDict_Keys:PyObject*:p:0:
189
190PyDict_New:PyObject*::+1:
191
192PyDict_Copy:PyObject*::+1:
193PyDict_Copy:PyObject*:p:0:
194
195PyDict_Next:int:::
196PyDict_Next:PyObject*:p:0:
197PyDict_Next:int:ppos::
198PyDict_Next:PyObject**:pkey:0:
199PyDict_Next:PyObject**:pvalue:0:
200
201PyDict_SetItem:int:::
202PyDict_SetItem:PyObject*:p:0:
203PyDict_SetItem:PyObject*:key:+1:
204PyDict_SetItem:PyObject*:val:+1:
205
206PyDict_SetItemString:int:::
207PyDict_SetItemString:PyObject*:p:0:
208PyDict_SetItemString:char*:key::
209PyDict_SetItemString:PyObject*:val:+1:
210
211PyDict_Size:int:::
212PyDict_Size:PyObject*:p::
213
214PyDict_Values:PyObject*::+1:
215PyDict_Values:PyObject*:p:0:
216
217PyDictProxy_New:PyObject*::+1:
218PyDictProxy_New:PyObject*:dict:0:
219
220PyErr_BadArgument:int:::
221
222PyErr_BadInternalCall:void:::
223
224PyErr_CheckSignals:int:::
225
226PyErr_Clear:void:::
227
228PyErr_ExceptionMatches:int:::
229PyErr_ExceptionMatches:PyObject*:exc:0:
230
231PyErr_Fetch:void:::
232PyErr_Fetch:PyObject**:ptype:0:
233PyErr_Fetch:PyObject**:pvalue:0:
234PyErr_Fetch:PyObject**:ptraceback:0:
235
236PyErr_GivenExceptionMatches:int:::
237PyErr_GivenExceptionMatches:PyObject*:given:0:
238PyErr_GivenExceptionMatches:PyObject*:exc:0:
239
240PyErr_NewException:PyObject*::+1:
241PyErr_NewException:char*:name::
242PyErr_NewException:PyObject*:base:0:
243PyErr_NewException:PyObject*:dict:0:
244
245PyErr_NoMemory:PyObject*::null:
246
247PyErr_NormalizeException:void:::
248PyErr_NormalizeException:PyObject**:exc::???
249PyErr_NormalizeException:PyObject**:val::???
250PyErr_NormalizeException:PyObject**:tb::???
251
252PyErr_Occurred:PyObject*::0:
253
254PyErr_Print:void:::
255
256PyErr_Restore:void:::
257PyErr_Restore:PyObject*:type:-1:
258PyErr_Restore:PyObject*:value:-1:
259PyErr_Restore:PyObject*:traceback:-1:
260
261PyErr_SetExcFromWindowsErr:PyObject*::null:
262PyErr_SetExcFromWindowsErr:PyObject*:type:0:
263PyErr_SetExcFromWindowsErr:int:ierr::
264
265PyErr_SetExcFromWindowsErrWithFilename:PyObject*::null:
266PyErr_SetExcFromWindowsErrWithFilename:PyObject*:type:0:
267PyErr_SetExcFromWindowsErrWithFilename:int:ierr::
268PyErr_SetExcFromWindowsErrWithFilename:char*:filename::
269
270PyErr_SetFromErrno:PyObject*::null:
271PyErr_SetFromErrno:PyObject*:type:0:
272
273PyErr_SetFromErrnoWithFilename:PyObject*::null:
274PyErr_SetFromErrnoWithFilename:PyObject*:type:0:
275PyErr_SetFromErrnoWithFilename:char*:filename::
276
277PyErr_SetFromWindowsErr:PyObject*::null:
278PyErr_SetFromWindowsErr:int:ierr::
279
280PyErr_SetFromWindowsErrWithFilename:PyObject*::null:
281PyErr_SetFromWindowsErrWithFilename:int:ierr::
282PyErr_SetFromWindowsErrWithFilename:char*:filename::
283
284PyErr_SetInterrupt:void:::
285
286PyErr_SetNone:void:::
287PyErr_SetNone:PyObject*:type:+1:
288
289PyErr_SetObject:void:::
290PyErr_SetObject:PyObject*:type:+1:
291PyErr_SetObject:PyObject*:value:+1:
292
293PyErr_SetString:void:::
294PyErr_SetString:PyObject*:type:+1:
295PyErr_SetString:char*:message::
296
297PyErr_Format:PyObject*::null:
298PyErr_Format:PyObject*:exception:+1:
299PyErr_Format:char*:format::
300PyErr_Format::...::
301
302PyErr_Warn:int:::
303PyErr_Warn:PyObject*:category:0:
304PyErr_Warn:char*:message::
305
306PyErr_WarnEx:int:::
307PyErr_WarnEx:PyObject*:category:0:
308PyErr_WarnEx:const char*:message::
309PyErr_WarnEx:Py_ssize_t:stack_level::
310
311PyEval_AcquireLock:void:::
312
313PyEval_AcquireThread:void:::
314PyEval_AcquireThread:PyThreadState*:tstate::
315
316PyEval_InitThreads:void:::
317
318PyEval_ReleaseLock:void:::
319
320PyEval_ReleaseThread:void:::
321PyEval_ReleaseThread:PyThreadState*:tstate::
322
323PyEval_RestoreThread:void:::
324PyEval_RestoreThread:PyThreadState*:tstate::
325
326PyEval_SaveThread:PyThreadState*:::
327
328PyEval_EvalCode:PyObject*::+1:
329PyEval_EvalCode:PyCodeObject*:co:0:
330PyEval_EvalCode:PyObject*:globals:0:
331PyEval_EvalCode:PyObject*:locals:0:
332
333PyFile_AsFile:FILE*:::
334PyFile_AsFile:PyFileObject*:p:0:
335
336PyFile_Check:int:::
337PyFile_Check:PyObject*:p:0:
338
339PyFile_FromFile:PyObject*::+1:
340PyFile_FromFile:FILE*:fp::
341PyFile_FromFile:char*:name::
342PyFile_FromFile:char*:mode::
343PyFile_FromFile:int(*:close)::
344
345PyFile_FromString:PyObject*::+1:
346PyFile_FromString:char*:name::
347PyFile_FromString:char*:mode::
348
349PyFile_GetLine:PyObject*::+1:
350PyFile_GetLine:PyObject*:p::
351PyFile_GetLine:int:n::
352
353PyFile_Name:PyObject*::0:
354PyFile_Name:PyObject*:p:0:
355