+/* Blerg is (C) 2011 The Dominion of Awesome, and is distributed under a
+ * BSD-style license. Please see the COPYING file for details.
+ */
#ifndef _DATABASE_H
#define _DATABASE_H
#include <stdint.h>
#include <time.h>
+#define VALID_CHAR(c) ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') || c == '-' || c == '_')
+#define WHITESPACE(c) (c == ' ' || c == '\t' || c == '\n' || c == '\r')
+
struct record {
uint32_t offset;
uint16_t length;
struct meta {
uint64_t sequence;
+ uint64_t subscription_mark;
+ uint32_t status;
};
+#define BLERGMETA_MUTED 0x00000001
+
struct blerg {
int meta_fd;
int index_fd;
int blerg_fetch(struct blerg *, int, char **, int *);
uint64_t blerg_get_record_count(struct blerg *);
time_t blerg_get_timestamp(struct blerg *blerg, int record);
+int blerg_set_subscription_mark(struct blerg *blerg);
+uint64_t blerg_get_subscription_mark(struct blerg *blerg);
+int blerg_set_mute(struct blerg *blerg, int v);
+int blerg_get_mute(struct blerg *blerg);
#endif //_DATABASE_H