All pastes #831886 Raw Edit

Untitled

public text v1 · immutable
#831886 ·published 2007-12-25 15:08 UTC
rendered paste body
#include </usr/src/sys/net/ethernet.h>

#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