summaryrefslogtreecommitdiff
path: root/Objective-C/libobjcl.h
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2008-02-09 22:54:14 +0100
committerMatthias Benkard <code@mail.matthias.benkard.de>2008-02-09 22:54:14 +0100
commit7d44a3313c9be065f962975b362d29684bcd3418 (patch)
tree889a04075aaab2fc7967912890a69b74a364123b /Objective-C/libobjcl.h
parent8cab8f5237616e10d3f5fb35d2a701ec779159c9 (diff)
Objective-C layer: Add functions for class creation.
darcs-hash:d604bd4a63ca384220760be319d64759ebbd9517
Diffstat (limited to 'Objective-C/libobjcl.h')
-rw-r--r--Objective-C/libobjcl.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/Objective-C/libobjcl.h b/Objective-C/libobjcl.h
index afe9f56..56654fc 100644
--- a/Objective-C/libobjcl.h
+++ b/Objective-C/libobjcl.h
@@ -45,6 +45,7 @@ typedef struct objc_ivar *IVAR_T;
#ifdef HAVE_SYS_SEM_H
#include <sys/sem.h>
+#ifndef __APPLE__
/* According to the Single Unix Specification, Version 3, the semun
union type must be defined by the application writer as follows: */
union semun
@@ -54,6 +55,7 @@ union semun
unsigned short *array; /* Array for GETALL, SETALL */
};
#endif
+#endif
extern NSException *objcl_oom_exception;
extern id objcl_current_exception;
@@ -174,3 +176,24 @@ objcl_release_lock (void *lock);
void
objcl_initialise_lock (void **lock);
+
+Class
+objcl_create_class (const char *class_name,
+ const char *superclass,
+ int protocol_number,
+ const char *protocol_names[],
+ int ivar_number,
+ const char *ivar_names[],
+ const char *ivar_typespecs[]);
+
+void
+objcl_add_method (Class class,
+ SEL method_name,
+ IMP callback,
+ int argc,
+ const char *return_typespec,
+ const char *arg_typespecs[],
+ const char *signature);
+
+void
+objcl_finalise_class (Class class);