1#[repr(C)]
4#[derive(Debug, Copy, Clone)]
5pub struct _RawFile {
6 _unused: [u8; 0],
7}
8pub type ORRawFileRef = *mut _RawFile;
9#[repr(C)]
10#[derive(Debug, Copy, Clone)]
11pub struct _RawData {
12 _unused: [u8; 0],
13}
14pub type ORRawDataRef = *mut _RawData;
15#[repr(C)]
16#[derive(Debug, Copy, Clone)]
17pub struct _BitmapData {
18 _unused: [u8; 0],
19}
20pub type ORBitmapDataRef = *mut _BitmapData;
21#[repr(C)]
22#[derive(Debug, Copy, Clone)]
23pub struct _Thumbnail {
24 _unused: [u8; 0],
25}
26pub type ORThumbnailRef = *mut _Thumbnail;
27#[repr(C)]
28#[derive(Debug, Copy, Clone)]
29pub struct _IfdDir {
30 _unused: [u8; 0],
31}
32pub type ORIfdDirRef = *mut _IfdDir;
33#[repr(u32)]
34#[doc = " @brief Error codes returned by libopenraw."]
35#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
36pub enum or_error {
37 #[doc = "< no error"]
38 OR_ERROR_NONE = 0,
39 #[doc = "< Buffer is too small."]
40 OR_ERROR_BUF_TOO_SMALL = 1,
41 #[doc = "< The object is not ref"]
42 OR_ERROR_NOTAREF = 2,
43 #[doc = "< Can't open file. Check OS error codes"]
44 OR_ERROR_CANT_OPEN = 3,
45 #[doc = "< Stream closed"]
46 OR_ERROR_CLOSED_STREAM = 4,
47 #[doc = "< Requested \"object\" not found"]
48 OR_ERROR_NOT_FOUND = 5,
49 #[doc = "< Invalid parameter"]
50 OR_ERROR_INVALID_PARAM = 6,
51 #[doc = "< Invalid format"]
52 OR_ERROR_INVALID_FORMAT = 7,
53 #[doc = "< Decompression error"]
54 OR_ERROR_DECOMPRESSION = 8,
55 #[doc = "< Function is not implemented"]
56 OR_ERROR_NOT_IMPLEMENTED = 9,
57 #[doc = "< Stream already open"]
58 OR_ERROR_ALREADY_OPEN = 10,
59 #[doc = "< Unknown error."]
60 OR_ERROR_UNKNOWN = 42,
61 OR_ERROR_LAST_ = 43,
62}
63#[repr(u32)]
64#[doc = " @brief Types of RAW files"]
65#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
66pub enum or_rawfile_type {
67 #[doc = "< no type. Invalid value."]
68 OR_RAWFILE_TYPE_UNKNOWN = 0,
69 #[doc = "< Canon CR2"]
70 OR_RAWFILE_TYPE_CR2 = 1,
71 #[doc = "< Canon CRW"]
72 OR_RAWFILE_TYPE_CRW = 2,
73 #[doc = "< Nikon NEF"]
74 OR_RAWFILE_TYPE_NEF = 3,
75 #[doc = "< Minolta MRW"]
76 OR_RAWFILE_TYPE_MRW = 4,
77 #[doc = "< Sony ARW"]
78 OR_RAWFILE_TYPE_ARW = 5,
79 #[doc = "< Adobe DNG"]
80 OR_RAWFILE_TYPE_DNG = 6,
81 #[doc = "< Olympus ORF"]
82 OR_RAWFILE_TYPE_ORF = 7,
83 #[doc = "< Pentax PEF"]
84 OR_RAWFILE_TYPE_PEF = 8,
85 #[doc = "< Epson ERF"]
86 OR_RAWFILE_TYPE_ERF = 9,
87 #[doc = "< Generic TIFF"]
88 OR_RAWFILE_TYPE_TIFF = 10,
89 #[doc = "< Nikon NRW"]
90 OR_RAWFILE_TYPE_NRW = 11,
91 #[doc = "< Panasonic RAW, RW2 and RWL"]
92 OR_RAWFILE_TYPE_RW2 = 12,
93 #[doc = "< FujiFilm RAF"]
94 OR_RAWFILE_TYPE_RAF = 13,
95 #[doc = "< Canon CR3"]
96 OR_RAWFILE_TYPE_CR3 = 14,
97 #[doc = "< GoPro GPR (DNG-variation)"]
98 OR_RAWFILE_TYPE_GPR = 15,
99 #[doc = "< Sony SR2"]
100 OR_RAWFILE_TYPE_SR2 = 16,
101}
102#[repr(u32)]
103#[doc = " @brief Data types"]
104#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
105pub enum or_data_type {
106 OR_DATA_TYPE_NONE = 0,
107 #[doc = "< 8bit per channel RGB pixmap"]
108 OR_DATA_TYPE_PIXMAP_8RGB = 1,
109 #[doc = "< 16bit per channel RGB pixmap"]
110 OR_DATA_TYPE_PIXMAP_16RGB = 2,
111 #[doc = "< JPEG data"]
112 OR_DATA_TYPE_JPEG = 3,
113 #[doc = "< TIFF container"]
114 OR_DATA_TYPE_TIFF = 4,
115 #[doc = "< PNG container"]
116 OR_DATA_TYPE_PNG = 5,
117 #[doc = "< RAW container"]
118 OR_DATA_TYPE_RAW = 6,
119 #[doc = "< compressed RAW container"]
120 OR_DATA_TYPE_COMPRESSED_RAW = 7,
121 OR_DATA_TYPE_UNKNOWN = 8,
122}
123#[repr(u32)]
124#[doc = " @brief CFA pattern types"]
125#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
126pub enum or_cfa_pattern {
127 #[doc = "< Invalid value"]
128 OR_CFA_PATTERN_NONE = 0,
129 #[doc = "< Non RGB 2x2 CFA"]
130 OR_CFA_PATTERN_NON_RGB22 = 1,
131 OR_CFA_PATTERN_RGGB = 2,
132 OR_CFA_PATTERN_GBRG = 3,
133 OR_CFA_PATTERN_BGGR = 4,
134 OR_CFA_PATTERN_GRBG = 5,
135 _OR_CFA_PATTERN_INVALID = 6,
136}
137#[repr(u32)]
138#[doc = " @brief CFA colour components"]
139#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
140pub enum or_cfa_pattern_colour {
141 #[doc = "< Red"]
142 OR_PATTERN_COLOUR_RED = 0,
143 #[doc = "< Green"]
144 OR_PATTERN_COLOUR_GREEN = 1,
145 OR_PATTERN_COLOUR_BLUE = 2,
146}
147#[repr(u32)]
148#[doc = " @brief Options"]
149#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
150pub enum or_options {
151 #[doc = "< No options"]
152 OR_OPTIONS_NONE = 0,
153 #[doc = "< Don't decompress"]
154 OR_OPTIONS_DONT_DECOMPRESS = 1,
155}
156#[repr(u32)]
157#[doc = " @brief Where the colour matrix comes from."]
158#[doc = " Typically DNG is provided. The others are built-in."]
159#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
160pub enum or_colour_matrix_origin {
161 #[doc = "< Unknown. This usually signify an error"]
162 OR_COLOUR_MATRIX_UNKNOWN = 0,
163 #[doc = "< Colour matrix in library"]
164 OR_COLOUR_MATRIX_BUILTIN = 1,
165 #[doc = "< Colour matrix provided by file"]
166 OR_COLOUR_MATRIX_PROVIDED = 2,
167}
168#[doc = " @brief This is the type ID, a combination of vendor model"]
169#[doc = " It maps a specific camera. Only for the NATIVE file format."]
170pub type or_rawfile_typeid = u32;
171#[repr(u32)]
172#[doc = " @brief Type of IfdDir"]
173#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
174pub enum or_ifd_dir_type {
175 #[doc = " Generic"]
176 OR_IFD_OTHER = 0,
177 #[doc = " Main (like in TIFF)"]
178 OR_IFD_MAIN = 1,
179 #[doc = " Exif metadata"]
180 OR_IFD_EXIF = 2,
181 #[doc = " MakerNote"]
182 OR_IFD_MNOTE = 3,
183 #[doc = " RAW data"]
184 OR_IFD_RAW = 4,
185 #[doc = " SubIFD"]
186 OR_IFD_SUBIFD = 5,
187 #[doc = " INVALID value"]
188 OR_IFD_INVALID = 10000,
189}
190pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_NONE: _OR_TYPE_ID_VENDOR = 0;
191pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_CANON: _OR_TYPE_ID_VENDOR = 1;
192pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_NIKON: _OR_TYPE_ID_VENDOR = 2;
193pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_LEICA: _OR_TYPE_ID_VENDOR = 3;
194pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_PENTAX: _OR_TYPE_ID_VENDOR = 4;
195pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_EPSON: _OR_TYPE_ID_VENDOR = 5;
196pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_MINOLTA: _OR_TYPE_ID_VENDOR = 6;
197pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_OLYMPUS: _OR_TYPE_ID_VENDOR = 7;
198pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_SONY: _OR_TYPE_ID_VENDOR = 8;
199pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_SAMSUNG: _OR_TYPE_ID_VENDOR = 9;
200pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_RICOH: _OR_TYPE_ID_VENDOR = 10;
201pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_PANASONIC: _OR_TYPE_ID_VENDOR = 11;
202pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_MAMIYA: _OR_TYPE_ID_VENDOR = 12;
203#[doc = "< Generic DNG files."]
204pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_ADOBE: _OR_TYPE_ID_VENDOR = 13;
205pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_FUJIFILM: _OR_TYPE_ID_VENDOR = 14;
206pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_BLACKMAGIC: _OR_TYPE_ID_VENDOR = 15;
207pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_XIAOYI: _OR_TYPE_ID_VENDOR = 16;
208pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_APPLE: _OR_TYPE_ID_VENDOR = 17;
209pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_SIGMA: _OR_TYPE_ID_VENDOR = 18;
210pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_GOPRO: _OR_TYPE_ID_VENDOR = 19;
211pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_HASSELBLAD: _OR_TYPE_ID_VENDOR = 20;
212pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_ZEISS: _OR_TYPE_ID_VENDOR = 21;
213pub const _OR_TYPE_ID_VENDOR_OR_TYPEID_VENDOR_DJI: _OR_TYPE_ID_VENDOR = 22;
214pub const _OR_TYPE_ID_VENDOR__OR_TYPEID_VENDOR_LAST: _OR_TYPE_ID_VENDOR = 23;
215#[doc = " @brief The vendor ID: the high order 16-bits of the or_rawfile_typeid"]
216pub type _OR_TYPE_ID_VENDOR = ::std::os::raw::c_uint;
217#[repr(u32)]
218#[doc = " @brief Adobe type ID"]
219#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
220pub enum _OR_TYPEID_VENDOR_ADOBE {
221 OR_TYPEID_ADOBE_UNKNOWN = 0,
222 #[doc = "< Generic DNG file."]
223 OR_TYPEID_ADOBE_DNG_GENERIC = 1,
224 _OR_TYPEID_ADOBE_LAST = 2,
225}
226impl _OR_TYPEID_VENDOR_CANON {
227 pub const OR_TYPEID_CANON_REBEL_XT: _OR_TYPEID_VENDOR_CANON =
228 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_350D;
229}
230impl _OR_TYPEID_VENDOR_CANON {
231 pub const OR_TYPEID_CANON_KISS_DIGITAL_N: _OR_TYPEID_VENDOR_CANON =
232 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_350D;
233}
234impl _OR_TYPEID_VENDOR_CANON {
235 pub const OR_TYPEID_CANON_REBEL_XTI: _OR_TYPEID_VENDOR_CANON =
236 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_400D;
237}
238impl _OR_TYPEID_VENDOR_CANON {
239 pub const OR_TYPEID_CANON_KISS_DIGITAL_X: _OR_TYPEID_VENDOR_CANON =
240 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_400D;
241}
242impl _OR_TYPEID_VENDOR_CANON {
243 pub const OR_TYPEID_CANON_REBEL_XSI: _OR_TYPEID_VENDOR_CANON =
244 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_450D;
245}
246impl _OR_TYPEID_VENDOR_CANON {
247 pub const OR_TYPEID_CANON_KISS_X2: _OR_TYPEID_VENDOR_CANON =
248 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_450D;
249}
250impl _OR_TYPEID_VENDOR_CANON {
251 pub const OR_TYPEID_CANON_DIGITAL_REBEL: _OR_TYPEID_VENDOR_CANON =
252 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_300D;
253}
254impl _OR_TYPEID_VENDOR_CANON {
255 pub const OR_TYPEID_CANON_REBEL_T1I: _OR_TYPEID_VENDOR_CANON =
256 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_500D;
257}
258impl _OR_TYPEID_VENDOR_CANON {
259 pub const OR_TYPEID_CANON_KISS_X3: _OR_TYPEID_VENDOR_CANON =
260 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_500D;
261}
262impl _OR_TYPEID_VENDOR_CANON {
263 pub const OR_TYPEID_CANON_REBEL_T2I: _OR_TYPEID_VENDOR_CANON =
264 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_550D;
265}
266impl _OR_TYPEID_VENDOR_CANON {
267 pub const OR_TYPEID_CANON_KISS_X4: _OR_TYPEID_VENDOR_CANON =
268 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_550D;
269}
270impl _OR_TYPEID_VENDOR_CANON {
271 pub const OR_TYPEID_CANON_REBEL_XS: _OR_TYPEID_VENDOR_CANON =
272 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_1000D;
273}
274impl _OR_TYPEID_VENDOR_CANON {
275 pub const OR_TYPEID_CANON_KISS_F: _OR_TYPEID_VENDOR_CANON =
276 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_1000D;
277}
278impl _OR_TYPEID_VENDOR_CANON {
279 pub const OR_TYPEID_CANON_60D: _OR_TYPEID_VENDOR_CANON =
280 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_50D;
281}
282impl _OR_TYPEID_VENDOR_CANON {
283 pub const OR_TYPEID_CANON_REBEL_T3I: _OR_TYPEID_VENDOR_CANON =
284 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_600D;
285}
286impl _OR_TYPEID_VENDOR_CANON {
287 pub const OR_TYPEID_CANON_KISS_X5: _OR_TYPEID_VENDOR_CANON =
288 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_600D;
289}
290impl _OR_TYPEID_VENDOR_CANON {
291 pub const OR_TYPEID_CANON_REBEL_T3: _OR_TYPEID_VENDOR_CANON =
292 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_1100D;
293}
294impl _OR_TYPEID_VENDOR_CANON {
295 pub const OR_TYPEID_CANON_KISS_X50: _OR_TYPEID_VENDOR_CANON =
296 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_1100D;
297}
298impl _OR_TYPEID_VENDOR_CANON {
299 pub const OR_TYPEID_CANON_REBEL_T4I: _OR_TYPEID_VENDOR_CANON =
300 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_650D;
301}
302impl _OR_TYPEID_VENDOR_CANON {
303 pub const OR_TYPEID_CANON_KISS_X6I: _OR_TYPEID_VENDOR_CANON =
304 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_650D;
305}
306impl _OR_TYPEID_VENDOR_CANON {
307 pub const OR_TYPEID_CANON_REBEL_SL1: _OR_TYPEID_VENDOR_CANON =
308 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_100D;
309}
310impl _OR_TYPEID_VENDOR_CANON {
311 pub const OR_TYPEID_CANON_KISS_X7: _OR_TYPEID_VENDOR_CANON =
312 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_100D;
313}
314impl _OR_TYPEID_VENDOR_CANON {
315 pub const OR_TYPEID_CANON_REBEL_T5I: _OR_TYPEID_VENDOR_CANON =
316 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_700D;
317}
318impl _OR_TYPEID_VENDOR_CANON {
319 pub const OR_TYPEID_CANON_KISS_X7I: _OR_TYPEID_VENDOR_CANON =
320 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_700D;
321}
322impl _OR_TYPEID_VENDOR_CANON {
323 pub const OR_TYPEID_CANON_REBEL_T6I: _OR_TYPEID_VENDOR_CANON =
324 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_750D;
325}
326impl _OR_TYPEID_VENDOR_CANON {
327 pub const OR_TYPEID_CANON_KISS_X8I: _OR_TYPEID_VENDOR_CANON =
328 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_750D;
329}
330impl _OR_TYPEID_VENDOR_CANON {
331 pub const OR_TYPEID_CANON_REBEL_T6S: _OR_TYPEID_VENDOR_CANON =
332 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_760D;
333}
334impl _OR_TYPEID_VENDOR_CANON {
335 pub const OR_TYPEID_CANON_8000D: _OR_TYPEID_VENDOR_CANON =
336 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_760D;
337}
338impl _OR_TYPEID_VENDOR_CANON {
339 pub const OR_TYPEID_CANON_REBEL_T6: _OR_TYPEID_VENDOR_CANON =
340 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_1300D;
341}
342impl _OR_TYPEID_VENDOR_CANON {
343 pub const OR_TYPEID_CANON_KISS_X80: _OR_TYPEID_VENDOR_CANON =
344 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_1300D;
345}
346impl _OR_TYPEID_VENDOR_CANON {
347 pub const OR_TYPEID_CANON_REBEL_T5: _OR_TYPEID_VENDOR_CANON =
348 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_1200D;
349}
350impl _OR_TYPEID_VENDOR_CANON {
351 pub const OR_TYPEID_CANON_KISS_X70: _OR_TYPEID_VENDOR_CANON =
352 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_1200D;
353}
354impl _OR_TYPEID_VENDOR_CANON {
355 pub const OR_TYPEID_CANON_REBEL_T7I: _OR_TYPEID_VENDOR_CANON =
356 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_800D;
357}
358impl _OR_TYPEID_VENDOR_CANON {
359 pub const OR_TYPEID_CANON_KISS_X9I: _OR_TYPEID_VENDOR_CANON =
360 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_800D;
361}
362impl _OR_TYPEID_VENDOR_CANON {
363 pub const OR_TYPEID_CANON_9000D: _OR_TYPEID_VENDOR_CANON =
364 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_77D;
365}
366impl _OR_TYPEID_VENDOR_CANON {
367 pub const OR_TYPEID_CANON_REBEL_SL2: _OR_TYPEID_VENDOR_CANON =
368 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_200D;
369}
370impl _OR_TYPEID_VENDOR_CANON {
371 pub const OR_TYPEID_CANON_KISS_X9: _OR_TYPEID_VENDOR_CANON =
372 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_200D;
373}
374impl _OR_TYPEID_VENDOR_CANON {
375 pub const OR_TYPEID_CANON_KISS_M: _OR_TYPEID_VENDOR_CANON =
376 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_EOS_M50;
377}
378impl _OR_TYPEID_VENDOR_CANON {
379 pub const OR_TYPEID_CANON_REBEL_T7: _OR_TYPEID_VENDOR_CANON =
380 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_2000D;
381}
382impl _OR_TYPEID_VENDOR_CANON {
383 pub const OR_TYPEID_CANON_KISS_X90: _OR_TYPEID_VENDOR_CANON =
384 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_2000D;
385}
386impl _OR_TYPEID_VENDOR_CANON {
387 pub const OR_TYPEID_CANON_T100: _OR_TYPEID_VENDOR_CANON =
388 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_3000D;
389}
390impl _OR_TYPEID_VENDOR_CANON {
391 pub const OR_TYPEID_CANON_4000D: _OR_TYPEID_VENDOR_CANON =
392 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_3000D;
393}
394impl _OR_TYPEID_VENDOR_CANON {
395 pub const OR_TYPEID_CANON_REBEL_SL3: _OR_TYPEID_VENDOR_CANON =
396 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_250D;
397}
398impl _OR_TYPEID_VENDOR_CANON {
399 pub const OR_TYPEID_CANON_KISS_X10: _OR_TYPEID_VENDOR_CANON =
400 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_250D;
401}
402impl _OR_TYPEID_VENDOR_CANON {
403 pub const OR_TYPEID_CANON_200D_MKII: _OR_TYPEID_VENDOR_CANON =
404 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_250D;
405}
406impl _OR_TYPEID_VENDOR_CANON {
407 pub const OR_TYPEID_CANON_REBEL_T8I: _OR_TYPEID_VENDOR_CANON =
408 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_850D;
409}
410impl _OR_TYPEID_VENDOR_CANON {
411 pub const OR_TYPEID_CANON_KISS_X10I: _OR_TYPEID_VENDOR_CANON =
412 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_850D;
413}
414impl _OR_TYPEID_VENDOR_CANON {
415 pub const OR_TYPEID_CANON_KISS_M2: _OR_TYPEID_VENDOR_CANON =
416 _OR_TYPEID_VENDOR_CANON::OR_TYPEID_CANON_EOS_M50MKII;
417}
418#[repr(u32)]
419#[doc = " @brief Canon type IDs"]
420#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
421pub enum _OR_TYPEID_VENDOR_CANON {
422 OR_TYPEID_CANON_UNKNOWN = 0,
423 OR_TYPEID_CANON_20D = 1,
424 OR_TYPEID_CANON_30D = 2,
425 OR_TYPEID_CANON_40D = 3,
426 OR_TYPEID_CANON_350D = 4,
427 OR_TYPEID_CANON_400D = 5,
428 OR_TYPEID_CANON_450D = 6,
429 OR_TYPEID_CANON_5D = 7,
430 OR_TYPEID_CANON_1D = 8,
431 OR_TYPEID_CANON_1DMKII = 9,
432 OR_TYPEID_CANON_1DMKIII = 10,
433 OR_TYPEID_CANON_1DS = 11,
434 OR_TYPEID_CANON_1DSMKII = 12,
435 OR_TYPEID_CANON_1DSMKIII = 13,
436 OR_TYPEID_CANON_300D = 14,
437 OR_TYPEID_CANON_D30 = 15,
438 OR_TYPEID_CANON_D60 = 16,
439 OR_TYPEID_CANON_10D = 17,
440 OR_TYPEID_CANON_PRO1 = 18,
441 OR_TYPEID_CANON_G1 = 19,
442 OR_TYPEID_CANON_G2 = 20,
443 OR_TYPEID_CANON_G3 = 21,
444 OR_TYPEID_CANON_G5 = 22,
445 OR_TYPEID_CANON_G6 = 23,
446 OR_TYPEID_CANON_G7 = 24,
447 OR_TYPEID_CANON_G9 = 25,
448 OR_TYPEID_CANON_A610 = 26,
449 OR_TYPEID_CANON_20DA = 27,
450 OR_TYPEID_CANON_7D = 28,
451 OR_TYPEID_CANON_G11 = 29,
452 OR_TYPEID_CANON_1DMKIV = 30,
453 OR_TYPEID_CANON_500D = 31,
454 OR_TYPEID_CANON_5DMKII = 32,
455 OR_TYPEID_CANON_550D = 33,
456 OR_TYPEID_CANON_1000D = 34,
457 OR_TYPEID_CANON_G10 = 35,
458 OR_TYPEID_CANON_50D = 36,
459 OR_TYPEID_CANON_S90 = 37,
460 OR_TYPEID_CANON_G12 = 38,
461 OR_TYPEID_CANON_S95 = 39,
462 OR_TYPEID_CANON_600D = 40,
463 OR_TYPEID_CANON_1100D = 41,
464 OR_TYPEID_CANON_G1X = 42,
465 OR_TYPEID_CANON_S100 = 43,
466 OR_TYPEID_CANON_5DMKIII = 44,
467 OR_TYPEID_CANON_1DX = 45,
468 OR_TYPEID_CANON_60Da = 46,
469 OR_TYPEID_CANON_650D = 47,
470 OR_TYPEID_CANON_G15 = 48,
471 OR_TYPEID_CANON_6D = 49,
472 OR_TYPEID_CANON_EOS_M = 50,
473 OR_TYPEID_CANON_SX50_HS = 51,
474 OR_TYPEID_CANON_S110 = 52,
475 OR_TYPEID_CANON_100D = 53,
476 OR_TYPEID_CANON_700D = 54,
477 OR_TYPEID_CANON_G16 = 55,
478 OR_TYPEID_CANON_70D = 56,
479 OR_TYPEID_CANON_7DMKII = 57,
480 OR_TYPEID_CANON_G7X = 58,
481 OR_TYPEID_CANON_G1XMKII = 59,
482 OR_TYPEID_CANON_750D = 60,
483 OR_TYPEID_CANON_760D = 61,
484 OR_TYPEID_CANON_5DS_R = 62,
485 OR_TYPEID_CANON_G3X = 63,
486 OR_TYPEID_CANON_G9XMKII = 64,
487 OR_TYPEID_CANON_5DMKIV = 65,
488 OR_TYPEID_CANON_EOS_M5 = 66,
489 OR_TYPEID_CANON_G5X = 67,
490 OR_TYPEID_CANON_G7XMKII = 68,
491 OR_TYPEID_CANON_1300D = 69,
492 OR_TYPEID_CANON_EOS_M3 = 70,
493 OR_TYPEID_CANON_1DXMKII = 71,
494 OR_TYPEID_CANON_80D = 72,
495 OR_TYPEID_CANON_1200D = 73,
496 OR_TYPEID_CANON_G9X = 74,
497 OR_TYPEID_CANON_EOS_M10 = 75,
498 OR_TYPEID_CANON_800D = 76,
499 OR_TYPEID_CANON_77D = 77,
500 OR_TYPEID_CANON_EOS_M6 = 78,
501 OR_TYPEID_CANON_EOS_M100 = 79,
502 OR_TYPEID_CANON_6DMKII = 80,
503 OR_TYPEID_CANON_200D = 81,
504 OR_TYPEID_CANON_G1XMKIII = 82,
505 OR_TYPEID_CANON_5DS = 83,
506 OR_TYPEID_CANON_EOS_M50 = 84,
507 OR_TYPEID_CANON_SX1_IS = 85,
508 OR_TYPEID_CANON_S120 = 86,
509 OR_TYPEID_CANON_SX60_HS = 87,
510 OR_TYPEID_CANON_2000D = 88,
511 OR_TYPEID_CANON_EOS_R = 89,
512 OR_TYPEID_CANON_3000D = 90,
513 OR_TYPEID_CANON_1DMKIIN = 91,
514 OR_TYPEID_CANON_SX70_HS = 92,
515 OR_TYPEID_CANON_EOS_RP = 93,
516 OR_TYPEID_CANON_250D = 94,
517 OR_TYPEID_CANON_G7XMKIII = 95,
518 OR_TYPEID_CANON_G5XMKII = 96,
519 OR_TYPEID_CANON_EOS_M6MKII = 97,
520 OR_TYPEID_CANON_90D = 98,
521 OR_TYPEID_CANON_EOS_M200 = 99,
522 OR_TYPEID_CANON_1DXMKIII = 100,
523 OR_TYPEID_CANON_EOS_R5 = 101,
524 OR_TYPEID_CANON_EOS_R6 = 102,
525 OR_TYPEID_CANON_S30 = 103,
526 OR_TYPEID_CANON_S40 = 104,
527 OR_TYPEID_CANON_S45 = 105,
528 OR_TYPEID_CANON_S50 = 106,
529 OR_TYPEID_CANON_S60 = 107,
530 OR_TYPEID_CANON_S70 = 108,
531 OR_TYPEID_CANON_S100V = 109,
532 OR_TYPEID_CANON_PRO70 = 110,
533 OR_TYPEID_CANON_PRO90 = 111,
534 OR_TYPEID_CANON_850D = 112,
535 OR_TYPEID_CANON_EOS_M2 = 113,
536 OR_TYPEID_CANON_EOS_M50MKII = 114,
537 OR_TYPEID_CANON_EOS_R3 = 115,
538 OR_TYPEID_CANON_EOS_R7 = 116,
539 OR_TYPEID_CANON_EOS_R10 = 117,
540 OR_TYPEID_CANON_EOS_R6MKII = 118,
541 _OR_TYPEID_CANON_LAST = 119,
542}
543#[repr(u32)]
544#[doc = " @brief Nikon type IDs"]
545#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
546pub enum _OR_TYPEID_VENDOR_NIKON {
547 OR_TYPEID_NIKON_UNKNOWN = 0,
548 OR_TYPEID_NIKON_E5700 = 1,
549 OR_TYPEID_NIKON_D1 = 2,
550 OR_TYPEID_NIKON_D1X = 3,
551 OR_TYPEID_NIKON_D100 = 4,
552 OR_TYPEID_NIKON_D2H = 5,
553 OR_TYPEID_NIKON_D2X = 6,
554 OR_TYPEID_NIKON_D200 = 7,
555 OR_TYPEID_NIKON_D3 = 8,
556 OR_TYPEID_NIKON_D300 = 9,
557 OR_TYPEID_NIKON_D40 = 10,
558 OR_TYPEID_NIKON_D40X = 11,
559 OR_TYPEID_NIKON_D50 = 12,
560 OR_TYPEID_NIKON_D70 = 13,
561 OR_TYPEID_NIKON_D70S = 14,
562 OR_TYPEID_NIKON_D80 = 15,
563 OR_TYPEID_NIKON_D3000 = 16,
564 OR_TYPEID_NIKON_COOLPIX_P6000 = 17,
565 OR_TYPEID_NIKON_COOLPIX_P7000 = 18,
566 OR_TYPEID_NIKON_D7000 = 19,
567 OR_TYPEID_NIKON_D3100 = 20,
568 OR_TYPEID_NIKON_1_J1 = 21,
569 OR_TYPEID_NIKON_1_V1 = 22,
570 OR_TYPEID_NIKON_COOLPIX_P7100 = 23,
571 OR_TYPEID_NIKON_D5000 = 24,
572 OR_TYPEID_NIKON_D5100 = 25,
573 OR_TYPEID_NIKON_D4 = 26,
574 OR_TYPEID_NIKON_D3S = 27,
575 OR_TYPEID_NIKON_D3X = 28,
576 OR_TYPEID_NIKON_D300S = 29,
577 OR_TYPEID_NIKON_D3200 = 30,
578 OR_TYPEID_NIKON_D700 = 31,
579 OR_TYPEID_NIKON_D800 = 32,
580 OR_TYPEID_NIKON_D800E = 33,
581 OR_TYPEID_NIKON_D90 = 34,
582 OR_TYPEID_NIKON_D600 = 35,
583 OR_TYPEID_NIKON_COOLPIX_P7700 = 36,
584 OR_TYPEID_NIKON_1_V2 = 37,
585 OR_TYPEID_NIKON_D5200 = 38,
586 OR_TYPEID_NIKON_D7100 = 39,
587 OR_TYPEID_NIKON_COOLPIX_A = 40,
588 OR_TYPEID_NIKON_1_J2 = 41,
589 OR_TYPEID_NIKON_1_J3 = 42,
590 OR_TYPEID_NIKON_1_S1 = 43,
591 OR_TYPEID_NIKON_D60 = 44,
592 OR_TYPEID_NIKON_DF = 45,
593 OR_TYPEID_NIKON_E5400 = 46,
594 OR_TYPEID_NIKON_E8400 = 47,
595 OR_TYPEID_NIKON_D4S = 48,
596 OR_TYPEID_NIKON_D610 = 49,
597 OR_TYPEID_NIKON_D750 = 50,
598 OR_TYPEID_NIKON_1_J5 = 51,
599 OR_TYPEID_NIKON_1_V3 = 52,
600 OR_TYPEID_NIKON_D7200 = 53,
601 OR_TYPEID_NIKON_D5300 = 54,
602 OR_TYPEID_NIKON_D5500 = 55,
603 OR_TYPEID_NIKON_D3300 = 56,
604 OR_TYPEID_NIKON_D810 = 57,
605 OR_TYPEID_NIKON_D5600 = 58,
606 OR_TYPEID_NIKON_D3400 = 59,
607 OR_TYPEID_NIKON_D5 = 60,
608 OR_TYPEID_NIKON_D500 = 61,
609 OR_TYPEID_NIKON_1_AW1 = 62,
610 OR_TYPEID_NIKON_1_S2 = 63,
611 OR_TYPEID_NIKON_1_J4 = 64,
612 OR_TYPEID_NIKON_COOLPIX_B700 = 65,
613 OR_TYPEID_NIKON_COOLPIX_P330 = 66,
614 OR_TYPEID_NIKON_COOLPIX_P340 = 67,
615 OR_TYPEID_NIKON_Z6 = 68,
616 OR_TYPEID_NIKON_Z7 = 69,
617 OR_TYPEID_NIKON_COOLPIX_P1000 = 70,
618 OR_TYPEID_NIKON_E8800 = 71,
619 OR_TYPEID_NIKON_D3500 = 72,
620 OR_TYPEID_NIKON_D2HS = 73,
621 OR_TYPEID_NIKON_D2XS = 74,
622 OR_TYPEID_NIKON_COOLPIX_A1000 = 75,
623 OR_TYPEID_NIKON_D780 = 76,
624 OR_TYPEID_NIKON_Z50 = 77,
625 OR_TYPEID_NIKON_COOLPIX_P950 = 78,
626 OR_TYPEID_NIKON_D6 = 79,
627 OR_TYPEID_NIKON_Z5 = 80,
628 OR_TYPEID_NIKON_Z6_2 = 81,
629 OR_TYPEID_NIKON_Z7_2 = 82,
630 OR_TYPEID_NIKON_ZFC = 83,
631 OR_TYPEID_NIKON_Z9 = 84,
632 OR_TYPEID_NIKON_D1H = 85,
633 OR_TYPEID_NIKON_D7500 = 86,
634 OR_TYPEID_NIKON_D850 = 87,
635 OR_TYPEID_NIKON_COOLPIX_P7800 = 88,
636 OR_TYPEID_NIKON_Z30 = 89,
637 _OR_TYPEID_NIKON_LAST = 90,
638}
639#[repr(u32)]
640#[doc = " @brief Leica type IDs"]
641#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
642pub enum _OR_TYPEID_VENDOR_LEICA {
643 OR_TYPEID_LEICA_UNKNOWN = 0,
644 OR_TYPEID_LEICA_DMR = 1,
645 OR_TYPEID_LEICA_M8 = 2,
646 OR_TYPEID_LEICA_X1 = 3,
647 OR_TYPEID_LEICA_DIGILUX2 = 4,
648 OR_TYPEID_LEICA_DLUX_3 = 5,
649 OR_TYPEID_LEICA_VLUX_1 = 6,
650 OR_TYPEID_LEICA_M9 = 7,
651 OR_TYPEID_LEICA_S2 = 8,
652 OR_TYPEID_LEICA_M_MONOCHROM = 9,
653 OR_TYPEID_LEICA_X2 = 10,
654 OR_TYPEID_LEICA_M_TYP240 = 11,
655 OR_TYPEID_LEICA_X_VARIO = 12,
656 OR_TYPEID_LEICA_T_TYP701 = 13,
657 OR_TYPEID_LEICA_Q_TYP116 = 14,
658 OR_TYPEID_LEICA_X_TYP113 = 15,
659 OR_TYPEID_LEICA_M10 = 16,
660 OR_TYPEID_LEICA_SL_TYP601 = 17,
661 OR_TYPEID_LEICA_DLUX_TYP109 = 18,
662 OR_TYPEID_LEICA_VLUX_4 = 19,
663 OR_TYPEID_LEICA_CL = 20,
664 OR_TYPEID_LEICA_VLUX_TYP114 = 21,
665 OR_TYPEID_LEICA_CLUX = 22,
666 OR_TYPEID_LEICA_M10P = 23,
667 OR_TYPEID_LEICA_M10D = 24,
668 OR_TYPEID_LEICA_TL2 = 25,
669 OR_TYPEID_LEICA_DLUX_5 = 26,
670 OR_TYPEID_LEICA_DLUX_7 = 27,
671 OR_TYPEID_LEICA_C_TYP112 = 28,
672 OR_TYPEID_LEICA_VLUX_5 = 29,
673 OR_TYPEID_LEICA_Q2 = 30,
674 OR_TYPEID_LEICA_SL2 = 31,
675 OR_TYPEID_LEICA_M10_MONOCHROM = 32,
676 OR_TYPEID_LEICA_M10R = 33,
677 OR_TYPEID_LEICA_M_MONOCHROM_TYP246 = 34,
678 OR_TYPEID_LEICA_DLUX_4 = 35,
679 OR_TYPEID_LEICA_SL2S = 36,
680 OR_TYPEID_LEICA_Q2_MONOCHROM = 37,
681 OR_TYPEID_LEICA_M11 = 38,
682 OR_TYPEID_LEICA_DIGILUX3 = 39,
683 OR_TYPEID_LEICA_DLUX_6 = 40,
684 _OR_TYPEID_LEICA_LAST = 41,
685}
686#[repr(u32)]
687#[doc = " @brief Pentax type IDs"]
688#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
689pub enum _OR_TYPEID_VENDOR_PENTAX {
690 OR_TYPEID_PENTAX_UNKNOWN = 0,
691 OR_TYPEID_PENTAX_K10D_PEF = 1,
692 OR_TYPEID_PENTAX_K10D_DNG = 2,
693 OR_TYPEID_PENTAX_IST_D_PEF = 3,
694 OR_TYPEID_PENTAX_IST_DL_PEF = 4,
695 OR_TYPEID_PENTAX_K100D_PEF = 5,
696 OR_TYPEID_PENTAX_K100D_SUPER_PEF = 6,
697 OR_TYPEID_PENTAX_K20D_PEF = 7,
698 OR_TYPEID_PENTAX_KR_PEF = 8,
699 OR_TYPEID_PENTAX_KX_PEF = 9,
700 OR_TYPEID_PENTAX_K5_PEF = 10,
701 OR_TYPEID_PENTAX_K7_PEF = 11,
702 OR_TYPEID_PENTAX_645D_PEF = 12,
703 OR_TYPEID_PENTAX_645D_DNG = 13,
704 OR_TYPEID_PENTAX_K2000_DNG = 14,
705 OR_TYPEID_PENTAX_Q_DNG = 15,
706 OR_TYPEID_PENTAX_K200D_DNG = 16,
707 OR_TYPEID_PENTAX_KM_PEF = 17,
708 OR_TYPEID_PENTAX_KX_DNG = 18,
709 OR_TYPEID_PENTAX_KR_DNG = 19,
710 OR_TYPEID_PENTAX_K01_DNG = 20,
711 OR_TYPEID_PENTAX_K30_DNG = 21,
712 OR_TYPEID_PENTAX_K5_IIS_DNG = 22,
713 OR_TYPEID_PENTAX_MX1_DNG = 23,
714 OR_TYPEID_PENTAX_Q10_DNG = 24,
715 OR_TYPEID_PENTAX_Q7_DNG = 25,
716 OR_TYPEID_PENTAX_K3_DNG = 26,
717 OR_TYPEID_PENTAX_K50_DNG = 27,
718 OR_TYPEID_PENTAX_K500_DNG = 28,
719 OR_TYPEID_PENTAX_K200D_PEF = 29,
720 OR_TYPEID_PENTAX_IST_DS_PEF = 30,
721 OR_TYPEID_PENTAX_K5_IIS_PEF = 31,
722 OR_TYPEID_PENTAX_K3_II_DNG = 32,
723 OR_TYPEID_PENTAX_K1_PEF = 33,
724 OR_TYPEID_PENTAX_K1_DNG = 34,
725 OR_TYPEID_PENTAX_K70_PEF = 35,
726 OR_TYPEID_PENTAX_K70_DNG = 36,
727 OR_TYPEID_PENTAX_KS1_PEF = 37,
728 OR_TYPEID_PENTAX_KS1_DNG = 38,
729 OR_TYPEID_PENTAX_KS2_PEF = 39,
730 OR_TYPEID_PENTAX_KS2_DNG = 40,
731 OR_TYPEID_PENTAX_QS1_DNG = 41,
732 OR_TYPEID_PENTAX_QS1_PEF = 42,
733 OR_TYPEID_PENTAX_KP_PEF = 43,
734 OR_TYPEID_PENTAX_KP_DNG = 44,
735 OR_TYPEID_PENTAX_K1_MKII_PEF = 45,
736 OR_TYPEID_PENTAX_K1_MKII_DNG = 46,
737 OR_TYPEID_PENTAX_K7_DNG = 47,
738 OR_TYPEID_PENTAX_IST_DL2_PEF = 48,
739 OR_TYPEID_PENTAX_K5_II_PEF = 49,
740 OR_TYPEID_PENTAX_K5_II_DNG = 50,
741 OR_TYPEID_PENTAX_K3_PEF = 51,
742 OR_TYPEID_PENTAX_K3_II_PEF = 52,
743 OR_TYPEID_PENTAX_K110D_PEF = 53,
744 OR_TYPEID_PENTAX_K3_MKIII_PEF = 54,
745 OR_TYPEID_PENTAX_K3_MKIII_DNG = 55,
746 OR_TYPEID_PENTAX_K2000_PEF = 56,
747 _OR_TYPEID_PENTAX_LAST = 57,
748}
749#[repr(u32)]
750#[doc = " @brief Epson type IDs"]
751#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
752pub enum _OR_TYPEID_VENDOR_EPSON {
753 OR_TYPEID_EPSON_UNKNOWN = 0,
754 OR_TYPEID_EPSON_RD1 = 1,
755 OR_TYPEID_EPSON_RD1S = 2,
756 OR_TYPEID_EPSON_RD1X = 3,
757 _OR_TYPEID_EPSON_LAST = 4,
758}
759#[repr(u32)]
760#[doc = " @brief Minolta type IDs"]
761#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
762pub enum _OR_TYPEID_VENDOR_MINOLTA {
763 OR_TYPEID_MINOLTA_UNKNOWN = 0,
764 OR_TYPEID_MINOLTA_A1 = 1,
765 OR_TYPEID_MINOLTA_A2 = 2,
766 OR_TYPEID_MINOLTA_DIMAGE5 = 3,
767 OR_TYPEID_MINOLTA_DIMAGE7 = 4,
768 OR_TYPEID_MINOLTA_DIMAGE7I = 5,
769 OR_TYPEID_MINOLTA_DIMAGE7HI = 6,
770 OR_TYPEID_MINOLTA_MAXXUM_5D = 7,
771 OR_TYPEID_MINOLTA_MAXXUM_7D = 8,
772 OR_TYPEID_MINOLTA_A200 = 9,
773 _OR_TYPEID_MINOLTA_LAST = 10,
774}
775#[repr(u32)]
776#[doc = " @brief Olympus (and its successor OM Digital Solutions type IDs"]
777#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
778pub enum _OR_TYPEID_VENDOR_OLYMPUS {
779 OR_TYPEID_OLYMPUS_UNKNOWN = 0,
780 OR_TYPEID_OLYMPUS_E1 = 1,
781 OR_TYPEID_OLYMPUS_E10 = 2,
782 OR_TYPEID_OLYMPUS_E3 = 3,
783 OR_TYPEID_OLYMPUS_E300 = 4,
784 OR_TYPEID_OLYMPUS_E330 = 5,
785 OR_TYPEID_OLYMPUS_E400 = 6,
786 OR_TYPEID_OLYMPUS_E410 = 7,
787 OR_TYPEID_OLYMPUS_E500 = 8,
788 OR_TYPEID_OLYMPUS_E510 = 9,
789 OR_TYPEID_OLYMPUS_SP350 = 10,
790 OR_TYPEID_OLYMPUS_SP510UZ = 11,
791 OR_TYPEID_OLYMPUS_SP550UZ = 12,
792 OR_TYPEID_OLYMPUS_SP500UZ = 13,
793 OR_TYPEID_OLYMPUS_EP1 = 14,
794 OR_TYPEID_OLYMPUS_E620 = 15,
795 OR_TYPEID_OLYMPUS_EPL1 = 16,
796 OR_TYPEID_OLYMPUS_EP2 = 17,
797 OR_TYPEID_OLYMPUS_XZ1 = 18,
798 OR_TYPEID_OLYMPUS_E5 = 19,
799 OR_TYPEID_OLYMPUS_EPL2 = 20,
800 OR_TYPEID_OLYMPUS_EP3 = 21,
801 OR_TYPEID_OLYMPUS_EPL3 = 22,
802 OR_TYPEID_OLYMPUS_EPM1 = 23,
803 OR_TYPEID_OLYMPUS_EM5 = 24,
804 OR_TYPEID_OLYMPUS_XZ2 = 25,
805 OR_TYPEID_OLYMPUS_EPM2 = 26,
806 OR_TYPEID_OLYMPUS_EPL5 = 27,
807 OR_TYPEID_OLYMPUS_EM1 = 28,
808 OR_TYPEID_OLYMPUS_STYLUS1 = 29,
809 OR_TYPEID_OLYMPUS_EPL6 = 30,
810 OR_TYPEID_OLYMPUS_EPL7 = 31,
811 OR_TYPEID_OLYMPUS_EM5II = 32,
812 OR_TYPEID_OLYMPUS_EM1II = 33,
813 OR_TYPEID_OLYMPUS_PEN_F = 34,
814 OR_TYPEID_OLYMPUS_EM10 = 35,
815 OR_TYPEID_OLYMPUS_EM10II = 36,
816 OR_TYPEID_OLYMPUS_EPL8 = 37,
817 OR_TYPEID_OLYMPUS_SH2 = 38,
818 OR_TYPEID_OLYMPUS_XZ10 = 39,
819 OR_TYPEID_OLYMPUS_TG4 = 40,
820 OR_TYPEID_OLYMPUS_EPL9 = 41,
821 OR_TYPEID_OLYMPUS_STYLUS1_1S = 42,
822 OR_TYPEID_OLYMPUS_EM10III = 43,
823 OR_TYPEID_OLYMPUS_TG5 = 44,
824 OR_TYPEID_OLYMPUS_EM1X = 45,
825 OR_TYPEID_OLYMPUS_TG6 = 46,
826 OR_TYPEID_OLYMPUS_EM5III = 47,
827 OR_TYPEID_OLYMPUS_SP565UZ = 48,
828 OR_TYPEID_OLYMPUS_EPL10 = 49,
829 OR_TYPEID_OLYMPUS_EM1III = 50,
830 OR_TYPEID_OLYMPUS_EM10IV = 51,
831 OR_TYPEID_OLYMPUS_EM10IIIS = 52,
832 OR_TYPEID_OLYMPUS_OM1 = 53,
833 OR_TYPEID_OLYMPUS_E30 = 54,
834 OR_TYPEID_OLYMPUS_EP5 = 55,
835 OR_TYPEID_OLYMPUS_E420 = 56,
836 OR_TYPEID_OLYMPUS_E450 = 57,
837 OR_TYPEID_OLYMPUS_E520 = 58,
838 OR_TYPEID_OLYMPUS_E600 = 59,
839 OR_TYPEID_OLYMPUS_C5060WZ = 60,
840 OR_TYPEID_OLYMPUS_SP570UZ = 61,
841 OR_TYPEID_OLYMPUS_EP7 = 62,
842 OR_TYPEID_OLYMPUS_OM5 = 63,
843 _OR_TYPEID_OLYMPUS_LAST = 64,
844}
845#[repr(u32)]
846#[doc = " @brief Samsung type IDs"]
847#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
848pub enum _OR_TYPEID_VENDOR_SAMSUNG {
849 OR_TYPEID_SAMSUNG_UNKNOWN = 0,
850 OR_TYPEID_SAMSUNG_GX10 = 1,
851 OR_TYPEID_SAMSUNG_PRO815 = 2,
852 _OR_TYPEID_SAMSUNG_LAST = 3,
853}
854#[repr(u32)]
855#[doc = " @brief Ricoh type IDs"]
856#[doc = ""]
857#[doc = " Following the merger with Pentax newer cameras may be Pentax."]
858#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
859pub enum _OR_TYPEID_VENDOR_RICOH {
860 OR_TYPEID_RICOH_UNKNOWN = 0,
861 OR_TYPEID_RICOH_GR2 = 1,
862 OR_TYPEID_RICOH_GXR = 2,
863 OR_TYPEID_RICOH_GXR_A16 = 3,
864 OR_TYPEID_RICOH_GR = 4,
865 OR_TYPEID_RICOH_GX200 = 5,
866 OR_TYPEID_PENTAX_645Z_PEF = 6,
867 OR_TYPEID_PENTAX_645Z_DNG = 7,
868 OR_TYPEID_RICOH_GRII = 8,
869 OR_TYPEID_RICOH_GRIII = 9,
870 OR_TYPEID_RICOH_GRIIIX = 10,
871 _OR_TYPEID_RICOH_LAST = 11,
872}
873impl _OR_TYPEID_VENDOR_SONY {
874 pub const OR_TYPEID_SONY_A390: _OR_TYPEID_VENDOR_SONY =
875 _OR_TYPEID_VENDOR_SONY::OR_TYPEID_SONY_A380;
876}
877impl _OR_TYPEID_VENDOR_SONY {
878 pub const OR_TYPEID_SONY_ILCE3500: _OR_TYPEID_VENDOR_SONY =
879 _OR_TYPEID_VENDOR_SONY::OR_TYPEID_SONY_ILCE3000;
880}
881#[repr(u32)]
882#[doc = " @brief Sony type IDs"]
883#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
884pub enum _OR_TYPEID_VENDOR_SONY {
885 OR_TYPEID_SONY_UNKNOWN = 0,
886 OR_TYPEID_SONY_A100 = 1,
887 OR_TYPEID_SONY_A200 = 2,
888 OR_TYPEID_SONY_A700 = 3,
889 OR_TYPEID_SONY_A550 = 4,
890 OR_TYPEID_SONY_A380 = 5,
891 OR_TYPEID_SONY_SLTA55 = 7,
892 OR_TYPEID_SONY_SLTA77 = 8,
893 OR_TYPEID_SONY_NEX3 = 9,
894 OR_TYPEID_SONY_NEX3N = 10,
895 OR_TYPEID_SONY_NEX5 = 11,
896 OR_TYPEID_SONY_NEX5N = 12,
897 OR_TYPEID_SONY_NEX5R = 13,
898 OR_TYPEID_SONY_NEX5T = 14,
899 OR_TYPEID_SONY_NEX6 = 15,
900 OR_TYPEID_SONY_NEX7 = 16,
901 OR_TYPEID_SONY_NEXC3 = 17,
902 OR_TYPEID_SONY_NEXF3 = 18,
903 OR_TYPEID_SONY_SLTA65 = 19,
904 OR_TYPEID_SONY_A330 = 21,
905 OR_TYPEID_SONY_A450 = 22,
906 OR_TYPEID_SONY_A580 = 23,
907 OR_TYPEID_SONY_A850 = 24,
908 OR_TYPEID_SONY_A900 = 25,
909 OR_TYPEID_SONY_SLTA35 = 26,
910 OR_TYPEID_SONY_SLTA33 = 27,
911 OR_TYPEID_SONY_A560 = 28,
912 OR_TYPEID_SONY_SLTA99 = 29,
913 OR_TYPEID_SONY_RX100 = 30,
914 OR_TYPEID_SONY_RX100M2 = 31,
915 OR_TYPEID_SONY_RX100M3 = 32,
916 OR_TYPEID_SONY_RX100M4 = 33,
917 OR_TYPEID_SONY_RX100M5 = 34,
918 OR_TYPEID_SONY_RX100M6 = 35,
919 OR_TYPEID_SONY_RX1 = 36,
920 OR_TYPEID_SONY_RX1R = 37,
921 OR_TYPEID_SONY_RX10 = 38,
922 OR_TYPEID_SONY_RX10M2 = 39,
923 OR_TYPEID_SONY_RX10M3 = 40,
924 OR_TYPEID_SONY_RX1RM2 = 41,
925 OR_TYPEID_SONY_RX10M4 = 42,
926 OR_TYPEID_SONY_RX0 = 43,
927 OR_TYPEID_SONY_SLTA57 = 44,
928 OR_TYPEID_SONY_ILCE7 = 45,
929 OR_TYPEID_SONY_ILCE7M2 = 46,
930 OR_TYPEID_SONY_ILCE7M3 = 47,
931 OR_TYPEID_SONY_ILCE7R = 48,
932 OR_TYPEID_SONY_ILCE7RM2 = 49,
933 OR_TYPEID_SONY_ILCE7RM3 = 50,
934 OR_TYPEID_SONY_ILCE7S = 51,
935 OR_TYPEID_SONY_ILCE7SM2 = 52,
936 OR_TYPEID_SONY_ILCE9 = 53,
937 OR_TYPEID_SONY_ILCE3000 = 54,
938 OR_TYPEID_SONY_SLTA58 = 55,
939 OR_TYPEID_SONY_ILCE6000 = 56,
940 OR_TYPEID_SONY_ILCA99M2 = 57,
941 OR_TYPEID_SONY_ILCE6300 = 58,
942 OR_TYPEID_SONY_ILCE6500 = 59,
943 OR_TYPEID_SONY_ILCE5100 = 60,
944 OR_TYPEID_SONY_A230 = 61,
945 OR_TYPEID_SONY_A500 = 62,
946 OR_TYPEID_SONY_SLTA37 = 63,
947 OR_TYPEID_SONY_ILCA77M2 = 64,
948 OR_TYPEID_SONY_ILCA68 = 65,
949 OR_TYPEID_SONY_ILCE5000 = 66,
950 OR_TYPEID_SONY_A290 = 67,
951 OR_TYPEID_SONY_RX100M5A = 68,
952 OR_TYPEID_SONY_HX99 = 69,
953 OR_TYPEID_SONY_ILCE6400 = 70,
954 OR_TYPEID_SONY_RX0M2 = 71,
955 OR_TYPEID_SONY_ILCE7RM4 = 72,
956 OR_TYPEID_SONY_RX100M7 = 73,
957 OR_TYPEID_SONY_ILCE6100 = 74,
958 OR_TYPEID_SONY_ILCE6600 = 75,
959 OR_TYPEID_SONY_ILCE9M2 = 76,
960 OR_TYPEID_SONY_ZV1 = 77,
961 OR_TYPEID_SONY_R1 = 78,
962 OR_TYPEID_SONY_ILCE7SM3 = 79,
963 OR_TYPEID_SONY_ILCE7C = 80,
964 OR_TYPEID_SONY_ZVE10 = 81,
965 OR_TYPEID_SONY_ILCE1 = 82,
966 OR_TYPEID_SONY_ILCE7M4 = 83,
967 OR_TYPEID_SONY_ILCEQX1 = 84,
968 OR_TYPEID_SONY_A350 = 85,
969 OR_TYPEID_SONY_A300 = 86,
970 OR_TYPEID_SONY_ILCE7RM3A = 87,
971 OR_TYPEID_SONY_ILCE7RM4A = 88,
972 OR_TYPEID_SONY_HX95 = 89,
973 OR_TYPEID_SONY_ILCE7RM5 = 90,
974 _OR_TYPEID_SONY_LAST = 91,
975}
976impl _OR_TYPEID_VENDOR_PANASONIC {
977 pub const OR_TYPEID_PANASONIC_GM1S: _OR_TYPEID_VENDOR_PANASONIC =
978 _OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_GM1;
979}
980impl _OR_TYPEID_VENDOR_PANASONIC {
981 pub const OR_TYPEID_PANASONIC_G85: _OR_TYPEID_VENDOR_PANASONIC =
982 _OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_G80;
983}
984impl _OR_TYPEID_VENDOR_PANASONIC {
985 pub const OR_TYPEID_PANASONIC_LX15: _OR_TYPEID_VENDOR_PANASONIC =
986 _OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_LX10;
987}
988impl _OR_TYPEID_VENDOR_PANASONIC {
989 pub const OR_TYPEID_PANASONIC_FZ2000: _OR_TYPEID_VENDOR_PANASONIC =
990 _OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_FZ2500;
991}
992impl _OR_TYPEID_VENDOR_PANASONIC {
993 pub const OR_TYPEID_PANASONIC_TX1: _OR_TYPEID_VENDOR_PANASONIC =
994 _OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_ZS100;
995}
996impl _OR_TYPEID_VENDOR_PANASONIC {
997 pub const OR_TYPEID_PANASONIC_TZ100: _OR_TYPEID_VENDOR_PANASONIC =
998 _OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_ZS100;
999}
1000impl _OR_TYPEID_VENDOR_PANASONIC {
1001 pub const OR_TYPEID_PANASONIC_TZ101: _OR_TYPEID_VENDOR_PANASONIC =
1002 _OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_ZS100;
1003}
1004impl _OR_TYPEID_VENDOR_PANASONIC {
1005 pub const OR_TYPEID_PANASONIC_TZ110: _OR_TYPEID_VENDOR_PANASONIC =
1006 _OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_ZS100;
1007}
1008impl _OR_TYPEID_VENDOR_PANASONIC {
1009 pub const OR_TYPEID_PANASONIC_GX85: _OR_TYPEID_VENDOR_PANASONIC =
1010 _OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_GX80;
1011}
1012impl _OR_TYPEID_VENDOR_PANASONIC {
1013 pub const OR_TYPEID_PANASONIC_FZ82: _OR_TYPEID_VENDOR_PANASONIC =
1014 _OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_FZ80;
1015}
1016impl _OR_TYPEID_VENDOR_PANASONIC {
1017 pub const OR_TYPEID_PANASONIC_TZ80: _OR_TYPEID_VENDOR_PANASONIC =
1018 _OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_ZS60;
1019}
1020impl _OR_TYPEID_VENDOR_PANASONIC {
1021 pub const OR_TYPEID_PANASONIC_TZ81: _OR_TYPEID_VENDOR_PANASONIC =
1022 _OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_ZS60;
1023}
1024impl _OR_TYPEID_VENDOR_PANASONIC {
1025 pub const OR_TYPEID_PANASONIC_GX7MK3: _OR_TYPEID_VENDOR_PANASONIC =
1026 _OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_GX9;
1027}
1028impl _OR_TYPEID_VENDOR_PANASONIC {
1029 pub const OR_TYPEID_PANASONIC_FZ38: _OR_TYPEID_VENDOR_PANASONIC =
1030 _OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_FZ35;
1031}
1032impl _OR_TYPEID_VENDOR_PANASONIC {
1033 pub const OR_TYPEID_PANASONIC_TX2: _OR_TYPEID_VENDOR_PANASONIC =
1034 _OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_ZS200;
1035}
1036impl _OR_TYPEID_VENDOR_PANASONIC {
1037 pub const OR_TYPEID_PANASONIC_TZ202: _OR_TYPEID_VENDOR_PANASONIC =
1038 _OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_ZS200;
1039}
1040impl _OR_TYPEID_VENDOR_PANASONIC {
1041 pub const OR_TYPEID_PANASONIC_DMC_FZ45: _OR_TYPEID_VENDOR_PANASONIC =
1042 _OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_DMC_FZ40;
1043}
1044impl _OR_TYPEID_VENDOR_PANASONIC {
1045 pub const OR_TYPEID_PANASONIC_DC_TZ95: _OR_TYPEID_VENDOR_PANASONIC =
1046 _OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_DC_ZS80;
1047}
1048impl _OR_TYPEID_VENDOR_PANASONIC {
1049 pub const OR_TYPEID_PANASONIC_DC_TZ96: _OR_TYPEID_VENDOR_PANASONIC =
1050 _OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_DC_ZS80;
1051}
1052impl _OR_TYPEID_VENDOR_PANASONIC {
1053 pub const OR_TYPEID_PANASONIC_GX880: _OR_TYPEID_VENDOR_PANASONIC =
1054 _OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_GF10;
1055}
1056impl _OR_TYPEID_VENDOR_PANASONIC {
1057 pub const OR_TYPEID_PANASONIC_DC_G90: _OR_TYPEID_VENDOR_PANASONIC =
1058 _OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_DC_G99;
1059}
1060impl _OR_TYPEID_VENDOR_PANASONIC {
1061 pub const OR_TYPEID_PANASONIC_DC_G91: _OR_TYPEID_VENDOR_PANASONIC =
1062 _OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_DC_G99;
1063}
1064impl _OR_TYPEID_VENDOR_PANASONIC {
1065 pub const OR_TYPEID_PANASONIC_DC_G110: _OR_TYPEID_VENDOR_PANASONIC =
1066 _OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_DC_G100;
1067}
1068impl _OR_TYPEID_VENDOR_PANASONIC {
1069 pub const OR_TYPEID_PANASONIC_G70: _OR_TYPEID_VENDOR_PANASONIC =
1070 _OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_G7;
1071}
1072impl _OR_TYPEID_VENDOR_PANASONIC {
1073 pub const OR_TYPEID_PANASONIC_TZ60: _OR_TYPEID_VENDOR_PANASONIC =
1074 _OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_ZS40;
1075}
1076impl _OR_TYPEID_VENDOR_PANASONIC {
1077 pub const OR_TYPEID_PANASONIC_TZ61: _OR_TYPEID_VENDOR_PANASONIC =
1078 _OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_ZS40;
1079}
1080impl _OR_TYPEID_VENDOR_PANASONIC {
1081 pub const OR_TYPEID_PANASONIC_G81: _OR_TYPEID_VENDOR_PANASONIC =
1082 _OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_G8;
1083}
1084impl _OR_TYPEID_VENDOR_PANASONIC {
1085 pub const OR_TYPEID_PANASONIC_FZ72: _OR_TYPEID_VENDOR_PANASONIC =
1086 _OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_FZ70;
1087}
1088impl _OR_TYPEID_VENDOR_PANASONIC {
1089 pub const OR_TYPEID_PANASONIC_TZ71: _OR_TYPEID_VENDOR_PANASONIC =
1090 _OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_ZS50;
1091}
1092impl _OR_TYPEID_VENDOR_PANASONIC {
1093 pub const OR_TYPEID_PANASONIC_TZ90: _OR_TYPEID_VENDOR_PANASONIC =
1094 _OR_TYPEID_VENDOR_PANASONIC::OR_TYPEID_PANASONIC_ZS70;
1095}
1096#[repr(u32)]
1097#[doc = " @brief Panasonic type IDs"]
1098#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1099pub enum _OR_TYPEID_VENDOR_PANASONIC {
1100 OR_TYPEID_PANASONIC_UNKNOWN = 0,
1101 OR_TYPEID_PANASONIC_GF1 = 1,
1102 OR_TYPEID_PANASONIC_GF2 = 2,
1103 OR_TYPEID_PANASONIC_FZ30 = 3,
1104 OR_TYPEID_PANASONIC_G10 = 4,
1105 OR_TYPEID_PANASONIC_GH1 = 5,
1106 OR_TYPEID_PANASONIC_GH2 = 6,
1107 OR_TYPEID_PANASONIC_LX2 = 7,
1108 OR_TYPEID_PANASONIC_LX3 = 8,
1109 OR_TYPEID_PANASONIC_LX5 = 9,
1110 OR_TYPEID_PANASONIC_FZ8 = 10,
1111 OR_TYPEID_PANASONIC_FZ18 = 11,
1112 OR_TYPEID_PANASONIC_FZ50 = 12,
1113 OR_TYPEID_PANASONIC_L1 = 13,
1114 OR_TYPEID_PANASONIC_G1 = 14,
1115 OR_TYPEID_PANASONIC_G2 = 15,
1116 OR_TYPEID_PANASONIC_L10 = 16,
1117 OR_TYPEID_PANASONIC_FZ28 = 17,
1118 OR_TYPEID_PANASONIC_GF3 = 18,
1119 OR_TYPEID_PANASONIC_FZ100 = 19,
1120 OR_TYPEID_PANASONIC_GX1 = 20,
1121 OR_TYPEID_PANASONIC_G3 = 21,
1122 OR_TYPEID_PANASONIC_G5 = 22,
1123 OR_TYPEID_PANASONIC_GF5 = 23,
1124 OR_TYPEID_PANASONIC_LX7 = 24,
1125 OR_TYPEID_PANASONIC_GH3 = 25,
1126 OR_TYPEID_PANASONIC_FZ200 = 26,
1127 OR_TYPEID_PANASONIC_GF6 = 27,
1128 OR_TYPEID_PANASONIC_GX7 = 28,
1129 OR_TYPEID_PANASONIC_GM1 = 29,
1130 OR_TYPEID_PANASONIC_GH4 = 30,
1131 OR_TYPEID_PANASONIC_LX100 = 31,
1132 OR_TYPEID_PANASONIC_GM5 = 32,
1133 OR_TYPEID_PANASONIC_G80 = 33,
1134 OR_TYPEID_PANASONIC_LX10 = 34,
1135 OR_TYPEID_PANASONIC_FZ2500 = 35,
1136 OR_TYPEID_PANASONIC_GX8 = 36,
1137 OR_TYPEID_PANASONIC_ZS100 = 37,
1138 OR_TYPEID_PANASONIC_GX80 = 38,
1139 OR_TYPEID_PANASONIC_GH5 = 39,
1140 OR_TYPEID_PANASONIC_GX850 = 40,
1141 OR_TYPEID_PANASONIC_FZ80 = 41,
1142 OR_TYPEID_PANASONIC_FZ330 = 42,
1143 OR_TYPEID_PANASONIC_TZ70 = 43,
1144 OR_TYPEID_PANASONIC_ZS60 = 44,
1145 OR_TYPEID_PANASONIC_GF7 = 46,
1146 OR_TYPEID_PANASONIC_CM1 = 47,
1147 OR_TYPEID_PANASONIC_GX9 = 48,
1148 OR_TYPEID_PANASONIC_GX800 = 49,
1149 OR_TYPEID_PANASONIC_G9 = 52,
1150 OR_TYPEID_PANASONIC_DC_FZ45 = 53,
1151 OR_TYPEID_PANASONIC_GH5S = 54,
1152 OR_TYPEID_PANASONIC_LX1 = 55,
1153 OR_TYPEID_PANASONIC_FZ150 = 56,
1154 OR_TYPEID_PANASONIC_FZ35 = 57,
1155 OR_TYPEID_PANASONIC_ZS200 = 58,
1156 OR_TYPEID_PANASONIC_GX7MK2 = 59,
1157 OR_TYPEID_PANASONIC_LX100M2 = 60,
1158 OR_TYPEID_PANASONIC_DMC_FZ40 = 61,
1159 OR_TYPEID_PANASONIC_DC_S1 = 62,
1160 OR_TYPEID_PANASONIC_DC_S1R = 63,
1161 OR_TYPEID_PANASONIC_DC_G95 = 64,
1162 OR_TYPEID_PANASONIC_DMC_FZ1000 = 65,
1163 OR_TYPEID_PANASONIC_DC_FZ1000M2 = 66,
1164 OR_TYPEID_PANASONIC_DC_ZS80 = 67,
1165 OR_TYPEID_PANASONIC_GF10 = 68,
1166 OR_TYPEID_PANASONIC_DC_G99 = 69,
1167 OR_TYPEID_PANASONIC_DC_S1H = 70,
1168 OR_TYPEID_PANASONIC_DC_G100 = 71,
1169 OR_TYPEID_PANASONIC_DC_S5 = 72,
1170 OR_TYPEID_PANASONIC_GH5M2 = 73,
1171 OR_TYPEID_PANASONIC_GH6 = 74,
1172 OR_TYPEID_PANASONIC_G7 = 75,
1173 OR_TYPEID_PANASONIC_ZS40 = 76,
1174 OR_TYPEID_PANASONIC_G6 = 77,
1175 OR_TYPEID_PANASONIC_G8 = 78,
1176 OR_TYPEID_PANASONIC_LF1 = 79,
1177 OR_TYPEID_PANASONIC_FZ300 = 80,
1178 OR_TYPEID_PANASONIC_FZ70 = 81,
1179 OR_TYPEID_PANASONIC_ZS50 = 82,
1180 OR_TYPEID_PANASONIC_ZS70 = 83,
1181 _OR_TYPEID_PANASONIC_LAST = 84,
1182}
1183impl _OR_TYPEID_VENDOR_FUJIFILM {
1184 pub const OR_TYPEID_FUJIFILM_HS33EXR: _OR_TYPEID_VENDOR_FUJIFILM =
1185 _OR_TYPEID_VENDOR_FUJIFILM::OR_TYPEID_FUJIFILM_HS30EXR;
1186}
1187#[repr(u32)]
1188#[doc = " @brief Fujifilm type IDs"]
1189#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1190pub enum _OR_TYPEID_VENDOR_FUJIFILM {
1191 OR_TYPEID_FUJIFILM_UNKNOWN = 0,
1192 OR_TYPEID_FUJIFILM_F700 = 1,
1193 OR_TYPEID_FUJIFILM_E900 = 2,
1194 OR_TYPEID_FUJIFILM_S2PRO = 3,
1195 OR_TYPEID_FUJIFILM_S3PRO = 4,
1196 OR_TYPEID_FUJIFILM_S5PRO = 5,
1197 OR_TYPEID_FUJIFILM_F810 = 6,
1198 OR_TYPEID_FUJIFILM_S5000 = 7,
1199 OR_TYPEID_FUJIFILM_S5600 = 8,
1200 OR_TYPEID_FUJIFILM_S9500 = 9,
1201 OR_TYPEID_FUJIFILM_S6500FD = 10,
1202 OR_TYPEID_FUJIFILM_HS10 = 11,
1203 OR_TYPEID_FUJIFILM_HS30EXR = 12,
1204 OR_TYPEID_FUJIFILM_S200EXR = 13,
1205 OR_TYPEID_FUJIFILM_X100 = 14,
1206 OR_TYPEID_FUJIFILM_X100S = 15,
1207 OR_TYPEID_FUJIFILM_X100T = 16,
1208 OR_TYPEID_FUJIFILM_X100F = 17,
1209 OR_TYPEID_FUJIFILM_X10 = 18,
1210 OR_TYPEID_FUJIFILM_X20 = 19,
1211 OR_TYPEID_FUJIFILM_X30 = 20,
1212 OR_TYPEID_FUJIFILM_X70 = 21,
1213 OR_TYPEID_FUJIFILM_XPRO1 = 22,
1214 OR_TYPEID_FUJIFILM_XPRO2 = 23,
1215 OR_TYPEID_FUJIFILM_XS1 = 24,
1216 OR_TYPEID_FUJIFILM_XE1 = 25,
1217 OR_TYPEID_FUJIFILM_XE2 = 26,
1218 OR_TYPEID_FUJIFILM_XE2S = 27,
1219 OR_TYPEID_FUJIFILM_XE3 = 28,
1220 OR_TYPEID_FUJIFILM_XF1 = 29,
1221 OR_TYPEID_FUJIFILM_XM1 = 30,
1222 OR_TYPEID_FUJIFILM_XT1 = 31,
1223 OR_TYPEID_FUJIFILM_XT10 = 32,
1224 OR_TYPEID_FUJIFILM_XT100 = 33,
1225 OR_TYPEID_FUJIFILM_XT2 = 34,
1226 OR_TYPEID_FUJIFILM_XT20 = 35,
1227 OR_TYPEID_FUJIFILM_XT3 = 36,
1228 OR_TYPEID_FUJIFILM_XA1 = 37,
1229 OR_TYPEID_FUJIFILM_XA2 = 38,
1230 OR_TYPEID_FUJIFILM_XA3 = 39,
1231 OR_TYPEID_FUJIFILM_XA5 = 40,
1232 OR_TYPEID_FUJIFILM_XQ1 = 41,
1233 OR_TYPEID_FUJIFILM_XQ2 = 42,
1234 OR_TYPEID_FUJIFILM_XH1 = 43,
1235 OR_TYPEID_FUJIFILM_GFX50S = 44,
1236 OR_TYPEID_FUJIFILM_GFX50R = 45,
1237 OR_TYPEID_FUJIFILM_XF10 = 46,
1238 OR_TYPEID_FUJIFILM_XT30 = 47,
1239 OR_TYPEID_FUJIFILM_GFX100 = 48,
1240 OR_TYPEID_FUJIFILM_XA7 = 49,
1241 OR_TYPEID_FUJIFILM_XPRO3 = 50,
1242 OR_TYPEID_FUJIFILM_XT200 = 51,
1243 OR_TYPEID_FUJIFILM_X100V = 52,
1244 OR_TYPEID_FUJIFILM_XT4 = 53,
1245 OR_TYPEID_FUJIFILM_F550EXR = 54,
1246 OR_TYPEID_FUJIFILM_S100FS = 55,
1247 OR_TYPEID_FUJIFILM_XS10 = 56,
1248 OR_TYPEID_FUJIFILM_XT30_II = 57,
1249 OR_TYPEID_FUJIFILM_GFX50S_II = 58,
1250 OR_TYPEID_FUJIFILM_GFX100S = 59,
1251 OR_TYPEID_FUJIFILM_XE4 = 60,
1252 OR_TYPEID_FUJIFILM_XA10 = 61,
1253 OR_TYPEID_FUJIFILM_XH2S = 62,
1254 OR_TYPEID_FUJIFILM_XH2 = 63,
1255 OR_TYPEID_FUJIFILM_XT5 = 64,
1256 OR_TYPEID_FUJIFILM_HS50EXR = 65,
1257 OR_TYPEID_FUJIFILM_S6000FD = 66,
1258 OR_TYPEID_FUJIFILM_SL1000 = 67,
1259 _OR_TYPEID_FUJIFILM_LAST = 68,
1260}
1261#[repr(u32)]
1262#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1263pub enum _OR_TYPEID_VENDOR_BLACKMAGIC {
1264 OR_TYPEID_BLACKMAGIC_UNKNOWN = 0,
1265 OR_TYPEID_BLACKMAGIC_POCKET_CINEMA = 1,
1266 _OR_TYPEID_BLACKMAGIC_LAST = 2,
1267}
1268#[repr(u32)]
1269#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1270pub enum _OR_TYPEID_VENDOR_XIAOYI {
1271 OR_TYPEID_XIAOYI_UNKNOWN = 0,
1272 OR_TYPEID_XIAOYI_M1 = 1,
1273 OR_TYPEID_XIAOYI_YDXJ_2 = 2,
1274 OR_TYPEID_XIAOYI_YIAC_3 = 3,
1275 _OR_TYPEID_XIAOYI_LAST = 4,
1276}
1277#[repr(u32)]
1278#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1279pub enum _OR_TYPEID_VENDOR_APPLE {
1280 OR_TYPEID_APPLE_UNKNOWN = 0,
1281 OR_TYPEID_APPLE_IPHONE_6SPLUS = 1,
1282 OR_TYPEID_APPLE_IPHONE_7PLUS = 2,
1283 OR_TYPEID_APPLE_IPHONE_SE = 3,
1284 OR_TYPEID_APPLE_IPHONE_8 = 4,
1285 OR_TYPEID_APPLE_IPHONE_XS = 5,
1286 OR_TYPEID_APPLE_IPHONE_12_PRO = 6,
1287 OR_TYPEID_APPLE_IPHONE_13_PRO = 7,
1288 _OR_TYPEID_APPLE_LAST = 8,
1289}
1290#[repr(u32)]
1291#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1292pub enum _OR_TYPEID_VENDOR_SIGMA {
1293 OR_TYPEID_SIGMA_UNKNOWN = 0,
1294 OR_TYPEID_SIGMA_FP = 1,
1295 OR_TYPEID_SIGMA_FP_L = 2,
1296 _OR_TYPEID_SIGMA_LAST = 3,
1297}
1298#[repr(u32)]
1299#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1300pub enum _OR_TYPEID_VENDOR_GOPRO {
1301 OR_TYPEID_GOPRO_UNKNOWN = 0,
1302 OR_TYPEID_GOPRO_HERO5_BLACK = 1,
1303 OR_TYPEID_GOPRO_HERO6_BLACK = 2,
1304 OR_TYPEID_GOPRO_HERO7_BLACK = 3,
1305 OR_TYPEID_GOPRO_HERO8_BLACK = 4,
1306 OR_TYPEID_GOPRO_HERO9_BLACK = 5,
1307 OR_TYPEID_GOPRO_HERO10_BLACK = 6,
1308 _OR_TYPEID_GOPRO_LAST = 7,
1309}
1310impl _OR_TYPEID_VENDOR_HASSELBLAD {
1311 pub const OR_TYPEID_HASSELBLAD_L2D_20C: _OR_TYPEID_VENDOR_HASSELBLAD =
1312 _OR_TYPEID_VENDOR_HASSELBLAD::OR_TYPEID_HASSELBLAD_L1D_20C;
1313}
1314#[repr(u32)]
1315#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1316pub enum _OR_TYPEID_VENDOR_HASSELBLAD {
1317 OR_TYPEID_HASSELBLAD_UNKNOWN = 0,
1318 OR_TYPEID_HASSELBLAD_LUNAR = 1,
1319 OR_TYPEID_HASSELBLAD_L1D_20C = 2,
1320 _OR_TYPEID_HASSELBLAD_LAST = 3,
1321}
1322#[repr(u32)]
1323#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1324pub enum _OR_TYPEID_VENDOR_ZEISS {
1325 OR_TYPEID_ZEISS_UNKNOWN = 0,
1326 OR_TYPEID_ZEISS_ZX1 = 1,
1327 _OR_TYPEID_ZEISS_LAST = 2,
1328}
1329#[repr(u32)]
1330#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1331pub enum _OR_TYPEID_VENDOR_DJI {
1332 OR_TYPEID_DJI_UNKNOWN = 0,
1333 OR_TYPEID_DJI_FC350 = 1,
1334 OR_TYPEID_DJI_FC7303 = 2,
1335 OR_TYPEID_DJI_OSMO_ACTION = 3,
1336 OR_TYPEID_DJI_FC220 = 4,
1337 OR_TYPEID_DJI_FC6310 = 5,
1338 OR_TYPEID_DJI_FC3582 = 6,
1339 _OR_TYPEID_DJI_LAST = 7,
1340}
1341extern "C" {
1342 #[doc = " Count the number of tags in the ifd"]
1343 pub fn or_ifd_count_tags(ifd: ORIfdDirRef) -> i32;
1344}
1345extern "C" {
1346 pub fn or_ifd_get_makernote_id(ifd: ORIfdDirRef) -> *const ::std::os::raw::c_char;
1347}
1348extern "C" {
1349 pub fn or_ifd_get_tag_name(ifd: ORIfdDirRef, tag: u32) -> *const ::std::os::raw::c_char;
1350}
1351extern "C" {
1352 pub fn or_ifd_get_type(ifd: ORIfdDirRef) -> or_ifd_dir_type;
1353}
1354extern "C" {
1355 pub fn or_ifd_release(ifd: ORIfdDirRef);
1356}
1357extern "C" {
1358 #[doc = " @brief Extract thumbnail for raw file"]
1359 #[doc = ""]
1360 #[doc = " See %or_rawfile_get_thumbnail() for details."]
1361 #[doc = " Will return %OR_ERROR_CANT_OPEN if the file can't be open."]
1362 #[doc = ""]
1363 #[doc = " @param filename The path to the file to extract from."]
1364 #[doc = " @param preferred_size Preferred thumbnail size."]
1365 #[doc = " @param [in/out] thumb The thumbnail object ref to store it in"]
1366 #[doc = " If the ref is NULL, then a new one is allocated. It is"]
1367 #[doc = " the responsibility of the caller to release it."]
1368 #[doc = " @return An error code."]
1369 pub fn or_get_extract_thumbnail(
1370 filename: *const ::std::os::raw::c_char,
1371 preferred_size: u32,
1372 thumb: *mut ORThumbnailRef,
1373 ) -> or_error;
1374}
1375extern "C" {
1376 #[doc = " @brief Allocate a Thumbnail object."]
1377 #[doc = ""]
1378 #[doc = " @return A Thumbnail object. Use %or_thumbnail_release() to free it."]
1379 pub fn or_thumbnail_new() -> ORThumbnailRef;
1380}
1381extern "C" {
1382 #[doc = " @brief Release a Thumbnail object."]
1383 #[doc = ""]
1384 #[doc = " @param thumb The Thumbnail objet to release."]
1385 #[doc = " @return An error code. %OR_ERROR_NONE in case of success, and %OR_ERROR_NOTAREF"]
1386 #[doc = " if a NULL pointer is passed."]
1387 pub fn or_thumbnail_release(thumb: ORThumbnailRef) -> or_error;
1388}
1389extern "C" {
1390 #[doc = " @brief Get the thumbnail format."]
1391 #[doc = ""]
1392 #[doc = " @return A data type indicating the format."]
1393 pub fn or_thumbnail_format(thumb: ORThumbnailRef) -> or_data_type;
1394}
1395extern "C" {
1396 #[doc = " @brief Get the pointer to the data."]
1397 #[doc = ""]
1398 #[doc = " See %or_thumbnail_data_size() to know the size."]
1399 #[doc = ""]
1400 #[doc = " @return A pointer, owned by the %Thumbnail object. May be NULL."]
1401 pub fn or_thumbnail_data(thumb: ORThumbnailRef) -> *mut ::std::os::raw::c_void;
1402}
1403extern "C" {
1404 #[doc = " @brief Get the data size."]
1405 #[doc = ""]
1406 #[doc = " @return The data size."]
1407 pub fn or_thumbnail_data_size(thumb: ORThumbnailRef) -> usize;
1408}
1409extern "C" {
1410 #[doc = " @brief Get the %Thumbnail dimensions in pixels."]
1411 #[doc = ""]
1412 #[doc = " @param [out] x The horizontal dimension. Can be NULL."]
1413 #[doc = " @param [out] y The vertical dimension. Can be NULL."]
1414 pub fn or_thumbnail_dimensions(thumb: ORThumbnailRef, x: *mut u32, y: *mut u32);
1415}
1416#[repr(C)]
1417#[derive(Debug, Copy, Clone)]
1418pub struct _MosaicInfo {
1419 _unused: [u8; 0],
1420}
1421#[doc = " @brief A MosaicInfo object"]
1422pub type ORMosaicInfoRef = *const _MosaicInfo;
1423extern "C" {
1424 #[doc = " @brief Set the size of the mosaic"]
1425 pub fn or_mosaicinfo_set_size(pattern: ORMosaicInfoRef, x: u16, y: u16);
1426}
1427extern "C" {
1428 #[doc = " @brief Get the size of the mosaic"]
1429 pub fn or_mosaicinfo_get_size(pattern: ORMosaicInfoRef, x: *mut u16, y: *mut u16);
1430}
1431extern "C" {
1432 #[doc = " @brief Get the type of the mosaic"]
1433 pub fn or_mosaicinfo_get_type(arg1: ORMosaicInfoRef) -> or_cfa_pattern;
1434}
1435extern "C" {
1436 #[doc = " @brief Get the pattern."]
1437 #[doc = ""]
1438 #[doc = " This will return an array of %or_cfa_pattern_colour indicating the individual colours"]
1439 #[doc = " of the mosaic colour filter array."]
1440 #[doc = ""]
1441 #[doc = " @param pattern The %MosaicInfo"]
1442 #[doc = " @param [out] count the size of the array returned."]
1443 #[doc = " @return The pattern. The pointer is owned by the %MosaicInfo object."]
1444 pub fn or_mosaicinfo_get_pattern(pattern: ORMosaicInfoRef, count: *mut u16) -> *const u8;
1445}
1446extern "C" {
1447 #[doc = " @brief Extract the RAW data from the raw file."]
1448 #[doc = " @param filename the raw file name"]
1449 #[doc = " @param options the options to pass"]
1450 #[doc = " @param rawdata the destination RawData. Must allocated."]
1451 pub fn or_get_extract_rawdata(
1452 filename: *const ::std::os::raw::c_char,
1453 options: u32,
1454 rawdata: *mut ORRawDataRef,
1455 ) -> or_error;
1456}
1457extern "C" {
1458 #[doc = " @brief Allocate a new RawData"]
1459 #[doc = " @return A newly allocated RawData. Must be released by %or_rawdata_release"]
1460 pub fn or_rawdata_new() -> ORRawDataRef;
1461}
1462extern "C" {
1463 #[doc = " @brief Release the rawdata"]
1464 pub fn or_rawdata_release(rawdata: ORRawDataRef) -> or_error;
1465}
1466extern "C" {
1467 #[doc = " @brief Get the format of the RAW data"]
1468 pub fn or_rawdata_format(rawdata: ORRawDataRef) -> or_data_type;
1469}
1470extern "C" {
1471 #[doc = " @brief Get a pointer to the RAW data"]
1472 #[doc = ""]
1473 #[doc = " The pointer is owned by the RawData object."]
1474 pub fn or_rawdata_data(rawdata: ORRawDataRef) -> *mut ::std::os::raw::c_void;
1475}
1476extern "C" {
1477 #[doc = " @brief Get the size of the RAW data in bytes"]
1478 pub fn or_rawdata_data_size(rawdata: ORRawDataRef) -> usize;
1479}
1480extern "C" {
1481 #[doc = " @brief Get the RAW data dimensions in pixels"]
1482 #[doc = " @param [out] x the horizontal dimension"]
1483 #[doc = " @param [out] y the vertical dimension"]
1484 pub fn or_rawdata_dimensions(rawdata: ORRawDataRef, x: *mut u32, y: *mut u32);
1485}
1486extern "C" {
1487 #[doc = " @brief Get the active area for the raw data."]
1488 #[doc = ""]
1489 #[doc = " The active area is the usefull part of the RAW data"]
1490 #[doc = " it is specific per camera and isn't the crop."]
1491 #[doc = ""]
1492 #[doc = " @param rawdata the RawData object"]
1493 #[doc = " @param [out] x the X origin"]
1494 #[doc = " @param [out] y the Y origin"]
1495 #[doc = " @param [out] width the width"]
1496 #[doc = " @param [out] height the height."]
1497 #[doc = " @return an error code or %OR_ERROR_NONE in case of success."]
1498 pub fn or_rawdata_get_active_area(
1499 rawdata: ORRawDataRef,
1500 x: *mut u32,
1501 y: *mut u32,
1502 width: *mut u32,
1503 height: *mut u32,
1504 ) -> or_error;
1505}
1506extern "C" {
1507 #[doc = " @brief Return the bits per component"]
1508 #[doc = ""]
1509 #[doc = " @return the number of bits per component in the RAW data."]
1510 pub fn or_rawdata_bpc(rawdata: ORRawDataRef) -> u32;
1511}
1512extern "C" {
1513 #[doc = " @brief Return the bayer type for the raw data."]
1514 #[doc = ""]
1515 #[doc = " @return one of the constant defined in %or_cfa_pattern"]
1516 pub fn or_rawdata_get_cfa_pattern_type(rawdata: ORRawDataRef) -> or_cfa_pattern;
1517}
1518extern "C" {
1519 #[doc = " @brief Return the mosaic info"]
1520 #[doc = ""]
1521 #[doc = " @return a MosaicInfo object. It is owned by the RawData. Can't be NULL."]
1522 pub fn or_rawdata_get_mosaicinfo(rawdata: ORRawDataRef) -> ORMosaicInfoRef;
1523}
1524extern "C" {
1525 #[doc = " @brief Return the compression type for the RawData."]
1526 #[doc = ""]
1527 #[doc = " @return the numerical value."]
1528 pub fn or_rawdata_get_compression(rawdata: ORRawDataRef) -> u32;
1529}
1530extern "C" {
1531 #[doc = " @brief Return the levels values for the raw data."]
1532 #[doc = ""]
1533 #[doc = " These are possible values, not actual values."]
1534 #[doc = ""]
1535 #[doc = " @param rawdata the raw data object"]
1536 #[doc = " @param [out] black the pointer to the black value."]
1537 #[doc = " @param [out] white the pointer to the white value."]
1538 #[doc = " @return the error code."]
1539 pub fn or_rawdata_get_levels(
1540 rawdata: ORRawDataRef,
1541 black: *mut u16,
1542 white: *mut u16,
1543 ) -> or_error;
1544}
1545extern "C" {
1546 #[doc = " @brief Get the colour matrix."]
1547 #[doc = " @param rawdata the raw data object"]
1548 #[doc = " @param index the matrix index."]
1549 #[doc = " @param [out] size of %matrix. Returns the actual size."]
1550 #[doc = " @return the matrix. Pointer is owned by the RawData."]
1551 pub fn or_rawdata_get_colour_matrix(
1552 rawdata: ORRawDataRef,
1553 index: u32,
1554 size: *mut u32,
1555 ) -> *const f64;
1556}
1557extern "C" {
1558 #[doc = " @brief Get the rendered image from the raw data"]
1559 #[doc = " @param rawdata the raw data."]
1560 #[doc = " @param bitmapdata the preallocated bitmap data."]
1561 #[doc = " @param options option for rendering. Pass 0 for now."]
1562 #[doc = " @return an error code, %OR_ERROR_NONE in case of success."]
1563 pub fn or_rawdata_get_rendered_image(
1564 rawdata: ORRawDataRef,
1565 bitmapdata: ORBitmapDataRef,
1566 options: u32,
1567 ) -> or_error;
1568}
1569extern "C" {
1570 pub fn or_bitmapdata_new() -> ORBitmapDataRef;
1571}
1572extern "C" {
1573 pub fn or_bitmapdata_release(bitmapdata: ORBitmapDataRef) -> or_error;
1574}
1575extern "C" {
1576 pub fn or_bitmapdata_format(bitmapdata: ORBitmapDataRef) -> or_data_type;
1577}
1578extern "C" {
1579 pub fn or_bitmapdata_data(bitmapdata: ORBitmapDataRef) -> *mut ::std::os::raw::c_void;
1580}
1581extern "C" {
1582 pub fn or_bitmapdata_data_size(bitmapdata: ORBitmapDataRef) -> usize;
1583}
1584extern "C" {
1585 pub fn or_bitmapdata_dimensions(bitmapdata: ORBitmapDataRef, x: *mut u32, y: *mut u32);
1586}
1587extern "C" {
1588 pub fn or_bitmapdata_bpc(bitmapdata: ORBitmapDataRef) -> u32;
1589}
1590#[repr(u32)]
1591#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1592pub enum ExifLightsourceValue {
1593 EV_LIGHTSOURCE_UNKNOWN = 0,
1594 EV_LIGHTSOURCE_DAYLIGHT = 1,
1595 EV_LIGHTSOURCE_FLUORESCENT = 2,
1596 EV_LIGHTSOURCE_TUNGSTEN = 3,
1597 EV_LIGHTSOURCE_STANDARD_A = 17,
1598 EV_LIGHTSOURCE_STANDARD_B = 18,
1599 EV_LIGHTSOURCE_STANDARD_C = 19,
1600 EV_LIGHTSOURCE_D55 = 20,
1601 EV_LIGHTSOURCE_D65 = 21,
1602 EV_LIGHTSOURCE_D75 = 22,
1603 EV_LIGHTSOURCE_OTHER = 255,
1604}
1605#[repr(u32)]
1606#[doc = " Type for Exif field/tag"]
1607#[doc = " @note taken from libexif"]
1608#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1609pub enum ExifTagType {
1610 EXIF_FORMAT_BYTE = 1,
1611 EXIF_FORMAT_ASCII = 2,
1612 EXIF_FORMAT_SHORT = 3,
1613 EXIF_FORMAT_LONG = 4,
1614 EXIF_FORMAT_RATIONAL = 5,
1615 EXIF_FORMAT_SBYTE = 6,
1616 EXIF_FORMAT_UNDEFINED = 7,
1617 EXIF_FORMAT_SSHORT = 8,
1618 EXIF_FORMAT_SLONG = 9,
1619 EXIF_FORMAT_SRATIONAL = 10,
1620 EXIF_FORMAT_FLOAT = 11,
1621 EXIF_FORMAT_DOUBLE = 12,
1622 EXIF_FORMAT_INVALID = 13,
1623}
1624#[doc = " @brief Unsigned rational as a fraction"]
1625#[repr(C)]
1626#[derive(Debug, Copy, Clone)]
1627pub struct ORRational {
1628 #[doc = "< Numerator"]
1629 pub num: u32,
1630 #[doc = "< Denominator"]
1631 pub denom: u32,
1632}
1633#[test]
1634fn bindgen_test_layout_ORRational() {
1635 const UNINIT: ::std::mem::MaybeUninit<ORRational> = ::std::mem::MaybeUninit::uninit();
1636 let ptr = UNINIT.as_ptr();
1637 assert_eq!(
1638 ::std::mem::size_of::<ORRational>(),
1639 8usize,
1640 concat!("Size of: ", stringify!(ORRational))
1641 );
1642 assert_eq!(
1643 ::std::mem::align_of::<ORRational>(),
1644 4usize,
1645 concat!("Alignment of ", stringify!(ORRational))
1646 );
1647 assert_eq!(
1648 unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
1649 0usize,
1650 concat!(
1651 "Offset of field: ",
1652 stringify!(ORRational),
1653 "::",
1654 stringify!(num)
1655 )
1656 );
1657 assert_eq!(
1658 unsafe { ::std::ptr::addr_of!((*ptr).denom) as usize - ptr as usize },
1659 4usize,
1660 concat!(
1661 "Offset of field: ",
1662 stringify!(ORRational),
1663 "::",
1664 stringify!(denom)
1665 )
1666 );
1667}
1668#[doc = " @brief Signed rational as a fraction"]
1669#[repr(C)]
1670#[derive(Debug, Copy, Clone)]
1671pub struct ORSRational {
1672 #[doc = "< Numerator (carry the sign)"]
1673 pub num: i32,
1674 #[doc = "< Denominator"]
1675 pub denom: u32,
1676}
1677#[test]
1678fn bindgen_test_layout_ORSRational() {
1679 const UNINIT: ::std::mem::MaybeUninit<ORSRational> = ::std::mem::MaybeUninit::uninit();
1680 let ptr = UNINIT.as_ptr();
1681 assert_eq!(
1682 ::std::mem::size_of::<ORSRational>(),
1683 8usize,
1684 concat!("Size of: ", stringify!(ORSRational))
1685 );
1686 assert_eq!(
1687 ::std::mem::align_of::<ORSRational>(),
1688 4usize,
1689 concat!("Alignment of ", stringify!(ORSRational))
1690 );
1691 assert_eq!(
1692 unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
1693 0usize,
1694 concat!(
1695 "Offset of field: ",
1696 stringify!(ORSRational),
1697 "::",
1698 stringify!(num)
1699 )
1700 );
1701 assert_eq!(
1702 unsafe { ::std::ptr::addr_of!((*ptr).denom) as usize - ptr as usize },
1703 4usize,
1704 concat!(
1705 "Offset of field: ",
1706 stringify!(ORSRational),
1707 "::",
1708 stringify!(denom)
1709 )
1710 );
1711}
1712#[repr(C)]
1713#[derive(Debug, Copy, Clone)]
1714pub struct _MetadataIterator {
1715 _unused: [u8; 0],
1716}
1717pub type ORMetadataIteratorRef = *mut _MetadataIterator;
1718#[repr(C)]
1719#[derive(Debug, Copy, Clone)]
1720pub struct _MetaValue {
1721 _unused: [u8; 0],
1722}
1723pub type ORMetaValueRef = *mut _MetaValue;
1724pub type ORConstMetaValueRef = *const _MetaValue;
1725extern "C" {
1726 #[doc = " @brief Get the string out of the %MetaValue."]
1727 #[doc = ""]
1728 #[doc = " @param idx Pass 0. @todo Remove the idx parameter."]
1729 #[doc = " @return A NUL terminated string. NULL if not found. The pointer is owned by the"]
1730 #[doc = " %MetaValue."]
1731 pub fn or_metavalue_get_string(
1732 value: ORConstMetaValueRef,
1733 idx: u32,
1734 ) -> *const ::std::os::raw::c_char;
1735}
1736extern "C" {
1737 #[doc = " @brief Convert the %MetaValue to a string."]
1738 #[doc = ""]
1739 #[doc = " @param full FALSE if the conversion should abridge the result."]
1740 #[doc = " @return A NUL terminated string. NULL if not found. The pointer is owned by the"]
1741 #[doc = " %MetaValue."]
1742 pub fn or_metavalue_get_as_string(
1743 value: ORConstMetaValueRef,
1744 full: bool,
1745 ) -> *const ::std::os::raw::c_char;
1746}
1747extern "C" {
1748 #[doc = " @brief Get the value count"]
1749 #[doc = ""]
1750 #[doc = " @return The value count."]
1751 pub fn or_metavalue_get_count(value: ORMetaValueRef) -> u32;
1752}
1753extern "C" {
1754 #[doc = " @brief Free the %MetaValue"]
1755 pub fn or_metavalue_release(value: ORMetaValueRef);
1756}
1757extern "C" {
1758 #[doc = " @brief Move to the next metadata value"]
1759 #[doc = " @param iterator The metadata iterator."]
1760 #[doc = " @return 0 if no more."]
1761 pub fn or_metadata_iterator_next(iterator: ORMetadataIteratorRef) -> ::std::os::raw::c_int;
1762}
1763extern "C" {
1764 #[doc = " @brief Get the metadata entry from the iterator."]
1765 #[doc = ""]
1766 #[doc = " @param iterator The iterator."]
1767 #[doc = " @param ifd Pointer to the IfdDirRef."]
1768 #[doc = " @param id Pointer to id (nullable)"]
1769 #[doc = " @param type Pointer to exif tag type (nullable)"]
1770 #[doc = " @param value Pointer to store a newly allocated ORConstMetaValue (nullable)"]
1771 #[doc = " @return 0 if error. In that case none of the values are valid."]
1772 pub fn or_metadata_iterator_get_entry(
1773 iterator: ORMetadataIteratorRef,
1774 ifd: *mut ORIfdDirRef,
1775 id: *mut u16,
1776 type_: *mut ExifTagType,
1777 value: *mut ORMetaValueRef,
1778 ) -> ::std::os::raw::c_int;
1779}
1780extern "C" {
1781 #[doc = " @brief Free the iterator"]
1782 #[doc = " @param iterator The iterator to free."]
1783 pub fn or_metadata_iterator_free(iterator: ORMetadataIteratorRef);
1784}
1785extern "C" {
1786 #[doc = " @brief Return a NULL terminated list of extensions that the library supposedly handle."]
1787 #[doc = ""]
1788 #[doc = " @return A NULL terminated list. Owned the library."]
1789 pub fn or_get_file_extensions() -> *mut *const ::std::os::raw::c_char;
1790}
1791extern "C" {
1792 #[doc = " @brief Create a new %RawFile object from a file."]
1793 #[doc = " @param filename The path to the file to open."]
1794 #[doc = " @param type The hint for the file type. Pass %OR_RAWFILE_TYPE_UNKNOWN to let the library"]
1795 #[doc = " guess."]
1796 #[doc = " @return A new allocated RawFile pointer. Must be freed with %or_rawfile_release()."]
1797 pub fn or_rawfile_new(
1798 filename: *const ::std::os::raw::c_char,
1799 type_: or_rawfile_type,
1800 ) -> ORRawFileRef;
1801}
1802extern "C" {
1803 #[doc = " @brief Create a new %RawFile object from a memory buffer."]
1804 #[doc = " @param buffer The memory buffer: bytes from the RAW file."]
1805 #[doc = " @param len The length of the memory buffer in bytes."]
1806 #[doc = " @param type The hint for the file type. Pass %OR_RAWFILE_TYPE_UNKNOWN to let the library"]
1807 #[doc = " guess."]
1808 #[doc = " @return A new allocated RawFile pointer. Must be freed with %or_rawfile_release()."]
1809 pub fn or_rawfile_new_from_memory(
1810 buffer: *const u8,
1811 len: u32,
1812 type_: or_rawfile_type,
1813 ) -> ORRawFileRef;
1814}
1815extern "C" {
1816 #[doc = " @brief Release the %RawFile."]
1817 #[doc = " @param [in] rawfile The %RawFile object to release."]
1818 #[doc = " @return An error code. %OR_ERROR_NOT_AREF if the pointer is NULL."]
1819 pub fn or_rawfile_release(rawfile: ORRawFileRef) -> or_error;
1820}
1821extern "C" {
1822 #[doc = " @brief Get the %RawFile type"]
1823 #[doc = ""]
1824 #[doc = " @return The type from %or_rawfile_type. It isn't necessarily what was passed"]
1825 #[doc = " at creation time."]
1826 pub fn or_rawfile_get_type(rawfile: ORRawFileRef) -> or_rawfile_type;
1827}
1828extern "C" {
1829 #[doc = " @brief Return the type id to identify the exact file type."]
1830 #[doc = ""]
1831 #[doc = " @return The type ID. It is a combination of vendor ID and camera ID."]
1832 #[doc = ""]
1833 #[doc = " @see %or_rawfile_typeid."]
1834 pub fn or_rawfile_get_typeid(rawfile: ORRawFileRef) -> or_rawfile_typeid;
1835}
1836extern "C" {
1837 #[doc = " @brief Return the type id to identify the vendor."]
1838 #[doc = ""]
1839 #[doc = " @return The vendor ID. Use the constants values to match."]
1840 pub fn or_rawfile_get_vendorid(rawfile: ORRawFileRef) -> or_rawfile_typeid;
1841}
1842extern "C" {
1843 #[doc = " @brief Get the the array of thumbnail sizes."]
1844 #[doc = ""]
1845 #[doc = " @param rawfile The RawFile."]
1846 #[doc = " @param [out] size The size of the array is returned"]
1847 #[doc = " @return The array. It is owned by the raw file"]
1848 pub fn or_rawfile_get_thumbnail_sizes(rawfile: ORRawFileRef, size: *mut usize) -> *const u32;
1849}
1850extern "C" {
1851 #[doc = " @brief Get a thumbnail from a RawFile.."]
1852 #[doc = ""]
1853 #[doc = " Get a thumbnail close to the preferred size. If there is no exact match, it"]
1854 #[doc = " will prefer a bigger thumbnail so that you can downsize it."]
1855 #[doc = ""]
1856 #[doc = " Return an error in case or error. %OR_ERROR_NOT_FOUND if no thumbnail can be"]
1857 #[doc = " found."]
1858 #[doc = ""]
1859 #[doc = " @param rawfile The RawFile object."]
1860 #[doc = " @param preferred_size The requested preferred size."]
1861 #[doc = " @param [in/out] thumb The Thumbnail object to store the data."]
1862 #[doc = " @return An error code. %OR_ERROR_NONE in case of success."]
1863 pub fn or_rawfile_get_thumbnail(
1864 rawfile: ORRawFileRef,
1865 preferred_size: u32,
1866 thumb: ORThumbnailRef,
1867 ) -> or_error;
1868}
1869extern "C" {
1870 #[doc = " @brief Get the RawData out of the RawFile."]
1871 #[doc = ""]
1872 #[doc = " Will return an error code: %OR_ERROR_NOT_FOUND if the RAW data can't be"]
1873 #[doc = " located. This likely indicate a file that isn't properly supported."]
1874 #[doc = ""]
1875 #[doc = " The RawData object will contain the uncompress RAW data if possible (unless"]
1876 #[doc = " otherwise requested)."]
1877 #[doc = ""]
1878 #[doc = " @param rawfile The RawFile."]
1879 #[doc = " @param [in/out] rawdata An allocated RawData object. Pass %OR_OPTIONS_DONT_DECOMPRESS if"]
1880 #[doc = " you don't want the RAW data stream to be decompressed, %OR_OPTIONS_NONE otherwise."]
1881 #[doc = " @param options Some options."]
1882 #[doc = " @return An error code or %OR_ERROR_NONE on success."]
1883 pub fn or_rawfile_get_rawdata(
1884 rawfile: ORRawFileRef,
1885 rawdata: ORRawDataRef,
1886 options: u32,
1887 ) -> or_error;
1888}
1889extern "C" {
1890 #[doc = " @brief Get the rendered image from the raw file"]
1891 #[doc = " @param rawfile The raw file."]
1892 #[doc = " @param rawdata The preallocated bitmap data."]
1893 #[doc = " @param options Option for rendering. Pass %OR_OPTIONS_NONE for now."]
1894 #[doc = " @return An error code. %OR_ERROR_NOTAREF is %rawfile is NULL."]
1895 pub fn or_rawfile_get_rendered_image(
1896 rawfile: ORRawFileRef,
1897 rawdata: ORBitmapDataRef,
1898 options: u32,
1899 ) -> or_error;
1900}
1901extern "C" {
1902 #[doc = " @brief Get the orientation."]
1903 #[doc = ""]
1904 #[doc = " This is a convenince method, equivalent to getting the value of"]
1905 #[doc = " %EXIF_TAG_ORIENTATION."]
1906 #[doc = ""]
1907 #[doc = " @param rawfile The RawFile object."]
1908 #[doc = " @return the orientation using EXIF semantics. If there is no orientation"]
1909 #[doc = " attribute, return 0."]
1910 pub fn or_rawfile_get_orientation(rawfile: ORRawFileRef) -> i32;
1911}
1912extern "C" {
1913 #[doc = " @brief Get the first colour matrix."]
1914 #[doc = ""]
1915 #[doc = " The error code will be one of the following: %OR_ERROR_BUF_TOO_SMALL if"]
1916 #[doc = " %matrix is too small. Check the value of %size to know how much you need."]
1917 #[doc = " %OR_ERROR_NOT_IMPLEMENTED if there is no matrix in the file nor built-in"]
1918 #[doc = " matrices."]
1919 #[doc = ""]
1920 #[doc = " Call %or_rawfile_get_colour_matrix_origin() if you want to know if it is a built-in"]
1921 #[doc = " matrix."]
1922 #[doc = ""]
1923 #[doc = " @see %or_rawfile_get_colour_matrix_origin()"]
1924 #[doc = ""]
1925 #[doc = " @param rawfile The RAW file object"]
1926 #[doc = " @param [int] matrix The storage array for the matrix"]
1927 #[doc = " @param [in/out] size The size of the %matrix array. On output the actual size of the matrix."]
1928 #[doc = " @return An error codex."]
1929 pub fn or_rawfile_get_colourmatrix1(
1930 rawfile: ORRawFileRef,
1931 matrix: *mut f64,
1932 size: *mut u32,
1933 ) -> or_error;
1934}
1935extern "C" {
1936 #[doc = " @brief Get the second colour matrix."]
1937 #[doc = ""]
1938 #[doc = " See %or_rawfile_get_colourmatrix1 for details. Will return %OR_ERROR_INVALID_PARAM if the"]
1939 #[doc = " matrix doesn't exist in the file. There won't be a built-in matrix."]
1940 #[doc = ""]
1941 #[doc = " @see %or_rawfile_get_colourmatrix1()"]
1942 pub fn or_rawfile_get_colourmatrix2(
1943 rawfile: ORRawFileRef,
1944 matrix: *mut f64,
1945 size: *mut u32,
1946 ) -> or_error;
1947}
1948extern "C" {
1949 #[doc = " @brief Get calibration illuminant for the first colour matrix."]
1950 #[doc = ""]
1951 #[doc = " @return The Exif value. See %ExifLightsourceValue. %EV_LIGHTSOURCE_UNKNOWN means the"]
1952 #[doc = " matrix is not found."]
1953 #[doc = ""]
1954 #[doc = " @see %ExifLightsourceValue."]
1955 pub fn or_rawfile_get_calibration_illuminant1(rawfile: ORRawFileRef) -> ExifLightsourceValue;
1956}
1957extern "C" {
1958 #[doc = " @brief Get calibration illuminant for the second colour matrix."]
1959 #[doc = ""]
1960 #[doc = " @see %or_rawfile_get_calibration_illuminant1"]
1961 pub fn or_rawfile_get_calibration_illuminant2(rawfile: ORRawFileRef) -> ExifLightsourceValue;
1962}
1963extern "C" {
1964 #[doc = " @brief Get the colour matrix origin for file."]
1965 #[doc = ""]
1966 #[doc = " This allow to determine if it is provided by the file or as a hardcoded"]
1967 #[doc = " value in the library."]
1968 #[doc = ""]
1969 #[doc = " @param rawfile The RawFile object"]
1970 #[doc = " @return The colour matrix origin"]
1971 pub fn or_rawfile_get_colour_matrix_origin(rawfile: ORRawFileRef) -> or_colour_matrix_origin;
1972}
1973extern "C" {
1974 #[doc = " @brief Get the metadata value"]
1975 #[doc = " @param rawfile the RawFile object."]
1976 #[doc = " @param meta_index the index value which a bit OR between a namespace and an index"]
1977 #[doc = " @return a const MetaValue, owned by the %RawFile"]
1978 pub fn or_rawfile_get_metavalue(rawfile: ORRawFileRef, meta_index: i32) -> ORConstMetaValueRef;
1979}
1980extern "C" {
1981 #[doc = " @brief Get an IFD directory"]
1982 #[doc = ""]
1983 #[doc = " @param rawfile The %RawFile object."]
1984 #[doc = " @param ifd The IFD you want, from %or_ifd_dir_type."]
1985 #[doc = " @return An IfdDir. Must be freed with %or_ifd_release()"]
1986 #[doc = ""]
1987 #[doc = " @see %or_ifd_dir_type"]
1988 pub fn or_rawfile_get_ifd(rawfile: ORRawFileRef, ifd: or_ifd_dir_type) -> ORIfdDirRef;
1989}
1990extern "C" {
1991 #[doc = " @brief Get a metadata iterator."]
1992 #[doc = ""]
1993 #[doc = " @param rawfile The RawFile object."]
1994 #[doc = " @return The metadata iterator. Must be freed with %or_metadata_iterator_free()"]
1995 pub fn or_rawfile_get_metadata_iterator(rawfile: ORRawFileRef) -> ORMetadataIteratorRef;
1996}
1997#[repr(u32)]
1998#[doc = " @brief Debug levels."]
1999#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2000pub enum _debug_level {
2001 ERROR = 0,
2002 WARNING = 1,
2003 NOTICE = 2,
2004 DEBUG1 = 3,
2005 DEBUG2 = 4,
2006}
2007#[doc = " @brief Debug levels."]
2008pub use self::_debug_level as debug_level;
2009extern "C" {
2010 #[doc = " @brief Set the debug level."]
2011 pub fn or_debug_set_level(lvl: debug_level);
2012}