Changeset View
Changeset View
Standalone View
Standalone View
head/sys/dev/hyperv/netvsc/hv_rndis_filter.h
Show First 20 Lines • Show All 90 Lines • ▼ Show 20 Lines | typedef struct rndis_request_ { | ||||
rndis_msg request_msg; | rndis_msg request_msg; | ||||
uint8_t buf_req[PAGE_SIZE]; | uint8_t buf_req[PAGE_SIZE]; | ||||
/* Fixme: Poor man's semaphore. */ | /* Fixme: Poor man's semaphore. */ | ||||
uint32_t halt_complete_flag; | uint32_t halt_complete_flag; | ||||
} rndis_request; | } rndis_request; | ||||
typedef struct rndis_device_ { | typedef struct rndis_device_ { | ||||
netvsc_dev *net_dev; | struct hn_softc *sc; | ||||
rndis_device_state state; | rndis_device_state state; | ||||
uint32_t link_status; | uint32_t link_status; | ||||
uint32_t new_request_id; | uint32_t new_request_id; | ||||
struct mtx req_lock; | struct mtx req_lock; | ||||
STAILQ_HEAD(RQ, rndis_request_) myrequest_list; | STAILQ_HEAD(RQ, rndis_request_) myrequest_list; | ||||
uint8_t hw_mac_addr[ETHER_ADDR_LEN]; | uint8_t hw_mac_addr[ETHER_ADDR_LEN]; | ||||
} rndis_device; | } rndis_device; | ||||
/* | /* | ||||
* Externs | * Externs | ||||
*/ | */ | ||||
struct hn_softc; | |||||
struct hn_rx_ring; | struct hn_rx_ring; | ||||
int hv_rf_on_receive(netvsc_dev *net_dev, struct hn_rx_ring *rxr, | int hv_rf_on_receive(struct hn_softc *sc, struct hn_rx_ring *rxr, | ||||
const void *data, int dlen); | const void *data, int dlen); | ||||
void hv_rf_receive_rollup(netvsc_dev *net_dev); | |||||
void hv_rf_channel_rollup(struct hn_rx_ring *rxr, struct hn_tx_ring *txr); | void hv_rf_channel_rollup(struct hn_rx_ring *rxr, struct hn_tx_ring *txr); | ||||
int hv_rf_on_device_add(struct hn_softc *sc, void *additl_info, int *nchan, | int hv_rf_on_device_add(struct hn_softc *sc, void *additl_info, int *nchan, | ||||
struct hn_rx_ring *rxr); | struct hn_rx_ring *rxr); | ||||
int hv_rf_on_device_remove(struct hn_softc *sc, boolean_t destroy_channel); | int hv_rf_on_device_remove(struct hn_softc *sc, boolean_t destroy_channel); | ||||
int hv_rf_on_open(struct hn_softc *sc); | int hv_rf_on_open(struct hn_softc *sc); | ||||
int hv_rf_on_close(struct hn_softc *sc); | int hv_rf_on_close(struct hn_softc *sc); | ||||
#endif /* __HV_RNDIS_FILTER_H__ */ | #endif /* __HV_RNDIS_FILTER_H__ */ | ||||