#ifndef SAPCHANNELINFO_H
#define SAPCHANNELINFO_H

typedef enum epayload_type {
        payload_none=0,
        payload_binary = 1,
        payload_json = 2,
        payload_all = 0xFF
} epayload_type;

typedef enum eqos_type {
        qos_unrestricted_in_order = 0,
        qos_unrestricted = 1,
        qos_restricted_in_order = 2,
        qos_restricted = 3,
        qos_reliability_disable = 4,
        qos_reliability_enable = 5
} eqos_type;

typedef enum eqos_priority {
        qos_priority_low = 0,
        qos_priority_medium,
        qos_priority_high
} eqos_priority;

typedef enum eqos_data_rate {
        qos_data_rate_low = 0,
        qos_data_rate_high
} eqos_data_rate;

typedef struct sap_channelinfo {
        unsigned short id;
        epayload_type payload_type;
        eqos_type qos_type;
        eqos_priority qos_priority;
        eqos_data_rate qos_data_rate;
} sap_channelinfo;

sap_channelinfo *sap_channelinfo_new();
void sap_channelinfo_free(sap_channelinfo *ci);

#endif