Skip to content

Commit 6323185

Browse files
committed
lib-types: provide base types when missing
Windows doesn't provide these types, thus define then in this case. Signed-off-by: Daniel Wagner <[email protected]>
1 parent 8f617f8 commit 6323185

1 file changed

Lines changed: 30 additions & 0 deletions

File tree

libnvme/src/nvme/lib-types.h

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,37 @@
88
*/
99
#pragma once
1010

11+
#if !defined(__linux__)
12+
#include <stdint.h>
13+
14+
/* Standard type definitions for linux/types.h compatibility */
15+
typedef uint8_t __u8;
16+
typedef uint16_t __u16;
17+
typedef uint32_t __u32;
18+
typedef uint64_t __u64;
19+
typedef int8_t __s8;
20+
typedef int16_t __s16;
21+
typedef int32_t __s32;
22+
typedef int64_t __s64;
23+
24+
/* Little-endian types (Windows is little-endian) */
25+
typedef __u16 __le16;
26+
typedef __u32 __le32;
27+
typedef __u64 __le64;
28+
typedef __s16 __le16s;
29+
typedef __s32 __le32s;
30+
typedef __s64 __le64s;
31+
32+
/* Big-endian types for completeness */
33+
typedef __u16 __be16;
34+
typedef __u32 __be32;
35+
typedef __u64 __be64;
36+
typedef __s16 __be16s;
37+
typedef __s32 __be32s;
38+
typedef __s64 __be64s;
39+
#else
1140
#include <linux/types.h>
41+
#endif
1242

1343
struct libnvme_global_ctx;
1444
struct libnvme_transport_handle;

0 commit comments

Comments
 (0)