Files
TAIXIN/sdk/include/lib/lmac/lmac_host.h

64 lines
1.6 KiB
C
Raw Normal View History

#ifndef _HGIC_LMAC_HOST_H_
#define _HGIC_LMAC_HOST_H_
#ifdef __cplusplus
extern "C" {
#endif
struct lmachost_param {
uint8 bus_type;
uint8 task_priority;
uint16 stack_size;
struct lmac_ops *lops;
struct bt_ops *btops;
uint32 rxwrite: 1, rev: 31;
uint32 dma_scatter;
};
struct lmac_host {
uint16 stop: 1, req_txwnd: 1, bleraw: 1, user_edca: 1, init_report: 1,
icmp_mntr: 1, rxwrite: 1, throughput_en: 3,
dup_filter:1, sta_mode:1;
uint16 cookie, last_cookie;
uint16 aggbuff_len, agg_len;
uint8 if_monitor; //interface monitor.
atomic8_t if_alive; //interface alive.
uint32 dma_scatter;
struct mac_bus *bus;
struct lmac_ops *ops;
struct bt_ops *btops;
struct skb_list iftest_list;
struct skb_list cmd_list;
struct skb_list up2host;
//struct skb_list txstatus_list;
struct skb_list rx_list;
os_semaphore_t sema;
os_task_t task;
uint8 *agg_buff;
struct sk_buff *cmdskb;
uint16 sn_head[9];
uint64 sn_bitmap[9];
uint16 stats_invalid_frm, stats_cookie_err;
uint16 stats_unsupport_frm, stats_rx_loop;
uint32 stats_recv_nomem;
uint32 rx_bytes, tx_bytes;
uint64 throughput_jiff;
};
void lmac_host_report_init_done(struct lmac_host *lmachost);
int32 lmac_host_init(struct lmachost_param *l_param, struct macbus_param *m_param);
int32 host_event_new(uint32 evt_id, uint8 *data, uint32 data_len);
int32 host_data_send(uint8 *data, uint32 data_len);
void lmac_host_status(void);
#ifdef __cplusplus
}
#endif
#endif