liyujie
2025-08-28 786ff4f4ca2374bdd9177f2e24b503d43e7a3b93
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
/* Generated by ./xlat/gen.sh from ./xlat/nbd_ioctl_flags.in; do not edit. */
 
#include "gcc_compat.h"
#include "static_assert.h"
 
#if defined(NBD_FLAG_HAS_FLAGS) || (defined(HAVE_DECL_NBD_FLAG_HAS_FLAGS) && HAVE_DECL_NBD_FLAG_HAS_FLAGS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((NBD_FLAG_HAS_FLAGS) == ((1 << 0)), "NBD_FLAG_HAS_FLAGS != (1 << 0)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define NBD_FLAG_HAS_FLAGS (1 << 0)
#endif
#if defined(NBD_FLAG_READ_ONLY) || (defined(HAVE_DECL_NBD_FLAG_READ_ONLY) && HAVE_DECL_NBD_FLAG_READ_ONLY)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((NBD_FLAG_READ_ONLY) == ((1 << 1)), "NBD_FLAG_READ_ONLY != (1 << 1)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define NBD_FLAG_READ_ONLY (1 << 1)
#endif
#if defined(NBD_FLAG_SEND_FLUSH) || (defined(HAVE_DECL_NBD_FLAG_SEND_FLUSH) && HAVE_DECL_NBD_FLAG_SEND_FLUSH)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((NBD_FLAG_SEND_FLUSH) == ((1 << 2)), "NBD_FLAG_SEND_FLUSH != (1 << 2)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define NBD_FLAG_SEND_FLUSH (1 << 2)
#endif
#if defined(NBD_FLAG_SEND_FUA) || (defined(HAVE_DECL_NBD_FLAG_SEND_FUA) && HAVE_DECL_NBD_FLAG_SEND_FUA)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((NBD_FLAG_SEND_FUA) == ((1 << 3)), "NBD_FLAG_SEND_FUA != (1 << 3)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define NBD_FLAG_SEND_FUA (1 << 3)
#endif
#if defined(NBD_FLAG_ROTATIONAL) || (defined(HAVE_DECL_NBD_FLAG_ROTATIONAL) && HAVE_DECL_NBD_FLAG_ROTATIONAL)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((NBD_FLAG_ROTATIONAL) == ((1 << 4)), "NBD_FLAG_ROTATIONAL != (1 << 4)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define NBD_FLAG_ROTATIONAL (1 << 4)
#endif
#if defined(NBD_FLAG_SEND_TRIM) || (defined(HAVE_DECL_NBD_FLAG_SEND_TRIM) && HAVE_DECL_NBD_FLAG_SEND_TRIM)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((NBD_FLAG_SEND_TRIM) == ((1 << 5)), "NBD_FLAG_SEND_TRIM != (1 << 5)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define NBD_FLAG_SEND_TRIM (1 << 5)
#endif
#if defined(NBD_FLAG_SEND_WRITE_ZEROES) || (defined(HAVE_DECL_NBD_FLAG_SEND_WRITE_ZEROES) && HAVE_DECL_NBD_FLAG_SEND_WRITE_ZEROES)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((NBD_FLAG_SEND_WRITE_ZEROES) == ((1 << 6)), "NBD_FLAG_SEND_WRITE_ZEROES != (1 << 6)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define NBD_FLAG_SEND_WRITE_ZEROES (1 << 6)
#endif
#if defined(NBD_FLAG_SEND_DF) || (defined(HAVE_DECL_NBD_FLAG_SEND_DF) && HAVE_DECL_NBD_FLAG_SEND_DF)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((NBD_FLAG_SEND_DF) == ((1 << 7)), "NBD_FLAG_SEND_DF != (1 << 7)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define NBD_FLAG_SEND_DF (1 << 7)
#endif
#if defined(NBD_FLAG_CAN_MULTI_CONN) || (defined(HAVE_DECL_NBD_FLAG_CAN_MULTI_CONN) && HAVE_DECL_NBD_FLAG_CAN_MULTI_CONN)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((NBD_FLAG_CAN_MULTI_CONN) == ((1 << 8)), "NBD_FLAG_CAN_MULTI_CONN != (1 << 8)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define NBD_FLAG_CAN_MULTI_CONN (1 << 8)
#endif
#if defined(NBD_FLAG_SEND_RESIZE) || (defined(HAVE_DECL_NBD_FLAG_SEND_RESIZE) && HAVE_DECL_NBD_FLAG_SEND_RESIZE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((NBD_FLAG_SEND_RESIZE) == ((1 << 9)), "NBD_FLAG_SEND_RESIZE != (1 << 9)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define NBD_FLAG_SEND_RESIZE (1 << 9)
#endif
#if defined(NBD_FLAG_SEND_CACHE) || (defined(HAVE_DECL_NBD_FLAG_SEND_CACHE) && HAVE_DECL_NBD_FLAG_SEND_CACHE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((NBD_FLAG_SEND_CACHE) == ((1 << 10)), "NBD_FLAG_SEND_CACHE != (1 << 10)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define NBD_FLAG_SEND_CACHE (1 << 10)
#endif
 
#ifndef XLAT_MACROS_ONLY
 
# ifdef IN_MPERS
 
#  error static const struct xlat nbd_ioctl_flags in mpers mode
 
# else
 
static
const struct xlat nbd_ioctl_flags[] = {
/*
* Some flags are not defined in <linux/nbd.h>, but are passed anyway.
* These flags are sent from nbd-server to the client, and the client
* passes them to the kernel unmodified after parsing. Both the client
* and the kernel ignore flags unknown to them.
*/
 
 
 XLAT(NBD_FLAG_HAS_FLAGS),
 
 XLAT(NBD_FLAG_READ_ONLY),
 
 XLAT(NBD_FLAG_SEND_FLUSH),
 
 XLAT(NBD_FLAG_SEND_FUA),
 
 XLAT(NBD_FLAG_ROTATIONAL),
 
 XLAT(NBD_FLAG_SEND_TRIM),
 
 XLAT(NBD_FLAG_SEND_WRITE_ZEROES),
 
 XLAT(NBD_FLAG_SEND_DF),
 
 XLAT(NBD_FLAG_CAN_MULTI_CONN),
 
 XLAT(NBD_FLAG_SEND_RESIZE),
 
 XLAT(NBD_FLAG_SEND_CACHE),
 XLAT_END
};
 
# endif /* !IN_MPERS */
 
#endif /* !XLAT_MACROS_ONLY */