|
10 | 10 | # and PC/pythonXYstub.def
|
11 | 11 |
|
12 | 12 |
|
| 13 | +# The current format is a simple line-based one with significant indentation. |
| 14 | +# Anything after a hash is a comment. |
| 15 | + |
| 16 | +# There are these kinds of top-level "items": |
| 17 | +# - struct: A C struct. Currently this file does not distinguish between: |
| 18 | +# - opaque structs, which the Limited API only handles via pointers |
| 19 | +# (so these can change at any time) |
| 20 | +# - structs where only certain members are part of the stable ABI (e.g. |
| 21 | +# PyObject) |
| 22 | +# - structs which must not be changed at all (e.g. PyType_Slot, which is |
| 23 | +# fully defined and used in arrays) |
| 24 | +# - function: A function that must be kept available (and exported, i.e. not |
| 25 | +# converted to a macro). |
| 26 | +# - const: A simple value, defined with `#define`. |
| 27 | +# - macro: A preprocessor macro more complex than a simple `const` value. |
| 28 | +# - data: An exported object, which must continue to be available but its exact |
| 29 | +# value may change. |
| 30 | +# - typedef: A C typedef which is used in other definitions in the limited API. |
| 31 | +# Its size/layout/signature must not change. |
| 32 | + |
| 33 | +# Each top-level item can have details defined below it: |
| 34 | +# - added: The version in which the item was added to the stable ABI. |
| 35 | +# - ifdef: A feature macro: the item is only available if this macro is defined |
| 36 | +# - abi_only: If present, the item is not part of the Limited API, but it *is* |
| 37 | +# part of the stable ABI. The item will not show up in user-facing docs. |
| 38 | +# Typically used for: |
| 39 | +# - private functions called by public macros, e.g. _Py_BuildValue_SizeT |
| 40 | +# - items that were part of the limited API in the past, and must remain part |
| 41 | +# of the stable ABI. |
| 42 | +# - a combination of the above (functions that were called by macros that |
| 43 | +# were public in the past) |
| 44 | + |
| 45 | +# Removing items from this file is generally not allowed, and additions should |
| 46 | +# be considered with that in mind. See the devguide for exact rules: |
| 47 | +# https://devguide.python.org/c-api/#limited-api |
| 48 | + |
| 49 | +# User-facing docs are at: |
| 50 | +# https://docs.python.org/3/c-api/stable.html#stable |
| 51 | + |
| 52 | + |
13 | 53 | # Mentioned in PEP 384:
|
14 | 54 |
|
15 | 55 | struct PyObject
|
|
0 commit comments