20 #define RNDIS_MAX_WAIT_MS 1000 31 #define RNDIS_INITIALISE_MSG 0x00000002UL 49 #define RNDIS_INIT_ID 0xe110e110UL 52 #define RNDIS_VERSION_MAJOR 1 55 #define RNDIS_VERSION_MINOR 0 61 #define RNDIS_MTU 2048 64 #define RNDIS_INITIALISE_CMPLT 0x80000002UL 91 #define RNDIS_HALT_MSG 0x00000003UL 100 #define RNDIS_QUERY_MSG 0x00000004UL 103 #define RNDIS_SET_MSG 0x00000005UL 120 #define RNDIS_QUERY_CMPLT 0x80000004UL 135 #define RNDIS_SET_CMPLT 0x80000005UL 146 #define RNDIS_RESET_MSG 0x00000006UL 155 #define RNDIS_RESET_CMPLT 0x80000006UL 166 #define RNDIS_INDICATE_STATUS_MSG 0x00000007UL 199 #define RNDIS_KEEPALIVE_MSG 0x00000008UL 208 #define RNDIS_KEEPALIVE_CMPLT 0x80000008UL 219 #define RNDIS_PACKET_MSG 0x00000001UL 254 #define RNDIS_OID_GEN_CURRENT_PACKET_FILTER 0x0001010eUL 271 #define RNDIS_OID_GEN_MEDIA_CONNECT_STATUS 0x00010114UL 274 #define RNDIS_OID_802_3_PERMANENT_ADDRESS 0x01010101UL 277 #define RNDIS_OID_802_3_CURRENT_ADDRESS 0x01010102UL
Unknown start-of-day status code.
struct arbelprm_rc_send_wqe rc
rndis_packet_filter
Packet filter bits.
int(* open)(struct rndis_device *rndis)
Open RNDIS device.
const char * name
Device name.
void rndis_rx_err(struct rndis_device *rndis, struct io_buffer *iobuf, int rc)
Discard packet from underlying transport layer.
uint32_t flags
Device flags.
uint32_t reserved[2]
Reserved.
void free_rndis(struct rndis_device *rndis)
Free RNDIS device.
static void rndis_tx_complete(struct rndis_device *rndis, struct io_buffer *iobuf)
Complete message transmission.
RNDIS query OID completion.
uint32_t minor
Minor version.
uint32_t major
Major version.
RNDIS query or set OID message.
RNDIS initialise message.
void(* close)(struct rndis_device *rndis)
Close RNDIS device.
uint32_t addr
Addressing reset.
RNDIS initialise completion.
struct rndis_diagnostic_info diag[0]
Diagnostic information (optional)
void unregister_rndis(struct rndis_device *rndis)
Unregister RNDIS device.
Device is connected to a network medium.
uint32_t max_pkts
Maximum packets per transfer.
uint32_t offset
Error offset.
RNDIS diagnostic information.
RNDIS keepalive completion.
int(* transmit)(struct rndis_device *rndis, struct io_buffer *iobuf)
Transmit packet.
uint32_t offset
Status buffer offset.
struct rndis_packet_field oob
Out-of-band data records.
struct net_device * netdev
Network device.
unsigned int wait_id
Request ID for current blocking request.
struct rndis_operations * op
RNDIS operations.
uint32_t mtu
Maximum transfer size.
struct rndis_packet_field ppi
Per-packet information record.
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
rndis_status
RNDIS status codes.
void rndis_rx(struct rndis_device *rndis, struct io_buffer *iobuf)
Receive packet from underlying transport layer.
int register_rndis(struct rndis_device *rndis)
Register RNDIS device.
uint32_t len
Information buffer length.
uint32_t len
Status buffer length.
uint32_t reserved
Reserved.
uint32_t reserved[2]
Reserved.
void(* poll)(struct rndis_device *rndis)
Poll for completed and received packets.
uint32_t len
Information buffer length.
static void rndis_init(struct rndis_device *rndis, struct rndis_operations *op)
Initialise an RNDIS device.
uint32_t offset
Information buffer offset.
Network device management.
static uint16_t struct vmbus_xfer_pages_operations * op
int rndis_tx_defer(struct rndis_device *rndis, struct io_buffer *iobuf)
Defer transmitted packet.
uint32_t align
Packet alignment factor.
void * priv
Driver private data.
int wait_rc
Return status code for current blocking request.
struct rndis_packet_field data
Data.
void rndis_tx_complete_err(struct rndis_device *rndis, struct io_buffer *iobuf, int rc)
Complete message transmission.
uint32_t reserved
Reserved.
uint32_t mtu
Maximum transfer size.
uint32_t minor
Minor version.
RNDIS set OID completion.
Device is disconnected from the medium.
struct rndis_device * alloc_rndis(size_t priv_len)
Allocate RNDIS device.
uint32_t offset
Information buffer offset.
RNDIS indicate status message.
uint32_t major
Major version.
uint32_t oob_count
Number of out-of-band data records.