summaryrefslogtreecommitdiff
path: root/vapi/tiff.vapi
blob: d0ff8eff408daa8d4ed77d88eb2648422f348303 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
/* libtiff bindings for vala
 *
 * Copyright (C) 2008 Christian Meyer
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.

 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.

 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
 *
 * Author:
 *       Christian Meyer <chrisime@gnome.org>
 */

[CCode (cname = "", lower_case_cprefix = "", cheader_filename = "tiffio.h")]
namespace Tiff {

	[CCode (cname = "TIFFDataType", cprefix = "TIFF_", has_type_id = false)]
	public enum DataType {
		NOTYPE, BYTE, ASCII, SHORT, LONG, RATIONAL, SBYTE, UNDEFINED, SSHORT,
		SLONG, SRATIONAL, FLOAT, DOUBLE, IFD
	}

	[CCode (cname = "TIFFIgnoreSense", cprefix = "TIS_", has_type_id = false)]
	public enum IgnoreSense {
		STORE, EXTRACT, EMPTY
	}

	[CCode (cname = "TIFFHeader", has_type_id = false)]
	public struct Header {
		public uint16 tiff_magic;
		public uint16 tiff_version;
		public uint32 tiff_diroff;
	}

	[CCode (cname = "TIFFDirEntry", has_type_id = false)]
	public struct DirEntry {
		public uint16 tdir_tag;
		public uint16 tdir_type;
		public uint32 tdir_count;
		public uint32 tdir_offset;
	}

	[CCode (cname = "TIFFCIELabToRGB", has_type_id = false)]
	public struct CIELabToRGB {
		public int range;
		public float rstep;
		public float gstep;
		public float bstep;
		public float X0;
		public float Y0;
		public float Z0;
		public Display display;
		public float Yr2r[CIELABTORGB_TABLE_RANGE + 1];
		public float Yg2g[CIELABTORGB_TABLE_RANGE + 1];
		public float Yb2b[CIELABTORGB_TABLE_RANGE + 1];
	}

	[CCode (cname = "TIFFCodec", has_type_id = false)]
	public struct Codec {
		public unowned string name;
		public uint16 scheme;
		public InitMethod init;
	}

	[CCode (cname = "TIFFDisplay", has_type_id = false)]
	public struct Display {
		public float d_mat[9];
		public float d_YCR;
		public float d_YCG;
		public float d_YCB;
		public uint32 d_Vrwr;
		public uint32 d_Vrwg;
		public uint32 d_Vrwb;
		public float d_Y0R;
		public float d_Y0G;
		public float d_Y0B;
		public float d_gammaR;
		public float d_gammaG;
		public float d_gammaB;
	}

	[CCode (cname = "TIFFFieldInfo", has_type_id = false)]
	public struct FieldInfo {
		public ttag_t field_tag;
		public short field_readcount;
		public short field_writecount;
		public DataType field_type;
		public ushort field_bit;
		public uchar field_oktochange;
		public uchar field_passcount;
		public string field_name;
	}

	[Compact]
	public class PutUnion {
		public delegate void any (RGBAImage p1);
		TileContigRoutine contig;
		TileSeparateRoutine separate;
	}

	[CCode (cname = "TIFFRGBAImage", has_type_id = false, free_function = "TIFFRGBAImageEnd")]
	[Compact]
	public class RGBAImage {
		public int get;
		public TIFF tif;
		public int stoponerr;
		public int isContig;
		public int alpha;
		public uint32 width;
		public uint32 height;
		public uint16 bitspersample;
		public uint16 samplesperpixel;
		public uint16 orientation;
		public uint16 req_orientation;
		public uint16 photometric;
		public uint16[] redcmap;
		public uint16[] greencmap;
		public uint16[] bluecmap;
		public PutUnion put;
		public RGBValue Map;
		public uint32[,] BWmap;
		public uint32[,] PALmap;
		public YCbCrToRGB ycbcr;
		public CIELabToRGB cielab;
		public int row_offset;
		public int col_offset;
	}

	[CCode (cname = "TIFFTagMethods", has_type_id = false)]
	public struct TagMethods {
		/* *****************************
		public TIFFVSetMethod vsetfield;
		public TIFFVGetMethod vgetfield;
		***************************** */
		public PrintMethod printdir;
	}

	[CCode (cname = "TIFFTagValue", has_type_id = false)]
	public struct TagValue {
		public const FieldInfo info;
		public int count;
		public void* value;
	}

	[CCode (cname = "TIFFYCbCrToRGB", has_type_id = false)]
	public struct YCbCrToRGB {
		public RGBValue clamptab;
		public int Cr_r_tab;
		public int Cb_b_tab;
		public int32[] Cr_g_tab;
		public int32[] Cb_g_tab;
		public int32[] Y_tab;
	}

	[CCode (cname = "TIFFRGBValue", has_type_id = false)]
	public struct RGBValue : uchar { }

	[CCode (cname = "void")]
	[Compact]
	public class tdata_t { }
	[CCode (cname = "uint16", has_type_id = false)]
	public struct tdir_t : uint16 { }
	[CCode (cname = "void")]
	[Compact]
	public class thandle_t { }
	[CCode (cname = "uint32", has_type_id = false)]
	public struct toff_t : uint32 { }
	[CCode (cname = "uint16", has_type_id = false)]
	public struct tsample_t : uint16 { }
	[CCode (cname = "int32", has_type_id = false)]
	public struct tsize_t : int32 { }
	[CCode (cname = "uint32", has_type_id = false)]
	public struct tstrip_t : uint32 { }
	[CCode (cname = "uint32", has_type_id = false)]
	public struct ttag_t : uint32 { }
	[CCode (cname = "uint32", has_type_id = false)]
	public struct ttile_t : uint32 { }

