1 // Generated by jextract 2 3 package jdk.internal.ffi.generated.iouring; 4 5 import java.lang.invoke.*; 6 import java.lang.foreign.*; 7 import java.nio.ByteOrder; 8 import java.util.*; 9 import java.util.function.*; 10 import java.util.stream.*; 11 12 import static java.lang.foreign.ValueLayout.*; 13 import static java.lang.foreign.MemoryLayout.PathElement.*; 14 15 /** 16 * {@snippet lang=c : 17 * struct io_uring_rsrc_register { 18 * __u32 nr; 19 * __u32 flags; 20 * __u64 resv2; 21 * __u64 data; 22 * __u64 tags; 23 * } 24 * } 25 */ 26 @SuppressWarnings("restricted") public class io_uring_rsrc_register { 27 28 io_uring_rsrc_register() { 29 // Suppresses public default constructor, ensuring non-instantiability, 30 // but allows generated subclasses in same package. 31 } 32 33 private static final GroupLayout $LAYOUT = MemoryLayout.structLayout( 34 iouring_h.C_INT.withName("nr"), 35 iouring_h.C_INT.withName("flags"), 36 iouring_h.C_LONG_LONG.withName("resv2"), 37 iouring_h.C_LONG_LONG.withName("data"), 38 iouring_h.C_LONG_LONG.withName("tags") 39 ).withName("io_uring_rsrc_register"); 40 41 public static final GroupLayout $LAYOUT() { 42 return $LAYOUT; 43 } 44 45 private static final long nr$OFFSET = 0; 46 private static final OfInt nr$LAYOUT = (OfInt)$LAYOUT.select(groupElement("nr")); 47 48 /** 49 * Getter for field: 50 * {@snippet lang=c : 51 * __u32 nr 52 * } 53 */ 54 public static int nr(MemorySegment struct) { 55 return struct.get(nr$LAYOUT, nr$OFFSET); 56 } 57 58 /** 59 * Setter for field: 60 * {@snippet lang=c : 61 * __u32 nr 62 * } 63 */ 64 public static void nr(MemorySegment struct, int fieldValue) { 65 struct.set(nr$LAYOUT, nr$OFFSET, fieldValue); 66 } 67 68 private static final long flags$OFFSET = 4; 69 private static final OfInt flags$LAYOUT = (OfInt)$LAYOUT.select(groupElement("flags")); 70 71 /** 72 * Getter for field: 73 * {@snippet lang=c : 74 * __u32 flags 75 * } 76 */ 77 public static int flags(MemorySegment struct) { 78 return struct.get(flags$LAYOUT, flags$OFFSET); 79 } 80 81 /** 82 * Setter for field: 83 * {@snippet lang=c : 84 * __u32 flags 85 * } 86 */ 87 public static void flags(MemorySegment struct, int fieldValue) { 88 struct.set(flags$LAYOUT, flags$OFFSET, fieldValue); 89 } 90 91 private static final long resv2$OFFSET = 8; 92 private static final OfLong resv2$LAYOUT = (OfLong)$LAYOUT.select(groupElement("resv2")); 93 94 /** 95 * Getter for field: 96 * {@snippet lang=c : 97 * __u64 resv2 98 * } 99 */ 100 public static long resv2(MemorySegment struct) { 101 return struct.get(resv2$LAYOUT, resv2$OFFSET); 102 } 103 104 /** 105 * Setter for field: 106 * {@snippet lang=c : 107 * __u64 resv2 108 * } 109 */ 110 public static void resv2(MemorySegment struct, long fieldValue) { 111 struct.set(resv2$LAYOUT, resv2$OFFSET, fieldValue); 112 } 113 114 private static final long data$OFFSET = 16; 115 private static final OfLong data$LAYOUT = (OfLong)$LAYOUT.select(groupElement("data")); 116 117 /** 118 * Getter for field: 119 * {@snippet lang=c : 120 * __u64 data 121 * } 122 */ 123 public static long data(MemorySegment struct) { 124 return struct.get(data$LAYOUT, data$OFFSET); 125 } 126 127 /** 128 * Setter for field: 129 * {@snippet lang=c : 130 * __u64 data 131 * } 132 */ 133 public static void data(MemorySegment struct, long fieldValue) { 134 struct.set(data$LAYOUT, data$OFFSET, fieldValue); 135 } 136 137 private static final long tags$OFFSET = 24; 138 private static final OfLong tags$LAYOUT = (OfLong)$LAYOUT.select(groupElement("tags")); 139 140 /** 141 * Getter for field: 142 * {@snippet lang=c : 143 * __u64 tags 144 * } 145 */ 146 public static long tags(MemorySegment struct) { 147 return struct.get(tags$LAYOUT, tags$OFFSET); 148 } 149 150 /** 151 * Setter for field: 152 * {@snippet lang=c : 153 * __u64 tags 154 * } 155 */ 156 public static void tags(MemorySegment struct, long fieldValue) { 157 struct.set(tags$LAYOUT, tags$OFFSET, fieldValue); 158 } 159 160 public static MemorySegment asSlice(MemorySegment array, long index) { 161 return array.asSlice($LAYOUT().byteSize() * index); 162 } 163 164 public static long sizeof() { return $LAYOUT().byteSize(); } 165 166 public static MemorySegment allocate(SegmentAllocator allocator) { 167 return allocator.allocate($LAYOUT()); 168 } 169 170 public static MemorySegment allocateArray(long elementCount, SegmentAllocator allocator) { 171 return allocator.allocate(MemoryLayout.sequenceLayout(elementCount, $LAYOUT())); 172 } 173 174 public static MemorySegment reinterpret(MemorySegment addr, Arena scope, Consumer<MemorySegment> cleanup) { 175 return reinterpret(addr, 1, scope, cleanup); 176 } 177 178 public static MemorySegment reinterpret(MemorySegment addr, long elementCount, Arena scope, Consumer<MemorySegment> cleanup) { 179 return addr.reinterpret($LAYOUT().byteSize() * elementCount, scope, cleanup); 180 } 181 } 182