| Camel Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | Object Hierarchy | ||||
typedef camel_hash_t; CamelPartitionKey; CamelPartitionKeyBlock; CamelPartitionMap; CamelPartitionMapBlock; CamelPartitionTable; CamelPartitionTable * camel_partition_table_new (struct _CamelBlockFile *bs, camel_block_t root); gint camel_partition_table_sync (CamelPartitionTable *cpi); gint camel_partition_table_add (CamelPartitionTable *cpi, const gchar *key, camel_key_t keyid); camel_key_t camel_partition_table_lookup (CamelPartitionTable *cpi, const gchar *key); gboolean camel_partition_table_remove (CamelPartitionTable *cpi, const gchar *key); CamelKeyBlock; CamelKeyRootBlock; struct CamelKeyKey; #define CAMEL_KEY_TABLE_MAX_KEY CamelKeyTable; CamelKeyTable * camel_key_table_new (CamelBlockFile *bs, camel_block_t root); gint camel_key_table_sync (CamelKeyTable *ki); camel_key_t camel_key_table_add (CamelKeyTable *ki, const gchar *key, camel_block_t data, guint flags); gboolean camel_key_table_set_data (CamelKeyTable *ki, camel_key_t keyid, camel_block_t data); gboolean camel_key_table_set_flags (CamelKeyTable *ki, camel_key_t keyid, guint flags, guint set); camel_block_t camel_key_table_lookup (CamelKeyTable *ki, camel_key_t keyid, gchar **key, guint *flags); camel_key_t camel_key_table_next (CamelKeyTable *ki, camel_key_t next, gchar **keyp, guint *flagsp, camel_block_t *datap);
GObject +----CamelObject +----CamelPartitionTable
GObject +----CamelObject +----CamelKeyTable
typedef struct {
guint32 used;
struct _CamelPartitionKey keys[(CAMEL_BLOCK_SIZE-4)/sizeof(struct _CamelPartitionKey)];
} CamelPartitionKeyBlock;
typedef struct {
camel_block_t next;
guint32 used;
struct _CamelPartitionMap partition[(CAMEL_BLOCK_SIZE-8)/sizeof(struct _CamelPartitionMap)];
} CamelPartitionMapBlock;
CamelPartitionTable * camel_partition_table_new (struct _CamelBlockFile *bs, camel_block_t root);
|
|
|
|
Returns : |
gint camel_partition_table_sync (CamelPartitionTable *cpi);
|
|
Returns : |
gint camel_partition_table_add (CamelPartitionTable *cpi, const gchar *key, camel_key_t keyid);
|
|
|
|
|
|
Returns : |
camel_key_t camel_partition_table_lookup (CamelPartitionTable *cpi, const gchar *key);
|
|
|
|
Returns : |
gboolean camel_partition_table_remove (CamelPartitionTable *cpi, const gchar *key);
|
|
|
|
Returns : |
typedef struct {
camel_block_t next;
guint32 used;
union {
struct _CamelKeyKey keys[(CAMEL_BLOCK_SIZE-8)/sizeof(struct _CamelKeyKey)];
gchar keydata[CAMEL_BLOCK_SIZE-8];
} u;
} CamelKeyBlock;
typedef struct {
camel_block_t first;
camel_block_t last;
camel_key_t free; /* free list */
} CamelKeyRootBlock;
CamelKeyTable * camel_key_table_new (CamelBlockFile *bs, camel_block_t root);
|
|
|
|
Returns : |
camel_key_t camel_key_table_add (CamelKeyTable *ki, const gchar *key, camel_block_t data, guint flags);
|
|
|
|
|
|
|
|
Returns : |
gboolean camel_key_table_set_data (CamelKeyTable *ki, camel_key_t keyid, camel_block_t data);
|
|
|
|
|
|
Returns : |
gboolean camel_key_table_set_flags (CamelKeyTable *ki, camel_key_t keyid, guint flags, guint set);
|
|
|
|
|
|
|
|
Returns : |
camel_block_t camel_key_table_lookup (CamelKeyTable *ki, camel_key_t keyid, gchar **key, guint *flags);
|
|
|
|
|
|
|
|
Returns : |
camel_key_t camel_key_table_next (CamelKeyTable *ki, camel_key_t next, gchar **keyp, guint *flagsp, camel_block_t *datap);
|
|
|
|
|
|
|
|
|
|
Returns : |