From abb7aacb5070bad0e94eeaf5fad340ab4f97b33e Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Fri, 28 Aug 2009 16:20:34 -0700 Subject: [PATCH] Staging: hv: fix coding style issues in nvspprotocol.h No typedef changes yet though. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman --- drivers/staging/hv/include/nvspprotocol.h | 436 ++++++++++++++---------------- 1 file changed, 196 insertions(+), 240 deletions(-) diff --git a/drivers/staging/hv/include/nvspprotocol.h b/drivers/staging/hv/include/nvspprotocol.h index 5e7e03c..03fbb42 100644 --- a/drivers/staging/hv/include/nvspprotocol.h +++ b/drivers/staging/hv/include/nvspprotocol.h @@ -21,286 +21,242 @@ * */ - -#pragma once - #include "VmbusChannelInterface.h" -#define NVSP_INVALID_PROTOCOL_VERSION ((u32)0xFFFFFFFF) - -#define NVSP_PROTOCOL_VERSION_1 2 -#define NVSP_MIN_PROTOCOL_VERSION NVSP_PROTOCOL_VERSION_1 -#define NVSP_MAX_PROTOCOL_VERSION NVSP_PROTOCOL_VERSION_1 - -typedef enum _NVSP_MESSAGE_TYPE -{ - NvspMessageTypeNone = 0, - +#define NVSP_INVALID_PROTOCOL_VERSION ((u32)0xFFFFFFFF) - /* Init Messages */ +#define NVSP_PROTOCOL_VERSION_1 2 +#define NVSP_MIN_PROTOCOL_VERSION NVSP_PROTOCOL_VERSION_1 +#define NVSP_MAX_PROTOCOL_VERSION NVSP_PROTOCOL_VERSION_1 - NvspMessageTypeInit = 1, - NvspMessageTypeInitComplete = 2, +typedef enum _NVSP_MESSAGE_TYPE { + NvspMessageTypeNone = 0, - NvspVersionMessageStart = 100, + /* Init Messages */ + NvspMessageTypeInit = 1, + NvspMessageTypeInitComplete = 2, + NvspVersionMessageStart = 100, - /* Version 1 Messages */ + /* Version 1 Messages */ + NvspMessage1TypeSendNdisVersion = NvspVersionMessageStart, - NvspMessage1TypeSendNdisVersion = NvspVersionMessageStart, + NvspMessage1TypeSendReceiveBuffer, + NvspMessage1TypeSendReceiveBufferComplete, + NvspMessage1TypeRevokeReceiveBuffer, - NvspMessage1TypeSendReceiveBuffer, - NvspMessage1TypeSendReceiveBufferComplete, - NvspMessage1TypeRevokeReceiveBuffer, + NvspMessage1TypeSendSendBuffer, + NvspMessage1TypeSendSendBufferComplete, + NvspMessage1TypeRevokeSendBuffer, - NvspMessage1TypeSendSendBuffer, - NvspMessage1TypeSendSendBufferComplete, - NvspMessage1TypeRevokeSendBuffer, - - NvspMessage1TypeSendRNDISPacket, - NvspMessage1TypeSendRNDISPacketComplete, - - - /* This should be set to the number of messages for the version */ - /* with the maximum number of messages. */ - - NvspNumMessagePerVersion = 9, + NvspMessage1TypeSendRNDISPacket, + NvspMessage1TypeSendRNDISPacketComplete, + /* + * This should be set to the number of messages for the version with + * the maximum number of messages. + */ + NvspNumMessagePerVersion = 9, } NVSP_MESSAGE_TYPE, *PNVSP_MESSAGE_TYPE; -typedef enum _NVSP_STATUS -{ - NvspStatusNone = 0, - NvspStatusSuccess, - NvspStatusFailure, - NvspStatusProtocolVersionRangeTooNew, - NvspStatusProtocolVersionRangeTooOld, - NvspStatusInvalidRndisPacket, - NvspStatusBusy, - NvspStatusMax, +typedef enum _NVSP_STATUS { + NvspStatusNone = 0, + NvspStatusSuccess, + NvspStatusFailure, + NvspStatusProtocolVersionRangeTooNew, + NvspStatusProtocolVersionRangeTooOld, + NvspStatusInvalidRndisPacket, + NvspStatusBusy, + NvspStatusMax, } NVSP_STATUS, *PNVSP_STATUS; -#pragma pack(push, 1) - -typedef struct _NVSP_MESSAGE_HEADER -{ - u32 MessageType; +typedef struct _NVSP_MESSAGE_HEADER { + u32 MessageType; } NVSP_MESSAGE_HEADER, *PNVSP_MESSAGE_HEADER; - /* Init Messages */ +/* + * This message is used by the VSC to initialize the channel after the channels + * has been opened. This message should never include anything other then + * versioning (i.e. this message will be the same for ever). + */ +typedef struct _NVSP_MESSAGE_INIT { + u32 MinProtocolVersion; + u32 MaxProtocolVersion; +} __attribute__((packed)) NVSP_MESSAGE_INIT, *PNVSP_MESSAGE_INIT; +/* + * This message is used by the VSP to complete the initialization of the + * channel. This message should never include anything other then versioning + * (i.e. this message will be the same for ever). + */ +typedef struct _NVSP_MESSAGE_INIT_COMPLETE { + u32 NegotiatedProtocolVersion; + u32 MaximumMdlChainLength; + u32 Status; +} __attribute__((packed)) NVSP_MESSAGE_INIT_COMPLETE, *PNVSP_MESSAGE_INIT_COMPLETE; -/* This message is used by the VSC to initialize the channel */ -/* after the channels has been opened. This message should */ -/* never include anything other then versioning (i.e. this */ -/* message will be the same for ever). */ - -typedef struct _NVSP_MESSAGE_INIT -{ - u32 MinProtocolVersion; - u32 MaxProtocolVersion; -} NVSP_MESSAGE_INIT, *PNVSP_MESSAGE_INIT; - - -/* This message is used by the VSP to complete the initialization */ -/* of the channel. This message should never include anything other */ -/* then versioning (i.e. this message will be the same for ever). */ - -typedef struct _NVSP_MESSAGE_INIT_COMPLETE -{ - u32 NegotiatedProtocolVersion; - u32 MaximumMdlChainLength; - u32 Status; -} NVSP_MESSAGE_INIT_COMPLETE, *PNVSP_MESSAGE_INIT_COMPLETE; - -typedef union _NVSP_MESSAGE_INIT_UBER -{ - NVSP_MESSAGE_INIT Init; - NVSP_MESSAGE_INIT_COMPLETE InitComplete; -} NVSP_MESSAGE_INIT_UBER; - +typedef union _NVSP_MESSAGE_INIT_UBER { + NVSP_MESSAGE_INIT Init; + NVSP_MESSAGE_INIT_COMPLETE InitComplete; +} __attribute__((packed)) NVSP_MESSAGE_INIT_UBER; /* Version 1 Messages */ +/* + * This message is used by the VSC to send the NDIS version to the VSP. The VSP + * can use this information when handling OIDs sent by the VSC. + */ +typedef struct _NVSP_1_MESSAGE_SEND_NDIS_VERSION { + u32 NdisMajorVersion; + u32 NdisMinorVersion; +} __attribute__((packed)) NVSP_1_MESSAGE_SEND_NDIS_VERSION, *PNVSP_1_MESSAGE_SEND_NDIS_VERSION; +/* + * This message is used by the VSC to send a receive buffer to the VSP. The VSP + * can then use the receive buffer to send data to the VSC. + */ +typedef struct _NVSP_1_MESSAGE_SEND_RECEIVE_BUFFER { + u32 GpadlHandle; + u16 Id; +} __attribute__((packed)) NVSP_1_MESSAGE_SEND_RECEIVE_BUFFER, *PNVSP_1_MESSAGE_SEND_RECEIVE_BUFFER; + +typedef struct _NVSP_1_RECEIVE_BUFFER_SECTION { + u32 Offset; + u32 SubAllocationSize; + u32 NumSubAllocations; + u32 EndOffset; +} __attribute__((packed)) NVSP_1_RECEIVE_BUFFER_SECTION, *PNVSP_1_RECEIVE_BUFFER_SECTION; -/* This message is used by the VSC to send the NDIS version */ -/* to the VSP. The VSP can use this information when handling */ -/* OIDs sent by the VSC. */ - -typedef struct _NVSP_1_MESSAGE_SEND_NDIS_VERSION -{ - u32 NdisMajorVersion; - u32 NdisMinorVersion; -} NVSP_1_MESSAGE_SEND_NDIS_VERSION, *PNVSP_1_MESSAGE_SEND_NDIS_VERSION; - - -/* This message is used by the VSC to send a receive buffer */ -/* to the VSP. The VSP can then use the receive buffer to */ -/* send data to the VSC. */ - -typedef struct _NVSP_1_MESSAGE_SEND_RECEIVE_BUFFER -{ - u32 GpadlHandle; - u16 Id; -} NVSP_1_MESSAGE_SEND_RECEIVE_BUFFER, *PNVSP_1_MESSAGE_SEND_RECEIVE_BUFFER; - -typedef struct _NVSP_1_RECEIVE_BUFFER_SECTION -{ - u32 Offset; - u32 SubAllocationSize; - u32 NumSubAllocations; - u32 EndOffset; -} NVSP_1_RECEIVE_BUFFER_SECTION, *PNVSP_1_RECEIVE_BUFFER_SECTION; - - -/* This message is used by the VSP to acknowledge a receive */ -/* buffer send by the VSC. This message must be sent by the */ -/* VSP before the VSP uses the receive buffer. */ - -typedef struct _NVSP_1_MESSAGE_SEND_RECEIVE_BUFFER_COMPLETE -{ - u32 Status; - u32 NumSections; - - - /* The receive buffer is split into two parts, a large */ - /* suballocation section and a small suballocation */ - /* section. These sections are then suballocated by a */ - /* certain size. */ - - /* For example, the following break up of the receive */ - /* buffer has 6 large suballocations and 10 small */ - /* suballocations. */ - - /* | Large Section | | Small Section | */ - /* ------------------------------------------------------------ */ - /* | | | | | | | | | | | | | | | | | | */ - /* | | */ - /* LargeOffset SmallOffset */ - - NVSP_1_RECEIVE_BUFFER_SECTION Sections[1]; - -} NVSP_1_MESSAGE_SEND_RECEIVE_BUFFER_COMPLETE, *PNVSP_1_MESSAGE_SEND_RECEIVE_BUFFER_COMPLETE; - - -/* This message is sent by the VSC to revoke the receive buffer. */ -/* After the VSP completes this transaction, the vsp should never */ -/* use the receive buffer again. */ +/* + * This message is used by the VSP to acknowledge a receive buffer send by the + * VSC. This message must be sent by the VSP before the VSP uses the receive + * buffer. + */ +typedef struct _NVSP_1_MESSAGE_SEND_RECEIVE_BUFFER_COMPLETE { + u32 Status; + u32 NumSections; + + /* + * The receive buffer is split into two parts, a large suballocation + * section and a small suballocation section. These sections are then + * suballocated by a certain size. + */ + + /* + * For example, the following break up of the receive buffer has 6 + * large suballocations and 10 small suballocations. + */ + + /* + * | Large Section | | Small Section | + * ------------------------------------------------------------ + * | | | | | | | | | | | | | | | | | | + * | | + * LargeOffset SmallOffset + */ + + NVSP_1_RECEIVE_BUFFER_SECTION Sections[1]; +} __attribute__((packed)) NVSP_1_MESSAGE_SEND_RECEIVE_BUFFER_COMPLETE, *PNVSP_1_MESSAGE_SEND_RECEIVE_BUFFER_COMPLETE; -typedef struct _NVSP_1_MESSAGE_REVOKE_RECEIVE_BUFFER -{ - u16 Id; +/* + * This message is sent by the VSC to revoke the receive buffer. After the VSP + * completes this transaction, the vsp should never use the receive buffer + * again. + */ +typedef struct _NVSP_1_MESSAGE_REVOKE_RECEIVE_BUFFER { + u16 Id; } NVSP_1_MESSAGE_REVOKE_RECEIVE_BUFFER, *PNVSP_1_MESSAGE_REVOKE_RECEIVE_BUFFER; +/* + * This message is used by the VSC to send a send buffer to the VSP. The VSC + * can then use the send buffer to send data to the VSP. + */ +typedef struct _NVSP_1_MESSAGE_SEND_SEND_BUFFER { + u32 GpadlHandle; + u16 Id; +} __attribute__((packed)) NVSP_1_MESSAGE_SEND_SEND_BUFFER, *PNVSP_1_MESSAGE_SEND_SEND_BUFFER; -/* This message is used by the VSC to send a send buffer */ -/* to the VSP. The VSC can then use the send buffer to */ -/* send data to the VSP. */ - -typedef struct _NVSP_1_MESSAGE_SEND_SEND_BUFFER -{ - u32 GpadlHandle; - u16 Id; -} NVSP_1_MESSAGE_SEND_SEND_BUFFER, *PNVSP_1_MESSAGE_SEND_SEND_BUFFER; - - -/* This message is used by the VSP to acknowledge a send */ -/* buffer sent by the VSC. This message must be sent by the */ -/* VSP before the VSP uses the sent buffer. */ - -typedef struct _NVSP_1_MESSAGE_SEND_SEND_BUFFER_COMPLETE -{ - u32 Status; - - - /* The VSC gets to choose the size of the send buffer and */ - /* the VSP gets to choose the sections size of the buffer. */ - /* This was done to enable dynamic reconfigurations when */ - /* the cost of GPA-direct buffers decreases. */ - - u32 SectionSize; -} NVSP_1_MESSAGE_SEND_SEND_BUFFER_COMPLETE, *PNVSP_1_MESSAGE_SEND_SEND_BUFFER_COMPLETE; - - -/* This message is sent by the VSC to revoke the send buffer. */ -/* After the VSP completes this transaction, the vsp should never */ -/* use the send buffer again. */ +/* + * This message is used by the VSP to acknowledge a send buffer sent by the + * VSC. This message must be sent by the VSP before the VSP uses the sent + * buffer. + */ +typedef struct _NVSP_1_MESSAGE_SEND_SEND_BUFFER_COMPLETE { + u32 Status; + + /* + * The VSC gets to choose the size of the send buffer and the VSP gets + * to choose the sections size of the buffer. This was done to enable + * dynamic reconfigurations when the cost of GPA-direct buffers + * decreases. + */ + u32 SectionSize; +} __attribute__((packed)) NVSP_1_MESSAGE_SEND_SEND_BUFFER_COMPLETE, *PNVSP_1_MESSAGE_SEND_SEND_BUFFER_COMPLETE; -typedef struct _NVSP_1_MESSAGE_REVOKE_SEND_BUFFER -{ - u16 Id; +/* + * This message is sent by the VSC to revoke the send buffer. After the VSP + * completes this transaction, the vsp should never use the send buffer again. + */ +typedef struct _NVSP_1_MESSAGE_REVOKE_SEND_BUFFER { + u16 Id; } NVSP_1_MESSAGE_REVOKE_SEND_BUFFER, *PNVSP_1_MESSAGE_REVOKE_SEND_BUFFER; +/* + * This message is used by both the VSP and the VSC to send a RNDIS message to + * the opposite channel endpoint. + */ +typedef struct _NVSP_1_MESSAGE_SEND_RNDIS_PACKET { + /* + * This field is specified by RNIDS. They assume there's two different + * channels of communication. However, the Network VSP only has one. + * Therefore, the channel travels with the RNDIS packet. + */ + u32 ChannelType; + + /* + * This field is used to send part or all of the data through a send + * buffer. This values specifies an index into the send buffer. If the + * index is 0xFFFFFFFF, then the send buffer is not being used and all + * of the data was sent through other VMBus mechanisms. + */ + u32 SendBufferSectionIndex; + u32 SendBufferSectionSize; +} __attribute__((packed)) NVSP_1_MESSAGE_SEND_RNDIS_PACKET, *PNVSP_1_MESSAGE_SEND_RNDIS_PACKET; -/* This message is used by both the VSP and the VSC to send */ -/* a RNDIS message to the opposite channel endpoint. */ - -typedef struct _NVSP_1_MESSAGE_SEND_RNDIS_PACKET -{ - - /* This field is specified by RNIDS. They assume there's */ - /* two different channels of communication. However, */ - /* the Network VSP only has one. Therefore, the channel */ - /* travels with the RNDIS packet. */ - - u32 ChannelType; - - - /* This field is used to send part or all of the data */ - /* through a send buffer. This values specifies an */ - /* index into the send buffer. If the index is */ - /* 0xFFFFFFFF, then the send buffer is not being used */ - /* and all of the data was sent through other VMBus */ - /* mechanisms. */ - - u32 SendBufferSectionIndex; - u32 SendBufferSectionSize; -} NVSP_1_MESSAGE_SEND_RNDIS_PACKET, *PNVSP_1_MESSAGE_SEND_RNDIS_PACKET; - - -/* This message is used by both the VSP and the VSC to complete */ -/* a RNDIS message to the opposite channel endpoint. At this */ -/* point, the initiator of this message cannot use any resources */ -/* associated with the original RNDIS packet. */ - -typedef struct _NVSP_1_MESSAGE_SEND_RNDIS_PACKET_COMPLETE -{ - u32 Status; +/* + * This message is used by both the VSP and the VSC to complete a RNDIS message + * to the opposite channel endpoint. At this point, the initiator of this + * message cannot use any resources associated with the original RNDIS packet. + */ +typedef struct _NVSP_1_MESSAGE_SEND_RNDIS_PACKET_COMPLETE { + u32 Status; } NVSP_1_MESSAGE_SEND_RNDIS_PACKET_COMPLETE, *PNVSP_1_MESSAGE_SEND_RNDIS_PACKET_COMPLETE; -typedef union _NVSP_MESSAGE_1_UBER -{ - NVSP_1_MESSAGE_SEND_NDIS_VERSION SendNdisVersion; - - NVSP_1_MESSAGE_SEND_RECEIVE_BUFFER SendReceiveBuffer; - NVSP_1_MESSAGE_SEND_RECEIVE_BUFFER_COMPLETE SendReceiveBufferComplete; - NVSP_1_MESSAGE_REVOKE_RECEIVE_BUFFER RevokeReceiveBuffer; +typedef union _NVSP_MESSAGE_1_UBER { + NVSP_1_MESSAGE_SEND_NDIS_VERSION SendNdisVersion; - NVSP_1_MESSAGE_SEND_SEND_BUFFER SendSendBuffer; - NVSP_1_MESSAGE_SEND_SEND_BUFFER_COMPLETE SendSendBufferComplete; - NVSP_1_MESSAGE_REVOKE_SEND_BUFFER RevokeSendBuffer; + NVSP_1_MESSAGE_SEND_RECEIVE_BUFFER SendReceiveBuffer; + NVSP_1_MESSAGE_SEND_RECEIVE_BUFFER_COMPLETE SendReceiveBufferComplete; + NVSP_1_MESSAGE_REVOKE_RECEIVE_BUFFER RevokeReceiveBuffer; - NVSP_1_MESSAGE_SEND_RNDIS_PACKET SendRNDISPacket; - NVSP_1_MESSAGE_SEND_RNDIS_PACKET_COMPLETE SendRNDISPacketComplete; -} NVSP_1_MESSAGE_UBER; + NVSP_1_MESSAGE_SEND_SEND_BUFFER SendSendBuffer; + NVSP_1_MESSAGE_SEND_SEND_BUFFER_COMPLETE SendSendBufferComplete; + NVSP_1_MESSAGE_REVOKE_SEND_BUFFER RevokeSendBuffer; -typedef union _NVSP_ALL_MESSAGES -{ - NVSP_MESSAGE_INIT_UBER InitMessages; - NVSP_1_MESSAGE_UBER Version1Messages; - -} NVSP_ALL_MESSAGES; + NVSP_1_MESSAGE_SEND_RNDIS_PACKET SendRNDISPacket; + NVSP_1_MESSAGE_SEND_RNDIS_PACKET_COMPLETE SendRNDISPacketComplete; +} __attribute__((packed)) NVSP_1_MESSAGE_UBER; +typedef union _NVSP_ALL_MESSAGES { + NVSP_MESSAGE_INIT_UBER InitMessages; + NVSP_1_MESSAGE_UBER Version1Messages; +} __attribute__((packed)) NVSP_ALL_MESSAGES; /* ALL Messages */ +typedef struct _NVSP_MESSAGE { + NVSP_MESSAGE_HEADER Header; + NVSP_ALL_MESSAGES Messages; +} __attribute__((packed)) NVSP_MESSAGE, *PNVSP_MESSAGE; -typedef struct _NVSP_MESSAGE -{ - NVSP_MESSAGE_HEADER Header; - NVSP_ALL_MESSAGES Messages; -} NVSP_MESSAGE, *PNVSP_MESSAGE; - -#pragma pack(pop) -- 2.7.4