aboutsummaryrefslogtreecommitdiffstats
path: root/daemon/syslogd.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--daemon/syslogd.h40
1 files changed, 30 insertions, 10 deletions
diff --git a/daemon/syslogd.h b/daemon/syslogd.h
index 0bcd1fb..c48f8f8 100644
--- a/daemon/syslogd.h
+++ b/daemon/syslogd.h
@@ -34,9 +34,29 @@ extern void display_message( FILE* fd, char* file, int line, const char* func, c
#define TRACE_LEAVE TRACE_2
#define ERR( fmt... ) display_message( stderr, __FILE__, __LINE__, __FUNCTION__, fmt )
+/* refcounted string */
+struct string
+{
+ LONG refcount;
+ GString *gstr;
+};
+
+extern struct string* string_new( const gchar* init );
+extern struct string* string_new_len( const gchar* init, gssize len );
+extern struct string* string_addref( struct string* s );
+extern void string_release( struct string* s );
+extern struct string* string_vprintf( gchar* fmt, va_list args );
+extern struct string* string_printf( gchar* fmt, ... );
+extern gsize string_concat( gchar** result, struct string* s, ... );
+extern int string_compare( struct string* s1, struct string* s2 );
+
+/* misc global stuff */
extern HANDLE service_stop_event;
-extern char local_hostname[];
+extern struct string *local_hostname;
+extern struct string *self_program_name;
+extern struct string *space;
+extern struct string *line_feed;
extern char *str_month[];
@@ -74,22 +94,22 @@ struct message
{
LONG refcount;
struct source *source;
- gchar *sender;
+ struct string *sender;
int facility;
int priority;
- gchar *timestamp;
- gchar *hostname;
- gchar *program;
- gchar *message;
+ struct string *timestamp;
+ struct string *hostname;
+ struct string *program;
+ struct string *message;
};
extern struct message* create_message( struct source* source,
- gchar* sender,
+ struct string* sender,
int facility, int priority,
LPSYSTEMTIME timestamp,
- gchar* hostname,
- gchar* program,
- gchar* message );
+ struct string* hostname,
+ struct string* program,
+ struct string* message );
extern struct message* duplicate_message( struct message* msg );
extern void reference_message( struct message* msg );
extern void release_message( struct message* msg );