	[CCode (has_target = false)]
	public delegate int get (RGBAImage p1, uint32[] p2, uint32 p3, uint32 p4);
	[CCode (cname = "TIFFCloseProc", has_target = false)]
	public delegate int CloseProc (thandle_t p1);
	/* ***********************************************************************************
	[CCode (cname = "TIFFErrorHandler", has_target = false)]
	public delegate void ErrorHandler (string p1, string p2, void* p3);
	[CCode (cname = "TIFFErrorHandlerExt", has_target = false)]
	public delegate void ErrorHandlerExt (thandle_t p1, string p2, string p3, ...);
	*********************************************************************************** */
	[CCode (cname = "TIFFExtendProc", has_target = false)]
	public delegate void ExtendProc (TIFF p1);
	[CCode (cname = "TIFFInitMethod", has_target = false)]
	public delegate int InitMethod (TIFF p1, int p2);
	[CCode (cname = "TIFFMapFileProc", has_target = false)]
	public delegate int MapFileProc (thandle_t p1, ref tdata_t p2, ref toff_t p3);
	[CCode (cname = "TIFFPrintMethod", has_target = false)]
	public delegate void PrintMethod (TIFF p1, GLib.FileStream p2, long p3);
	[CCode (cname = "TIFFReadWriteProc", has_target = false)]
	public delegate tsize_t ReadWriteProc (thandle_t p1, tdata_t p2, tsize_t p3);
	[CCode (cname = "TIFFSeekProc", has_target = false)]
	public delegate toff_t SeekProc (thandle_t p1, toff_t p2, int p3);
	[CCode (cname = "TIFFSizeProc", has_target = false)]
	public delegate toff_t SizeProc (thandle_t p1);
	[CCode (cname = "TIFFUnmapFileProc", has_target = false)]
	public delegate void UnmapFileProc (thandle_t p1, tdata_t p2, toff_t p3);
	/* *************************************************************
	[CCode (cname = "TIFFVGetMethod", has_target = false)]
	public delegate int VGetMethod (TIFF p1, ttag_t p2, ...);
	[CCode (cname = "TIFFVSetMethod", has_target = false)]
	public delegate int VSetMethod (TIFF p1, ttag_t p2, ...);
	************************************************************* */
	[CCode (cname = "tileContigRoutine", has_target = false)]
	public delegate void TileContigRoutine (RGBAImage p1, [CCode (array_length = false)] uint32[] p2, uint32 p3, uint32 p4, uint32 p5, uint32 p6, int32 p7, int32 p8, uchar *p9);
	[CCode (cname = "tileSeparateRoutine", has_target = false)]
	public delegate void TileSeparateRoutine (RGBAImage p1, [CCode (array_length = false)] uint32[] p2, uint32 p3, uint32 p4, uint32 p5, uint32 p6, int32 p7, int32 p8, uchar* p9, uchar* p10, uchar* p11, uchar* p12);

