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