All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.libraw.libraw_h_constants_2 Maven / Gradle / Ivy

Go to download

This installs the native lib libraw as a JavaFX Image format provider similar to imageIO before on Swing

There is a newer version: 1.8.9
Show newest version
// Generated by jextract

package org.libraw;

import java.lang.invoke.MethodHandle;
import java.lang.invoke.VarHandle;
import java.util.Objects;
import jdk.incubator.foreign.*;
import jdk.incubator.foreign.MemoryLayout.PathElement;
import static jdk.incubator.foreign.CLinker.*;
class libraw_h_constants_2 extends libraw_h_constants_1 {

    /* package-private */ libraw_h_constants_2() {}
    static final MemoryLayout libraw_imgother_t$aperture$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_imgother_t$aperture$LAYOUT() { return libraw_imgother_t$aperture$LAYOUT_; }

    static final VarHandle libraw_imgother_t$aperture$VH_ = libraw_imgother_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("aperture"));
    static final java.lang.invoke.VarHandle libraw_imgother_t$aperture$VH() { return libraw_imgother_t$aperture$VH_; }

    static final MemoryLayout libraw_imgother_t$focal_len$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_imgother_t$focal_len$LAYOUT() { return libraw_imgother_t$focal_len$LAYOUT_; }

    static final VarHandle libraw_imgother_t$focal_len$VH_ = libraw_imgother_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("focal_len"));
    static final java.lang.invoke.VarHandle libraw_imgother_t$focal_len$VH() { return libraw_imgother_t$focal_len$VH_; }

    static final MemoryLayout libraw_imgother_t$timestamp$LAYOUT_ = C_LONG;
    static final jdk.incubator.foreign.MemoryLayout libraw_imgother_t$timestamp$LAYOUT() { return libraw_imgother_t$timestamp$LAYOUT_; }

    static final VarHandle libraw_imgother_t$timestamp$VH_ = libraw_imgother_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("timestamp"));
    static final java.lang.invoke.VarHandle libraw_imgother_t$timestamp$VH() { return libraw_imgother_t$timestamp$VH_; }

    static final MemoryLayout libraw_imgother_t$shot_order$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout libraw_imgother_t$shot_order$LAYOUT() { return libraw_imgother_t$shot_order$LAYOUT_; }

    static final VarHandle libraw_imgother_t$shot_order$VH_ = libraw_imgother_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("shot_order"));
    static final java.lang.invoke.VarHandle libraw_imgother_t$shot_order$VH() { return libraw_imgother_t$shot_order$VH_; }

    static final MemoryLayout libraw_metadata_common_t$struct$LAYOUT_ = MemoryLayout.ofStruct(
        C_FLOAT.withName("FlashEC"),
        C_FLOAT.withName("FlashGN"),
        C_FLOAT.withName("CameraTemperature"),
        C_FLOAT.withName("SensorTemperature"),
        C_FLOAT.withName("SensorTemperature2"),
        C_FLOAT.withName("LensTemperature"),
        C_FLOAT.withName("AmbientTemperature"),
        C_FLOAT.withName("BatteryTemperature"),
        C_FLOAT.withName("exifAmbientTemperature"),
        C_FLOAT.withName("exifHumidity"),
        C_FLOAT.withName("exifPressure"),
        C_FLOAT.withName("exifWaterDepth"),
        C_FLOAT.withName("exifAcceleration"),
        C_FLOAT.withName("exifCameraElevationAngle"),
        C_FLOAT.withName("real_ISO"),
        C_FLOAT.withName("exifExposureIndex"),
        C_SHORT.withName("ColorSpace"),
        MemoryLayout.ofSequence(128, C_CHAR).withName("firmware"),
        MemoryLayout.ofPaddingBits(16)
    );
    static final jdk.incubator.foreign.MemoryLayout libraw_metadata_common_t$struct$LAYOUT() { return libraw_metadata_common_t$struct$LAYOUT_; }

    static final MemoryLayout libraw_metadata_common_t$FlashEC$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_metadata_common_t$FlashEC$LAYOUT() { return libraw_metadata_common_t$FlashEC$LAYOUT_; }

    static final VarHandle libraw_metadata_common_t$FlashEC$VH_ = libraw_metadata_common_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("FlashEC"));
    static final java.lang.invoke.VarHandle libraw_metadata_common_t$FlashEC$VH() { return libraw_metadata_common_t$FlashEC$VH_; }

    static final MemoryLayout libraw_metadata_common_t$FlashGN$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_metadata_common_t$FlashGN$LAYOUT() { return libraw_metadata_common_t$FlashGN$LAYOUT_; }

    static final VarHandle libraw_metadata_common_t$FlashGN$VH_ = libraw_metadata_common_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("FlashGN"));
    static final java.lang.invoke.VarHandle libraw_metadata_common_t$FlashGN$VH() { return libraw_metadata_common_t$FlashGN$VH_; }

    static final MemoryLayout libraw_metadata_common_t$CameraTemperature$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_metadata_common_t$CameraTemperature$LAYOUT() { return libraw_metadata_common_t$CameraTemperature$LAYOUT_; }

    static final VarHandle libraw_metadata_common_t$CameraTemperature$VH_ = libraw_metadata_common_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("CameraTemperature"));
    static final java.lang.invoke.VarHandle libraw_metadata_common_t$CameraTemperature$VH() { return libraw_metadata_common_t$CameraTemperature$VH_; }

    static final MemoryLayout libraw_metadata_common_t$SensorTemperature$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_metadata_common_t$SensorTemperature$LAYOUT() { return libraw_metadata_common_t$SensorTemperature$LAYOUT_; }

    static final VarHandle libraw_metadata_common_t$SensorTemperature$VH_ = libraw_metadata_common_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("SensorTemperature"));
    static final java.lang.invoke.VarHandle libraw_metadata_common_t$SensorTemperature$VH() { return libraw_metadata_common_t$SensorTemperature$VH_; }

    static final MemoryLayout libraw_metadata_common_t$SensorTemperature2$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_metadata_common_t$SensorTemperature2$LAYOUT() { return libraw_metadata_common_t$SensorTemperature2$LAYOUT_; }

    static final VarHandle libraw_metadata_common_t$SensorTemperature2$VH_ = libraw_metadata_common_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("SensorTemperature2"));
    static final java.lang.invoke.VarHandle libraw_metadata_common_t$SensorTemperature2$VH() { return libraw_metadata_common_t$SensorTemperature2$VH_; }

    static final MemoryLayout libraw_metadata_common_t$LensTemperature$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_metadata_common_t$LensTemperature$LAYOUT() { return libraw_metadata_common_t$LensTemperature$LAYOUT_; }

    static final VarHandle libraw_metadata_common_t$LensTemperature$VH_ = libraw_metadata_common_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("LensTemperature"));
    static final java.lang.invoke.VarHandle libraw_metadata_common_t$LensTemperature$VH() { return libraw_metadata_common_t$LensTemperature$VH_; }

    static final MemoryLayout libraw_metadata_common_t$AmbientTemperature$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_metadata_common_t$AmbientTemperature$LAYOUT() { return libraw_metadata_common_t$AmbientTemperature$LAYOUT_; }

    static final VarHandle libraw_metadata_common_t$AmbientTemperature$VH_ = libraw_metadata_common_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("AmbientTemperature"));
    static final java.lang.invoke.VarHandle libraw_metadata_common_t$AmbientTemperature$VH() { return libraw_metadata_common_t$AmbientTemperature$VH_; }

    static final MemoryLayout libraw_metadata_common_t$BatteryTemperature$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_metadata_common_t$BatteryTemperature$LAYOUT() { return libraw_metadata_common_t$BatteryTemperature$LAYOUT_; }

    static final VarHandle libraw_metadata_common_t$BatteryTemperature$VH_ = libraw_metadata_common_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("BatteryTemperature"));
    static final java.lang.invoke.VarHandle libraw_metadata_common_t$BatteryTemperature$VH() { return libraw_metadata_common_t$BatteryTemperature$VH_; }

    static final MemoryLayout libraw_metadata_common_t$exifAmbientTemperature$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_metadata_common_t$exifAmbientTemperature$LAYOUT() { return libraw_metadata_common_t$exifAmbientTemperature$LAYOUT_; }

    static final VarHandle libraw_metadata_common_t$exifAmbientTemperature$VH_ = libraw_metadata_common_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("exifAmbientTemperature"));
    static final java.lang.invoke.VarHandle libraw_metadata_common_t$exifAmbientTemperature$VH() { return libraw_metadata_common_t$exifAmbientTemperature$VH_; }

    static final MemoryLayout libraw_metadata_common_t$exifHumidity$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_metadata_common_t$exifHumidity$LAYOUT() { return libraw_metadata_common_t$exifHumidity$LAYOUT_; }

    static final VarHandle libraw_metadata_common_t$exifHumidity$VH_ = libraw_metadata_common_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("exifHumidity"));
    static final java.lang.invoke.VarHandle libraw_metadata_common_t$exifHumidity$VH() { return libraw_metadata_common_t$exifHumidity$VH_; }

    static final MemoryLayout libraw_metadata_common_t$exifPressure$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_metadata_common_t$exifPressure$LAYOUT() { return libraw_metadata_common_t$exifPressure$LAYOUT_; }

    static final VarHandle libraw_metadata_common_t$exifPressure$VH_ = libraw_metadata_common_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("exifPressure"));
    static final java.lang.invoke.VarHandle libraw_metadata_common_t$exifPressure$VH() { return libraw_metadata_common_t$exifPressure$VH_; }

    static final MemoryLayout libraw_metadata_common_t$exifWaterDepth$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_metadata_common_t$exifWaterDepth$LAYOUT() { return libraw_metadata_common_t$exifWaterDepth$LAYOUT_; }

    static final VarHandle libraw_metadata_common_t$exifWaterDepth$VH_ = libraw_metadata_common_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("exifWaterDepth"));
    static final java.lang.invoke.VarHandle libraw_metadata_common_t$exifWaterDepth$VH() { return libraw_metadata_common_t$exifWaterDepth$VH_; }

    static final MemoryLayout libraw_metadata_common_t$exifAcceleration$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_metadata_common_t$exifAcceleration$LAYOUT() { return libraw_metadata_common_t$exifAcceleration$LAYOUT_; }

    static final VarHandle libraw_metadata_common_t$exifAcceleration$VH_ = libraw_metadata_common_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("exifAcceleration"));
    static final java.lang.invoke.VarHandle libraw_metadata_common_t$exifAcceleration$VH() { return libraw_metadata_common_t$exifAcceleration$VH_; }

    static final MemoryLayout libraw_metadata_common_t$exifCameraElevationAngle$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_metadata_common_t$exifCameraElevationAngle$LAYOUT() { return libraw_metadata_common_t$exifCameraElevationAngle$LAYOUT_; }

    static final VarHandle libraw_metadata_common_t$exifCameraElevationAngle$VH_ = libraw_metadata_common_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("exifCameraElevationAngle"));
    static final java.lang.invoke.VarHandle libraw_metadata_common_t$exifCameraElevationAngle$VH() { return libraw_metadata_common_t$exifCameraElevationAngle$VH_; }

    static final MemoryLayout libraw_metadata_common_t$real_ISO$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_metadata_common_t$real_ISO$LAYOUT() { return libraw_metadata_common_t$real_ISO$LAYOUT_; }

    static final VarHandle libraw_metadata_common_t$real_ISO$VH_ = libraw_metadata_common_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("real_ISO"));
    static final java.lang.invoke.VarHandle libraw_metadata_common_t$real_ISO$VH() { return libraw_metadata_common_t$real_ISO$VH_; }

    static final MemoryLayout libraw_metadata_common_t$exifExposureIndex$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_metadata_common_t$exifExposureIndex$LAYOUT() { return libraw_metadata_common_t$exifExposureIndex$LAYOUT_; }

    static final VarHandle libraw_metadata_common_t$exifExposureIndex$VH_ = libraw_metadata_common_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("exifExposureIndex"));
    static final java.lang.invoke.VarHandle libraw_metadata_common_t$exifExposureIndex$VH() { return libraw_metadata_common_t$exifExposureIndex$VH_; }

    static final MemoryLayout libraw_metadata_common_t$ColorSpace$LAYOUT_ = C_SHORT;
    static final jdk.incubator.foreign.MemoryLayout libraw_metadata_common_t$ColorSpace$LAYOUT() { return libraw_metadata_common_t$ColorSpace$LAYOUT_; }

    static final VarHandle libraw_metadata_common_t$ColorSpace$VH_ = libraw_metadata_common_t$struct$LAYOUT_.varHandle(short.class, MemoryLayout.PathElement.groupElement("ColorSpace"));
    static final java.lang.invoke.VarHandle libraw_metadata_common_t$ColorSpace$VH() { return libraw_metadata_common_t$ColorSpace$VH_; }

    static final MemoryLayout libraw_output_params_t$struct$LAYOUT_ = MemoryLayout.ofStruct(
        MemoryLayout.ofSequence(4, C_INT).withName("greybox"),
        MemoryLayout.ofSequence(4, C_INT).withName("cropbox"),
        MemoryLayout.ofSequence(4, C_DOUBLE).withName("aber"),
        MemoryLayout.ofSequence(6, C_DOUBLE).withName("gamm"),
        MemoryLayout.ofSequence(4, C_FLOAT).withName("user_mul"),
        C_INT.withName("shot_select"),
        C_FLOAT.withName("bright"),
        C_FLOAT.withName("threshold"),
        C_INT.withName("half_size"),
        C_INT.withName("four_color_rgb"),
        C_INT.withName("highlight"),
        C_INT.withName("use_auto_wb"),
        C_INT.withName("use_camera_wb"),
        C_INT.withName("use_camera_matrix"),
        C_INT.withName("output_color"),
        C_POINTER.withName("output_profile"),
        C_POINTER.withName("camera_profile"),
        C_POINTER.withName("bad_pixels"),
        C_POINTER.withName("dark_frame"),
        C_INT.withName("output_bps"),
        C_INT.withName("output_tiff"),
        C_INT.withName("user_flip"),
        C_INT.withName("user_qual"),
        C_INT.withName("user_black"),
        MemoryLayout.ofSequence(4, C_INT).withName("user_cblack"),
        C_INT.withName("user_sat"),
        C_INT.withName("med_passes"),
        C_FLOAT.withName("auto_bright_thr"),
        C_FLOAT.withName("adjust_maximum_thr"),
        C_INT.withName("no_auto_bright"),
        C_INT.withName("use_fuji_rotate"),
        C_INT.withName("green_matching"),
        C_INT.withName("dcb_iterations"),
        C_INT.withName("dcb_enhance_fl"),
        C_INT.withName("fbdd_noiserd"),
        C_INT.withName("exp_correc"),
        C_FLOAT.withName("exp_shift"),
        C_FLOAT.withName("exp_preser"),
        C_INT.withName("use_rawspeed"),
        C_INT.withName("use_dngsdk"),
        C_INT.withName("no_auto_scale"),
        C_INT.withName("no_interpolation"),
        C_INT.withName("raw_processing_options"),
        C_INT.withName("max_raw_memory_mb"),
        C_INT.withName("sony_arw2_posterization_thr"),
        C_FLOAT.withName("coolscan_nef_gamma"),
        MemoryLayout.ofSequence(5, C_CHAR).withName("p4shot_order"),
        MemoryLayout.ofPaddingBits(24),
        C_POINTER.withName("custom_camera_strings")
    );
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$struct$LAYOUT() { return libraw_output_params_t$struct$LAYOUT_; }

    static final MemoryLayout libraw_output_params_t$shot_select$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$shot_select$LAYOUT() { return libraw_output_params_t$shot_select$LAYOUT_; }

    static final VarHandle libraw_output_params_t$shot_select$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("shot_select"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$shot_select$VH() { return libraw_output_params_t$shot_select$VH_; }

    static final MemoryLayout libraw_output_params_t$bright$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$bright$LAYOUT() { return libraw_output_params_t$bright$LAYOUT_; }

    static final VarHandle libraw_output_params_t$bright$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("bright"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$bright$VH() { return libraw_output_params_t$bright$VH_; }

    static final MemoryLayout libraw_output_params_t$threshold$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$threshold$LAYOUT() { return libraw_output_params_t$threshold$LAYOUT_; }

    static final VarHandle libraw_output_params_t$threshold$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("threshold"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$threshold$VH() { return libraw_output_params_t$threshold$VH_; }

    static final MemoryLayout libraw_output_params_t$half_size$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$half_size$LAYOUT() { return libraw_output_params_t$half_size$LAYOUT_; }

    static final VarHandle libraw_output_params_t$half_size$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("half_size"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$half_size$VH() { return libraw_output_params_t$half_size$VH_; }

    static final MemoryLayout libraw_output_params_t$four_color_rgb$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$four_color_rgb$LAYOUT() { return libraw_output_params_t$four_color_rgb$LAYOUT_; }

    static final VarHandle libraw_output_params_t$four_color_rgb$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("four_color_rgb"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$four_color_rgb$VH() { return libraw_output_params_t$four_color_rgb$VH_; }

    static final MemoryLayout libraw_output_params_t$highlight$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$highlight$LAYOUT() { return libraw_output_params_t$highlight$LAYOUT_; }

    static final VarHandle libraw_output_params_t$highlight$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("highlight"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$highlight$VH() { return libraw_output_params_t$highlight$VH_; }

    static final MemoryLayout libraw_output_params_t$use_auto_wb$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$use_auto_wb$LAYOUT() { return libraw_output_params_t$use_auto_wb$LAYOUT_; }

    static final VarHandle libraw_output_params_t$use_auto_wb$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("use_auto_wb"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$use_auto_wb$VH() { return libraw_output_params_t$use_auto_wb$VH_; }

    static final MemoryLayout libraw_output_params_t$use_camera_wb$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$use_camera_wb$LAYOUT() { return libraw_output_params_t$use_camera_wb$LAYOUT_; }

    static final VarHandle libraw_output_params_t$use_camera_wb$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("use_camera_wb"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$use_camera_wb$VH() { return libraw_output_params_t$use_camera_wb$VH_; }

    static final MemoryLayout libraw_output_params_t$use_camera_matrix$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$use_camera_matrix$LAYOUT() { return libraw_output_params_t$use_camera_matrix$LAYOUT_; }

    static final VarHandle libraw_output_params_t$use_camera_matrix$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("use_camera_matrix"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$use_camera_matrix$VH() { return libraw_output_params_t$use_camera_matrix$VH_; }

    static final MemoryLayout libraw_output_params_t$output_color$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$output_color$LAYOUT() { return libraw_output_params_t$output_color$LAYOUT_; }

    static final VarHandle libraw_output_params_t$output_color$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("output_color"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$output_color$VH() { return libraw_output_params_t$output_color$VH_; }

    static final MemoryLayout libraw_output_params_t$output_profile$LAYOUT_ = C_POINTER;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$output_profile$LAYOUT() { return libraw_output_params_t$output_profile$LAYOUT_; }

    static final VarHandle libraw_output_params_t$output_profile$VH_ = MemoryHandles.asAddressVarHandle(libraw_output_params_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("output_profile")));
    static final java.lang.invoke.VarHandle libraw_output_params_t$output_profile$VH() { return libraw_output_params_t$output_profile$VH_; }

    static final MemoryLayout libraw_output_params_t$camera_profile$LAYOUT_ = C_POINTER;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$camera_profile$LAYOUT() { return libraw_output_params_t$camera_profile$LAYOUT_; }

    static final VarHandle libraw_output_params_t$camera_profile$VH_ = MemoryHandles.asAddressVarHandle(libraw_output_params_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("camera_profile")));
    static final java.lang.invoke.VarHandle libraw_output_params_t$camera_profile$VH() { return libraw_output_params_t$camera_profile$VH_; }

    static final MemoryLayout libraw_output_params_t$bad_pixels$LAYOUT_ = C_POINTER;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$bad_pixels$LAYOUT() { return libraw_output_params_t$bad_pixels$LAYOUT_; }

    static final VarHandle libraw_output_params_t$bad_pixels$VH_ = MemoryHandles.asAddressVarHandle(libraw_output_params_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("bad_pixels")));
    static final java.lang.invoke.VarHandle libraw_output_params_t$bad_pixels$VH() { return libraw_output_params_t$bad_pixels$VH_; }

    static final MemoryLayout libraw_output_params_t$dark_frame$LAYOUT_ = C_POINTER;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$dark_frame$LAYOUT() { return libraw_output_params_t$dark_frame$LAYOUT_; }

    static final VarHandle libraw_output_params_t$dark_frame$VH_ = MemoryHandles.asAddressVarHandle(libraw_output_params_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("dark_frame")));
    static final java.lang.invoke.VarHandle libraw_output_params_t$dark_frame$VH() { return libraw_output_params_t$dark_frame$VH_; }

    static final MemoryLayout libraw_output_params_t$output_bps$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$output_bps$LAYOUT() { return libraw_output_params_t$output_bps$LAYOUT_; }

    static final VarHandle libraw_output_params_t$output_bps$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("output_bps"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$output_bps$VH() { return libraw_output_params_t$output_bps$VH_; }

    static final MemoryLayout libraw_output_params_t$output_tiff$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$output_tiff$LAYOUT() { return libraw_output_params_t$output_tiff$LAYOUT_; }

    static final VarHandle libraw_output_params_t$output_tiff$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("output_tiff"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$output_tiff$VH() { return libraw_output_params_t$output_tiff$VH_; }

    static final MemoryLayout libraw_output_params_t$user_flip$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$user_flip$LAYOUT() { return libraw_output_params_t$user_flip$LAYOUT_; }

    static final VarHandle libraw_output_params_t$user_flip$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("user_flip"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$user_flip$VH() { return libraw_output_params_t$user_flip$VH_; }

    static final MemoryLayout libraw_output_params_t$user_qual$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$user_qual$LAYOUT() { return libraw_output_params_t$user_qual$LAYOUT_; }

    static final VarHandle libraw_output_params_t$user_qual$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("user_qual"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$user_qual$VH() { return libraw_output_params_t$user_qual$VH_; }

    static final MemoryLayout libraw_output_params_t$user_black$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$user_black$LAYOUT() { return libraw_output_params_t$user_black$LAYOUT_; }

    static final VarHandle libraw_output_params_t$user_black$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("user_black"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$user_black$VH() { return libraw_output_params_t$user_black$VH_; }

    static final MemoryLayout libraw_output_params_t$user_sat$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$user_sat$LAYOUT() { return libraw_output_params_t$user_sat$LAYOUT_; }

    static final VarHandle libraw_output_params_t$user_sat$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("user_sat"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$user_sat$VH() { return libraw_output_params_t$user_sat$VH_; }

    static final MemoryLayout libraw_output_params_t$med_passes$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$med_passes$LAYOUT() { return libraw_output_params_t$med_passes$LAYOUT_; }

    static final VarHandle libraw_output_params_t$med_passes$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("med_passes"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$med_passes$VH() { return libraw_output_params_t$med_passes$VH_; }

    static final MemoryLayout libraw_output_params_t$auto_bright_thr$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$auto_bright_thr$LAYOUT() { return libraw_output_params_t$auto_bright_thr$LAYOUT_; }

    static final VarHandle libraw_output_params_t$auto_bright_thr$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("auto_bright_thr"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$auto_bright_thr$VH() { return libraw_output_params_t$auto_bright_thr$VH_; }

    static final MemoryLayout libraw_output_params_t$adjust_maximum_thr$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$adjust_maximum_thr$LAYOUT() { return libraw_output_params_t$adjust_maximum_thr$LAYOUT_; }

    static final VarHandle libraw_output_params_t$adjust_maximum_thr$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("adjust_maximum_thr"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$adjust_maximum_thr$VH() { return libraw_output_params_t$adjust_maximum_thr$VH_; }

    static final MemoryLayout libraw_output_params_t$no_auto_bright$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$no_auto_bright$LAYOUT() { return libraw_output_params_t$no_auto_bright$LAYOUT_; }

    static final VarHandle libraw_output_params_t$no_auto_bright$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("no_auto_bright"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$no_auto_bright$VH() { return libraw_output_params_t$no_auto_bright$VH_; }

    static final MemoryLayout libraw_output_params_t$use_fuji_rotate$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$use_fuji_rotate$LAYOUT() { return libraw_output_params_t$use_fuji_rotate$LAYOUT_; }

    static final VarHandle libraw_output_params_t$use_fuji_rotate$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("use_fuji_rotate"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$use_fuji_rotate$VH() { return libraw_output_params_t$use_fuji_rotate$VH_; }

    static final MemoryLayout libraw_output_params_t$green_matching$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$green_matching$LAYOUT() { return libraw_output_params_t$green_matching$LAYOUT_; }

    static final VarHandle libraw_output_params_t$green_matching$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("green_matching"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$green_matching$VH() { return libraw_output_params_t$green_matching$VH_; }

    static final MemoryLayout libraw_output_params_t$dcb_iterations$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$dcb_iterations$LAYOUT() { return libraw_output_params_t$dcb_iterations$LAYOUT_; }

    static final VarHandle libraw_output_params_t$dcb_iterations$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("dcb_iterations"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$dcb_iterations$VH() { return libraw_output_params_t$dcb_iterations$VH_; }

    static final MemoryLayout libraw_output_params_t$dcb_enhance_fl$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$dcb_enhance_fl$LAYOUT() { return libraw_output_params_t$dcb_enhance_fl$LAYOUT_; }

    static final VarHandle libraw_output_params_t$dcb_enhance_fl$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("dcb_enhance_fl"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$dcb_enhance_fl$VH() { return libraw_output_params_t$dcb_enhance_fl$VH_; }

    static final MemoryLayout libraw_output_params_t$fbdd_noiserd$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$fbdd_noiserd$LAYOUT() { return libraw_output_params_t$fbdd_noiserd$LAYOUT_; }

    static final VarHandle libraw_output_params_t$fbdd_noiserd$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("fbdd_noiserd"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$fbdd_noiserd$VH() { return libraw_output_params_t$fbdd_noiserd$VH_; }

    static final MemoryLayout libraw_output_params_t$exp_correc$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$exp_correc$LAYOUT() { return libraw_output_params_t$exp_correc$LAYOUT_; }

    static final VarHandle libraw_output_params_t$exp_correc$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("exp_correc"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$exp_correc$VH() { return libraw_output_params_t$exp_correc$VH_; }

    static final MemoryLayout libraw_output_params_t$exp_shift$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$exp_shift$LAYOUT() { return libraw_output_params_t$exp_shift$LAYOUT_; }

    static final VarHandle libraw_output_params_t$exp_shift$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("exp_shift"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$exp_shift$VH() { return libraw_output_params_t$exp_shift$VH_; }

    static final MemoryLayout libraw_output_params_t$exp_preser$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$exp_preser$LAYOUT() { return libraw_output_params_t$exp_preser$LAYOUT_; }

    static final VarHandle libraw_output_params_t$exp_preser$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("exp_preser"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$exp_preser$VH() { return libraw_output_params_t$exp_preser$VH_; }

    static final MemoryLayout libraw_output_params_t$use_rawspeed$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$use_rawspeed$LAYOUT() { return libraw_output_params_t$use_rawspeed$LAYOUT_; }

    static final VarHandle libraw_output_params_t$use_rawspeed$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("use_rawspeed"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$use_rawspeed$VH() { return libraw_output_params_t$use_rawspeed$VH_; }

    static final MemoryLayout libraw_output_params_t$use_dngsdk$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$use_dngsdk$LAYOUT() { return libraw_output_params_t$use_dngsdk$LAYOUT_; }

    static final VarHandle libraw_output_params_t$use_dngsdk$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("use_dngsdk"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$use_dngsdk$VH() { return libraw_output_params_t$use_dngsdk$VH_; }

    static final MemoryLayout libraw_output_params_t$no_auto_scale$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$no_auto_scale$LAYOUT() { return libraw_output_params_t$no_auto_scale$LAYOUT_; }

    static final VarHandle libraw_output_params_t$no_auto_scale$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("no_auto_scale"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$no_auto_scale$VH() { return libraw_output_params_t$no_auto_scale$VH_; }

    static final MemoryLayout libraw_output_params_t$no_interpolation$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$no_interpolation$LAYOUT() { return libraw_output_params_t$no_interpolation$LAYOUT_; }

    static final VarHandle libraw_output_params_t$no_interpolation$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("no_interpolation"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$no_interpolation$VH() { return libraw_output_params_t$no_interpolation$VH_; }

    static final MemoryLayout libraw_output_params_t$raw_processing_options$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$raw_processing_options$LAYOUT() { return libraw_output_params_t$raw_processing_options$LAYOUT_; }

    static final VarHandle libraw_output_params_t$raw_processing_options$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("raw_processing_options"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$raw_processing_options$VH() { return libraw_output_params_t$raw_processing_options$VH_; }

    static final MemoryLayout libraw_output_params_t$max_raw_memory_mb$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$max_raw_memory_mb$LAYOUT() { return libraw_output_params_t$max_raw_memory_mb$LAYOUT_; }

    static final VarHandle libraw_output_params_t$max_raw_memory_mb$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("max_raw_memory_mb"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$max_raw_memory_mb$VH() { return libraw_output_params_t$max_raw_memory_mb$VH_; }

    static final MemoryLayout libraw_output_params_t$sony_arw2_posterization_thr$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$sony_arw2_posterization_thr$LAYOUT() { return libraw_output_params_t$sony_arw2_posterization_thr$LAYOUT_; }

    static final VarHandle libraw_output_params_t$sony_arw2_posterization_thr$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("sony_arw2_posterization_thr"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$sony_arw2_posterization_thr$VH() { return libraw_output_params_t$sony_arw2_posterization_thr$VH_; }

    static final MemoryLayout libraw_output_params_t$coolscan_nef_gamma$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$coolscan_nef_gamma$LAYOUT() { return libraw_output_params_t$coolscan_nef_gamma$LAYOUT_; }

    static final VarHandle libraw_output_params_t$coolscan_nef_gamma$VH_ = libraw_output_params_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("coolscan_nef_gamma"));
    static final java.lang.invoke.VarHandle libraw_output_params_t$coolscan_nef_gamma$VH() { return libraw_output_params_t$coolscan_nef_gamma$VH_; }

    static final MemoryLayout libraw_output_params_t$custom_camera_strings$LAYOUT_ = C_POINTER;
    static final jdk.incubator.foreign.MemoryLayout libraw_output_params_t$custom_camera_strings$LAYOUT() { return libraw_output_params_t$custom_camera_strings$LAYOUT_; }

    static final VarHandle libraw_output_params_t$custom_camera_strings$VH_ = MemoryHandles.asAddressVarHandle(libraw_output_params_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("custom_camera_strings")));
    static final java.lang.invoke.VarHandle libraw_output_params_t$custom_camera_strings$VH() { return libraw_output_params_t$custom_camera_strings$VH_; }

    static final MemoryLayout libraw_rawdata_t$struct$LAYOUT_ = MemoryLayout.ofStruct(
        C_POINTER.withName("raw_alloc"),
        C_POINTER.withName("raw_image"),
        C_POINTER.withName("color4_image"),
        C_POINTER.withName("color3_image"),
        C_POINTER.withName("float_image"),
        C_POINTER.withName("float3_image"),
        C_POINTER.withName("float4_image"),
        C_POINTER.withName("ph1_cblack"),
        C_POINTER.withName("ph1_rblack"),
        MemoryLayout.ofStruct(
            MemoryLayout.ofSequence(4, C_CHAR).withName("guard"),
            MemoryLayout.ofSequence(64, C_CHAR).withName("make"),
            MemoryLayout.ofSequence(64, C_CHAR).withName("model"),
            MemoryLayout.ofSequence(64, C_CHAR).withName("software"),
            MemoryLayout.ofSequence(64, C_CHAR).withName("normalized_make"),
            MemoryLayout.ofSequence(64, C_CHAR).withName("normalized_model"),
            C_INT.withName("maker_index"),
            C_INT.withName("raw_count"),
            C_INT.withName("dng_version"),
            C_INT.withName("is_foveon"),
            C_INT.withName("colors"),
            C_INT.withName("filters"),
            MemoryLayout.ofSequence(6, MemoryLayout.ofSequence(6, C_CHAR)).withName("xtrans"),
            MemoryLayout.ofSequence(6, MemoryLayout.ofSequence(6, C_CHAR)).withName("xtrans_abs"),
            MemoryLayout.ofSequence(5, C_CHAR).withName("cdesc"),
            MemoryLayout.ofPaddingBits(24),
            C_INT.withName("xmplen"),
            C_POINTER.withName("xmpdata")
        ).withName("iparams"),
        MemoryLayout.ofStruct(
            C_SHORT.withName("raw_height"),
            C_SHORT.withName("raw_width"),
            C_SHORT.withName("height"),
            C_SHORT.withName("width"),
            C_SHORT.withName("top_margin"),
            C_SHORT.withName("left_margin"),
            C_SHORT.withName("iheight"),
            C_SHORT.withName("iwidth"),
            C_INT.withName("raw_pitch"),
            MemoryLayout.ofPaddingBits(32),
            C_DOUBLE.withName("pixel_aspect"),
            C_INT.withName("flip"),
            MemoryLayout.ofSequence(8, MemoryLayout.ofSequence(4, C_INT)).withName("mask"),
            MemoryLayout.ofStruct(
                C_SHORT.withName("cleft"),
                C_SHORT.withName("ctop"),
                C_SHORT.withName("cwidth"),
                C_SHORT.withName("cheight"),
                C_SHORT.withName("aspect")
            ).withName("raw_inset_crop"),
            MemoryLayout.ofPaddingBits(16)
        ).withName("sizes"),
        MemoryLayout.ofStruct(
            C_INT.withName("mix_green"),
            C_INT.withName("raw_color"),
            C_INT.withName("zero_is_bad"),
            C_SHORT.withName("shrink"),
            C_SHORT.withName("fuji_width")
        ).withName("ioparams"),
        MemoryLayout.ofStruct(
            MemoryLayout.ofSequence(65536, C_SHORT).withName("curve"),
            MemoryLayout.ofSequence(4104, C_INT).withName("cblack"),
            C_INT.withName("black"),
            C_INT.withName("data_maximum"),
            C_INT.withName("maximum"),
            MemoryLayout.ofPaddingBits(32),
            MemoryLayout.ofSequence(4, C_LONG).withName("linear_max"),
            C_FLOAT.withName("fmaximum"),
            C_FLOAT.withName("fnorm"),
            MemoryLayout.ofSequence(8, MemoryLayout.ofSequence(8, C_SHORT)).withName("white"),
            MemoryLayout.ofSequence(4, C_FLOAT).withName("cam_mul"),
            MemoryLayout.ofSequence(4, C_FLOAT).withName("pre_mul"),
            MemoryLayout.ofSequence(3, MemoryLayout.ofSequence(4, C_FLOAT)).withName("cmatrix"),
            MemoryLayout.ofSequence(3, MemoryLayout.ofSequence(4, C_FLOAT)).withName("ccm"),
            MemoryLayout.ofSequence(3, MemoryLayout.ofSequence(4, C_FLOAT)).withName("rgb_cam"),
            MemoryLayout.ofSequence(4, MemoryLayout.ofSequence(3, C_FLOAT)).withName("cam_xyz"),
            MemoryLayout.ofStruct(
                C_INT.withName("format"),
                C_INT.withName("key_off"),
                C_INT.withName("tag_21a"),
                C_INT.withName("t_black"),
                C_INT.withName("split_col"),
                C_INT.withName("black_col"),
                C_INT.withName("split_row"),
                C_INT.withName("black_row"),
                C_FLOAT.withName("tag_210")
            ).withName("phase_one_data"),
            C_FLOAT.withName("flash_used"),
            C_FLOAT.withName("canon_ev"),
            MemoryLayout.ofSequence(64, C_CHAR).withName("model2"),
            MemoryLayout.ofSequence(64, C_CHAR).withName("UniqueCameraModel"),
            MemoryLayout.ofSequence(64, C_CHAR).withName("LocalizedCameraModel"),
            MemoryLayout.ofSequence(64, C_CHAR).withName("ImageUniqueID"),
            MemoryLayout.ofSequence(17, C_CHAR).withName("RawDataUniqueID"),
            MemoryLayout.ofSequence(64, C_CHAR).withName("OriginalRawFileName"),
            MemoryLayout.ofPaddingBits(24),
            C_POINTER.withName("profile"),
            C_INT.withName("profile_length"),
            MemoryLayout.ofSequence(8, C_INT).withName("black_stat"),
            MemoryLayout.ofSequence(2, MemoryLayout.ofStruct(
                C_INT.withName("parsedfields"),
                C_SHORT.withName("illuminant"),
                MemoryLayout.ofPaddingBits(16),
                MemoryLayout.ofSequence(4, MemoryLayout.ofSequence(4, C_FLOAT)).withName("calibration"),
                MemoryLayout.ofSequence(4, MemoryLayout.ofSequence(3, C_FLOAT)).withName("colormatrix"),
                MemoryLayout.ofSequence(3, MemoryLayout.ofSequence(4, C_FLOAT)).withName("forwardmatrix")
            )).withName("dng_color"),
            MemoryLayout.ofStruct(
                C_INT.withName("parsedfields"),
                MemoryLayout.ofSequence(4104, C_INT).withName("dng_cblack"),
                C_INT.withName("dng_black"),
                MemoryLayout.ofSequence(4104, C_FLOAT).withName("dng_fcblack"),
                C_FLOAT.withName("dng_fblack"),
                MemoryLayout.ofSequence(4, C_INT).withName("dng_whitelevel"),
                MemoryLayout.ofSequence(4, C_INT).withName("default_crop"),
                C_INT.withName("preview_colorspace"),
                MemoryLayout.ofSequence(4, C_FLOAT).withName("analogbalance"),
                MemoryLayout.ofSequence(4, C_FLOAT).withName("asshotneutral"),
                C_FLOAT.withName("baseline_exposure"),
                C_FLOAT.withName("LinearResponseLimit")
            ).withName("dng_levels"),
            MemoryLayout.ofSequence(256, MemoryLayout.ofSequence(4, C_INT)).withName("WB_Coeffs"),
            MemoryLayout.ofSequence(64, MemoryLayout.ofSequence(5, C_FLOAT)).withName("WBCT_Coeffs"),
            C_INT.withName("as_shot_wb_applied"),
            MemoryLayout.ofSequence(2, MemoryLayout.ofStruct(
                MemoryLayout.ofSequence(9, C_FLOAT).withName("romm_cam")
            )).withName("P1_color"),
            C_INT.withName("raw_bps"),
            C_INT.withName("ExifColorSpace")
        ).withName("color")
    );
    static final jdk.incubator.foreign.MemoryLayout libraw_rawdata_t$struct$LAYOUT() { return libraw_rawdata_t$struct$LAYOUT_; }

    static final MemoryLayout libraw_rawdata_t$raw_alloc$LAYOUT_ = C_POINTER;
    static final jdk.incubator.foreign.MemoryLayout libraw_rawdata_t$raw_alloc$LAYOUT() { return libraw_rawdata_t$raw_alloc$LAYOUT_; }

    static final VarHandle libraw_rawdata_t$raw_alloc$VH_ = MemoryHandles.asAddressVarHandle(libraw_rawdata_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("raw_alloc")));
    static final java.lang.invoke.VarHandle libraw_rawdata_t$raw_alloc$VH() { return libraw_rawdata_t$raw_alloc$VH_; }

    static final MemoryLayout libraw_rawdata_t$raw_image$LAYOUT_ = C_POINTER;
    static final jdk.incubator.foreign.MemoryLayout libraw_rawdata_t$raw_image$LAYOUT() { return libraw_rawdata_t$raw_image$LAYOUT_; }

    static final VarHandle libraw_rawdata_t$raw_image$VH_ = MemoryHandles.asAddressVarHandle(libraw_rawdata_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("raw_image")));
    static final java.lang.invoke.VarHandle libraw_rawdata_t$raw_image$VH() { return libraw_rawdata_t$raw_image$VH_; }

    static final MemoryLayout libraw_rawdata_t$color4_image$LAYOUT_ = C_POINTER;
    static final jdk.incubator.foreign.MemoryLayout libraw_rawdata_t$color4_image$LAYOUT() { return libraw_rawdata_t$color4_image$LAYOUT_; }

    static final VarHandle libraw_rawdata_t$color4_image$VH_ = MemoryHandles.asAddressVarHandle(libraw_rawdata_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("color4_image")));
    static final java.lang.invoke.VarHandle libraw_rawdata_t$color4_image$VH() { return libraw_rawdata_t$color4_image$VH_; }

    static final MemoryLayout libraw_rawdata_t$color3_image$LAYOUT_ = C_POINTER;
    static final jdk.incubator.foreign.MemoryLayout libraw_rawdata_t$color3_image$LAYOUT() { return libraw_rawdata_t$color3_image$LAYOUT_; }

    static final VarHandle libraw_rawdata_t$color3_image$VH_ = MemoryHandles.asAddressVarHandle(libraw_rawdata_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("color3_image")));
    static final java.lang.invoke.VarHandle libraw_rawdata_t$color3_image$VH() { return libraw_rawdata_t$color3_image$VH_; }

    static final MemoryLayout libraw_rawdata_t$float_image$LAYOUT_ = C_POINTER;
    static final jdk.incubator.foreign.MemoryLayout libraw_rawdata_t$float_image$LAYOUT() { return libraw_rawdata_t$float_image$LAYOUT_; }

    static final VarHandle libraw_rawdata_t$float_image$VH_ = MemoryHandles.asAddressVarHandle(libraw_rawdata_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("float_image")));
    static final java.lang.invoke.VarHandle libraw_rawdata_t$float_image$VH() { return libraw_rawdata_t$float_image$VH_; }

    static final MemoryLayout libraw_rawdata_t$float3_image$LAYOUT_ = C_POINTER;
    static final jdk.incubator.foreign.MemoryLayout libraw_rawdata_t$float3_image$LAYOUT() { return libraw_rawdata_t$float3_image$LAYOUT_; }

    static final VarHandle libraw_rawdata_t$float3_image$VH_ = MemoryHandles.asAddressVarHandle(libraw_rawdata_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("float3_image")));
    static final java.lang.invoke.VarHandle libraw_rawdata_t$float3_image$VH() { return libraw_rawdata_t$float3_image$VH_; }

    static final MemoryLayout libraw_rawdata_t$float4_image$LAYOUT_ = C_POINTER;
    static final jdk.incubator.foreign.MemoryLayout libraw_rawdata_t$float4_image$LAYOUT() { return libraw_rawdata_t$float4_image$LAYOUT_; }

    static final VarHandle libraw_rawdata_t$float4_image$VH_ = MemoryHandles.asAddressVarHandle(libraw_rawdata_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("float4_image")));
    static final java.lang.invoke.VarHandle libraw_rawdata_t$float4_image$VH() { return libraw_rawdata_t$float4_image$VH_; }

    static final MemoryLayout libraw_rawdata_t$ph1_cblack$LAYOUT_ = C_POINTER;
    static final jdk.incubator.foreign.MemoryLayout libraw_rawdata_t$ph1_cblack$LAYOUT() { return libraw_rawdata_t$ph1_cblack$LAYOUT_; }

    static final VarHandle libraw_rawdata_t$ph1_cblack$VH_ = MemoryHandles.asAddressVarHandle(libraw_rawdata_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("ph1_cblack")));
    static final java.lang.invoke.VarHandle libraw_rawdata_t$ph1_cblack$VH() { return libraw_rawdata_t$ph1_cblack$VH_; }

    static final MemoryLayout libraw_rawdata_t$ph1_rblack$LAYOUT_ = C_POINTER;
    static final jdk.incubator.foreign.MemoryLayout libraw_rawdata_t$ph1_rblack$LAYOUT() { return libraw_rawdata_t$ph1_rblack$LAYOUT_; }

    static final VarHandle libraw_rawdata_t$ph1_rblack$VH_ = MemoryHandles.asAddressVarHandle(libraw_rawdata_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("ph1_rblack")));
    static final java.lang.invoke.VarHandle libraw_rawdata_t$ph1_rblack$VH() { return libraw_rawdata_t$ph1_rblack$VH_; }

    static final MemoryLayout libraw_makernotes_lens_t$struct$LAYOUT_ = MemoryLayout.ofStruct(
        C_LONG_LONG.withName("LensID"),
        MemoryLayout.ofSequence(128, C_CHAR).withName("Lens"),
        C_SHORT.withName("LensFormat"),
        C_SHORT.withName("LensMount"),
        MemoryLayout.ofPaddingBits(32),
        C_LONG_LONG.withName("CamID"),
        C_SHORT.withName("CameraFormat"),
        C_SHORT.withName("CameraMount"),
        MemoryLayout.ofSequence(64, C_CHAR).withName("body"),
        C_SHORT.withName("FocalType"),
        MemoryLayout.ofSequence(16, C_CHAR).withName("LensFeatures_pre"),
        MemoryLayout.ofSequence(16, C_CHAR).withName("LensFeatures_suf"),
        MemoryLayout.ofPaddingBits(16),
        C_FLOAT.withName("MinFocal"),
        C_FLOAT.withName("MaxFocal"),
        C_FLOAT.withName("MaxAp4MinFocal"),
        C_FLOAT.withName("MaxAp4MaxFocal"),
        C_FLOAT.withName("MinAp4MinFocal"),
        C_FLOAT.withName("MinAp4MaxFocal"),
        C_FLOAT.withName("MaxAp"),
        C_FLOAT.withName("MinAp"),
        C_FLOAT.withName("CurFocal"),
        C_FLOAT.withName("CurAp"),
        C_FLOAT.withName("MaxAp4CurFocal"),
        C_FLOAT.withName("MinAp4CurFocal"),
        C_FLOAT.withName("MinFocusDistance"),
        C_FLOAT.withName("FocusRangeIndex"),
        C_FLOAT.withName("LensFStops"),
        MemoryLayout.ofPaddingBits(32),
        C_LONG_LONG.withName("TeleconverterID"),
        MemoryLayout.ofSequence(128, C_CHAR).withName("Teleconverter"),
        C_LONG_LONG.withName("AdapterID"),
        MemoryLayout.ofSequence(128, C_CHAR).withName("Adapter"),
        C_LONG_LONG.withName("AttachmentID"),
        MemoryLayout.ofSequence(128, C_CHAR).withName("Attachment"),
        C_SHORT.withName("FocalUnits"),
        MemoryLayout.ofPaddingBits(16),
        C_FLOAT.withName("FocalLengthIn35mmFormat")
    );
    static final jdk.incubator.foreign.MemoryLayout libraw_makernotes_lens_t$struct$LAYOUT() { return libraw_makernotes_lens_t$struct$LAYOUT_; }

    static final MemoryLayout libraw_makernotes_lens_t$LensID$LAYOUT_ = C_LONG_LONG;
    static final jdk.incubator.foreign.MemoryLayout libraw_makernotes_lens_t$LensID$LAYOUT() { return libraw_makernotes_lens_t$LensID$LAYOUT_; }

    static final VarHandle libraw_makernotes_lens_t$LensID$VH_ = libraw_makernotes_lens_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("LensID"));
    static final java.lang.invoke.VarHandle libraw_makernotes_lens_t$LensID$VH() { return libraw_makernotes_lens_t$LensID$VH_; }

    static final MemoryLayout libraw_makernotes_lens_t$LensFormat$LAYOUT_ = C_SHORT;
    static final jdk.incubator.foreign.MemoryLayout libraw_makernotes_lens_t$LensFormat$LAYOUT() { return libraw_makernotes_lens_t$LensFormat$LAYOUT_; }

    static final VarHandle libraw_makernotes_lens_t$LensFormat$VH_ = libraw_makernotes_lens_t$struct$LAYOUT_.varHandle(short.class, MemoryLayout.PathElement.groupElement("LensFormat"));
    static final java.lang.invoke.VarHandle libraw_makernotes_lens_t$LensFormat$VH() { return libraw_makernotes_lens_t$LensFormat$VH_; }

    static final MemoryLayout libraw_makernotes_lens_t$LensMount$LAYOUT_ = C_SHORT;
    static final jdk.incubator.foreign.MemoryLayout libraw_makernotes_lens_t$LensMount$LAYOUT() { return libraw_makernotes_lens_t$LensMount$LAYOUT_; }

    static final VarHandle libraw_makernotes_lens_t$LensMount$VH_ = libraw_makernotes_lens_t$struct$LAYOUT_.varHandle(short.class, MemoryLayout.PathElement.groupElement("LensMount"));
    static final java.lang.invoke.VarHandle libraw_makernotes_lens_t$LensMount$VH() { return libraw_makernotes_lens_t$LensMount$VH_; }

    static final MemoryLayout libraw_makernotes_lens_t$CamID$LAYOUT_ = C_LONG_LONG;
    static final jdk.incubator.foreign.MemoryLayout libraw_makernotes_lens_t$CamID$LAYOUT() { return libraw_makernotes_lens_t$CamID$LAYOUT_; }

    static final VarHandle libraw_makernotes_lens_t$CamID$VH_ = libraw_makernotes_lens_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("CamID"));
    static final java.lang.invoke.VarHandle libraw_makernotes_lens_t$CamID$VH() { return libraw_makernotes_lens_t$CamID$VH_; }

    static final MemoryLayout libraw_makernotes_lens_t$CameraFormat$LAYOUT_ = C_SHORT;
    static final jdk.incubator.foreign.MemoryLayout libraw_makernotes_lens_t$CameraFormat$LAYOUT() { return libraw_makernotes_lens_t$CameraFormat$LAYOUT_; }

    static final VarHandle libraw_makernotes_lens_t$CameraFormat$VH_ = libraw_makernotes_lens_t$struct$LAYOUT_.varHandle(short.class, MemoryLayout.PathElement.groupElement("CameraFormat"));
    static final java.lang.invoke.VarHandle libraw_makernotes_lens_t$CameraFormat$VH() { return libraw_makernotes_lens_t$CameraFormat$VH_; }

    static final MemoryLayout libraw_makernotes_lens_t$CameraMount$LAYOUT_ = C_SHORT;
    static final jdk.incubator.foreign.MemoryLayout libraw_makernotes_lens_t$CameraMount$LAYOUT() { return libraw_makernotes_lens_t$CameraMount$LAYOUT_; }

    static final VarHandle libraw_makernotes_lens_t$CameraMount$VH_ = libraw_makernotes_lens_t$struct$LAYOUT_.varHandle(short.class, MemoryLayout.PathElement.groupElement("CameraMount"));
    static final java.lang.invoke.VarHandle libraw_makernotes_lens_t$CameraMount$VH() { return libraw_makernotes_lens_t$CameraMount$VH_; }

    static final MemoryLayout libraw_makernotes_lens_t$FocalType$LAYOUT_ = C_SHORT;
    static final jdk.incubator.foreign.MemoryLayout libraw_makernotes_lens_t$FocalType$LAYOUT() { return libraw_makernotes_lens_t$FocalType$LAYOUT_; }

    static final VarHandle libraw_makernotes_lens_t$FocalType$VH_ = libraw_makernotes_lens_t$struct$LAYOUT_.varHandle(short.class, MemoryLayout.PathElement.groupElement("FocalType"));
    static final java.lang.invoke.VarHandle libraw_makernotes_lens_t$FocalType$VH() { return libraw_makernotes_lens_t$FocalType$VH_; }

    static final MemoryLayout libraw_makernotes_lens_t$MinFocal$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_makernotes_lens_t$MinFocal$LAYOUT() { return libraw_makernotes_lens_t$MinFocal$LAYOUT_; }

    static final VarHandle libraw_makernotes_lens_t$MinFocal$VH_ = libraw_makernotes_lens_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("MinFocal"));
    static final java.lang.invoke.VarHandle libraw_makernotes_lens_t$MinFocal$VH() { return libraw_makernotes_lens_t$MinFocal$VH_; }

    static final MemoryLayout libraw_makernotes_lens_t$MaxFocal$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_makernotes_lens_t$MaxFocal$LAYOUT() { return libraw_makernotes_lens_t$MaxFocal$LAYOUT_; }

    static final VarHandle libraw_makernotes_lens_t$MaxFocal$VH_ = libraw_makernotes_lens_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("MaxFocal"));
    static final java.lang.invoke.VarHandle libraw_makernotes_lens_t$MaxFocal$VH() { return libraw_makernotes_lens_t$MaxFocal$VH_; }

    static final MemoryLayout libraw_makernotes_lens_t$MaxAp4MinFocal$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_makernotes_lens_t$MaxAp4MinFocal$LAYOUT() { return libraw_makernotes_lens_t$MaxAp4MinFocal$LAYOUT_; }

    static final VarHandle libraw_makernotes_lens_t$MaxAp4MinFocal$VH_ = libraw_makernotes_lens_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("MaxAp4MinFocal"));
    static final java.lang.invoke.VarHandle libraw_makernotes_lens_t$MaxAp4MinFocal$VH() { return libraw_makernotes_lens_t$MaxAp4MinFocal$VH_; }

    static final MemoryLayout libraw_makernotes_lens_t$MaxAp4MaxFocal$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_makernotes_lens_t$MaxAp4MaxFocal$LAYOUT() { return libraw_makernotes_lens_t$MaxAp4MaxFocal$LAYOUT_; }

    static final VarHandle libraw_makernotes_lens_t$MaxAp4MaxFocal$VH_ = libraw_makernotes_lens_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("MaxAp4MaxFocal"));
    static final java.lang.invoke.VarHandle libraw_makernotes_lens_t$MaxAp4MaxFocal$VH() { return libraw_makernotes_lens_t$MaxAp4MaxFocal$VH_; }

    static final MemoryLayout libraw_makernotes_lens_t$MinAp4MinFocal$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_makernotes_lens_t$MinAp4MinFocal$LAYOUT() { return libraw_makernotes_lens_t$MinAp4MinFocal$LAYOUT_; }

    static final VarHandle libraw_makernotes_lens_t$MinAp4MinFocal$VH_ = libraw_makernotes_lens_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("MinAp4MinFocal"));
    static final java.lang.invoke.VarHandle libraw_makernotes_lens_t$MinAp4MinFocal$VH() { return libraw_makernotes_lens_t$MinAp4MinFocal$VH_; }

    static final MemoryLayout libraw_makernotes_lens_t$MinAp4MaxFocal$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_makernotes_lens_t$MinAp4MaxFocal$LAYOUT() { return libraw_makernotes_lens_t$MinAp4MaxFocal$LAYOUT_; }

    static final VarHandle libraw_makernotes_lens_t$MinAp4MaxFocal$VH_ = libraw_makernotes_lens_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("MinAp4MaxFocal"));
    static final java.lang.invoke.VarHandle libraw_makernotes_lens_t$MinAp4MaxFocal$VH() { return libraw_makernotes_lens_t$MinAp4MaxFocal$VH_; }

    static final MemoryLayout libraw_makernotes_lens_t$MaxAp$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_makernotes_lens_t$MaxAp$LAYOUT() { return libraw_makernotes_lens_t$MaxAp$LAYOUT_; }

    static final VarHandle libraw_makernotes_lens_t$MaxAp$VH_ = libraw_makernotes_lens_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("MaxAp"));
    static final java.lang.invoke.VarHandle libraw_makernotes_lens_t$MaxAp$VH() { return libraw_makernotes_lens_t$MaxAp$VH_; }

    static final MemoryLayout libraw_makernotes_lens_t$MinAp$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_makernotes_lens_t$MinAp$LAYOUT() { return libraw_makernotes_lens_t$MinAp$LAYOUT_; }

    static final VarHandle libraw_makernotes_lens_t$MinAp$VH_ = libraw_makernotes_lens_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("MinAp"));
    static final java.lang.invoke.VarHandle libraw_makernotes_lens_t$MinAp$VH() { return libraw_makernotes_lens_t$MinAp$VH_; }

    static final MemoryLayout libraw_makernotes_lens_t$CurFocal$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_makernotes_lens_t$CurFocal$LAYOUT() { return libraw_makernotes_lens_t$CurFocal$LAYOUT_; }

    static final VarHandle libraw_makernotes_lens_t$CurFocal$VH_ = libraw_makernotes_lens_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("CurFocal"));
    static final java.lang.invoke.VarHandle libraw_makernotes_lens_t$CurFocal$VH() { return libraw_makernotes_lens_t$CurFocal$VH_; }

    static final MemoryLayout libraw_makernotes_lens_t$CurAp$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_makernotes_lens_t$CurAp$LAYOUT() { return libraw_makernotes_lens_t$CurAp$LAYOUT_; }

    static final VarHandle libraw_makernotes_lens_t$CurAp$VH_ = libraw_makernotes_lens_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("CurAp"));
    static final java.lang.invoke.VarHandle libraw_makernotes_lens_t$CurAp$VH() { return libraw_makernotes_lens_t$CurAp$VH_; }

    static final MemoryLayout libraw_makernotes_lens_t$MaxAp4CurFocal$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_makernotes_lens_t$MaxAp4CurFocal$LAYOUT() { return libraw_makernotes_lens_t$MaxAp4CurFocal$LAYOUT_; }

    static final VarHandle libraw_makernotes_lens_t$MaxAp4CurFocal$VH_ = libraw_makernotes_lens_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("MaxAp4CurFocal"));
    static final java.lang.invoke.VarHandle libraw_makernotes_lens_t$MaxAp4CurFocal$VH() { return libraw_makernotes_lens_t$MaxAp4CurFocal$VH_; }

    static final MemoryLayout libraw_makernotes_lens_t$MinAp4CurFocal$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_makernotes_lens_t$MinAp4CurFocal$LAYOUT() { return libraw_makernotes_lens_t$MinAp4CurFocal$LAYOUT_; }

    static final VarHandle libraw_makernotes_lens_t$MinAp4CurFocal$VH_ = libraw_makernotes_lens_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("MinAp4CurFocal"));
    static final java.lang.invoke.VarHandle libraw_makernotes_lens_t$MinAp4CurFocal$VH() { return libraw_makernotes_lens_t$MinAp4CurFocal$VH_; }

    static final MemoryLayout libraw_makernotes_lens_t$MinFocusDistance$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_makernotes_lens_t$MinFocusDistance$LAYOUT() { return libraw_makernotes_lens_t$MinFocusDistance$LAYOUT_; }

    static final VarHandle libraw_makernotes_lens_t$MinFocusDistance$VH_ = libraw_makernotes_lens_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("MinFocusDistance"));
    static final java.lang.invoke.VarHandle libraw_makernotes_lens_t$MinFocusDistance$VH() { return libraw_makernotes_lens_t$MinFocusDistance$VH_; }

    static final MemoryLayout libraw_makernotes_lens_t$FocusRangeIndex$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_makernotes_lens_t$FocusRangeIndex$LAYOUT() { return libraw_makernotes_lens_t$FocusRangeIndex$LAYOUT_; }

    static final VarHandle libraw_makernotes_lens_t$FocusRangeIndex$VH_ = libraw_makernotes_lens_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("FocusRangeIndex"));
    static final java.lang.invoke.VarHandle libraw_makernotes_lens_t$FocusRangeIndex$VH() { return libraw_makernotes_lens_t$FocusRangeIndex$VH_; }

    static final MemoryLayout libraw_makernotes_lens_t$LensFStops$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_makernotes_lens_t$LensFStops$LAYOUT() { return libraw_makernotes_lens_t$LensFStops$LAYOUT_; }

    static final VarHandle libraw_makernotes_lens_t$LensFStops$VH_ = libraw_makernotes_lens_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("LensFStops"));
    static final java.lang.invoke.VarHandle libraw_makernotes_lens_t$LensFStops$VH() { return libraw_makernotes_lens_t$LensFStops$VH_; }

    static final MemoryLayout libraw_makernotes_lens_t$TeleconverterID$LAYOUT_ = C_LONG_LONG;
    static final jdk.incubator.foreign.MemoryLayout libraw_makernotes_lens_t$TeleconverterID$LAYOUT() { return libraw_makernotes_lens_t$TeleconverterID$LAYOUT_; }

    static final VarHandle libraw_makernotes_lens_t$TeleconverterID$VH_ = libraw_makernotes_lens_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("TeleconverterID"));
    static final java.lang.invoke.VarHandle libraw_makernotes_lens_t$TeleconverterID$VH() { return libraw_makernotes_lens_t$TeleconverterID$VH_; }

    static final MemoryLayout libraw_makernotes_lens_t$AdapterID$LAYOUT_ = C_LONG_LONG;
    static final jdk.incubator.foreign.MemoryLayout libraw_makernotes_lens_t$AdapterID$LAYOUT() { return libraw_makernotes_lens_t$AdapterID$LAYOUT_; }

    static final VarHandle libraw_makernotes_lens_t$AdapterID$VH_ = libraw_makernotes_lens_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("AdapterID"));
    static final java.lang.invoke.VarHandle libraw_makernotes_lens_t$AdapterID$VH() { return libraw_makernotes_lens_t$AdapterID$VH_; }

    static final MemoryLayout libraw_makernotes_lens_t$AttachmentID$LAYOUT_ = C_LONG_LONG;
    static final jdk.incubator.foreign.MemoryLayout libraw_makernotes_lens_t$AttachmentID$LAYOUT() { return libraw_makernotes_lens_t$AttachmentID$LAYOUT_; }

    static final VarHandle libraw_makernotes_lens_t$AttachmentID$VH_ = libraw_makernotes_lens_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("AttachmentID"));
    static final java.lang.invoke.VarHandle libraw_makernotes_lens_t$AttachmentID$VH() { return libraw_makernotes_lens_t$AttachmentID$VH_; }

    static final MemoryLayout libraw_makernotes_lens_t$FocalUnits$LAYOUT_ = C_SHORT;
    static final jdk.incubator.foreign.MemoryLayout libraw_makernotes_lens_t$FocalUnits$LAYOUT() { return libraw_makernotes_lens_t$FocalUnits$LAYOUT_; }

    static final VarHandle libraw_makernotes_lens_t$FocalUnits$VH_ = libraw_makernotes_lens_t$struct$LAYOUT_.varHandle(short.class, MemoryLayout.PathElement.groupElement("FocalUnits"));
    static final java.lang.invoke.VarHandle libraw_makernotes_lens_t$FocalUnits$VH() { return libraw_makernotes_lens_t$FocalUnits$VH_; }

    static final MemoryLayout libraw_makernotes_lens_t$FocalLengthIn35mmFormat$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_makernotes_lens_t$FocalLengthIn35mmFormat$LAYOUT() { return libraw_makernotes_lens_t$FocalLengthIn35mmFormat$LAYOUT_; }

    static final VarHandle libraw_makernotes_lens_t$FocalLengthIn35mmFormat$VH_ = libraw_makernotes_lens_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("FocalLengthIn35mmFormat"));
    static final java.lang.invoke.VarHandle libraw_makernotes_lens_t$FocalLengthIn35mmFormat$VH() { return libraw_makernotes_lens_t$FocalLengthIn35mmFormat$VH_; }

    static final MemoryLayout libraw_nikonlens_t$struct$LAYOUT_ = MemoryLayout.ofStruct(
        C_FLOAT.withName("EffectiveMaxAp"),
        C_CHAR.withName("LensIDNumber"),
        C_CHAR.withName("LensFStops"),
        C_CHAR.withName("MCUVersion"),
        C_CHAR.withName("LensType")
    );
    static final jdk.incubator.foreign.MemoryLayout libraw_nikonlens_t$struct$LAYOUT() { return libraw_nikonlens_t$struct$LAYOUT_; }

    static final MemoryLayout libraw_nikonlens_t$EffectiveMaxAp$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_nikonlens_t$EffectiveMaxAp$LAYOUT() { return libraw_nikonlens_t$EffectiveMaxAp$LAYOUT_; }

    static final VarHandle libraw_nikonlens_t$EffectiveMaxAp$VH_ = libraw_nikonlens_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("EffectiveMaxAp"));
    static final java.lang.invoke.VarHandle libraw_nikonlens_t$EffectiveMaxAp$VH() { return libraw_nikonlens_t$EffectiveMaxAp$VH_; }

    static final MemoryLayout libraw_nikonlens_t$LensIDNumber$LAYOUT_ = C_CHAR;
    static final jdk.incubator.foreign.MemoryLayout libraw_nikonlens_t$LensIDNumber$LAYOUT() { return libraw_nikonlens_t$LensIDNumber$LAYOUT_; }

    static final VarHandle libraw_nikonlens_t$LensIDNumber$VH_ = libraw_nikonlens_t$struct$LAYOUT_.varHandle(byte.class, MemoryLayout.PathElement.groupElement("LensIDNumber"));
    static final java.lang.invoke.VarHandle libraw_nikonlens_t$LensIDNumber$VH() { return libraw_nikonlens_t$LensIDNumber$VH_; }

    static final MemoryLayout libraw_nikonlens_t$LensFStops$LAYOUT_ = C_CHAR;
    static final jdk.incubator.foreign.MemoryLayout libraw_nikonlens_t$LensFStops$LAYOUT() { return libraw_nikonlens_t$LensFStops$LAYOUT_; }

    static final VarHandle libraw_nikonlens_t$LensFStops$VH_ = libraw_nikonlens_t$struct$LAYOUT_.varHandle(byte.class, MemoryLayout.PathElement.groupElement("LensFStops"));
    static final java.lang.invoke.VarHandle libraw_nikonlens_t$LensFStops$VH() { return libraw_nikonlens_t$LensFStops$VH_; }

    static final MemoryLayout libraw_nikonlens_t$MCUVersion$LAYOUT_ = C_CHAR;
    static final jdk.incubator.foreign.MemoryLayout libraw_nikonlens_t$MCUVersion$LAYOUT() { return libraw_nikonlens_t$MCUVersion$LAYOUT_; }

    static final VarHandle libraw_nikonlens_t$MCUVersion$VH_ = libraw_nikonlens_t$struct$LAYOUT_.varHandle(byte.class, MemoryLayout.PathElement.groupElement("MCUVersion"));
    static final java.lang.invoke.VarHandle libraw_nikonlens_t$MCUVersion$VH() { return libraw_nikonlens_t$MCUVersion$VH_; }

    static final MemoryLayout libraw_nikonlens_t$LensType$LAYOUT_ = C_CHAR;
    static final jdk.incubator.foreign.MemoryLayout libraw_nikonlens_t$LensType$LAYOUT() { return libraw_nikonlens_t$LensType$LAYOUT_; }

    static final VarHandle libraw_nikonlens_t$LensType$VH_ = libraw_nikonlens_t$struct$LAYOUT_.varHandle(byte.class, MemoryLayout.PathElement.groupElement("LensType"));
    static final java.lang.invoke.VarHandle libraw_nikonlens_t$LensType$VH() { return libraw_nikonlens_t$LensType$VH_; }

    static final MemoryLayout libraw_dnglens_t$struct$LAYOUT_ = MemoryLayout.ofStruct(
        C_FLOAT.withName("MinFocal"),
        C_FLOAT.withName("MaxFocal"),
        C_FLOAT.withName("MaxAp4MinFocal"),
        C_FLOAT.withName("MaxAp4MaxFocal")
    );
    static final jdk.incubator.foreign.MemoryLayout libraw_dnglens_t$struct$LAYOUT() { return libraw_dnglens_t$struct$LAYOUT_; }

    static final MemoryLayout libraw_dnglens_t$MinFocal$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_dnglens_t$MinFocal$LAYOUT() { return libraw_dnglens_t$MinFocal$LAYOUT_; }

    static final VarHandle libraw_dnglens_t$MinFocal$VH_ = libraw_dnglens_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("MinFocal"));
    static final java.lang.invoke.VarHandle libraw_dnglens_t$MinFocal$VH() { return libraw_dnglens_t$MinFocal$VH_; }

    static final MemoryLayout libraw_dnglens_t$MaxFocal$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_dnglens_t$MaxFocal$LAYOUT() { return libraw_dnglens_t$MaxFocal$LAYOUT_; }

    static final VarHandle libraw_dnglens_t$MaxFocal$VH_ = libraw_dnglens_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("MaxFocal"));
    static final java.lang.invoke.VarHandle libraw_dnglens_t$MaxFocal$VH() { return libraw_dnglens_t$MaxFocal$VH_; }

    static final MemoryLayout libraw_dnglens_t$MaxAp4MinFocal$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_dnglens_t$MaxAp4MinFocal$LAYOUT() { return libraw_dnglens_t$MaxAp4MinFocal$LAYOUT_; }

    static final VarHandle libraw_dnglens_t$MaxAp4MinFocal$VH_ = libraw_dnglens_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("MaxAp4MinFocal"));
    static final java.lang.invoke.VarHandle libraw_dnglens_t$MaxAp4MinFocal$VH() { return libraw_dnglens_t$MaxAp4MinFocal$VH_; }

    static final MemoryLayout libraw_dnglens_t$MaxAp4MaxFocal$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_dnglens_t$MaxAp4MaxFocal$LAYOUT() { return libraw_dnglens_t$MaxAp4MaxFocal$LAYOUT_; }

    static final VarHandle libraw_dnglens_t$MaxAp4MaxFocal$VH_ = libraw_dnglens_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("MaxAp4MaxFocal"));
    static final java.lang.invoke.VarHandle libraw_dnglens_t$MaxAp4MaxFocal$VH() { return libraw_dnglens_t$MaxAp4MaxFocal$VH_; }

    static final MemoryLayout libraw_lensinfo_t$struct$LAYOUT_ = MemoryLayout.ofStruct(
        C_FLOAT.withName("MinFocal"),
        C_FLOAT.withName("MaxFocal"),
        C_FLOAT.withName("MaxAp4MinFocal"),
        C_FLOAT.withName("MaxAp4MaxFocal"),
        C_FLOAT.withName("EXIF_MaxAp"),
        MemoryLayout.ofSequence(128, C_CHAR).withName("LensMake"),
        MemoryLayout.ofSequence(128, C_CHAR).withName("Lens"),
        MemoryLayout.ofSequence(128, C_CHAR).withName("LensSerial"),
        MemoryLayout.ofSequence(128, C_CHAR).withName("InternalLensSerial"),
        C_SHORT.withName("FocalLengthIn35mmFormat"),
        MemoryLayout.ofPaddingBits(16),
        MemoryLayout.ofStruct(
            C_FLOAT.withName("EffectiveMaxAp"),
            C_CHAR.withName("LensIDNumber"),
            C_CHAR.withName("LensFStops"),
            C_CHAR.withName("MCUVersion"),
            C_CHAR.withName("LensType")
        ).withName("nikon"),
        MemoryLayout.ofStruct(
            C_FLOAT.withName("MinFocal"),
            C_FLOAT.withName("MaxFocal"),
            C_FLOAT.withName("MaxAp4MinFocal"),
            C_FLOAT.withName("MaxAp4MaxFocal")
        ).withName("dng"),
        MemoryLayout.ofStruct(
            C_LONG_LONG.withName("LensID"),
            MemoryLayout.ofSequence(128, C_CHAR).withName("Lens"),
            C_SHORT.withName("LensFormat"),
            C_SHORT.withName("LensMount"),
            MemoryLayout.ofPaddingBits(32),
            C_LONG_LONG.withName("CamID"),
            C_SHORT.withName("CameraFormat"),
            C_SHORT.withName("CameraMount"),
            MemoryLayout.ofSequence(64, C_CHAR).withName("body"),
            C_SHORT.withName("FocalType"),
            MemoryLayout.ofSequence(16, C_CHAR).withName("LensFeatures_pre"),
            MemoryLayout.ofSequence(16, C_CHAR).withName("LensFeatures_suf"),
            MemoryLayout.ofPaddingBits(16),
            C_FLOAT.withName("MinFocal"),
            C_FLOAT.withName("MaxFocal"),
            C_FLOAT.withName("MaxAp4MinFocal"),
            C_FLOAT.withName("MaxAp4MaxFocal"),
            C_FLOAT.withName("MinAp4MinFocal"),
            C_FLOAT.withName("MinAp4MaxFocal"),
            C_FLOAT.withName("MaxAp"),
            C_FLOAT.withName("MinAp"),
            C_FLOAT.withName("CurFocal"),
            C_FLOAT.withName("CurAp"),
            C_FLOAT.withName("MaxAp4CurFocal"),
            C_FLOAT.withName("MinAp4CurFocal"),
            C_FLOAT.withName("MinFocusDistance"),
            C_FLOAT.withName("FocusRangeIndex"),
            C_FLOAT.withName("LensFStops"),
            MemoryLayout.ofPaddingBits(32),
            C_LONG_LONG.withName("TeleconverterID"),
            MemoryLayout.ofSequence(128, C_CHAR).withName("Teleconverter"),
            C_LONG_LONG.withName("AdapterID"),
            MemoryLayout.ofSequence(128, C_CHAR).withName("Adapter"),
            C_LONG_LONG.withName("AttachmentID"),
            MemoryLayout.ofSequence(128, C_CHAR).withName("Attachment"),
            C_SHORT.withName("FocalUnits"),
            MemoryLayout.ofPaddingBits(16),
            C_FLOAT.withName("FocalLengthIn35mmFormat")
        ).withName("makernotes")
    );
    static final jdk.incubator.foreign.MemoryLayout libraw_lensinfo_t$struct$LAYOUT() { return libraw_lensinfo_t$struct$LAYOUT_; }

    static final MemoryLayout libraw_lensinfo_t$MinFocal$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_lensinfo_t$MinFocal$LAYOUT() { return libraw_lensinfo_t$MinFocal$LAYOUT_; }

    static final VarHandle libraw_lensinfo_t$MinFocal$VH_ = libraw_lensinfo_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("MinFocal"));
    static final java.lang.invoke.VarHandle libraw_lensinfo_t$MinFocal$VH() { return libraw_lensinfo_t$MinFocal$VH_; }

    static final MemoryLayout libraw_lensinfo_t$MaxFocal$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_lensinfo_t$MaxFocal$LAYOUT() { return libraw_lensinfo_t$MaxFocal$LAYOUT_; }

    static final VarHandle libraw_lensinfo_t$MaxFocal$VH_ = libraw_lensinfo_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("MaxFocal"));
    static final java.lang.invoke.VarHandle libraw_lensinfo_t$MaxFocal$VH() { return libraw_lensinfo_t$MaxFocal$VH_; }

    static final MemoryLayout libraw_lensinfo_t$MaxAp4MinFocal$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_lensinfo_t$MaxAp4MinFocal$LAYOUT() { return libraw_lensinfo_t$MaxAp4MinFocal$LAYOUT_; }

    static final VarHandle libraw_lensinfo_t$MaxAp4MinFocal$VH_ = libraw_lensinfo_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("MaxAp4MinFocal"));
    static final java.lang.invoke.VarHandle libraw_lensinfo_t$MaxAp4MinFocal$VH() { return libraw_lensinfo_t$MaxAp4MinFocal$VH_; }

    static final MemoryLayout libraw_lensinfo_t$MaxAp4MaxFocal$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_lensinfo_t$MaxAp4MaxFocal$LAYOUT() { return libraw_lensinfo_t$MaxAp4MaxFocal$LAYOUT_; }

    static final VarHandle libraw_lensinfo_t$MaxAp4MaxFocal$VH_ = libraw_lensinfo_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("MaxAp4MaxFocal"));
    static final java.lang.invoke.VarHandle libraw_lensinfo_t$MaxAp4MaxFocal$VH() { return libraw_lensinfo_t$MaxAp4MaxFocal$VH_; }

    static final MemoryLayout libraw_lensinfo_t$EXIF_MaxAp$LAYOUT_ = C_FLOAT;
    static final jdk.incubator.foreign.MemoryLayout libraw_lensinfo_t$EXIF_MaxAp$LAYOUT() { return libraw_lensinfo_t$EXIF_MaxAp$LAYOUT_; }

    static final VarHandle libraw_lensinfo_t$EXIF_MaxAp$VH_ = libraw_lensinfo_t$struct$LAYOUT_.varHandle(float.class, MemoryLayout.PathElement.groupElement("EXIF_MaxAp"));
    static final java.lang.invoke.VarHandle libraw_lensinfo_t$EXIF_MaxAp$VH() { return libraw_lensinfo_t$EXIF_MaxAp$VH_; }

    static final MemoryLayout libraw_lensinfo_t$FocalLengthIn35mmFormat$LAYOUT_ = C_SHORT;
    static final jdk.incubator.foreign.MemoryLayout libraw_lensinfo_t$FocalLengthIn35mmFormat$LAYOUT() { return libraw_lensinfo_t$FocalLengthIn35mmFormat$LAYOUT_; }

    static final VarHandle libraw_lensinfo_t$FocalLengthIn35mmFormat$VH_ = libraw_lensinfo_t$struct$LAYOUT_.varHandle(short.class, MemoryLayout.PathElement.groupElement("FocalLengthIn35mmFormat"));
    static final java.lang.invoke.VarHandle libraw_lensinfo_t$FocalLengthIn35mmFormat$VH() { return libraw_lensinfo_t$FocalLengthIn35mmFormat$VH_; }

    static final MemoryLayout libraw_makernotes_t$struct$LAYOUT_ = MemoryLayout.ofStruct(
        MemoryLayout.ofStruct(
            C_INT.withName("ColorDataVer"),
            C_INT.withName("ColorDataSubVer"),
            C_INT.withName("SpecularWhiteLevel"),
            C_INT.withName("NormalWhiteLevel"),
            MemoryLayout.ofSequence(4, C_INT).withName("ChannelBlackLevel"),
            C_INT.withName("AverageBlackLevel"),
            MemoryLayout.ofSequence(4, C_INT).withName("multishot"),
            C_SHORT.withName("MeteringMode"),
            C_SHORT.withName("SpotMeteringMode"),
            C_CHAR.withName("FlashMeteringMode"),
            MemoryLayout.ofPaddingBits(8),
            C_SHORT.withName("FlashExposureLock"),
            C_SHORT.withName("ExposureMode"),
            C_SHORT.withName("AESetting"),
            C_CHAR.withName("HighlightTonePriority"),
            MemoryLayout.ofPaddingBits(8),
            C_SHORT.withName("ImageStabilization"),
            C_SHORT.withName("FocusMode"),
            C_SHORT.withName("AFPoint"),
            C_SHORT.withName("FocusContinuous"),
            C_SHORT.withName("AFPointsInFocus30D"),
            MemoryLayout.ofSequence(8, C_CHAR).withName("AFPointsInFocus1D"),
            C_SHORT.withName("AFPointsInFocus5D"),
            C_SHORT.withName("AFAreaMode"),
            C_SHORT.withName("NumAFPoints"),
            C_SHORT.withName("ValidAFPoints"),
            C_SHORT.withName("AFImageWidth"),
            C_SHORT.withName("AFImageHeight"),
            MemoryLayout.ofSequence(61, C_SHORT).withName("AFAreaWidths"),
            MemoryLayout.ofSequence(61, C_SHORT).withName("AFAreaHeights"),
            MemoryLayout.ofSequence(61, C_SHORT).withName("AFAreaXPositions"),
            MemoryLayout.ofSequence(61, C_SHORT).withName("AFAreaYPositions"),
            MemoryLayout.ofSequence(4, C_SHORT).withName("AFPointsInFocus"),
            MemoryLayout.ofSequence(4, C_SHORT).withName("AFPointsSelected"),
            C_SHORT.withName("PrimaryAFPoint"),
            C_SHORT.withName("FlashMode"),
            C_SHORT.withName("FlashActivity"),
            C_SHORT.withName("FlashBits"),
            C_SHORT.withName("ManualFlashOutput"),
            C_SHORT.withName("FlashOutput"),
            C_SHORT.withName("FlashGuideNumber"),
            C_SHORT.withName("ContinuousDrive"),
            C_SHORT.withName("SensorWidth"),
            C_SHORT.withName("SensorHeight"),
            C_SHORT.withName("SensorLeftBorder"),
            C_SHORT.withName("SensorTopBorder"),
            C_SHORT.withName("SensorRightBorder"),
            C_SHORT.withName("SensorBottomBorder"),
            C_SHORT.withName("BlackMaskLeftBorder"),
            C_SHORT.withName("BlackMaskTopBorder"),
            C_SHORT.withName("BlackMaskRightBorder"),
            C_SHORT.withName("BlackMaskBottomBorder"),
            C_INT.withName("AFMicroAdjMode"),
            C_FLOAT.withName("AFMicroAdjValue"),
            C_SHORT.withName("MakernotesFlip"),
            C_SHORT.withName("RecordMode"),
            C_SHORT.withName("SRAWQuality"),
            MemoryLayout.ofPaddingBits(16),
            C_INT.withName("wbi"),
            C_FLOAT.withName("firmware"),
            C_SHORT.withName("RF_lensID"),
            MemoryLayout.ofPaddingBits(16)
        ).withName("canon"),
        MemoryLayout.ofStruct(
            C_DOUBLE.withName("ExposureBracketValue"),
            C_SHORT.withName("ActiveDLighting"),
            C_SHORT.withName("ShootingMode"),
            MemoryLayout.ofSequence(7, C_CHAR).withName("ImageStabilization"),
            C_CHAR.withName("VibrationReduction"),
            C_CHAR.withName("VRMode"),
            MemoryLayout.ofSequence(7, C_CHAR).withName("FocusMode"),
            C_CHAR.withName("AFPoint"),
            MemoryLayout.ofPaddingBits(8),
            C_SHORT.withName("AFPointsInFocus"),
            C_CHAR.withName("ContrastDetectAF"),
            C_CHAR.withName("AFAreaMode"),
            C_CHAR.withName("PhaseDetectAF"),
            C_CHAR.withName("PrimaryAFPoint"),
            MemoryLayout.ofSequence(29, C_CHAR).withName("AFPointsUsed"),
            MemoryLayout.ofPaddingBits(8),
            C_SHORT.withName("AFImageWidth"),
            C_SHORT.withName("AFImageHeight"),
            C_SHORT.withName("AFAreaXPposition"),
            C_SHORT.withName("AFAreaYPosition"),
            C_SHORT.withName("AFAreaWidth"),
            C_SHORT.withName("AFAreaHeight"),
            C_CHAR.withName("ContrastDetectAFInFocus"),
            MemoryLayout.ofSequence(13, C_CHAR).withName("FlashSetting"),
            MemoryLayout.ofSequence(20, C_CHAR).withName("FlashType"),
            MemoryLayout.ofSequence(4, C_CHAR).withName("FlashExposureCompensation"),
            MemoryLayout.ofSequence(4, C_CHAR).withName("ExternalFlashExposureComp"),
            MemoryLayout.ofSequence(4, C_CHAR).withName("FlashExposureBracketValue"),
            C_CHAR.withName("FlashMode"),
            C_CHAR.withName("FlashExposureCompensation2"),
            C_CHAR.withName("FlashExposureCompensation3"),
            C_CHAR.withName("FlashExposureCompensation4"),
            C_CHAR.withName("FlashSource"),
            MemoryLayout.ofSequence(2, C_CHAR).withName("FlashFirmware"),
            C_CHAR.withName("ExternalFlashFlags"),
            C_CHAR.withName("FlashControlCommanderMode"),
            C_CHAR.withName("FlashOutputAndCompensation"),
            C_CHAR.withName("FlashFocalLength"),
            C_CHAR.withName("FlashGNDistance"),
            MemoryLayout.ofSequence(4, C_CHAR).withName("FlashGroupControlMode"),
            MemoryLayout.ofSequence(4, C_CHAR).withName("FlashGroupOutputAndCompensation"),
            C_CHAR.withName("FlashColorFilter"),
            MemoryLayout.ofPaddingBits(8),
            C_SHORT.withName("NEFCompression"),
            C_INT.withName("ExposureMode"),
            C_INT.withName("ExposureProgram"),
            C_INT.withName("nMEshots"),
            C_INT.withName("MEgainOn"),
            MemoryLayout.ofPaddingBits(32),
            MemoryLayout.ofSequence(4, C_DOUBLE).withName("ME_WB"),
            C_CHAR.withName("AFFineTune"),
            C_CHAR.withName("AFFineTuneIndex"),
            C_CHAR.withName("AFFineTuneAdj"),
            MemoryLayout.ofPaddingBits(8),
            C_INT.withName("LensDataVersion"),
            C_INT.withName("FlashInfoVersion"),
            C_INT.withName("ColorBalanceVersion"),
            C_CHAR.withName("key"),
            MemoryLayout.ofPaddingBits(8),
            MemoryLayout.ofSequence(4, C_SHORT).withName("NEFBitDepth"),
            C_SHORT.withName("HighSpeedCropFormat"),
            MemoryLayout.ofStruct(
                C_SHORT.withName("cleft"),
                C_SHORT.withName("ctop"),
                C_SHORT.withName("cwidth"),
                C_SHORT.withName("cheight")
            ).withName("SensorHighSpeedCrop"),
            C_SHORT.withName("SensorWidth"),
            C_SHORT.withName("SensorHeight")
        ).withName("nikon"),
        MemoryLayout.ofStruct(
            C_INT.withName("BaseISO"),
            MemoryLayout.ofPaddingBits(32),
            C_DOUBLE.withName("Gain"),
            MemoryLayout.ofSequence(8, C_CHAR).withName("Sensor"),
            MemoryLayout.ofSequence(64, C_CHAR).withName("SensorUnit"),
            MemoryLayout.ofSequence(64, C_CHAR).withName("HostBody"),
            C_INT.withName("SensorCode"),
            C_INT.withName("SensorSubCode"),
            C_INT.withName("CoatingCode"),
            C_INT.withName("uncropped"),
            MemoryLayout.ofSequence(32, C_CHAR).withName("CaptureSequenceInitiator"),
            MemoryLayout.ofSequence(64, C_CHAR).withName("SensorUnitConnector"),
            C_INT.withName("format"),
            MemoryLayout.ofSequence(2, C_INT).withName("nIFD_CM"),
            MemoryLayout.ofSequence(2, C_INT).withName("RecommendedCrop"),
            MemoryLayout.ofPaddingBits(32),
            MemoryLayout.ofSequence(4, MemoryLayout.ofSequence(3, C_DOUBLE)).withName("mnColorMatrix")
        ).withName("hasselblad"),
        MemoryLayout.ofStruct(
            C_FLOAT.withName("ExpoMidPointShift"),
            C_SHORT.withName("DynamicRange"),
            C_SHORT.withName("FilmMode"),
            C_SHORT.withName("DynamicRangeSetting"),
            C_SHORT.withName("DevelopmentDynamicRange"),
            C_SHORT.withName("AutoDynamicRange"),
            C_SHORT.withName("DRangePriority"),
            C_SHORT.withName("DRangePriorityAuto"),
            C_SHORT.withName("DRangePriorityFixed"),
            C_FLOAT.withName("BrightnessCompensation"),
            C_SHORT.withName("FocusMode"),
            C_SHORT.withName("AFMode"),
            MemoryLayout.ofSequence(2, C_SHORT).withName("FocusPixel"),
            MemoryLayout.ofSequence(3, C_SHORT).withName("ImageStabilization"),
            C_SHORT.withName("FlashMode"),
            C_SHORT.withName("WB_Preset"),
            C_SHORT.withName("ShutterType"),
            C_SHORT.withName("ExrMode"),
            C_SHORT.withName("Macro"),
            C_INT.withName("Rating"),
            C_SHORT.withName("CropMode"),
            C_SHORT.withName("FrameRate"),
            C_SHORT.withName("FrameWidth"),
            C_SHORT.withName("FrameHeight"),
            MemoryLayout.ofSequence(13, C_CHAR).withName("SerialSignature"),
            MemoryLayout.ofSequence(5, C_CHAR).withName("RAFVersion"),
            C_SHORT.withName("RAFDataVersion"),
            C_INT.withName("isTSNERDTS"),
            C_SHORT.withName("DriveMode"),
            MemoryLayout.ofPaddingBits(16)
        ).withName("fuji"),
        MemoryLayout.ofStruct(
            MemoryLayout.ofSequence(2, C_INT).withName("SensorCalibration"),
            MemoryLayout.ofSequence(2, C_SHORT).withName("FocusMode"),
            C_SHORT.withName("AutoFocus"),
            C_SHORT.withName("AFPoint"),
            MemoryLayout.ofSequence(64, C_INT).withName("AFAreas"),
            MemoryLayout.ofSequence(5, C_DOUBLE).withName("AFPointSelected"),
            C_SHORT.withName("AFResult"),
            MemoryLayout.ofSequence(5, C_SHORT).withName("DriveMode"),
            C_SHORT.withName("ColorSpace"),
            C_CHAR.withName("AFFineTune"),
            MemoryLayout.ofPaddingBits(8),
            MemoryLayout.ofSequence(3, C_SHORT).withName("AFFineTuneAdj"),
            MemoryLayout.ofSequence(6, C_CHAR).withName("CameraType2"),
            MemoryLayout.ofPaddingBits(32)
        ).withName("olympus"),
        MemoryLayout.ofStruct(
            C_SHORT.withName("CameraType"),
            C_CHAR.withName("Sony0x9400_version"),
            C_CHAR.withName("Sony0x9400_ReleaseMode2"),
            C_INT.withName("Sony0x9400_SequenceImageNumber"),
            C_CHAR.withName("Sony0x9400_SequenceLength1"),
            MemoryLayout.ofPaddingBits(24),
            C_INT.withName("Sony0x9400_SequenceFileNumber"),
            C_CHAR.withName("Sony0x9400_SequenceLength2"),
            C_CHAR.withName("AFAreaModeSetting"),
            MemoryLayout.ofSequence(2, C_SHORT).withName("FlexibleSpotPosition"),
            C_CHAR.withName("AFPointSelected"),
            MemoryLayout.ofSequence(10, C_CHAR).withName("AFPointsUsed"),
            C_CHAR.withName("AFTracking"),
            C_CHAR.withName("AFType"),
            MemoryLayout.ofPaddingBits(8),
            MemoryLayout.ofSequence(4, C_SHORT).withName("FocusLocation"),
            C_CHAR.withName("AFMicroAdjValue"),
            C_CHAR.withName("AFMicroAdjOn"),
            C_CHAR.withName("AFMicroAdjRegisteredLenses"),
            MemoryLayout.ofPaddingBits(8),
            C_SHORT.withName("VariableLowPassFilter"),
            MemoryLayout.ofPaddingBits(16),
            C_INT.withName("LongExposureNoiseReduction"),
            C_SHORT.withName("HighISONoiseReduction"),
            MemoryLayout.ofSequence(2, C_SHORT).withName("HDR"),
            C_SHORT.withName("group2010"),
            C_SHORT.withName("real_iso_offset"),
            C_SHORT.withName("MeteringMode_offset"),
            C_SHORT.withName("ExposureProgram_offset"),
            C_SHORT.withName("ReleaseMode2_offset"),
            C_INT.withName("MinoltaCamID"),
            C_FLOAT.withName("firmware"),
            C_SHORT.withName("ImageCount3_offset"),
            MemoryLayout.ofPaddingBits(16),
            C_INT.withName("ImageCount3"),
            C_INT.withName("ElectronicFrontCurtainShutter"),
            C_SHORT.withName("MeteringMode2"),
            MemoryLayout.ofSequence(20, C_CHAR).withName("SonyDateTime"),
            MemoryLayout.ofPaddingBits(16),
            C_INT.withName("ShotNumberSincePowerUp"),
            C_SHORT.withName("PixelShiftGroupPrefix"),
            MemoryLayout.ofPaddingBits(16),
            C_INT.withName("PixelShiftGroupID"),
            C_CHAR.withName("nShotsInPixelShiftGroup"),
            C_CHAR.withName("numInPixelShiftGroup"),
            C_SHORT.withName("prd_ImageHeight"),
            C_SHORT.withName("prd_ImageWidth"),
            C_SHORT.withName("prd_RawBitDepth"),
            C_SHORT.withName("prd_StorageMethod"),
            C_SHORT.withName("prd_BayerPattern"),
            C_SHORT.withName("SonyRawFileType"),
            C_SHORT.withName("RAWFileType"),
            C_INT.withName("Quality"),
            C_SHORT.withName("FileFormat"),
            MemoryLayout.ofPaddingBits(16)
        ).withName("sony"),
        MemoryLayout.ofStruct(
            C_SHORT.withName("BlackLevelTop"),
            C_SHORT.withName("BlackLevelBottom"),
            C_SHORT.withName("offset_left"),
            C_SHORT.withName("offset_top"),
            C_SHORT.withName("clipBlack"),
            C_SHORT.withName("clipWhite"),
            MemoryLayout.ofSequence(3, MemoryLayout.ofSequence(3, C_FLOAT)).withName("romm_camDaylight"),
            MemoryLayout.ofSequence(3, MemoryLayout.ofSequence(3, C_FLOAT)).withName("romm_camTungsten"),
            MemoryLayout.ofSequence(3, MemoryLayout.ofSequence(3, C_FLOAT)).withName("romm_camFluorescent"),
            MemoryLayout.ofSequence(3, MemoryLayout.ofSequence(3, C_FLOAT)).withName("romm_camFlash"),
            MemoryLayout.ofSequence(3, MemoryLayout.ofSequence(3, C_FLOAT)).withName("romm_camCustom"),
            MemoryLayout.ofSequence(3, MemoryLayout.ofSequence(3, C_FLOAT)).withName("romm_camAuto"),
            C_SHORT.withName("val018percent"),
            C_SHORT.withName("val100percent"),
            C_SHORT.withName("val170percent"),
            C_SHORT.withName("MakerNoteKodak8a"),
            C_FLOAT.withName("ISOCalibrationGain"),
            C_FLOAT.withName("AnalogISO")
        ).withName("kodak"),
        MemoryLayout.ofStruct(
            C_SHORT.withName("Compression"),
            C_SHORT.withName("BlackLevelDim"),
            MemoryLayout.ofSequence(8, C_FLOAT).withName("BlackLevel"),
            C_INT.withName("Multishot"),
            C_FLOAT.withName("gamma"),
            MemoryLayout.ofSequence(3, C_INT).withName("HighISOMultiplier")
        ).withName("panasonic"),
        MemoryLayout.ofStruct(
            C_SHORT.withName("FocusMode"),
            C_SHORT.withName("AFPointSelected"),
            C_INT.withName("AFPointsInFocus"),
            C_SHORT.withName("FocusPosition"),
            MemoryLayout.ofSequence(4, C_CHAR).withName("DriveMode"),
            C_SHORT.withName("AFAdjustment"),
            C_CHAR.withName("MultiExposure"),
            MemoryLayout.ofPaddingBits(8),
            C_SHORT.withName("Quality")
        ).withName("pentax"),
        MemoryLayout.ofStruct(
            MemoryLayout.ofSequence(64, C_CHAR).withName("Software"),
            MemoryLayout.ofSequence(64, C_CHAR).withName("SystemType"),
            MemoryLayout.ofSequence(256, C_CHAR).withName("FirmwareString"),
            MemoryLayout.ofSequence(64, C_CHAR).withName("SystemModel")
        ).withName("phaseone"),
        MemoryLayout.ofStruct(
            MemoryLayout.ofSequence(4, C_INT).withName("ImageSizeFull"),
            MemoryLayout.ofSequence(4, C_INT).withName("ImageSizeCrop"),
            MemoryLayout.ofSequence(2, C_INT).withName("ColorSpace"),
            MemoryLayout.ofSequence(11, C_INT).withName("key"),
            MemoryLayout.ofPaddingBits(32),
            C_DOUBLE.withName("DigitalGain"),
            C_INT.withName("DeviceType"),
            MemoryLayout.ofSequence(32, C_CHAR).withName("LensFirmware"),
            MemoryLayout.ofPaddingBits(32)
        ).withName("samsung"),
        MemoryLayout.ofStruct(
            C_FLOAT.withName("FlashEC"),
            C_FLOAT.withName("FlashGN"),
            C_FLOAT.withName("CameraTemperature"),
            C_FLOAT.withName("SensorTemperature"),
            C_FLOAT.withName("SensorTemperature2"),
            C_FLOAT.withName("LensTemperature"),
            C_FLOAT.withName("AmbientTemperature"),
            C_FLOAT.withName("BatteryTemperature"),
            C_FLOAT.withName("exifAmbientTemperature"),
            C_FLOAT.withName("exifHumidity"),
            C_FLOAT.withName("exifPressure"),
            C_FLOAT.withName("exifWaterDepth"),
            C_FLOAT.withName("exifAcceleration"),
            C_FLOAT.withName("exifCameraElevationAngle"),
            C_FLOAT.withName("real_ISO"),
            C_FLOAT.withName("exifExposureIndex"),
            C_SHORT.withName("ColorSpace"),
            MemoryLayout.ofSequence(128, C_CHAR).withName("firmware"),
            MemoryLayout.ofPaddingBits(16)
        ).withName("common"),
        MemoryLayout.ofPaddingBits(32)
    );
    static final jdk.incubator.foreign.MemoryLayout libraw_makernotes_t$struct$LAYOUT() { return libraw_makernotes_t$struct$LAYOUT_; }

    static final MemoryLayout libraw_shootinginfo_t$struct$LAYOUT_ = MemoryLayout.ofStruct(
        C_SHORT.withName("DriveMode"),
        C_SHORT.withName("FocusMode"),
        C_SHORT.withName("MeteringMode"),
        C_SHORT.withName("AFPoint"),
        C_SHORT.withName("ExposureMode"),
        C_SHORT.withName("ExposureProgram"),
        C_SHORT.withName("ImageStabilization"),
        MemoryLayout.ofSequence(64, C_CHAR).withName("BodySerial"),
        MemoryLayout.ofSequence(64, C_CHAR).withName("InternalBodySerial")
    );
    static final jdk.incubator.foreign.MemoryLayout libraw_shootinginfo_t$struct$LAYOUT() { return libraw_shootinginfo_t$struct$LAYOUT_; }

    static final MemoryLayout libraw_shootinginfo_t$DriveMode$LAYOUT_ = C_SHORT;
    static final jdk.incubator.foreign.MemoryLayout libraw_shootinginfo_t$DriveMode$LAYOUT() { return libraw_shootinginfo_t$DriveMode$LAYOUT_; }

    static final VarHandle libraw_shootinginfo_t$DriveMode$VH_ = libraw_shootinginfo_t$struct$LAYOUT_.varHandle(short.class, MemoryLayout.PathElement.groupElement("DriveMode"));
    static final java.lang.invoke.VarHandle libraw_shootinginfo_t$DriveMode$VH() { return libraw_shootinginfo_t$DriveMode$VH_; }

    static final MemoryLayout libraw_shootinginfo_t$FocusMode$LAYOUT_ = C_SHORT;
    static final jdk.incubator.foreign.MemoryLayout libraw_shootinginfo_t$FocusMode$LAYOUT() { return libraw_shootinginfo_t$FocusMode$LAYOUT_; }

    static final VarHandle libraw_shootinginfo_t$FocusMode$VH_ = libraw_shootinginfo_t$struct$LAYOUT_.varHandle(short.class, MemoryLayout.PathElement.groupElement("FocusMode"));
    static final java.lang.invoke.VarHandle libraw_shootinginfo_t$FocusMode$VH() { return libraw_shootinginfo_t$FocusMode$VH_; }

    static final MemoryLayout libraw_shootinginfo_t$MeteringMode$LAYOUT_ = C_SHORT;
    static final jdk.incubator.foreign.MemoryLayout libraw_shootinginfo_t$MeteringMode$LAYOUT() { return libraw_shootinginfo_t$MeteringMode$LAYOUT_; }

    static final VarHandle libraw_shootinginfo_t$MeteringMode$VH_ = libraw_shootinginfo_t$struct$LAYOUT_.varHandle(short.class, MemoryLayout.PathElement.groupElement("MeteringMode"));
    static final java.lang.invoke.VarHandle libraw_shootinginfo_t$MeteringMode$VH() { return libraw_shootinginfo_t$MeteringMode$VH_; }

    static final MemoryLayout libraw_shootinginfo_t$AFPoint$LAYOUT_ = C_SHORT;
    static final jdk.incubator.foreign.MemoryLayout libraw_shootinginfo_t$AFPoint$LAYOUT() { return libraw_shootinginfo_t$AFPoint$LAYOUT_; }

    static final VarHandle libraw_shootinginfo_t$AFPoint$VH_ = libraw_shootinginfo_t$struct$LAYOUT_.varHandle(short.class, MemoryLayout.PathElement.groupElement("AFPoint"));
    static final java.lang.invoke.VarHandle libraw_shootinginfo_t$AFPoint$VH() { return libraw_shootinginfo_t$AFPoint$VH_; }

    static final MemoryLayout libraw_shootinginfo_t$ExposureMode$LAYOUT_ = C_SHORT;
    static final jdk.incubator.foreign.MemoryLayout libraw_shootinginfo_t$ExposureMode$LAYOUT() { return libraw_shootinginfo_t$ExposureMode$LAYOUT_; }

    static final VarHandle libraw_shootinginfo_t$ExposureMode$VH_ = libraw_shootinginfo_t$struct$LAYOUT_.varHandle(short.class, MemoryLayout.PathElement.groupElement("ExposureMode"));
    static final java.lang.invoke.VarHandle libraw_shootinginfo_t$ExposureMode$VH() { return libraw_shootinginfo_t$ExposureMode$VH_; }

    static final MemoryLayout libraw_shootinginfo_t$ExposureProgram$LAYOUT_ = C_SHORT;
    static final jdk.incubator.foreign.MemoryLayout libraw_shootinginfo_t$ExposureProgram$LAYOUT() { return libraw_shootinginfo_t$ExposureProgram$LAYOUT_; }

    static final VarHandle libraw_shootinginfo_t$ExposureProgram$VH_ = libraw_shootinginfo_t$struct$LAYOUT_.varHandle(short.class, MemoryLayout.PathElement.groupElement("ExposureProgram"));
    static final java.lang.invoke.VarHandle libraw_shootinginfo_t$ExposureProgram$VH() { return libraw_shootinginfo_t$ExposureProgram$VH_; }

    static final MemoryLayout libraw_shootinginfo_t$ImageStabilization$LAYOUT_ = C_SHORT;
    static final jdk.incubator.foreign.MemoryLayout libraw_shootinginfo_t$ImageStabilization$LAYOUT() { return libraw_shootinginfo_t$ImageStabilization$LAYOUT_; }

    static final VarHandle libraw_shootinginfo_t$ImageStabilization$VH_ = libraw_shootinginfo_t$struct$LAYOUT_.varHandle(short.class, MemoryLayout.PathElement.groupElement("ImageStabilization"));
    static final java.lang.invoke.VarHandle libraw_shootinginfo_t$ImageStabilization$VH() { return libraw_shootinginfo_t$ImageStabilization$VH_; }

    static final MemoryLayout libraw_custom_camera_t$struct$LAYOUT_ = MemoryLayout.ofStruct(
        C_INT.withName("fsize"),
        C_SHORT.withName("rw"),
        C_SHORT.withName("rh"),
        C_CHAR.withName("lm"),
        C_CHAR.withName("tm"),
        C_CHAR.withName("rm"),
        C_CHAR.withName("bm"),
        C_SHORT.withName("lf"),
        C_CHAR.withName("cf"),
        C_CHAR.withName("max"),
        C_CHAR.withName("flags"),
        MemoryLayout.ofSequence(10, C_CHAR).withName("t_make"),
        MemoryLayout.ofSequence(20, C_CHAR).withName("t_model"),
        MemoryLayout.ofPaddingBits(8),
        C_SHORT.withName("offset"),
        MemoryLayout.ofPaddingBits(16)
    );
    static final jdk.incubator.foreign.MemoryLayout libraw_custom_camera_t$struct$LAYOUT() { return libraw_custom_camera_t$struct$LAYOUT_; }

    static final MemoryLayout libraw_custom_camera_t$fsize$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout libraw_custom_camera_t$fsize$LAYOUT() { return libraw_custom_camera_t$fsize$LAYOUT_; }

    static final VarHandle libraw_custom_camera_t$fsize$VH_ = libraw_custom_camera_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("fsize"));
    static final java.lang.invoke.VarHandle libraw_custom_camera_t$fsize$VH() { return libraw_custom_camera_t$fsize$VH_; }

    static final MemoryLayout libraw_custom_camera_t$rw$LAYOUT_ = C_SHORT;
    static final jdk.incubator.foreign.MemoryLayout libraw_custom_camera_t$rw$LAYOUT() { return libraw_custom_camera_t$rw$LAYOUT_; }

    static final VarHandle libraw_custom_camera_t$rw$VH_ = libraw_custom_camera_t$struct$LAYOUT_.varHandle(short.class, MemoryLayout.PathElement.groupElement("rw"));
    static final java.lang.invoke.VarHandle libraw_custom_camera_t$rw$VH() { return libraw_custom_camera_t$rw$VH_; }

    static final MemoryLayout libraw_custom_camera_t$rh$LAYOUT_ = C_SHORT;
    static final jdk.incubator.foreign.MemoryLayout libraw_custom_camera_t$rh$LAYOUT() { return libraw_custom_camera_t$rh$LAYOUT_; }

    static final VarHandle libraw_custom_camera_t$rh$VH_ = libraw_custom_camera_t$struct$LAYOUT_.varHandle(short.class, MemoryLayout.PathElement.groupElement("rh"));
    static final java.lang.invoke.VarHandle libraw_custom_camera_t$rh$VH() { return libraw_custom_camera_t$rh$VH_; }

    static final MemoryLayout libraw_custom_camera_t$lm$LAYOUT_ = C_CHAR;
    static final jdk.incubator.foreign.MemoryLayout libraw_custom_camera_t$lm$LAYOUT() { return libraw_custom_camera_t$lm$LAYOUT_; }

    static final VarHandle libraw_custom_camera_t$lm$VH_ = libraw_custom_camera_t$struct$LAYOUT_.varHandle(byte.class, MemoryLayout.PathElement.groupElement("lm"));
    static final java.lang.invoke.VarHandle libraw_custom_camera_t$lm$VH() { return libraw_custom_camera_t$lm$VH_; }

    static final MemoryLayout libraw_custom_camera_t$tm$LAYOUT_ = C_CHAR;
    static final jdk.incubator.foreign.MemoryLayout libraw_custom_camera_t$tm$LAYOUT() { return libraw_custom_camera_t$tm$LAYOUT_; }

    static final VarHandle libraw_custom_camera_t$tm$VH_ = libraw_custom_camera_t$struct$LAYOUT_.varHandle(byte.class, MemoryLayout.PathElement.groupElement("tm"));
    static final java.lang.invoke.VarHandle libraw_custom_camera_t$tm$VH() { return libraw_custom_camera_t$tm$VH_; }

    static final MemoryLayout libraw_custom_camera_t$rm$LAYOUT_ = C_CHAR;
    static final jdk.incubator.foreign.MemoryLayout libraw_custom_camera_t$rm$LAYOUT() { return libraw_custom_camera_t$rm$LAYOUT_; }

    static final VarHandle libraw_custom_camera_t$rm$VH_ = libraw_custom_camera_t$struct$LAYOUT_.varHandle(byte.class, MemoryLayout.PathElement.groupElement("rm"));
    static final java.lang.invoke.VarHandle libraw_custom_camera_t$rm$VH() { return libraw_custom_camera_t$rm$VH_; }

    static final MemoryLayout libraw_custom_camera_t$bm$LAYOUT_ = C_CHAR;
    static final jdk.incubator.foreign.MemoryLayout libraw_custom_camera_t$bm$LAYOUT() { return libraw_custom_camera_t$bm$LAYOUT_; }

    static final VarHandle libraw_custom_camera_t$bm$VH_ = libraw_custom_camera_t$struct$LAYOUT_.varHandle(byte.class, MemoryLayout.PathElement.groupElement("bm"));
    static final java.lang.invoke.VarHandle libraw_custom_camera_t$bm$VH() { return libraw_custom_camera_t$bm$VH_; }

    static final MemoryLayout libraw_custom_camera_t$lf$LAYOUT_ = C_SHORT;
    static final jdk.incubator.foreign.MemoryLayout libraw_custom_camera_t$lf$LAYOUT() { return libraw_custom_camera_t$lf$LAYOUT_; }

    static final VarHandle libraw_custom_camera_t$lf$VH_ = libraw_custom_camera_t$struct$LAYOUT_.varHandle(short.class, MemoryLayout.PathElement.groupElement("lf"));
    static final java.lang.invoke.VarHandle libraw_custom_camera_t$lf$VH() { return libraw_custom_camera_t$lf$VH_; }

    static final MemoryLayout libraw_custom_camera_t$cf$LAYOUT_ = C_CHAR;
    static final jdk.incubator.foreign.MemoryLayout libraw_custom_camera_t$cf$LAYOUT() { return libraw_custom_camera_t$cf$LAYOUT_; }

    static final VarHandle libraw_custom_camera_t$cf$VH_ = libraw_custom_camera_t$struct$LAYOUT_.varHandle(byte.class, MemoryLayout.PathElement.groupElement("cf"));
    static final java.lang.invoke.VarHandle libraw_custom_camera_t$cf$VH() { return libraw_custom_camera_t$cf$VH_; }

    static final MemoryLayout libraw_custom_camera_t$max$LAYOUT_ = C_CHAR;
    static final jdk.incubator.foreign.MemoryLayout libraw_custom_camera_t$max$LAYOUT() { return libraw_custom_camera_t$max$LAYOUT_; }

    static final VarHandle libraw_custom_camera_t$max$VH_ = libraw_custom_camera_t$struct$LAYOUT_.varHandle(byte.class, MemoryLayout.PathElement.groupElement("max"));
    static final java.lang.invoke.VarHandle libraw_custom_camera_t$max$VH() { return libraw_custom_camera_t$max$VH_; }

    static final MemoryLayout libraw_custom_camera_t$flags$LAYOUT_ = C_CHAR;
    static final jdk.incubator.foreign.MemoryLayout libraw_custom_camera_t$flags$LAYOUT() { return libraw_custom_camera_t$flags$LAYOUT_; }

    static final VarHandle libraw_custom_camera_t$flags$VH_ = libraw_custom_camera_t$struct$LAYOUT_.varHandle(byte.class, MemoryLayout.PathElement.groupElement("flags"));
    static final java.lang.invoke.VarHandle libraw_custom_camera_t$flags$VH() { return libraw_custom_camera_t$flags$VH_; }

    static final MemoryLayout libraw_custom_camera_t$offset$LAYOUT_ = C_SHORT;
    static final jdk.incubator.foreign.MemoryLayout libraw_custom_camera_t$offset$LAYOUT() { return libraw_custom_camera_t$offset$LAYOUT_; }

    static final VarHandle libraw_custom_camera_t$offset$VH_ = libraw_custom_camera_t$struct$LAYOUT_.varHandle(short.class, MemoryLayout.PathElement.groupElement("offset"));
    static final java.lang.invoke.VarHandle libraw_custom_camera_t$offset$VH() { return libraw_custom_camera_t$offset$VH_; }

    static final MemoryLayout libraw_data_t$struct$LAYOUT_ = MemoryLayout.ofStruct(
        C_POINTER.withName("image"),
        MemoryLayout.ofStruct(
            C_SHORT.withName("raw_height"),
            C_SHORT.withName("raw_width"),
            C_SHORT.withName("height"),
            C_SHORT.withName("width"),
            C_SHORT.withName("top_margin"),
            C_SHORT.withName("left_margin"),
            C_SHORT.withName("iheight"),
            C_SHORT.withName("iwidth"),
            C_INT.withName("raw_pitch"),
            MemoryLayout.ofPaddingBits(32),
            C_DOUBLE.withName("pixel_aspect"),
            C_INT.withName("flip"),
            MemoryLayout.ofSequence(8, MemoryLayout.ofSequence(4, C_INT)).withName("mask"),
            MemoryLayout.ofStruct(
                C_SHORT.withName("cleft"),
                C_SHORT.withName("ctop"),
                C_SHORT.withName("cwidth"),
                C_SHORT.withName("cheight"),
                C_SHORT.withName("aspect")
            ).withName("raw_inset_crop"),
            MemoryLayout.ofPaddingBits(16)
        ).withName("sizes"),
        MemoryLayout.ofStruct(
            MemoryLayout.ofSequence(4, C_CHAR).withName("guard"),
            MemoryLayout.ofSequence(64, C_CHAR).withName("make"),
            MemoryLayout.ofSequence(64, C_CHAR).withName("model"),
            MemoryLayout.ofSequence(64, C_CHAR).withName("software"),
            MemoryLayout.ofSequence(64, C_CHAR).withName("normalized_make"),
            MemoryLayout.ofSequence(64, C_CHAR).withName("normalized_model"),
            C_INT.withName("maker_index"),
            C_INT.withName("raw_count"),
            C_INT.withName("dng_version"),
            C_INT.withName("is_foveon"),
            C_INT.withName("colors"),
            C_INT.withName("filters"),
            MemoryLayout.ofSequence(6, MemoryLayout.ofSequence(6, C_CHAR)).withName("xtrans"),
            MemoryLayout.ofSequence(6, MemoryLayout.ofSequence(6, C_CHAR)).withName("xtrans_abs"),
            MemoryLayout.ofSequence(5, C_CHAR).withName("cdesc"),
            MemoryLayout.ofPaddingBits(24),
            C_INT.withName("xmplen"),
            C_POINTER.withName("xmpdata")
        ).withName("idata"),
        MemoryLayout.ofStruct(
            C_FLOAT.withName("MinFocal"),
            C_FLOAT.withName("MaxFocal"),
            C_FLOAT.withName("MaxAp4MinFocal"),
            C_FLOAT.withName("MaxAp4MaxFocal"),
            C_FLOAT.withName("EXIF_MaxAp"),
            MemoryLayout.ofSequence(128, C_CHAR).withName("LensMake"),
            MemoryLayout.ofSequence(128, C_CHAR).withName("Lens"),
            MemoryLayout.ofSequence(128, C_CHAR).withName("LensSerial"),
            MemoryLayout.ofSequence(128, C_CHAR).withName("InternalLensSerial"),
            C_SHORT.withName("FocalLengthIn35mmFormat"),
            MemoryLayout.ofPaddingBits(16),
            MemoryLayout.ofStruct(
                C_FLOAT.withName("EffectiveMaxAp"),
                C_CHAR.withName("LensIDNumber"),
                C_CHAR.withName("LensFStops"),
                C_CHAR.withName("MCUVersion"),
                C_CHAR.withName("LensType")
            ).withName("nikon"),
            MemoryLayout.ofStruct(
                C_FLOAT.withName("MinFocal"),
                C_FLOAT.withName("MaxFocal"),
                C_FLOAT.withName("MaxAp4MinFocal"),
                C_FLOAT.withName("MaxAp4MaxFocal")
            ).withName("dng"),
            MemoryLayout.ofStruct(
                C_LONG_LONG.withName("LensID"),
                MemoryLayout.ofSequence(128, C_CHAR).withName("Lens"),
                C_SHORT.withName("LensFormat"),
                C_SHORT.withName("LensMount"),
                MemoryLayout.ofPaddingBits(32),
                C_LONG_LONG.withName("CamID"),
                C_SHORT.withName("CameraFormat"),
                C_SHORT.withName("CameraMount"),
                MemoryLayout.ofSequence(64, C_CHAR).withName("body"),
                C_SHORT.withName("FocalType"),
                MemoryLayout.ofSequence(16, C_CHAR).withName("LensFeatures_pre"),
                MemoryLayout.ofSequence(16, C_CHAR).withName("LensFeatures_suf"),
                MemoryLayout.ofPaddingBits(16),
                C_FLOAT.withName("MinFocal"),
                C_FLOAT.withName("MaxFocal"),
                C_FLOAT.withName("MaxAp4MinFocal"),
                C_FLOAT.withName("MaxAp4MaxFocal"),
                C_FLOAT.withName("MinAp4MinFocal"),
                C_FLOAT.withName("MinAp4MaxFocal"),
                C_FLOAT.withName("MaxAp"),
                C_FLOAT.withName("MinAp"),
                C_FLOAT.withName("CurFocal"),
                C_FLOAT.withName("CurAp"),
                C_FLOAT.withName("MaxAp4CurFocal"),
                C_FLOAT.withName("MinAp4CurFocal"),
                C_FLOAT.withName("MinFocusDistance"),
                C_FLOAT.withName("FocusRangeIndex"),
                C_FLOAT.withName("LensFStops"),
                MemoryLayout.ofPaddingBits(32),
                C_LONG_LONG.withName("TeleconverterID"),
                MemoryLayout.ofSequence(128, C_CHAR).withName("Teleconverter"),
                C_LONG_LONG.withName("AdapterID"),
                MemoryLayout.ofSequence(128, C_CHAR).withName("Adapter"),
                C_LONG_LONG.withName("AttachmentID"),
                MemoryLayout.ofSequence(128, C_CHAR).withName("Attachment"),
                C_SHORT.withName("FocalUnits"),
                MemoryLayout.ofPaddingBits(16),
                C_FLOAT.withName("FocalLengthIn35mmFormat")
            ).withName("makernotes")
        ).withName("lens"),
        MemoryLayout.ofStruct(
            MemoryLayout.ofStruct(
                C_INT.withName("ColorDataVer"),
                C_INT.withName("ColorDataSubVer"),
                C_INT.withName("SpecularWhiteLevel"),
                C_INT.withName("NormalWhiteLevel"),
                MemoryLayout.ofSequence(4, C_INT).withName("ChannelBlackLevel"),
                C_INT.withName("AverageBlackLevel"),
                MemoryLayout.ofSequence(4, C_INT).withName("multishot"),
                C_SHORT.withName("MeteringMode"),
                C_SHORT.withName("SpotMeteringMode"),
                C_CHAR.withName("FlashMeteringMode"),
                MemoryLayout.ofPaddingBits(8),
                C_SHORT.withName("FlashExposureLock"),
                C_SHORT.withName("ExposureMode"),
                C_SHORT.withName("AESetting"),
                C_CHAR.withName("HighlightTonePriority"),
                MemoryLayout.ofPaddingBits(8),
                C_SHORT.withName("ImageStabilization"),
                C_SHORT.withName("FocusMode"),
                C_SHORT.withName("AFPoint"),
                C_SHORT.withName("FocusContinuous"),
                C_SHORT.withName("AFPointsInFocus30D"),
                MemoryLayout.ofSequence(8, C_CHAR).withName("AFPointsInFocus1D"),
                C_SHORT.withName("AFPointsInFocus5D"),
                C_SHORT.withName("AFAreaMode"),
                C_SHORT.withName("NumAFPoints"),
                C_SHORT.withName("ValidAFPoints"),
                C_SHORT.withName("AFImageWidth"),
                C_SHORT.withName("AFImageHeight"),
                MemoryLayout.ofSequence(61, C_SHORT).withName("AFAreaWidths"),
                MemoryLayout.ofSequence(61, C_SHORT).withName("AFAreaHeights"),
                MemoryLayout.ofSequence(61, C_SHORT).withName("AFAreaXPositions"),
                MemoryLayout.ofSequence(61, C_SHORT).withName("AFAreaYPositions"),
                MemoryLayout.ofSequence(4, C_SHORT).withName("AFPointsInFocus"),
                MemoryLayout.ofSequence(4, C_SHORT).withName("AFPointsSelected"),
                C_SHORT.withName("PrimaryAFPoint"),
                C_SHORT.withName("FlashMode"),
                C_SHORT.withName("FlashActivity"),
                C_SHORT.withName("FlashBits"),
                C_SHORT.withName("ManualFlashOutput"),
                C_SHORT.withName("FlashOutput"),
                C_SHORT.withName("FlashGuideNumber"),
                C_SHORT.withName("ContinuousDrive"),
                C_SHORT.withName("SensorWidth"),
                C_SHORT.withName("SensorHeight"),
                C_SHORT.withName("SensorLeftBorder"),
                C_SHORT.withName("SensorTopBorder"),
                C_SHORT.withName("SensorRightBorder"),
                C_SHORT.withName("SensorBottomBorder"),
                C_SHORT.withName("BlackMaskLeftBorder"),
                C_SHORT.withName("BlackMaskTopBorder"),
                C_SHORT.withName("BlackMaskRightBorder"),
                C_SHORT.withName("BlackMaskBottomBorder"),
                C_INT.withName("AFMicroAdjMode"),
                C_FLOAT.withName("AFMicroAdjValue"),
                C_SHORT.withName("MakernotesFlip"),
                C_SHORT.withName("RecordMode"),
                C_SHORT.withName("SRAWQuality"),
                MemoryLayout.ofPaddingBits(16),
                C_INT.withName("wbi"),
                C_FLOAT.withName("firmware"),
                C_SHORT.withName("RF_lensID"),
                MemoryLayout.ofPaddingBits(16)
            ).withName("canon"),
            MemoryLayout.ofStruct(
                C_DOUBLE.withName("ExposureBracketValue"),
                C_SHORT.withName("ActiveDLighting"),
                C_SHORT.withName("ShootingMode"),
                MemoryLayout.ofSequence(7, C_CHAR).withName("ImageStabilization"),
                C_CHAR.withName("VibrationReduction"),
                C_CHAR.withName("VRMode"),
                MemoryLayout.ofSequence(7, C_CHAR).withName("FocusMode"),
                C_CHAR.withName("AFPoint"),
                MemoryLayout.ofPaddingBits(8),
                C_SHORT.withName("AFPointsInFocus"),
                C_CHAR.withName("ContrastDetectAF"),
                C_CHAR.withName("AFAreaMode"),
                C_CHAR.withName("PhaseDetectAF"),
                C_CHAR.withName("PrimaryAFPoint"),
                MemoryLayout.ofSequence(29, C_CHAR).withName("AFPointsUsed"),
                MemoryLayout.ofPaddingBits(8),
                C_SHORT.withName("AFImageWidth"),
                C_SHORT.withName("AFImageHeight"),
                C_SHORT.withName("AFAreaXPposition"),
                C_SHORT.withName("AFAreaYPosition"),
                C_SHORT.withName("AFAreaWidth"),
                C_SHORT.withName("AFAreaHeight"),
                C_CHAR.withName("ContrastDetectAFInFocus"),
                MemoryLayout.ofSequence(13, C_CHAR).withName("FlashSetting"),
                MemoryLayout.ofSequence(20, C_CHAR).withName("FlashType"),
                MemoryLayout.ofSequence(4, C_CHAR).withName("FlashExposureCompensation"),
                MemoryLayout.ofSequence(4, C_CHAR).withName("ExternalFlashExposureComp"),
                MemoryLayout.ofSequence(4, C_CHAR).withName("FlashExposureBracketValue"),
                C_CHAR.withName("FlashMode"),
                C_CHAR.withName("FlashExposureCompensation2"),
                C_CHAR.withName("FlashExposureCompensation3"),
                C_CHAR.withName("FlashExposureCompensation4"),
                C_CHAR.withName("FlashSource"),
                MemoryLayout.ofSequence(2, C_CHAR).withName("FlashFirmware"),
                C_CHAR.withName("ExternalFlashFlags"),
                C_CHAR.withName("FlashControlCommanderMode"),
                C_CHAR.withName("FlashOutputAndCompensation"),
                C_CHAR.withName("FlashFocalLength"),
                C_CHAR.withName("FlashGNDistance"),
                MemoryLayout.ofSequence(4, C_CHAR).withName("FlashGroupControlMode"),
                MemoryLayout.ofSequence(4, C_CHAR).withName("FlashGroupOutputAndCompensation"),
                C_CHAR.withName("FlashColorFilter"),
                MemoryLayout.ofPaddingBits(8),
                C_SHORT.withName("NEFCompression"),
                C_INT.withName("ExposureMode"),
                C_INT.withName("ExposureProgram"),
                C_INT.withName("nMEshots"),
                C_INT.withName("MEgainOn"),
                MemoryLayout.ofPaddingBits(32),
                MemoryLayout.ofSequence(4, C_DOUBLE).withName("ME_WB"),
                C_CHAR.withName("AFFineTune"),
                C_CHAR.withName("AFFineTuneIndex"),
                C_CHAR.withName("AFFineTuneAdj"),
                MemoryLayout.ofPaddingBits(8),
                C_INT.withName("LensDataVersion"),
                C_INT.withName("FlashInfoVersion"),
                C_INT.withName("ColorBalanceVersion"),
                C_CHAR.withName("key"),
                MemoryLayout.ofPaddingBits(8),
                MemoryLayout.ofSequence(4, C_SHORT).withName("NEFBitDepth"),
                C_SHORT.withName("HighSpeedCropFormat"),
                MemoryLayout.ofStruct(
                    C_SHORT.withName("cleft"),
                    C_SHORT.withName("ctop"),
                    C_SHORT.withName("cwidth"),
                    C_SHORT.withName("cheight")
                ).withName("SensorHighSpeedCrop"),
                C_SHORT.withName("SensorWidth"),
                C_SHORT.withName("SensorHeight")
            ).withName("nikon"),
            MemoryLayout.ofStruct(
                C_INT.withName("BaseISO"),
                MemoryLayout.ofPaddingBits(32),
                C_DOUBLE.withName("Gain"),
                MemoryLayout.ofSequence(8, C_CHAR).withName("Sensor"),
                MemoryLayout.ofSequence(64, C_CHAR).withName("SensorUnit"),
                MemoryLayout.ofSequence(64, C_CHAR).withName("HostBody"),
                C_INT.withName("SensorCode"),
                C_INT.withName("SensorSubCode"),
                C_INT.withName("CoatingCode"),
                C_INT.withName("uncropped"),
                MemoryLayout.ofSequence(32, C_CHAR).withName("CaptureSequenceInitiator"),
                MemoryLayout.ofSequence(64, C_CHAR).withName("SensorUnitConnector"),
                C_INT.withName("format"),
                MemoryLayout.ofSequence(2, C_INT).withName("nIFD_CM"),
                MemoryLayout.ofSequence(2, C_INT).withName("RecommendedCrop"),
                MemoryLayout.ofPaddingBits(32),
                MemoryLayout.ofSequence(4, MemoryLayout.ofSequence(3, C_DOUBLE)).withName("mnColorMatrix")
            ).withName("hasselblad"),
            MemoryLayout.ofStruct(
                C_FLOAT.withName("ExpoMidPointShift"),
                C_SHORT.withName("DynamicRange"),
                C_SHORT.withName("FilmMode"),
                C_SHORT.withName("DynamicRangeSetting"),
                C_SHORT.withName("DevelopmentDynamicRange"),
                C_SHORT.withName("AutoDynamicRange"),
                C_SHORT.withName("DRangePriority"),
                C_SHORT.withName("DRangePriorityAuto"),
                C_SHORT.withName("DRangePriorityFixed"),
                C_FLOAT.withName("BrightnessCompensation"),
                C_SHORT.withName("FocusMode"),
                C_SHORT.withName("AFMode"),
                MemoryLayout.ofSequence(2, C_SHORT).withName("FocusPixel"),
                MemoryLayout.ofSequence(3, C_SHORT).withName("ImageStabilization"),
                C_SHORT.withName("FlashMode"),
                C_SHORT.withName("WB_Preset"),
                C_SHORT.withName("ShutterType"),
                C_SHORT.withName("ExrMode"),
                C_SHORT.withName("Macro"),
                C_INT.withName("Rating"),
                C_SHORT.withName("CropMode"),
                C_SHORT.withName("FrameRate"),
                C_SHORT.withName("FrameWidth"),
                C_SHORT.withName("FrameHeight"),
                MemoryLayout.ofSequence(13, C_CHAR).withName("SerialSignature"),
                MemoryLayout.ofSequence(5, C_CHAR).withName("RAFVersion"),
                C_SHORT.withName("RAFDataVersion"),
                C_INT.withName("isTSNERDTS"),
                C_SHORT.withName("DriveMode"),
                MemoryLayout.ofPaddingBits(16)
            ).withName("fuji"),
            MemoryLayout.ofStruct(
                MemoryLayout.ofSequence(2, C_INT).withName("SensorCalibration"),
                MemoryLayout.ofSequence(2, C_SHORT).withName("FocusMode"),
                C_SHORT.withName("AutoFocus"),
                C_SHORT.withName("AFPoint"),
                MemoryLayout.ofSequence(64, C_INT).withName("AFAreas"),
                MemoryLayout.ofSequence(5, C_DOUBLE).withName("AFPointSelected"),
                C_SHORT.withName("AFResult"),
                MemoryLayout.ofSequence(5, C_SHORT).withName("DriveMode"),
                C_SHORT.withName("ColorSpace"),
                C_CHAR.withName("AFFineTune"),
                MemoryLayout.ofPaddingBits(8),
                MemoryLayout.ofSequence(3, C_SHORT).withName("AFFineTuneAdj"),
                MemoryLayout.ofSequence(6, C_CHAR).withName("CameraType2"),
                MemoryLayout.ofPaddingBits(32)
            ).withName("olympus"),
            MemoryLayout.ofStruct(
                C_SHORT.withName("CameraType"),
                C_CHAR.withName("Sony0x9400_version"),
                C_CHAR.withName("Sony0x9400_ReleaseMode2"),
                C_INT.withName("Sony0x9400_SequenceImageNumber"),
                C_CHAR.withName("Sony0x9400_SequenceLength1"),
                MemoryLayout.ofPaddingBits(24),
                C_INT.withName("Sony0x9400_SequenceFileNumber"),
                C_CHAR.withName("Sony0x9400_SequenceLength2"),
                C_CHAR.withName("AFAreaModeSetting"),
                MemoryLayout.ofSequence(2, C_SHORT).withName("FlexibleSpotPosition"),
                C_CHAR.withName("AFPointSelected"),
                MemoryLayout.ofSequence(10, C_CHAR).withName("AFPointsUsed"),
                C_CHAR.withName("AFTracking"),
                C_CHAR.withName("AFType"),
                MemoryLayout.ofPaddingBits(8),
                MemoryLayout.ofSequence(4, C_SHORT).withName("FocusLocation"),
                C_CHAR.withName("AFMicroAdjValue"),
                C_CHAR.withName("AFMicroAdjOn"),
                C_CHAR.withName("AFMicroAdjRegisteredLenses"),
                MemoryLayout.ofPaddingBits(8),
                C_SHORT.withName("VariableLowPassFilter"),
                MemoryLayout.ofPaddingBits(16),
                C_INT.withName("LongExposureNoiseReduction"),
                C_SHORT.withName("HighISONoiseReduction"),
                MemoryLayout.ofSequence(2, C_SHORT).withName("HDR"),
                C_SHORT.withName("group2010"),
                C_SHORT.withName("real_iso_offset"),
                C_SHORT.withName("MeteringMode_offset"),
                C_SHORT.withName("ExposureProgram_offset"),
                C_SHORT.withName("ReleaseMode2_offset"),
                C_INT.withName("MinoltaCamID"),
                C_FLOAT.withName("firmware"),
                C_SHORT.withName("ImageCount3_offset"),
                MemoryLayout.ofPaddingBits(16),
                C_INT.withName("ImageCount3"),
                C_INT.withName("ElectronicFrontCurtainShutter"),
                C_SHORT.withName("MeteringMode2"),
                MemoryLayout.ofSequence(20, C_CHAR).withName("SonyDateTime"),
                MemoryLayout.ofPaddingBits(16),
                C_INT.withName("ShotNumberSincePowerUp"),
                C_SHORT.withName("PixelShiftGroupPrefix"),
                MemoryLayout.ofPaddingBits(16),
                C_INT.withName("PixelShiftGroupID"),
                C_CHAR.withName("nShotsInPixelShiftGroup"),
                C_CHAR.withName("numInPixelShiftGroup"),
                C_SHORT.withName("prd_ImageHeight"),
                C_SHORT.withName("prd_ImageWidth"),
                C_SHORT.withName("prd_RawBitDepth"),
                C_SHORT.withName("prd_StorageMethod"),
                C_SHORT.withName("prd_BayerPattern"),
                C_SHORT.withName("SonyRawFileType"),
                C_SHORT.withName("RAWFileType"),
                C_INT.withName("Quality"),
                C_SHORT.withName("FileFormat"),
                MemoryLayout.ofPaddingBits(16)
            ).withName("sony"),
            MemoryLayout.ofStruct(
                C_SHORT.withName("BlackLevelTop"),
                C_SHORT.withName("BlackLevelBottom"),
                C_SHORT.withName("offset_left"),
                C_SHORT.withName("offset_top"),
                C_SHORT.withName("clipBlack"),
                C_SHORT.withName("clipWhite"),
                MemoryLayout.ofSequence(3, MemoryLayout.ofSequence(3, C_FLOAT)).withName("romm_camDaylight"),
                MemoryLayout.ofSequence(3, MemoryLayout.ofSequence(3, C_FLOAT)).withName("romm_camTungsten"),
                MemoryLayout.ofSequence(3, MemoryLayout.ofSequence(3, C_FLOAT)).withName("romm_camFluorescent"),
                MemoryLayout.ofSequence(3, MemoryLayout.ofSequence(3, C_FLOAT)).withName("romm_camFlash"),
                MemoryLayout.ofSequence(3, MemoryLayout.ofSequence(3, C_FLOAT)).withName("romm_camCustom"),
                MemoryLayout.ofSequence(3, MemoryLayout.ofSequence(3, C_FLOAT)).withName("romm_camAuto"),
                C_SHORT.withName("val018percent"),
                C_SHORT.withName("val100percent"),
                C_SHORT.withName("val170percent"),
                C_SHORT.withName("MakerNoteKodak8a"),
                C_FLOAT.withName("ISOCalibrationGain"),
                C_FLOAT.withName("AnalogISO")
            ).withName("kodak"),
            MemoryLayout.ofStruct(
                C_SHORT.withName("Compression"),
                C_SHORT.withName("BlackLevelDim"),
                MemoryLayout.ofSequence(8, C_FLOAT).withName("BlackLevel"),
                C_INT.withName("Multishot"),
                C_FLOAT.withName("gamma"),
                MemoryLayout.ofSequence(3, C_INT).withName("HighISOMultiplier")
            ).withName("panasonic"),
            MemoryLayout.ofStruct(
                C_SHORT.withName("FocusMode"),
                C_SHORT.withName("AFPointSelected"),
                C_INT.withName("AFPointsInFocus"),
                C_SHORT.withName("FocusPosition"),
                MemoryLayout.ofSequence(4, C_CHAR).withName("DriveMode"),
                C_SHORT.withName("AFAdjustment"),
                C_CHAR.withName("MultiExposure"),
                MemoryLayout.ofPaddingBits(8),
                C_SHORT.withName("Quality")
            ).withName("pentax"),
            MemoryLayout.ofStruct(
                MemoryLayout.ofSequence(64, C_CHAR).withName("Software"),
                MemoryLayout.ofSequence(64, C_CHAR).withName("SystemType"),
                MemoryLayout.ofSequence(256, C_CHAR).withName("FirmwareString"),
                MemoryLayout.ofSequence(64, C_CHAR).withName("SystemModel")
            ).withName("phaseone"),
            MemoryLayout.ofStruct(
                MemoryLayout.ofSequence(4, C_INT).withName("ImageSizeFull"),
                MemoryLayout.ofSequence(4, C_INT).withName("ImageSizeCrop"),
                MemoryLayout.ofSequence(2, C_INT).withName("ColorSpace"),
                MemoryLayout.ofSequence(11, C_INT).withName("key"),
                MemoryLayout.ofPaddingBits(32),
                C_DOUBLE.withName("DigitalGain"),
                C_INT.withName("DeviceType"),
                MemoryLayout.ofSequence(32, C_CHAR).withName("LensFirmware"),
                MemoryLayout.ofPaddingBits(32)
            ).withName("samsung"),
            MemoryLayout.ofStruct(
                C_FLOAT.withName("FlashEC"),
                C_FLOAT.withName("FlashGN"),
                C_FLOAT.withName("CameraTemperature"),
                C_FLOAT.withName("SensorTemperature"),
                C_FLOAT.withName("SensorTemperature2"),
                C_FLOAT.withName("LensTemperature"),
                C_FLOAT.withName("AmbientTemperature"),
                C_FLOAT.withName("BatteryTemperature"),
                C_FLOAT.withName("exifAmbientTemperature"),
                C_FLOAT.withName("exifHumidity"),
                C_FLOAT.withName("exifPressure"),
                C_FLOAT.withName("exifWaterDepth"),
                C_FLOAT.withName("exifAcceleration"),
                C_FLOAT.withName("exifCameraElevationAngle"),
                C_FLOAT.withName("real_ISO"),
                C_FLOAT.withName("exifExposureIndex"),
                C_SHORT.withName("ColorSpace"),
                MemoryLayout.ofSequence(128, C_CHAR).withName("firmware"),
                MemoryLayout.ofPaddingBits(16)
            ).withName("common"),
            MemoryLayout.ofPaddingBits(32)
        ).withName("makernotes"),
        MemoryLayout.ofStruct(
            C_SHORT.withName("DriveMode"),
            C_SHORT.withName("FocusMode"),
            C_SHORT.withName("MeteringMode"),
            C_SHORT.withName("AFPoint"),
            C_SHORT.withName("ExposureMode"),
            C_SHORT.withName("ExposureProgram"),
            C_SHORT.withName("ImageStabilization"),
            MemoryLayout.ofSequence(64, C_CHAR).withName("BodySerial"),
            MemoryLayout.ofSequence(64, C_CHAR).withName("InternalBodySerial")
        ).withName("shootinginfo"),
        MemoryLayout.ofPaddingBits(16),
        MemoryLayout.ofStruct(
            MemoryLayout.ofSequence(4, C_INT).withName("greybox"),
            MemoryLayout.ofSequence(4, C_INT).withName("cropbox"),
            MemoryLayout.ofSequence(4, C_DOUBLE).withName("aber"),
            MemoryLayout.ofSequence(6, C_DOUBLE).withName("gamm"),
            MemoryLayout.ofSequence(4, C_FLOAT).withName("user_mul"),
            C_INT.withName("shot_select"),
            C_FLOAT.withName("bright"),
            C_FLOAT.withName("threshold"),
            C_INT.withName("half_size"),
            C_INT.withName("four_color_rgb"),
            C_INT.withName("highlight"),
            C_INT.withName("use_auto_wb"),
            C_INT.withName("use_camera_wb"),
            C_INT.withName("use_camera_matrix"),
            C_INT.withName("output_color"),
            C_POINTER.withName("output_profile"),
            C_POINTER.withName("camera_profile"),
            C_POINTER.withName("bad_pixels"),
            C_POINTER.withName("dark_frame"),
            C_INT.withName("output_bps"),
            C_INT.withName("output_tiff"),
            C_INT.withName("user_flip"),
            C_INT.withName("user_qual"),
            C_INT.withName("user_black"),
            MemoryLayout.ofSequence(4, C_INT).withName("user_cblack"),
            C_INT.withName("user_sat"),
            C_INT.withName("med_passes"),
            C_FLOAT.withName("auto_bright_thr"),
            C_FLOAT.withName("adjust_maximum_thr"),
            C_INT.withName("no_auto_bright"),
            C_INT.withName("use_fuji_rotate"),
            C_INT.withName("green_matching"),
            C_INT.withName("dcb_iterations"),
            C_INT.withName("dcb_enhance_fl"),
            C_INT.withName("fbdd_noiserd"),
            C_INT.withName("exp_correc"),
            C_FLOAT.withName("exp_shift"),
            C_FLOAT.withName("exp_preser"),
            C_INT.withName("use_rawspeed"),
            C_INT.withName("use_dngsdk"),
            C_INT.withName("no_auto_scale"),
            C_INT.withName("no_interpolation"),
            C_INT.withName("raw_processing_options"),
            C_INT.withName("max_raw_memory_mb"),
            C_INT.withName("sony_arw2_posterization_thr"),
            C_FLOAT.withName("coolscan_nef_gamma"),
            MemoryLayout.ofSequence(5, C_CHAR).withName("p4shot_order"),
            MemoryLayout.ofPaddingBits(24),
            C_POINTER.withName("custom_camera_strings")
        ).withName("params"),
        C_INT.withName("progress_flags"),
        C_INT.withName("process_warnings"),
        MemoryLayout.ofStruct(
            MemoryLayout.ofSequence(65536, C_SHORT).withName("curve"),
            MemoryLayout.ofSequence(4104, C_INT).withName("cblack"),
            C_INT.withName("black"),
            C_INT.withName("data_maximum"),
            C_INT.withName("maximum"),
            MemoryLayout.ofPaddingBits(32),
            MemoryLayout.ofSequence(4, C_LONG).withName("linear_max"),
            C_FLOAT.withName("fmaximum"),
            C_FLOAT.withName("fnorm"),
            MemoryLayout.ofSequence(8, MemoryLayout.ofSequence(8, C_SHORT)).withName("white"),
            MemoryLayout.ofSequence(4, C_FLOAT).withName("cam_mul"),
            MemoryLayout.ofSequence(4, C_FLOAT).withName("pre_mul"),
            MemoryLayout.ofSequence(3, MemoryLayout.ofSequence(4, C_FLOAT)).withName("cmatrix"),
            MemoryLayout.ofSequence(3, MemoryLayout.ofSequence(4, C_FLOAT)).withName("ccm"),
            MemoryLayout.ofSequence(3, MemoryLayout.ofSequence(4, C_FLOAT)).withName("rgb_cam"),
            MemoryLayout.ofSequence(4, MemoryLayout.ofSequence(3, C_FLOAT)).withName("cam_xyz"),
            MemoryLayout.ofStruct(
                C_INT.withName("format"),
                C_INT.withName("key_off"),
                C_INT.withName("tag_21a"),
                C_INT.withName("t_black"),
                C_INT.withName("split_col"),
                C_INT.withName("black_col"),
                C_INT.withName("split_row"),
                C_INT.withName("black_row"),
                C_FLOAT.withName("tag_210")
            ).withName("phase_one_data"),
            C_FLOAT.withName("flash_used"),
            C_FLOAT.withName("canon_ev"),
            MemoryLayout.ofSequence(64, C_CHAR).withName("model2"),
            MemoryLayout.ofSequence(64, C_CHAR).withName("UniqueCameraModel"),
            MemoryLayout.ofSequence(64, C_CHAR).withName("LocalizedCameraModel"),
            MemoryLayout.ofSequence(64, C_CHAR).withName("ImageUniqueID"),
            MemoryLayout.ofSequence(17, C_CHAR).withName("RawDataUniqueID"),
            MemoryLayout.ofSequence(64, C_CHAR).withName("OriginalRawFileName"),
            MemoryLayout.ofPaddingBits(24),
            C_POINTER.withName("profile"),
            C_INT.withName("profile_length"),
            MemoryLayout.ofSequence(8, C_INT).withName("black_stat"),
            MemoryLayout.ofSequence(2, MemoryLayout.ofStruct(
                C_INT.withName("parsedfields"),
                C_SHORT.withName("illuminant"),
                MemoryLayout.ofPaddingBits(16),
                MemoryLayout.ofSequence(4, MemoryLayout.ofSequence(4, C_FLOAT)).withName("calibration"),
                MemoryLayout.ofSequence(4, MemoryLayout.ofSequence(3, C_FLOAT)).withName("colormatrix"),
                MemoryLayout.ofSequence(3, MemoryLayout.ofSequence(4, C_FLOAT)).withName("forwardmatrix")
            )).withName("dng_color"),
            MemoryLayout.ofStruct(
                C_INT.withName("parsedfields"),
                MemoryLayout.ofSequence(4104, C_INT).withName("dng_cblack"),
                C_INT.withName("dng_black"),
                MemoryLayout.ofSequence(4104, C_FLOAT).withName("dng_fcblack"),
                C_FLOAT.withName("dng_fblack"),
                MemoryLayout.ofSequence(4, C_INT).withName("dng_whitelevel"),
                MemoryLayout.ofSequence(4, C_INT).withName("default_crop"),
                C_INT.withName("preview_colorspace"),
                MemoryLayout.ofSequence(4, C_FLOAT).withName("analogbalance"),
                MemoryLayout.ofSequence(4, C_FLOAT).withName("asshotneutral"),
                C_FLOAT.withName("baseline_exposure"),
                C_FLOAT.withName("LinearResponseLimit")
            ).withName("dng_levels"),
            MemoryLayout.ofSequence(256, MemoryLayout.ofSequence(4, C_INT)).withName("WB_Coeffs"),
            MemoryLayout.ofSequence(64, MemoryLayout.ofSequence(5, C_FLOAT)).withName("WBCT_Coeffs"),
            C_INT.withName("as_shot_wb_applied"),
            MemoryLayout.ofSequence(2, MemoryLayout.ofStruct(
                MemoryLayout.ofSequence(9, C_FLOAT).withName("romm_cam")
            )).withName("P1_color"),
            C_INT.withName("raw_bps"),
            C_INT.withName("ExifColorSpace")
        ).withName("color"),
        MemoryLayout.ofStruct(
            C_FLOAT.withName("iso_speed"),
            C_FLOAT.withName("shutter"),
            C_FLOAT.withName("aperture"),
            C_FLOAT.withName("focal_len"),
            C_LONG.withName("timestamp"),
            C_INT.withName("shot_order"),
            MemoryLayout.ofSequence(32, C_INT).withName("gpsdata"),
            MemoryLayout.ofStruct(
                MemoryLayout.ofSequence(3, C_FLOAT).withName("latitude"),
                MemoryLayout.ofSequence(3, C_FLOAT).withName("longitude"),
                MemoryLayout.ofSequence(3, C_FLOAT).withName("gpstimestamp"),
                C_FLOAT.withName("altitude"),
                C_CHAR.withName("altref"),
                C_CHAR.withName("latref"),
                C_CHAR.withName("longref"),
                C_CHAR.withName("gpsstatus"),
                C_CHAR.withName("gpsparsed"),
                MemoryLayout.ofPaddingBits(24)
            ).withName("parsed_gps"),
            MemoryLayout.ofSequence(512, C_CHAR).withName("desc"),
            MemoryLayout.ofSequence(64, C_CHAR).withName("artist"),
            MemoryLayout.ofSequence(4, C_FLOAT).withName("analogbalance"),
            MemoryLayout.ofPaddingBits(32)
        ).withName("other"),
        MemoryLayout.ofStruct(
            C_INT.withName("tformat"),
            C_SHORT.withName("twidth"),
            C_SHORT.withName("theight"),
            C_INT.withName("tlength"),
            C_INT.withName("tcolors"),
            C_POINTER.withName("thumb")
        ).withName("thumbnail"),
        MemoryLayout.ofStruct(
            C_POINTER.withName("raw_alloc"),
            C_POINTER.withName("raw_image"),
            C_POINTER.withName("color4_image"),
            C_POINTER.withName("color3_image"),
            C_POINTER.withName("float_image"),
            C_POINTER.withName("float3_image"),
            C_POINTER.withName("float4_image"),
            C_POINTER.withName("ph1_cblack"),
            C_POINTER.withName("ph1_rblack"),
            MemoryLayout.ofStruct(
                MemoryLayout.ofSequence(4, C_CHAR).withName("guard"),
                MemoryLayout.ofSequence(64, C_CHAR).withName("make"),
                MemoryLayout.ofSequence(64, C_CHAR).withName("model"),
                MemoryLayout.ofSequence(64, C_CHAR).withName("software"),
                MemoryLayout.ofSequence(64, C_CHAR).withName("normalized_make"),
                MemoryLayout.ofSequence(64, C_CHAR).withName("normalized_model"),
                C_INT.withName("maker_index"),
                C_INT.withName("raw_count"),
                C_INT.withName("dng_version"),
                C_INT.withName("is_foveon"),
                C_INT.withName("colors"),
                C_INT.withName("filters"),
                MemoryLayout.ofSequence(6, MemoryLayout.ofSequence(6, C_CHAR)).withName("xtrans"),
                MemoryLayout.ofSequence(6, MemoryLayout.ofSequence(6, C_CHAR)).withName("xtrans_abs"),
                MemoryLayout.ofSequence(5, C_CHAR).withName("cdesc"),
                MemoryLayout.ofPaddingBits(24),
                C_INT.withName("xmplen"),
                C_POINTER.withName("xmpdata")
            ).withName("iparams"),
            MemoryLayout.ofStruct(
                C_SHORT.withName("raw_height"),
                C_SHORT.withName("raw_width"),
                C_SHORT.withName("height"),
                C_SHORT.withName("width"),
                C_SHORT.withName("top_margin"),
                C_SHORT.withName("left_margin"),
                C_SHORT.withName("iheight"),
                C_SHORT.withName("iwidth"),
                C_INT.withName("raw_pitch"),
                MemoryLayout.ofPaddingBits(32),
                C_DOUBLE.withName("pixel_aspect"),
                C_INT.withName("flip"),
                MemoryLayout.ofSequence(8, MemoryLayout.ofSequence(4, C_INT)).withName("mask"),
                MemoryLayout.ofStruct(
                    C_SHORT.withName("cleft"),
                    C_SHORT.withName("ctop"),
                    C_SHORT.withName("cwidth"),
                    C_SHORT.withName("cheight"),
                    C_SHORT.withName("aspect")
                ).withName("raw_inset_crop"),
                MemoryLayout.ofPaddingBits(16)
            ).withName("sizes"),
            MemoryLayout.ofStruct(
                C_INT.withName("mix_green"),
                C_INT.withName("raw_color"),
                C_INT.withName("zero_is_bad"),
                C_SHORT.withName("shrink"),
                C_SHORT.withName("fuji_width")
            ).withName("ioparams"),
            MemoryLayout.ofStruct(
                MemoryLayout.ofSequence(65536, C_SHORT).withName("curve"),
                MemoryLayout.ofSequence(4104, C_INT).withName("cblack"),
                C_INT.withName("black"),
                C_INT.withName("data_maximum"),
                C_INT.withName("maximum"),
                MemoryLayout.ofPaddingBits(32),
                MemoryLayout.ofSequence(4, C_LONG).withName("linear_max"),
                C_FLOAT.withName("fmaximum"),
                C_FLOAT.withName("fnorm"),
                MemoryLayout.ofSequence(8, MemoryLayout.ofSequence(8, C_SHORT)).withName("white"),
                MemoryLayout.ofSequence(4, C_FLOAT).withName("cam_mul"),
                MemoryLayout.ofSequence(4, C_FLOAT).withName("pre_mul"),
                MemoryLayout.ofSequence(3, MemoryLayout.ofSequence(4, C_FLOAT)).withName("cmatrix"),
                MemoryLayout.ofSequence(3, MemoryLayout.ofSequence(4, C_FLOAT)).withName("ccm"),
                MemoryLayout.ofSequence(3, MemoryLayout.ofSequence(4, C_FLOAT)).withName("rgb_cam"),
                MemoryLayout.ofSequence(4, MemoryLayout.ofSequence(3, C_FLOAT)).withName("cam_xyz"),
                MemoryLayout.ofStruct(
                    C_INT.withName("format"),
                    C_INT.withName("key_off"),
                    C_INT.withName("tag_21a"),
                    C_INT.withName("t_black"),
                    C_INT.withName("split_col"),
                    C_INT.withName("black_col"),
                    C_INT.withName("split_row"),
                    C_INT.withName("black_row"),
                    C_FLOAT.withName("tag_210")
                ).withName("phase_one_data"),
                C_FLOAT.withName("flash_used"),
                C_FLOAT.withName("canon_ev"),
                MemoryLayout.ofSequence(64, C_CHAR).withName("model2"),
                MemoryLayout.ofSequence(64, C_CHAR).withName("UniqueCameraModel"),
                MemoryLayout.ofSequence(64, C_CHAR).withName("LocalizedCameraModel"),
                MemoryLayout.ofSequence(64, C_CHAR).withName("ImageUniqueID"),
                MemoryLayout.ofSequence(17, C_CHAR).withName("RawDataUniqueID"),
                MemoryLayout.ofSequence(64, C_CHAR).withName("OriginalRawFileName"),
                MemoryLayout.ofPaddingBits(24),
                C_POINTER.withName("profile"),
                C_INT.withName("profile_length"),
                MemoryLayout.ofSequence(8, C_INT).withName("black_stat"),
                MemoryLayout.ofSequence(2, MemoryLayout.ofStruct(
                    C_INT.withName("parsedfields"),
                    C_SHORT.withName("illuminant"),
                    MemoryLayout.ofPaddingBits(16),
                    MemoryLayout.ofSequence(4, MemoryLayout.ofSequence(4, C_FLOAT)).withName("calibration"),
                    MemoryLayout.ofSequence(4, MemoryLayout.ofSequence(3, C_FLOAT)).withName("colormatrix"),
                    MemoryLayout.ofSequence(3, MemoryLayout.ofSequence(4, C_FLOAT)).withName("forwardmatrix")
                )).withName("dng_color"),
                MemoryLayout.ofStruct(
                    C_INT.withName("parsedfields"),
                    MemoryLayout.ofSequence(4104, C_INT).withName("dng_cblack"),
                    C_INT.withName("dng_black"),
                    MemoryLayout.ofSequence(4104, C_FLOAT).withName("dng_fcblack"),
                    C_FLOAT.withName("dng_fblack"),
                    MemoryLayout.ofSequence(4, C_INT).withName("dng_whitelevel"),
                    MemoryLayout.ofSequence(4, C_INT).withName("default_crop"),
                    C_INT.withName("preview_colorspace"),
                    MemoryLayout.ofSequence(4, C_FLOAT).withName("analogbalance"),
                    MemoryLayout.ofSequence(4, C_FLOAT).withName("asshotneutral"),
                    C_FLOAT.withName("baseline_exposure"),
                    C_FLOAT.withName("LinearResponseLimit")
                ).withName("dng_levels"),
                MemoryLayout.ofSequence(256, MemoryLayout.ofSequence(4, C_INT)).withName("WB_Coeffs"),
                MemoryLayout.ofSequence(64, MemoryLayout.ofSequence(5, C_FLOAT)).withName("WBCT_Coeffs"),
                C_INT.withName("as_shot_wb_applied"),
                MemoryLayout.ofSequence(2, MemoryLayout.ofStruct(
                    MemoryLayout.ofSequence(9, C_FLOAT).withName("romm_cam")
                )).withName("P1_color"),
                C_INT.withName("raw_bps"),
                C_INT.withName("ExifColorSpace")
            ).withName("color")
        ).withName("rawdata"),
        C_POINTER.withName("parent_class")
    );
    static final jdk.incubator.foreign.MemoryLayout libraw_data_t$struct$LAYOUT() { return libraw_data_t$struct$LAYOUT_; }

    static final MemoryLayout libraw_data_t$image$LAYOUT_ = C_POINTER;
    static final jdk.incubator.foreign.MemoryLayout libraw_data_t$image$LAYOUT() { return libraw_data_t$image$LAYOUT_; }

    static final VarHandle libraw_data_t$image$VH_ = MemoryHandles.asAddressVarHandle(libraw_data_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("image")));
    static final java.lang.invoke.VarHandle libraw_data_t$image$VH() { return libraw_data_t$image$VH_; }

    static final MemoryLayout libraw_data_t$progress_flags$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout libraw_data_t$progress_flags$LAYOUT() { return libraw_data_t$progress_flags$LAYOUT_; }

    static final VarHandle libraw_data_t$progress_flags$VH_ = libraw_data_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("progress_flags"));
    static final java.lang.invoke.VarHandle libraw_data_t$progress_flags$VH() { return libraw_data_t$progress_flags$VH_; }

    static final MemoryLayout libraw_data_t$process_warnings$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout libraw_data_t$process_warnings$LAYOUT() { return libraw_data_t$process_warnings$LAYOUT_; }

    static final VarHandle libraw_data_t$process_warnings$VH_ = libraw_data_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("process_warnings"));
    static final java.lang.invoke.VarHandle libraw_data_t$process_warnings$VH() { return libraw_data_t$process_warnings$VH_; }

    static final MemoryLayout libraw_data_t$parent_class$LAYOUT_ = C_POINTER;
    static final jdk.incubator.foreign.MemoryLayout libraw_data_t$parent_class$LAYOUT() { return libraw_data_t$parent_class$LAYOUT_; }

    static final VarHandle libraw_data_t$parent_class$VH_ = MemoryHandles.asAddressVarHandle(libraw_data_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("parent_class")));
    static final java.lang.invoke.VarHandle libraw_data_t$parent_class$VH() { return libraw_data_t$parent_class$VH_; }

    static final MemoryLayout fuji_compressed_params$struct$LAYOUT_ = MemoryLayout.ofStruct(
        C_POINTER.withName("q_table"),
        MemoryLayout.ofSequence(5, C_INT).withName("q_point"),
        C_INT.withName("max_bits"),
        C_INT.withName("min_value"),
        C_INT.withName("raw_bits"),
        C_INT.withName("total_values"),
        C_INT.withName("maxDiff"),
        C_SHORT.withName("line_width"),
        MemoryLayout.ofPaddingBits(48)
    ).withName("fuji_compressed_params");
    static final jdk.incubator.foreign.MemoryLayout fuji_compressed_params$struct$LAYOUT() { return fuji_compressed_params$struct$LAYOUT_; }

    static final MemoryLayout fuji_compressed_params$q_table$LAYOUT_ = C_POINTER;
    static final jdk.incubator.foreign.MemoryLayout fuji_compressed_params$q_table$LAYOUT() { return fuji_compressed_params$q_table$LAYOUT_; }

    static final VarHandle fuji_compressed_params$q_table$VH_ = MemoryHandles.asAddressVarHandle(fuji_compressed_params$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("q_table")));
    static final java.lang.invoke.VarHandle fuji_compressed_params$q_table$VH() { return fuji_compressed_params$q_table$VH_; }

    static final MemoryLayout fuji_compressed_params$max_bits$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout fuji_compressed_params$max_bits$LAYOUT() { return fuji_compressed_params$max_bits$LAYOUT_; }

    static final VarHandle fuji_compressed_params$max_bits$VH_ = fuji_compressed_params$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("max_bits"));
    static final java.lang.invoke.VarHandle fuji_compressed_params$max_bits$VH() { return fuji_compressed_params$max_bits$VH_; }

    static final MemoryLayout fuji_compressed_params$min_value$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout fuji_compressed_params$min_value$LAYOUT() { return fuji_compressed_params$min_value$LAYOUT_; }

    static final VarHandle fuji_compressed_params$min_value$VH_ = fuji_compressed_params$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("min_value"));
    static final java.lang.invoke.VarHandle fuji_compressed_params$min_value$VH() { return fuji_compressed_params$min_value$VH_; }

    static final MemoryLayout fuji_compressed_params$raw_bits$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout fuji_compressed_params$raw_bits$LAYOUT() { return fuji_compressed_params$raw_bits$LAYOUT_; }

    static final VarHandle fuji_compressed_params$raw_bits$VH_ = fuji_compressed_params$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("raw_bits"));
    static final java.lang.invoke.VarHandle fuji_compressed_params$raw_bits$VH() { return fuji_compressed_params$raw_bits$VH_; }

    static final MemoryLayout fuji_compressed_params$total_values$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout fuji_compressed_params$total_values$LAYOUT() { return fuji_compressed_params$total_values$LAYOUT_; }

    static final VarHandle fuji_compressed_params$total_values$VH_ = fuji_compressed_params$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("total_values"));
    static final java.lang.invoke.VarHandle fuji_compressed_params$total_values$VH() { return fuji_compressed_params$total_values$VH_; }

    static final MemoryLayout fuji_compressed_params$maxDiff$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout fuji_compressed_params$maxDiff$LAYOUT() { return fuji_compressed_params$maxDiff$LAYOUT_; }

    static final VarHandle fuji_compressed_params$maxDiff$VH_ = fuji_compressed_params$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("maxDiff"));
    static final java.lang.invoke.VarHandle fuji_compressed_params$maxDiff$VH() { return fuji_compressed_params$maxDiff$VH_; }

    static final MemoryLayout fuji_compressed_params$line_width$LAYOUT_ = C_SHORT;
    static final jdk.incubator.foreign.MemoryLayout fuji_compressed_params$line_width$LAYOUT() { return fuji_compressed_params$line_width$LAYOUT_; }

    static final VarHandle fuji_compressed_params$line_width$VH_ = fuji_compressed_params$struct$LAYOUT_.varHandle(short.class, MemoryLayout.PathElement.groupElement("line_width"));
    static final java.lang.invoke.VarHandle fuji_compressed_params$line_width$VH() { return fuji_compressed_params$line_width$VH_; }

    static final MemoryLayout internal_data_t$struct$LAYOUT_ = MemoryLayout.ofStruct(
        C_POINTER.withName("input"),
        C_POINTER.withName("output"),
        C_INT.withName("input_internal"),
        MemoryLayout.ofPaddingBits(32),
        C_POINTER.withName("meta_data"),
        C_LONG_LONG.withName("profile_offset"),
        C_LONG_LONG.withName("toffset"),
        MemoryLayout.ofSequence(4, C_INT).withName("pana_black")
    );
    static final jdk.incubator.foreign.MemoryLayout internal_data_t$struct$LAYOUT() { return internal_data_t$struct$LAYOUT_; }

    static final MemoryLayout internal_data_t$input$LAYOUT_ = C_POINTER;
    static final jdk.incubator.foreign.MemoryLayout internal_data_t$input$LAYOUT() { return internal_data_t$input$LAYOUT_; }

    static final VarHandle internal_data_t$input$VH_ = MemoryHandles.asAddressVarHandle(internal_data_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("input")));
    static final java.lang.invoke.VarHandle internal_data_t$input$VH() { return internal_data_t$input$VH_; }

    static final MemoryLayout internal_data_t$output$LAYOUT_ = C_POINTER;
    static final jdk.incubator.foreign.MemoryLayout internal_data_t$output$LAYOUT() { return internal_data_t$output$LAYOUT_; }

    static final VarHandle internal_data_t$output$VH_ = MemoryHandles.asAddressVarHandle(internal_data_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("output")));
    static final java.lang.invoke.VarHandle internal_data_t$output$VH() { return internal_data_t$output$VH_; }

    static final MemoryLayout internal_data_t$input_internal$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout internal_data_t$input_internal$LAYOUT() { return internal_data_t$input_internal$LAYOUT_; }

    static final VarHandle internal_data_t$input_internal$VH_ = internal_data_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("input_internal"));
    static final java.lang.invoke.VarHandle internal_data_t$input_internal$VH() { return internal_data_t$input_internal$VH_; }

    static final MemoryLayout internal_data_t$meta_data$LAYOUT_ = C_POINTER;
    static final jdk.incubator.foreign.MemoryLayout internal_data_t$meta_data$LAYOUT() { return internal_data_t$meta_data$LAYOUT_; }

    static final VarHandle internal_data_t$meta_data$VH_ = MemoryHandles.asAddressVarHandle(internal_data_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("meta_data")));
    static final java.lang.invoke.VarHandle internal_data_t$meta_data$VH() { return internal_data_t$meta_data$VH_; }

    static final MemoryLayout internal_data_t$profile_offset$LAYOUT_ = C_LONG_LONG;
    static final jdk.incubator.foreign.MemoryLayout internal_data_t$profile_offset$LAYOUT() { return internal_data_t$profile_offset$LAYOUT_; }

    static final VarHandle internal_data_t$profile_offset$VH_ = internal_data_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("profile_offset"));
    static final java.lang.invoke.VarHandle internal_data_t$profile_offset$VH() { return internal_data_t$profile_offset$VH_; }

    static final MemoryLayout internal_data_t$toffset$LAYOUT_ = C_LONG_LONG;
    static final jdk.incubator.foreign.MemoryLayout internal_data_t$toffset$LAYOUT() { return internal_data_t$toffset$LAYOUT_; }

    static final VarHandle internal_data_t$toffset$VH_ = internal_data_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("toffset"));
    static final java.lang.invoke.VarHandle internal_data_t$toffset$VH() { return internal_data_t$toffset$VH_; }

    static final MemoryLayout output_data_t$struct$LAYOUT_ = MemoryLayout.ofStruct(
        C_POINTER.withName("histogram"),
        C_POINTER.withName("oprof")
    );
    static final jdk.incubator.foreign.MemoryLayout output_data_t$struct$LAYOUT() { return output_data_t$struct$LAYOUT_; }

    static final MemoryLayout output_data_t$histogram$LAYOUT_ = C_POINTER;
    static final jdk.incubator.foreign.MemoryLayout output_data_t$histogram$LAYOUT() { return output_data_t$histogram$LAYOUT_; }

    static final VarHandle output_data_t$histogram$VH_ = MemoryHandles.asAddressVarHandle(output_data_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("histogram")));
    static final java.lang.invoke.VarHandle output_data_t$histogram$VH() { return output_data_t$histogram$VH_; }

    static final MemoryLayout output_data_t$oprof$LAYOUT_ = C_POINTER;
    static final jdk.incubator.foreign.MemoryLayout output_data_t$oprof$LAYOUT() { return output_data_t$oprof$LAYOUT_; }

    static final VarHandle output_data_t$oprof$VH_ = MemoryHandles.asAddressVarHandle(output_data_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("oprof")));
    static final java.lang.invoke.VarHandle output_data_t$oprof$VH() { return output_data_t$oprof$VH_; }

    static final MemoryLayout identify_data_t$struct$LAYOUT_ = MemoryLayout.ofStruct(
        C_INT.withName("olympus_exif_cfa"),
        MemoryLayout.ofPaddingBits(32),
        C_LONG_LONG.withName("unique_id"),
        C_LONG_LONG.withName("OlyID"),
        C_INT.withName("tiff_nifds"),
        C_INT.withName("tiff_flip"),
        C_INT.withName("metadata_blocks"),
        MemoryLayout.ofPaddingBits(32)
    );
    static final jdk.incubator.foreign.MemoryLayout identify_data_t$struct$LAYOUT() { return identify_data_t$struct$LAYOUT_; }

    static final MemoryLayout identify_data_t$olympus_exif_cfa$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout identify_data_t$olympus_exif_cfa$LAYOUT() { return identify_data_t$olympus_exif_cfa$LAYOUT_; }

    static final VarHandle identify_data_t$olympus_exif_cfa$VH_ = identify_data_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("olympus_exif_cfa"));
    static final java.lang.invoke.VarHandle identify_data_t$olympus_exif_cfa$VH() { return identify_data_t$olympus_exif_cfa$VH_; }

    static final MemoryLayout identify_data_t$unique_id$LAYOUT_ = C_LONG_LONG;
    static final jdk.incubator.foreign.MemoryLayout identify_data_t$unique_id$LAYOUT() { return identify_data_t$unique_id$LAYOUT_; }

    static final VarHandle identify_data_t$unique_id$VH_ = identify_data_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("unique_id"));
    static final java.lang.invoke.VarHandle identify_data_t$unique_id$VH() { return identify_data_t$unique_id$VH_; }

    static final MemoryLayout identify_data_t$OlyID$LAYOUT_ = C_LONG_LONG;
    static final jdk.incubator.foreign.MemoryLayout identify_data_t$OlyID$LAYOUT() { return identify_data_t$OlyID$LAYOUT_; }

    static final VarHandle identify_data_t$OlyID$VH_ = identify_data_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("OlyID"));
    static final java.lang.invoke.VarHandle identify_data_t$OlyID$VH() { return identify_data_t$OlyID$VH_; }

    static final MemoryLayout identify_data_t$tiff_nifds$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout identify_data_t$tiff_nifds$LAYOUT() { return identify_data_t$tiff_nifds$LAYOUT_; }

    static final VarHandle identify_data_t$tiff_nifds$VH_ = identify_data_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("tiff_nifds"));
    static final java.lang.invoke.VarHandle identify_data_t$tiff_nifds$VH() { return identify_data_t$tiff_nifds$VH_; }

    static final MemoryLayout identify_data_t$tiff_flip$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout identify_data_t$tiff_flip$LAYOUT() { return identify_data_t$tiff_flip$LAYOUT_; }

    static final VarHandle identify_data_t$tiff_flip$VH_ = identify_data_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("tiff_flip"));
    static final java.lang.invoke.VarHandle identify_data_t$tiff_flip$VH() { return identify_data_t$tiff_flip$VH_; }

    static final MemoryLayout identify_data_t$metadata_blocks$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout identify_data_t$metadata_blocks$LAYOUT() { return identify_data_t$metadata_blocks$LAYOUT_; }

    static final VarHandle identify_data_t$metadata_blocks$VH_ = identify_data_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("metadata_blocks"));
    static final java.lang.invoke.VarHandle identify_data_t$metadata_blocks$VH() { return identify_data_t$metadata_blocks$VH_; }

    static final MemoryLayout crx_data_header_t$struct$LAYOUT_ = MemoryLayout.ofStruct(
        C_INT.withName("version"),
        C_INT.withName("f_width"),
        C_INT.withName("f_height"),
        C_INT.withName("tileWidth"),
        C_INT.withName("tileHeight"),
        C_INT.withName("nBits"),
        C_INT.withName("nPlanes"),
        C_INT.withName("cfaLayout"),
        C_INT.withName("encType"),
        C_INT.withName("imageLevels"),
        C_INT.withName("hasTileCols"),
        C_INT.withName("hasTileRows"),
        C_INT.withName("mdatHdrSize"),
        C_INT.withName("MediaSize"),
        C_LONG_LONG.withName("MediaOffset"),
        C_INT.withName("MediaType"),
        MemoryLayout.ofPaddingBits(32)
    );
    static final jdk.incubator.foreign.MemoryLayout crx_data_header_t$struct$LAYOUT() { return crx_data_header_t$struct$LAYOUT_; }

    static final MemoryLayout crx_data_header_t$version$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout crx_data_header_t$version$LAYOUT() { return crx_data_header_t$version$LAYOUT_; }

    static final VarHandle crx_data_header_t$version$VH_ = crx_data_header_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("version"));
    static final java.lang.invoke.VarHandle crx_data_header_t$version$VH() { return crx_data_header_t$version$VH_; }

    static final MemoryLayout crx_data_header_t$f_width$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout crx_data_header_t$f_width$LAYOUT() { return crx_data_header_t$f_width$LAYOUT_; }

    static final VarHandle crx_data_header_t$f_width$VH_ = crx_data_header_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("f_width"));
    static final java.lang.invoke.VarHandle crx_data_header_t$f_width$VH() { return crx_data_header_t$f_width$VH_; }

    static final MemoryLayout crx_data_header_t$f_height$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout crx_data_header_t$f_height$LAYOUT() { return crx_data_header_t$f_height$LAYOUT_; }

    static final VarHandle crx_data_header_t$f_height$VH_ = crx_data_header_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("f_height"));
    static final java.lang.invoke.VarHandle crx_data_header_t$f_height$VH() { return crx_data_header_t$f_height$VH_; }

    static final MemoryLayout crx_data_header_t$tileWidth$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout crx_data_header_t$tileWidth$LAYOUT() { return crx_data_header_t$tileWidth$LAYOUT_; }

    static final VarHandle crx_data_header_t$tileWidth$VH_ = crx_data_header_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("tileWidth"));
    static final java.lang.invoke.VarHandle crx_data_header_t$tileWidth$VH() { return crx_data_header_t$tileWidth$VH_; }

    static final MemoryLayout crx_data_header_t$tileHeight$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout crx_data_header_t$tileHeight$LAYOUT() { return crx_data_header_t$tileHeight$LAYOUT_; }

    static final VarHandle crx_data_header_t$tileHeight$VH_ = crx_data_header_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("tileHeight"));
    static final java.lang.invoke.VarHandle crx_data_header_t$tileHeight$VH() { return crx_data_header_t$tileHeight$VH_; }

    static final MemoryLayout crx_data_header_t$nBits$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout crx_data_header_t$nBits$LAYOUT() { return crx_data_header_t$nBits$LAYOUT_; }

    static final VarHandle crx_data_header_t$nBits$VH_ = crx_data_header_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("nBits"));
    static final java.lang.invoke.VarHandle crx_data_header_t$nBits$VH() { return crx_data_header_t$nBits$VH_; }

    static final MemoryLayout crx_data_header_t$nPlanes$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout crx_data_header_t$nPlanes$LAYOUT() { return crx_data_header_t$nPlanes$LAYOUT_; }

    static final VarHandle crx_data_header_t$nPlanes$VH_ = crx_data_header_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("nPlanes"));
    static final java.lang.invoke.VarHandle crx_data_header_t$nPlanes$VH() { return crx_data_header_t$nPlanes$VH_; }

    static final MemoryLayout crx_data_header_t$cfaLayout$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout crx_data_header_t$cfaLayout$LAYOUT() { return crx_data_header_t$cfaLayout$LAYOUT_; }

    static final VarHandle crx_data_header_t$cfaLayout$VH_ = crx_data_header_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("cfaLayout"));
    static final java.lang.invoke.VarHandle crx_data_header_t$cfaLayout$VH() { return crx_data_header_t$cfaLayout$VH_; }

    static final MemoryLayout crx_data_header_t$encType$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout crx_data_header_t$encType$LAYOUT() { return crx_data_header_t$encType$LAYOUT_; }

    static final VarHandle crx_data_header_t$encType$VH_ = crx_data_header_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("encType"));
    static final java.lang.invoke.VarHandle crx_data_header_t$encType$VH() { return crx_data_header_t$encType$VH_; }

    static final MemoryLayout crx_data_header_t$imageLevels$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout crx_data_header_t$imageLevels$LAYOUT() { return crx_data_header_t$imageLevels$LAYOUT_; }

    static final VarHandle crx_data_header_t$imageLevels$VH_ = crx_data_header_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("imageLevels"));
    static final java.lang.invoke.VarHandle crx_data_header_t$imageLevels$VH() { return crx_data_header_t$imageLevels$VH_; }

    static final MemoryLayout crx_data_header_t$hasTileCols$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout crx_data_header_t$hasTileCols$LAYOUT() { return crx_data_header_t$hasTileCols$LAYOUT_; }

    static final VarHandle crx_data_header_t$hasTileCols$VH_ = crx_data_header_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("hasTileCols"));
    static final java.lang.invoke.VarHandle crx_data_header_t$hasTileCols$VH() { return crx_data_header_t$hasTileCols$VH_; }

    static final MemoryLayout crx_data_header_t$hasTileRows$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout crx_data_header_t$hasTileRows$LAYOUT() { return crx_data_header_t$hasTileRows$LAYOUT_; }

    static final VarHandle crx_data_header_t$hasTileRows$VH_ = crx_data_header_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("hasTileRows"));
    static final java.lang.invoke.VarHandle crx_data_header_t$hasTileRows$VH() { return crx_data_header_t$hasTileRows$VH_; }

    static final MemoryLayout crx_data_header_t$mdatHdrSize$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout crx_data_header_t$mdatHdrSize$LAYOUT() { return crx_data_header_t$mdatHdrSize$LAYOUT_; }

    static final VarHandle crx_data_header_t$mdatHdrSize$VH_ = crx_data_header_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("mdatHdrSize"));
    static final java.lang.invoke.VarHandle crx_data_header_t$mdatHdrSize$VH() { return crx_data_header_t$mdatHdrSize$VH_; }

    static final MemoryLayout crx_data_header_t$MediaSize$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout crx_data_header_t$MediaSize$LAYOUT() { return crx_data_header_t$MediaSize$LAYOUT_; }

    static final VarHandle crx_data_header_t$MediaSize$VH_ = crx_data_header_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("MediaSize"));
    static final java.lang.invoke.VarHandle crx_data_header_t$MediaSize$VH() { return crx_data_header_t$MediaSize$VH_; }

    static final MemoryLayout crx_data_header_t$MediaOffset$LAYOUT_ = C_LONG_LONG;
    static final jdk.incubator.foreign.MemoryLayout crx_data_header_t$MediaOffset$LAYOUT() { return crx_data_header_t$MediaOffset$LAYOUT_; }

    static final VarHandle crx_data_header_t$MediaOffset$VH_ = crx_data_header_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("MediaOffset"));
    static final java.lang.invoke.VarHandle crx_data_header_t$MediaOffset$VH() { return crx_data_header_t$MediaOffset$VH_; }

    static final MemoryLayout crx_data_header_t$MediaType$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout crx_data_header_t$MediaType$LAYOUT() { return crx_data_header_t$MediaType$LAYOUT_; }

    static final VarHandle crx_data_header_t$MediaType$VH_ = crx_data_header_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("MediaType"));
    static final java.lang.invoke.VarHandle crx_data_header_t$MediaType$VH() { return crx_data_header_t$MediaType$VH_; }

    static final MemoryLayout unpacker_data_t$struct$LAYOUT_ = MemoryLayout.ofStruct(
        C_SHORT.withName("order"),
        MemoryLayout.ofSequence(4, C_SHORT).withName("sraw_mul"),
        MemoryLayout.ofSequence(3, C_SHORT).withName("cr2_slice"),
        C_INT.withName("kodak_cbpp"),
        MemoryLayout.ofPaddingBits(32),
        C_LONG_LONG.withName("strip_offset"),
        C_LONG_LONG.withName("data_offset"),
        C_LONG_LONG.withName("meta_offset"),
        C_INT.withName("data_size"),
        C_INT.withName("meta_length"),
        C_INT.withName("thumb_misc"),
        C_INT.withName("fuji_layout"),
        C_INT.withName("tiff_samples"),
        C_INT.withName("tiff_bps"),
        C_INT.withName("tiff_compress"),
        C_INT.withName("tiff_sampleformat"),
        C_INT.withName("zero_after_ff"),
        C_INT.withName("tile_width"),
        C_INT.withName("tile_length"),
        C_INT.withName("load_flags"),
        C_INT.withName("data_error"),
        C_INT.withName("hasselblad_parser_flag"),
        C_LONG_LONG.withName("posRAFData"),
        C_INT.withName("lenRAFData"),
        C_INT.withName("fuji_total_lines"),
        C_INT.withName("fuji_total_blocks"),
        C_INT.withName("fuji_block_width"),
        C_INT.withName("fuji_bits"),
        C_INT.withName("fuji_raw_type"),
        C_INT.withName("pana_encoding"),
        C_INT.withName("pana_bpp"),
        MemoryLayout.ofSequence(16, MemoryLayout.ofStruct(
            C_INT.withName("version"),
            C_INT.withName("f_width"),
            C_INT.withName("f_height"),
            C_INT.withName("tileWidth"),
            C_INT.withName("tileHeight"),
            C_INT.withName("nBits"),
            C_INT.withName("nPlanes"),
            C_INT.withName("cfaLayout"),
            C_INT.withName("encType"),
            C_INT.withName("imageLevels"),
            C_INT.withName("hasTileCols"),
            C_INT.withName("hasTileRows"),
            C_INT.withName("mdatHdrSize"),
            C_INT.withName("MediaSize"),
            C_LONG_LONG.withName("MediaOffset"),
            C_INT.withName("MediaType"),
            MemoryLayout.ofPaddingBits(32)
        )).withName("crx_header"),
        C_INT.withName("crx_track_selected"),
        C_SHORT.withName("CR3_CTMDtag"),
        C_SHORT.withName("CR3_Version"),
        C_INT.withName("CM_found"),
        C_INT.withName("is_NikonTransfer"),
        C_INT.withName("is_Sony"),
        C_INT.withName("is_pana_raw"),
        C_INT.withName("is_4K_RAFdata"),
        C_INT.withName("is_PentaxRicohMakernotes"),
        MemoryLayout.ofSequence(20, C_INT).withName("dng_frames"),
        C_SHORT.withName("raw_stride"),
        MemoryLayout.ofPaddingBits(48)
    );
    static final jdk.incubator.foreign.MemoryLayout unpacker_data_t$struct$LAYOUT() { return unpacker_data_t$struct$LAYOUT_; }

    static final MemoryLayout unpacker_data_t$order$LAYOUT_ = C_SHORT;
    static final jdk.incubator.foreign.MemoryLayout unpacker_data_t$order$LAYOUT() { return unpacker_data_t$order$LAYOUT_; }

    static final VarHandle unpacker_data_t$order$VH_ = unpacker_data_t$struct$LAYOUT_.varHandle(short.class, MemoryLayout.PathElement.groupElement("order"));
    static final java.lang.invoke.VarHandle unpacker_data_t$order$VH() { return unpacker_data_t$order$VH_; }

    static final MemoryLayout unpacker_data_t$kodak_cbpp$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout unpacker_data_t$kodak_cbpp$LAYOUT() { return unpacker_data_t$kodak_cbpp$LAYOUT_; }

    static final VarHandle unpacker_data_t$kodak_cbpp$VH_ = unpacker_data_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("kodak_cbpp"));
    static final java.lang.invoke.VarHandle unpacker_data_t$kodak_cbpp$VH() { return unpacker_data_t$kodak_cbpp$VH_; }

    static final MemoryLayout unpacker_data_t$strip_offset$LAYOUT_ = C_LONG_LONG;
    static final jdk.incubator.foreign.MemoryLayout unpacker_data_t$strip_offset$LAYOUT() { return unpacker_data_t$strip_offset$LAYOUT_; }

    static final VarHandle unpacker_data_t$strip_offset$VH_ = unpacker_data_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("strip_offset"));
    static final java.lang.invoke.VarHandle unpacker_data_t$strip_offset$VH() { return unpacker_data_t$strip_offset$VH_; }

    static final MemoryLayout unpacker_data_t$data_offset$LAYOUT_ = C_LONG_LONG;
    static final jdk.incubator.foreign.MemoryLayout unpacker_data_t$data_offset$LAYOUT() { return unpacker_data_t$data_offset$LAYOUT_; }

    static final VarHandle unpacker_data_t$data_offset$VH_ = unpacker_data_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("data_offset"));
    static final java.lang.invoke.VarHandle unpacker_data_t$data_offset$VH() { return unpacker_data_t$data_offset$VH_; }

    static final MemoryLayout unpacker_data_t$meta_offset$LAYOUT_ = C_LONG_LONG;
    static final jdk.incubator.foreign.MemoryLayout unpacker_data_t$meta_offset$LAYOUT() { return unpacker_data_t$meta_offset$LAYOUT_; }

    static final VarHandle unpacker_data_t$meta_offset$VH_ = unpacker_data_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("meta_offset"));
    static final java.lang.invoke.VarHandle unpacker_data_t$meta_offset$VH() { return unpacker_data_t$meta_offset$VH_; }

    static final MemoryLayout unpacker_data_t$data_size$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout unpacker_data_t$data_size$LAYOUT() { return unpacker_data_t$data_size$LAYOUT_; }

    static final VarHandle unpacker_data_t$data_size$VH_ = unpacker_data_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("data_size"));
    static final java.lang.invoke.VarHandle unpacker_data_t$data_size$VH() { return unpacker_data_t$data_size$VH_; }

    static final MemoryLayout unpacker_data_t$meta_length$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout unpacker_data_t$meta_length$LAYOUT() { return unpacker_data_t$meta_length$LAYOUT_; }

    static final VarHandle unpacker_data_t$meta_length$VH_ = unpacker_data_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("meta_length"));
    static final java.lang.invoke.VarHandle unpacker_data_t$meta_length$VH() { return unpacker_data_t$meta_length$VH_; }

    static final MemoryLayout unpacker_data_t$thumb_misc$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout unpacker_data_t$thumb_misc$LAYOUT() { return unpacker_data_t$thumb_misc$LAYOUT_; }

    static final VarHandle unpacker_data_t$thumb_misc$VH_ = unpacker_data_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("thumb_misc"));
    static final java.lang.invoke.VarHandle unpacker_data_t$thumb_misc$VH() { return unpacker_data_t$thumb_misc$VH_; }

    static final MemoryLayout unpacker_data_t$fuji_layout$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout unpacker_data_t$fuji_layout$LAYOUT() { return unpacker_data_t$fuji_layout$LAYOUT_; }

    static final VarHandle unpacker_data_t$fuji_layout$VH_ = unpacker_data_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("fuji_layout"));
    static final java.lang.invoke.VarHandle unpacker_data_t$fuji_layout$VH() { return unpacker_data_t$fuji_layout$VH_; }

    static final MemoryLayout unpacker_data_t$tiff_samples$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout unpacker_data_t$tiff_samples$LAYOUT() { return unpacker_data_t$tiff_samples$LAYOUT_; }

    static final VarHandle unpacker_data_t$tiff_samples$VH_ = unpacker_data_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("tiff_samples"));
    static final java.lang.invoke.VarHandle unpacker_data_t$tiff_samples$VH() { return unpacker_data_t$tiff_samples$VH_; }

    static final MemoryLayout unpacker_data_t$tiff_bps$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout unpacker_data_t$tiff_bps$LAYOUT() { return unpacker_data_t$tiff_bps$LAYOUT_; }

    static final VarHandle unpacker_data_t$tiff_bps$VH_ = unpacker_data_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("tiff_bps"));
    static final java.lang.invoke.VarHandle unpacker_data_t$tiff_bps$VH() { return unpacker_data_t$tiff_bps$VH_; }

    static final MemoryLayout unpacker_data_t$tiff_compress$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout unpacker_data_t$tiff_compress$LAYOUT() { return unpacker_data_t$tiff_compress$LAYOUT_; }

    static final VarHandle unpacker_data_t$tiff_compress$VH_ = unpacker_data_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("tiff_compress"));
    static final java.lang.invoke.VarHandle unpacker_data_t$tiff_compress$VH() { return unpacker_data_t$tiff_compress$VH_; }

    static final MemoryLayout unpacker_data_t$tiff_sampleformat$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout unpacker_data_t$tiff_sampleformat$LAYOUT() { return unpacker_data_t$tiff_sampleformat$LAYOUT_; }

    static final VarHandle unpacker_data_t$tiff_sampleformat$VH_ = unpacker_data_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("tiff_sampleformat"));
    static final java.lang.invoke.VarHandle unpacker_data_t$tiff_sampleformat$VH() { return unpacker_data_t$tiff_sampleformat$VH_; }

    static final MemoryLayout unpacker_data_t$zero_after_ff$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout unpacker_data_t$zero_after_ff$LAYOUT() { return unpacker_data_t$zero_after_ff$LAYOUT_; }

    static final VarHandle unpacker_data_t$zero_after_ff$VH_ = unpacker_data_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("zero_after_ff"));
    static final java.lang.invoke.VarHandle unpacker_data_t$zero_after_ff$VH() { return unpacker_data_t$zero_after_ff$VH_; }

    static final MemoryLayout unpacker_data_t$tile_width$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout unpacker_data_t$tile_width$LAYOUT() { return unpacker_data_t$tile_width$LAYOUT_; }

    static final VarHandle unpacker_data_t$tile_width$VH_ = unpacker_data_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("tile_width"));
    static final java.lang.invoke.VarHandle unpacker_data_t$tile_width$VH() { return unpacker_data_t$tile_width$VH_; }

    static final MemoryLayout unpacker_data_t$tile_length$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout unpacker_data_t$tile_length$LAYOUT() { return unpacker_data_t$tile_length$LAYOUT_; }

    static final VarHandle unpacker_data_t$tile_length$VH_ = unpacker_data_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("tile_length"));
    static final java.lang.invoke.VarHandle unpacker_data_t$tile_length$VH() { return unpacker_data_t$tile_length$VH_; }

    static final MemoryLayout unpacker_data_t$load_flags$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout unpacker_data_t$load_flags$LAYOUT() { return unpacker_data_t$load_flags$LAYOUT_; }

    static final VarHandle unpacker_data_t$load_flags$VH_ = unpacker_data_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("load_flags"));
    static final java.lang.invoke.VarHandle unpacker_data_t$load_flags$VH() { return unpacker_data_t$load_flags$VH_; }

    static final MemoryLayout unpacker_data_t$data_error$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout unpacker_data_t$data_error$LAYOUT() { return unpacker_data_t$data_error$LAYOUT_; }

    static final VarHandle unpacker_data_t$data_error$VH_ = unpacker_data_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("data_error"));
    static final java.lang.invoke.VarHandle unpacker_data_t$data_error$VH() { return unpacker_data_t$data_error$VH_; }

    static final MemoryLayout unpacker_data_t$hasselblad_parser_flag$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout unpacker_data_t$hasselblad_parser_flag$LAYOUT() { return unpacker_data_t$hasselblad_parser_flag$LAYOUT_; }

    static final VarHandle unpacker_data_t$hasselblad_parser_flag$VH_ = unpacker_data_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("hasselblad_parser_flag"));
    static final java.lang.invoke.VarHandle unpacker_data_t$hasselblad_parser_flag$VH() { return unpacker_data_t$hasselblad_parser_flag$VH_; }

    static final MemoryLayout unpacker_data_t$posRAFData$LAYOUT_ = C_LONG_LONG;
    static final jdk.incubator.foreign.MemoryLayout unpacker_data_t$posRAFData$LAYOUT() { return unpacker_data_t$posRAFData$LAYOUT_; }

    static final VarHandle unpacker_data_t$posRAFData$VH_ = unpacker_data_t$struct$LAYOUT_.varHandle(long.class, MemoryLayout.PathElement.groupElement("posRAFData"));
    static final java.lang.invoke.VarHandle unpacker_data_t$posRAFData$VH() { return unpacker_data_t$posRAFData$VH_; }

    static final MemoryLayout unpacker_data_t$lenRAFData$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout unpacker_data_t$lenRAFData$LAYOUT() { return unpacker_data_t$lenRAFData$LAYOUT_; }

    static final VarHandle unpacker_data_t$lenRAFData$VH_ = unpacker_data_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("lenRAFData"));
    static final java.lang.invoke.VarHandle unpacker_data_t$lenRAFData$VH() { return unpacker_data_t$lenRAFData$VH_; }

    static final MemoryLayout unpacker_data_t$fuji_total_lines$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout unpacker_data_t$fuji_total_lines$LAYOUT() { return unpacker_data_t$fuji_total_lines$LAYOUT_; }

    static final VarHandle unpacker_data_t$fuji_total_lines$VH_ = unpacker_data_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("fuji_total_lines"));
    static final java.lang.invoke.VarHandle unpacker_data_t$fuji_total_lines$VH() { return unpacker_data_t$fuji_total_lines$VH_; }

    static final MemoryLayout unpacker_data_t$fuji_total_blocks$LAYOUT_ = C_INT;
    static final jdk.incubator.foreign.MemoryLayout unpacker_data_t$fuji_total_blocks$LAYOUT() { return unpacker_data_t$fuji_total_blocks$LAYOUT_; }

    static final VarHandle unpacker_data_t$fuji_total_blocks$VH_ = unpacker_data_t$struct$LAYOUT_.varHandle(int.class, MemoryLayout.PathElement.groupElement("fuji_total_blocks"));
    static final java.lang.invoke.VarHandle unpacker_data_t$fuji_total_blocks$VH() { return unpacker_data_t$fuji_total_blocks$VH_; }

}





© 2015 - 2025 Weber Informatics LLC | Privacy Policy