#pragma once

#include <stddef.h>
#include <stdint.h>

#define MESSAGE_MAGIC 0x12345678

#define	MAX_APP_ID_NUM	8
#define	APP_ID_MESSAGE_TOPIC "TOPIC_APP_ID"

enum APP_IDENTIFY_ORIGIN
{
	ORIGIN_PROTO_IDENTIFY=0,
	ORIGIN_APP_SKETCH_USER_DEFINE,
	ORIGIN_PROTO_ENGINE,
	ORIGIN_APP_SKETCH_BUILT_IN,
	ORIGIN_PROTO_DECODED,
	ORIGIN_EXCEED_PACKET_LIMIT,
	ORIGIN_TUNNEL,
	ORIGIN_MAX
};

struct app_id_message
{
	int magic;
	enum APP_IDENTIFY_ORIGIN origin;
	uint32_t app_id_num;
	int32_t app_id[MAX_APP_ID_NUM];
	uint32_t surrogate_id[MAX_APP_ID_NUM];
	uint32_t packet_sequence[MAX_APP_ID_NUM];
};