#ifndef _NUCLEUS_OBJECT_H #define _NUCLEUS_OBJECT_H typedef struct ObjectType ObjectType; typedef struct Object Object; /* Object Type */ struct ObjectType { unsigned int count; unsigned int usage; void *(*new)(void); void (*delete)(Object *); }; /* Object */ struct Object { ObjectType *type; unsigned int usage; }; void *get(void *addr); void put(void *addr); void *new(ObjectType *type); #endif