1*b2055c35SXin Li /* ----------------------------------------------------------------------------
2*b2055c35SXin Li * This file was automatically generated by SWIG (http://www.swig.org).
3*b2055c35SXin Li * Version 2.0.10
4*b2055c35SXin Li *
5*b2055c35SXin Li * This file is not intended to be easily readable and contains a number of
6*b2055c35SXin Li * coding conventions designed to improve portability and efficiency. Do not make
7*b2055c35SXin Li * changes to this file unless you know what you are doing--modify the SWIG
8*b2055c35SXin Li * interface file instead.
9*b2055c35SXin Li * ----------------------------------------------------------------------------- */
10*b2055c35SXin Li #define SWIGMODULE libwebp
11*b2055c35SXin Li /* -----------------------------------------------------------------------------
12*b2055c35SXin Li * This section contains generic SWIG labels for method/variable
13*b2055c35SXin Li * declarations/attributes, and other compiler dependent labels.
14*b2055c35SXin Li * ----------------------------------------------------------------------------- */
15*b2055c35SXin Li
16*b2055c35SXin Li /* template workaround for compilers that cannot correctly implement the C++ standard */
17*b2055c35SXin Li #ifndef SWIGTEMPLATEDISAMBIGUATOR
18*b2055c35SXin Li # if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
19*b2055c35SXin Li # define SWIGTEMPLATEDISAMBIGUATOR template
20*b2055c35SXin Li # elif defined(__HP_aCC)
21*b2055c35SXin Li /* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
22*b2055c35SXin Li /* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
23*b2055c35SXin Li # define SWIGTEMPLATEDISAMBIGUATOR template
24*b2055c35SXin Li # else
25*b2055c35SXin Li # define SWIGTEMPLATEDISAMBIGUATOR
26*b2055c35SXin Li # endif
27*b2055c35SXin Li #endif
28*b2055c35SXin Li
29*b2055c35SXin Li /* inline attribute */
30*b2055c35SXin Li #ifndef SWIGINLINE
31*b2055c35SXin Li # if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
32*b2055c35SXin Li # define SWIGINLINE inline
33*b2055c35SXin Li # else
34*b2055c35SXin Li # define SWIGINLINE
35*b2055c35SXin Li # endif
36*b2055c35SXin Li #endif
37*b2055c35SXin Li
38*b2055c35SXin Li /* attribute recognised by some compilers to avoid 'unused' warnings */
39*b2055c35SXin Li #ifndef SWIGUNUSED
40*b2055c35SXin Li # if defined(__GNUC__)
41*b2055c35SXin Li # if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
42*b2055c35SXin Li # define SWIGUNUSED __attribute__ ((__unused__))
43*b2055c35SXin Li # else
44*b2055c35SXin Li # define SWIGUNUSED
45*b2055c35SXin Li # endif
46*b2055c35SXin Li # elif defined(__ICC)
47*b2055c35SXin Li # define SWIGUNUSED __attribute__ ((__unused__))
48*b2055c35SXin Li # else
49*b2055c35SXin Li # define SWIGUNUSED
50*b2055c35SXin Li # endif
51*b2055c35SXin Li #endif
52*b2055c35SXin Li
53*b2055c35SXin Li #ifndef SWIG_MSC_UNSUPPRESS_4505
54*b2055c35SXin Li # if defined(_MSC_VER)
55*b2055c35SXin Li # pragma warning(disable : 4505) /* unreferenced local function has been removed */
56*b2055c35SXin Li # endif
57*b2055c35SXin Li #endif
58*b2055c35SXin Li
59*b2055c35SXin Li #ifndef SWIGUNUSEDPARM
60*b2055c35SXin Li # ifdef __cplusplus
61*b2055c35SXin Li # define SWIGUNUSEDPARM(p)
62*b2055c35SXin Li # else
63*b2055c35SXin Li # define SWIGUNUSEDPARM(p) p SWIGUNUSED
64*b2055c35SXin Li # endif
65*b2055c35SXin Li #endif
66*b2055c35SXin Li
67*b2055c35SXin Li /* internal SWIG method */
68*b2055c35SXin Li #ifndef SWIGINTERN
69*b2055c35SXin Li # define SWIGINTERN static SWIGUNUSED
70*b2055c35SXin Li #endif
71*b2055c35SXin Li
72*b2055c35SXin Li /* internal inline SWIG method */
73*b2055c35SXin Li #ifndef SWIGINTERNINLINE
74*b2055c35SXin Li # define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
75*b2055c35SXin Li #endif
76*b2055c35SXin Li
77*b2055c35SXin Li /* exporting methods */
78*b2055c35SXin Li #if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
79*b2055c35SXin Li # ifndef GCC_HASCLASSVISIBILITY
80*b2055c35SXin Li # define GCC_HASCLASSVISIBILITY
81*b2055c35SXin Li # endif
82*b2055c35SXin Li #endif
83*b2055c35SXin Li
84*b2055c35SXin Li #ifndef SWIGEXPORT
85*b2055c35SXin Li # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
86*b2055c35SXin Li # if defined(STATIC_LINKED)
87*b2055c35SXin Li # define SWIGEXPORT
88*b2055c35SXin Li # else
89*b2055c35SXin Li # define SWIGEXPORT __declspec(dllexport)
90*b2055c35SXin Li # endif
91*b2055c35SXin Li # else
92*b2055c35SXin Li # if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
93*b2055c35SXin Li # define SWIGEXPORT __attribute__ ((visibility("default")))
94*b2055c35SXin Li # else
95*b2055c35SXin Li # define SWIGEXPORT
96*b2055c35SXin Li # endif
97*b2055c35SXin Li # endif
98*b2055c35SXin Li #endif
99*b2055c35SXin Li
100*b2055c35SXin Li /* calling conventions for Windows */
101*b2055c35SXin Li #ifndef SWIGSTDCALL
102*b2055c35SXin Li # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
103*b2055c35SXin Li # define SWIGSTDCALL __stdcall
104*b2055c35SXin Li # else
105*b2055c35SXin Li # define SWIGSTDCALL
106*b2055c35SXin Li # endif
107*b2055c35SXin Li #endif
108*b2055c35SXin Li
109*b2055c35SXin Li /* Deal with Microsoft's attempt at deprecating C standard runtime functions */
110*b2055c35SXin Li #if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
111*b2055c35SXin Li # define _CRT_SECURE_NO_DEPRECATE
112*b2055c35SXin Li #endif
113*b2055c35SXin Li
114*b2055c35SXin Li /* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
115*b2055c35SXin Li #if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
116*b2055c35SXin Li # define _SCL_SECURE_NO_DEPRECATE
117*b2055c35SXin Li #endif
118*b2055c35SXin Li
119*b2055c35SXin Li
120*b2055c35SXin Li
121*b2055c35SXin Li #include <stddef.h>
122*b2055c35SXin Li #include <stdio.h>
123*b2055c35SXin Li #include <stdlib.h>
124*b2055c35SXin Li #include <string.h>
125*b2055c35SXin Li #include <sys/types.h>
126*b2055c35SXin Li
127*b2055c35SXin Li
128*b2055c35SXin Li
129*b2055c35SXin Li typedef long long intgo;
130*b2055c35SXin Li typedef unsigned long long uintgo;
131*b2055c35SXin Li
132*b2055c35SXin Li
133*b2055c35SXin Li
134*b2055c35SXin Li typedef struct { char *p; intgo n; } _gostring_;
135*b2055c35SXin Li typedef struct { void* array; intgo len; intgo cap; } _goslice_;
136*b2055c35SXin Li
137*b2055c35SXin Li
138*b2055c35SXin Li
139*b2055c35SXin Li
140*b2055c35SXin Li #define swiggo_size_assert_eq(x, y, name) typedef char name[(x-y)*(x-y)*-2+1];
141*b2055c35SXin Li #define swiggo_size_assert(t, n) swiggo_size_assert_eq(sizeof(t), n, swiggo_sizeof_##t##_is_not_##n)
142*b2055c35SXin Li
143*b2055c35SXin Li swiggo_size_assert(char, 1)
144*b2055c35SXin Li swiggo_size_assert(short, 2)
145*b2055c35SXin Li swiggo_size_assert(int, 4)
146*b2055c35SXin Li typedef long long swiggo_long_long;
147*b2055c35SXin Li swiggo_size_assert(swiggo_long_long, 8)
148*b2055c35SXin Li swiggo_size_assert(float, 4)
149*b2055c35SXin Li swiggo_size_assert(double, 8)
150*b2055c35SXin Li
151*b2055c35SXin Li #ifdef __cplusplus
152*b2055c35SXin Li extern "C" {
153*b2055c35SXin Li #endif
154*b2055c35SXin Li extern void crosscall2(void (*fn)(void *, int), void *, int);
155*b2055c35SXin Li extern void _cgo_allocate(void *, int);
156*b2055c35SXin Li extern void _cgo_panic(void *, int);
157*b2055c35SXin Li #ifdef __cplusplus
158*b2055c35SXin Li }
159*b2055c35SXin Li #endif
160*b2055c35SXin Li
_swig_goallocate(size_t len)161*b2055c35SXin Li static void *_swig_goallocate(size_t len) {
162*b2055c35SXin Li struct {
163*b2055c35SXin Li size_t len;
164*b2055c35SXin Li void *ret;
165*b2055c35SXin Li } a;
166*b2055c35SXin Li a.len = len;
167*b2055c35SXin Li crosscall2(_cgo_allocate, &a, (int) sizeof a);
168*b2055c35SXin Li return a.ret;
169*b2055c35SXin Li }
170*b2055c35SXin Li
_swig_gopanic(const char * p)171*b2055c35SXin Li static void _swig_gopanic(const char *p) {
172*b2055c35SXin Li struct {
173*b2055c35SXin Li const char *p;
174*b2055c35SXin Li } a;
175*b2055c35SXin Li a.p = p;
176*b2055c35SXin Li crosscall2(_cgo_panic, &a, (int) sizeof a);
177*b2055c35SXin Li }
178*b2055c35SXin Li
179*b2055c35SXin Li
180*b2055c35SXin Li
181*b2055c35SXin Li
_swig_makegostring(const char * p,size_t l)182*b2055c35SXin Li static _gostring_ _swig_makegostring(const char *p, size_t l) {
183*b2055c35SXin Li _gostring_ ret;
184*b2055c35SXin Li ret.p = (char*)_swig_goallocate(l + 1);
185*b2055c35SXin Li memcpy(ret.p, p, l);
186*b2055c35SXin Li ret.n = l;
187*b2055c35SXin Li return ret;
188*b2055c35SXin Li }
189*b2055c35SXin Li
190*b2055c35SXin Li #define SWIG_contract_assert(expr, msg) \
191*b2055c35SXin Li if (!(expr)) { _swig_gopanic(msg); } else
192*b2055c35SXin Li
193*b2055c35SXin Li
194*b2055c35SXin Li #define SWIG_exception(code, msg) _swig_gopanic(msg)
195*b2055c35SXin Li
196*b2055c35SXin Li
197*b2055c35SXin Li #include "webp/decode.h"
198*b2055c35SXin Li #include "webp/encode.h"
199*b2055c35SXin Li
200*b2055c35SXin Li #ifdef __cplusplus
201*b2055c35SXin Li extern "C" {
202*b2055c35SXin Li #endif
203*b2055c35SXin Li
204*b2055c35SXin Li void
_wrap_WebPGetDecoderVersion(void * swig_v)205*b2055c35SXin Li _wrap_WebPGetDecoderVersion(void *swig_v)
206*b2055c35SXin Li {
207*b2055c35SXin Li int result;
208*b2055c35SXin Li
209*b2055c35SXin Li struct swigargs {
210*b2055c35SXin Li long : 0;
211*b2055c35SXin Li intgo result;
212*b2055c35SXin Li } *swig_a = (struct swigargs *) swig_v;
213*b2055c35SXin Li
214*b2055c35SXin Li
215*b2055c35SXin Li result = (int)WebPGetDecoderVersion();
216*b2055c35SXin Li swig_a->result = result;
217*b2055c35SXin Li }
218*b2055c35SXin Li
219*b2055c35SXin Li
220*b2055c35SXin Li void
_wrap_wrapped_WebPGetInfo(void * swig_v)221*b2055c35SXin Li _wrap_wrapped_WebPGetInfo(void *swig_v)
222*b2055c35SXin Li {
223*b2055c35SXin Li uint8_t *arg1 = (uint8_t *) 0 ;
224*b2055c35SXin Li size_t arg2 ;
225*b2055c35SXin Li int *arg3 = (int *) 0 ;
226*b2055c35SXin Li int *arg4 = (int *) 0 ;
227*b2055c35SXin Li int temp3 ;
228*b2055c35SXin Li int temp4 ;
229*b2055c35SXin Li int result;
230*b2055c35SXin Li
231*b2055c35SXin Li struct swigargs {
232*b2055c35SXin Li _gostring_ arg1;
233*b2055c35SXin Li _goslice_ arg3;
234*b2055c35SXin Li _goslice_ arg4;
235*b2055c35SXin Li long : 0;
236*b2055c35SXin Li intgo result;
237*b2055c35SXin Li } *swig_a = (struct swigargs *) swig_v;
238*b2055c35SXin Li
239*b2055c35SXin Li
240*b2055c35SXin Li arg1 = (uint8_t *)swig_a->arg1.p;
241*b2055c35SXin Li arg2 = (size_t)swig_a->arg1.n;
242*b2055c35SXin Li
243*b2055c35SXin Li {
244*b2055c35SXin Li if (swig_a->arg3.len == 0) {
245*b2055c35SXin Li _swig_gopanic("array must contain at least 1 element");
246*b2055c35SXin Li }
247*b2055c35SXin Li arg3 = &temp3;
248*b2055c35SXin Li }
249*b2055c35SXin Li {
250*b2055c35SXin Li if (swig_a->arg4.len == 0) {
251*b2055c35SXin Li _swig_gopanic("array must contain at least 1 element");
252*b2055c35SXin Li }
253*b2055c35SXin Li arg4 = &temp4;
254*b2055c35SXin Li }
255*b2055c35SXin Li
256*b2055c35SXin Li result = (int)WebPGetInfo((uint8_t const *)arg1,arg2,arg3,arg4);
257*b2055c35SXin Li swig_a->result = result;
258*b2055c35SXin Li {
259*b2055c35SXin Li int* a = (int *) swig_a->arg3.array;
260*b2055c35SXin Li a[0] = temp3;
261*b2055c35SXin Li }
262*b2055c35SXin Li {
263*b2055c35SXin Li int* a = (int *) swig_a->arg4.array;
264*b2055c35SXin Li a[0] = temp4;
265*b2055c35SXin Li }
266*b2055c35SXin Li
267*b2055c35SXin Li
268*b2055c35SXin Li }
269*b2055c35SXin Li
270*b2055c35SXin Li
271*b2055c35SXin Li #ifdef __cplusplus
272*b2055c35SXin Li }
273*b2055c35SXin Li #endif
274*b2055c35SXin Li
275