]> git.proxmox.com Git - mirror_edk2.git/blame - AppPkg/Applications/Python/Python-2.7.10/Include/Python.h
EmbeddedPkg: Extend NvVarStoreFormattedLib LIBRARY_CLASS
[mirror_edk2.git] / AppPkg / Applications / Python / Python-2.7.10 / Include / Python.h
CommitLineData
c8042e10
DM
1#ifndef Py_PYTHON_H\r
2#define Py_PYTHON_H\r
3/* Since this is a "meta-include" file, no #ifdef __cplusplus / extern "C" { */\r
4\r
5/* Include nearly all Python header files */\r
6\r
7#include "patchlevel.h"\r
8#include "pyconfig.h"\r
9#include "pymacconfig.h"\r
10\r
11/* Cyclic gc is always enabled, starting with release 2.3a1. Supply the\r
12 * old symbol for the benefit of extension modules written before then\r
13 * that may be conditionalizing on it. The core doesn't use it anymore.\r
14 */\r
15#ifndef WITH_CYCLE_GC\r
16#define WITH_CYCLE_GC 1\r
17#endif\r
18\r
19#include <limits.h>\r
20\r
21#ifndef UCHAR_MAX\r
22#error "Something's broken. UCHAR_MAX should be defined in limits.h."\r
23#endif\r
24\r
25#if UCHAR_MAX != 255\r
26#error "Python's source code assumes C's unsigned char is an 8-bit type."\r
27#endif\r
28\r
29#if defined(__sgi) && defined(WITH_THREAD) && !defined(_SGI_MP_SOURCE)\r
30#define _SGI_MP_SOURCE\r
31#endif\r
32\r
33#include <stdio.h>\r
34#ifndef NULL\r
35# error "Python.h requires that stdio.h define NULL."\r
36#endif\r
37\r
38#include <string.h>\r
39#ifdef HAVE_ERRNO_H\r
40#include <errno.h>\r
41#endif\r
42#include <stdlib.h>\r
43#ifdef HAVE_UNISTD_H\r
44#include <unistd.h>\r
45#endif\r
46\r
47/* For size_t? */\r
48#ifdef HAVE_STDDEF_H\r
49#include <stddef.h>\r
50#endif\r
51\r
52/* CAUTION: Build setups should ensure that NDEBUG is defined on the\r
53 * compiler command line when building Python in release mode; else\r
54 * assert() calls won't be removed.\r
55 */\r
56#include <assert.h>\r
57\r
58#include "pyport.h"\r
59\r
60/* pyconfig.h or pyport.h may or may not define DL_IMPORT */\r
61#ifndef DL_IMPORT /* declarations for DLL import/export */\r
62#define DL_IMPORT(RTYPE) RTYPE\r
63#endif\r
64#ifndef DL_EXPORT /* declarations for DLL import/export */\r
65#define DL_EXPORT(RTYPE) RTYPE\r
66#endif\r
67\r
68/* Debug-mode build with pymalloc implies PYMALLOC_DEBUG.\r
69 * PYMALLOC_DEBUG is in error if pymalloc is not in use.\r
70 */\r
71#if defined(Py_DEBUG) && defined(WITH_PYMALLOC) && !defined(PYMALLOC_DEBUG)\r
72#define PYMALLOC_DEBUG\r
73#endif\r
74#if defined(PYMALLOC_DEBUG) && !defined(WITH_PYMALLOC)\r
75#error "PYMALLOC_DEBUG requires WITH_PYMALLOC"\r
76#endif\r
77#include "pymath.h"\r
78#include "pymem.h"\r
79\r
80#include "object.h"\r
81#include "objimpl.h"\r
82\r
83#include "pydebug.h"\r
84\r
85#include "unicodeobject.h"\r
86#include "intobject.h"\r
87#include "boolobject.h"\r
88#include "longobject.h"\r
89#include "floatobject.h"\r
90#ifndef WITHOUT_COMPLEX\r
91#include "complexobject.h"\r
92#endif\r
93#include "rangeobject.h"\r
94#include "stringobject.h"\r
95#include "memoryobject.h"\r
96#include "bufferobject.h"\r
97#include "bytesobject.h"\r
98#include "bytearrayobject.h"\r
99#include "tupleobject.h"\r
100#include "listobject.h"\r
101#include "dictobject.h"\r
102#include "enumobject.h"\r
103#include "setobject.h"\r
104#include "methodobject.h"\r
105#include "moduleobject.h"\r
106#include "funcobject.h"\r
107#include "classobject.h"\r
108#include "fileobject.h"\r
109#include "cobject.h"\r
110#include "pycapsule.h"\r
111#include "traceback.h"\r
112#include "sliceobject.h"\r
113#include "cellobject.h"\r
114#include "iterobject.h"\r
115#include "genobject.h"\r
116#include "descrobject.h"\r
117#include "warnings.h"\r
118#include "weakrefobject.h"\r
119\r
120#include "codecs.h"\r
121#include "pyerrors.h"\r
122\r
123#include "pystate.h"\r
124\r
125#include "pyarena.h"\r
126#include "modsupport.h"\r
127#include "pythonrun.h"\r
128#include "ceval.h"\r
129#include "sysmodule.h"\r
130#include "intrcheck.h"\r
131#include "import.h"\r
132\r
133#include "abstract.h"\r
134\r
135#include "compile.h"\r
136#include "eval.h"\r
137\r
138#include "pyctype.h"\r
139#include "pystrtod.h"\r
140#include "pystrcmp.h"\r
141#include "dtoa.h"\r
142\r
143/* _Py_Mangle is defined in compile.c */\r
144PyAPI_FUNC(PyObject*) _Py_Mangle(PyObject *p, PyObject *name);\r
145\r
146/* PyArg_GetInt is deprecated and should not be used, use PyArg_Parse(). */\r
147#define PyArg_GetInt(v, a) PyArg_Parse((v), "i", (a))\r
148\r
149/* PyArg_NoArgs should not be necessary.\r
150 Set ml_flags in the PyMethodDef to METH_NOARGS. */\r
151#define PyArg_NoArgs(v) PyArg_Parse(v, "")\r
152\r
153/* Argument must be a char or an int in [-128, 127] or [0, 255]. */\r
154#define Py_CHARMASK(c) ((unsigned char)((c) & 0xff))\r
155\r
156#include "pyfpe.h"\r
157\r
158/* These definitions must match corresponding definitions in graminit.h.\r
159 There's code in compile.c that checks that they are the same. */\r
160#define Py_single_input 256\r
161#define Py_file_input 257\r
162#define Py_eval_input 258\r
163\r
164#ifdef HAVE_PTH\r
165/* GNU pth user-space thread support */\r
166#include <pth.h>\r
167#endif\r
168\r
169/* Define macros for inline documentation. */\r
170#define PyDoc_VAR(name) static char name[]\r
171#define PyDoc_STRVAR(name,str) PyDoc_VAR(name) = PyDoc_STR(str)\r
172#ifdef WITH_DOC_STRINGS\r
173#define PyDoc_STR(str) str\r
174#else\r
175#define PyDoc_STR(str) ""\r
176#endif\r
177\r
178#endif /* !Py_PYTHON_H */\r