	public const ttag_t CIELABTORGB_TABLE_RANGE;
	public const ttag_t CLEANFAXDATA_CLEAN;
	public const ttag_t CLEANFAXDATA_REGENERATED;
	public const ttag_t CLEANFAXDATA_UNCLEAN;
	public const ttag_t COLORRESPONSEUNIT_100000S;
	public const ttag_t COLORRESPONSEUNIT_10000S;
	public const ttag_t COLORRESPONSEUNIT_1000S;
	public const ttag_t COLORRESPONSEUNIT_100S;
	public const ttag_t COLORRESPONSEUNIT_10S;
	public const ttag_t COMPRESSION_ADOBE_DEFLATE;
	public const ttag_t COMPRESSION_CCITTFAX3;
	public const ttag_t COMPRESSION_CCITTFAX4;
	public const ttag_t COMPRESSION_CCITTRLE;
	public const ttag_t COMPRESSION_CCITTRLEW;
	public const ttag_t COMPRESSION_CCITT_T4;
	public const ttag_t COMPRESSION_CCITT_T6;
	public const ttag_t COMPRESSION_DEFLATE;
	public const ttag_t COMPRESSION_IT8BL;
	public const ttag_t COMPRESSION_IT8CTPAD;
	public const ttag_t COMPRESSION_IT8LW;
	public const ttag_t COMPRESSION_IT8MP;
	public const ttag_t COMPRESSION_JBIG;
	public const ttag_t COMPRESSION_JP2000;
	public const ttag_t COMPRESSION_JPEG;
	public const ttag_t COMPRESSION_LZW;
	public const ttag_t COMPRESSION_NEXT;
	public const ttag_t COMPRESSION_NONE;
	public const ttag_t COMPRESSION_OJPEG;
	public const ttag_t COMPRESSION_PACKBITS;
	public const ttag_t COMPRESSION_PIXARFILM;
	public const ttag_t COMPRESSION_PIXARLOG;
	public const ttag_t COMPRESSION_SGILOG;
	public const ttag_t COMPRESSION_SGILOG24;
	public const ttag_t COMPRESSION_THUNDERSCAN;
	public const ttag_t DCSIMAGERFILTER_CFA;
	public const ttag_t DCSIMAGERFILTER_IR;
	public const ttag_t DCSIMAGERFILTER_MONO;
	public const ttag_t DCSIMAGERFILTER_OTHER;
	public const ttag_t DCSIMAGERMODEL_M3;
	public const ttag_t DCSIMAGERMODEL_M5;
	public const ttag_t DCSIMAGERMODEL_M6;
	public const ttag_t DCSINTERPMODE_NORMAL;
	public const ttag_t DCSINTERPMODE_PREVIEW;
	public const ttag_t EXIFTAG_APERTUREVALUE;
	public const ttag_t EXIFTAG_BRIGHTNESSVALUE;
	public const ttag_t EXIFTAG_CFAPATTERN;
	public const ttag_t EXIFTAG_COLORSPACE;
	public const ttag_t EXIFTAG_COMPRESSEDBITSPERPIXEL;
	public const ttag_t EXIFTAG_CONTRAST;
	public const ttag_t EXIFTAG_CUSTOMRENDERED;
	public const ttag_t EXIFTAG_DATETIMEORIGINAL;
	public const ttag_t EXIFTAG_DEVICESETTINGDESCRIPTION;
	public const ttag_t EXIFTAG_DIGITALZOOMRATIO;
	public const ttag_t EXIFTAG_EXPOSUREBIASVALUE;
	public const ttag_t EXIFTAG_EXPOSUREINDEX;
	public const ttag_t EXIFTAG_EXPOSUREMODE;
	public const ttag_t EXIFTAG_EXPOSUREPROGRAM;
	public const ttag_t EXIFTAG_EXPOSURETIME;
	public const ttag_t EXIFTAG_FILESOURCE;
	public const ttag_t EXIFTAG_FLASH;
	public const ttag_t EXIFTAG_FLASHENERGY;
	public const ttag_t EXIFTAG_FLASHPIXVERSION;
	public const ttag_t EXIFTAG_FNUMBER;
	public const ttag_t EXIFTAG_FOCALLENGTH;
	public const ttag_t EXIFTAG_FOCALLENGTHIN35MMFILM;
	public const ttag_t EXIFTAG_FOCALPLANERESOLUTIONUNIT;
	public const ttag_t EXIFTAG_FOCALPLANEXRESOLUTION;
	public const ttag_t EXIFTAG_FOCALPLANEYRESOLUTION;
	public const ttag_t EXIFTAG_GAINCONTROL;
	public const ttag_t EXIFTAG_IMAGEUNIQUEID;
	public const ttag_t EXIFTAG_ISOSPEEDRATINGS;
	public const ttag_t EXIFTAG_LIGHTSOURCE;
	public const ttag_t EXIFTAG_MAKERNOTE;
	public const ttag_t EXIFTAG_MAXAPERTUREVALUE;
	public const ttag_t EXIFTAG_METERINGMODE;
	public const ttag_t EXIFTAG_OECF;
	public const ttag_t EXIFTAG_PIXELXDIMENSION;
	public const ttag_t EXIFTAG_PIXELYDIMENSION;
	public const ttag_t EXIFTAG_RELATEDSOUNDFILE;
	public const ttag_t EXIFTAG_SATURATION;
	public const ttag_t EXIFTAG_SCENECAPTURETYPE;
	public const ttag_t EXIFTAG_SCENETYPE;
	public const ttag_t EXIFTAG_SENSINGMETHOD;
	public const ttag_t EXIFTAG_SHARPNESS;
	public const ttag_t EXIFTAG_SHUTTERSPEEDVALUE;
	public const ttag_t EXIFTAG_SPATIALFREQUENCYRESPONSE;
	public const ttag_t EXIFTAG_SPECTRALSENSITIVITY;
	public const ttag_t EXIFTAG_SUBJECTAREA;
	public const ttag_t EXIFTAG_SUBJECTDISTANCE;
	public const ttag_t EXIFTAG_SUBJECTDISTANCERANGE;
	public const ttag_t EXIFTAG_SUBJECTLOCATION;
	public const ttag_t EXIFTAG_SUBSECTIME;
	public const ttag_t EXIFTAG_SUBSECTIMEDIGITIZED;
	public const ttag_t EXIFTAG_SUBSECTIMEORIGINAL;
	public const ttag_t EXIFTAG_USERCOMMENT;
	public const ttag_t EXIFTAG_WHITEBALANCE;
	public const ttag_t EXTRASAMPLE_ASSOCALPHA;
	public const ttag_t EXTRASAMPLE_UNASSALPHA;
	public const ttag_t EXTRASAMPLE_UNSPECIFIED;
	public const ttag_t FAXMODE_BYTEALIGN;
	public const ttag_t FAXMODE_CLASSIC;
	public const ttag_t FAXMODE_NOEOL;
	public const ttag_t FAXMODE_NORTC;
	public const ttag_t FAXMODE_WORDALIGN;
	public const ttag_t FIELD_CUSTOM;
	public const ttag_t FILETYPE_MASK;
	public const ttag_t FILETYPE_PAGE;
	public const ttag_t FILETYPE_REDUCEDIMAGE;
	public const ttag_t FILLORDER_LSB2MSB;
	public const ttag_t FILLORDER_MSB2LSB;
	public const ttag_t GRAYRESPONSEUNIT_100000S;
	public const ttag_t GRAYRESPONSEUNIT_10000S;
	public const ttag_t GRAYRESPONSEUNIT_1000S;
	public const ttag_t GRAYRESPONSEUNIT_100S;
	public const ttag_t GRAYRESPONSEUNIT_10S;
	public const ttag_t GROUP3OPT_2DENCODING;
	public const ttag_t GROUP3OPT_FILLBITS;
	public const ttag_t GROUP3OPT_UNCOMPRESSED;
	public const ttag_t GROUP4OPT_UNCOMPRESSED;
	public const ttag_t INKSET_CMYK;
	public const ttag_t INKSET_MULTIINK;
	public const ttag_t JPEGCOLORMODE_RAW;
	public const ttag_t JPEGCOLORMODE_RGB;
	public const ttag_t JPEGPROC_BASELINE;
	public const ttag_t JPEGPROC_LOSSLESS;
	public const ttag_t JPEGTABLESMODE_HUFF;
	public const ttag_t JPEGTABLESMODE_QUANT;
	public const ttag_t LOGLUV_PUBLIC;
	public const ttag_t MDI_BIGENDIAN;
	public const ttag_t MDI_LITTLEENDIAN;
	public const ttag_t OFILETYPE_IMAGE;
	public const ttag_t OFILETYPE_PAGE;
	public const ttag_t OFILETYPE_REDUCEDIMAGE;
	public const ttag_t ORIENTATION_BOTLEFT;
	public const ttag_t ORIENTATION_BOTRIGHT;
	public const ttag_t ORIENTATION_LEFTBOT;
	public const ttag_t ORIENTATION_LEFTTOP;
	public const ttag_t ORIENTATION_RIGHTBOT;
	public const ttag_t ORIENTATION_RIGHTTOP;
	public const ttag_t ORIENTATION_TOPLEFT;
	public const ttag_t ORIENTATION_TOPRIGHT;
	public const ttag_t PHOTOMETRIC_CIELAB;
	public const ttag_t PHOTOMETRIC_ICCLAB;
	public const ttag_t PHOTOMETRIC_ITULAB;
	public const ttag_t PHOTOMETRIC_LOGL;
	public const ttag_t PHOTOMETRIC_LOGLUV;
	public const ttag_t PHOTOMETRIC_MASK;
	public const ttag_t PHOTOMETRIC_MINISBLACK;
	public const ttag_t PHOTOMETRIC_MINISWHITE;
	public const ttag_t PHOTOMETRIC_PALETTE;
	public const ttag_t PHOTOMETRIC_RGB;
	public const ttag_t PHOTOMETRIC_SEPARATED;
	public const ttag_t PHOTOMETRIC_YCBCR;
	public const ttag_t PIXARLOGDATAFMT_11BITLOG;
	public const ttag_t PIXARLOGDATAFMT_12BITPICIO;
	public const ttag_t PIXARLOGDATAFMT_16BIT;
	public const ttag_t PIXARLOGDATAFMT_8BIT;
	public const ttag_t PIXARLOGDATAFMT_8BITABGR;
	public const ttag_t PIXARLOGDATAFMT_FLOAT;
	public const ttag_t PLANARCONFIG_CONTIG;
	public const ttag_t PLANARCONFIG_SEPARATE;
	public const ttag_t PREDICTOR_FLOATINGPOINT;
	public const ttag_t PREDICTOR_HORIZONTAL;
	public const ttag_t PREDICTOR_NONE;
	public const ttag_t RESUNIT_CENTIMETER;
	public const ttag_t RESUNIT_INCH;
	public const ttag_t RESUNIT_NONE;
	public const ttag_t SAMPLEFORMAT_COMPLEXIEEEFP;
	public const ttag_t SAMPLEFORMAT_COMPLEXINT;
	public const ttag_t SAMPLEFORMAT_IEEEFP;
	public const ttag_t SAMPLEFORMAT_INT;
	public const ttag_t SAMPLEFORMAT_UINT;
	public const ttag_t SAMPLEFORMAT_VOID;
	public const ttag_t SGILOGDATAFMT_16BIT;
	public const ttag_t SGILOGDATAFMT_8BIT;
	public const ttag_t SGILOGDATAFMT_FLOAT;
	public const ttag_t SGILOGDATAFMT_RAW;
	public const ttag_t SGILOGENCODE_NODITHER;
	public const ttag_t SGILOGENCODE_RANDITHER;
	public const ttag_t THRESHHOLD_BILEVEL;
	public const ttag_t THRESHHOLD_ERRORDIFFUSE;
	public const ttag_t THRESHHOLD_HALFTONE;
	public const ttag_t TIFFPRINT_COLORMAP;
	public const ttag_t TIFFPRINT_CURVES;
	public const ttag_t TIFFPRINT_JPEGACTABLES;
	public const ttag_t TIFFPRINT_JPEGDCTABLES;
	public const ttag_t TIFFPRINT_JPEGQTABLES;
	public const ttag_t TIFFPRINT_NONE;
	public const ttag_t TIFFPRINT_STRIPS;
	public const ttag_t TIFFTAG_ANTIALIASSTRENGTH;
	public const ttag_t TIFFTAG_ARTIST;
	public const ttag_t TIFFTAG_ASSHOTPREPROFILEMATRIX;
	public const ttag_t TIFFTAG_BADFAXLINES;
	public const ttag_t TIFFTAG_BASELINESHARPNESS;
	public const ttag_t TIFFTAG_BESTQUALITYSCALE;
	public const ttag_t TIFFTAG_BITSPERSAMPLE;
	public const ttag_t TIFFTAG_BLACKLEVELDELTAH;
	public const ttag_t TIFFTAG_BLACKLEVELREPEATDIM;
	public const ttag_t TIFFTAG_CALIBRATIONILLUMINANT2;
	public const ttag_t TIFFTAG_CAMERACALIBRATION2;
	public const ttag_t TIFFTAG_CAMERASERIALNUMBER;
	public const ttag_t TIFFTAG_CELLLENGTH;
	public const ttag_t TIFFTAG_CELLWIDTH;
	public const ttag_t TIFFTAG_CHROMABLURRADIUS;
	public const ttag_t TIFFTAG_CLEANFAXDATA;
	public const ttag_t TIFFTAG_CLIPPATH;
	public const ttag_t TIFFTAG_COLORMAP;
	public const ttag_t TIFFTAG_COLORRESPONSEUNIT;
	public const ttag_t TIFFTAG_COMPRESSION;
	public const ttag_t TIFFTAG_CONSECUTIVEBADFAXLINES;
	public const ttag_t TIFFTAG_COPYRIGHT;
	public const ttag_t TIFFTAG_CURRENTPREPROFILEMATRIX;
	public const ttag_t TIFFTAG_DATATYPE;
	public const ttag_t TIFFTAG_DATETIME;
	public const ttag_t TIFFTAG_DCSBALANCEARRAY;
	public const ttag_t TIFFTAG_DCSCALIBRATIONFD;
	public const ttag_t TIFFTAG_DCSCLIPRECTANGLE;
	public const ttag_t TIFFTAG_DCSCORRECTMATRIX;
	public const ttag_t TIFFTAG_DCSGAMMA;
	public const ttag_t TIFFTAG_DCSHUESHIFTVALUES;
	public const ttag_t TIFFTAG_DCSIMAGERTYPE;
	public const ttag_t TIFFTAG_DCSINTERPMODE;
	public const ttag_t TIFFTAG_DCSTOESHOULDERPTS;
	public const ttag_t TIFFTAG_DEFAULTCROPORIGIN;
	public const ttag_t TIFFTAG_DNGBACKWARDVERSION;
	public const ttag_t TIFFTAG_DNGPRIVATEDATA;
	public const ttag_t TIFFTAG_DNGVERSION;
	public const ttag_t TIFFTAG_DOCUMENTNAME;
	public const ttag_t TIFFTAG_DOTRANGE;
	public const ttag_t TIFFTAG_EXIFIFD;
	public const ttag_t TIFFTAG_EXTRASAMPLES;
	public const ttag_t TIFFTAG_FAXDCS;
	public const ttag_t TIFFTAG_FAXFILLFUNC;
	public const ttag_t TIFFTAG_FAXMODE;
	public const ttag_t TIFFTAG_FAXRECVPARAMS;
	public const ttag_t TIFFTAG_FAXRECVTIME;
	public const ttag_t TIFFTAG_FAXSUBADDRESS;
	public const ttag_t TIFFTAG_FEDEX_EDR;
	public const ttag_t TIFFTAG_FILLORDER;
	public const ttag_t TIFFTAG_FRAMECOUNT;
	public const ttag_t TIFFTAG_FREEBYTECOUNTS;
	public const ttag_t TIFFTAG_FREEOFFSETS;
	public const ttag_t TIFFTAG_GPSIFD;
	public const ttag_t TIFFTAG_GRAYRESPONSECURVE;
	public const ttag_t TIFFTAG_GRAYRESPONSEUNIT;
	public const ttag_t TIFFTAG_GROUP3OPTIONS;
	public const ttag_t TIFFTAG_GROUP4OPTIONS;
	public const ttag_t TIFFTAG_HALFTONEHINTS;
	public const ttag_t TIFFTAG_HOSTCOMPUTER;
	public const ttag_t TIFFTAG_ICCPROFILE;
	public const ttag_t TIFFTAG_IMAGEDEPTH;
	public const ttag_t TIFFTAG_IMAGEDESCRIPTION;
	public const ttag_t TIFFTAG_IMAGELENGTH;
	public const ttag_t TIFFTAG_IMAGEWIDTH;
	public const ttag_t TIFFTAG_INKNAMES;
	public const ttag_t TIFFTAG_INKSET;
	public const ttag_t TIFFTAG_INTEROPERABILITYIFD;
	public const ttag_t TIFFTAG_IT8BITSPEREXTENDEDRUNLENGTH;
	public const ttag_t TIFFTAG_IT8BITSPERRUNLENGTH;
	public const ttag_t TIFFTAG_IT8BKGCOLORINDICATOR;
	public const ttag_t TIFFTAG_IT8BKGCOLORVALUE;
	public const ttag_t TIFFTAG_IT8COLORCHARACTERIZATION;
	public const ttag_t TIFFTAG_IT8COLORSEQUENCE;
	public const ttag_t TIFFTAG_IT8COLORTABLE;
	public const ttag_t TIFFTAG_IT8HCUSAGE;
	public const ttag_t TIFFTAG_IT8HEADER;
	public const ttag_t TIFFTAG_IT8IMAGECOLORINDICATOR;
	public const ttag_t TIFFTAG_IT8IMAGECOLORVALUE;
	public const ttag_t TIFFTAG_IT8PIXELINTENSITYRANGE;
	public const ttag_t TIFFTAG_IT8RASTERPADDING;
	public const ttag_t TIFFTAG_IT8SITE;
	public const ttag_t TIFFTAG_IT8TRANSPARENCYINDICATOR;
	public const ttag_t TIFFTAG_IT8TRAPINDICATOR;
	public const ttag_t TIFFTAG_JBIGOPTIONS;
	public const ttag_t TIFFTAG_JPEGACTABLES;
	public const ttag_t TIFFTAG_JPEGCOLORMODE;
	public const ttag_t TIFFTAG_JPEGDCTABLES;
	public const ttag_t TIFFTAG_JPEGIFBYTECOUNT;
	public const ttag_t TIFFTAG_JPEGIFOFFSET;
	public const ttag_t TIFFTAG_JPEGLOSSLESSPREDICTORS;
	public const ttag_t TIFFTAG_JPEGPOINTTRANSFORM;
	public const ttag_t TIFFTAG_JPEGPROC;
	public const ttag_t TIFFTAG_JPEGQTABLES;
	public const ttag_t TIFFTAG_JPEGQUALITY;
	public const ttag_t TIFFTAG_JPEGRESTARTINTERVAL;
	public const ttag_t TIFFTAG_JPEGTABLESMODE;
	public const ttag_t TIFFTAG_LENSINFO;
	public const ttag_t TIFFTAG_LINEARIZATIONTABLE;
	public const ttag_t TIFFTAG_LOCALIZEDCAMERAMODEL;
	public const ttag_t TIFFTAG_MAKE;
	public const ttag_t TIFFTAG_MAKERNOTESAFETY;
	public const ttag_t TIFFTAG_MATTEING;
	public const ttag_t TIFFTAG_MAXSAMPLEVALUE;
	public const ttag_t TIFFTAG_MINSAMPLEVALUE;
	public const ttag_t TIFFTAG_MODEL;
	public const ttag_t TIFFTAG_NUMBEROFINKS;
	public const ttag_t TIFFTAG_OPIPROXY;
	public const ttag_t TIFFTAG_ORIENTATION;
	public const ttag_t TIFFTAG_OSUBFILETYPE;
	public const ttag_t TIFFTAG_PAGENAME;
	public const ttag_t TIFFTAG_PAGENUMBER;
	public const ttag_t TIFFTAG_PHOTOMETRIC;
	public const ttag_t TIFFTAG_PHOTOSHOP;
	public const ttag_t TIFFTAG_PIXARLOGDATAFMT;
	public const ttag_t TIFFTAG_PIXARLOGQUALITY;
	public const ttag_t TIFFTAG_PIXAR_FOVCOT;
	public const ttag_t TIFFTAG_PIXAR_IMAGEFULLLENGTH;
	public const ttag_t TIFFTAG_PIXAR_IMAGEFULLWIDTH;
	public const ttag_t TIFFTAG_PIXAR_MATRIX_WORLDTOCAMERA;
	public const ttag_t TIFFTAG_PIXAR_MATRIX_WORLDTOSCREEN;
	public const ttag_t TIFFTAG_PIXAR_TEXTUREFORMAT;
	public const ttag_t TIFFTAG_PIXAR_WRAPMODES;
	public const ttag_t TIFFTAG_PLANARCONFIG;
	public const ttag_t TIFFTAG_PREDICTOR;
	public const ttag_t TIFFTAG_PRIMARYCHROMATICITIES;
	public const ttag_t TIFFTAG_RAWDATAUNIQUEID;
	public const ttag_t TIFFTAG_REDUCTIONMATRIX1;
	public const ttag_t TIFFTAG_REFERENCEBLACKWHITE;
	public const ttag_t TIFFTAG_REGIONAFFINE;
	public const ttag_t TIFFTAG_REGIONTACKPOINT;
	public const ttag_t TIFFTAG_REGIONWARPCORNERS;
	public const ttag_t TIFFTAG_RESOLUTIONUNIT;
	public const ttag_t TIFFTAG_RICHTIFFIPTC;
	public const ttag_t TIFFTAG_ROWSPERSTRIP;
	public const ttag_t TIFFTAG_SAMPLEFORMAT;
	public const ttag_t TIFFTAG_SAMPLESPERPIXEL;
	public const ttag_t TIFFTAG_SGILOGDATAFMT;
	public const ttag_t TIFFTAG_SGILOGENCODE;
	public const ttag_t TIFFTAG_SMAXSAMPLEVALUE;
	public const ttag_t TIFFTAG_SMINSAMPLEVALUE;
	public const ttag_t TIFFTAG_SOFTWARE;
	public const ttag_t TIFFTAG_STONITS;
	public const ttag_t TIFFTAG_STRIPBYTECOUNTS;
	public const ttag_t TIFFTAG_STRIPOFFSETS;
	public const ttag_t TIFFTAG_SUBFILETYPE;
	public const ttag_t TIFFTAG_SUBIFD;
	public const ttag_t TIFFTAG_T4OPTIONS;
	public const ttag_t TIFFTAG_T6OPTIONS;
	public const ttag_t TIFFTAG_TARGETPRINTER;
	public const ttag_t TIFFTAG_THRESHHOLDING;
	public const ttag_t TIFFTAG_TILEBYTECOUNTS;
	public const ttag_t TIFFTAG_TILEDEPTH;
	public const ttag_t TIFFTAG_TILELENGTH;
	public const ttag_t TIFFTAG_TILEOFFSETS;
	public const ttag_t TIFFTAG_TILEWIDTH;
	public const ttag_t TIFFTAG_TRANSFERFUNCTION;
	public const ttag_t TIFFTAG_UNIQUECAMERAMODEL;
	public const ttag_t TIFFTAG_WHITEPOINT;
	public const ttag_t TIFFTAG_WRITERSERIALNUMBER;
	public const ttag_t TIFFTAG_XMLPACKET;
	public const ttag_t TIFFTAG_XPOSITION;
	public const ttag_t TIFFTAG_XRESOLUTION;
	public const ttag_t TIFFTAG_YCBCRCOEFFICIENTS;
	public const ttag_t TIFFTAG_YCBCRPOSITIONING;
	public const ttag_t TIFFTAG_YCBCRSUBSAMPLING;
	public const ttag_t TIFFTAG_YPOSITION;
	public const ttag_t TIFFTAG_YRESOLUTION;
	public const ttag_t TIFFTAG_ZIPQUALITY;
	public const ttag_t BIGENDIAN;
	public const ttag_t BIGTIFF_VERSION;
	public const ttag_t DIROFFSET_SIZE;
	public const ttag_t LITTLEENDIAN;
	public const ttag_t MAGIC_SIZE;
	public const ttag_t SPP;
	public const ttag_t VARIABLE;
	public const ttag_t VARIABLE2;
	public const ttag_t VERSION;
	public const ttag_t VERSION_SIZE;
	public const ttag_t YCBCRPOSITION_CENTERED;
	public const ttag_t YCBCRPOSITION_COSITED;

