// Generatable but for now somewhat handcrafted to encapsulate the layouts // generated by JStruct, with some additional memory handles and accessors to // mirror that of the what jextract generates as dynamic constants. package jdk.internal.sys; import jdk.incubator.foreign.MemoryLayout; import jdk.incubator.foreign.MemoryLayout.PathElement; import jdk.incubator.foreign.MemoryLayouts; import java.lang.invoke.VarHandle; final class in6_h$constants { private static final MemoryLayout Cin6_addr$LAYOUT = MemoryLayout.ofStruct( MemoryLayout.ofUnion( MemoryLayout.ofSequence(16, MemoryLayouts.BITS_8_LE).withName("__u6_addr8"), MemoryLayout.ofSequence(8, MemoryLayouts.BITS_16_LE).withName("__u6_addr16"), MemoryLayout.ofSequence(4, MemoryLayouts.BITS_32_LE).withName("__u6_addr32") ).withName("__u6_addr") ).withName("in6_addr"); static final MemoryLayout Cin6_addr$LAYOUT() { return Cin6_addr$LAYOUT; } private static final MemoryLayout Csockaddr_in6$LAYOUT = MemoryLayout.ofStruct( MemoryLayouts.BITS_8_LE.withName("sin6_len"), MemoryLayouts.BITS_8_LE.withName("sin6_family"), MemoryLayouts.BITS_16_BE.withName("sin6_port"), MemoryLayouts.BITS_32_LE.withName("sin6_flowinfo"), Cin6_addr$LAYOUT, MemoryLayouts.BITS_32_LE.withName("sin6_scope_id") ).withName("sockaddr_in6"); private static final VarHandle sin6_len$VH = Csockaddr_in6$LAYOUT.varHandle(byte.class, PathElement.groupElement("sin6_len")); private static final VarHandle sin6_family$VH = Csockaddr_in6$LAYOUT.varHandle(byte.class, PathElement.groupElement("sin6_family")); private static final VarHandle sin6_port$VH = Csockaddr_in6$LAYOUT.varHandle(short.class, PathElement.groupElement("sin6_port")); private static final VarHandle sin6_flowinfo$VH = Csockaddr_in6$LAYOUT.varHandle(int.class, PathElement.groupElement("sin6_flowinfo")); private static final VarHandle sin6_scope_id$VH = Csockaddr_in6$LAYOUT.varHandle(int.class, PathElement.groupElement("sin6_scope_id")); static final MemoryLayout Csockaddr_in6$LAYOUT() { return Csockaddr_in6$LAYOUT; } static final VarHandle sin6_len$VH() { return sin6_len$VH; } static final VarHandle sin6_family$VH() { return sin6_family$VH; } static final VarHandle sin6_port$VH() { return sin6_port$VH; } static final VarHandle sin6_flowinfo$VH() { return sin6_flowinfo$VH; } static final VarHandle sin6_scope_id$VH() { return sin6_scope_id$VH; } }