#include <time.h>
#include <stdlib.h>
#include <stdarg.h>
-#define LIBCITADEL_VERSION_NUMBER 770
+#define LIBCITADEL_VERSION_NUMBER 780
/*
* Here's a bunch of stupid magic to make the MIME parser portable.
AxAideU = 6
}eUsrAxlvl;
+enum RoomNetCfg {
+ subpending,
+ unsubpending,
+ lastsent, /* Server internal use only */
+ ignet_push_share,
+ listrecp,
+ digestrecp,
+ pop3client,
+ rssclient,
+ participate,
+ maxRoomNetCfg
+};
+
+
+typedef enum __GPEXWhichPolicy {
+ roompolicy,
+ floorpolicy,
+ sitepolicy,
+ mailboxespolicy,
+ maxpolicy
+}GPEXWhichPolicy;
+
/*
* View definitions.
* Note that not all views are implemented in all clients.
#define IsEmptyStr(a) ((a)[0] == '\0')
#endif
+
/*
* another word to indicate n/a for a pointer if NULL already has a "meaning"
*/
typedef struct StrBuf StrBuf;
+#define strof(a) #a
+#define CStrOf(a) #a, sizeof(#a) - 1
typedef struct _ConstStr {
const char *Key;
long len;
int StrLength(const StrBuf *Str);
#define SKEY(a) ChrPtr(a), StrLength(a)
long StrBufPeek(StrBuf *Buf, const char* ptr, long nThChar, char PeekValue);
+long StrBufPook(StrBuf *Buf, const char* ptr, long nThChar, long nChars, char PookValue);
int StrBufTCP_read_line(StrBuf *buf, int *fd, int append, const char **Error);
int StrBufReadBLOB(StrBuf *Buf, int *fd, int append, long nBytes, const char **Error);
const char **Error);
int StrBufSipLine(StrBuf *LineBuf, StrBuf *Buf, const char **Ptr);
+int StrBufReplaceToken(StrBuf *Buf, long where, long HowLong, const char *Repl, long ReplLen);
int StrBufExtract_token(StrBuf *dest, const StrBuf *Source, int parmnum, char separator);
int StrBufSub(StrBuf *dest, const StrBuf *Source, unsigned long Offset, size_t nChars);
void StrBufCutRight(StrBuf *Buf, int nChars);
void StrBufCutAt(StrBuf *Buf, int AfternChars, const char *At);
void StrBufTrim(StrBuf *Buf);
+void StrBufStripAllBut(StrBuf *Buf, char leftboundary, char rightboundary);
void StrBufUpCase(StrBuf *Buf);
void StrBufLowerCase(StrBuf *Buf);
void StrBufStripSlashes(StrBuf *Dir, int RemoveTrailingSlash);