forked from mfulz_github/qmk_firmware
Corrected bitfields -- the smallest datatype required for each bitfield is now used, rather than relying on GCC to truncate unused bytes in bitfields (thanks to Walt Sacuta).
This commit is contained in:
parent
1c9092a8a6
commit
ca641bba83
|
@ -74,31 +74,31 @@
|
||||||
*/
|
*/
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
unsigned int DeviceType : 5;
|
unsigned char DeviceType : 5;
|
||||||
unsigned int PeripheralQualifier : 3;
|
unsigned char PeripheralQualifier : 3;
|
||||||
|
|
||||||
unsigned int _RESERVED1 : 7;
|
unsigned char _RESERVED1 : 7;
|
||||||
unsigned int Removable : 1;
|
unsigned char Removable : 1;
|
||||||
|
|
||||||
uint8_t Version;
|
uint8_t Version;
|
||||||
|
|
||||||
unsigned int ResponseDataFormat : 4;
|
unsigned char ResponseDataFormat : 4;
|
||||||
unsigned int _RESERVED2 : 1;
|
unsigned char _RESERVED2 : 1;
|
||||||
unsigned int NormACA : 1;
|
unsigned char NormACA : 1;
|
||||||
unsigned int TrmTsk : 1;
|
unsigned char TrmTsk : 1;
|
||||||
unsigned int AERC : 1;
|
unsigned char AERC : 1;
|
||||||
|
|
||||||
uint8_t AdditionalLength;
|
uint8_t AdditionalLength;
|
||||||
uint8_t _RESERVED3[2];
|
uint8_t _RESERVED3[2];
|
||||||
|
|
||||||
unsigned int SoftReset : 1;
|
unsigned char SoftReset : 1;
|
||||||
unsigned int CmdQue : 1;
|
unsigned char CmdQue : 1;
|
||||||
unsigned int _RESERVED4 : 1;
|
unsigned char _RESERVED4 : 1;
|
||||||
unsigned int Linked : 1;
|
unsigned char Linked : 1;
|
||||||
unsigned int Sync : 1;
|
unsigned char Sync : 1;
|
||||||
unsigned int WideBus16Bit : 1;
|
unsigned char WideBus16Bit : 1;
|
||||||
unsigned int WideBus32Bit : 1;
|
unsigned char WideBus32Bit : 1;
|
||||||
unsigned int RelAddr : 1;
|
unsigned char RelAddr : 1;
|
||||||
|
|
||||||
uint8_t VendorID[8];
|
uint8_t VendorID[8];
|
||||||
uint8_t ProductID[16];
|
uint8_t ProductID[16];
|
||||||
|
@ -114,11 +114,11 @@
|
||||||
|
|
||||||
uint8_t SegmentNumber;
|
uint8_t SegmentNumber;
|
||||||
|
|
||||||
unsigned int SenseKey : 4;
|
unsigned char SenseKey : 4;
|
||||||
unsigned int _RESERVED1 : 1;
|
unsigned char _RESERVED1 : 1;
|
||||||
unsigned int ILI : 1;
|
unsigned char ILI : 1;
|
||||||
unsigned int EOM : 1;
|
unsigned char EOM : 1;
|
||||||
unsigned int FileMark : 1;
|
unsigned char FileMark : 1;
|
||||||
|
|
||||||
uint8_t Information[4];
|
uint8_t Information[4];
|
||||||
uint8_t AdditionalLength;
|
uint8_t AdditionalLength;
|
||||||
|
|
|
@ -70,18 +70,18 @@
|
||||||
/** Type define of an IP packet header. */
|
/** Type define of an IP packet header. */
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
unsigned int HeaderLength : 4; /**< Total length of the packet header, in 4-byte blocks */
|
unsigned char HeaderLength : 4; /**< Total length of the packet header, in 4-byte blocks */
|
||||||
unsigned int Version : 4; /**< IP protocol version */
|
unsigned char Version : 4; /**< IP protocol version */
|
||||||
unsigned int TypeOfService : 8; /**< Special service type identifier, indicating delay/throughput/reliability levels */
|
uint8_t TypeOfService; /**< Special service type identifier, indicating delay/throughput/reliability levels */
|
||||||
unsigned int TotalLength : 16; /**< Total length of the IP packet, in bytes */
|
uint16_t TotalLength; /**< Total length of the IP packet, in bytes */
|
||||||
|
|
||||||
unsigned int Identification : 16; /**< Idenfication value for identifying fragmented packets */
|
uint16_t Identification; /**< Idenfication value for identifying fragmented packets */
|
||||||
unsigned int FragmentOffset : 13; /**< Offset of this IP fragment */
|
unsigned int FragmentOffset : 13; /**< Offset of this IP fragment */
|
||||||
unsigned int Flags : 3; /**< Fragment flags, to indicate if a packet is fragmented */
|
unsigned int Flags : 3; /**< Fragment flags, to indicate if a packet is fragmented */
|
||||||
|
|
||||||
unsigned int TTL : 8; /**< Maximum allowable number of hops to reach the packet destination */
|
uint8_t TTL; /**< Maximum allowable number of hops to reach the packet destination */
|
||||||
unsigned int Protocol : 8; /**< Encapsulated protocol type */
|
uint8_t Protocol; /**< Encapsulated protocol type */
|
||||||
unsigned int HeaderChecksum : 16; /**< Ethernet checksum of the IP header */
|
uint16_t HeaderChecksum; /**< Ethernet checksum of the IP header */
|
||||||
|
|
||||||
IP_Address_t SourceAddress; /**< Source protocol IP address of the packet */
|
IP_Address_t SourceAddress; /**< Source protocol IP address of the packet */
|
||||||
IP_Address_t DestinationAddress; /**< Destination protocol IP address of the packet */
|
IP_Address_t DestinationAddress; /**< Destination protocol IP address of the packet */
|
||||||
|
|
|
@ -221,8 +221,8 @@
|
||||||
uint32_t SequenceNumber; /**< Data sequence number of the packet */
|
uint32_t SequenceNumber; /**< Data sequence number of the packet */
|
||||||
uint32_t AcknowledgmentNumber; /**< Data acknowledgment number of the packet */
|
uint32_t AcknowledgmentNumber; /**< Data acknowledgment number of the packet */
|
||||||
|
|
||||||
unsigned int Reserved : 4; /**< Reserved, must be all 0 */
|
unsigned char Reserved : 4; /**< Reserved, must be all 0 */
|
||||||
unsigned int DataOffset : 4; /**< Offset of the data from the start of the header, in 4 byte chunks */
|
unsigned char DataOffset : 4; /**< Offset of the data from the start of the header, in 4 byte chunks */
|
||||||
uint8_t Flags; /**< TCP packet flags */
|
uint8_t Flags; /**< TCP packet flags */
|
||||||
uint16_t WindowSize; /**< Current data window size (bytes remaning in reception buffer) */
|
uint16_t WindowSize; /**< Current data window size (bytes remaning in reception buffer) */
|
||||||
|
|
||||||
|
|
|
@ -109,16 +109,16 @@
|
||||||
*/
|
*/
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
unsigned int ReponseCode : 7;
|
unsigned char ReponseCode : 7;
|
||||||
unsigned int Valid : 1;
|
unsigned char Valid : 1;
|
||||||
|
|
||||||
uint8_t SegmentNumber;
|
uint8_t SegmentNumber;
|
||||||
|
|
||||||
unsigned int SenseKey : 4;
|
unsigned char SenseKey : 4;
|
||||||
unsigned int _RESERVED1 : 1;
|
unsigned char _RESERVED1 : 1;
|
||||||
unsigned int ILI : 1;
|
unsigned char ILI : 1;
|
||||||
unsigned int EOM : 1;
|
unsigned char EOM : 1;
|
||||||
unsigned int FileMark : 1;
|
unsigned char FileMark : 1;
|
||||||
|
|
||||||
uint8_t Information[4];
|
uint8_t Information[4];
|
||||||
uint8_t AdditionalLength;
|
uint8_t AdditionalLength;
|
||||||
|
|
Loading…
Reference in New Issue