Blob Blame History Raw
#ifndef PY_LINKAGE_INITTAB_H
#define PY_LINKAGE_INITTAB_H

#define PY_INIT_FUNC(x) extern void x(void)
#define PY_INIT_PTR(x)  void (*x)(void)

#ifdef   PY_ALL_STATIC
#include "static.h"
#endif

#ifdef   PY_FOR_PYCOMPILE
#include "pycompile.h"
#endif

struct _inittab {
	char * name;
	PY_INIT_PTR(initfunc);
};

PY_INIT_FUNC(initthread);
PY_INIT_FUNC(initsignal);
PY_INIT_FUNC(initposix);
PY_INIT_FUNC(initerrno);
PY_INIT_FUNC(initpwd);
PY_INIT_FUNC(init_sre);
PY_INIT_FUNC(init_codecs);
PY_INIT_FUNC(init_weakref);
PY_INIT_FUNC(initzipimport);
PY_INIT_FUNC(init_symtable);
PY_INIT_FUNC(initxxsubtype);

PY_INIT_FUNC(PyMarshal_Init);
PY_INIT_FUNC(initimp);
PY_INIT_FUNC(initgc);
PY_INIT_FUNC(init_ast);
PY_INIT_FUNC(_PyWarnings_Init);

#define PY_IMPORT_INITTAB_BASE			\
	{"__main__",	0},			\
	{"__builtin__",	0},			\
	{"sys",		0},			\
	{"exceptions",	0},			\
	{"_ast",	init_ast},		\
	{"gc",		initgc},		\
	{"imp",		initimp},		\
	{"marshal",	PyMarshal_Init},	\
	{"_warnings",	_PyWarnings_Init}


#define PY_IMPORT_INITTAB_COMMON		\
	{"thread",	initthread},		\
	{"signal",	initsignal},		\
	{"posix",	initposix},		\
	{"errno",	initerrno},		\
	{"pwd",		initpwd},		\
	{"_sre",	init_sre},		\
	{"_codecs",	init_codecs},		\
	{"_weakref",	init_weakref},		\
	{"zipimport",	initzipimport},		\
	{"_symtable",	init_symtable},		\
	{"xxsubtype",	initxxsubtype}


#define PY_IMPORT_INITTAB_ANYOS_CORE			\
	{"_bisect",		init_bisect},		\
	{"_codecs_cn",		init_codecs_cn},	\
	{"_codecs_hk",		init_codecs_hk},	\
	{"_codecs_iso2022",	init_codecs_iso2022},	\
	{"_codecs_jp",		init_codecs_jp},	\
	{"_codecs_kr",		init_codecs_kr},	\
	{"_codecs_tw",		init_codecs_tw},	\
	{"_collections",	init_collections},	\
	{"_csv",		init_csv},		\
	{"_ctypes",		init_ctypes},		\
	{"_ctypes_test",	init_ctypes_test},	\
	{"_curses",		init_curses},		\
	{"_curses_panel",	init_curses_panel},	\
	{"_elementtree",	init_elementtree},	\
	{"_functools",		init_functools},	\
	{"_hashlib",		init_hashlib},		\
	{"_heapq",		init_heapq},		\
	{"_hotshot",		init_hotshot},		\
	{"_io",			init_io},		\
	{"_json",		init_json},		\
	{"_locale",		init_locale},		\
	{"_lsprof",		init_lsprof},		\
	{"_multibytecodec",	init_multibytecodec},	\
	{"_multiprocessing",	init_multiprocessing},	\
	{"_random",		init_random},		\
	{"_socket",		init_socket},		\
	{"_sqlite3",		init_sqlite3},		\
	{"_ssl",		init_ssl},		\
	{"_struct",		init_struct},		\
	{"_testcapi",		init_testcapi},		\
	{"array",		initarray},		\
	{"binascii",		initbinascii},		\
	{"bz2",			initbz2},		\
	{"cPickle",		initcPickle},		\
	{"cStringIO",		initcStringIO},		\
	{"cmath",		initcmath},		\
	{"crypt",		initcrypt},		\
	{"datetime",		initdatetime},		\
	{"dbm",			initdbm},		\
	{"fcntl",		initfcntl},		\
	{"future_builtins",	initfuture_builtins},	\
	{"gdbm",		initgdbm},		\
	{"grp",			initgrp},		\
	{"itertools",		inititertools},		\
	{"math",		initmath},		\
	{"mmap",		initmmap},		\
	{"operator",		initoperator},		\
	{"parser",		initparser},		\
	{"pyexpat",		initpyexpat},		\
	{"readline",		initreadline},		\
	{"resource",		initresource},		\
	{"select",		initselect},		\
	{"spwd",		initspwd},		\
	{"strop",		initstrop},		\
	{"syslog",		initsyslog},		\
	{"termios",		inittermios},		\
	{"time",		inittime},		\
	{"unicodedata",		initunicodedata},	\
	{"zlib",		initzlib}


#define PY_IMPORT_INITTAB_ANYOS_AUDIO			\
	{"audioop",		initaudioop},		\
	{"ossaudiodev",		initossaudiodev}


#define PY_IMPORT_INITTAB_LINUX_AUDIO			\
	{"linuxaudiodev",	initlinuxaudiodev}

#endif