Go to the documentation of this file.
35 {
"APPLAYER_MISMATCH_PROTOCOL_BOTH_DIRECTIONS",
37 {
"APPLAYER_WRONG_DIRECTION_FIRST_DATA",
39 {
"APPLAYER_DETECT_PROTOCOL_ONLY_ONE_DIRECTION",
41 {
"APPLAYER_PROTO_DETECTION_SKIPPED",
43 {
"APPLAYER_NO_TLS_AFTER_STARTTLS",
45 {
"APPLAYER_UNEXPECTED_PROTOCOL",
55 if (*event_name == NULL) {
57 "app-layer-event's enum map table.", event_id);
70 if (*event_id == -1) {
72 "app-layer-event's packet event table.", event_name);
80 #define DECODER_EVENTS_BUFFER_STEPS 8
91 if (*sevents == NULL) {
93 if (new_devents == NULL)
97 *sevents = new_devents;
100 if ((*sevents)->cnt == UCHAR_MAX) {
104 if ((*sevents)->cnt == (*sevents)->events_buffer_size) {
106 if (UCHAR_MAX - (*sevents)->cnt < steps)
107 steps = UCHAR_MAX - (*sevents)->cnt < steps;
109 void *ptr =
SCRealloc((*sevents)->events,
110 ((*sevents)->cnt + steps) *
sizeof(uint8_t));
116 (*sevents)->events = ptr;
117 (*sevents)->events_buffer_size += steps;
120 (*sevents)->events[(*sevents)->cnt++] = event;
132 if (events && *events != NULL) {
133 if ((*events)->events != NULL)
134 SCFree((*events)->events);
@ APPLAYER_MISMATCH_PROTOCOL_BOTH_DIRECTIONS
@ APPLAYER_WRONG_DIRECTION_FIRST_DATA
enum AppLayerEventType_ AppLayerEventType
void AppLayerDecoderEventsFreeEvents(AppLayerDecoderEvents **events)
void AppLayerDecoderEventsResetEvents(AppLayerDecoderEvents *events)
Data structure to store app layer decoder events.
@ APP_LAYER_EVENT_TYPE_PACKET
@ APPLAYER_DETECT_PROTOCOL_ONLY_ONE_DIRECTION
@ APPLAYER_PROTO_DETECTION_SKIPPED
@ APPLAYER_NO_TLS_AFTER_STARTTLS
int AppLayerGetEventInfoById(int event_id, const char **event_name, AppLayerEventType *event_type)
#define SCRealloc(ptr, sz)
const char * SCMapEnumValueToName(int enum_value, SCEnumCharMap *table)
Maps an enum value to a string name, from the supplied table.
SCEnumCharMap app_layer_event_pkt_table[]
int SCMapEnumNameToValue(const char *enum_name, SCEnumCharMap *table)
Maps a string name to an enum value from the supplied table. Please specify the last element of any m...
void AppLayerDecoderEventsSetEventRaw(AppLayerDecoderEvents **sevents, uint8_t event)
Set an app layer decoder event.
#define SCLogError(err_code,...)
Macro used to log ERROR messages.
#define DECODER_EVENTS_BUFFER_STEPS
int AppLayerGetPktEventInfo(const char *event_name, int *event_id)
@ SC_ERR_INVALID_ENUM_MAP
@ APPLAYER_UNEXPECTED_PROTOCOL