int GetHashKeys(HashList *Hash, char ***List);
int dbg_PrintHash(HashList *Hash, PrintHashContent first, PrintHashContent Second);
int PrintHash(HashList *Hash, TransitionFunc Trans, PrintHashDataFunc PrintEntry);
int GetHashKeys(HashList *Hash, char ***List);
int dbg_PrintHash(HashList *Hash, PrintHashContent first, PrintHashContent Second);
int PrintHash(HashList *Hash, TransitionFunc Trans, PrintHashDataFunc PrintEntry);
int GetHashPosFromKey(HashList *Hash, const char *HKey, long HKLen, HashPos *At);
int DeleteEntryFromHash(HashList *Hash, HashPos *At);
int GetHashPosCounter(HashList *Hash, HashPos *At);
void DeleteHashPos(HashPos **DelMe);
int NextHashPos(HashList *Hash, HashPos *At);
int GetHashPos(HashList *Hash, HashPos *At, long *HKLen, const char **HashKey, void **Data);
int GetHashPosFromKey(HashList *Hash, const char *HKey, long HKLen, HashPos *At);
int DeleteEntryFromHash(HashList *Hash, HashPos *At);
int GetHashPosCounter(HashList *Hash, HashPos *At);
void DeleteHashPos(HashPos **DelMe);
int NextHashPos(HashList *Hash, HashPos *At);
int GetHashPos(HashList *Hash, HashPos *At, long *HKLen, const char **HashKey, void **Data);
-int GetNextHashPos(HashList *Hash, HashPos *At, long *HKLen, const char **HashKey, void **Data);
+int GetNextHashPos(const HashList *Hash, HashPos *At, long *HKLen, const char **HashKey, void **Data);
int GetHashAt(HashList *Hash,long At, long *HKLen, const char **HashKey, void **Data);
void SortByHashKey(HashList *Hash, int Order);
void SortByHashKeyStr(HashList *Hash);
int GetHashAt(HashList *Hash,long At, long *HKLen, const char **HashKey, void **Data);
void SortByHashKey(HashList *Hash, int Order);
void SortByHashKeyStr(HashList *Hash);
#define XMPPMORTUARY "application/x-citadel-xmpp-mortuary"
#define INTERNETCFG "application/x-citadel-internet-config"
#define XMPPMORTUARY "application/x-citadel-xmpp-mortuary"
#define INTERNETCFG "application/x-citadel-internet-config"
#define QR_ANONOPT 1024 /* Anonymous-Option room */
#define QR_NETWORK 2048 /* Shared network room */
#define QR_PREFONLY 4096 /* Preferred status needed to enter */
#define QR_ANONOPT 1024 /* Anonymous-Option room */
#define QR_NETWORK 2048 /* Shared network room */
#define QR_PREFONLY 4096 /* Preferred status needed to enter */
#define QR_MAILBOX 16384 /* Set if this is a private mailbox */
#define QR2_SYSTEM 1 /* System room; hide by default */
#define QR_MAILBOX 16384 /* Set if this is a private mailbox */
#define QR2_SYSTEM 1 /* System room; hide by default */
#define UA_HASNEWMSGS 8 /* Unread messages exist in this room */
#define UA_ZAPPED 16 /* User has forgotten (zapped) this room */
#define UA_POSTALLOWED 32 /* User may post top-level messages here */
#define UA_HASNEWMSGS 8 /* Unread messages exist in this room */
#define UA_ZAPPED 16 /* User has forgotten (zapped) this room */
#define UA_POSTALLOWED 32 /* User may post top-level messages here */
#define UA_DELETEALLOWED 128 /* User is allowed to delete messages from this room */
#define UA_REPLYALLOWED 256 /* User is allowed to reply to existing messages here */
/* runtime flag extracted from goto reply; not db persistant, should be moved if new flags added */
#define UA_DELETEALLOWED 128 /* User is allowed to delete messages from this room */
#define UA_REPLYALLOWED 256 /* User is allowed to reply to existing messages here */
/* runtime flag extracted from goto reply; not db persistant, should be moved if new flags added */