Code: Select all
typedef __signed__ int __s32;
typedef unsigned int __u32;
pcan.h forces:
Code: Select all
#else
#define DWORD __u32
#define WORD __u16
#define BYTE __u8
#endif
Code: Select all
typedef __signed__ int __s32;
typedef unsigned int __u32;
Code: Select all
#else
#define DWORD __u32
#define WORD __u16
#define BYTE __u8
#endif
Code: Select all
$ uname -a
Linux linux-dev 5.3.0-19-generic #20-Ubuntu SMP Fri Oct 18 09:04:39 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
$ cat sizeof.c
#include <stdio.h>
int main(int argc, char *argv[])
{
printf("sizeof(unsigned char)=%lu\n", sizeof(unsigned char));
printf("sizeof(unsigned short)=%lu\n", sizeof(unsigned short));
printf("sizeof(unsigned int)=%lu\n", sizeof(unsigned int));
printf("sizeof(unsigned long)=%lu\n", sizeof(unsigned long));
return 0;
}
$ gcc sizeof.c -o sizeof
$ ./sizeof
sizeof(unsigned char)=1
sizeof(unsigned short)=2
sizeof(unsigned int)=4
sizeof(unsigned long)=8
Code: Select all
The following types are required:
int8_t
int16_t
int32_t
uint8_t
uint16_t
uint32_t
Code: Select all
printf("__u32 %ld __u16 %ld __u8 %ld\n", sizeof(__u32), sizeof(__u16), sizeof(__u8));
printf("sizeof(unsigned char)=%lu\n", sizeof(unsigned char));
printf("sizeof(unsigned short)=%lu\n", sizeof(unsigned short));
printf("sizeof(unsigned int)=%lu\n", sizeof(unsigned int));
printf("sizeof(unsigned long)=%lu\n", sizeof(unsigned long));
Code: Select all
__u32 4 __u16 2 __u8 1
sizeof(unsigned char)=1
sizeof(unsigned short)=2
sizeof(unsigned int)=4
sizeof(unsigned long)=8