#ifndef __INC_QOS_TYPE_H
#define __INC_QOS_TYPE_H
struct aci_aifsn {
u8 aifsn:4;
u8 acm:1;
u8 aci:2;
u8:1;
};
enum direction_value {
DIR_UP = 0,
DIR_DOWN = 1,
DIR_DIRECT = 2,
DIR_BI_DIR = 3,
};
struct qos_tsinfo {
u16 uc_traffic_type:1;
u16 uc_tsid:4;
u16 uc_direction:2;
u16 uc_access_policy:2;
u16 uc_aggregation:1;
u16 uc_psb:1;
u16 uc_up:3;
u16 uc_ts_info_ack_policy:2;
u8 uc_schedule:1;
u8:7;
};
struct tspec_body {
struct qos_tsinfo ts_info;
u16 nominal_msd_usize;
u16 max_msd_usize;
u32 min_service_itv;
u32 max_service_itv;
u32 inactivity_itv;
u32 suspen_itv;
u32 service_start_time;
u32 min_data_rate;
u32 mean_data_rate;
u32 peak_data_rate;
u32 max_burst_size;
u32 delay_bound;
u32 min_phy_rate;
u16 surplus_bandwidth_allowance;
u16 medium_time;
};
struct octet_string {
u8 *octet;
u16 length;
};
#define is_ac_valid(ac) (((ac) <= 7) ? true : false)
#endif // #ifndef __INC_QOS_TYPE_H