#ifndef _TRACE_MSG_H
#define _TRACE_MSG_H

#include "trace_def.h"

typedef enum {
    REPLY_OP_NO_NEED = 0x0,
    REPLY_OP_NEED
} reply_op_t;

enum {
    TRACE_MSG_POLICY_REQ = 0x0/*,
    TRACE_MSG_POLICY_REPLY
    */
};

typedef struct _trace_hdr {
    u32         ver;
    u32         seq;
    reply_op_t  is_reply;
} trace_hdr_t;

typedef struct _trace_req {
    trace_hdr_t     hdr;
    trace_policy_t  policy;
} trace_req_t;

typedef struct _trace_reply {
    trace_hdr_t     hdr;
    trace_ret_t     result;
} trace_reply_t;

#define TRACE_REQ_SZ        sizeof(trace_req_t)
#define TRACE_REPLY_SZ      sizeof(trace_reply_t)

#endif