26 #ifndef MULTI_LINE_LOGIC_H_INCLUDED
27 #define MULTI_LINE_LOGIC_H_INCLUDED
39 #define MLL_CONSUME_PARTIAL_AMOUNT_SHIFT 8
40 #define MLL_CONSUME_PARTIAL_AMOUNT_MASK ~0xFF
41 #define MLL_CONSUME_PARTIALLY(drop_length) (MLL_CONSUME_SEGMENT | ((drop_length) << MLL_CONSUME_PARTIAL_AMOUNT_SHIFT))
47 const guchar *consumed,
49 const guchar *segment,
93 multi_line_logic_accumulate_line(MultiLineLogic *
self,
96 const guchar *segment,
99 return self->accumulate_line(
self,
msg, msg_len, segment, segment_len);
103 multi_line_logic_free(MultiLineLogic *
self)
108 static inline gboolean
109 multi_line_logic_keep_trailing_newline(MultiLineLogic *
self)
111 return self->keep_trailing_newline;
@ MLL_CONSUME_SEGMENT
Definition: multi-line-logic.h:35
@ MLL_EXTRACTED
Definition: multi-line-logic.h:33
@ MLL_WAITING
Definition: multi-line-logic.h:34
@ MLL_REWIND_SEGMENT
Definition: multi-line-logic.h:36
void multi_line_logic_free_method(MultiLineLogic *s)
Definition: multi-line-logic.c:29
void multi_line_logic_init_instance(MultiLineLogic *self, gboolean keep_trailing_newline)
Definition: multi-line-logic.c:35
Definition: multi-line-logic.h:45
gint(* accumulate_line)(MultiLineLogic *self, const guchar *consumed, gsize consumed_len, const guchar *segment, gsize segment_len)
Definition: multi-line-logic.h:46
void(* free_fn)(MultiLineLogic *s)
Definition: multi-line-logic.h:51
gboolean keep_trailing_newline
Definition: multi-line-logic.h:52
LogMessage * msg
Definition: test_rename.c:35