typedef struct _LogMessage { guint ref_cnt; /* meta information */ struct _LogSourceGroup *source_group; GSockAddr *saddr; guint32 flags; GSList *ack_blocks; /* message parts */ guint pri; LogStamp stamp; LogStamp recvd; GString *date, *host, *host_from, *program, *msg; gchar *re_matches[RE_MAX_MATCHES]; } LogMessage; LogMessage *log_msg_ref(LogMessage *m); void log_msg_unref(LogMessage *m); LogMessage *log_msg_new(gchar *msg, gint length, GSockAddr *saddr, guint flags, regex_ t *bad_hostname); LogMessage *log_msg_new_mark(void); void log_msg_ack_block_inc(LogMessage *m); void log_msg_ack_block_start(LogMessage *m, LMAckFunc func, gpointer user_data); void log_msg_ack_block_end(LogMessage *m); void log_msg_ack(LogMessage *msg); void log_msg_drop(LogMessage *msg, guint path_flags); void log_msg_clear_matches(LogMessage *self); #endif