#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _RawFile {
_unused: [u8; 0],
}
pub type ORRawFileRef = *mut _RawFile;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _RawData {
_unused: [u8; 0],
}
pub type ORRawDataRef = *mut _RawData;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _BitmapData {
_unused: [u8; 0],
}
pub type ORBitmapDataRef = *mut _BitmapData;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _Thumbnail {
_unused: [u8; 0],
}
pub type ORThumbnailRef = *mut _Thumbnail;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IfdDir {
_unused: [u8; 0],
}
pub type ORIfdDirRef = *mut _IfdDir;
#[repr(u32)]
#[doc = " @brief Error codes returned by libopenraw."]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum or_error {
#[doc = "< no error"]
OR_ERROR_NONE = 0,
#[doc = "< Buffer is too small."]
OR_ERROR_BUF_TOO_SMALL = 1,
#[doc = "< The object is not ref"]
OR_ERROR_NOTAREF = 2,
#[doc = "< Can't open file. Check OS error codes"]
OR_ERROR_CANT_OPEN = 3,
#[doc = "< Stream closed"]
OR_ERROR_CLOSED_STREAM = 4,
#[doc = "< Requested \"object\" not found"]
OR_ERROR_NOT_FOUND = 5,
#[doc = "< Invalid parameter"]
OR_ERROR_INVALID_PARAM = 6,
#[doc = "< Invalid format"]
OR_ERROR_INVALID_FORMAT = 7,
#[doc = "< Decompression error"]
OR_ERROR_DECOMPRESSION = 8,
#[doc = "< Function is not implemented"]
OR_ERROR_NOT_IMPLEMENTED = 9,
#[doc = "< Stream already open"]
OR_ERROR_ALREADY_OPEN = 10,
#[doc = "< Unknown error."]
OR_ERROR_UNKNOWN = 42,
OR_ERROR_LAST_ = 43,
}
#[repr(u32)]
#[doc = " @brief Types of RAW files"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum or_rawfile_type {
#[doc = "< no type. Invalid value."]
OR_RAWFILE_TYPE_UNKNOWN = 0,
#[doc = "< Canon CR2"]
OR_RAWFILE_TYPE_CR2 = 1,
#[doc = "< Canon CRW"]
OR_RAWFILE_TYPE_CRW = 2,
#[doc = "< Nikon NEF"]
OR_RAWFILE_TYPE_NEF = 3,
#[doc = "< Minolta MRW"]
OR_RAWFILE_TYPE_MRW = 4,
#[doc = "< Sony ARW"]
OR_RAWFILE_TYPE_ARW = 5,
#[doc = "< Adobe DNG"]
OR_RAWFILE_TYPE_DNG = 6,
#[doc = "< Olympus ORF"]
OR_RAWFILE_TYPE_ORF = 7,
#[doc = "< Pentax PEF"]
OR_RAWFILE_TYPE_PEF = 8,
#[doc = "< Epson ERF"]
OR_RAWFILE_TYPE_ERF = 9,
#[doc = "< Generic TIFF"]
OR_RAWFILE_TYPE_TIFF = 10,
#[doc = "< Nikon NRW"]
OR_RAWFILE_TYPE_NRW = 11,
#[doc = "< Panasonic RAW, RW2 and RWL"]
OR_RAWFILE_TYPE_RW2 = 12,
#[doc = "< FujiFilm RAF"]
OR_RAWFILE_TYPE_RAF = 13,
#[doc = "< Canon CR3"]
OR_RAWFILE_TYPE_CR3 = 14,
#[doc = "< GoPro GPR (DNG-variation)"]
OR_RAWFILE_TYPE_GPR = 15,
#[doc = "< Sony SR2"]
OR_RAWFILE_TYPE_SR2 = 16,
}
#[repr(u32)]
#[doc = " @brief Data types"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum or_data_type {
OR_DATA_TYPE_NONE = 0,
#[doc = "< 8bit per channel RGB pixmap"]
OR_DATA_TYPE_PIXMAP_8RGB = 1,
#[doc = "< 16bit per channel RGB pixmap"]
OR_DATA_TYPE_PIXMAP_16RGB = 2,
#[doc = "< JPEG data"]
OR_DATA_TYPE_JPEG = 3,
#[doc = "< TIFF container"]
OR_DATA_TYPE_TIFF = 4,
#[doc = "< PNG container"]
OR_DATA_TYPE_PNG = 5,
#[doc = "< RAW container"]
OR_DATA_TYPE_RAW = 6,
#[doc = "< compressed RAW container"]
OR_DATA_TYPE_COMPRESSED_RAW = 7,
OR_DATA_TYPE_UNKNOWN = 8,
}
#[repr(u32)]
#[doc = " @brief CFA pattern types"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum or_cfa_pattern {
#[doc = "< Invalid value"]
OR_CFA_PATTERN_NONE = 0,
#[doc = "< Non RGB 2x2 CFA"]
OR_CFA_PATTERN_NON_RGB22 = 1,
OR_CFA_PATTERN_RGGB = 2,
OR_CFA_PATTERN_GBRG = 3,
OR_CFA_PATTERN_BGGR = 4,
OR_CFA_PATTERN_GRBG = 5,
_OR_CFA_PATTERN_INVALID = 6,
}
#[repr(u32)]
#[doc = " @brief CFA colour components"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum or_cfa_pattern_colour {
#[doc = "< Red"]
OR_PATTERN_COLOUR_RED = 0,
#[doc = "< Green"]
OR_PATTERN_COLOUR_GREEN = 1,
OR_PATTERN_COLOUR_BLUE = 2,
}
#[repr(u32)]
#[doc = " @brief Options"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum or_options {
#[doc = "< No options"]
OR_OPTIONS_NONE = 0,
#[doc = "< Don't decompress"]
OR_OPTIONS_DONT_DECOMPRESS = 1,
}
#[repr(u32)]
#[doc = " @brief Where the colour matrix comes from."]
#[doc = " Typically DNG is provided. The others are built-in."]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum or_colour_matrix_origin {
#[doc = "< Unknown. This usually signify an error"]
OR_COLOUR_MATRIX_UNKNOWN = 0,
#[doc = "< Colour matrix in library"]
OR_COLOUR_MATRIX_BUILTIN = 1,
#[doc = "< Colour matrix provided by file"]
OR_COLOUR_MATRIX_PROVIDED = 2,
}
#[doc = " @brief This is the type ID, a combination of vendor model"]
#[doc = " It maps a specific camera. Only for the NATIVE file format."]
pub type or_rawfile_typeid = u32;
#[repr(u32)]
#[doc = " @brief Type of IfdDir"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum or_ifd_dir_type {
#[doc = " Generic"]
OR_IFD_OTHER = 0,
#[doc = " Main (like in TIFF)"]
OR_IFD_MAIN = 1,
#[doc = " Exif metadata"]
OR_IFD_EXIF = 2,
#[doc = " MakerNote"]
OR_IFD_MNOTE = 3,
#[doc = " RAW data"]
OR_IFD_RAW = 4,
#[doc = " SubIFD"]
OR_IFD_SUBIFD = 5,
#[doc = " INVALID value"]
OR_IFD_INVALID = 10000,
}
pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_NONE: _OR_TYPE_ID_VENDOR = 0;
pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_CANON: _OR_TYPE_ID_VENDOR = 1;
pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_NIKON: _OR_TYPE_ID_VENDOR = 2;
pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_LEICA: _OR_TYPE_ID_VENDOR = 3;
pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_PENTAX: _OR_TYPE_ID_VENDOR = 4;
pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_EPSON: _OR_TYPE_ID_VENDOR = 5;
pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_MINOLTA: _OR_TYPE_ID_VENDOR = 6;
pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_OLYMPUS: _OR_TYPE_ID_VENDOR = 7;
pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_SONY: _OR_TYPE_ID_VENDOR = 8;
pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_SAMSUNG: _OR_TYPE_ID_VENDOR = 9;
pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_RICOH: _OR_TYPE_ID_VENDOR = 10;
pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_PANASONIC: _OR_TYPE_ID_VENDOR = 11;
pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_MAMIYA: _OR_TYPE_ID_VENDOR = 12;
#[doc = "< Generic DNG files."]
pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_ADOBE: _OR_TYPE_ID_VENDOR = 13;
pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_FUJIFILM: _OR_TYPE_ID_VENDOR = 14;
pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_BLACKMAGIC: _OR_TYPE_ID_VENDOR = 15;
pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_XIAOYI: _OR_TYPE_ID_VENDOR = 16;
pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_APPLE: _OR_TYPE_ID_VENDOR = 17;
pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_SIGMA: _OR_TYPE_ID_VENDOR = 18;
pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_GOPRO: _OR_TYPE_ID_VENDOR = 19;
pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_HASSELBLAD: _OR_TYPE_ID_VENDOR = 20;
pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_ZEISS: _OR_TYPE_ID_VENDOR = 21;
pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_DJI: _OR_TYPE_ID_VENDOR = 22;
pub const _OR_TYPE_ID_VENDOR__OR_TYPEID_VENDOR_LAST: _OR_TYPE_ID_VENDOR = 23;
#[doc = " @brief The vendor ID: the high order 16-bits of the or_rawfile_typeid"]
pub type _OR_TYPE_ID_VENDOR = ::std::os::raw::c_uint;
#[repr(u32)]
#[doc = " @brief Adobe type ID"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _OR_TYPEID_VENDOR_ADOBE {
OR_TYPEID_ADOBE_UNKNOWN = 0,
#[doc = "< Generic DNG file."]
OR_TYPEID_ADOBE_DNG_GENERIC = 1,
_OR_TYPEID_ADOBE_LAST = 2,
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_REBEL_XT: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_350D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_KISS_DIGITAL_N: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_350D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_REBEL_XTI: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_400D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_KISS_DIGITAL_X: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_400D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_REBEL_XSI: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_450D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_KISS_X2: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_450D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_DIGITAL_REBEL: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_300D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_REBEL_T1I: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_500D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_KISS_X3: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_500D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_REBEL_T2I: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_550D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_KISS_X4: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_550D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_REBEL_XS: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_1000D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_KISS_F: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_1000D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_60D: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_50D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_REBEL_T3I: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_600D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_KISS_X5: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_600D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_REBEL_T3: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_1100D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_KISS_X50: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_1100D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_REBEL_T4I: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_650D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_KISS_X6I: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_650D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_REBEL_SL1: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_100D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_KISS_X7: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_100D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_REBEL_T5I: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_700D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_KISS_X7I: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_700D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_REBEL_T6I: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_750D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_KISS_X8I: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_750D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_REBEL_T6S: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_760D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_8000D: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_760D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_REBEL_T6: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_1300D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_KISS_X80: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_1300D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_REBEL_T5: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_1200D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_KISS_X70: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_1200D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_REBEL_T7I: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_800D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_KISS_X9I: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_800D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_9000D: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_77D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_REBEL_SL2: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_200D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_KISS_X9: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_200D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_KISS_M: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_EOS_M50;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_REBEL_T7: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_2000D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_KISS_X90: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_2000D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_T100: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_3000D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_4000D: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_3000D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_REBEL_SL3: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_250D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_KISS_X10: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_250D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_200D_MKII: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_250D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_REBEL_T8I: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_850D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_KISS_X10I: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_850D;
}
impl _OR_TYPEID_VENDOR_CANON {
pub const OR_TYPEID_CANON_KISS_M2: _OR_TYPEID_VENDOR_CANON =
_OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_EOS_M50MKII;
}
#[repr(u32)]
#[doc = " @brief Canon type IDs"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _OR_TYPEID_VENDOR_CANON {
OR_TYPEID_CANON_UNKNOWN = 0,
OR_TYPEID_CANON_20D = 1,
OR_TYPEID_CANON_30D = 2,
OR_TYPEID_CANON_40D = 3,
OR_TYPEID_CANON_350D = 4,
OR_TYPEID_CANON_400D = 5,
OR_TYPEID_CANON_450D = 6,
OR_TYPEID_CANON_5D = 7,
OR_TYPEID_CANON_1D = 8,
OR_TYPEID_CANON_1DMKII = 9,
OR_TYPEID_CANON_1DMKIII = 10,
OR_TYPEID_CANON_1DS = 11,
OR_TYPEID_CANON_1DSMKII = 12,
OR_TYPEID_CANON_1DSMKIII = 13,
OR_TYPEID_CANON_300D = 14,
OR_TYPEID_CANON_D30 = 15,
OR_TYPEID_CANON_D60 = 16,
OR_TYPEID_CANON_10D = 17,
OR_TYPEID_CANON_PRO1 = 18,
OR_TYPEID_CANON_G1 = 19,
OR_TYPEID_CANON_G2 = 20,
OR_TYPEID_CANON_G3 = 21,
OR_TYPEID_CANON_G5 = 22,
OR_TYPEID_CANON_G6 = 23,
OR_TYPEID_CANON_G7 = 24,
OR_TYPEID_CANON_G9 = 25,
OR_TYPEID_CANON_A610 = 26,
OR_TYPEID_CANON_20DA = 27,
OR_TYPEID_CANON_7D = 28,
OR_TYPEID_CANON_G11 = 29,
OR_TYPEID_CANON_1DMKIV = 30,
OR_TYPEID_CANON_500D = 31,
OR_TYPEID_CANON_5DMKII = 32,
OR_TYPEID_CANON_550D = 33,
OR_TYPEID_CANON_1000D = 34,
OR_TYPEID_CANON_G10 = 35,
OR_TYPEID_CANON_50D = 36,
OR_TYPEID_CANON_S90 = 37,
OR_TYPEID_CANON_G12 = 38,
OR_TYPEID_CANON_S95 = 39,
OR_TYPEID_CANON_600D = 40,
OR_TYPEID_CANON_1100D = 41,
OR_TYPEID_CANON_G1X = 42,
OR_TYPEID_CANON_S100 = 43,
OR_TYPEID_CANON_5DMKIII = 44,
OR_TYPEID_CANON_1DX = 45,
OR_TYPEID_CANON_60Da = 46,
OR_TYPEID_CANON_650D = 47,
OR_TYPEID_CANON_G15 = 48,
OR_TYPEID_CANON_6D = 49,
OR_TYPEID_CANON_EOS_M = 50,
OR_TYPEID_CANON_SX50_HS = 51,
OR_TYPEID_CANON_S110 = 52,
OR_TYPEID_CANON_100D = 53,
OR_TYPEID_CANON_700D = 54,
OR_TYPEID_CANON_G16 = 55,
OR_TYPEID_CANON_70D = 56,
OR_TYPEID_CANON_7DMKII = 57,
OR_TYPEID_CANON_G7X = 58,
OR_TYPEID_CANON_G1XMKII = 59,
OR_TYPEID_CANON_750D = 60,
OR_TYPEID_CANON_760D = 61,
OR_TYPEID_CANON_5DS_R = 62,
OR_TYPEID_CANON_G3X = 63,
OR_TYPEID_CANON_G9XMKII = 64,
OR_TYPEID_CANON_5DMKIV = 65,
OR_TYPEID_CANON_EOS_M5 = 66,
OR_TYPEID_CANON_G5X = 67,
OR_TYPEID_CANON_G7XMKII = 68,
OR_TYPEID_CANON_1300D = 69,
OR_TYPEID_CANON_EOS_M3 = 70,
OR_TYPEID_CANON_1DXMKII = 71,
OR_TYPEID_CANON_80D = 72,
OR_TYPEID_CANON_1200D = 73,
OR_TYPEID_CANON_G9X = 74,
OR_TYPEID_CANON_EOS_M10 = 75,
OR_TYPEID_CANON_800D = 76,
OR_TYPEID_CANON_77D = 77,
OR_TYPEID_CANON_EOS_M6 = 78,
OR_TYPEID_CANON_EOS_M100 = 79,
OR_TYPEID_CANON_6DMKII = 80,
OR_TYPEID_CANON_200D = 81,
OR_TYPEID_CANON_G1XMKIII = 82,
OR_TYPEID_CANON_5DS = 83,
OR_TYPEID_CANON_EOS_M50 = 84,
OR_TYPEID_CANON_SX1_IS = 85,
OR_TYPEID_CANON_S120 = 86,
OR_TYPEID_CANON_SX60_HS = 87,
OR_TYPEID_CANON_2000D = 88,
OR_TYPEID_CANON_EOS_R = 89,
OR_TYPEID_CANON_3000D = 90,
OR_TYPEID_CANON_1DMKIIN = 91,
OR_TYPEID_CANON_SX70_HS = 92,
OR_TYPEID_CANON_EOS_RP = 93,
OR_TYPEID_CANON_250D = 94,
OR_TYPEID_CANON_G7XMKIII = 95,
OR_TYPEID_CANON_G5XMKII = 96,
OR_TYPEID_CANON_EOS_M6MKII = 97,
OR_TYPEID_CANON_90D = 98,
OR_TYPEID_CANON_EOS_M200 = 99,
OR_TYPEID_CANON_1DXMKIII = 100,
OR_TYPEID_CANON_EOS_R5 = 101,
OR_TYPEID_CANON_EOS_R6 = 102,
OR_TYPEID_CANON_S30 = 103,
OR_TYPEID_CANON_S40 = 104,
OR_TYPEID_CANON_S45 = 105,
OR_TYPEID_CANON_S50 = 106,
OR_TYPEID_CANON_S60 = 107,
OR_TYPEID_CANON_S70 = 108,
OR_TYPEID_CANON_S100V = 109,
OR_TYPEID_CANON_PRO70 = 110,
OR_TYPEID_CANON_PRO90 = 111,
OR_TYPEID_CANON_850D = 112,
OR_TYPEID_CANON_EOS_M2 = 113,
OR_TYPEID_CANON_EOS_M50MKII = 114,
OR_TYPEID_CANON_EOS_R3 = 115,
OR_TYPEID_CANON_EOS_R7 = 116,
OR_TYPEID_CANON_EOS_R10 = 117,
OR_TYPEID_CANON_EOS_R6MKII = 118,
_OR_TYPEID_CANON_LAST = 119,
}
#[repr(u32)]
#[doc = " @brief Nikon type IDs"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _OR_TYPEID_VENDOR_NIKON {
OR_TYPEID_NIKON_UNKNOWN = 0,
OR_TYPEID_NIKON_E5700 = 1,
OR_TYPEID_NIKON_D1 = 2,
OR_TYPEID_NIKON_D1X = 3,
OR_TYPEID_NIKON_D100 = 4,
OR_TYPEID_NIKON_D2H = 5,
OR_TYPEID_NIKON_D2X = 6,
OR_TYPEID_NIKON_D200 = 7,
OR_TYPEID_NIKON_D3 = 8,
OR_TYPEID_NIKON_D300 = 9,
OR_TYPEID_NIKON_D40 = 10,
OR_TYPEID_NIKON_D40X = 11,
OR_TYPEID_NIKON_D50 = 12,
OR_TYPEID_NIKON_D70 = 13,
OR_TYPEID_NIKON_D70S = 14,
OR_TYPEID_NIKON_D80 = 15,
OR_TYPEID_NIKON_D3000 = 16,
OR_TYPEID_NIKON_COOLPIX_P6000 = 17,
OR_TYPEID_NIKON_COOLPIX_P7000 = 18,
OR_TYPEID_NIKON_D7000 = 19,
OR_TYPEID_NIKON_D3100 = 20,
OR_TYPEID_NIKON_1_J1 = 21,
OR_TYPEID_NIKON_1_V1 = 22,
OR_TYPEID_NIKON_COOLPIX_P7100 = 23,
OR_TYPEID_NIKON_D5000 = 24,
OR_TYPEID_NIKON_D5100 = 25,
OR_TYPEID_NIKON_D4 = 26,
OR_TYPEID_NIKON_D3S = 27,
OR_TYPEID_NIKON_D3X = 28,
OR_TYPEID_NIKON_D300S = 29,
OR_TYPEID_NIKON_D3200 = 30,
OR_TYPEID_NIKON_D700 = 31,
OR_TYPEID_NIKON_D800 = 32,
OR_TYPEID_NIKON_D800E = 33,
OR_TYPEID_NIKON_D90 = 34,
OR_TYPEID_NIKON_D600 = 35,
OR_TYPEID_NIKON_COOLPIX_P7700 = 36,
OR_TYPEID_NIKON_1_V2 = 37,
OR_TYPEID_NIKON_D5200 = 38,
OR_TYPEID_NIKON_D7100 = 39,
OR_TYPEID_NIKON_COOLPIX_A = 40,
OR_TYPEID_NIKON_1_J2 = 41,
OR_TYPEID_NIKON_1_J3 = 42,
OR_TYPEID_NIKON_1_S1 = 43,
OR_TYPEID_NIKON_D60 = 44,
OR_TYPEID_NIKON_DF = 45,
OR_TYPEID_NIKON_E5400 = 46,
OR_TYPEID_NIKON_E8400 = 47,
OR_TYPEID_NIKON_D4S = 48,
OR_TYPEID_NIKON_D610 = 49,
OR_TYPEID_NIKON_D750 = 50,
OR_TYPEID_NIKON_1_J5 = 51,
OR_TYPEID_NIKON_1_V3 = 52,
OR_TYPEID_NIKON_D7200 = 53,
OR_TYPEID_NIKON_D5300 = 54,
OR_TYPEID_NIKON_D5500 = 55,
OR_TYPEID_NIKON_D3300 = 56,
OR_TYPEID_NIKON_D810 = 57,
OR_TYPEID_NIKON_D5600 = 58,
OR_TYPEID_NIKON_D3400 = 59,
OR_TYPEID_NIKON_D5 = 60,
OR_TYPEID_NIKON_D500 = 61,
OR_TYPEID_NIKON_1_AW1 = 62,
OR_TYPEID_NIKON_1_S2 = 63,
OR_TYPEID_NIKON_1_J4 = 64,
OR_TYPEID_NIKON_COOLPIX_B700 = 65,
OR_TYPEID_NIKON_COOLPIX_P330 = 66,
OR_TYPEID_NIKON_COOLPIX_P340 = 67,
OR_TYPEID_NIKON_Z6 = 68,
OR_TYPEID_NIKON_Z7 = 69,
OR_TYPEID_NIKON_COOLPIX_P1000 = 70,
OR_TYPEID_NIKON_E8800 = 71,
OR_TYPEID_NIKON_D3500 = 72,
OR_TYPEID_NIKON_D2HS = 73,
OR_TYPEID_NIKON_D2XS = 74,
OR_TYPEID_NIKON_COOLPIX_A1000 = 75,
OR_TYPEID_NIKON_D780 = 76,
OR_TYPEID_NIKON_Z50 = 77,
OR_TYPEID_NIKON_COOLPIX_P950 = 78,
OR_TYPEID_NIKON_D6 = 79,
OR_TYPEID_NIKON_Z5 = 80,
OR_TYPEID_NIKON_Z6_2 = 81,
OR_TYPEID_NIKON_Z7_2 = 82,
OR_TYPEID_NIKON_ZFC = 83,
OR_TYPEID_NIKON_Z9 = 84,
OR_TYPEID_NIKON_D1H = 85,
OR_TYPEID_NIKON_D7500 = 86,
OR_TYPEID_NIKON_D850 = 87,
OR_TYPEID_NIKON_COOLPIX_P7800 = 88,
OR_TYPEID_NIKON_Z30 = 89,
_OR_TYPEID_NIKON_LAST = 90,
}
#[repr(u32)]
#[doc = " @brief Leica type IDs"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _OR_TYPEID_VENDOR_LEICA {
OR_TYPEID_LEICA_UNKNOWN = 0,
OR_TYPEID_LEICA_DMR = 1,
OR_TYPEID_LEICA_M8 = 2,
OR_TYPEID_LEICA_X1 = 3,
OR_TYPEID_LEICA_DIGILUX2 = 4,
OR_TYPEID_LEICA_DLUX_3 = 5,
OR_TYPEID_LEICA_VLUX_1 = 6,
OR_TYPEID_LEICA_M9 = 7,
OR_TYPEID_LEICA_S2 = 8,
OR_TYPEID_LEICA_M_MONOCHROM = 9,
OR_TYPEID_LEICA_X2 = 10,
OR_TYPEID_LEICA_M_TYP240 = 11,
OR_TYPEID_LEICA_X_VARIO = 12,
OR_TYPEID_LEICA_T_TYP701 = 13,
OR_TYPEID_LEICA_Q_TYP116 = 14,
OR_TYPEID_LEICA_X_TYP113 = 15,
OR_TYPEID_LEICA_M10 = 16,
OR_TYPEID_LEICA_SL_TYP601 = 17,
OR_TYPEID_LEICA_DLUX_TYP109 = 18,
OR_TYPEID_LEICA_VLUX_4 = 19,
OR_TYPEID_LEICA_CL = 20,
OR_TYPEID_LEICA_VLUX_TYP114 = 21,
OR_TYPEID_LEICA_CLUX = 22,
OR_TYPEID_LEICA_M10P = 23,
OR_TYPEID_LEICA_M10D = 24,
OR_TYPEID_LEICA_TL2 = 25,
OR_TYPEID_LEICA_DLUX_5 = 26,
OR_TYPEID_LEICA_DLUX_7 = 27,
OR_TYPEID_LEICA_C_TYP112 = 28,
OR_TYPEID_LEICA_VLUX_5 = 29,
OR_TYPEID_LEICA_Q2 = 30,
OR_TYPEID_LEICA_SL2 = 31,
OR_TYPEID_LEICA_M10_MONOCHROM = 32,
OR_TYPEID_LEICA_M10R = 33,
OR_TYPEID_LEICA_M_MONOCHROM_TYP246 = 34,
OR_TYPEID_LEICA_DLUX_4 = 35,
OR_TYPEID_LEICA_SL2S = 36,
OR_TYPEID_LEICA_Q2_MONOCHROM = 37,
OR_TYPEID_LEICA_M11 = 38,
OR_TYPEID_LEICA_DIGILUX3 = 39,
OR_TYPEID_LEICA_DLUX_6 = 40,
_OR_TYPEID_LEICA_LAST = 41,
}
#[repr(u32)]
#[doc = " @brief Pentax type IDs"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _OR_TYPEID_VENDOR_PENTAX {
OR_TYPEID_PENTAX_UNKNOWN = 0,
OR_TYPEID_PENTAX_K10D_PEF = 1,
OR_TYPEID_PENTAX_K10D_DNG = 2,
OR_TYPEID_PENTAX_IST_D_PEF = 3,
OR_TYPEID_PENTAX_IST_DL_PEF = 4,
OR_TYPEID_PENTAX_K100D_PEF = 5,
OR_TYPEID_PENTAX_K100D_SUPER_PEF = 6,
OR_TYPEID_PENTAX_K20D_PEF = 7,
OR_TYPEID_PENTAX_KR_PEF = 8,
OR_TYPEID_PENTAX_KX_PEF = 9,
OR_TYPEID_PENTAX_K5_PEF = 10,
OR_TYPEID_PENTAX_K7_PEF = 11,
OR_TYPEID_PENTAX_645D_PEF = 12,
OR_TYPEID_PENTAX_645D_DNG = 13,
OR_TYPEID_PENTAX_K2000_DNG = 14,
OR_TYPEID_PENTAX_Q_DNG = 15,
OR_TYPEID_PENTAX_K200D_DNG = 16,
OR_TYPEID_PENTAX_KM_PEF = 17,
OR_TYPEID_PENTAX_KX_DNG = 18,
OR_TYPEID_PENTAX_KR_DNG = 19,
OR_TYPEID_PENTAX_K01_DNG = 20,
OR_TYPEID_PENTAX_K30_DNG = 21,
OR_TYPEID_PENTAX_K5_IIS_DNG = 22,
OR_TYPEID_PENTAX_MX1_DNG = 23,
OR_TYPEID_PENTAX_Q10_DNG = 24,
OR_TYPEID_PENTAX_Q7_DNG = 25,
OR_TYPEID_PENTAX_K3_DNG = 26,
OR_TYPEID_PENTAX_K50_DNG = 27,
OR_TYPEID_PENTAX_K500_DNG = 28,
OR_TYPEID_PENTAX_K200D_PEF = 29,
OR_TYPEID_PENTAX_IST_DS_PEF = 30,
OR_TYPEID_PENTAX_K5_IIS_PEF = 31,
OR_TYPEID_PENTAX_K3_II_DNG = 32,
OR_TYPEID_PENTAX_K1_PEF = 33,
OR_TYPEID_PENTAX_K1_DNG = 34,
OR_TYPEID_PENTAX_K70_PEF = 35,
OR_TYPEID_PENTAX_K70_DNG = 36,
OR_TYPEID_PENTAX_KS1_PEF = 37,
OR_TYPEID_PENTAX_KS1_DNG = 38,
OR_TYPEID_PENTAX_KS2_PEF = 39,
OR_TYPEID_PENTAX_KS2_DNG = 40,
OR_TYPEID_PENTAX_QS1_DNG = 41,
OR_TYPEID_PENTAX_QS1_PEF = 42,
OR_TYPEID_PENTAX_KP_PEF = 43,
OR_TYPEID_PENTAX_KP_DNG = 44,
OR_TYPEID_PENTAX_K1_MKII_PEF = 45,
OR_TYPEID_PENTAX_K1_MKII_DNG = 46,
OR_TYPEID_PENTAX_K7_DNG = 47,
OR_TYPEID_PENTAX_IST_DL2_PEF = 48,
OR_TYPEID_PENTAX_K5_II_PEF = 49,
OR_TYPEID_PENTAX_K5_II_DNG = 50,
OR_TYPEID_PENTAX_K3_PEF = 51,
OR_TYPEID_PENTAX_K3_II_PEF = 52,
OR_TYPEID_PENTAX_K110D_PEF = 53,
OR_TYPEID_PENTAX_K3_MKIII_PEF = 54,
OR_TYPEID_PENTAX_K3_MKIII_DNG = 55,
OR_TYPEID_PENTAX_K2000_PEF = 56,
_OR_TYPEID_PENTAX_LAST = 57,
}
#[repr(u32)]
#[doc = " @brief Epson type IDs"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _OR_TYPEID_VENDOR_EPSON {
OR_TYPEID_EPSON_UNKNOWN = 0,
OR_TYPEID_EPSON_RD1 = 1,
OR_TYPEID_EPSON_RD1S = 2,
OR_TYPEID_EPSON_RD1X = 3,
_OR_TYPEID_EPSON_LAST = 4,
}
#[repr(u32)]
#[doc = " @brief Minolta type IDs"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _OR_TYPEID_VENDOR_MINOLTA {
OR_TYPEID_MINOLTA_UNKNOWN = 0,
OR_TYPEID_MINOLTA_A1 = 1,
OR_TYPEID_MINOLTA_A2 = 2,
OR_TYPEID_MINOLTA_DIMAGE5 = 3,
OR_TYPEID_MINOLTA_DIMAGE7 = 4,
OR_TYPEID_MINOLTA_DIMAGE7I = 5,
OR_TYPEID_MINOLTA_DIMAGE7HI = 6,
OR_TYPEID_MINOLTA_MAXXUM_5D = 7,
OR_TYPEID_MINOLTA_MAXXUM_7D = 8,
OR_TYPEID_MINOLTA_A200 = 9,
_OR_TYPEID_MINOLTA_LAST = 10,
}
#[repr(u32)]
#[doc = " @brief Olympus (and its successor OM Digital Solutions type IDs"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _OR_TYPEID_VENDOR_OLYMPUS {
OR_TYPEID_OLYMPUS_UNKNOWN = 0,
OR_TYPEID_OLYMPUS_E1 = 1,
OR_TYPEID_OLYMPUS_E10 = 2,
OR_TYPEID_OLYMPUS_E3 = 3,
OR_TYPEID_OLYMPUS_E300 = 4,
OR_TYPEID_OLYMPUS_E330 = 5,
OR_TYPEID_OLYMPUS_E400 = 6,
OR_TYPEID_OLYMPUS_E410 = 7,
OR_TYPEID_OLYMPUS_E500 = 8,
OR_TYPEID_OLYMPUS_E510 = 9,
OR_TYPEID_OLYMPUS_SP350 = 10,
OR_TYPEID_OLYMPUS_SP510UZ = 11,
OR_TYPEID_OLYMPUS_SP550UZ = 12,
OR_TYPEID_OLYMPUS_SP500UZ = 13,
OR_TYPEID_OLYMPUS_EP1 = 14,
OR_TYPEID_OLYMPUS_E620 = 15,
OR_TYPEID_OLYMPUS_EPL1 = 16,
OR_TYPEID_OLYMPUS_EP2 = 17,
OR_TYPEID_OLYMPUS_XZ1 = 18,
OR_TYPEID_OLYMPUS_E5 = 19,
OR_TYPEID_OLYMPUS_EPL2 = 20,
OR_TYPEID_OLYMPUS_EP3 = 21,
OR_TYPEID_OLYMPUS_EPL3 = 22,
OR_TYPEID_OLYMPUS_EPM1 = 23,
OR_TYPEID_OLYMPUS_EM5 = 24,
OR_TYPEID_OLYMPUS_XZ2 = 25,
OR_TYPEID_OLYMPUS_EPM2 = 26,
OR_TYPEID_OLYMPUS_EPL5 = 27,
OR_TYPEID_OLYMPUS_EM1 = 28,
OR_TYPEID_OLYMPUS_STYLUS1 = 29,
OR_TYPEID_OLYMPUS_EPL6 = 30,
OR_TYPEID_OLYMPUS_EPL7 = 31,
OR_TYPEID_OLYMPUS_EM5II = 32,
OR_TYPEID_OLYMPUS_EM1II = 33,
OR_TYPEID_OLYMPUS_PEN_F = 34,
OR_TYPEID_OLYMPUS_EM10 = 35,
OR_TYPEID_OLYMPUS_EM10II = 36,
OR_TYPEID_OLYMPUS_EPL8 = 37,
OR_TYPEID_OLYMPUS_SH2 = 38,
OR_TYPEID_OLYMPUS_XZ10 = 39,
OR_TYPEID_OLYMPUS_TG4 = 40,
OR_TYPEID_OLYMPUS_EPL9 = 41,
OR_TYPEID_OLYMPUS_STYLUS1_1S = 42,
OR_TYPEID_OLYMPUS_EM10III = 43,
OR_TYPEID_OLYMPUS_TG5 = 44,
OR_TYPEID_OLYMPUS_EM1X = 45,
OR_TYPEID_OLYMPUS_TG6 = 46,
OR_TYPEID_OLYMPUS_EM5III = 47,
OR_TYPEID_OLYMPUS_SP565UZ = 48,
OR_TYPEID_OLYMPUS_EPL10 = 49,
OR_TYPEID_OLYMPUS_EM1III = 50,
OR_TYPEID_OLYMPUS_EM10IV = 51,
OR_TYPEID_OLYMPUS_EM10IIIS = 52,
OR_TYPEID_OLYMPUS_OM1 = 53,
OR_TYPEID_OLYMPUS_E30 = 54,
OR_TYPEID_OLYMPUS_EP5 = 55,
OR_TYPEID_OLYMPUS_E420 = 56,
OR_TYPEID_OLYMPUS_E450 = 57,
OR_TYPEID_OLYMPUS_E520 = 58,
OR_TYPEID_OLYMPUS_E600 = 59,
OR_TYPEID_OLYMPUS_C5060WZ = 60,
OR_TYPEID_OLYMPUS_SP570UZ = 61,
OR_TYPEID_OLYMPUS_EP7 = 62,
OR_TYPEID_OLYMPUS_OM5 = 63,
_OR_TYPEID_OLYMPUS_LAST = 64,
}
#[repr(u32)]
#[doc = " @brief Samsung type IDs"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _OR_TYPEID_VENDOR_SAMSUNG {
OR_TYPEID_SAMSUNG_UNKNOWN = 0,
OR_TYPEID_SAMSUNG_GX10 = 1,
OR_TYPEID_SAMSUNG_PRO815 = 2,
_OR_TYPEID_SAMSUNG_LAST = 3,
}
#[repr(u32)]
#[doc = " @brief Ricoh type IDs"]
#[doc = ""]
#[doc = " Following the merger with Pentax newer cameras may be Pentax."]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _OR_TYPEID_VENDOR_RICOH {
OR_TYPEID_RICOH_UNKNOWN = 0,
OR_TYPEID_RICOH_GR2 = 1,
OR_TYPEID_RICOH_GXR = 2,
OR_TYPEID_RICOH_GXR_A16 = 3,
OR_TYPEID_RICOH_GR = 4,
OR_TYPEID_RICOH_GX200 = 5,
OR_TYPEID_PENTAX_645Z_PEF = 6,
OR_TYPEID_PENTAX_645Z_DNG = 7,
OR_TYPEID_RICOH_GRII = 8,
OR_TYPEID_RICOH_GRIII = 9,
OR_TYPEID_RICOH_GRIIIX = 10,
_OR_TYPEID_RICOH_LAST = 11,
}
impl _OR_TYPEID_VENDOR_SONY {
pub const OR_TYPEID_SONY_A390: _OR_TYPEID_VENDOR_SONY =
_OR_TYPEID_VENDOR_SONY::OR_TYPEID_SONY_A380;
}
impl _OR_TYPEID_VENDOR_SONY {
pub const OR_TYPEID_SONY_ILCE3500: _OR_TYPEID_VENDOR_SONY =
_OR_TYPEID_VENDOR_SONY::OR_TYPEID_SONY_ILCE3000;
}
#[repr(u32)]
#[doc = " @brief Sony type IDs"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _OR_TYPEID_VENDOR_SONY {
OR_TYPEID_SONY_UNKNOWN = 0,
OR_TYPEID_SONY_A100 = 1,
OR_TYPEID_SONY_A200 = 2,
OR_TYPEID_SONY_A700 = 3,
OR_TYPEID_SONY_A550 = 4,
OR_TYPEID_SONY_A380 = 5,
OR_TYPEID_SONY_SLTA55 = 7,
OR_TYPEID_SONY_SLTA77 = 8,
OR_TYPEID_SONY_NEX3 = 9,
OR_TYPEID_SONY_NEX3N = 10,
OR_TYPEID_SONY_NEX5 = 11,
OR_TYPEID_SONY_NEX5N = 12,
OR_TYPEID_SONY_NEX5R = 13,
OR_TYPEID_SONY_NEX5T = 14,
OR_TYPEID_SONY_NEX6 = 15,
OR_TYPEID_SONY_NEX7 = 16,
OR_TYPEID_SONY_NEXC3 = 17,
OR_TYPEID_SONY_NEXF3 = 18,
OR_TYPEID_SONY_SLTA65 = 19,
OR_TYPEID_SONY_A330 = 21,
OR_TYPEID_SONY_A450 = 22,
OR_TYPEID_SONY_A580 = 23,
OR_TYPEID_SONY_A850 = 24,
OR_TYPEID_SONY_A900 = 25,
OR_TYPEID_SONY_SLTA35 = 26,
OR_TYPEID_SONY_SLTA33 = 27,
OR_TYPEID_SONY_A560 = 28,
OR_TYPEID_SONY_SLTA99 = 29,
OR_TYPEID_SONY_RX100 = 30,
OR_TYPEID_SONY_RX100M2 = 31,
OR_TYPEID_SONY_RX100M3 = 32,
OR_TYPEID_SONY_RX100M4 = 33,
OR_TYPEID_SONY_RX100M5 = 34,
OR_TYPEID_SONY_RX100M6 = 35,
OR_TYPEID_SONY_RX1 = 36,
OR_TYPEID_SONY_RX1R = 37,
OR_TYPEID_SONY_RX10 = 38,
OR_TYPEID_SONY_RX10M2 = 39,
OR_TYPEID_SONY_RX10M3 = 40,
OR_TYPEID_SONY_RX1RM2 = 41,
OR_TYPEID_SONY_RX10M4 = 42,
OR_TYPEID_SONY_RX0 = 43,
OR_TYPEID_SONY_SLTA57 = 44,
OR_TYPEID_SONY_ILCE7 = 45,
OR_TYPEID_SONY_ILCE7M2 = 46,
OR_TYPEID_SONY_ILCE7M3 = 47,
OR_TYPEID_SONY_ILCE7R = 48,
OR_TYPEID_SONY_ILCE7RM2 = 49,
OR_TYPEID_SONY_ILCE7RM3 = 50,
OR_TYPEID_SONY_ILCE7S = 51,
OR_TYPEID_SONY_ILCE7SM2 = 52,
OR_TYPEID_SONY_ILCE9 = 53,
OR_TYPEID_SONY_ILCE3000 = 54,
OR_TYPEID_SONY_SLTA58 = 55,
OR_TYPEID_SONY_ILCE6000 = 56,
OR_TYPEID_SONY_ILCA99M2 = 57,
OR_TYPEID_SONY_ILCE6300 = 58,
OR_TYPEID_SONY_ILCE6500 = 59,
OR_TYPEID_SONY_ILCE5100 = 60,
OR_TYPEID_SONY_A230 = 61,
OR_TYPEID_SONY_A500 = 62,
OR_TYPEID_SONY_SLTA37 = 63,
OR_TYPEID_SONY_ILCA77M2 = 64,
OR_TYPEID_SONY_ILCA68 = 65,
OR_TYPEID_SONY_ILCE5000 = 66,
OR_TYPEID_SONY_A290 = 67,
OR_TYPEID_SONY_RX100M5A = 68,
OR_TYPEID_SONY_HX99 = 69,
OR_TYPEID_SONY_ILCE6400 = 70,
OR_TYPEID_SONY_RX0M2 = 71,
OR_TYPEID_SONY_ILCE7RM4 = 72,
OR_TYPEID_SONY_RX100M7 = 73,
OR_TYPEID_SONY_ILCE6100 = 74,
OR_TYPEID_SONY_ILCE6600 = 75,
OR_TYPEID_SONY_ILCE9M2 = 76,
OR_TYPEID_SONY_ZV1 = 77,
OR_TYPEID_SONY_R1 = 78,
OR_TYPEID_SONY_ILCE7SM3 = 79,
OR_TYPEID_SONY_ILCE7C = 80,
OR_TYPEID_SONY_ZVE10 = 81,
OR_TYPEID_SONY_ILCE1 = 82,
OR_TYPEID_SONY_ILCE7M4 = 83,
OR_TYPEID_SONY_ILCEQX1 = 84,
OR_TYPEID_SONY_A350 = 85,
OR_TYPEID_SONY_A300 = 86,
OR_TYPEID_SONY_ILCE7RM3A = 87,
OR_TYPEID_SONY_ILCE7RM4A = 88,
OR_TYPEID_SONY_HX95 = 89,
OR_TYPEID_SONY_ILCE7RM5 = 90,
_OR_TYPEID_SONY_LAST = 91,
}
impl _OR_TYPEID_VENDOR_PANASONIC {
pub const OR_TYPEID_PANASONIC_GM1S: _OR_TYPEID_VENDOR_PANASONIC =
_OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_GM1;
}
impl _OR_TYPEID_VENDOR_PANASONIC {
pub const OR_TYPEID_PANASONIC_G85: _OR_TYPEID_VENDOR_PANASONIC =
_OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_G80;
}
impl _OR_TYPEID_VENDOR_PANASONIC {
pub const OR_TYPEID_PANASONIC_LX15: _OR_TYPEID_VENDOR_PANASONIC =
_OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_LX10;
}
impl _OR_TYPEID_VENDOR_PANASONIC {
pub const OR_TYPEID_PANASONIC_FZ2000: _OR_TYPEID_VENDOR_PANASONIC =
_OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_FZ2500;
}
impl _OR_TYPEID_VENDOR_PANASONIC {
pub const OR_TYPEID_PANASONIC_TX1: _OR_TYPEID_VENDOR_PANASONIC =
_OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_ZS100;
}
impl _OR_TYPEID_VENDOR_PANASONIC {
pub const OR_TYPEID_PANASONIC_TZ100: _OR_TYPEID_VENDOR_PANASONIC =
_OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_ZS100;
}
impl _OR_TYPEID_VENDOR_PANASONIC {
pub const OR_TYPEID_PANASONIC_TZ101: _OR_TYPEID_VENDOR_PANASONIC =
_OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_ZS100;
}
impl _OR_TYPEID_VENDOR_PANASONIC {
pub const OR_TYPEID_PANASONIC_TZ110: _OR_TYPEID_VENDOR_PANASONIC =
_OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_ZS100;
}
impl _OR_TYPEID_VENDOR_PANASONIC {
pub const OR_TYPEID_PANASONIC_GX85: _OR_TYPEID_VENDOR_PANASONIC =
_OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_GX80;
}
impl _OR_TYPEID_VENDOR_PANASONIC {
pub const OR_TYPEID_PANASONIC_FZ82: _OR_TYPEID_VENDOR_PANASONIC =
_OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_FZ80;
}
impl _OR_TYPEID_VENDOR_PANASONIC {
pub const OR_TYPEID_PANASONIC_TZ80: _OR_TYPEID_VENDOR_PANASONIC =
_OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_ZS60;
}
impl _OR_TYPEID_VENDOR_PANASONIC {
pub const OR_TYPEID_PANASONIC_TZ81: _OR_TYPEID_VENDOR_PANASONIC =
_OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_ZS60;
}
impl _OR_TYPEID_VENDOR_PANASONIC {
pub const OR_TYPEID_PANASONIC_GX7MK3: _OR_TYPEID_VENDOR_PANASONIC =
_OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_GX9;
}
impl _OR_TYPEID_VENDOR_PANASONIC {
pub const OR_TYPEID_PANASONIC_FZ38: _OR_TYPEID_VENDOR_PANASONIC =
_OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_FZ35;
}
impl _OR_TYPEID_VENDOR_PANASONIC {
pub const OR_TYPEID_PANASONIC_TX2: _OR_TYPEID_VENDOR_PANASONIC =
_OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_ZS200;
}
impl _OR_TYPEID_VENDOR_PANASONIC {
pub const OR_TYPEID_PANASONIC_TZ202: _OR_TYPEID_VENDOR_PANASONIC =
_OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_ZS200;
}
impl _OR_TYPEID_VENDOR_PANASONIC {
pub const OR_TYPEID_PANASONIC_DMC_FZ45: _OR_TYPEID_VENDOR_PANASONIC =
_OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_DMC_FZ40;
}
impl _OR_TYPEID_VENDOR_PANASONIC {
pub const OR_TYPEID_PANASONIC_DC_TZ95: _OR_TYPEID_VENDOR_PANASONIC =
_OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_DC_ZS80;
}
impl _OR_TYPEID_VENDOR_PANASONIC {
pub const OR_TYPEID_PANASONIC_DC_TZ96: _OR_TYPEID_VENDOR_PANASONIC =
_OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_DC_ZS80;
}
impl _OR_TYPEID_VENDOR_PANASONIC {
pub const OR_TYPEID_PANASONIC_GX880: _OR_TYPEID_VENDOR_PANASONIC =
_OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_GF10;
}
impl _OR_TYPEID_VENDOR_PANASONIC {
pub const OR_TYPEID_PANASONIC_DC_G90: _OR_TYPEID_VENDOR_PANASONIC =
_OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_DC_G99;
}
impl _OR_TYPEID_VENDOR_PANASONIC {
pub const OR_TYPEID_PANASONIC_DC_G91: _OR_TYPEID_VENDOR_PANASONIC =
_OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_DC_G99;
}
impl _OR_TYPEID_VENDOR_PANASONIC {
pub const OR_TYPEID_PANASONIC_DC_G110: _OR_TYPEID_VENDOR_PANASONIC =
_OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_DC_G100;
}
impl _OR_TYPEID_VENDOR_PANASONIC {
pub const OR_TYPEID_PANASONIC_G70: _OR_TYPEID_VENDOR_PANASONIC =
_OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_G7;
}
impl _OR_TYPEID_VENDOR_PANASONIC {
pub const OR_TYPEID_PANASONIC_TZ60: _OR_TYPEID_VENDOR_PANASONIC =
_OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_ZS40;
}
impl _OR_TYPEID_VENDOR_PANASONIC {
pub const OR_TYPEID_PANASONIC_TZ61: _OR_TYPEID_VENDOR_PANASONIC =
_OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_ZS40;
}
impl _OR_TYPEID_VENDOR_PANASONIC {
pub const OR_TYPEID_PANASONIC_G81: _OR_TYPEID_VENDOR_PANASONIC =
_OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_G8;
}
impl _OR_TYPEID_VENDOR_PANASONIC {
pub const OR_TYPEID_PANASONIC_FZ72: _OR_TYPEID_VENDOR_PANASONIC =
_OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_FZ70;
}
impl _OR_TYPEID_VENDOR_PANASONIC {
pub const OR_TYPEID_PANASONIC_TZ71: _OR_TYPEID_VENDOR_PANASONIC =
_OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_ZS50;
}
impl _OR_TYPEID_VENDOR_PANASONIC {
pub const OR_TYPEID_PANASONIC_TZ90: _OR_TYPEID_VENDOR_PANASONIC =
_OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_ZS70;
}
#[repr(u32)]
#[doc = " @brief Panasonic type IDs"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _OR_TYPEID_VENDOR_PANASONIC {
OR_TYPEID_PANASONIC_UNKNOWN = 0,
OR_TYPEID_PANASONIC_GF1 = 1,
OR_TYPEID_PANASONIC_GF2 = 2,
OR_TYPEID_PANASONIC_FZ30 = 3,
OR_TYPEID_PANASONIC_G10 = 4,
OR_TYPEID_PANASONIC_GH1 = 5,
OR_TYPEID_PANASONIC_GH2 = 6,
OR_TYPEID_PANASONIC_LX2 = 7,
OR_TYPEID_PANASONIC_LX3 = 8,
OR_TYPEID_PANASONIC_LX5 = 9,
OR_TYPEID_PANASONIC_FZ8 = 10,
OR_TYPEID_PANASONIC_FZ18 = 11,
OR_TYPEID_PANASONIC_FZ50 = 12,
OR_TYPEID_PANASONIC_L1 = 13,
OR_TYPEID_PANASONIC_G1 = 14,
OR_TYPEID_PANASONIC_G2 = 15,
OR_TYPEID_PANASONIC_L10 = 16,
OR_TYPEID_PANASONIC_FZ28 = 17,
OR_TYPEID_PANASONIC_GF3 = 18,
OR_TYPEID_PANASONIC_FZ100 = 19,
OR_TYPEID_PANASONIC_GX1 = 20,
OR_TYPEID_PANASONIC_G3 = 21,
OR_TYPEID_PANASONIC_G5 = 22,
OR_TYPEID_PANASONIC_GF5 = 23,
OR_TYPEID_PANASONIC_LX7 = 24,
OR_TYPEID_PANASONIC_GH3 = 25,
OR_TYPEID_PANASONIC_FZ200 = 26,
OR_TYPEID_PANASONIC_GF6 = 27,
OR_TYPEID_PANASONIC_GX7 = 28,
OR_TYPEID_PANASONIC_GM1 = 29,
OR_TYPEID_PANASONIC_GH4 = 30,
OR_TYPEID_PANASONIC_LX100 = 31,
OR_TYPEID_PANASONIC_GM5 = 32,
OR_TYPEID_PANASONIC_G80 = 33,
OR_TYPEID_PANASONIC_LX10 = 34,
OR_TYPEID_PANASONIC_FZ2500 = 35,
OR_TYPEID_PANASONIC_GX8 = 36,
OR_TYPEID_PANASONIC_ZS100 = 37,
OR_TYPEID_PANASONIC_GX80 = 38,
OR_TYPEID_PANASONIC_GH5 = 39,
OR_TYPEID_PANASONIC_GX850 = 40,
OR_TYPEID_PANASONIC_FZ80 = 41,
OR_TYPEID_PANASONIC_FZ330 = 42,
OR_TYPEID_PANASONIC_TZ70 = 43,
OR_TYPEID_PANASONIC_ZS60 = 44,
OR_TYPEID_PANASONIC_GF7 = 46,
OR_TYPEID_PANASONIC_CM1 = 47,
OR_TYPEID_PANASONIC_GX9 = 48,
OR_TYPEID_PANASONIC_GX800 = 49,
OR_TYPEID_PANASONIC_G9 = 52,
OR_TYPEID_PANASONIC_DC_FZ45 = 53,
OR_TYPEID_PANASONIC_GH5S = 54,
OR_TYPEID_PANASONIC_LX1 = 55,
OR_TYPEID_PANASONIC_FZ150 = 56,
OR_TYPEID_PANASONIC_FZ35 = 57,
OR_TYPEID_PANASONIC_ZS200 = 58,
OR_TYPEID_PANASONIC_GX7MK2 = 59,
OR_TYPEID_PANASONIC_LX100M2 = 60,
OR_TYPEID_PANASONIC_DMC_FZ40 = 61,
OR_TYPEID_PANASONIC_DC_S1 = 62,
OR_TYPEID_PANASONIC_DC_S1R = 63,
OR_TYPEID_PANASONIC_DC_G95 = 64,
OR_TYPEID_PANASONIC_DMC_FZ1000 = 65,
OR_TYPEID_PANASONIC_DC_FZ1000M2 = 66,
OR_TYPEID_PANASONIC_DC_ZS80 = 67,
OR_TYPEID_PANASONIC_GF10 = 68,
OR_TYPEID_PANASONIC_DC_G99 = 69,
OR_TYPEID_PANASONIC_DC_S1H = 70,
OR_TYPEID_PANASONIC_DC_G100 = 71,
OR_TYPEID_PANASONIC_DC_S5 = 72,
OR_TYPEID_PANASONIC_GH5M2 = 73,
OR_TYPEID_PANASONIC_GH6 = 74,
OR_TYPEID_PANASONIC_G7 = 75,
OR_TYPEID_PANASONIC_ZS40 = 76,
OR_TYPEID_PANASONIC_G6 = 77,
OR_TYPEID_PANASONIC_G8 = 78,
OR_TYPEID_PANASONIC_LF1 = 79,
OR_TYPEID_PANASONIC_FZ300 = 80,
OR_TYPEID_PANASONIC_FZ70 = 81,
OR_TYPEID_PANASONIC_ZS50 = 82,
OR_TYPEID_PANASONIC_ZS70 = 83,
_OR_TYPEID_PANASONIC_LAST = 84,
}
impl _OR_TYPEID_VENDOR_FUJIFILM {
pub const OR_TYPEID_FUJIFILM_HS33EXR: _OR_TYPEID_VENDOR_FUJIFILM =
_OR_TYPEID_VENDOR_FUJIFILM::OR_TYPEID_FUJIFILM_HS30EXR;
}
#[repr(u32)]
#[doc = " @brief Fujifilm type IDs"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _OR_TYPEID_VENDOR_FUJIFILM {
OR_TYPEID_FUJIFILM_UNKNOWN = 0,
OR_TYPEID_FUJIFILM_F700 = 1,
OR_TYPEID_FUJIFILM_E900 = 2,
OR_TYPEID_FUJIFILM_S2PRO = 3,
OR_TYPEID_FUJIFILM_S3PRO = 4,
OR_TYPEID_FUJIFILM_S5PRO = 5,
OR_TYPEID_FUJIFILM_F810 = 6,
OR_TYPEID_FUJIFILM_S5000 = 7,
OR_TYPEID_FUJIFILM_S5600 = 8,
OR_TYPEID_FUJIFILM_S9500 = 9,
OR_TYPEID_FUJIFILM_S6500FD = 10,
OR_TYPEID_FUJIFILM_HS10 = 11,
OR_TYPEID_FUJIFILM_HS30EXR = 12,
OR_TYPEID_FUJIFILM_S200EXR = 13,
OR_TYPEID_FUJIFILM_X100 = 14,
OR_TYPEID_FUJIFILM_X100S = 15,
OR_TYPEID_FUJIFILM_X100T = 16,
OR_TYPEID_FUJIFILM_X100F = 17,
OR_TYPEID_FUJIFILM_X10 = 18,
OR_TYPEID_FUJIFILM_X20 = 19,
OR_TYPEID_FUJIFILM_X30 = 20,
OR_TYPEID_FUJIFILM_X70 = 21,
OR_TYPEID_FUJIFILM_XPRO1 = 22,
OR_TYPEID_FUJIFILM_XPRO2 = 23,
OR_TYPEID_FUJIFILM_XS1 = 24,
OR_TYPEID_FUJIFILM_XE1 = 25,
OR_TYPEID_FUJIFILM_XE2 = 26,
OR_TYPEID_FUJIFILM_XE2S = 27,
OR_TYPEID_FUJIFILM_XE3 = 28,
OR_TYPEID_FUJIFILM_XF1 = 29,
OR_TYPEID_FUJIFILM_XM1 = 30,
OR_TYPEID_FUJIFILM_XT1 = 31,
OR_TYPEID_FUJIFILM_XT10 = 32,
OR_TYPEID_FUJIFILM_XT100 = 33,
OR_TYPEID_FUJIFILM_XT2 = 34,
OR_TYPEID_FUJIFILM_XT20 = 35,
OR_TYPEID_FUJIFILM_XT3 = 36,
OR_TYPEID_FUJIFILM_XA1 = 37,
OR_TYPEID_FUJIFILM_XA2 = 38,
OR_TYPEID_FUJIFILM_XA3 = 39,
OR_TYPEID_FUJIFILM_XA5 = 40,
OR_TYPEID_FUJIFILM_XQ1 = 41,
OR_TYPEID_FUJIFILM_XQ2 = 42,
OR_TYPEID_FUJIFILM_XH1 = 43,
OR_TYPEID_FUJIFILM_GFX50S = 44,
OR_TYPEID_FUJIFILM_GFX50R = 45,
OR_TYPEID_FUJIFILM_XF10 = 46,
OR_TYPEID_FUJIFILM_XT30 = 47,
OR_TYPEID_FUJIFILM_GFX100 = 48,
OR_TYPEID_FUJIFILM_XA7 = 49,
OR_TYPEID_FUJIFILM_XPRO3 = 50,
OR_TYPEID_FUJIFILM_XT200 = 51,
OR_TYPEID_FUJIFILM_X100V = 52,
OR_TYPEID_FUJIFILM_XT4 = 53,
OR_TYPEID_FUJIFILM_F550EXR = 54,
OR_TYPEID_FUJIFILM_S100FS = 55,
OR_TYPEID_FUJIFILM_XS10 = 56,
OR_TYPEID_FUJIFILM_XT30_II = 57,
OR_TYPEID_FUJIFILM_GFX50S_II = 58,
OR_TYPEID_FUJIFILM_GFX100S = 59,
OR_TYPEID_FUJIFILM_XE4 = 60,
OR_TYPEID_FUJIFILM_XA10 = 61,
OR_TYPEID_FUJIFILM_XH2S = 62,
OR_TYPEID_FUJIFILM_XH2 = 63,
OR_TYPEID_FUJIFILM_XT5 = 64,
OR_TYPEID_FUJIFILM_HS50EXR = 65,
OR_TYPEID_FUJIFILM_S6000FD = 66,
OR_TYPEID_FUJIFILM_SL1000 = 67,
_OR_TYPEID_FUJIFILM_LAST = 68,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _OR_TYPEID_VENDOR_BLACKMAGIC {
OR_TYPEID_BLACKMAGIC_UNKNOWN = 0,
OR_TYPEID_BLACKMAGIC_POCKET_CINEMA = 1,
_OR_TYPEID_BLACKMAGIC_LAST = 2,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _OR_TYPEID_VENDOR_XIAOYI {
OR_TYPEID_XIAOYI_UNKNOWN = 0,
OR_TYPEID_XIAOYI_M1 = 1,
OR_TYPEID_XIAOYI_YDXJ_2 = 2,
OR_TYPEID_XIAOYI_YIAC_3 = 3,
_OR_TYPEID_XIAOYI_LAST = 4,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _OR_TYPEID_VENDOR_APPLE {
OR_TYPEID_APPLE_UNKNOWN = 0,
OR_TYPEID_APPLE_IPHONE_6SPLUS = 1,
OR_TYPEID_APPLE_IPHONE_7PLUS = 2,
OR_TYPEID_APPLE_IPHONE_SE = 3,
OR_TYPEID_APPLE_IPHONE_8 = 4,
OR_TYPEID_APPLE_IPHONE_XS = 5,
OR_TYPEID_APPLE_IPHONE_12_PRO = 6,
OR_TYPEID_APPLE_IPHONE_13_PRO = 7,
_OR_TYPEID_APPLE_LAST = 8,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _OR_TYPEID_VENDOR_SIGMA {
OR_TYPEID_SIGMA_UNKNOWN = 0,
OR_TYPEID_SIGMA_FP = 1,
OR_TYPEID_SIGMA_FP_L = 2,
_OR_TYPEID_SIGMA_LAST = 3,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _OR_TYPEID_VENDOR_GOPRO {
OR_TYPEID_GOPRO_UNKNOWN = 0,
OR_TYPEID_GOPRO_HERO5_BLACK = 1,
OR_TYPEID_GOPRO_HERO6_BLACK = 2,
OR_TYPEID_GOPRO_HERO7_BLACK = 3,
OR_TYPEID_GOPRO_HERO8_BLACK = 4,
OR_TYPEID_GOPRO_HERO9_BLACK = 5,
OR_TYPEID_GOPRO_HERO10_BLACK = 6,
_OR_TYPEID_GOPRO_LAST = 7,
}
impl _OR_TYPEID_VENDOR_HASSELBLAD {
pub const OR_TYPEID_HASSELBLAD_L2D_20C: _OR_TYPEID_VENDOR_HASSELBLAD =
_OR_TYPEID_VENDOR_HASSELBLAD::OR_TYPEID_HASSELBLAD_L1D_20C;
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _OR_TYPEID_VENDOR_HASSELBLAD {
OR_TYPEID_HASSELBLAD_UNKNOWN = 0,
OR_TYPEID_HASSELBLAD_LUNAR = 1,
OR_TYPEID_HASSELBLAD_L1D_20C = 2,
_OR_TYPEID_HASSELBLAD_LAST = 3,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _OR_TYPEID_VENDOR_ZEISS {
OR_TYPEID_ZEISS_UNKNOWN = 0,
OR_TYPEID_ZEISS_ZX1 = 1,
_OR_TYPEID_ZEISS_LAST = 2,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _OR_TYPEID_VENDOR_DJI {
OR_TYPEID_DJI_UNKNOWN = 0,
OR_TYPEID_DJI_FC350 = 1,
OR_TYPEID_DJI_FC7303 = 2,
OR_TYPEID_DJI_OSMO_ACTION = 3,
OR_TYPEID_DJI_FC220 = 4,
OR_TYPEID_DJI_FC6310 = 5,
OR_TYPEID_DJI_FC3582 = 6,
_OR_TYPEID_DJI_LAST = 7,
}
extern "C" {
#[doc = " Count the number of tags in the ifd"]
pub fn or_ifd_count_tags(ifd: ORIfdDirRef) -> i32;
}
extern "C" {
pub fn or_ifd_get_makernote_id(ifd: ORIfdDirRef) -> *const ::std::os::raw::c_char;
}
extern "C" {
pub fn or_ifd_get_tag_name(ifd: ORIfdDirRef, tag: u32) -> *const ::std::os::raw::c_char;
}
extern "C" {
pub fn or_ifd_get_type(ifd: ORIfdDirRef) -> or_ifd_dir_type;
}
extern "C" {
pub fn or_ifd_release(ifd: ORIfdDirRef);
}
extern "C" {
#[doc = " @brief Extract thumbnail for raw file"]
#[doc = ""]
#[doc = " See %or_rawfile_get_thumbnail() for details."]
#[doc = " Will return %OR_ERROR_CANT_OPEN if the file can't be open."]
#[doc = ""]
#[doc = " @param filename The path to the file to extract from."]
#[doc = " @param preferred_size Preferred thumbnail size."]
#[doc = " @param [in/out] thumb The thumbnail object ref to store it in"]
#[doc = " If the ref is NULL, then a new one is allocated. It is"]
#[doc = " the responsibility of the caller to release it."]
#[doc = " @return An error code."]
pub fn or_get_extract_thumbnail(
filename: *const ::std::os::raw::c_char,
preferred_size: u32,
thumb: *mut ORThumbnailRef,
) -> or_error;
}
extern "C" {
#[doc = " @brief Allocate a Thumbnail object."]
#[doc = ""]
#[doc = " @return A Thumbnail object. Use %or_thumbnail_release() to free it."]
pub fn or_thumbnail_new() -> ORThumbnailRef;
}
extern "C" {
#[doc = " @brief Release a Thumbnail object."]
#[doc = ""]
#[doc = " @param thumb The Thumbnail objet to release."]
#[doc = " @return An error code. %OR_ERROR_NONE in case of success, and %OR_ERROR_NOTAREF"]
#[doc = " if a NULL pointer is passed."]
pub fn or_thumbnail_release(thumb: ORThumbnailRef) -> or_error;
}
extern "C" {
#[doc = " @brief Get the thumbnail format."]
#[doc = ""]
#[doc = " @return A data type indicating the format."]
pub fn or_thumbnail_format(thumb: ORThumbnailRef) -> or_data_type;
}
extern "C" {
#[doc = " @brief Get the pointer to the data."]
#[doc = ""]
#[doc = " See %or_thumbnail_data_size() to know the size."]
#[doc = ""]
#[doc = " @return A pointer, owned by the %Thumbnail object. May be NULL."]
pub fn or_thumbnail_data(thumb: ORThumbnailRef) -> *mut ::std::os::raw::c_void;
}
extern "C" {
#[doc = " @brief Get the data size."]
#[doc = ""]
#[doc = " @return The data size."]
pub fn or_thumbnail_data_size(thumb: ORThumbnailRef) -> usize;
}
extern "C" {
#[doc = " @brief Get the %Thumbnail dimensions in pixels."]
#[doc = ""]
#[doc = " @param [out] x The horizontal dimension. Can be NULL."]
#[doc = " @param [out] y The vertical dimension. Can be NULL."]
pub fn or_thumbnail_dimensions(thumb: ORThumbnailRef, x: *mut u32, y: *mut u32);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _MosaicInfo {
_unused: [u8; 0],
}
#[doc = " @brief A MosaicInfo object"]
pub type ORMosaicInfoRef = *const _MosaicInfo;
extern "C" {
#[doc = " @brief Set the size of the mosaic"]
pub fn or_mosaicinfo_set_size(pattern: ORMosaicInfoRef, x: u16, y: u16);
}
extern "C" {
#[doc = " @brief Get the size of the mosaic"]
pub fn or_mosaicinfo_get_size(pattern: ORMosaicInfoRef, x: *mut u16, y: *mut u16);
}
extern "C" {
#[doc = " @brief Get the type of the mosaic"]
pub fn or_mosaicinfo_get_type(arg1: ORMosaicInfoRef) -> or_cfa_pattern;
}
extern "C" {
#[doc = " @brief Get the pattern."]
#[doc = ""]
#[doc = " This will return an array of %or_cfa_pattern_colour indicating the individual colours"]
#[doc = " of the mosaic colour filter array."]
#[doc = ""]
#[doc = " @param pattern The %MosaicInfo"]
#[doc = " @param [out] count the size of the array returned."]
#[doc = " @return The pattern. The pointer is owned by the %MosaicInfo object."]
pub fn or_mosaicinfo_get_pattern(pattern: ORMosaicInfoRef, count: *mut u16) -> *const u8;
}
extern "C" {
#[doc = " @brief Extract the RAW data from the raw file."]
#[doc = " @param filename the raw file name"]
#[doc = " @param options the options to pass"]
#[doc = " @param rawdata the destination RawData. Must allocated."]
pub fn or_get_extract_rawdata(
filename: *const ::std::os::raw::c_char,
options: u32,
rawdata: *mut ORRawDataRef,
) -> or_error;
}
extern "C" {
#[doc = " @brief Allocate a new RawData"]
#[doc = " @return A newly allocated RawData. Must be released by %or_rawdata_release"]
pub fn or_rawdata_new() -> ORRawDataRef;
}
extern "C" {
#[doc = " @brief Release the rawdata"]
pub fn or_rawdata_release(rawdata: ORRawDataRef) -> or_error;
}
extern "C" {
#[doc = " @brief Get the format of the RAW data"]
pub fn or_rawdata_format(rawdata: ORRawDataRef) -> or_data_type;
}
extern "C" {
#[doc = " @brief Get a pointer to the RAW data"]
#[doc = ""]
#[doc = " The pointer is owned by the RawData object."]
pub fn or_rawdata_data(rawdata: ORRawDataRef) -> *mut ::std::os::raw::c_void;
}
extern "C" {
#[doc = " @brief Get the size of the RAW data in bytes"]
pub fn or_rawdata_data_size(rawdata: ORRawDataRef) -> usize;
}
extern "C" {
#[doc = " @brief Get the RAW data dimensions in pixels"]
#[doc = " @param [out] x the horizontal dimension"]
#[doc = " @param [out] y the vertical dimension"]
pub fn or_rawdata_dimensions(rawdata: ORRawDataRef, x: *mut u32, y: *mut u32);
}
extern "C" {
#[doc = " @brief Get the active area for the raw data."]
#[doc = ""]
#[doc = " The active area is the usefull part of the RAW data"]
#[doc = " it is specific per camera and isn't the crop."]
#[doc = ""]
#[doc = " @param rawdata the RawData object"]
#[doc = " @param [out] x the X origin"]
#[doc = " @param [out] y the Y origin"]
#[doc = " @param [out] width the width"]
#[doc = " @param [out] height the height."]
#[doc = " @return an error code or %OR_ERROR_NONE in case of success."]
pub fn or_rawdata_get_active_area(
rawdata: ORRawDataRef,
x: *mut u32,
y: *mut u32,
width: *mut u32,
height: *mut u32,
) -> or_error;
}
extern "C" {
#[doc = " @brief Return the bits per component"]
#[doc = ""]
#[doc = " @return the number of bits per component in the RAW data."]
pub fn or_rawdata_bpc(rawdata: ORRawDataRef) -> u32;
}
extern "C" {
#[doc = " @brief Return the bayer type for the raw data."]
#[doc = ""]
#[doc = " @return one of the constant defined in %or_cfa_pattern"]
pub fn or_rawdata_get_cfa_pattern_type(rawdata: ORRawDataRef) -> or_cfa_pattern;
}
extern "C" {
#[doc = " @brief Return the mosaic info"]
#[doc = ""]
#[doc = " @return a MosaicInfo object. It is owned by the RawData. Can't be NULL."]
pub fn or_rawdata_get_mosaicinfo(rawdata: ORRawDataRef) -> ORMosaicInfoRef;
}
extern "C" {
#[doc = " @brief Return the compression type for the RawData."]
#[doc = ""]
#[doc = " @return the numerical value."]
pub fn or_rawdata_get_compression(rawdata: ORRawDataRef) -> u32;
}
extern "C" {
#[doc = " @brief Return the levels values for the raw data."]
#[doc = ""]
#[doc = " These are possible values, not actual values."]
#[doc = ""]
#[doc = " @param rawdata the raw data object"]
#[doc = " @param [out] black the pointer to the black value."]
#[doc = " @param [out] white the pointer to the white value."]
#[doc = " @return the error code."]
pub fn or_rawdata_get_levels(
rawdata: ORRawDataRef,
black: *mut u16,
white: *mut u16,
) -> or_error;
}
extern "C" {
#[doc = " @brief Get the colour matrix."]
#[doc = " @param rawdata the raw data object"]
#[doc = " @param index the matrix index."]
#[doc = " @param [out] size of %matrix. Returns the actual size."]
#[doc = " @return the matrix. Pointer is owned by the RawData."]
pub fn or_rawdata_get_colour_matrix(
rawdata: ORRawDataRef,
index: u32,
size: *mut u32,
) -> *const f64;
}
extern "C" {
#[doc = " @brief Get the rendered image from the raw data"]
#[doc = " @param rawdata the raw data."]
#[doc = " @param bitmapdata the preallocated bitmap data."]
#[doc = " @param options option for rendering. Pass 0 for now."]
#[doc = " @return an error code, %OR_ERROR_NONE in case of success."]
pub fn or_rawdata_get_rendered_image(
rawdata: ORRawDataRef,
bitmapdata: ORBitmapDataRef,
options: u32,
) -> or_error;
}
extern "C" {
pub fn or_bitmapdata_new() -> ORBitmapDataRef;
}
extern "C" {
pub fn or_bitmapdata_release(bitmapdata: ORBitmapDataRef) -> or_error;
}
extern "C" {
pub fn or_bitmapdata_format(bitmapdata: ORBitmapDataRef) -> or_data_type;
}
extern "C" {
pub fn or_bitmapdata_data(bitmapdata: ORBitmapDataRef) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn or_bitmapdata_data_size(bitmapdata: ORBitmapDataRef) -> usize;
}
extern "C" {
pub fn or_bitmapdata_dimensions(bitmapdata: ORBitmapDataRef, x: *mut u32, y: *mut u32);
}
extern "C" {
pub fn or_bitmapdata_bpc(bitmapdata: ORBitmapDataRef) -> u32;
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum ExifLightsourceValue {
EV_LIGHTSOURCE_UNKNOWN = 0,
EV_LIGHTSOURCE_DAYLIGHT = 1,
EV_LIGHTSOURCE_FLUORESCENT = 2,
EV_LIGHTSOURCE_TUNGSTEN = 3,
EV_LIGHTSOURCE_STANDARD_A = 17,
EV_LIGHTSOURCE_STANDARD_B = 18,
EV_LIGHTSOURCE_STANDARD_C = 19,
EV_LIGHTSOURCE_D55 = 20,
EV_LIGHTSOURCE_D65 = 21,
EV_LIGHTSOURCE_D75 = 22,
EV_LIGHTSOURCE_OTHER = 255,
}
#[repr(u32)]
#[doc = " Type for Exif field/tag"]
#[doc = " @note taken from libexif"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum ExifTagType {
EXIF_FORMAT_BYTE = 1,
EXIF_FORMAT_ASCII = 2,
EXIF_FORMAT_SHORT = 3,
EXIF_FORMAT_LONG = 4,
EXIF_FORMAT_RATIONAL = 5,
EXIF_FORMAT_SBYTE = 6,
EXIF_FORMAT_UNDEFINED = 7,
EXIF_FORMAT_SSHORT = 8,
EXIF_FORMAT_SLONG = 9,
EXIF_FORMAT_SRATIONAL = 10,
EXIF_FORMAT_FLOAT = 11,
EXIF_FORMAT_DOUBLE = 12,
EXIF_FORMAT_INVALID = 13,
}
#[doc = " @brief Unsigned rational as a fraction"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ORRational {
#[doc = "< Numerator"]
pub num: u32,
#[doc = "< Denominator"]
pub denom: u32,
}
#[test]
fn bindgen_test_layout_ORRational() {
const UNINIT: ::std::mem::MaybeUninit<ORRational> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<ORRational>(),
8usize,
concat!("Size of: ", stringify!(ORRational))
);
assert_eq!(
::std::mem::align_of::<ORRational>(),
4usize,
concat!("Alignment of ", stringify!(ORRational))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ORRational),
"::",
stringify!(num)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).denom) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(ORRational),
"::",
stringify!(denom)
)
);
}
#[doc = " @brief Signed rational as a fraction"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ORSRational {
#[doc = "< Numerator (carry the sign)"]
pub num: i32,
#[doc = "< Denominator"]
pub denom: u32,
}
#[test]
fn bindgen_test_layout_ORSRational() {
const UNINIT: ::std::mem::MaybeUninit<ORSRational> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<ORSRational>(),
8usize,
concat!("Size of: ", stringify!(ORSRational))
);
assert_eq!(
::std::mem::align_of::<ORSRational>(),
4usize,
concat!("Alignment of ", stringify!(ORSRational))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ORSRational),
"::",
stringify!(num)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).denom) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(ORSRational),
"::",
stringify!(denom)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _MetadataIterator {
_unused: [u8; 0],
}
pub type ORMetadataIteratorRef = *mut _MetadataIterator;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _MetaValue {
_unused: [u8; 0],
}
pub type ORMetaValueRef = *mut _MetaValue;
pub type ORConstMetaValueRef = *const _MetaValue;
extern "C" {
#[doc = " @brief Get the string out of the %MetaValue."]
#[doc = ""]
#[doc = " @param idx Pass 0. @todo Remove the idx parameter."]
#[doc = " @return A NUL terminated string. NULL if not found. The pointer is owned by the"]
#[doc = " %MetaValue."]
pub fn or_metavalue_get_string(
value: ORConstMetaValueRef,
idx: u32,
) -> *const ::std::os::raw::c_char;
}
extern "C" {
#[doc = " @brief Convert the %MetaValue to a string."]
#[doc = ""]
#[doc = " @param full FALSE if the conversion should abridge the result."]
#[doc = " @return A NUL terminated string. NULL if not found. The pointer is owned by the"]
#[doc = " %MetaValue."]
pub fn or_metavalue_get_as_string(
value: ORConstMetaValueRef,
full: bool,
) -> *const ::std::os::raw::c_char;
}
extern "C" {
#[doc = " @brief Get the value count"]
#[doc = ""]
#[doc = " @return The value count."]
pub fn or_metavalue_get_count(value: ORMetaValueRef) -> u32;
}
extern "C" {
#[doc = " @brief Free the %MetaValue"]
pub fn or_metavalue_release(value: ORMetaValueRef);
}
extern "C" {
#[doc = " @brief Move to the next metadata value"]
#[doc = " @param iterator The metadata iterator."]
#[doc = " @return 0 if no more."]
pub fn or_metadata_iterator_next(iterator: ORMetadataIteratorRef) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Get the metadata entry from the iterator."]
#[doc = ""]
#[doc = " @param iterator The iterator."]
#[doc = " @param ifd Pointer to the IfdDirRef."]
#[doc = " @param id Pointer to id (nullable)"]
#[doc = " @param type Pointer to exif tag type (nullable)"]
#[doc = " @param value Pointer to store a newly allocated ORConstMetaValue (nullable)"]
#[doc = " @return 0 if error. In that case none of the values are valid."]
pub fn or_metadata_iterator_get_entry(
iterator: ORMetadataIteratorRef,
ifd: *mut ORIfdDirRef,
id: *mut u16,
type_: *mut ExifTagType,
value: *mut ORMetaValueRef,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " @brief Free the iterator"]
#[doc = " @param iterator The iterator to free."]
pub fn or_metadata_iterator_free(iterator: ORMetadataIteratorRef);
}
extern "C" {
#[doc = " @brief Return a NULL terminated list of extensions that the library supposedly handle."]
#[doc = ""]
#[doc = " @return A NULL terminated list. Owned the library."]
pub fn or_get_file_extensions() -> *mut *const ::std::os::raw::c_char;
}
extern "C" {
#[doc = " @brief Create a new %RawFile object from a file."]
#[doc = " @param filename The path to the file to open."]
#[doc = " @param type The hint for the file type. Pass %OR_RAWFILE_TYPE_UNKNOWN to let the library"]
#[doc = " guess."]
#[doc = " @return A new allocated RawFile pointer. Must be freed with %or_rawfile_release()."]
pub fn or_rawfile_new(
filename: *const ::std::os::raw::c_char,
type_: or_rawfile_type,
) -> ORRawFileRef;
}
extern "C" {
#[doc = " @brief Create a new %RawFile object from a memory buffer."]
#[doc = " @param buffer The memory buffer: bytes from the RAW file."]
#[doc = " @param len The length of the memory buffer in bytes."]
#[doc = " @param type The hint for the file type. Pass %OR_RAWFILE_TYPE_UNKNOWN to let the library"]
#[doc = " guess."]
#[doc = " @return A new allocated RawFile pointer. Must be freed with %or_rawfile_release()."]
pub fn or_rawfile_new_from_memory(
buffer: *const u8,
len: u32,
type_: or_rawfile_type,
) -> ORRawFileRef;
}
extern "C" {
#[doc = " @brief Release the %RawFile."]
#[doc = " @param [in] rawfile The %RawFile object to release."]
#[doc = " @return An error code. %OR_ERROR_NOT_AREF if the pointer is NULL."]
pub fn or_rawfile_release(rawfile: ORRawFileRef) -> or_error;
}
extern "C" {
#[doc = " @brief Get the %RawFile type"]
#[doc = ""]
#[doc = " @return The type from %or_rawfile_type. It isn't necessarily what was passed"]
#[doc = " at creation time."]
pub fn or_rawfile_get_type(rawfile: ORRawFileRef) -> or_rawfile_type;
}
extern "C" {
#[doc = " @brief Return the type id to identify the exact file type."]
#[doc = ""]
#[doc = " @return The type ID. It is a combination of vendor ID and camera ID."]
#[doc = ""]
#[doc = " @see %or_rawfile_typeid."]
pub fn or_rawfile_get_typeid(rawfile: ORRawFileRef) -> or_rawfile_typeid;
}
extern "C" {
#[doc = " @brief Return the type id to identify the vendor."]
#[doc = ""]
#[doc = " @return The vendor ID. Use the constants values to match."]
pub fn or_rawfile_get_vendorid(rawfile: ORRawFileRef) -> or_rawfile_typeid;
}
extern "C" {
#[doc = " @brief Get the the array of thumbnail sizes."]
#[doc = ""]
#[doc = " @param rawfile The RawFile."]
#[doc = " @param [out] size The size of the array is returned"]
#[doc = " @return The array. It is owned by the raw file"]
pub fn or_rawfile_get_thumbnail_sizes(rawfile: ORRawFileRef, size: *mut usize) -> *const u32;
}
extern "C" {
#[doc = " @brief Get a thumbnail from a RawFile.."]
#[doc = ""]
#[doc = " Get a thumbnail close to the preferred size. If there is no exact match, it"]
#[doc = " will prefer a bigger thumbnail so that you can downsize it."]
#[doc = ""]
#[doc = " Return an error in case or error. %OR_ERROR_NOT_FOUND if no thumbnail can be"]
#[doc = " found."]
#[doc = ""]
#[doc = " @param rawfile The RawFile object."]
#[doc = " @param preferred_size The requested preferred size."]
#[doc = " @param [in/out] thumb The Thumbnail object to store the data."]
#[doc = " @return An error code. %OR_ERROR_NONE in case of success."]
pub fn or_rawfile_get_thumbnail(
rawfile: ORRawFileRef,
preferred_size: u32,
thumb: ORThumbnailRef,
) -> or_error;
}
extern "C" {
#[doc = " @brief Get the RawData out of the RawFile."]
#[doc = ""]
#[doc = " Will return an error code: %OR_ERROR_NOT_FOUND if the RAW data can't be"]
#[doc = " located. This likely indicate a file that isn't properly supported."]
#[doc = ""]
#[doc = " The RawData object will contain the uncompress RAW data if possible (unless"]
#[doc = " otherwise requested)."]
#[doc = ""]
#[doc = " @param rawfile The RawFile."]
#[doc = " @param [in/out] rawdata An allocated RawData object. Pass %OR_OPTIONS_DONT_DECOMPRESS if"]
#[doc = " you don't want the RAW data stream to be decompressed, %OR_OPTIONS_NONE otherwise."]
#[doc = " @param options Some options."]
#[doc = " @return An error code or %OR_ERROR_NONE on success."]
pub fn or_rawfile_get_rawdata(
rawfile: ORRawFileRef,
rawdata: ORRawDataRef,
options: u32,
) -> or_error;
}
extern "C" {
#[doc = " @brief Get the rendered image from the raw file"]
#[doc = " @param rawfile The raw file."]
#[doc = " @param rawdata The preallocated bitmap data."]
#[doc = " @param options Option for rendering. Pass %OR_OPTIONS_NONE for now."]
#[doc = " @return An error code. %OR_ERROR_NOTAREF is %rawfile is NULL."]
pub fn or_rawfile_get_rendered_image(
rawfile: ORRawFileRef,
rawdata: ORBitmapDataRef,
options: u32,
) -> or_error;
}
extern "C" {
#[doc = " @brief Get the orientation."]
#[doc = ""]
#[doc = " This is a convenince method, equivalent to getting the value of"]
#[doc = " %EXIF_TAG_ORIENTATION."]
#[doc = ""]
#[doc = " @param rawfile The RawFile object."]
#[doc = " @return the orientation using EXIF semantics. If there is no orientation"]
#[doc = " attribute, return 0."]
pub fn or_rawfile_get_orientation(rawfile: ORRawFileRef) -> i32;
}
extern "C" {
#[doc = " @brief Get the first colour matrix."]
#[doc = ""]
#[doc = " The error code will be one of the following: %OR_ERROR_BUF_TOO_SMALL if"]
#[doc = " %matrix is too small. Check the value of %size to know how much you need."]
#[doc = " %OR_ERROR_NOT_IMPLEMENTED if there is no matrix in the file nor built-in"]
#[doc = " matrices."]
#[doc = ""]
#[doc = " Call %or_rawfile_get_colour_matrix_origin() if you want to know if it is a built-in"]
#[doc = " matrix."]
#[doc = ""]
#[doc = " @see %or_rawfile_get_colour_matrix_origin()"]
#[doc = ""]
#[doc = " @param rawfile The RAW file object"]
#[doc = " @param [int] matrix The storage array for the matrix"]
#[doc = " @param [in/out] size The size of the %matrix array. On output the actual size of the matrix."]
#[doc = " @return An error codex."]
pub fn or_rawfile_get_colourmatrix1(
rawfile: ORRawFileRef,
matrix: *mut f64,
size: *mut u32,
) -> or_error;
}
extern "C" {
#[doc = " @brief Get the second colour matrix."]
#[doc = ""]
#[doc = " See %or_rawfile_get_colourmatrix1 for details. Will return %OR_ERROR_INVALID_PARAM if the"]
#[doc = " matrix doesn't exist in the file. There won't be a built-in matrix."]
#[doc = ""]
#[doc = " @see %or_rawfile_get_colourmatrix1()"]
pub fn or_rawfile_get_colourmatrix2(
rawfile: ORRawFileRef,
matrix: *mut f64,
size: *mut u32,
) -> or_error;
}
extern "C" {
#[doc = " @brief Get calibration illuminant for the first colour matrix."]
#[doc = ""]
#[doc = " @return The Exif value. See %ExifLightsourceValue. %EV_LIGHTSOURCE_UNKNOWN means the"]
#[doc = " matrix is not found."]
#[doc = ""]
#[doc = " @see %ExifLightsourceValue."]
pub fn or_rawfile_get_calibration_illuminant1(rawfile: ORRawFileRef) -> ExifLightsourceValue;
}
extern "C" {
#[doc = " @brief Get calibration illuminant for the second colour matrix."]
#[doc = ""]
#[doc = " @see %or_rawfile_get_calibration_illuminant1"]
pub fn or_rawfile_get_calibration_illuminant2(rawfile: ORRawFileRef) -> ExifLightsourceValue;
}
extern "C" {
#[doc = " @brief Get the colour matrix origin for file."]
#[doc = ""]
#[doc = " This allow to determine if it is provided by the file or as a hardcoded"]
#[doc = " value in the library."]
#[doc = ""]
#[doc = " @param rawfile The RawFile object"]
#[doc = " @return The colour matrix origin"]
pub fn or_rawfile_get_colour_matrix_origin(rawfile: ORRawFileRef) -> or_colour_matrix_origin;
}
extern "C" {
#[doc = " @brief Get the metadata value"]
#[doc = " @param rawfile the RawFile object."]
#[doc = " @param meta_index the index value which a bit OR between a namespace and an index"]
#[doc = " @return a const MetaValue, owned by the %RawFile"]
pub fn or_rawfile_get_metavalue(rawfile: ORRawFileRef, meta_index: i32) -> ORConstMetaValueRef;
}
extern "C" {
#[doc = " @brief Get an IFD directory"]
#[doc = ""]
#[doc = " @param rawfile The %RawFile object."]
#[doc = " @param ifd The IFD you want, from %or_ifd_dir_type."]
#[doc = " @return An IfdDir. Must be freed with %or_ifd_release()"]
#[doc = ""]
#[doc = " @see %or_ifd_dir_type"]
pub fn or_rawfile_get_ifd(rawfile: ORRawFileRef, ifd: or_ifd_dir_type) -> ORIfdDirRef;
}
extern "C" {
#[doc = " @brief Get a metadata iterator."]
#[doc = ""]
#[doc = " @param rawfile The RawFile object."]
#[doc = " @return The metadata iterator. Must be freed with %or_metadata_iterator_free()"]
pub fn or_rawfile_get_metadata_iterator(rawfile: ORRawFileRef) -> ORMetadataIteratorRef;
}
#[repr(u32)]
#[doc = " @brief Debug levels."]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _debug_level {
ERROR = 0,
WARNING = 1,
NOTICE = 2,
DEBUG1 = 3,
DEBUG2 = 4,
}
#[doc = " @brief Debug levels."]
pub use self::_debug_level as debug_level;
extern "C" {
#[doc = " @brief Set the debug level."]
pub fn or_debug_set_level(lvl: debug_level);
}