1*ec63e07aSXin Li // Copyright 2020 Google LLC 2*ec63e07aSXin Li // 3*ec63e07aSXin Li // Licensed under the Apache License, Version 2.0 (the "License"); 4*ec63e07aSXin Li // you may not use this file except in compliance with the License. 5*ec63e07aSXin Li // You may obtain a copy of the License at 6*ec63e07aSXin Li // 7*ec63e07aSXin Li // https://www.apache.org/licenses/LICENSE-2.0 8*ec63e07aSXin Li // 9*ec63e07aSXin Li // Unless required by applicable law or agreed to in writing, software 10*ec63e07aSXin Li // distributed under the License is distributed on an "AS IS" BASIS, 11*ec63e07aSXin Li // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*ec63e07aSXin Li // See the License for the specific language governing permissions and 13*ec63e07aSXin Li // limitations under the License. 14*ec63e07aSXin Li 15*ec63e07aSXin Li #ifndef CONTRIB_LIBTIFF_WRAPPER_FUNC_H_ 16*ec63e07aSXin Li #define CONTRIB_LIBTIFF_WRAPPER_FUNC_H_ 17*ec63e07aSXin Li 18*ec63e07aSXin Li #include <cstdint> 19*ec63e07aSXin Li 20*ec63e07aSXin Li #include "tiffio.h" // NOLINT(build/include) 21*ec63e07aSXin Li 22*ec63e07aSXin Li // s - signed 23*ec63e07aSXin Li // u - uint32_t 24*ec63e07aSXin Li // wrapper for variadic functions TIFFGetField and TIFFSetField 25*ec63e07aSXin Li 26*ec63e07aSXin Li extern "C" { 27*ec63e07aSXin Li 28*ec63e07aSXin Li int TIFFGetField1(TIFF* tif, uint32_t tag, void* param); 29*ec63e07aSXin Li int TIFFGetField2(TIFF* tif, uint32_t tag, void* param1, void* param2); 30*ec63e07aSXin Li int TIFFGetField3(TIFF* tif, uint32_t tag, void* param1, void* param2, 31*ec63e07aSXin Li void* param3); 32*ec63e07aSXin Li 33*ec63e07aSXin Li int TIFFSetFieldUChar1(TIFF* tif, uint32_t tag, uint8_t param); 34*ec63e07aSXin Li int TIFFSetFieldUChar2(TIFF* tif, uint32_t tag, uint8_t param1, uint8_t param2); 35*ec63e07aSXin Li int TIFFSetFieldUChar3(TIFF* tif, uint32_t tag, uint8_t param1, uint8_t param2, 36*ec63e07aSXin Li uint8_t param3); 37*ec63e07aSXin Li 38*ec63e07aSXin Li int TIFFSetFieldSChar1(TIFF* tif, uint32_t tag, int8_t param); 39*ec63e07aSXin Li int TIFFSetFieldSChar2(TIFF* tif, uint32_t tag, int8_t param1, int8_t param2); 40*ec63e07aSXin Li int TIFFSetFieldSChar3(TIFF* tif, uint32_t tag, int8_t param1, int8_t param2, 41*ec63e07aSXin Li int8_t param3); 42*ec63e07aSXin Li 43*ec63e07aSXin Li int TIFFSetFieldU1(TIFF* tif, uint32_t tag, uint32_t param); 44*ec63e07aSXin Li int TIFFSetFieldU2(TIFF* tif, uint32_t tag, uint32_t param1, uint32_t param2); 45*ec63e07aSXin Li int TIFFSetFieldU3(TIFF* tif, uint32_t tag, uint32_t param1, uint32_t param2, 46*ec63e07aSXin Li uint32_t param3); 47*ec63e07aSXin Li 48*ec63e07aSXin Li int TIFFSetFieldS1(TIFF* tif, uint32_t tag, int param); 49*ec63e07aSXin Li int TIFFSetFieldS2(TIFF* tif, uint32_t tag, int param1, int param2); 50*ec63e07aSXin Li int TIFFSetFieldS3(TIFF* tif, uint32_t tag, int param1, int param2, int param3); 51*ec63e07aSXin Li 52*ec63e07aSXin Li int TIFFSetFieldUShort1(TIFF* tif, uint32_t tag, uint16_t param); 53*ec63e07aSXin Li int TIFFSetFieldUShort2(TIFF* tif, uint32_t tag, uint16_t param1, 54*ec63e07aSXin Li uint16_t param2); 55*ec63e07aSXin Li int TIFFSetFieldUShort3(TIFF* tif, uint32_t tag, uint16_t param1, 56*ec63e07aSXin Li uint16_t param2, uint16_t param3); 57*ec63e07aSXin Li 58*ec63e07aSXin Li int TIFFSetFieldSShort1(TIFF* tif, uint32_t tag, int16_t param); 59*ec63e07aSXin Li int TIFFSetFieldSShort2(TIFF* tif, uint32_t tag, int16_t param1, 60*ec63e07aSXin Li int16_t param2); 61*ec63e07aSXin Li int TIFFSetFieldSShort3(TIFF* tif, uint32_t tag, int16_t param1, int16_t param2, 62*ec63e07aSXin Li int16_t param3); 63*ec63e07aSXin Li 64*ec63e07aSXin Li int TIFFSetFieldULLong1(TIFF* tif, uint32_t tag, uint64_t param); 65*ec63e07aSXin Li int TIFFSetFieldULLong2(TIFF* tif, uint32_t tag, uint64_t param1, 66*ec63e07aSXin Li uint64_t param2); 67*ec63e07aSXin Li int TIFFSetFieldULLong3(TIFF* tif, uint32_t tag, uint64_t param1, 68*ec63e07aSXin Li uint64_t param2, uint64_t param3); 69*ec63e07aSXin Li 70*ec63e07aSXin Li int TIFFSetFieldSLLong1(TIFF* tif, uint32_t tag, int64_t param); 71*ec63e07aSXin Li int TIFFSetFieldSLLong2(TIFF* tif, uint32_t tag, int64_t param1, 72*ec63e07aSXin Li int64_t param2); 73*ec63e07aSXin Li int TIFFSetFieldSLLong3(TIFF* tif, uint32_t tag, int64_t param1, int64_t param2, 74*ec63e07aSXin Li int64_t param3); 75*ec63e07aSXin Li 76*ec63e07aSXin Li int TIFFSetFieldFloat1(TIFF* tif, uint32_t tag, float param); 77*ec63e07aSXin Li int TIFFSetFieldFloat2(TIFF* tif, uint32_t tag, float param1, float param2); 78*ec63e07aSXin Li int TIFFSetFieldFloat3(TIFF* tif, uint32_t tag, float param1, float param2, 79*ec63e07aSXin Li float param3); 80*ec63e07aSXin Li 81*ec63e07aSXin Li int TIFFSetFieldDouble1(TIFF* tif, uint32_t tag, double param); 82*ec63e07aSXin Li int TIFFSetFieldDouble2(TIFF* tif, uint32_t tag, double param1, double param2); 83*ec63e07aSXin Li int TIFFSetFieldDouble3(TIFF* tif, uint32_t tag, double param1, double param2, 84*ec63e07aSXin Li double param3); 85*ec63e07aSXin Li 86*ec63e07aSXin Li } // extern "C" 87*ec63e07aSXin Li 88*ec63e07aSXin Li #endif // CONTRIB_LIBTIFF_WRAPPER_FUNC_H_ 89