/*
* Header file for libcitadel
*
- * Copyright (c) 1987-2018 by the citadel.org team
+ * Copyright (c) 1987-2021 by the citadel.org team
*
* This program is open source software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3.
#include <sys/types.h>
#include <netinet/in.h>
-#define LIBCITADEL_VERSION_NUMBER 924
+#define LIBCITADEL_VERSION_NUMBER 935
/*
* Here's a bunch of stupid magic to make the MIME parser portable.
VIEW_DRAFTS = 9, /* Drafts view */
VIEW_BLOG = 10, /* Blog view */
VIEW_QUEUE = 11, /* SMTP/... QUEUE rooms */
- VIEW_WIKIMD = 12, /* Markdown Wiki view */
VIEW_MAX,
VIEW_JSON_LIST,
} ROOM_VIEWS;
char *libcitadel_version_string(void);
int libcitadel_version_number(void);
-void StartLibCitadel(size_t basesize);
void ShutDownLibCitadel(void);
/*
void LoadEntityList(char *FileName);
+typedef struct {
+ void *the_elements;
+ size_t element_size;
+ int num_elements;
+ int num_alloc;
+} Array;
+
+Array *array_new(size_t element_size);
+void array_free(Array *arr);
+void array_append(Array *arr, void *new_element);
+void *array_get_element_at(Array *arr, int index);
+int array_len(Array *arr);
+void array_sort(Array *arr, int (*compar)(const void *, const void *));
+void array_delete_element_at(Array *arr, int index);
+
/* vCard stuff */
#define CFG_SMTP_FROM_NOFILTER 1
#define CFG_SMTP_FROM_CORRECT 2
#define CFG_SMTP_FROM_REJECT 3
+
/*
- * MIME types used in Citadel for configuration stuff
+ * object types used in Citadel for configuration stuff (some of these are obsolete)
*/
#define SPOOLMIME "application/x-citadel-delivery-list"
#define INTERNETCFG "application/x-citadel-internet-config"
#define FILTERLIST "application/x-citadel-filter-list"
#define SIEVECONFIG "application/x-citadel-sieve-config"
#define XMPPMORTUARY "application/x-citadel-xmpp-mortuary"
+#define GLOBAL_ALIASES "global_alias_table"
#define FILE_MAILALIAS "__MAIL_ALIAS__"