#include "sysdep.h"
#include "concord.h"
#include "cos.h"
+#include "cos-hash.h"
#ifndef SIZEOF_COS_INT
# define SIZEOF_COS_INT SIZEOF_VOID_P
#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
unsigned char* data;
};
+int cos_retain_string (COS_Object obj);
int cos_release_string (COS_Object obj);
COS_Symbol cos_make_symbol (COS_String string);
+int cos_retain_symbol (COS_Object obj);
int cos_release_symbol (COS_Object obj);
#define COS_CDR(obj) \
(((COS_Cons)(obj))->cdr)
+int cos_retain_cons (COS_Object obj);
int cos_release_cons (COS_Object obj);
COS_Object* data;
};
+int cos_retain_container (COS_Object obj);
int cos_release_container (COS_Object obj);
char* data;
};
+int cos_retain_sexp (COS_Object obj);
int cos_release_sexp (COS_Object obj);
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);
+struct COS_Feature_ent
+{
+ COS_Object_Header header;
+ CONCORD_Genre genre;
+ char* name;
+ DB* db;
+ u_int32_t access;
+ COS_Hash_Table value_table;
+};
+
+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);
COS_Object id;
};
+int cos_retain_db_object (COS_Object obj);
int cos_release_db_object (COS_Object obj);
#if 0