summaryrefslogtreecommitdiff
path: root/Objective-C/objc_support.h
blob: a9b4b28406c0e0cc75581fb28db418d3deae0d04 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/* Copyright (c) 1996,97,98 by Lele Gaifax.  All Rights Reserved
 * Copyright (2) 2003 Ronald Oussoren
 *
 * This software may be used and distributed freely for any purpose
 * provided that this notice is included unchanged on any and all
 * copies. The author does not warrant or guarantee this software in
 * any way.
 *
 * This file is part of the PyObjC package.
 *
 * RCSfile: objc_support.h,v
 * Revision: 1.16
 * Date: 1998/08/18 15:35:57
 *
 * Created Tue Sep 10 14:11:38 1996.
 *
 * TODO: the functions exported by this file should be changed, the names
 * should start with 'PyObjC' and should be the same as the names used in
 * pyobjc-api.h (where appropriate).
 */

#ifndef _objc_support_H
#define _objc_support_H

#ifdef GNU_RUNTIME

#  include "objc-runtime-gnu.h"

#else /* NeXTSTEP / Mac OS X */

#  include "objc-runtime-apple.h"

#endif 

extern ssize_t PyObjCRT_SizeOfReturnType(const char* type);
extern ssize_t PyObjCRT_SizeOfType(const char *type);
extern ssize_t PyObjCRT_AlignOfType(const char *type);
extern const char *PyObjCRT_SkipTypeSpec (const char *type);
extern const char* PyObjCRT_SkipTypeQualifiers (const char* type);

extern int PyObjCRT_SetupClass(
	Class, Class, const char*, Class, Class, ssize_t, struct objc_ivar_list*,
	struct objc_protocol_list*);
extern void PyObjCRT_ClearClass(Class cls);

#endif /* _objc_support_H */