Kaydet (Commit) 5eb6d4e3 authored tarafından Fred Drake's avatar Fred Drake

ANSI-fication and Py_PROTO extermination.

üst ff7df9d7
#ifndef Py_BITSET_H
#define Py_BITSET_H
#ifdef __cplusplus
extern "C" {
#endif
/*********************************************************** /***********************************************************
Copyright (c) 2000, BeOpen.com. Copyright (c) 2000, BeOpen.com.
Copyright (c) 1995-2000, Corporation for National Research Initiatives. Copyright (c) 1995-2000, Corporation for National Research Initiatives.
...@@ -14,18 +8,24 @@ See the file "Misc/COPYRIGHT" for information on usage and ...@@ -14,18 +8,24 @@ See the file "Misc/COPYRIGHT" for information on usage and
redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
******************************************************************/ ******************************************************************/
#ifndef Py_BITSET_H
#define Py_BITSET_H
#ifdef __cplusplus
extern "C" {
#endif
/* Bitset interface */ /* Bitset interface */
#define BYTE char #define BYTE char
typedef BYTE *bitset; typedef BYTE *bitset;
bitset newbitset Py_PROTO((int nbits)); bitset newbitset(int nbits);
void delbitset Py_PROTO((bitset bs)); void delbitset(bitset bs);
#define testbit(ss, ibit) (((ss)[BIT2BYTE(ibit)] & BIT2MASK(ibit)) != 0) #define testbit(ss, ibit) (((ss)[BIT2BYTE(ibit)] & BIT2MASK(ibit)) != 0)
int addbit Py_PROTO((bitset bs, int ibit)); /* Returns 0 if already set */ int addbit(bitset bs, int ibit); /* Returns 0 if already set */
int samebitset Py_PROTO((bitset bs1, bitset bs2, int nbits)); int samebitset(bitset bs1, bitset bs2, int nbits);
void mergebitset Py_PROTO((bitset bs1, bitset bs2, int nbits)); void mergebitset(bitset bs1, bitset bs2, int nbits);
#define BITSPERBYTE (8*sizeof(BYTE)) #define BITSPERBYTE (8*sizeof(BYTE))
#define NBYTES(nbits) (((nbits) + BITSPERBYTE - 1) / BITSPERBYTE) #define NBYTES(nbits) (((nbits) + BITSPERBYTE - 1) / BITSPERBYTE)
......
...@@ -17,37 +17,37 @@ redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. ...@@ -17,37 +17,37 @@ redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
/* Interface to random parts in ceval.c */ /* Interface to random parts in ceval.c */
DL_IMPORT(PyObject *) PyEval_CallObjectWithKeywords DL_IMPORT(PyObject *) PyEval_CallObjectWithKeywords
Py_PROTO((PyObject *, PyObject *, PyObject *)); (PyObject *, PyObject *, PyObject *);
/* DLL-level Backwards compatibility: */ /* DLL-level Backwards compatibility: */
#undef PyEval_CallObject #undef PyEval_CallObject
DL_IMPORT(PyObject *) PyEval_CallObject Py_PROTO((PyObject *, PyObject *)); DL_IMPORT(PyObject *) PyEval_CallObject(PyObject *, PyObject *);
/* Inline this */ /* Inline this */
#define PyEval_CallObject(func,arg) \ #define PyEval_CallObject(func,arg) \
PyEval_CallObjectWithKeywords(func, arg, (PyObject *)NULL) PyEval_CallObjectWithKeywords(func, arg, (PyObject *)NULL)
#ifdef HAVE_STDARG_PROTOTYPES #ifdef HAVE_STDARG_PROTOTYPES
DL_IMPORT(PyObject *) PyEval_CallFunction Py_PROTO((PyObject *obj, char *format, ...)); DL_IMPORT(PyObject *) PyEval_CallFunction(PyObject *obj, char *format, ...);
DL_IMPORT(PyObject *) PyEval_CallMethod Py_PROTO((PyObject *obj, DL_IMPORT(PyObject *) PyEval_CallMethod(PyObject *obj,
char *methodname, char *format, ...)); char *methodname, char *format, ...);
#else #else
/* Better to have no prototypes at all for varargs functions in this case */ /* Better to have no prototypes at all for varargs functions in this case */
DL_IMPORT(PyObject *) PyEval_CallFunction(); DL_IMPORT(PyObject *) PyEval_CallFunction();
DL_IMPORT(PyObject *) PyEval_CallMethod(); DL_IMPORT(PyObject *) PyEval_CallMethod();
#endif #endif
DL_IMPORT(PyObject *) PyEval_GetBuiltins Py_PROTO((void)); DL_IMPORT(PyObject *) PyEval_GetBuiltins(void);
DL_IMPORT(PyObject *) PyEval_GetGlobals Py_PROTO((void)); DL_IMPORT(PyObject *) PyEval_GetGlobals(void);
DL_IMPORT(PyObject *) PyEval_GetLocals Py_PROTO((void)); DL_IMPORT(PyObject *) PyEval_GetLocals(void);
DL_IMPORT(PyObject *) PyEval_GetOwner Py_PROTO((void)); DL_IMPORT(PyObject *) PyEval_GetOwner(void);
DL_IMPORT(PyObject *) PyEval_GetFrame Py_PROTO((void)); DL_IMPORT(PyObject *) PyEval_GetFrame(void);
DL_IMPORT(int) PyEval_GetRestricted Py_PROTO((void)); DL_IMPORT(int) PyEval_GetRestricted(void);
DL_IMPORT(int) Py_FlushLine Py_PROTO((void)); DL_IMPORT(int) Py_FlushLine(void);
DL_IMPORT(int) Py_AddPendingCall Py_PROTO((int (*func) Py_PROTO((ANY *)), ANY *arg)); DL_IMPORT(int) Py_AddPendingCall(int (*func)(ANY *), ANY *arg);
DL_IMPORT(int) Py_MakePendingCalls Py_PROTO((void)); DL_IMPORT(int) Py_MakePendingCalls(void);
/* Interface for threads. /* Interface for threads.
...@@ -95,16 +95,16 @@ DL_IMPORT(int) Py_MakePendingCalls Py_PROTO((void)); ...@@ -95,16 +95,16 @@ DL_IMPORT(int) Py_MakePendingCalls Py_PROTO((void));
mechanism! mechanism!
*/ */
extern DL_IMPORT(PyThreadState *) PyEval_SaveThread Py_PROTO((void)); extern DL_IMPORT(PyThreadState *) PyEval_SaveThread(void);
extern DL_IMPORT(void) PyEval_RestoreThread Py_PROTO((PyThreadState *)); extern DL_IMPORT(void) PyEval_RestoreThread(PyThreadState *);
#ifdef WITH_THREAD #ifdef WITH_THREAD
extern DL_IMPORT(void) PyEval_InitThreads Py_PROTO((void)); extern DL_IMPORT(void) PyEval_InitThreads(void);
extern DL_IMPORT(void) PyEval_AcquireLock Py_PROTO((void)); extern DL_IMPORT(void) PyEval_AcquireLock(void);
extern DL_IMPORT(void) PyEval_ReleaseLock Py_PROTO((void)); extern DL_IMPORT(void) PyEval_ReleaseLock(void);
extern DL_IMPORT(void) PyEval_AcquireThread Py_PROTO((PyThreadState *tstate)); extern DL_IMPORT(void) PyEval_AcquireThread(PyThreadState *tstate);
extern DL_IMPORT(void) PyEval_ReleaseThread Py_PROTO((PyThreadState *tstate)); extern DL_IMPORT(void) PyEval_ReleaseThread(PyThreadState *tstate);
#define Py_BEGIN_ALLOW_THREADS { \ #define Py_BEGIN_ALLOW_THREADS { \
PyThreadState *_save; \ PyThreadState *_save; \
...@@ -123,7 +123,7 @@ extern DL_IMPORT(void) PyEval_ReleaseThread Py_PROTO((PyThreadState *tstate)); ...@@ -123,7 +123,7 @@ extern DL_IMPORT(void) PyEval_ReleaseThread Py_PROTO((PyThreadState *tstate));
#endif /* !WITH_THREAD */ #endif /* !WITH_THREAD */
extern DL_IMPORT(int) _PyEval_SliceIndex Py_PROTO((PyObject *, int *)); extern DL_IMPORT(int) _PyEval_SliceIndex(PyObject *, int *);
#ifdef __cplusplus #ifdef __cplusplus
......
#ifndef Py_EVAL_H
#define Py_EVAL_H
#ifdef __cplusplus
extern "C" {
#endif
/*********************************************************** /***********************************************************
Copyright (c) 2000, BeOpen.com. Copyright (c) 2000, BeOpen.com.
Copyright (c) 1995-2000, Corporation for National Research Initiatives. Copyright (c) 1995-2000, Corporation for National Research Initiatives.
...@@ -16,7 +10,13 @@ redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. ...@@ -16,7 +10,13 @@ redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
/* Interface to execute compiled code */ /* Interface to execute compiled code */
DL_IMPORT(PyObject *) PyEval_EvalCode Py_PROTO((PyCodeObject *, PyObject *, PyObject *)); #ifndef Py_EVAL_H
#define Py_EVAL_H
#ifdef __cplusplus
extern "C" {
#endif
DL_IMPORT(PyObject *) PyEval_EvalCode(PyCodeObject *, PyObject *, PyObject *);
#ifdef __cplusplus #ifdef __cplusplus
} }
......
#ifndef Py_IMPORT_H
#define Py_IMPORT_H
#ifdef __cplusplus
extern "C" {
#endif
/*********************************************************** /***********************************************************
Copyright (c) 2000, BeOpen.com. Copyright (c) 2000, BeOpen.com.
Copyright (c) 1995-2000, Corporation for National Research Initiatives. Copyright (c) 1995-2000, Corporation for National Research Initiatives.
...@@ -16,37 +10,43 @@ redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. ...@@ -16,37 +10,43 @@ redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
/* Module definition and import interface */ /* Module definition and import interface */
DL_IMPORT(long) PyImport_GetMagicNumber Py_PROTO((void)); #ifndef Py_IMPORT_H
DL_IMPORT(PyObject *) PyImport_ExecCodeModule Py_PROTO((char *name, PyObject *co)); #define Py_IMPORT_H
DL_IMPORT(PyObject *) PyImport_ExecCodeModuleEx Py_PROTO(( #ifdef __cplusplus
char *name, PyObject *co, char *pathname)); extern "C" {
DL_IMPORT(PyObject *) PyImport_GetModuleDict Py_PROTO((void)); #endif
DL_IMPORT(PyObject *) PyImport_AddModule Py_PROTO((char *name));
DL_IMPORT(PyObject *) PyImport_ImportModule Py_PROTO((char *name)); DL_IMPORT(long) PyImport_GetMagicNumber(void);
DL_IMPORT(PyObject *) PyImport_ImportModuleEx Py_PROTO(( DL_IMPORT(PyObject *) PyImport_ExecCodeModule(char *name, PyObject *co);
char *name, PyObject *globals, PyObject *locals, PyObject *fromlist)); DL_IMPORT(PyObject *) PyImport_ExecCodeModuleEx(
DL_IMPORT(PyObject *) PyImport_Import Py_PROTO((PyObject *name)); char *name, PyObject *co, char *pathname);
DL_IMPORT(PyObject *) PyImport_ReloadModule Py_PROTO((PyObject *m)); DL_IMPORT(PyObject *) PyImport_GetModuleDict(void);
DL_IMPORT(void) PyImport_Cleanup Py_PROTO((void)); DL_IMPORT(PyObject *) PyImport_AddModule(char *name);
DL_IMPORT(int) PyImport_ImportFrozenModule Py_PROTO((char *)); DL_IMPORT(PyObject *) PyImport_ImportModule(char *name);
DL_IMPORT(PyObject *) PyImport_ImportModuleEx(
extern DL_IMPORT(PyObject *)_PyImport_FindExtension Py_PROTO((char *, char *)); char *name, PyObject *globals, PyObject *locals, PyObject *fromlist);
extern DL_IMPORT(PyObject *)_PyImport_FixupExtension Py_PROTO((char *, char *)); DL_IMPORT(PyObject *) PyImport_Import(PyObject *name);
DL_IMPORT(PyObject *) PyImport_ReloadModule(PyObject *m);
DL_IMPORT(void) PyImport_Cleanup(void);
DL_IMPORT(int) PyImport_ImportFrozenModule(char *);
extern DL_IMPORT(PyObject *)_PyImport_FindExtension(char *, char *);
extern DL_IMPORT(PyObject *)_PyImport_FixupExtension(char *, char *);
struct _inittab { struct _inittab {
char *name; char *name;
void (*initfunc)(); void (*initfunc)();
}; };
extern DL_IMPORT(struct _inittab *) PyImport_Inittab; extern DL_IMPORT(struct _inittab *) PyImport_Inittab;
extern DL_IMPORT(int) PyImport_AppendInittab Py_PROTO((char *name, void (*initfunc)())); extern DL_IMPORT(int) PyImport_AppendInittab(char *name, void (*initfunc)());
extern DL_IMPORT(int) PyImport_ExtendInittab Py_PROTO((struct _inittab *newtab)); extern DL_IMPORT(int) PyImport_ExtendInittab(struct _inittab *newtab);
struct _frozen { struct _frozen {
char *name; char *name;
unsigned char *code; unsigned char *code;
int size; int size;
}; };
/* Embedding apps may change this pointer to point to their favorite /* Embedding apps may change this pointer to point to their favorite
......
#ifndef Py_INTRCHECK_H
#define Py_INTRCHECK_H
#ifdef __cplusplus
extern "C" {
#endif
/*********************************************************** /***********************************************************
Copyright (c) 2000, BeOpen.com. Copyright (c) 2000, BeOpen.com.
Copyright (c) 1995-2000, Corporation for National Research Initiatives. Copyright (c) 1995-2000, Corporation for National Research Initiatives.
...@@ -14,9 +8,15 @@ See the file "Misc/COPYRIGHT" for information on usage and ...@@ -14,9 +8,15 @@ See the file "Misc/COPYRIGHT" for information on usage and
redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
******************************************************************/ ******************************************************************/
extern DL_IMPORT(int) PyOS_InterruptOccurred Py_PROTO((void)); #ifndef Py_INTRCHECK_H
extern DL_IMPORT(void) PyOS_InitInterrupts Py_PROTO((void)); #define Py_INTRCHECK_H
DL_IMPORT(void) PyOS_AfterFork Py_PROTO((void)); #ifdef __cplusplus
extern "C" {
#endif
extern DL_IMPORT(int) PyOS_InterruptOccurred(void);
extern DL_IMPORT(void) PyOS_InitInterrupts(void);
DL_IMPORT(void) PyOS_AfterFork(void);
#ifdef __cplusplus #ifdef __cplusplus
} }
......
#ifndef Py_MARSHAL_H
#define Py_MARSHAL_H
#ifdef __cplusplus
extern "C" {
#endif
/*********************************************************** /***********************************************************
Copyright (c) 2000, BeOpen.com. Copyright (c) 2000, BeOpen.com.
Copyright (c) 1995-2000, Corporation for National Research Initiatives. Copyright (c) 1995-2000, Corporation for National Research Initiatives.
...@@ -16,15 +10,21 @@ redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. ...@@ -16,15 +10,21 @@ redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
/* Interface for marshal.c */ /* Interface for marshal.c */
DL_IMPORT(void) PyMarshal_WriteLongToFile Py_PROTO((long, FILE *)); #ifndef Py_MARSHAL_H
DL_IMPORT(void) PyMarshal_WriteShortToFile Py_PROTO((int, FILE *)); #define Py_MARSHAL_H
DL_IMPORT(void) PyMarshal_WriteObjectToFile Py_PROTO((PyObject *, FILE *)); #ifdef __cplusplus
DL_IMPORT(PyObject *) PyMarshal_WriteObjectToString Py_PROTO((PyObject *)); extern "C" {
#endif
DL_IMPORT(void) PyMarshal_WriteLongToFile(long, FILE *);
DL_IMPORT(void) PyMarshal_WriteShortToFile(int, FILE *);
DL_IMPORT(void) PyMarshal_WriteObjectToFile(PyObject *, FILE *);
DL_IMPORT(PyObject *) PyMarshal_WriteObjectToString(PyObject *);
DL_IMPORT(long) PyMarshal_ReadLongFromFile Py_PROTO((FILE *)); DL_IMPORT(long) PyMarshal_ReadLongFromFile(FILE *);
DL_IMPORT(int) PyMarshal_ReadShortFromFile Py_PROTO((FILE *)); DL_IMPORT(int) PyMarshal_ReadShortFromFile(FILE *);
DL_IMPORT(PyObject *) PyMarshal_ReadObjectFromFile Py_PROTO((FILE *)); DL_IMPORT(PyObject *) PyMarshal_ReadObjectFromFile(FILE *);
DL_IMPORT(PyObject *) PyMarshal_ReadObjectFromString Py_PROTO((char *, int)); DL_IMPORT(PyObject *) PyMarshal_ReadObjectFromString(char *, int);
#ifdef __cplusplus #ifdef __cplusplus
} }
......
#ifndef Py_NODE_H
#define Py_NODE_H
#ifdef __cplusplus
extern "C" {
#endif
/*********************************************************** /***********************************************************
Copyright (c) 2000, BeOpen.com. Copyright (c) 2000, BeOpen.com.
Copyright (c) 1995-2000, Corporation for National Research Initiatives. Copyright (c) 1995-2000, Corporation for National Research Initiatives.
...@@ -16,17 +10,24 @@ redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. ...@@ -16,17 +10,24 @@ redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
/* Parse tree node interface */ /* Parse tree node interface */
#ifndef Py_NODE_H
#define Py_NODE_H
#ifdef __cplusplus
extern "C" {
#endif
typedef struct _node { typedef struct _node {
short n_type; short n_type;
char *n_str; char *n_str;
short n_lineno; short n_lineno;
short n_nchildren; short n_nchildren;
struct _node *n_child; struct _node *n_child;
} node; } node;
extern DL_IMPORT(node *) PyNode_New Py_PROTO((int type)); extern DL_IMPORT(node *) PyNode_New(int type);
extern DL_IMPORT(int) PyNode_AddChild Py_PROTO((node *n, int type, char *str, int lineno)); extern DL_IMPORT(int) PyNode_AddChild(node *n, int type,
extern DL_IMPORT(void) PyNode_Free Py_PROTO((node *n)); char *str, int lineno);
extern DL_IMPORT(void) PyNode_Free(node *n);
/* Node access functions */ /* Node access functions */
#define NCH(n) ((n)->n_nchildren) #define NCH(n) ((n)->n_nchildren)
...@@ -40,13 +41,13 @@ extern DL_IMPORT(void) PyNode_Free Py_PROTO((node *n)); ...@@ -40,13 +41,13 @@ extern DL_IMPORT(void) PyNode_Free Py_PROTO((node *n));
#else #else
#define REQ(n, type) \ #define REQ(n, type) \
{ if (TYPE(n) != (type)) { \ { if (TYPE(n) != (type)) { \
fprintf(stderr, "FATAL: node type %d, required %d\n", \ fprintf(stderr, "FATAL: node type %d, required %d\n", \
TYPE(n), type); \ TYPE(n), type); \
abort(); \ abort(); \
} } } }
#endif #endif
extern DL_IMPORT(void) PyNode_ListTree Py_PROTO((node *)); extern DL_IMPORT(void) PyNode_ListTree(node *);
#ifdef __cplusplus #ifdef __cplusplus
} }
......
#ifndef Py_PARSETOK_H
#define Py_PARSETOK_H
#ifdef __cplusplus
extern "C" {
#endif
/*********************************************************** /***********************************************************
Copyright (c) 2000, BeOpen.com. Copyright (c) 2000, BeOpen.com.
Copyright (c) 1995-2000, Corporation for National Research Initiatives. Copyright (c) 1995-2000, Corporation for National Research Initiatives.
...@@ -16,17 +10,24 @@ redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. ...@@ -16,17 +10,24 @@ redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
/* Parser-tokenizer link interface */ /* Parser-tokenizer link interface */
#ifndef Py_PARSETOK_H
#define Py_PARSETOK_H
#ifdef __cplusplus
extern "C" {
#endif
typedef struct { typedef struct {
int error; int error;
char *filename; char *filename;
int lineno; int lineno;
int offset; int offset;
char *text; char *text;
} perrdetail; } perrdetail;
extern DL_IMPORT(node *) PyParser_ParseString Py_PROTO((char *, grammar *, int, perrdetail *)); extern DL_IMPORT(node *) PyParser_ParseString(char *, grammar *, int,
extern DL_IMPORT(node *) PyParser_ParseFile Py_PROTO((FILE *, char *, grammar *, int, perrdetail *);
char *, char *, perrdetail *)); extern DL_IMPORT(node *) PyParser_ParseFile (FILE *, char *, grammar *, int,
char *, char *, perrdetail *);
#ifdef __cplusplus #ifdef __cplusplus
} }
......
...@@ -24,7 +24,7 @@ extern DL_IMPORT(int) Py_FrozenFlag; ...@@ -24,7 +24,7 @@ extern DL_IMPORT(int) Py_FrozenFlag;
extern DL_IMPORT(int) Py_TabcheckFlag; extern DL_IMPORT(int) Py_TabcheckFlag;
extern DL_IMPORT(int) Py_UnicodeFlag; extern DL_IMPORT(int) Py_UnicodeFlag;
DL_IMPORT(void) Py_FatalError Py_PROTO((char *)); DL_IMPORT(void) Py_FatalError(char *message);
#ifdef __cplusplus #ifdef __cplusplus
} }
......
#ifndef Py_PYSTATE_H
#define Py_PYSTATE_H
#ifdef __cplusplus
extern "C" {
#endif
/*********************************************************** /***********************************************************
Copyright (c) 2000, BeOpen.com. Copyright (c) 2000, BeOpen.com.
Copyright (c) 1995-2000, Corporation for National Research Initiatives. Copyright (c) 1995-2000, Corporation for National Research Initiatives.
...@@ -17,6 +11,12 @@ redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. ...@@ -17,6 +11,12 @@ redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
/* Thread and interpreter state structures and their interfaces */ /* Thread and interpreter state structures and their interfaces */
#ifndef Py_PYSTATE_H
#define Py_PYSTATE_H
#ifdef __cplusplus
extern "C" {
#endif
/* State shared between threads */ /* State shared between threads */
struct _ts; /* Forward */ struct _ts; /* Forward */
...@@ -24,14 +24,14 @@ struct _is; /* Forward */ ...@@ -24,14 +24,14 @@ struct _is; /* Forward */
typedef struct _is { typedef struct _is {
struct _is *next; struct _is *next;
struct _ts *tstate_head; struct _ts *tstate_head;
PyObject *modules; PyObject *modules;
PyObject *sysdict; PyObject *sysdict;
PyObject *builtins; PyObject *builtins;
int checkinterval; int checkinterval;
} PyInterpreterState; } PyInterpreterState;
...@@ -42,43 +42,43 @@ struct _frame; /* Avoid including frameobject.h */ ...@@ -42,43 +42,43 @@ struct _frame; /* Avoid including frameobject.h */
typedef struct _ts { typedef struct _ts {
struct _ts *next; struct _ts *next;
PyInterpreterState *interp; PyInterpreterState *interp;
struct _frame *frame; struct _frame *frame;
int recursion_depth; int recursion_depth;
int ticker; int ticker;
int tracing; int tracing;
PyObject *sys_profilefunc; PyObject *sys_profilefunc;
PyObject *sys_tracefunc; PyObject *sys_tracefunc;
PyObject *curexc_type; PyObject *curexc_type;
PyObject *curexc_value; PyObject *curexc_value;
PyObject *curexc_traceback; PyObject *curexc_traceback;
PyObject *exc_type; PyObject *exc_type;
PyObject *exc_value; PyObject *exc_value;
PyObject *exc_traceback; PyObject *exc_traceback;
PyObject *dict; PyObject *dict;
/* XXX signal handlers should also be here */ /* XXX signal handlers should also be here */
} PyThreadState; } PyThreadState;
DL_IMPORT(PyInterpreterState *) PyInterpreterState_New Py_PROTO((void)); DL_IMPORT(PyInterpreterState *) PyInterpreterState_New(void);
DL_IMPORT(void) PyInterpreterState_Clear Py_PROTO((PyInterpreterState *)); DL_IMPORT(void) PyInterpreterState_Clear(PyInterpreterState *);
DL_IMPORT(void) PyInterpreterState_Delete Py_PROTO((PyInterpreterState *)); DL_IMPORT(void) PyInterpreterState_Delete(PyInterpreterState *);
DL_IMPORT(PyThreadState *) PyThreadState_New Py_PROTO((PyInterpreterState *)); DL_IMPORT(PyThreadState *) PyThreadState_New(PyInterpreterState *);
DL_IMPORT(void) PyThreadState_Clear Py_PROTO((PyThreadState *)); DL_IMPORT(void) PyThreadState_Clear(PyThreadState *);
DL_IMPORT(void) PyThreadState_Delete Py_PROTO((PyThreadState *)); DL_IMPORT(void) PyThreadState_Delete(PyThreadState *);
DL_IMPORT(PyThreadState *) PyThreadState_Get Py_PROTO((void)); DL_IMPORT(PyThreadState *) PyThreadState_Get(void);
DL_IMPORT(PyThreadState *) PyThreadState_Swap Py_PROTO((PyThreadState *)); DL_IMPORT(PyThreadState *) PyThreadState_Swap(PyThreadState *);
DL_IMPORT(PyObject *) PyThreadState_GetDict Py_PROTO((void)); DL_IMPORT(PyObject *) PyThreadState_GetDict(void);
/* Variable and macro for in-line access to current thread state */ /* Variable and macro for in-line access to current thread state */
......
...@@ -71,8 +71,8 @@ struct memberlist { ...@@ -71,8 +71,8 @@ struct memberlist {
#define READONLY 1 #define READONLY 1
#define RO READONLY /* Shorthand */ #define RO READONLY /* Shorthand */
DL_IMPORT(PyObject *) PyMember_Get Py_PROTO((char *, struct memberlist *, char *)); DL_IMPORT(PyObject *) PyMember_Get(char *, struct memberlist *, char *);
DL_IMPORT(int) PyMember_Set Py_PROTO((char *, struct memberlist *, char *, PyObject *)); DL_IMPORT(int) PyMember_Set(char *, struct memberlist *, char *, PyObject *);
#ifdef __cplusplus #ifdef __cplusplus
} }
......
#ifndef Py_TRACEBACK_H
#define Py_TRACEBACK_H
#ifdef __cplusplus
extern "C" {
#endif
/*********************************************************** /***********************************************************
Copyright (c) 2000, BeOpen.com. Copyright (c) 2000, BeOpen.com.
Copyright (c) 1995-2000, Corporation for National Research Initiatives. Copyright (c) 1995-2000, Corporation for National Research Initiatives.
...@@ -14,14 +8,20 @@ See the file "Misc/COPYRIGHT" for information on usage and ...@@ -14,14 +8,20 @@ See the file "Misc/COPYRIGHT" for information on usage and
redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
******************************************************************/ ******************************************************************/
#ifndef Py_TRACEBACK_H
#define Py_TRACEBACK_H
#ifdef __cplusplus
extern "C" {
#endif
/* Traceback interface */ /* Traceback interface */
struct _frame; struct _frame;
DL_IMPORT(int) PyTraceBack_Here Py_PROTO((struct _frame *)); DL_IMPORT(int) PyTraceBack_Here(struct _frame *);
DL_IMPORT(PyObject *) PyTraceBack_Fetch Py_PROTO((void)); DL_IMPORT(PyObject *) PyTraceBack_Fetch(void);
DL_IMPORT(int) PyTraceBack_Store Py_PROTO((PyObject *)); DL_IMPORT(int) PyTraceBack_Store(PyObject *);
DL_IMPORT(int) PyTraceBack_Print Py_PROTO((PyObject *, PyObject *)); DL_IMPORT(int) PyTraceBack_Print(PyObject *, PyObject *);
/* Reveale traceback type so we can typecheck traceback objects */ /* Reveale traceback type so we can typecheck traceback objects */
extern DL_IMPORT(PyTypeObject) PyTraceBack_Type; extern DL_IMPORT(PyTypeObject) PyTraceBack_Type;
......
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