#include #define PROTO_USB_CONF 0x03 //#define VENDOR_USB_REQUEST (USB_DIR_IN | USB_TYPE_VENDOR) use UT_READ_VENDOR_DEVICE #define CONTROL_USB_GET_MAC_ADDR_UT_02 0x63 #define CONTROL_USB_GET_MAC_ADDR_UT_04 0x4d #define UT_DEVICE_UT_02 0x0101 #define UT_DEVICE_UT_04 0x0401 #define IB_PROTO 0xac #define STATUS_READY 0x06 /** * enum ib_net_flag - radio frame flag field. */ enum ib_net_flag { FLAG_BROADCAST = 0x08, FLAG_EXTENSION = 0x80, }; /** * struct ib_net_radio_t - radio frame header. * @word: packet length and flags. * word[0].2 word[0].1 word[0].0 word[1]: packet length. * word[0].3: broadcast flag. * word[0].6 word[0].5 word[0].4: priority field (ignore this field). * word[0].7: extension flag (drop packet if set). * @packet: packet identifier. * @check: ones' complement of word[1]. * @proto: next protocol field. * @payload: payload. */ struct ib_net_radio_t { unsigned char word[2]; unsigned char packet; unsigned char check; unsigned char proto[2]; unsigned char payload[0]; }; #define IB_NET_RADIO_HEAD sizeof(struct ib_net_radio_t) #define IB_NET_RADIO_SIZE ((IB_NET_RADIO_HEAD + ETH_DATA_LEN + 31) & ~31) #define IB_NET_NBUF(word0, word1) ((((word0) & 0x07) << 8) | (word1)) /** * struct ib_net_ether_t - ethernet frame header. * @dest: destination MAC address. * @source: source MAC address. * @proto: next protocol field. * @payload: payload. */ struct ib_net_ether_t { unsigned char dest[ETHER_ADDR_LEN]; unsigned char source[ETHER_ADDR_LEN]; unsigned char proto[2]; unsigned char payload[0]; }; #define IB_NET_ETHER_HEAD sizeof(struct ib_net_ether_t) #if 0 #define IB_LOCK(_sc) mtx_lock(&(_sc)->ib_mtx) #define IB_UNLOCK(_sc) mtx_unlock(&(_sc)->ib_mtx) #else #define IB_LOCK(_sc) #define IB_UNLOCK(_sc) #endif