X-Git-Url: http://git.chise.org/gitweb/?p=chise%2Fconcord.git;a=blobdiff_plain;f=cos-i.h;h=4ed55405573da318dd5b6e4d5d184ff5101d7261;hp=73450dc6a7bed28534a7cf6305caba345a6534e7;hb=5ec4a964f1dd628a493661d72b6f5960dfec57a2;hpb=ecedcc1ac0d1986c8a75fdf17e62930636c45b59 diff --git a/cos-i.h b/cos-i.h index 73450dc..4ed5540 100644 --- a/cos-i.h +++ b/cos-i.h @@ -115,6 +115,7 @@ enum COS_Object_Type { #define COS_FAT_OBJECT_TYPE_MIN COS_Object_Type_String #define COS_OBJECT_TYPE_MAX COS_Object_Type_DB_Object +extern int (*COS_Object_retain_function_table[]) (COS_Object); extern int (*COS_Object_release_function_table[]) (COS_Object); struct COS_Object_ent @@ -179,6 +180,7 @@ struct COS_String_ent unsigned char* data; }; +int cos_retain_string (COS_Object obj); int cos_release_string (COS_Object obj); @@ -192,6 +194,7 @@ struct COS_Symbol_ent COS_Symbol cos_make_symbol (COS_String string); +int cos_retain_symbol (COS_Object obj); int cos_release_symbol (COS_Object obj); @@ -229,6 +232,7 @@ struct COS_Cons_ent #define COS_CDR(obj) \ (((COS_Cons)(obj))->cdr) +int cos_retain_cons (COS_Object obj); int cos_release_cons (COS_Object obj); @@ -243,6 +247,7 @@ struct COS_Container_ent COS_Object* data; }; +int cos_retain_container (COS_Object obj); int cos_release_container (COS_Object obj); @@ -254,6 +259,7 @@ struct COS_Sexp_ent char* data; }; +int cos_retain_sexp (COS_Object obj); int cos_release_sexp (COS_Object obj); @@ -265,22 +271,27 @@ struct COS_Binary_ent unsigned char* data; }; +int cos_retain_binary (COS_Object obj); int cos_release_binary (COS_Object obj); +int cos_retain_ds (COS_Object obj); int cos_release_ds (COS_Object obj); +int cos_retain_genre (COS_Object obj); int cos_release_genre (COS_Object obj); int concord_close_genre (COS_Genre genre); +int cos_retain_feature (COS_Object obj); int cos_release_feature (COS_Object obj); int concord_close_feature (COS_Feature feature); +int cos_retain_index (COS_Object obj); int cos_release_index (COS_Object obj); int concord_close_index (COS_Feature_INDEX table); @@ -294,6 +305,7 @@ struct COS_DB_Object_ent COS_Object id; }; +int cos_retain_db_object (COS_Object obj); int cos_release_db_object (COS_Object obj); #if 0