diff options
Diffstat (limited to '')
-rw-r--r-- | daemon/syslogd.h | 40 |
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 ); |