|
|
1.1 root 1: /*
2: * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
3: *
4: * @APPLE_LICENSE_HEADER_START@
5: *
6: * "Portions Copyright (c) 1999 Apple Computer, Inc. All Rights
7: * Reserved. This file contains Original Code and/or Modifications of
8: * Original Code as defined in and that are subject to the Apple Public
9: * Source License Version 1.0 (the 'License'). You may not use this file
10: * except in compliance with the License. Please obtain a copy of the
11: * License at http://www.apple.com/publicsource and read it before using
12: * this file.
13: *
14: * The Original Code and all software distributed under the License are
15: * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
16: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
17: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
18: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
19: * License for the specific language governing rights and limitations
20: * under the License."
21: *
22: * @APPLE_LICENSE_HEADER_END@
23: */
24: /*
25: * objc.h
26: * Copyright 1988, NeXT, Inc.
27: */
28:
29: #ifndef _OBJC_OBJC_H_
30: #define _OBJC_OBJC_H_
31:
32: typedef struct objc_class *Class;
33:
34: typedef struct objc_object {
35: Class isa;
36: } *id;
37:
38: typedef struct objc_selector *SEL;
39: typedef char * STR;
40: typedef id (*IMP)(id, SEL, ...);
41: typedef char BOOL;
42:
43: extern BOOL sel_isMapped(SEL sel);
44: extern const char *sel_getName(SEL sel);
45: extern SEL sel_getUid(const char *str);
46: extern SEL sel_registerName(const char *str);
47: extern const char *object_getClassName(id obj);
48: extern void *object_getIndexedIvars(id obj);
49:
50: #define YES (BOOL)1
51: #define NO (BOOL)0
52: #define ISSELECTOR(sel) sel_isMapped(sel)
53: #define SELNAME(sel) sel_getName(sel)
54: #define SELUID(str) sel_getUid(str)
55: #define NAMEOF(obj) object_getClassName(obj)
56: #define IV(obj) object_getIndexedIvars(obj)
57:
58: #define Nil (Class)0 /* id of Nil class */
59: #define nil (id)0 /* id of Nil instance */
60:
61: #endif /* _OBJC_OBJC_H_ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.