提交 a388eb17 编写于 作者: H Haiyang Zhang 提交者: Greg Kroah-Hartman

staging: hv: Convert camel cased struct fields in rndis.h to lower cases

Signed-off-by: NHaiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: NHank Janssen <hjanssen@microsoft.com>
Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
上级 53d21fdb
......@@ -288,24 +288,24 @@
#define RNDIS_DF_RAW_DATA 0x00000004
/* Remote NDIS medium types. */
#define RNdisMedium802_3 0x00000000
#define RNdisMedium802_5 0x00000001
#define RNdisMediumFddi 0x00000002
#define RNdisMediumWan 0x00000003
#define RNdisMediumLocalTalk 0x00000004
#define RNdisMediumArcnetRaw 0x00000006
#define RNdisMediumArcnet878_2 0x00000007
#define RNdisMediumAtm 0x00000008
#define RNdisMediumWirelessWan 0x00000009
#define RNdisMediumIrda 0x0000000a
#define RNdisMediumCoWan 0x0000000b
#define RNDIS_MEDIUM_802_3 0x00000000
#define RNDIS_MEDIUM_802_5 0x00000001
#define RNDIS_MEDIUM_FDDI 0x00000002
#define RNDIS_MEDIUM_WAN 0x00000003
#define RNDIS_MEDIUM_LOCAL_TALK 0x00000004
#define RNDIS_MEDIUM_ARCNET_RAW 0x00000006
#define RNDIS_MEDIUM_ARCNET_878_2 0x00000007
#define RNDIS_MEDIUM_ATM 0x00000008
#define RNDIS_MEDIUM_WIRELESS_WAN 0x00000009
#define RNDIS_MEDIUM_IRDA 0x0000000a
#define RNDIS_MEDIUM_CO_WAN 0x0000000b
/* Not a real medium, defined as an upper-bound */
#define RNdisMediumMax 0x0000000d
#define RNDIS_MEDIUM_MAX 0x0000000d
/* Remote NDIS medium connection states. */
#define RNdisMediaStateConnected 0x00000000
#define RNdisMediaStateDisconnected 0x00000001
#define RNDIS_MEDIA_STATE_CONNECTED 0x00000000
#define RNDIS_MEDIA_STATE_DISCONNECTED 0x00000001
/* Remote NDIS version numbers */
#define RNDIS_MAJOR_VERSION 0x00000001
......@@ -314,106 +314,106 @@
/* NdisInitialize message */
struct rndis_initialize_request {
u32 RequestId;
u32 MajorVersion;
u32 MinorVersion;
u32 MaxTransferSize;
u32 req_id;
u32 major_ver;
u32 minor_ver;
u32 max_xfer_size;
};
/* Response to NdisInitialize */
struct rndis_initialize_complete {
u32 RequestId;
u32 Status;
u32 MajorVersion;
u32 MinorVersion;
u32 DeviceFlags;
u32 Medium;
u32 MaxPacketsPerMessage;
u32 MaxTransferSize;
u32 PacketAlignmentFactor;
u32 AFListOffset;
u32 AFListSize;
u32 req_id;
u32 status;
u32 major_ver;
u32 minor_ver;
u32 dev_flags;
u32 medium;
u32 max_pkt_per_msg;
u32 max_xfer_size;
u32 pkt_alignment_factor;
u32 af_list_offset;
u32 af_list_size;
};
/* Call manager devices only: Information about an address family */
/* supported by the device is appended to the response to NdisInitialize. */
struct rndis_co_address_family {
u32 AddressFamily;
u32 MajorVersion;
u32 MinorVersion;
u32 address_family;
u32 major_ver;
u32 minor_ver;
};
/* NdisHalt message */
struct rndis_halt_request {
u32 RequestId;
u32 req_id;
};
/* NdisQueryRequest message */
struct rndis_query_request {
u32 RequestId;
u32 Oid;
u32 InformationBufferLength;
u32 InformationBufferOffset;
u32 DeviceVcHandle;
u32 req_id;
u32 oid;
u32 info_buflen;
u32 info_buf_offset;
u32 dev_vc_handle;
};
/* Response to NdisQueryRequest */
struct rndis_query_complete {
u32 RequestId;
u32 Status;
u32 InformationBufferLength;
u32 InformationBufferOffset;
u32 req_id;
u32 status;
u32 info_buflen;
u32 info_buf_offset;
};
/* NdisSetRequest message */
struct rndis_set_request {
u32 RequestId;
u32 Oid;
u32 InformationBufferLength;
u32 InformationBufferOffset;
u32 DeviceVcHandle;
u32 req_id;
u32 oid;
u32 info_buflen;
u32 info_buf_offset;
u32 dev_vc_handle;
};
/* Response to NdisSetRequest */
struct rndis_set_complete {
u32 RequestId;
u32 Status;
u32 req_id;
u32 status;
};
/* NdisReset message */
struct rndis_reset_request {
u32 Reserved;
u32 reserved;
};
/* Response to NdisReset */
struct rndis_reset_complete {
u32 Status;
u32 AddressingReset;
u32 status;
u32 addressing_reset;
};
/* NdisMIndicateStatus message */
struct rndis_indicate_status {
u32 Status;
u32 StatusBufferLength;
u32 StatusBufferOffset;
u32 status;
u32 status_buflen;
u32 status_buf_offset;
};
/* Diagnostic information passed as the status buffer in */
/* struct rndis_indicate_status messages signifying error conditions. */
struct rndis_diagnostic_info {
u32 DiagStatus;
u32 ErrorOffset;
u32 diag_status;
u32 error_offset;
};
/* NdisKeepAlive message */
struct rndis_keepalive_request {
u32 RequestId;
u32 req_id;
};
/* Response to NdisKeepAlive */
struct rndis_keepalive_complete {
u32 RequestId;
u32 Status;
u32 req_id;
u32 status;
};
/*
......@@ -422,39 +422,39 @@ struct rndis_keepalive_complete {
* to 0 for connectionless data, otherwise it contains the VC handle.
*/
struct rndis_packet {
u32 DataOffset;
u32 DataLength;
u32 OOBDataOffset;
u32 OOBDataLength;
u32 NumOOBDataElements;
u32 PerPacketInfoOffset;
u32 PerPacketInfoLength;
u32 VcHandle;
u32 Reserved;
u32 data_offset;
u32 data_len;
u32 oob_data_offset;
u32 oob_data_len;
u32 num_oob_data_elements;
u32 per_pkt_info_offset;
u32 per_pkt_info_len;
u32 vc_handle;
u32 reserved;
};
/* Optional Out of Band data associated with a Data message. */
struct rndis_oobd {
u32 Size;
u32 Type;
u32 ClassInformationOffset;
u32 size;
u32 type;
u32 class_info_offset;
};
/* Packet extension field contents associated with a Data message. */
struct rndis_per_packet_info {
u32 Size;
u32 Type;
u32 PerPacketInformationOffset;
u32 size;
u32 type;
u32 per_pkt_info_offset;
};
/* Format of Information buffer passed in a SetRequest for the OID */
/* OID_GEN_RNDIS_CONFIG_PARAMETER. */
struct rndis_config_parameter_info {
u32 ParameterNameOffset;
u32 ParameterNameLength;
u32 ParameterType;
u32 ParameterValueOffset;
u32 ParameterValueLength;
u32 parameter_name_offset;
u32 parameter_name_length;
u32 parameter_type;
u32 parameter_value_offset;
u32 parameter_value_length;
};
/* Values for ParameterType in struct rndis_config_parameter_info */
......@@ -466,187 +466,188 @@ struct rndis_config_parameter_info {
/* CoNdisMiniportCreateVc message */
struct rcondis_mp_create_vc {
u32 RequestId;
u32 NdisVcHandle;
u32 req_id;
u32 ndis_vc_handle;
};
/* Response to CoNdisMiniportCreateVc */
struct rcondis_mp_create_vc_complete {
u32 RequestId;
u32 DeviceVcHandle;
u32 Status;
u32 req_id;
u32 dev_vc_handle;
u32 status;
};
/* CoNdisMiniportDeleteVc message */
struct rcondis_mp_delete_vc {
u32 RequestId;
u32 DeviceVcHandle;
u32 req_id;
u32 dev_vc_handle;
};
/* Response to CoNdisMiniportDeleteVc */
struct rcondis_mp_delete_vc_complete {
u32 RequestId;
u32 Status;
u32 req_id;
u32 status;
};
/* CoNdisMiniportQueryRequest message */
struct rcondis_mp_query_request {
u32 RequestId;
u32 RequestType;
u32 Oid;
u32 DeviceVcHandle;
u32 InformationBufferLength;
u32 InformationBufferOffset;
u32 req_id;
u32 request_type;
u32 oid;
u32 dev_vc_handle;
u32 info_buflen;
u32 info_buf_offset;
};
/* CoNdisMiniportSetRequest message */
struct rcondis_mp_set_request {
u32 RequestId;
u32 RequestType;
u32 Oid;
u32 DeviceVcHandle;
u32 InformationBufferLength;
u32 InformationBufferOffset;
u32 req_id;
u32 request_type;
u32 oid;
u32 dev_vc_handle;
u32 info_buflen;
u32 info_buf_offset;
};
/* CoNdisIndicateStatus message */
struct rcondis_indicate_status {
u32 NdisVcHandle;
u32 Status;
u32 StatusBufferLength;
u32 StatusBufferOffset;
u32 ndis_vc_handle;
u32 status;
u32 status_buflen;
u32 status_buf_offset;
};
/* CONDIS Call/VC parameters */
struct rcondis_specific_parameters {
u32 ParameterType;
u32 ParameterLength;
u32 ParameterOffset;
u32 parameter_type;
u32 parameter_length;
u32 parameter_lffset;
};
struct rcondis_media_parameters {
u32 Flags;
u32 Reserved1;
u32 Reserved2;
struct rcondis_specific_parameters MediaSpecific;
u32 flags;
u32 reserved1;
u32 reserved2;
struct rcondis_specific_parameters media_specific;
};
struct rndis_flowspec {
u32 TokenRate;
u32 TokenBucketSize;
u32 PeakBandwidth;
u32 Latency;
u32 DelayVariation;
u32 ServiceType;
u32 MaxSduSize;
u32 MinimumPolicedSize;
u32 token_rate;
u32 token_bucket_size;
u32 peak_bandwidth;
u32 latency;
u32 delay_variation;
u32 service_type;
u32 max_sdu_size;
u32 minimum_policed_size;
};
struct rcondis_call_manager_parameters {
struct rndis_flowspec Transmit;
struct rndis_flowspec Receive;
struct rcondis_specific_parameters CallMgrSpecific;
struct rndis_flowspec transmit;
struct rndis_flowspec receive;
struct rcondis_specific_parameters call_mgr_specific;
};
/* CoNdisMiniportActivateVc message */
struct rcondis_mp_activate_vc_request {
u32 RequestId;
u32 Flags;
u32 DeviceVcHandle;
u32 MediaParamsOffset;
u32 MediaParamsLength;
u32 CallMgrParamsOffset;
u32 CallMgrParamsLength;
u32 req_id;
u32 flags;
u32 dev_vc_handle;
u32 media_params_offset;
u32 media_params_length;
u32 call_mgr_params_offset;
u32 call_mgr_params_length;
};
/* Response to CoNdisMiniportActivateVc */
struct rcondis_mp_activate_vc_complete {
u32 RequestId;
u32 Status;
u32 req_id;
u32 status;
};
/* CoNdisMiniportDeactivateVc message */
struct rcondis_mp_deactivate_vc_request {
u32 RequestId;
u32 Flags;
u32 DeviceVcHandle;
u32 req_id;
u32 flags;
u32 dev_vc_handle;
};
/* Response to CoNdisMiniportDeactivateVc */
struct rcondis_mp_deactivate_vc_complete {
u32 RequestId;
u32 Status;
u32 req_id;
u32 status;
};
/* union with all of the RNDIS messages */
union rndis_message_container {
struct rndis_packet Packet;
struct rndis_initialize_request InitializeRequest;
struct rndis_halt_request HaltRequest;
struct rndis_query_request QueryRequest;
struct rndis_set_request SetRequest;
struct rndis_reset_request ResetRequest;
struct rndis_keepalive_request KeepaliveRequest;
struct rndis_indicate_status IndicateStatus;
struct rndis_initialize_complete InitializeComplete;
struct rndis_query_complete QueryComplete;
struct rndis_set_complete SetComplete;
struct rndis_reset_complete ResetComplete;
struct rndis_keepalive_complete KeepaliveComplete;
struct rcondis_mp_create_vc CoMiniportCreateVc;
struct rcondis_mp_delete_vc CoMiniportDeleteVc;
struct rcondis_indicate_status CoIndicateStatus;
struct rcondis_mp_activate_vc_request CoMiniportActivateVc;
struct rcondis_mp_deactivate_vc_request CoMiniportDeactivateVc;
struct rcondis_mp_create_vc_complete CoMiniportCreateVcComplete;
struct rcondis_mp_delete_vc_complete CoMiniportDeleteVcComplete;
struct rcondis_mp_activate_vc_complete CoMiniportActivateVcComplete;
struct rcondis_mp_deactivate_vc_complete CoMiniportDeactivateVcComplete;
struct rndis_packet pkt;
struct rndis_initialize_request init_req;
struct rndis_halt_request halt_req;
struct rndis_query_request query_req;
struct rndis_set_request set_req;
struct rndis_reset_request reset_req;
struct rndis_keepalive_request keep_alive_req;
struct rndis_indicate_status indicate_status;
struct rndis_initialize_complete init_complete;
struct rndis_query_complete query_complete;
struct rndis_set_complete set_complete;
struct rndis_reset_complete reset_complete;
struct rndis_keepalive_complete keep_alive_complete;
struct rcondis_mp_create_vc co_miniport_create_vc;
struct rcondis_mp_delete_vc co_miniport_delete_vc;
struct rcondis_indicate_status co_indicate_status;
struct rcondis_mp_activate_vc_request co_miniport_activate_vc;
struct rcondis_mp_deactivate_vc_request co_miniport_deactivate_vc;
struct rcondis_mp_create_vc_complete co_miniport_create_vc_complete;
struct rcondis_mp_delete_vc_complete co_miniport_delete_vc_complete;
struct rcondis_mp_activate_vc_complete co_miniport_activate_vc_complete;
struct rcondis_mp_deactivate_vc_complete
co_miniport_deactivate_vc_complete;
};
/* Remote NDIS message format */
struct rndis_message {
u32 NdisMessageType;
u32 ndis_msg_type;
/* Total length of this message, from the beginning */
/* of the sruct rndis_message, in bytes. */
u32 MessageLength;
u32 msg_len;
/* Actual message */
union rndis_message_container Message;
union rndis_message_container msg;
};
/* Handy macros */
/* get the size of an RNDIS message. Pass in the message type, */
/* struct rndis_set_request, struct rndis_packet for example */
#define RNDIS_MESSAGE_SIZE(Message) \
(sizeof(Message) + (sizeof(struct rndis_message) - \
#define RNDIS_MESSAGE_SIZE(msg) \
(sizeof(msg) + (sizeof(struct rndis_message) - \
sizeof(union rndis_message_container)))
/* get pointer to info buffer with message pointer */
#define MESSAGE_TO_INFO_BUFFER(Message) \
(((unsigned char *)(Message)) + Message->InformationBufferOffset)
#define MESSAGE_TO_INFO_BUFFER(msg) \
(((unsigned char *)(msg)) + msg->info_buf_offset)
/* get pointer to status buffer with message pointer */
#define MESSAGE_TO_STATUS_BUFFER(Message) \
(((unsigned char *)(Message)) + Message->StatusBufferOffset)
#define MESSAGE_TO_STATUS_BUFFER(msg) \
(((unsigned char *)(msg)) + msg->status_buf_offset)
/* get pointer to OOBD buffer with message pointer */
#define MESSAGE_TO_OOBD_BUFFER(Message) \
(((unsigned char *)(Message)) + Message->OOBDataOffset)
#define MESSAGE_TO_OOBD_BUFFER(msg) \
(((unsigned char *)(msg)) + msg->oob_data_offset)
/* get pointer to data buffer with message pointer */
#define MESSAGE_TO_DATA_BUFFER(Message) \
(((unsigned char *)(Message)) + Message->PerPacketInfoOffset)
#define MESSAGE_TO_DATA_BUFFER(msg) \
(((unsigned char *)(msg)) + msg->per_pkt_info_offset)
/* get pointer to contained message from NDIS_MESSAGE pointer */
#define RNDIS_MESSAGE_PTR_TO_MESSAGE_PTR(RndisMessage) \
((void *) &RndisMessage->Message)
#define RNDIS_MESSAGE_PTR_TO_MESSAGE_PTR(rndis_msg) \
((void *) &rndis_msg->msg)
/* get pointer to contained message from NDIS_MESSAGE pointer */
#define RNDIS_MESSAGE_RAW_PTR_TO_MESSAGE_PTR(RndisMessage) \
((void *) RndisMessage)
#define RNDIS_MESSAGE_RAW_PTR_TO_MESSAGE_PTR(rndis_msg) \
((void *) rndis_msg)
#endif /* _RNDIS_H_ */
......@@ -136,16 +136,16 @@ static struct rndis_request *get_rndis_request(struct rndis_device *dev,
}
rndis_msg = &request->request_msg;
rndis_msg->NdisMessageType = msg_type;
rndis_msg->MessageLength = msg_len;
rndis_msg->ndis_msg_type = msg_type;
rndis_msg->msg_len = msg_len;
/*
* Set the request id. This field is always after the rndis header for
* request/response packet types so we just used the SetRequest as a
* template
*/
set = &rndis_msg->Message.SetRequest;
set->RequestId = atomic_inc_return(&dev->new_req_id);
set = &rndis_msg->msg.set_req;
set->req_id = atomic_inc_return(&dev->new_req_id);
/* Add to the request list */
spin_lock_irqsave(&dev->request_lock, flags);
......@@ -170,20 +170,20 @@ static void put_rndis_request(struct rndis_device *dev,
static void dump_rndis_message(struct rndis_message *rndis_msg)
{
switch (rndis_msg->NdisMessageType) {
switch (rndis_msg->ndis_msg_type) {
case REMOTE_NDIS_PACKET_MSG:
DPRINT_DBG(NETVSC, "REMOTE_NDIS_PACKET_MSG (len %u, "
"data offset %u data len %u, # oob %u, "
"oob offset %u, oob len %u, pkt offset %u, "
"pkt len %u",
rndis_msg->MessageLength,
rndis_msg->Message.Packet.DataOffset,
rndis_msg->Message.Packet.DataLength,
rndis_msg->Message.Packet.NumOOBDataElements,
rndis_msg->Message.Packet.OOBDataOffset,
rndis_msg->Message.Packet.OOBDataLength,
rndis_msg->Message.Packet.PerPacketInfoOffset,
rndis_msg->Message.Packet.PerPacketInfoLength);
rndis_msg->msg_len,
rndis_msg->msg.pkt.data_offset,
rndis_msg->msg.pkt.data_len,
rndis_msg->msg.pkt.num_oob_data_elements,
rndis_msg->msg.pkt.oob_data_offset,
rndis_msg->msg.pkt.oob_data_len,
rndis_msg->msg.pkt.per_pkt_info_offset,
rndis_msg->msg.pkt.per_pkt_info_len);
break;
case REMOTE_NDIS_INITIALIZE_CMPLT:
......@@ -191,53 +191,53 @@ static void dump_rndis_message(struct rndis_message *rndis_msg)
"(len %u, id 0x%x, status 0x%x, major %d, minor %d, "
"device flags %d, max xfer size 0x%x, max pkts %u, "
"pkt aligned %u)",
rndis_msg->MessageLength,
rndis_msg->Message.InitializeComplete.RequestId,
rndis_msg->Message.InitializeComplete.Status,
rndis_msg->Message.InitializeComplete.MajorVersion,
rndis_msg->Message.InitializeComplete.MinorVersion,
rndis_msg->Message.InitializeComplete.DeviceFlags,
rndis_msg->Message.InitializeComplete.MaxTransferSize,
rndis_msg->Message.InitializeComplete.
MaxPacketsPerMessage,
rndis_msg->Message.InitializeComplete.
PacketAlignmentFactor);
rndis_msg->msg_len,
rndis_msg->msg.init_complete.req_id,
rndis_msg->msg.init_complete.status,
rndis_msg->msg.init_complete.major_ver,
rndis_msg->msg.init_complete.minor_ver,
rndis_msg->msg.init_complete.dev_flags,
rndis_msg->msg.init_complete.max_xfer_size,
rndis_msg->msg.init_complete.
max_pkt_per_msg,
rndis_msg->msg.init_complete.
pkt_alignment_factor);
break;
case REMOTE_NDIS_QUERY_CMPLT:
DPRINT_DBG(NETVSC, "REMOTE_NDIS_QUERY_CMPLT "
"(len %u, id 0x%x, status 0x%x, buf len %u, "
"buf offset %u)",
rndis_msg->MessageLength,
rndis_msg->Message.QueryComplete.RequestId,
rndis_msg->Message.QueryComplete.Status,
rndis_msg->Message.QueryComplete.
InformationBufferLength,
rndis_msg->Message.QueryComplete.
InformationBufferOffset);
rndis_msg->msg_len,
rndis_msg->msg.query_complete.req_id,
rndis_msg->msg.query_complete.status,
rndis_msg->msg.query_complete.
info_buflen,
rndis_msg->msg.query_complete.
info_buf_offset);
break;
case REMOTE_NDIS_SET_CMPLT:
DPRINT_DBG(NETVSC,
"REMOTE_NDIS_SET_CMPLT (len %u, id 0x%x, status 0x%x)",
rndis_msg->MessageLength,
rndis_msg->Message.SetComplete.RequestId,
rndis_msg->Message.SetComplete.Status);
rndis_msg->msg_len,
rndis_msg->msg.set_complete.req_id,
rndis_msg->msg.set_complete.status);
break;
case REMOTE_NDIS_INDICATE_STATUS_MSG:
DPRINT_DBG(NETVSC, "REMOTE_NDIS_INDICATE_STATUS_MSG "
"(len %u, status 0x%x, buf len %u, buf offset %u)",
rndis_msg->MessageLength,
rndis_msg->Message.IndicateStatus.Status,
rndis_msg->Message.IndicateStatus.StatusBufferLength,
rndis_msg->Message.IndicateStatus.StatusBufferOffset);
rndis_msg->msg_len,
rndis_msg->msg.indicate_status.status,
rndis_msg->msg.indicate_status.status_buflen,
rndis_msg->msg.indicate_status.status_buf_offset);
break;
default:
DPRINT_DBG(NETVSC, "0x%x (len %u)",
rndis_msg->NdisMessageType,
rndis_msg->MessageLength);
rndis_msg->ndis_msg_type,
rndis_msg->msg_len);
break;
}
}
......@@ -252,12 +252,12 @@ static int rndis_filter_send_request(struct rndis_device *dev,
packet = &req->pkt;
packet->is_data_pkt = false;
packet->total_data_buflen = req->request_msg.MessageLength;
packet->total_data_buflen = req->request_msg.msg_len;
packet->page_buf_cnt = 1;
packet->page_buf[0].Pfn = virt_to_phys(&req->request_msg) >>
PAGE_SHIFT;
packet->page_buf[0].Length = req->request_msg.MessageLength;
packet->page_buf[0].Length = req->request_msg.msg_len;
packet->page_buf[0].Offset =
(unsigned long)&req->request_msg & (PAGE_SIZE - 1);
......@@ -283,15 +283,15 @@ static void rndis_filter_receive_response(struct rndis_device *dev,
* All request/response message contains RequestId as the 1st
* field
*/
if (request->request_msg.Message.InitializeRequest.RequestId
== resp->Message.InitializeComplete.RequestId) {
if (request->request_msg.msg.init_req.req_id
== resp->msg.init_complete.req_id) {
DPRINT_DBG(NETVSC, "found rndis request for "
"this response (id 0x%x req type 0x%x res "
"type 0x%x)",
request->request_msg.Message.
InitializeRequest.RequestId,
request->request_msg.NdisMessageType,
resp->NdisMessageType);
request->request_msg.msg.
init_req.req_id,
request->request_msg.ndis_msg_type,
resp->ndis_msg_type);
found = true;
break;
......@@ -300,23 +300,23 @@ static void rndis_filter_receive_response(struct rndis_device *dev,
spin_unlock_irqrestore(&dev->request_lock, flags);
if (found) {
if (resp->MessageLength <= sizeof(struct rndis_message)) {
if (resp->msg_len <= sizeof(struct rndis_message)) {
memcpy(&request->response_msg, resp,
resp->MessageLength);
resp->msg_len);
} else {
DPRINT_ERR(NETVSC, "rndis response buffer overflow "
"detected (size %u max %zu)",
resp->MessageLength,
resp->msg_len,
sizeof(struct rndis_filter_packet));
if (resp->NdisMessageType ==
if (resp->ndis_msg_type ==
REMOTE_NDIS_RESET_CMPLT) {
/* does not have a request id field */
request->response_msg.Message.ResetComplete.
Status = STATUS_BUFFER_OVERFLOW;
request->response_msg.msg.reset_complete.
status = STATUS_BUFFER_OVERFLOW;
} else {
request->response_msg.Message.
InitializeComplete.Status =
request->response_msg.msg.
init_complete.status =
STATUS_BUFFER_OVERFLOW;
}
}
......@@ -325,8 +325,8 @@ static void rndis_filter_receive_response(struct rndis_device *dev,
} else {
DPRINT_ERR(NETVSC, "no rndis request found for this response "
"(id 0x%x res type 0x%x)",
resp->Message.InitializeComplete.RequestId,
resp->NdisMessageType);
resp->msg.init_complete.req_id,
resp->ndis_msg_type);
}
}
......@@ -334,12 +334,12 @@ static void rndis_filter_receive_indicate_status(struct rndis_device *dev,
struct rndis_message *resp)
{
struct rndis_indicate_status *indicate =
&resp->Message.IndicateStatus;
&resp->msg.indicate_status;
if (indicate->Status == RNDIS_STATUS_MEDIA_CONNECT) {
if (indicate->status == RNDIS_STATUS_MEDIA_CONNECT) {
rndis_filter.inner_drv.link_status_change(
dev->net_dev->dev, 1);
} else if (indicate->Status == RNDIS_STATUS_MEDIA_DISCONNECT) {
} else if (indicate->status == RNDIS_STATUS_MEDIA_DISCONNECT) {
rndis_filter.inner_drv.link_status_change(
dev->net_dev->dev, 0);
} else {
......@@ -360,7 +360,7 @@ static void rndis_filter_receive_data(struct rndis_device *dev,
/* ASSERT(Packet->PageBuffers[0].Length > */
/* RNDIS_MESSAGE_SIZE(struct rndis_packet)); */
rndis_pkt = &msg->Message.Packet;
rndis_pkt = &msg->msg.pkt;
/*
* FIXME: Handle multiple rndis pkt msgs that maybe enclosed in this
......@@ -368,7 +368,7 @@ static void rndis_filter_receive_data(struct rndis_device *dev,
*/
/* Remove the rndis header and pass it back up the stack */
data_offset = RNDIS_HEADER_SIZE + rndis_pkt->DataOffset;
data_offset = RNDIS_HEADER_SIZE + rndis_pkt->data_offset;
pkt->total_data_buflen -= data_offset;
pkt->page_buf[0].Offset += data_offset;
......@@ -418,36 +418,36 @@ static int rndis_filter_receive(struct hv_device *dev,
* range shows 52 bytes
* */
#if 0
if (pkt->total_data_buflen != rndis_hdr->MessageLength) {
if (pkt->total_data_buflen != rndis_hdr->msg_len) {
kunmap_atomic(rndis_hdr - pkt->page_buf[0].Offset,
KM_IRQ0);
DPRINT_ERR(NETVSC, "invalid rndis message? (expected %u "
"bytes got %u)...dropping this message!",
rndis_hdr->MessageLength,
rndis_hdr->msg_len,
pkt->total_data_buflen);
return -1;
}
#endif
if ((rndis_hdr->NdisMessageType != REMOTE_NDIS_PACKET_MSG) &&
(rndis_hdr->MessageLength > sizeof(struct rndis_message))) {
if ((rndis_hdr->ndis_msg_type != REMOTE_NDIS_PACKET_MSG) &&
(rndis_hdr->msg_len > sizeof(struct rndis_message))) {
DPRINT_ERR(NETVSC, "incoming rndis message buffer overflow "
"detected (got %u, max %zu)...marking it an error!",
rndis_hdr->MessageLength,
rndis_hdr->msg_len,
sizeof(struct rndis_message));
}
memcpy(&rndis_msg, rndis_hdr,
(rndis_hdr->MessageLength > sizeof(struct rndis_message)) ?
(rndis_hdr->msg_len > sizeof(struct rndis_message)) ?
sizeof(struct rndis_message) :
rndis_hdr->MessageLength);
rndis_hdr->msg_len);
kunmap_atomic(rndis_hdr - pkt->page_buf[0].Offset, KM_IRQ0);
dump_rndis_message(&rndis_msg);
switch (rndis_msg.NdisMessageType) {
switch (rndis_msg.ndis_msg_type) {
case REMOTE_NDIS_PACKET_MSG:
/* data msg */
rndis_filter_receive_data(rndis_dev, &rndis_msg, pkt);
......@@ -468,8 +468,8 @@ static int rndis_filter_receive(struct hv_device *dev,
break;
default:
DPRINT_ERR(NETVSC, "unhandled rndis message (type %u len %u)",
rndis_msg.NdisMessageType,
rndis_msg.MessageLength);
rndis_msg.ndis_msg_type,
rndis_msg.msg_len);
break;
}
......@@ -497,11 +497,11 @@ static int rndis_filter_query_device(struct rndis_device *dev, u32 oid,
}
/* Setup the rndis query */
query = &request->request_msg.Message.QueryRequest;
query->Oid = oid;
query->InformationBufferOffset = sizeof(struct rndis_query_request);
query->InformationBufferLength = 0;
query->DeviceVcHandle = 0;
query = &request->request_msg.msg.query_req;
query->oid = oid;
query->info_buf_offset = sizeof(struct rndis_query_request);
query->info_buflen = 0;
query->dev_vc_handle = 0;
ret = rndis_filter_send_request(dev, request);
if (ret != 0)
......@@ -510,19 +510,19 @@ static int rndis_filter_query_device(struct rndis_device *dev, u32 oid,
osd_waitevent_wait(request->waitevent);
/* Copy the response back */
query_complete = &request->response_msg.Message.QueryComplete;
query_complete = &request->response_msg.msg.query_complete;
if (query_complete->InformationBufferLength > inresult_size) {
if (query_complete->info_buflen > inresult_size) {
ret = -1;
goto Cleanup;
}
memcpy(result,
(void *)((unsigned long)query_complete +
query_complete->InformationBufferOffset),
query_complete->InformationBufferLength);
query_complete->info_buf_offset),
query_complete->info_buflen);
*result_size = query_complete->InformationBufferLength;
*result_size = query_complete->info_buflen;
Cleanup:
if (request)
......@@ -570,10 +570,10 @@ static int rndis_filter_set_packet_filter(struct rndis_device *dev,
}
/* Setup the rndis set */
set = &request->request_msg.Message.SetRequest;
set->Oid = RNDIS_OID_GEN_CURRENT_PACKET_FILTER;
set->InformationBufferLength = sizeof(u32);
set->InformationBufferOffset = sizeof(struct rndis_set_request);
set = &request->request_msg.msg.set_req;
set->oid = RNDIS_OID_GEN_CURRENT_PACKET_FILTER;
set->info_buflen = sizeof(u32);
set->info_buf_offset = sizeof(struct rndis_set_request);
memcpy((void *)(unsigned long)set + sizeof(struct rndis_set_request),
&new_filter, sizeof(u32));
......@@ -594,8 +594,8 @@ static int rndis_filter_set_packet_filter(struct rndis_device *dev,
} else {
if (ret > 0)
ret = 0;
set_complete = &request->response_msg.Message.SetComplete;
status = set_complete->Status;
set_complete = &request->response_msg.msg.set_complete;
status = set_complete->status;
}
Cleanup:
......@@ -661,11 +661,11 @@ static int rndis_filter_init_device(struct rndis_device *dev)
}
/* Setup the rndis set */
init = &request->request_msg.Message.InitializeRequest;
init->MajorVersion = RNDIS_MAJOR_VERSION;
init->MinorVersion = RNDIS_MINOR_VERSION;
init = &request->request_msg.msg.init_req;
init->major_ver = RNDIS_MAJOR_VERSION;
init->minor_ver = RNDIS_MINOR_VERSION;
/* FIXME: Use 1536 - rounded ethernet frame size */
init->MaxTransferSize = 2048;
init->max_xfer_size = 2048;
dev->state = RNDIS_DEV_INITIALIZING;
......@@ -677,8 +677,8 @@ static int rndis_filter_init_device(struct rndis_device *dev)
osd_waitevent_wait(request->waitevent);
init_complete = &request->response_msg.Message.InitializeComplete;
status = init_complete->Status;
init_complete = &request->response_msg.msg.init_complete;
status = init_complete->status;
if (status == RNDIS_STATUS_SUCCESS) {
dev->state = RNDIS_DEV_INITIALIZED;
ret = 0;
......@@ -706,8 +706,8 @@ static void rndis_filter_halt_device(struct rndis_device *dev)
goto Cleanup;
/* Setup the rndis set */
halt = &request->request_msg.Message.HaltRequest;
halt->RequestId = atomic_inc_return(&dev->new_req_id);
halt = &request->request_msg.msg.halt_req;
halt->req_id = atomic_inc_return(&dev->new_req_id);
/* Ignore return since this msg is optional. */
rndis_filter_send_request(dev, request);
......@@ -875,13 +875,13 @@ static int rndis_filter_send(struct hv_device *dev,
rndisMessage = &filterPacket->msg;
rndisMessageSize = RNDIS_MESSAGE_SIZE(struct rndis_packet);
rndisMessage->NdisMessageType = REMOTE_NDIS_PACKET_MSG;
rndisMessage->MessageLength = pkt->total_data_buflen +
rndisMessage->ndis_msg_type = REMOTE_NDIS_PACKET_MSG;
rndisMessage->msg_len = pkt->total_data_buflen +
rndisMessageSize;
rndisPacket = &rndisMessage->Message.Packet;
rndisPacket->DataOffset = sizeof(struct rndis_packet);
rndisPacket->DataLength = pkt->total_data_buflen;
rndisPacket = &rndisMessage->msg.pkt;
rndisPacket->data_offset = sizeof(struct rndis_packet);
rndisPacket->data_len = pkt->total_data_buflen;
pkt->is_data_pkt = true;
pkt->page_buf[0].Pfn = virt_to_phys(rndisMessage) >> PAGE_SHIFT;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册