1#define NS_INLINE
2#include "Python.h"
3#include "pyobjc-api.h"
4#import <Foundation/Foundation.h>
5
6static PyObjC_function_map function_map[] = {
7	{"NSConvertHostDoubleToSwapped", (PyObjC_Function_Pointer)&NSConvertHostDoubleToSwapped },
8	{"NSConvertHostFloatToSwapped", (PyObjC_Function_Pointer)&NSConvertHostFloatToSwapped },
9	{"NSConvertSwappedDoubleToHost", (PyObjC_Function_Pointer)&NSConvertSwappedDoubleToHost },
10	{"NSConvertSwappedFloatToHost", (PyObjC_Function_Pointer)&NSConvertSwappedFloatToHost },
11	{"NSDecimalIsNotANumber", (PyObjC_Function_Pointer)&NSDecimalIsNotANumber },
12	{"NSEqualRanges", (PyObjC_Function_Pointer)&NSEqualRanges },
13	{"NSHeight", (PyObjC_Function_Pointer)&NSHeight },
14	{"NSHostByteOrder", (PyObjC_Function_Pointer)&NSHostByteOrder },
15	{"NSLocationInRange", (PyObjC_Function_Pointer)&NSLocationInRange },
16	{"NSMakePoint", (PyObjC_Function_Pointer)&NSMakePoint },
17	{"NSMakeRange", (PyObjC_Function_Pointer)&NSMakeRange },
18	{"NSMakeRect", (PyObjC_Function_Pointer)&NSMakeRect },
19	{"NSMakeSize", (PyObjC_Function_Pointer)&NSMakeSize },
20	{"NSMaxRange", (PyObjC_Function_Pointer)&NSMaxRange },
21	{"NSMaxX", (PyObjC_Function_Pointer)&NSMaxX },
22	{"NSMaxY", (PyObjC_Function_Pointer)&NSMaxY },
23	{"NSMidX", (PyObjC_Function_Pointer)&NSMidX },
24	{"NSMidY", (PyObjC_Function_Pointer)&NSMidY },
25	{"NSMinX", (PyObjC_Function_Pointer)&NSMinX },
26	{"NSMinY", (PyObjC_Function_Pointer)&NSMinY },
27	{"NSSwapBigDoubleToHost", (PyObjC_Function_Pointer)&NSSwapBigDoubleToHost },
28	{"NSSwapBigDoubleToHost", (PyObjC_Function_Pointer)&NSSwapBigDoubleToHost },
29	{"NSSwapBigFloatToHost", (PyObjC_Function_Pointer)&NSSwapBigFloatToHost },
30	{"NSSwapBigFloatToHost", (PyObjC_Function_Pointer)&NSSwapBigFloatToHost },
31	{"NSSwapBigIntToHost", (PyObjC_Function_Pointer)&NSSwapBigIntToHost },
32	{"NSSwapBigLongLongToHost", (PyObjC_Function_Pointer)&NSSwapBigLongLongToHost },
33	{"NSSwapBigLongToHost", (PyObjC_Function_Pointer)&NSSwapBigLongToHost },
34	{"NSSwapBigShortToHost", (PyObjC_Function_Pointer)&NSSwapBigShortToHost },
35	{"NSSwapDouble", (PyObjC_Function_Pointer)&NSSwapDouble },
36	{"NSSwapFloat", (PyObjC_Function_Pointer)&NSSwapFloat },
37	{"NSSwapHostDoubleToBig", (PyObjC_Function_Pointer)&NSSwapHostDoubleToBig },
38	{"NSSwapHostDoubleToBig", (PyObjC_Function_Pointer)&NSSwapHostDoubleToBig },
39	{"NSSwapHostDoubleToLittle", (PyObjC_Function_Pointer)&NSSwapHostDoubleToLittle },
40	{"NSSwapHostDoubleToLittle", (PyObjC_Function_Pointer)&NSSwapHostDoubleToLittle },
41	{"NSSwapHostFloatToBig", (PyObjC_Function_Pointer)&NSSwapHostFloatToBig },
42	{"NSSwapHostFloatToBig", (PyObjC_Function_Pointer)&NSSwapHostFloatToBig },
43	{"NSSwapHostFloatToLittle", (PyObjC_Function_Pointer)&NSSwapHostFloatToLittle },
44	{"NSSwapHostFloatToLittle", (PyObjC_Function_Pointer)&NSSwapHostFloatToLittle },
45	{"NSSwapHostIntToBig", (PyObjC_Function_Pointer)&NSSwapHostIntToBig },
46	{"NSSwapHostIntToLittle", (PyObjC_Function_Pointer)&NSSwapHostIntToLittle },
47	{"NSSwapHostLongLongToBig", (PyObjC_Function_Pointer)&NSSwapHostLongLongToBig },
48	{"NSSwapHostLongLongToLittle", (PyObjC_Function_Pointer)&NSSwapHostLongLongToLittle },
49	{"NSSwapHostLongToBig", (PyObjC_Function_Pointer)&NSSwapHostLongToBig },
50	{"NSSwapHostLongToLittle", (PyObjC_Function_Pointer)&NSSwapHostLongToLittle },
51	{"NSSwapHostShortToBig", (PyObjC_Function_Pointer)&NSSwapHostShortToBig },
52	{"NSSwapHostShortToLittle", (PyObjC_Function_Pointer)&NSSwapHostShortToLittle },
53	{"NSSwapInt", (PyObjC_Function_Pointer)&NSSwapInt },
54	{"NSSwapLittleDoubleToHost", (PyObjC_Function_Pointer)&NSSwapLittleDoubleToHost },
55	{"NSSwapLittleDoubleToHost", (PyObjC_Function_Pointer)&NSSwapLittleDoubleToHost },
56	{"NSSwapLittleFloatToHost", (PyObjC_Function_Pointer)&NSSwapLittleFloatToHost },
57	{"NSSwapLittleFloatToHost", (PyObjC_Function_Pointer)&NSSwapLittleFloatToHost },
58	{"NSSwapLittleIntToHost", (PyObjC_Function_Pointer)&NSSwapLittleIntToHost },
59	{"NSSwapLittleLongLongToHost", (PyObjC_Function_Pointer)&NSSwapLittleLongLongToHost },
60	{"NSSwapLittleLongToHost", (PyObjC_Function_Pointer)&NSSwapLittleLongToHost },
61	{"NSSwapLittleShortToHost", (PyObjC_Function_Pointer)&NSSwapLittleShortToHost },
62	{"NSSwapLong", (PyObjC_Function_Pointer)&NSSwapLong },
63	{"NSSwapLongLong", (PyObjC_Function_Pointer)&NSSwapLongLong },
64	{"NSSwapShort", (PyObjC_Function_Pointer)&NSSwapShort },
65	{"NSWidth", (PyObjC_Function_Pointer)&NSWidth },
66
67#ifndef NO_OBJC2_RUNTIME
68	{"NSMakeCollectable", (PyObjC_Function_Pointer)&NSMakeCollectable },
69	{"NSPointFromCGPoint", (PyObjC_Function_Pointer)&NSPointFromCGPoint },
70	{"NSPointToCGPoint", (PyObjC_Function_Pointer)&NSPointToCGPoint },
71	{"NSRectFromCGRect", (PyObjC_Function_Pointer)&NSRectFromCGRect },
72	{"NSRectToCGRect", (PyObjC_Function_Pointer)&NSRectToCGRect },
73	{"NSSizeFromCGSize", (PyObjC_Function_Pointer)&NSSizeFromCGSize },
74	{"NSSizeToCGSize", (PyObjC_Function_Pointer)&NSSizeToCGSize },
75#endif
76	
77    { 0, 0 }
78};
79
80static PyMethodDef mod_methods[] = {
81        { 0, 0, 0, 0 } /* sentinel */
82};
83
84/* Python glue */
85#if PY_VERSION_HEX >= 0x03000000
86
87static struct PyModuleDef mod_module = {
88        PyModuleDef_HEAD_INIT,
89	"_inlines",
90	NULL,
91	0,
92	mod_methods,
93	NULL,
94	NULL,
95	NULL,
96	NULL
97};
98
99#define INITERROR() return NULL
100#define INITDONE() return m
101
102PyObject* PyInit__inlines(void);
103
104PyObject*
105PyInit__inlines(void)
106
107#else
108
109#define INITERROR() return
110#define INITDONE() return
111
112void init_inlines(void);
113
114void
115init_inlines(void)
116#endif
117{
118	PyObject* m;
119#if PY_VERSION_HEX >= 0x03000000
120	m = PyModule_Create(&mod_module);
121#else
122	m = Py_InitModule4("_inlines", mod_methods,
123		NULL, NULL, PYTHON_API_VERSION);
124#endif
125
126
127	if (PyModule_AddObject(m, "_inline_list_", 
128		PyObjC_CreateInlineTab(function_map)) < 0)
129
130		INITERROR();
131
132	INITDONE();
133}
134