	[CCode (cname = "TIFF", free_function = "TIFFClose")]
	[Compact]
	public class TIFF {
		[CCode (cname = "TIFFOpen")]
		public TIFF (string path, string mode);
		[CCode (cname = "TIFFAccessTagMethods")]
		public TagMethods? AccessTagMethods ();
		[CCode (cname = "TIFFCheckTile")]
		public bool CheckTile (uint32 p1, uint32 p2, uint32 p3, tsample_t p4);
		[CCode (cname = "TIFFCheckpointDirectory")]
		public bool CheckpointDirectory ();
		[CCode (cname = "TIFFCleanup")]
		public void Cleanup ();
		[CCode (cname = "TIFFClientdata")]
		public thandle_t Clientdata ();
		[CCode (cname = "TIFFComputeStrip")]
		public tstrip_t ComputeStrip (uint p1, tsample_t p2);
		[CCode (cname = "TIFFComputeTile")]
		public ttile_t ComputeTile (uint32 p1, uint32 p2, uint32 p3, tsample_t p4);
		[CCode (cname = "TIFFCreateDirectory")]
		public int CreateDirectory ();
		[CCode (cname = "TIFFCurrentDirOffset")]
		public uint32 CurrentDirOffset ();
		[CCode (cname = "TIFFCurrentDirectory")]
		public tdir_t CurrentDirectory ();
		[CCode (cname = "TIFFCurrentRow")]
		public uint32 CurrentRow ();
		[CCode (cname = "TIFFCurrentStrip")]
		public tstrip_t CurrentStrip ();
		[CCode (cname = "TIFFCurrentTile")]
		public ttile_t CurrentTile ();
		[CCode (cname = "TIFFDefaultStripSize")]
		public uint32 DefaultStripSize (uint32 p1);
		[CCode (cname = "TIFFDefaultTileSize")]
		public void DefaultTileSize (out uint32 p1, out uint32 p2);
		[CCode (cname = "TIFFFieldWithName")]
		public unowned FieldInfo? FieldWithName (string p1);
		[CCode (cname = "TIFFFieldWithTag")]
		public unowned FieldInfo? FieldWithTag (ttag_t p1);
		[CCode (cname = "TIFFFileName")]
		public unowned string FileName ();
		[CCode (cname = "TIFFFileno")]
		public int Fileno ();
		[CCode (cname = "TIFFFindFieldInfo")]
		public unowned FieldInfo? FindFieldInfo (ttag_t p1, DataType p2);
		[CCode (cname = "TIFFFindFieldInfoByName")]
		public unowned FieldInfo? FindFieldInfoByName (string p1, DataType p2);
		[CCode (cname = "TIFFFlush")]
		public bool Flush ();
		[CCode (cname = "TIFFFlushData")]
		public bool FlushData ();
		[CCode (cname = "TIFFFreeDirectory")]
		public void FreeDirectory ();
		[CCode (cname = "TIFFGetClientInfo")]
		public void* GetClientInfo (string p1);
		[CCode (cname = "TIFFGetCloseProc")]
		public CloseProc GetCloseProc ();
		[CCode (cname = "TIFFGetField")]
		public int GetField (ttag_t p1, ...);
		[CCode (cname = "TIFFGetFieldDefaulted")]
		public int GetFieldDefaulted (ttag_t p1, ...);
		[CCode (cname = "TIFFGetMapFileProc")]
		public MapFileProc GetMapFileProc ();
		[CCode (cname = "TIFFGetMode")]
		public int GetMode ();
		[CCode (cname = "TIFFGetReadProc")]
		public ReadWriteProc GetReadProc ();
		[CCode (cname = "TIFFGetSeekProc")]
		public SeekProc GetSeekProc ();
		[CCode (cname = "TIFFGetSizeProc")]
		public SizeProc GetSizeProc ();
		[CCode (cname = "TIFFGetTagListCount")]
		public int GetTagListCount ();
		[CCode (cname = "TIFFGetTagListEntry")]
		public ttag_t GetTagListEntry (int tag_index);
		[CCode (cname = "TIFFGetUnmapFileProc")]
		public UnmapFileProc GetUnmapFileProc ();
		[CCode (cname = "TIFFGetWriteProc")]
		public ReadWriteProc GetWriteProc ();
		[CCode (cname = "TIFFIsBigEndian")]
		public bool IsBigEndian ();
		[CCode (cname = "TIFFIsByteSwapped")]
		public bool IsByteSwapped ();
		[CCode (cname = "TIFFIsMSB2LSB")]
		public bool IsMSB2LSB ();
		[CCode (cname = "TIFFIsTiled")]
		public bool IsTiled ();
		[CCode (cname = "TIFFIsUpSampled")]
		public bool IsUpSampled ();
		[CCode (cname = "TIFFLastDirectory")]
		public bool LastDirectory ();
		[CCode (cname = "TIFFMergeFieldInfo")]
		public void MergeFieldInfo ([CCode (array_length = false)] FieldInfo[] p1, int p2);
		[CCode (cname = "TIFFNumberOfDirectories")]
		public tdir_t NumberOfDirectories ();
		[CCode (cname = "TIFFNumberOfStrips")]
		public tstrip_t NumberOfStrips ();
		[CCode (cname = "TIFFNumberOfTiles")]
		public ttile_t NumberOfTiles ();
		[CCode (cname = "TIFFPrintDirectory")]
		public void PrintDirectory (GLib.FileStream p1, long p2);
		[CCode (cname = "TIFFRGBAImageOK")]
		public bool RGBAImageOK (string p1);
		[CCode (cname = "TIFFRasterScanlineSize")]
		public tsize_t RasterScanlineSize ();
		[CCode (cname = "TIFFRawStripSize")]
		public tsize_t RawStripSize (tstrip_t p1);
		[CCode (cname = "TIFFReadBufferSetup")]
		public bool ReadBufferSetup (tdata_t p1, tsize_t p2);
		[CCode (cname = "TIFFReadCustomDirectory")]
		public bool ReadCustomDirectory (toff_t p1, [CCode (array_length = false)] FieldInfo[] p2);
		[CCode (cname = "TIFFReadDirectory")]
		public bool ReadDirectory ();
		[CCode (cname = "TIFFReadEXIFDirectory")]
		public bool ReadEXIFDirectory (toff_t p1);
		[CCode (cname = "TIFFReadEncodedStrip")]
		public tsize_t ReadEncodedStrip (tstrip_t p1, tdata_t p2, tsize_t p3);
		[CCode (cname = "TIFFReadEncodedTile")]
		public tsize_t ReadEncodedTile (ttile_t p1, tdata_t p2, tsize_t p3);
		[CCode (cname = "TIFFReadRGBAImage")]
		public bool ReadRGBAImage (uint32 p1, uint32 p2, [CCode (array_length = false)] uint32[] p3, int p4);
		[CCode (cname = "TIFFReadRGBAImageOriented")]
		public bool ReadRGBAImageOriented (uint32 p1, uint32 p2, [CCode (array_length = false)] uint32[] p3, int p4, int p5);
		[CCode (cname = "TIFFReadRGBAStrip")]
		public bool ReadRGBAStrip (tstrip_t p1, [CCode (array_length = false)] uint32[] p2);
		[CCode (cname = "TIFFReadRGBATile")]
		public bool ReadRGBATile (uint32 p1, uint32 p2, [CCode (array_length = false)] uint32[] p3);
		[CCode (cname = "TIFFReadRawStrip")]
		public tsize_t ReadRawStrip (tstrip_t p1, tdata_t p2, tsize_t p3);
		[CCode (cname = "TIFFReadRawTile")]
		public tsize_t ReadRawTile (ttile_t p1, tdata_t p2, tsize_t p3);
		[CCode (cname = "TIFFReadScanline")]
		public int ReadScanline (tdata_t p1, uint32 p2, tsample_t p3);
		[CCode (cname = "TIFFReadTile")]
		public tsize_t ReadTile (tdata_t p1, uint32 p2, uint32 p3, uint32 p4, tsample_t p5);
		[CCode (cname = "TIFFRewriteDirectory")]
		public int RewriteDirectory ();
		[CCode (cname = "TIFFScanlineSize")]
		public tsize_t ScanlineSize ();
		[CCode (cname = "TIFFSetClientInfo")]
		public void SetClientInfo (void* p1, string p2);
		[CCode (cname = "TIFFSetClientdata")]
		public thandle_t SetClientdata (thandle_t p1);
		[CCode (cname = "TIFFSetDirectory")]
		public int SetDirectory (tdir_t p1);
		[CCode (cname = "TIFFSetField")]
		public bool SetField (ttag_t p1, ...);
		[CCode (cname = "TIFFSetFileName")]
		public unowned string SetFileName (string p1);
		[CCode (cname = "TIFFSetFileno")]
		public int SetFileno (int p1);
		[CCode (cname = "TIFFSetMode")]
		public int SetMode (int p1);
		[CCode (cname = "TIFFSetSubDirectory")]
		public int SetSubDirectory (uint32 p1);
		[CCode (cname = "TIFFSetWriteOffset")]
		public void SetWriteOffset (toff_t p1);
		[CCode (cname = "TIFFSetupStrips")]
		public bool SetupStrips ();
		[CCode (cname = "TIFFStripSize")]
		public tsize_t StripSize ();
		[CCode (cname = "TIFFTileRowSize")]
		public tsize_t TileRowSize ();
		[CCode (cname = "TIFFTileSize")]
		public tsize_t TileSize ();
		[CCode (cname = "TIFFUnlinkDirectory")]
		public bool UnlinkDirectory (tdir_t p1);
		/* *************************************************
		[CCode (cname = "TIFFVGetField")]
		public int VGetField (ttag_t p1, void* p2);
		[CCode (cname = "TIFFVGetFieldDefaulted")]
		public int VGetFieldDefaulted (ttag_t p1, void* p2);
		[CCode (cname = "TIFFVSetField")]
		public int VSetField (ttag_t p1, void* p2);
		************************************************* */
		[CCode (cname = "TIFFVStripSize")]
		public tsize_t VStripSize (uint32 p1);
		[CCode (cname = "TIFFVTileSize")]
		public tsize_t VTileSize (uint32 p1);
		[CCode (cname = "TIFFWriteBufferSetup")]
		public bool WriteBufferSetup (tdata_t p1, tsize_t p2);
		[CCode (cname = "TIFFWriteCheck")]
		public bool WriteCheck (int p1, string p2);
		[CCode (cname = "TIFFWriteDirectory")]
		public bool WriteDirectory ();
		[CCode (cname = "TIFFWriteEncodedStrip")]
		public tsize_t WriteEncodedStrip (tstrip_t p1, tdata_t p2, tsize_t p3);
		[CCode (cname = "TIFFWriteEncodedTile")]
		public tsize_t WriteEncodedTile (ttile_t p1, tdata_t p2, tsize_t p3);
		[CCode (cname = "TIFFWriteRawStrip")]
		public tsize_t WriteRawStrip (tstrip_t p1, tdata_t p2, tsize_t p3);
		[CCode (cname = "TIFFWriteRawTile")]
		public tsize_t WriteRawTile (ttile_t p1, tdata_t p2, tsize_t p3);
		[CCode (cname = "TIFFWriteScanline")]
		public int WriteScanline (tdata_t p1, uint32 p2, tsample_t p3);
		[CCode (cname = "TIFFWriteTile")]
		public tsize_t WriteTile (tdata_t p1, uint32 p2, uint32 p3, uint32 p4, tsample_t p5);
	}

