Record Class XrNegotiateLoaderInfo

java.lang.Object
java.lang.Record
club.doki7.openxr.datatype.XrNegotiateLoaderInfo
All Implemented Interfaces:
IPointer, IXrNegotiateLoaderInfo

@ValueBasedCandidate @UnsafeConstructor public record XrNegotiateLoaderInfo(@NotNull MemorySegment segment) extends Record implements IXrNegotiateLoaderInfo

Represents a pointer to a XrNegotiateLoaderInfo structure in native memory.

Structure

typedef struct XrNegotiateLoaderInfo {
    XrLoaderInterfaceStructs structType;
    uint32_t structVersion;
    size_t structSize;
    uint32_t minInterfaceVersion;
    uint32_t maxInterfaceVersion;
    XrVersion minApiVersion;
    XrVersion maxApiVersion;
} XrNegotiateLoaderInfo;

Contracts

The property segment() should always be not-null (segment != NULL && !segment.equals(MemorySegment.NULL)), and properly aligned to LAYOUT.byteAlignment() bytes. To represent null pointer, you may use a Java null instead. See the documentation of IPointer.segment() for more details.

The constructor of this class is marked as UnsafeConstructor, because it does not perform any runtime check. The constructor can be useful for automatic code generators.

See Also:
  • Field Details

    • LAYOUT

      public static final StructLayout LAYOUT
    • BYTES

      public static final long BYTES
    • PATH$structType

      public static final MemoryLayout.PathElement PATH$structType
    • PATH$structVersion

      public static final MemoryLayout.PathElement PATH$structVersion
    • PATH$structSize

      public static final MemoryLayout.PathElement PATH$structSize
    • PATH$minInterfaceVersion

      public static final MemoryLayout.PathElement PATH$minInterfaceVersion
    • PATH$maxInterfaceVersion

      public static final MemoryLayout.PathElement PATH$maxInterfaceVersion
    • PATH$minApiVersion

      public static final MemoryLayout.PathElement PATH$minApiVersion
    • PATH$maxApiVersion

      public static final MemoryLayout.PathElement PATH$maxApiVersion
    • LAYOUT$structType

      public static final ValueLayout.OfInt LAYOUT$structType
    • LAYOUT$structVersion

      public static final ValueLayout.OfInt LAYOUT$structVersion
    • LAYOUT$minInterfaceVersion

      public static final ValueLayout.OfInt LAYOUT$minInterfaceVersion
    • LAYOUT$maxInterfaceVersion

      public static final ValueLayout.OfInt LAYOUT$maxInterfaceVersion
    • LAYOUT$minApiVersion

      public static final ValueLayout.OfLong LAYOUT$minApiVersion
    • LAYOUT$maxApiVersion

      public static final ValueLayout.OfLong LAYOUT$maxApiVersion
    • SIZE$structType

      public static final long SIZE$structType
    • SIZE$structVersion

      public static final long SIZE$structVersion
    • SIZE$structSize

      public static final long SIZE$structSize
    • SIZE$minInterfaceVersion

      public static final long SIZE$minInterfaceVersion
    • SIZE$maxInterfaceVersion

      public static final long SIZE$maxInterfaceVersion
    • SIZE$minApiVersion

      public static final long SIZE$minApiVersion
    • SIZE$maxApiVersion

      public static final long SIZE$maxApiVersion
    • OFFSET$structType

      public static final long OFFSET$structType
    • OFFSET$structVersion

      public static final long OFFSET$structVersion
    • OFFSET$structSize

      public static final long OFFSET$structSize
    • OFFSET$minInterfaceVersion

      public static final long OFFSET$minInterfaceVersion
    • OFFSET$maxInterfaceVersion

      public static final long OFFSET$maxInterfaceVersion
    • OFFSET$minApiVersion

      public static final long OFFSET$minApiVersion
    • OFFSET$maxApiVersion

      public static final long OFFSET$maxApiVersion
  • Constructor Details

    • XrNegotiateLoaderInfo

      public XrNegotiateLoaderInfo(@NotNull @NotNull MemorySegment segment)
      Creates an instance of a XrNegotiateLoaderInfo record class.
      Parameters:
      segment - the value for the segment record component
  • Method Details