| 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 : |