	namespace TIFFUtils {
		[CCode (cname = "TIFFGetR")]
		public static uint8 GetRed (uint32 abgr);
		[CCode (cname = "TIFFGetG")]
		public static int8 GetGreen (uint32 abgr);
		[CCode (cname = "TIFFGetB")]
		public static uint8 GetBlue (uint32 abgr);
		[CCode (cname = "TIFFGetA")]
		public static uint8 GetAlpha (int32 abgr);
		[CCode (cname = "TIFFClientOpen")]
		public static TIFF ClientOpen (string p1, string p2, thandle_t p3, ReadWriteProc p4, ReadWriteProc p5, SeekProc p6, CloseProc p7, SizeProc p8, MapFileProc p9, UnmapFileProc p10);
		[CCode (cname = "TIFFCIELabToRGBInit")]
		public static int CIELabToRGBInit (CIELabToRGB p1, Display p2, [CCode(array_length = false)] float[] p3);
		[CCode (cname = "TIFFCIELabToXYZ")]
		public static void CIELabToXYZ (CIELabToRGB p1, uint p2, int p3, int p4, out float p5, out float p6, out float p7);
		[CCode (cname = "TIFFDataWidth")]
		public static int DataWidth (DataType p1);
		[CCode (cname = "TIFFError")]
		public static void Error (string p1, string p2, ...);
		[CCode (cname = "TIFFErrorExt")]
		public static void ErrorExt (thandle_t p1, string p2, string p3, ...);
		[CCode (cname = "TIFFFdOpen")]
		public static TIFF FdOpen (int p1, string p2, string p3);
		[CCode (cname = "TIFFGetVersion")]
		public static unowned string GetVersion ();
		[CCode (cname = "TIFFFindCODEC")]
		public static unowned Codec? FindCODEC (ushort p1);
		[CCode (cname = "TIFFGetBitRevTable")]
		public static unowned string GetBitRevTable (int p1);
		[CCode (cname = "TIFFGetConfiguredCODECs", array_length = false, array_null_terminated = true)]
		public static Codec[] GetConfiguredCODECs ();
		[CCode (cname = "TIFFRGBAImageBegin")]
		public static int RGBAImageBegin (RGBAImage p1, TIFF p2, int p3, char p4[1024]);
		[CCode (cname = "TIFFIsCODECConfigured")]
		public static int IsCODECConfigured (ushort p1);
		[CCode (cname = "TIFFRGBAImageEnd")]
		public static void RGBAImageEnd (RGBAImage p1);
		[CCode (cname = "TIFFRGBAImageGet")]
		public static int RGBAImageGet (RGBAImage p1, [CCode (array_length = false)] uint32[] p2, uint32 p3, uint32 p4);
		[CCode (cname = "TIFFReassignTagToIgnore")]
		public static int ReassignTagToIgnore (IgnoreSense p1, int p2);
		[CCode (cname = "TIFFRegisterCODEC")]
		public static Codec? RegisterCODEC (uint16 p1, string p2, InitMethod p3);
		[CCode (cname = "TIFFReverseBits")]
		public static void ReverseBits ([CCode (array_length = false)] uchar[] p1, ulong p2);
		/* *******************************************************************************
		[CCode (cname = "TIFFSetErrorHandler")]
		public static ErrorHandler SetErrorHandler (ErrorHandler p1);
		[CCode (cname = "TIFFErrorHandlerExt")]
		public static ErrorHandlerExt SetErrorHandlerExt (ErrorHandlerExt p1);
		[CCode (cname = "TIFFSetWarningHandler")]
		public static ErrorHandler SetWarningHandler (ErrorHandler p1);
		[CCode (cname = "TIFFSetWarningHandlerExt")]
		public static ErrorHandlerExt SetWarningHandlerExt (ErrorHandlerExt p1);
		******************************************************************************* */
		[CCode (cname = "TIFFSetTagExtender")]
		public static ExtendProc SetTagExtender (ExtendProc p1);
		[CCode (cname = "TIFFSwabArrayOfDouble")]
		public static void SwabArrayOfDouble ([CCode (array_length = false)] double[] p1, ulong p2);
		[CCode (cname = "TIFFSwabArrayOfLong")]
		public static void SwabArrayOfLong ([CCode (array_length = false)] uint32[] p1, ulong p2);
		[CCode (cname = "TIFFSwabArrayOfShort")]
		public static void SwabArrayOfShort ([CCode (array_length = false)] uint16[] p1, ulong p2);
		[CCode (cname = "TIFFSwabArrayOfTriples")]
		public static void SwabArrayOfTriples ([CCode (array_length = false)] uint8[] p1, ulong p2);
		[CCode (cname = "TIFFSwabDouble")]
		public static void SwabDouble ([CCode (array_length = false)] double[] p1);
		[CCode (cname = "TIFFSwabLong")]
		public static void SwabLong ([CCode (array_length = false)] uint32[] p1);
		[CCode (cname = "TIFFSwabShort")]
		public static void SwabShort ([CCode (array_length = false)] uint16[] p1);
		[CCode (cname = "TIFFUnRegisterCODEC")]
		public static void UnRegisterCODEC (Codec p1);
		[CCode (cname = "TIFFWarning")]
		public static void Warning (string p1, string p2);
		[CCode (cname = "TIFFWarningExt")]
		public static void WarningExt (thandle_t p1, string p2, string p3);
		[CCode (cname = "TIFFXYZToRGB")]
		public static void XYZToRGB (CIELabToRGB p1, float p2, float p3, float p4, out uint32 p5, out uint32 p6, out uint32 p7);
		[CCode (cname = "TIFFYCbCrToRGBInit")]
		public static int YCbCrToRGBInit (YCbCrToRGB p1, [CCode (array_length = false)] float[] p2, [CCode (array_length = false)] float[] p3);
		[CCode (cname = "TIFFYCbCrtoRGB")]
		public static void YCbCrtoRGB (YCbCrToRGB p1, uint32 p2, int32 p3, int32 p4, out uint32 p5, out uint32 p6, out uint32 p7);
		[CCode (cname = "LogL10fromY")]
		public static int LogL10fromY (double p1, int p2);
		[CCode (cname = "LogL10toY")]
		public static double LogL10toY (int p1);
		[CCode (cname = "LogL16fromY")]
		public static int LogL16fromY (double p1, int p2);
		[CCode (cname = "LogL16toY")]
		public static double LogL16toY (int p1);
		[CCode (cname = "LogLuv24fromXYZ")]
		public static uint32 LogLuv24fromXYZ (float p1[3], int p2);
		[CCode (cname = "LogLuv24toXYZ")]
		public static void LogLuv24toXYZ (uint32 p1, float p2[3]);
		[CCode (cname = "LogLuv32fromXYZ")]
		public static uint32 LogLuv32fromXYZ (float p1[3], int p2);
		[CCode (cname = "LogLuv32toXYZ")]
		public static void LogLuv32toXYZ (uint32 p1, float p2[3]);
		[CCode (cname = "XYZtoRGB24")]
		public static void XYZtoRGB24 (float p1[3], uint8 p2[3]);
		[CCode (cname = "uv_decode")]
		public static int uv_decode (out double p1, out double p2, int p3);
		[CCode (cname = "uv_encode")]
		public static int uv_encode (double p1, double p2, int p3);
	}

}