/* * Copyright (C) 2001 Ximian Inc. * * Authors: Michael Zucchi * * This program is free software; you can redistribute it and/or * modify it under the terms of version 2 of the GNU General Public * License as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #ifndef _CAMEL_PARTITION_TABLE_H #define _CAMEL_PARTITION_TABLE_H #include #include #include #include "camel-block-file.h" /* ********************************************************************** */ /* CamelPartitionTable - index of key to keyid */ typedef guint32 camel_hash_t; /* a hashed key */ typedef struct _CamelPartitionKey CamelPartitionKey; typedef struct _CamelPartitionKeyBlock CamelPartitionKeyBlock; typedef struct _CamelPartitionMap CamelPartitionMap; typedef struct _CamelPartitionMapBlock CamelPartitionMapBlock; typedef struct _CamelPartitionTable CamelPartitionTable; typedef struct _CamelPartitionTableClass CamelPartitionTableClass; struct _CamelPartitionKey { camel_hash_t hashid; camel_key_t keyid; }; struct _CamelPartitionKeyBlock { guint32 used; struct _CamelPartitionKey keys[(CAMEL_BLOCK_SIZE-4)/sizeof(struct _CamelPartitionKey)]; }; struct _CamelPartitionMap { camel_hash_t hashid; camel_block_t blockid; }; struct _CamelPartitionMapBlock { camel_block_t next; guint32 used; struct _CamelPartitionMap partition[(CAMEL_BLOCK_SIZE-8)/sizeof(struct _CamelPartitionMap)]; }; struct _CamelPartitionTable { CamelObject parent; struct _CamelPartitionTablePrivate *priv; CamelBlockFile *blocks; camel_block_t rootid; int (*is_key)(CamelPartitionTable *cpi, const char *key, camel_key_t keyid, void *data); void *is_key_data; /* we keep a list of partition blocks active at all times */ EDList partition; }; struct _CamelPartitionTableClass { CamelObjectClass parent; }; CamelType camel_partition_table_get_type(void); CamelPartitionTable *camel_partition_table_new(struct _CamelBlockFile *bs, camel_block_t root); int camel_partition_table_sync(CamelPartitionTable *cpi); int camel_partition_table_add(CamelPartitionTable *cpi, const char *key, camel_key_t keyid); camel_key_t camel_partition_table_lookup(CamelPartitionTable *cpi, const char *key); void camel_partition_table_remove(CamelPartitionTable *cpi, const char *key); /* ********************************************************************** */ /* CamelKeyTable - index of keyid to key and flag and data mapping */ typedef struct _CamelKeyBlock CamelKeyBlock; typedef struct _CamelKeyRootBlock CamelKeyRootBlock; typedef struct _CamelKeyTable CamelKeyTable; typedef struct _CamelKeyTableClass CamelKeyTableClass; struct _CamelKeyRootBlock { camel_block_t first; camel_block_t last; camel_key_t free; /* free list */ }; struct _CamelKeyKey { camel_block_t data; unsigned int offset:10; unsigned int flags:22; }; struct _CamelKeyBlock { camel_block_t next; guint32 used; union { struct _CamelKeyKey keys[(CAMEL_BLOCK_SIZE-8)/sizeof(struct _CamelKeyKey)]; char keydata[CAMEL_BLOCK_SIZE-8]; } u; }; #define CAMEL_KEY_TABLE_MAX_KEY (128) /* max size of any key */ struct _CamelKeyTable { CamelObject parent; struct _CamelKeyTablePrivate *priv; CamelBlockFile *blocks; camel_block_t rootid; CamelKeyRootBlock *root; CamelBlock *root_block; }; struct _CamelKeyTableClass { CamelObjectClass parent; }; CamelType camel_key_table_get_type(void); CamelKeyTable * camel_key_table_new(CamelBlockFile *bs, camel_block_t root); int camel_key_table_sync(CamelKeyTable *ki); camel_key_t camel_key_table_add(CamelKeyTable *ki, const char *key, camel_block_t data, unsigned int flags); void camel_key_table_set_data(CamelKeyTable *ki, camel_key_t keyid, camel_block_t data); void camel_key_table_set_flags(CamelKeyTable *ki, camel_key_t keyid, unsigned int flags, unsigned int set); camel_block_t camel_key_table_lookup(CamelKeyTable *ki, camel_key_t keyid, char **key, unsigned int *flags); camel_key_t camel_key_table_next(CamelKeyTable *ki, camel_key_t next, char **keyp, unsigned int *flagsp, camel_block_t *datap); #endif /* ! _CAMEL_PARTITION_TABLE_H */ UTION_2_4_1&id=637fb0f2779b0759b995f28ba5fbd225f562a723'>Updated Norwegian translation.Kjartan Maraas2001-06-021-0/+4 * Update list of filesJP Rosevear2001-06-021-966/+1050 * Update list of filesJP Rosevear2001-06-022-3/+12 * Added camel-cms-context.cJeffrey Stedfast2001-06-012-0/+5 * Updated Norwegian translation.Kjartan Maraas2001-05-292-609/+664 * Updated Hungarian translationAndras Timar2001-05-282-510/+575 * Updated Swedish translation.Christian Rose2001-05-262-1128/+1737 * updated Azeri filePablo Saratxaga2001-05-262-57/+30 * *** empty log message ***Akira Tagoh2001-05-261-2/+2 * Added shell/e-storage-set-view.etspec.Christopher James Lahey2001-05-262-0/+5 * Updated Japanese translationAkira TAGOH2001-05-232-350/+406 * Updated Hungarian translation (andras)Szabolcs Ban2001-05-222-125/+150 * Updated Spanish translation.Hector Garcia2001-05-222-1096/+1816 * fixed multibytePablo Saratxaga2001-05-222-9/+4 * Updated. Updated Norwegian translation.Kjartan Maraas2001-05-213-25/+49 * Updated Norwegian translation.Kjartan Maraas2001-05-212-503/+654 * Updated Hungarian translation (andras)Szabolcs Ban2001-05-212-787/+1126 * German translation updatesMatthias Warkus2001-05-192-1084/+1568 * Updated Japanese translation.Akira TAGOH2001-05-192-1831/+2549 * small updateKenneth Christiansen2001-05-181-70/+57 * Updated Slovenian translationAndraz Tori2001-05-181-1033/+1033 * Remove importers/evolution-gnomecard-importer.cJP Rosevear2001-05-172-1/+4 * UpdateKenneth Christiansen2001-05-171-1863/+2463 * Remove camel/camel-pkcs7-context.cJP Rosevear2001-05-172-1/+4 * Updated Norwegian translation.Kjartan Maraas2001-05-162-429/+604 * e-minicard-view-model.c -> e-addressbook-reflow-adapter.cChris Toshok2001-05-162-1/+6 * Updated Hungarian translation (andras)Szabolcs Ban2001-05-161-15/+14 * Updated Hungarian translation (andras)Szabolcs Ban2001-05-162-2109/+2566 * Updated Slovak translationStano Visnovsky2001-05-152-1545/+2058 * Updated Norwegian translation.Kjartan Maraas2001-05-153-1145/+1557 * my computer crashed while commiting this first time.Gediminas Paulauskas2001-05-122-1/+18 * Updated Swedish translation.Christian Rose2001-05-102-468/+562 * Remove the nonexistant filesIain Holmes2001-05-091-4/+1 * Updated russian translation.Valek Frob2001-05-082-1290/+1497 * Updated Finnish translation.jjranta2001-05-082-423/+481 * Fix for #2253 (search names not translated), mail-search i18n fixes.Gediminas Paulauskas2001-05-082-0/+5 * updted Azeri filePablo Saratxaga2001-05-071-286/+257 * Evolution has got so many strings............. how many? 1895Gediminas Paulauskas2001-05-052-2425/+3247 * Updated Spanish translation.Hector Garcia2001-05-052-1127/+1302 * Updated German translationMatthias Warkus2001-05-032-1122/+1279 * Updated Slovenian translationAndraz Tori2001-05-031-1913/+2507 * Updated Azeri file Enabled Dutch headerPablo Saratxaga2001-05-023-6754/+5023 * Updated Swedish translation.Christian Rose2001-04-292-80/+84 * Updated Finnish translationjjranta2001-04-292-1211/+1408 * Reflect Danw's move of mail/session.c to mail/mail-session.cPeter Williams2001-04-292-1/+6 * Updated Ukrainian transaltionYuri Syrota2001-04-281-1096/+1159 * Updated Swedish translation.Christian Rose2001-04-272-122/+135 * Updated Swedish translation again.Christian Rose2001-04-272-138/+150 * Updated Ukrainian transaltionYuri Syrota2001-04-261-56/+35 * Updated Ukrainian transaltionYuri Syrota2001-04-261-45/+19 * Updated Ukrainian transaltionYuri Syrota2001-04-261-132/+69 * Updated Ukrainian transaltionYuri Syrota2001-04-261-85/+50 * Updated Swedish translation.Christian Rose2001-04-262-713/+860 * Updated Ukrainian transaltionYuri Syrota2001-04-251-3225/+5791 * Updated Norwegian translation. Major overhaul.Kjartan Maraas2001-04-253-836/+991 * Updated Swedish translation.Christian Rose2001-04-252-767/+992 * Updated Spanish translation.Hector Garcia2001-04-252-352/+407 * Updated russian translation.Valek Frob2001-04-242-480/+548 * Updated tr.poFatih Demir2001-04-242-611/+835 * Added mail/message-browser.c and removed mail/mail-view.cJeffrey Stedfast2001-04-242-1/+6 * Updated Norwegian translation.Kjartan Maraas2001-04-242-798/+1127 * Updated translationMatthias Warkus2001-04-232-628/+673 * Updated Hungarian translation (andras)Szabolcs Ban2001-04-232-1088/+768 * Translations from keldKeld Jørn Simonsen2001-04-221-2495/+2584 * Translations from KeldKenneth Christiansen2001-04-221-1066/+3613 * For Dirk-Jan C. Binnema <dirkjan@gnome.org> :Almer S. Tigelaar2001-04-212-35/+41 * Update Hungarian translation (andras)Szabolcs Ban2001-04-202-605/+550 * Updates from Clara TattoniChristopher R. Gabriel2001-04-202-2034/+3045 * Updated Japanese translation.Akira TAGOH2001-04-202-237/+270 * Fixed two fatal errors.Richard Hult2001-04-192-2/+6 * For Dirk-Jan C. Binnema <dirkjan@gnome.org> :Almer S. Tigelaar2001-04-192-866/+786 * Updated Spanish translationHector Garcia2001-04-182-582/+367 * Updated Slovak translationStano Visnovsky2001-04-172-595/+737 * Updated Finnish translationjjranta2001-04-172-322/+334 * Updated Japanese translation.Akira TAGOH2001-04-172-551/+881 * Updated russian translation.Valek Frob2001-04-152-1656/+2164 * Do this everywhere, also fixup CLEANFILESMichael Meeks2001-04-1412-18484/+27908 * Removed openpgp-utils.c and added the camel-pgp-*.c files. AddedJeffrey Stedfast2001-04-132-1/+2 * Removed openpgp-utils.c and added the camel-pgp-*.c files.Jeffrey Stedfast2001-04-132-1/+7 * Updated Spanish translation.Hector Garcia2001-04-122-1191/+1456 * Updated Slovak translationStano Visnovsky2001-04-122-2040/+2069 * Fixed Swedish translation. Thanks to Göran UddeborgChristian Rose2001-04-122-37/+42 * Removed a trailing 'k' making an error while compiling.Mikael Hallendal2001-04-122-1/+5 * Updated Finnish translation.jjranta2001-04-122-668/+815 * Updated Swedish translation.Christian Rose2001-04-122-1556/+1886 * Commit to be sureMatthias Warkus2001-04-112-1597/+1833 * Updated tr.poFatih Demir2001-04-112-492/+623 * Add the galview.xml files here.Christopher James Lahey2001-04-112-0/+7 * Updated Japanese translation.Akira TAGOH2001-04-082-1511/+1608 * Updated Norwegian (bokmål) translation.Kjartan Maraas2001-04-053-1499/+1748 * Updated Turkish translationFatih Demir2001-04-042-1334/+1424 * Translations evolution/po/da.poKenneth Christiansen2001-04-041-1876/+3479 * Another Finnish update.jjranta2001-04-012-884/+989 * Updated Finnish translationjjranta2001-03-292-1354/+1286 * Updated Spanish translation.Hector Garcia2001-03-292-662/+804 * Updated Slovenian translationAndraz Tori2001-03-291-525/+628 * Updated Slovenian translationAndraz Tori2001-03-271-106/+55 * Updated Swedish translation.Christian Rose2001-03-262-868/+987 * UpdateFatih Demir2001-03-262-1182/+1192 * Updated Slovenian translationAndraz Tori2001-03-251-1700/+1852 * update by ChiDeok, Hwang <hwang@mizi.co.kr>Nam SungHyun2001-03-231-1050/+1026 * Change \" to ' in translations for .oaf files, since various bugs conspireDan Winship2001-03-232-16/+22 * Updated Japanese translation.Akira Tagoh2001-03-232-1680/+2004 * Updated Spanish translation.Hector Garcia2001-03-222-810/+799 * Updated Azeri filePablo Saratxaga2001-03-222-1609/+1489 * Updated Norwegian (bokmål) translation.Kjartan Maraas2001-03-212-827/+898 * Updated Finnish translation.jjranta2001-03-192-566/+665 * Small updateFatih Demir2001-03-182-793/+760 * Removed filter-system-flag.c.Jeffrey Stedfast2001-03-172-1/+4 * Updated Norwegian (bokmål) translation.Kjartan Maraas2001-03-162-143/+158 * Translation updates finally committedMatthias Warkus2001-03-162-1524/+1775 * Updated russian translation.Valek Frob2001-03-152-668/+551 * Updated Norwegian (bokmål) translation.Kjartan Maraas2001-03-152-21/+15 * Added Azeri language filePablo Saratxaga2001-03-1517-24179/+49476 * update by ChiDeok, Hwang <hwang@mizi.co.kr>Nam SungHyun2001-03-151-152/+190 * Removed .oafinfo files -- they are obsolete. Moved pixmaps fromGediminas Paulauskas2001-03-151-1/+1 * Updated Swedish translation.Christian Rose2001-03-152-2569/+3344 * Updated Lithuanian translation.Gediminas Paulauskas2001-03-152-1491/+1998 * Updated Norwegian (bokmål) translation. Updated with a bunch of missingKjartan Maraas2001-03-133-1041/+1066 * Updated Finnish translation.jjranta2001-03-132-2441/+4663 * update by ChiDeok, Hwang <hwang@mizi.co.kr>Nam SungHyun2001-03-121-2504/+4666 * Updated Slovenian translationAndraz Tori2001-03-121-960/+1488 * Updated Spanish translation.Hector Garcia2001-03-122-53/+78 * Updated russian translation.Valek Frob2001-03-122-1102/+1499 * Updated Spanish translation.Hector Garcia2001-03-112-1605/+2353 * Removed mail-vtrash.cJeffrey Stedfast2001-03-092-3/+5 * Hmm, fixesFatih Demir2001-03-091-10/+10 * Updated tr.poFatih Demir2001-03-092-2280/+2830 * Updated Norwegian (bokmål) translation. Updated with a bunch of missingKjartan Maraas2001-03-064-1185/+1493 * updateJP Rosevear2001-03-052-1/+4 * added e-util/e-time-utils.c and widgets/misc/e-cell-date-edit.cDamon Chaplin2001-03-052-0/+7 * Remove cruftKjartan Maraas2001-03-021-4/+0 * Updated Slovak translationStano Visnovsky2001-03-022-712/+660 * remove camel-imap-auth.c, add sasl stuffDan Winship2001-03-022-1/+8 * Updated Slovenian translationAndraz Tori2001-03-021-608/+645 * Correct a couple errorsJP Rosevear2001-02-282-2/+6 * Translations from keldKenneth Christiansen2001-02-281-2040/+1502 * Update Lithuanian translationGediminas Paulauskas2001-02-252-3943/+4494 * Updated Dutch translation.Almer S. Tigelaar2001-02-252-3821/+5511 * Updated russian translation.Valek Frob2001-02-242-244/+343 * remove stale calender oaf.in fileMichael Meeks2001-02-242-1/+4 * Updated russian translation.Valek Frob2001-02-222-1824/+2114 * Updated italian translationChristopher R. Gabriel2001-02-222-555/+318 * exclude removed filesGediminas Paulauskas2001-02-222-2/+4 * Removed references to mail-threads.cJeffrey Stedfast2001-02-212-1/+4 * Updated Slovenian translationAndraz Tori2001-02-201-13/+13 * Updated Slovak translationStano Visnovsky2001-02-192-21/+54 * Updated Slovenian translationAndraz Tori2001-02-191-11/+11 * Updated Japanese translation.Akira TAGOH2001-02-172-2432/+2876 * Updated Slovenian translationAndraz Tori2001-02-171-211/+444 * Updated German translationMatthias Warkus2001-02-172-3603/+4318 * Updated Slovak translationStano Visnovsky2001-02-162-133/+160 * Updated italian translation from Clara Tattoni <clara.tattoni@libero.it>Christopher R. Gabriel2001-02-162-1626/+2039 * Updated Slovak translationStano Visnovsky2001-02-142-81/+280 * Updated Slovenian translationAndraz Tori2001-02-131-1292/+1400 * Updated French translation.Christophe Merlet2001-02-132-1280/+1576 * Remove dead glade file that was not being distedJP Rosevear2001-02-132-1/+4 * Updated Norwegian translation. Added *.oaf.in files.Kjartan Maraas2001-02-133-1382/+1945 * Updated Slovak translationStano Visnovsky2001-02-122-461/+614 * removed e-contact-editor-strings.hJeffrey Stedfast2001-02-112-1/+4 * Getting almost full and proper use of xml-i18n-tools.Gediminas Paulauskas2001-02-11