1 typedef long unsigned int size_t;
2 typedef unsigned char __u_char;
3 typedef unsigned short int __u_short;
4 typedef unsigned int __u_int;
5 typedef unsigned long int __u_long;
6 typedef signed char __int8_t;
7 typedef unsigned char __uint8_t;
8 typedef signed short int __int16_t;
9 typedef unsigned short int __uint16_t;
10 typedef signed int __int32_t;
11 typedef unsigned int __uint32_t;
12 typedef signed long int __int64_t;
13 typedef unsigned long int __uint64_t;
14 typedef long int __quad_t;
15 typedef unsigned long int __u_quad_t;
16 typedef unsigned long int __dev_t;
17 typedef unsigned int __uid_t;
18 typedef unsigned int __gid_t;
19 typedef unsigned long int __ino_t;
20 typedef unsigned long int __ino64_t;
21 typedef unsigned int __mode_t;
22 typedef unsigned long int __nlink_t;
23 typedef long int __off_t;
24 typedef long int __off64_t;
26 typedef struct { int __val[2]; } __fsid_t;
27 typedef long int __clock_t;
28 typedef unsigned long int __rlim_t;
29 typedef unsigned long int __rlim64_t;
30 typedef unsigned int __id_t;
31 typedef long int __time_t;
32 typedef unsigned int __useconds_t;
33 typedef long int __suseconds_t;
34 typedef int __daddr_t;
35 typedef long int __swblk_t;
37 typedef int __clockid_t;
38 typedef void * __timer_t;
39 typedef long int __blksize_t;
40 typedef long int __blkcnt_t;
41 typedef long int __blkcnt64_t;
42 typedef unsigned long int __fsblkcnt_t;
43 typedef unsigned long int __fsblkcnt64_t;
44 typedef unsigned long int __fsfilcnt_t;
45 typedef unsigned long int __fsfilcnt64_t;
46 typedef long int __ssize_t;
47 typedef __off64_t __loff_t;
48 typedef __quad_t *__qaddr_t;
49 typedef char *__caddr_t;
50 typedef long int __intptr_t;
51 typedef unsigned int __socklen_t;
53 typedef struct _IO_FILE FILE;
54 typedef struct _IO_FILE __FILE;
74 typedef int _G_int16_t __attribute__ ((__mode__ (__HI__)));
75 typedef int _G_int32_t __attribute__ ((__mode__ (__SI__)));
76 typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__)));
77 typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__)));
78 typedef __builtin_va_list __gnuc_va_list;
79 struct _IO_jump_t; struct _IO_FILE;
80 typedef void _IO_lock_t;
82 struct _IO_marker *_next;
83 struct _IO_FILE *_sbuf;
104 char *_IO_backup_base;
106 struct _IO_marker *_markers;
107 struct _IO_FILE *_chain;
111 unsigned short _cur_column;
112 signed char _vtable_offset;
122 char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)];
124 typedef struct _IO_FILE _IO_FILE;
125 struct _IO_FILE_plus;
126 extern struct _IO_FILE_plus _IO_2_1_stdin_;
127 extern struct _IO_FILE_plus _IO_2_1_stdout_;
128 extern struct _IO_FILE_plus _IO_2_1_stderr_;
129 typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes);
130 typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf,
132 typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w);
133 typedef int __io_close_fn (void *__cookie);
134 extern int __underflow (_IO_FILE *);
135 extern int __uflow (_IO_FILE *);
136 extern int __overflow (_IO_FILE *, int);
137 extern int _IO_getc (_IO_FILE *__fp);
138 extern int _IO_putc (int __c, _IO_FILE *__fp);
139 extern int _IO_feof (_IO_FILE *__fp) __attribute__ ((__nothrow__));
140 extern int _IO_ferror (_IO_FILE *__fp) __attribute__ ((__nothrow__));
141 extern int _IO_peekc_locked (_IO_FILE *__fp);
142 extern void _IO_flockfile (_IO_FILE *) __attribute__ ((__nothrow__));
143 extern void _IO_funlockfile (_IO_FILE *) __attribute__ ((__nothrow__));
144 extern int _IO_ftrylockfile (_IO_FILE *) __attribute__ ((__nothrow__));
145 extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict,
146 __gnuc_va_list, int *__restrict);
147 extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict,
149 extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t);
150 extern size_t _IO_sgetn (_IO_FILE *, void *, size_t);
151 extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int);
152 extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int);
153 extern void _IO_free_backup_area (_IO_FILE *) __attribute__ ((__nothrow__));
154 typedef _G_fpos_t fpos_t;
155 extern struct _IO_FILE *stdin;
156 extern struct _IO_FILE *stdout;
157 extern struct _IO_FILE *stderr;
158 extern int remove (__const char *__filename) __attribute__ ((__nothrow__));
159 extern int rename (__const char *__old, __const char *__new) __attribute__ ((__nothrow__));
160 extern int renameat (int __oldfd, __const char *__old, int __newfd,
161 __const char *__new) __attribute__ ((__nothrow__));
162 extern FILE *tmpfile (void) ;
163 extern char *tmpnam (char *__s) __attribute__ ((__nothrow__)) ;
164 extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__)) ;
165 extern char *tempnam (__const char *__dir, __const char *__pfx)
166 __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
167 extern int fclose (FILE *__stream);
168 extern int fflush (FILE *__stream);
169 extern int fflush_unlocked (FILE *__stream);
170 extern FILE *fopen (__const char *__restrict __filename,
171 __const char *__restrict __modes) ;
172 extern FILE *freopen (__const char *__restrict __filename,
173 __const char *__restrict __modes,
174 FILE *__restrict __stream) ;
175 extern FILE *fdopen (int __fd, __const char *__modes) __attribute__ ((__nothrow__)) ;
176 extern FILE *fmemopen (void *__s, size_t __len, __const char *__modes)
177 __attribute__ ((__nothrow__)) ;
178 extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__)) ;
179 extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__));
180 extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
181 int __modes, size_t __n) __attribute__ ((__nothrow__));
182 extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
183 size_t __size) __attribute__ ((__nothrow__));
184 extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__));
185 extern int fprintf (FILE *__restrict __stream,
186 __const char *__restrict __format, ...);
187 extern int printf (__const char *__restrict __format, ...);
188 extern int sprintf (char *__restrict __s,
189 __const char *__restrict __format, ...) __attribute__ ((__nothrow__));
190 extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format,
191 __gnuc_va_list __arg);
192 extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg);
193 extern int vsprintf (char *__restrict __s, __const char *__restrict __format,
194 __gnuc_va_list __arg) __attribute__ ((__nothrow__));
195 extern int snprintf (char *__restrict __s, size_t __maxlen,
196 __const char *__restrict __format, ...)
197 __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4)));
198 extern int vsnprintf (char *__restrict __s, size_t __maxlen,
199 __const char *__restrict __format, __gnuc_va_list __arg)
200 __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0)));
201 extern int vdprintf (int __fd, __const char *__restrict __fmt,
202 __gnuc_va_list __arg)
203 __attribute__ ((__format__ (__printf__, 2, 0)));
204 extern int dprintf (int __fd, __const char *__restrict __fmt, ...)
205 __attribute__ ((__format__ (__printf__, 2, 3)));
206 extern int fscanf (FILE *__restrict __stream,
207 __const char *__restrict __format, ...) ;
208 extern int scanf (__const char *__restrict __format, ...) ;
209 extern int sscanf (__const char *__restrict __s,
210 __const char *__restrict __format, ...) __attribute__ ((__nothrow__));
211 extern int fscanf (FILE *__restrict __stream, __const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf") ;
212 extern int scanf (__const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf") ;
213 extern int sscanf (__const char *__restrict __s, __const char *__restrict __format, ...) __asm__ ("" "__isoc99_sscanf") __attribute__ ((__nothrow__));
214 extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format,
215 __gnuc_va_list __arg)
216 __attribute__ ((__format__ (__scanf__, 2, 0))) ;
217 extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg)
218 __attribute__ ((__format__ (__scanf__, 1, 0))) ;
219 extern int vsscanf (__const char *__restrict __s,
220 __const char *__restrict __format, __gnuc_va_list __arg)
221 __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__scanf__, 2, 0)));
222 extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf")
223 __attribute__ ((__format__ (__scanf__, 2, 0))) ;
224 extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf")
225 __attribute__ ((__format__ (__scanf__, 1, 0))) ;
226 extern int vsscanf (__const char *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vsscanf")
227 __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__scanf__, 2, 0)));
228 extern int fgetc (FILE *__stream);
229 extern int getc (FILE *__stream);
230 extern int getchar (void);
231 extern int getc_unlocked (FILE *__stream);
232 extern int getchar_unlocked (void);
233 extern int fgetc_unlocked (FILE *__stream);
234 extern int fputc (int __c, FILE *__stream);
235 extern int putc (int __c, FILE *__stream);
236 extern int putchar (int __c);
237 extern int fputc_unlocked (int __c, FILE *__stream);
238 extern int putc_unlocked (int __c, FILE *__stream);
239 extern int putchar_unlocked (int __c);
240 extern int getw (FILE *__stream);
241 extern int putw (int __w, FILE *__stream);
242 extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
244 extern char *gets (char *__s) ;
245 extern __ssize_t __getdelim (char **__restrict __lineptr,
246 size_t *__restrict __n, int __delimiter,
247 FILE *__restrict __stream) ;
248 extern __ssize_t getdelim (char **__restrict __lineptr,
249 size_t *__restrict __n, int __delimiter,
250 FILE *__restrict __stream) ;
251 extern __ssize_t getline (char **__restrict __lineptr,
252 size_t *__restrict __n,
253 FILE *__restrict __stream) ;
254 extern int fputs (__const char *__restrict __s, FILE *__restrict __stream);
255 extern int puts (__const char *__s);
256 extern int ungetc (int __c, FILE *__stream);
257 extern size_t fread (void *__restrict __ptr, size_t __size,
258 size_t __n, FILE *__restrict __stream) ;
259 extern size_t fwrite (__const void *__restrict __ptr, size_t __size,
260 size_t __n, FILE *__restrict __s) ;
261 extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
262 size_t __n, FILE *__restrict __stream) ;
263 extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size,
264 size_t __n, FILE *__restrict __stream) ;
265 extern int fseek (FILE *__stream, long int __off, int __whence);
266 extern long int ftell (FILE *__stream) ;
267 extern void rewind (FILE *__stream);
268 extern int fseeko (FILE *__stream, __off_t __off, int __whence);
269 extern __off_t ftello (FILE *__stream) ;
270 extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos);
271 extern int fsetpos (FILE *__stream, __const fpos_t *__pos);
272 extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__));
273 extern int feof (FILE *__stream) __attribute__ ((__nothrow__)) ;
274 extern int ferror (FILE *__stream) __attribute__ ((__nothrow__)) ;
275 extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__));
276 extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ;
277 extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ;
278 extern void perror (__const char *__s);
280 extern __const char *__const sys_errlist[];
281 extern int fileno (FILE *__stream) __attribute__ ((__nothrow__)) ;
282 extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ;
283 extern FILE *popen (__const char *__command, __const char *__modes) ;
284 extern int pclose (FILE *__stream);
285 extern char *ctermid (char *__s) __attribute__ ((__nothrow__));
286 extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__));
287 extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__)) ;
288 extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__));
289 typedef long int __jmp_buf[8];
290 typedef int __sig_atomic_t;
293 unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
298 int __mask_was_saved;
299 __sigset_t __saved_mask;
301 typedef struct __jmp_buf_tag jmp_buf[1];
302 extern int setjmp (jmp_buf __env) __attribute__ ((__nothrow__));
303 extern int __sigsetjmp (struct __jmp_buf_tag __env[1], int __savemask) __attribute__ ((__nothrow__));
304 extern int _setjmp (struct __jmp_buf_tag __env[1]) __attribute__ ((__nothrow__));
305 extern void longjmp (struct __jmp_buf_tag __env[1], int __val)
306 __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
307 extern void _longjmp (struct __jmp_buf_tag __env[1], int __val)
308 __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
309 typedef struct __jmp_buf_tag sigjmp_buf[1];
310 extern void siglongjmp (sigjmp_buf __env, int __val)
311 __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
312 extern int *__errno_location (void) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
324 __extension__ typedef struct
329 extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__)) ;
330 extern double atof (__const char *__nptr)
331 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
332 extern int atoi (__const char *__nptr)
333 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
334 extern long int atol (__const char *__nptr)
335 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
336 __extension__ extern long long int atoll (__const char *__nptr)
337 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
338 extern double strtod (__const char *__restrict __nptr,
339 char **__restrict __endptr)
340 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
341 extern float strtof (__const char *__restrict __nptr,
342 char **__restrict __endptr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
343 extern long double strtold (__const char *__restrict __nptr,
344 char **__restrict __endptr)
345 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
346 extern long int strtol (__const char *__restrict __nptr,
347 char **__restrict __endptr, int __base)
348 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
349 extern unsigned long int strtoul (__const char *__restrict __nptr,
350 char **__restrict __endptr, int __base)
351 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
353 extern long long int strtoq (__const char *__restrict __nptr,
354 char **__restrict __endptr, int __base)
355 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
357 extern unsigned long long int strtouq (__const char *__restrict __nptr,
358 char **__restrict __endptr, int __base)
359 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
361 extern long long int strtoll (__const char *__restrict __nptr,
362 char **__restrict __endptr, int __base)
363 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
365 extern unsigned long long int strtoull (__const char *__restrict __nptr,
366 char **__restrict __endptr, int __base)
367 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
368 extern char *l64a (long int __n) __attribute__ ((__nothrow__)) ;
369 extern long int a64l (__const char *__s)
370 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
371 typedef __u_char u_char;
372 typedef __u_short u_short;
373 typedef __u_int u_int;
374 typedef __u_long u_long;
375 typedef __quad_t quad_t;
376 typedef __u_quad_t u_quad_t;
377 typedef __fsid_t fsid_t;
378 typedef __loff_t loff_t;
379 typedef __ino_t ino_t;
380 typedef __dev_t dev_t;
381 typedef __gid_t gid_t;
382 typedef __mode_t mode_t;
383 typedef __nlink_t nlink_t;
384 typedef __uid_t uid_t;
385 typedef __off_t off_t;
386 typedef __pid_t pid_t;
388 typedef __ssize_t ssize_t;
389 typedef __daddr_t daddr_t;
390 typedef __caddr_t caddr_t;
391 typedef __key_t key_t;
392 typedef __time_t time_t;
393 typedef __clockid_t clockid_t;
394 typedef __timer_t timer_t;
395 typedef unsigned long int ulong;
396 typedef unsigned short int ushort;
397 typedef unsigned int uint;
398 typedef int int8_t __attribute__ ((__mode__ (__QI__)));
399 typedef int int16_t __attribute__ ((__mode__ (__HI__)));
400 typedef int int32_t __attribute__ ((__mode__ (__SI__)));
401 typedef int int64_t __attribute__ ((__mode__ (__DI__)));
402 typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
403 typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__)));
404 typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
405 typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));
406 typedef int register_t __attribute__ ((__mode__ (__word__)));
407 typedef __sigset_t sigset_t;
416 __suseconds_t tv_usec;
418 typedef __suseconds_t suseconds_t;
419 typedef long int __fd_mask;
422 __fd_mask __fds_bits[1024 / (8 * sizeof (__fd_mask))];
424 typedef __fd_mask fd_mask;
425 extern int select (int __nfds, fd_set *__restrict __readfds,
426 fd_set *__restrict __writefds,
427 fd_set *__restrict __exceptfds,
428 struct timeval *__restrict __timeout);
429 extern int pselect (int __nfds, fd_set *__restrict __readfds,
430 fd_set *__restrict __writefds,
431 fd_set *__restrict __exceptfds,
432 const struct timespec *__restrict __timeout,
433 const __sigset_t *__restrict __sigmask);
435 extern unsigned int gnu_dev_major (unsigned long long int __dev)
436 __attribute__ ((__nothrow__));
438 extern unsigned int gnu_dev_minor (unsigned long long int __dev)
439 __attribute__ ((__nothrow__));
441 extern unsigned long long int gnu_dev_makedev (unsigned int __major,
442 unsigned int __minor)
443 __attribute__ ((__nothrow__));
444 typedef __blkcnt_t blkcnt_t;
445 typedef __fsblkcnt_t fsblkcnt_t;
446 typedef __fsfilcnt_t fsfilcnt_t;
447 typedef unsigned long int pthread_t;
453 typedef struct __pthread_internal_list
455 struct __pthread_internal_list *__prev;
456 struct __pthread_internal_list *__next;
460 struct __pthread_mutex_s
463 unsigned int __count;
465 unsigned int __nusers;
468 __pthread_list_t __list;
477 } pthread_mutexattr_t;
483 unsigned int __futex;
484 __extension__ unsigned long long int __total_seq;
485 __extension__ unsigned long long int __wakeup_seq;
486 __extension__ unsigned long long int __woken_seq;
488 unsigned int __nwaiters;
489 unsigned int __broadcast_seq;
492 __extension__ long long int __align;
498 } pthread_condattr_t;
499 typedef unsigned int pthread_key_t;
500 typedef int pthread_once_t;
506 unsigned int __nr_readers;
507 unsigned int __readers_wakeup;
508 unsigned int __writer_wakeup;
509 unsigned int __nr_readers_queued;
510 unsigned int __nr_writers_queued;
513 unsigned long int __pad1;
514 unsigned long int __pad2;
515 unsigned int __flags;
524 } pthread_rwlockattr_t;
525 typedef volatile int pthread_spinlock_t;
535 } pthread_barrierattr_t;
536 extern long int random (void) __attribute__ ((__nothrow__));
537 extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__));
538 extern char *initstate (unsigned int __seed, char *__statebuf,
539 size_t __statelen) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
540 extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
551 extern int random_r (struct random_data *__restrict __buf,
552 int32_t *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
553 extern int srandom_r (unsigned int __seed, struct random_data *__buf)
554 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
555 extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
557 struct random_data *__restrict __buf)
558 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4)));
559 extern int setstate_r (char *__restrict __statebuf,
560 struct random_data *__restrict __buf)
561 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
562 extern int rand (void) __attribute__ ((__nothrow__));
563 extern void srand (unsigned int __seed) __attribute__ ((__nothrow__));
564 extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__));
565 extern double drand48 (void) __attribute__ ((__nothrow__));
566 extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
567 extern long int lrand48 (void) __attribute__ ((__nothrow__));
568 extern long int nrand48 (unsigned short int __xsubi[3])
569 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
570 extern long int mrand48 (void) __attribute__ ((__nothrow__));
571 extern long int jrand48 (unsigned short int __xsubi[3])
572 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
573 extern void srand48 (long int __seedval) __attribute__ ((__nothrow__));
574 extern unsigned short int *seed48 (unsigned short int __seed16v[3])
575 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
576 extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
579 unsigned short int __x[3];
580 unsigned short int __old_x[3];
581 unsigned short int __c;
582 unsigned short int __init;
583 unsigned long long int __a;
585 extern int drand48_r (struct drand48_data *__restrict __buffer,
586 double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
587 extern int erand48_r (unsigned short int __xsubi[3],
588 struct drand48_data *__restrict __buffer,
589 double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
590 extern int lrand48_r (struct drand48_data *__restrict __buffer,
591 long int *__restrict __result)
592 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
593 extern int nrand48_r (unsigned short int __xsubi[3],
594 struct drand48_data *__restrict __buffer,
595 long int *__restrict __result)
596 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
597 extern int mrand48_r (struct drand48_data *__restrict __buffer,
598 long int *__restrict __result)
599 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
600 extern int jrand48_r (unsigned short int __xsubi[3],
601 struct drand48_data *__restrict __buffer,
602 long int *__restrict __result)
603 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
604 extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
605 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
606 extern int seed48_r (unsigned short int __seed16v[3],
607 struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
608 extern int lcong48_r (unsigned short int __param[7],
609 struct drand48_data *__buffer)
610 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
611 extern void *malloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
612 extern void *calloc (size_t __nmemb, size_t __size)
613 __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
614 extern void *realloc (void *__ptr, size_t __size)
615 __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__));
616 extern void free (void *__ptr) __attribute__ ((__nothrow__));
617 extern void cfree (void *__ptr) __attribute__ ((__nothrow__));
618 extern void *alloca (size_t __size) __attribute__ ((__nothrow__));
619 extern void *valloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
620 extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
621 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
622 extern void abort (void) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
623 extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
624 extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
625 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
626 extern void exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
627 extern void _Exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
628 extern char *getenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
629 extern char *__secure_getenv (__const char *__name)
630 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
631 extern int putenv (char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
632 extern int setenv (__const char *__name, __const char *__value, int __replace)
633 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
634 extern int unsetenv (__const char *__name) __attribute__ ((__nothrow__));
635 extern int clearenv (void) __attribute__ ((__nothrow__));
636 extern char *mktemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
637 extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ;
638 extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
639 extern int system (__const char *__command) ;
640 extern char *realpath (__const char *__restrict __name,
641 char *__restrict __resolved) __attribute__ ((__nothrow__)) ;
642 typedef int (*__compar_fn_t) (__const void *, __const void *);
643 extern void *bsearch (__const void *__key, __const void *__base,
644 size_t __nmemb, size_t __size, __compar_fn_t __compar)
645 __attribute__ ((__nonnull__ (1, 2, 5))) ;
646 extern void qsort (void *__base, size_t __nmemb, size_t __size,
647 __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4)));
648 extern int abs (int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
649 extern long int labs (long int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
650 __extension__ extern long long int llabs (long long int __x)
651 __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
652 extern div_t div (int __numer, int __denom)
653 __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
654 extern ldiv_t ldiv (long int __numer, long int __denom)
655 __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
656 __extension__ extern lldiv_t lldiv (long long int __numer,
657 long long int __denom)
658 __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
659 extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt,
660 int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
661 extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt,
662 int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
663 extern char *gcvt (double __value, int __ndigit, char *__buf)
664 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ;
665 extern char *qecvt (long double __value, int __ndigit,
666 int *__restrict __decpt, int *__restrict __sign)
667 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
668 extern char *qfcvt (long double __value, int __ndigit,
669 int *__restrict __decpt, int *__restrict __sign)
670 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
671 extern char *qgcvt (long double __value, int __ndigit, char *__buf)
672 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ;
673 extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt,
674 int *__restrict __sign, char *__restrict __buf,
675 size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
676 extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt,
677 int *__restrict __sign, char *__restrict __buf,
678 size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
679 extern int qecvt_r (long double __value, int __ndigit,
680 int *__restrict __decpt, int *__restrict __sign,
681 char *__restrict __buf, size_t __len)
682 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
683 extern int qfcvt_r (long double __value, int __ndigit,
684 int *__restrict __decpt, int *__restrict __sign,
685 char *__restrict __buf, size_t __len)
686 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
687 extern int mblen (__const char *__s, size_t __n) __attribute__ ((__nothrow__)) ;
688 extern int mbtowc (wchar_t *__restrict __pwc,
689 __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__)) ;
690 extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__)) ;
691 extern size_t mbstowcs (wchar_t *__restrict __pwcs,
692 __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__));
693 extern size_t wcstombs (char *__restrict __s,
694 __const wchar_t *__restrict __pwcs, size_t __n)
695 __attribute__ ((__nothrow__));
696 extern int rpmatch (__const char *__response) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
697 extern int posix_openpt (int __oflag) ;
698 extern int getloadavg (double __loadavg[], int __nelem)
699 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
700 typedef float float_t;
701 typedef double double_t;
702 extern double acos (double __x) __attribute__ ((__nothrow__)); extern double __acos (double __x) __attribute__ ((__nothrow__));
703 extern double asin (double __x) __attribute__ ((__nothrow__)); extern double __asin (double __x) __attribute__ ((__nothrow__));
704 extern double atan (double __x) __attribute__ ((__nothrow__)); extern double __atan (double __x) __attribute__ ((__nothrow__));
705 extern double atan2 (double __y, double __x) __attribute__ ((__nothrow__)); extern double __atan2 (double __y, double __x) __attribute__ ((__nothrow__));
706 extern double cos (double __x) __attribute__ ((__nothrow__)); extern double __cos (double __x) __attribute__ ((__nothrow__));
707 extern double sin (double __x) __attribute__ ((__nothrow__)); extern double __sin (double __x) __attribute__ ((__nothrow__));
708 extern double tan (double __x) __attribute__ ((__nothrow__)); extern double __tan (double __x) __attribute__ ((__nothrow__));
709 extern double cosh (double __x) __attribute__ ((__nothrow__)); extern double __cosh (double __x) __attribute__ ((__nothrow__));
710 extern double sinh (double __x) __attribute__ ((__nothrow__)); extern double __sinh (double __x) __attribute__ ((__nothrow__));
711 extern double tanh (double __x) __attribute__ ((__nothrow__)); extern double __tanh (double __x) __attribute__ ((__nothrow__));
712 extern double acosh (double __x) __attribute__ ((__nothrow__)); extern double __acosh (double __x) __attribute__ ((__nothrow__));
713 extern double asinh (double __x) __attribute__ ((__nothrow__)); extern double __asinh (double __x) __attribute__ ((__nothrow__));
714 extern double atanh (double __x) __attribute__ ((__nothrow__)); extern double __atanh (double __x) __attribute__ ((__nothrow__));
715 extern double exp (double __x) __attribute__ ((__nothrow__)); extern double __exp (double __x) __attribute__ ((__nothrow__));
716 extern double frexp (double __x, int *__exponent) __attribute__ ((__nothrow__)); extern double __frexp (double __x, int *__exponent) __attribute__ ((__nothrow__));
717 extern double ldexp (double __x, int __exponent) __attribute__ ((__nothrow__)); extern double __ldexp (double __x, int __exponent) __attribute__ ((__nothrow__));
718 extern double log (double __x) __attribute__ ((__nothrow__)); extern double __log (double __x) __attribute__ ((__nothrow__));
719 extern double log10 (double __x) __attribute__ ((__nothrow__)); extern double __log10 (double __x) __attribute__ ((__nothrow__));
720 extern double modf (double __x, double *__iptr) __attribute__ ((__nothrow__)); extern double __modf (double __x, double *__iptr) __attribute__ ((__nothrow__));
721 extern double expm1 (double __x) __attribute__ ((__nothrow__)); extern double __expm1 (double __x) __attribute__ ((__nothrow__));
722 extern double log1p (double __x) __attribute__ ((__nothrow__)); extern double __log1p (double __x) __attribute__ ((__nothrow__));
723 extern double logb (double __x) __attribute__ ((__nothrow__)); extern double __logb (double __x) __attribute__ ((__nothrow__));
724 extern double exp2 (double __x) __attribute__ ((__nothrow__)); extern double __exp2 (double __x) __attribute__ ((__nothrow__));
725 extern double log2 (double __x) __attribute__ ((__nothrow__)); extern double __log2 (double __x) __attribute__ ((__nothrow__));
726 extern double pow (double __x, double __y) __attribute__ ((__nothrow__)); extern double __pow (double __x, double __y) __attribute__ ((__nothrow__));
727 extern double sqrt (double __x) __attribute__ ((__nothrow__)); extern double __sqrt (double __x) __attribute__ ((__nothrow__));
728 extern double hypot (double __x, double __y) __attribute__ ((__nothrow__)); extern double __hypot (double __x, double __y) __attribute__ ((__nothrow__));
729 extern double cbrt (double __x) __attribute__ ((__nothrow__)); extern double __cbrt (double __x) __attribute__ ((__nothrow__));
730 extern double ceil (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __ceil (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
731 extern double fabs (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __fabs (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
732 extern double floor (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __floor (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
733 extern double fmod (double __x, double __y) __attribute__ ((__nothrow__)); extern double __fmod (double __x, double __y) __attribute__ ((__nothrow__));
734 extern int __isinf (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
735 extern int __finite (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
736 extern int isinf (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
737 extern int finite (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
738 extern double drem (double __x, double __y) __attribute__ ((__nothrow__)); extern double __drem (double __x, double __y) __attribute__ ((__nothrow__));
739 extern double significand (double __x) __attribute__ ((__nothrow__)); extern double __significand (double __x) __attribute__ ((__nothrow__));
740 extern double copysign (double __x, double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __copysign (double __x, double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
741 extern double nan (__const char *__tagb) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __nan (__const char *__tagb) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
742 extern int __isnan (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
743 extern int isnan (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
744 extern double j0 (double) __attribute__ ((__nothrow__)); extern double __j0 (double) __attribute__ ((__nothrow__));
745 extern double j1 (double) __attribute__ ((__nothrow__)); extern double __j1 (double) __attribute__ ((__nothrow__));
746 extern double jn (int, double) __attribute__ ((__nothrow__)); extern double __jn (int, double) __attribute__ ((__nothrow__));
747 extern double y0 (double) __attribute__ ((__nothrow__)); extern double __y0 (double) __attribute__ ((__nothrow__));
748 extern double y1 (double) __attribute__ ((__nothrow__)); extern double __y1 (double) __attribute__ ((__nothrow__));
749 extern double yn (int, double) __attribute__ ((__nothrow__)); extern double __yn (int, double) __attribute__ ((__nothrow__));
750 extern double erf (double) __attribute__ ((__nothrow__)); extern double __erf (double) __attribute__ ((__nothrow__));
751 extern double erfc (double) __attribute__ ((__nothrow__)); extern double __erfc (double) __attribute__ ((__nothrow__));
752 extern double lgamma (double) __attribute__ ((__nothrow__)); extern double __lgamma (double) __attribute__ ((__nothrow__));
753 extern double tgamma (double) __attribute__ ((__nothrow__)); extern double __tgamma (double) __attribute__ ((__nothrow__));
754 extern double gamma (double) __attribute__ ((__nothrow__)); extern double __gamma (double) __attribute__ ((__nothrow__));
755 extern double lgamma_r (double, int *__signgamp) __attribute__ ((__nothrow__)); extern double __lgamma_r (double, int *__signgamp) __attribute__ ((__nothrow__));
756 extern double rint (double __x) __attribute__ ((__nothrow__)); extern double __rint (double __x) __attribute__ ((__nothrow__));
757 extern double nextafter (double __x, double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __nextafter (double __x, double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
758 extern double nexttoward (double __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __nexttoward (double __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
759 extern double remainder (double __x, double __y) __attribute__ ((__nothrow__)); extern double __remainder (double __x, double __y) __attribute__ ((__nothrow__));
760 extern double scalbn (double __x, int __n) __attribute__ ((__nothrow__)); extern double __scalbn (double __x, int __n) __attribute__ ((__nothrow__));
761 extern int ilogb (double __x) __attribute__ ((__nothrow__)); extern int __ilogb (double __x) __attribute__ ((__nothrow__));
762 extern double scalbln (double __x, long int __n) __attribute__ ((__nothrow__)); extern double __scalbln (double __x, long int __n) __attribute__ ((__nothrow__));
763 extern double nearbyint (double __x) __attribute__ ((__nothrow__)); extern double __nearbyint (double __x) __attribute__ ((__nothrow__));
764 extern double round (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __round (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
765 extern double trunc (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __trunc (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
766 extern double remquo (double __x, double __y, int *__quo) __attribute__ ((__nothrow__)); extern double __remquo (double __x, double __y, int *__quo) __attribute__ ((__nothrow__));
767 extern long int lrint (double __x) __attribute__ ((__nothrow__)); extern long int __lrint (double __x) __attribute__ ((__nothrow__));
768 extern long long int llrint (double __x) __attribute__ ((__nothrow__)); extern long long int __llrint (double __x) __attribute__ ((__nothrow__));
769 extern long int lround (double __x) __attribute__ ((__nothrow__)); extern long int __lround (double __x) __attribute__ ((__nothrow__));
770 extern long long int llround (double __x) __attribute__ ((__nothrow__)); extern long long int __llround (double __x) __attribute__ ((__nothrow__));
771 extern double fdim (double __x, double __y) __attribute__ ((__nothrow__)); extern double __fdim (double __x, double __y) __attribute__ ((__nothrow__));
772 extern double fmax (double __x, double __y) __attribute__ ((__nothrow__)); extern double __fmax (double __x, double __y) __attribute__ ((__nothrow__));
773 extern double fmin (double __x, double __y) __attribute__ ((__nothrow__)); extern double __fmin (double __x, double __y) __attribute__ ((__nothrow__));
774 extern int __fpclassify (double __value) __attribute__ ((__nothrow__))
775 __attribute__ ((__const__));
776 extern int __signbit (double __value) __attribute__ ((__nothrow__))
777 __attribute__ ((__const__));
778 extern double fma (double __x, double __y, double __z) __attribute__ ((__nothrow__)); extern double __fma (double __x, double __y, double __z) __attribute__ ((__nothrow__));
779 extern double scalb (double __x, double __n) __attribute__ ((__nothrow__)); extern double __scalb (double __x, double __n) __attribute__ ((__nothrow__));
780 extern float acosf (float __x) __attribute__ ((__nothrow__)); extern float __acosf (float __x) __attribute__ ((__nothrow__));
781 extern float asinf (float __x) __attribute__ ((__nothrow__)); extern float __asinf (float __x) __attribute__ ((__nothrow__));
782 extern float atanf (float __x) __attribute__ ((__nothrow__)); extern float __atanf (float __x) __attribute__ ((__nothrow__));
783 extern float atan2f (float __y, float __x) __attribute__ ((__nothrow__)); extern float __atan2f (float __y, float __x) __attribute__ ((__nothrow__));
784 extern float cosf (float __x) __attribute__ ((__nothrow__)); extern float __cosf (float __x) __attribute__ ((__nothrow__));
785 extern float sinf (float __x) __attribute__ ((__nothrow__)); extern float __sinf (float __x) __attribute__ ((__nothrow__));
786 extern float tanf (float __x) __attribute__ ((__nothrow__)); extern float __tanf (float __x) __attribute__ ((__nothrow__));
787 extern float coshf (float __x) __attribute__ ((__nothrow__)); extern float __coshf (float __x) __attribute__ ((__nothrow__));
788 extern float sinhf (float __x) __attribute__ ((__nothrow__)); extern float __sinhf (float __x) __attribute__ ((__nothrow__));
789 extern float tanhf (float __x) __attribute__ ((__nothrow__)); extern float __tanhf (float __x) __attribute__ ((__nothrow__));
790 extern float acoshf (float __x) __attribute__ ((__nothrow__)); extern float __acoshf (float __x) __attribute__ ((__nothrow__));
791 extern float asinhf (float __x) __attribute__ ((__nothrow__)); extern float __asinhf (float __x) __attribute__ ((__nothrow__));
792 extern float atanhf (float __x) __attribute__ ((__nothrow__)); extern float __atanhf (float __x) __attribute__ ((__nothrow__));
793 extern float expf (float __x) __attribute__ ((__nothrow__)); extern float __expf (float __x) __attribute__ ((__nothrow__));
794 extern float frexpf (float __x, int *__exponent) __attribute__ ((__nothrow__)); extern float __frexpf (float __x, int *__exponent) __attribute__ ((__nothrow__));
795 extern float ldexpf (float __x, int __exponent) __attribute__ ((__nothrow__)); extern float __ldexpf (float __x, int __exponent) __attribute__ ((__nothrow__));
796 extern float logf (float __x) __attribute__ ((__nothrow__)); extern float __logf (float __x) __attribute__ ((__nothrow__));
797 extern float log10f (float __x) __attribute__ ((__nothrow__)); extern float __log10f (float __x) __attribute__ ((__nothrow__));
798 extern float modff (float __x, float *__iptr) __attribute__ ((__nothrow__)); extern float __modff (float __x, float *__iptr) __attribute__ ((__nothrow__));
799 extern float expm1f (float __x) __attribute__ ((__nothrow__)); extern float __expm1f (float __x) __attribute__ ((__nothrow__));
800 extern float log1pf (float __x) __attribute__ ((__nothrow__)); extern float __log1pf (float __x) __attribute__ ((__nothrow__));
801 extern float logbf (float __x) __attribute__ ((__nothrow__)); extern float __logbf (float __x) __attribute__ ((__nothrow__));
802 extern float exp2f (float __x) __attribute__ ((__nothrow__)); extern float __exp2f (float __x) __attribute__ ((__nothrow__));
803 extern float log2f (float __x) __attribute__ ((__nothrow__)); extern float __log2f (float __x) __attribute__ ((__nothrow__));
804 extern float powf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __powf (float __x, float __y) __attribute__ ((__nothrow__));
805 extern float sqrtf (float __x) __attribute__ ((__nothrow__)); extern float __sqrtf (float __x) __attribute__ ((__nothrow__));
806 extern float hypotf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __hypotf (float __x, float __y) __attribute__ ((__nothrow__));
807 extern float cbrtf (float __x) __attribute__ ((__nothrow__)); extern float __cbrtf (float __x) __attribute__ ((__nothrow__));
808 extern float ceilf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __ceilf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
809 extern float fabsf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __fabsf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
810 extern float floorf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __floorf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
811 extern float fmodf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __fmodf (float __x, float __y) __attribute__ ((__nothrow__));
812 extern int __isinff (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
813 extern int __finitef (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
814 extern int isinff (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
815 extern int finitef (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
816 extern float dremf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __dremf (float __x, float __y) __attribute__ ((__nothrow__));
817 extern float significandf (float __x) __attribute__ ((__nothrow__)); extern float __significandf (float __x) __attribute__ ((__nothrow__));
818 extern float copysignf (float __x, float __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __copysignf (float __x, float __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
819 extern float nanf (__const char *__tagb) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __nanf (__const char *__tagb) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
820 extern int __isnanf (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
821 extern int isnanf (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
822 extern float j0f (float) __attribute__ ((__nothrow__)); extern float __j0f (float) __attribute__ ((__nothrow__));
823 extern float j1f (float) __attribute__ ((__nothrow__)); extern float __j1f (float) __attribute__ ((__nothrow__));
824 extern float jnf (int, float) __attribute__ ((__nothrow__)); extern float __jnf (int, float) __attribute__ ((__nothrow__));
825 extern float y0f (float) __attribute__ ((__nothrow__)); extern float __y0f (float) __attribute__ ((__nothrow__));
826 extern float y1f (float) __attribute__ ((__nothrow__)); extern float __y1f (float) __attribute__ ((__nothrow__));
827 extern float ynf (int, float) __attribute__ ((__nothrow__)); extern float __ynf (int, float) __attribute__ ((__nothrow__));
828 extern float erff (float) __attribute__ ((__nothrow__)); extern float __erff (float) __attribute__ ((__nothrow__));
829 extern float erfcf (float) __attribute__ ((__nothrow__)); extern float __erfcf (float) __attribute__ ((__nothrow__));
830 extern float lgammaf (float) __attribute__ ((__nothrow__)); extern float __lgammaf (float) __attribute__ ((__nothrow__));
831 extern float tgammaf (float) __attribute__ ((__nothrow__)); extern float __tgammaf (float) __attribute__ ((__nothrow__));
832 extern float gammaf (float) __attribute__ ((__nothrow__)); extern float __gammaf (float) __attribute__ ((__nothrow__));
833 extern float lgammaf_r (float, int *__signgamp) __attribute__ ((__nothrow__)); extern float __lgammaf_r (float, int *__signgamp) __attribute__ ((__nothrow__));
834 extern float rintf (float __x) __attribute__ ((__nothrow__)); extern float __rintf (float __x) __attribute__ ((__nothrow__));
835 extern float nextafterf (float __x, float __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __nextafterf (float __x, float __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
836 extern float nexttowardf (float __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __nexttowardf (float __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
837 extern float remainderf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __remainderf (float __x, float __y) __attribute__ ((__nothrow__));
838 extern float scalbnf (float __x, int __n) __attribute__ ((__nothrow__)); extern float __scalbnf (float __x, int __n) __attribute__ ((__nothrow__));
839 extern int ilogbf (float __x) __attribute__ ((__nothrow__)); extern int __ilogbf (float __x) __attribute__ ((__nothrow__));
840 extern float scalblnf (float __x, long int __n) __attribute__ ((__nothrow__)); extern float __scalblnf (float __x, long int __n) __attribute__ ((__nothrow__));
841 extern float nearbyintf (float __x) __attribute__ ((__nothrow__)); extern float __nearbyintf (float __x) __attribute__ ((__nothrow__));
842 extern float roundf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __roundf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
843 extern float truncf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __truncf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
844 extern float remquof (float __x, float __y, int *__quo) __attribute__ ((__nothrow__)); extern float __remquof (float __x, float __y, int *__quo) __attribute__ ((__nothrow__));
845 extern long int lrintf (float __x) __attribute__ ((__nothrow__)); extern long int __lrintf (float __x) __attribute__ ((__nothrow__));
846 extern long long int llrintf (float __x) __attribute__ ((__nothrow__)); extern long long int __llrintf (float __x) __attribute__ ((__nothrow__));
847 extern long int lroundf (float __x) __attribute__ ((__nothrow__)); extern long int __lroundf (float __x) __attribute__ ((__nothrow__));
848 extern long long int llroundf (float __x) __attribute__ ((__nothrow__)); extern long long int __llroundf (float __x) __attribute__ ((__nothrow__));
849 extern float fdimf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __fdimf (float __x, float __y) __attribute__ ((__nothrow__));
850 extern float fmaxf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __fmaxf (float __x, float __y) __attribute__ ((__nothrow__));
851 extern float fminf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __fminf (float __x, float __y) __attribute__ ((__nothrow__));
852 extern int __fpclassifyf (float __value) __attribute__ ((__nothrow__))
853 __attribute__ ((__const__));
854 extern int __signbitf (float __value) __attribute__ ((__nothrow__))
855 __attribute__ ((__const__));
856 extern float fmaf (float __x, float __y, float __z) __attribute__ ((__nothrow__)); extern float __fmaf (float __x, float __y, float __z) __attribute__ ((__nothrow__));
857 extern float scalbf (float __x, float __n) __attribute__ ((__nothrow__)); extern float __scalbf (float __x, float __n) __attribute__ ((__nothrow__));
858 extern long double acosl (long double __x) __attribute__ ((__nothrow__)); extern long double __acosl (long double __x) __attribute__ ((__nothrow__));
859 extern long double asinl (long double __x) __attribute__ ((__nothrow__)); extern long double __asinl (long double __x) __attribute__ ((__nothrow__));
860 extern long double atanl (long double __x) __attribute__ ((__nothrow__)); extern long double __atanl (long double __x) __attribute__ ((__nothrow__));
861 extern long double atan2l (long double __y, long double __x) __attribute__ ((__nothrow__)); extern long double __atan2l (long double __y, long double __x) __attribute__ ((__nothrow__));
862 extern long double cosl (long double __x) __attribute__ ((__nothrow__)); extern long double __cosl (long double __x) __attribute__ ((__nothrow__));
863 extern long double sinl (long double __x) __attribute__ ((__nothrow__)); extern long double __sinl (long double __x) __attribute__ ((__nothrow__));
864 extern long double tanl (long double __x) __attribute__ ((__nothrow__)); extern long double __tanl (long double __x) __attribute__ ((__nothrow__));
865 extern long double coshl (long double __x) __attribute__ ((__nothrow__)); extern long double __coshl (long double __x) __attribute__ ((__nothrow__));
866 extern long double sinhl (long double __x) __attribute__ ((__nothrow__)); extern long double __sinhl (long double __x) __attribute__ ((__nothrow__));
867 extern long double tanhl (long double __x) __attribute__ ((__nothrow__)); extern long double __tanhl (long double __x) __attribute__ ((__nothrow__));
868 extern long double acoshl (long double __x) __attribute__ ((__nothrow__)); extern long double __acoshl (long double __x) __attribute__ ((__nothrow__));
869 extern long double asinhl (long double __x) __attribute__ ((__nothrow__)); extern long double __asinhl (long double __x) __attribute__ ((__nothrow__));
870 extern long double atanhl (long double __x) __attribute__ ((__nothrow__)); extern long double __atanhl (long double __x) __attribute__ ((__nothrow__));
871 extern long double expl (long double __x) __attribute__ ((__nothrow__)); extern long double __expl (long double __x) __attribute__ ((__nothrow__));
872 extern long double frexpl (long double __x, int *__exponent) __attribute__ ((__nothrow__)); extern long double __frexpl (long double __x, int *__exponent) __attribute__ ((__nothrow__));
873 extern long double ldexpl (long double __x, int __exponent) __attribute__ ((__nothrow__)); extern long double __ldexpl (long double __x, int __exponent) __attribute__ ((__nothrow__));
874 extern long double logl (long double __x) __attribute__ ((__nothrow__)); extern long double __logl (long double __x) __attribute__ ((__nothrow__));
875 extern long double log10l (long double __x) __attribute__ ((__nothrow__)); extern long double __log10l (long double __x) __attribute__ ((__nothrow__));
876 extern long double modfl (long double __x, long double *__iptr) __attribute__ ((__nothrow__)); extern long double __modfl (long double __x, long double *__iptr) __attribute__ ((__nothrow__));
877 extern long double expm1l (long double __x) __attribute__ ((__nothrow__)); extern long double __expm1l (long double __x) __attribute__ ((__nothrow__));
878 extern long double log1pl (long double __x) __attribute__ ((__nothrow__)); extern long double __log1pl (long double __x) __attribute__ ((__nothrow__));
879 extern long double logbl (long double __x) __attribute__ ((__nothrow__)); extern long double __logbl (long double __x) __attribute__ ((__nothrow__));
880 extern long double exp2l (long double __x) __attribute__ ((__nothrow__)); extern long double __exp2l (long double __x) __attribute__ ((__nothrow__));
881 extern long double log2l (long double __x) __attribute__ ((__nothrow__)); extern long double __log2l (long double __x) __attribute__ ((__nothrow__));
882 extern long double powl (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __powl (long double __x, long double __y) __attribute__ ((__nothrow__));
883 extern long double sqrtl (long double __x) __attribute__ ((__nothrow__)); extern long double __sqrtl (long double __x) __attribute__ ((__nothrow__));
884 extern long double hypotl (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __hypotl (long double __x, long double __y) __attribute__ ((__nothrow__));
885 extern long double cbrtl (long double __x) __attribute__ ((__nothrow__)); extern long double __cbrtl (long double __x) __attribute__ ((__nothrow__));
886 extern long double ceill (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __ceill (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
887 extern long double fabsl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __fabsl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
888 extern long double floorl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __floorl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
889 extern long double fmodl (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __fmodl (long double __x, long double __y) __attribute__ ((__nothrow__));
890 extern int __isinfl (long double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
891 extern int __finitel (long double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
892 extern int isinfl (long double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
893 extern int finitel (long double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
894 extern long double dreml (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __dreml (long double __x, long double __y) __attribute__ ((__nothrow__));
895 extern long double significandl (long double __x) __attribute__ ((__nothrow__)); extern long double __significandl (long double __x) __attribute__ ((__nothrow__));
896 extern long double copysignl (long double __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __copysignl (long double __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
897 extern long double nanl (__const char *__tagb) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __nanl (__const char *__tagb) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
898 extern int __isnanl (long double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
899 extern int isnanl (long double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
900 extern long double j0l (long double) __attribute__ ((__nothrow__)); extern long double __j0l (long double) __attribute__ ((__nothrow__));
901 extern long double j1l (long double) __attribute__ ((__nothrow__)); extern long double __j1l (long double) __attribute__ ((__nothrow__));
902 extern long double jnl (int, long double) __attribute__ ((__nothrow__)); extern long double __jnl (int, long double) __attribute__ ((__nothrow__));
903 extern long double y0l (long double) __attribute__ ((__nothrow__)); extern long double __y0l (long double) __attribute__ ((__nothrow__));
904 extern long double y1l (long double) __attribute__ ((__nothrow__)); extern long double __y1l (long double) __attribute__ ((__nothrow__));
905 extern long double ynl (int, long double) __attribute__ ((__nothrow__)); extern long double __ynl (int, long double) __attribute__ ((__nothrow__));
906 extern long double erfl (long double) __attribute__ ((__nothrow__)); extern long double __erfl (long double) __attribute__ ((__nothrow__));
907 extern long double erfcl (long double) __attribute__ ((__nothrow__)); extern long double __erfcl (long double) __attribute__ ((__nothrow__));
908 extern long double lgammal (long double) __attribute__ ((__nothrow__)); extern long double __lgammal (long double) __attribute__ ((__nothrow__));
909 extern long double tgammal (long double) __attribute__ ((__nothrow__)); extern long double __tgammal (long double) __attribute__ ((__nothrow__));
910 extern long double gammal (long double) __attribute__ ((__nothrow__)); extern long double __gammal (long double) __attribute__ ((__nothrow__));
911 extern long double lgammal_r (long double, int *__signgamp) __attribute__ ((__nothrow__)); extern long double __lgammal_r (long double, int *__signgamp) __attribute__ ((__nothrow__));
912 extern long double rintl (long double __x) __attribute__ ((__nothrow__)); extern long double __rintl (long double __x) __attribute__ ((__nothrow__));
913 extern long double nextafterl (long double __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __nextafterl (long double __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
914 extern long double nexttowardl (long double __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __nexttowardl (long double __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
915 extern long double remainderl (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __remainderl (long double __x, long double __y) __attribute__ ((__nothrow__));
916 extern long double scalbnl (long double __x, int __n) __attribute__ ((__nothrow__)); extern long double __scalbnl (long double __x, int __n) __attribute__ ((__nothrow__));
917 extern int ilogbl (long double __x) __attribute__ ((__nothrow__)); extern int __ilogbl (long double __x) __attribute__ ((__nothrow__));
918 extern long double scalblnl (long double __x, long int __n) __attribute__ ((__nothrow__)); extern long double __scalblnl (long double __x, long int __n) __attribute__ ((__nothrow__));
919 extern long double nearbyintl (long double __x) __attribute__ ((__nothrow__)); extern long double __nearbyintl (long double __x) __attribute__ ((__nothrow__));
920 extern long double roundl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __roundl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
921 extern long double truncl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __truncl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
922 extern long double remquol (long double __x, long double __y, int *__quo) __attribute__ ((__nothrow__)); extern long double __remquol (long double __x, long double __y, int *__quo) __attribute__ ((__nothrow__));
923 extern long int lrintl (long double __x) __attribute__ ((__nothrow__)); extern long int __lrintl (long double __x) __attribute__ ((__nothrow__));
924 extern long long int llrintl (long double __x) __attribute__ ((__nothrow__)); extern long long int __llrintl (long double __x) __attribute__ ((__nothrow__));
925 extern long int lroundl (long double __x) __attribute__ ((__nothrow__)); extern long int __lroundl (long double __x) __attribute__ ((__nothrow__));
926 extern long long int llroundl (long double __x) __attribute__ ((__nothrow__)); extern long long int __llroundl (long double __x) __attribute__ ((__nothrow__));
927 extern long double fdiml (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __fdiml (long double __x, long double __y) __attribute__ ((__nothrow__));
928 extern long double fmaxl (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __fmaxl (long double __x, long double __y) __attribute__ ((__nothrow__));
929 extern long double fminl (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __fminl (long double __x, long double __y) __attribute__ ((__nothrow__));
930 extern int __fpclassifyl (long double __value) __attribute__ ((__nothrow__))
931 __attribute__ ((__const__));
932 extern int __signbitl (long double __value) __attribute__ ((__nothrow__))
933 __attribute__ ((__const__));
934 extern long double fmal (long double __x, long double __y, long double __z) __attribute__ ((__nothrow__)); extern long double __fmal (long double __x, long double __y, long double __z) __attribute__ ((__nothrow__));
935 extern long double scalbl (long double __x, long double __n) __attribute__ ((__nothrow__)); extern long double __scalbl (long double __x, long double __n) __attribute__ ((__nothrow__));
953 extern _LIB_VERSION_TYPE _LIB_VERSION;
962 extern int matherr (struct exception *__exc);
965 _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)),
966 _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)),
967 _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)),
968 _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)),
969 _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)),
970 _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)),
971 _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)),
972 _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)),
973 _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)),
974 _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)),
975 _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)),
976 _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8))
978 extern __const unsigned short int **__ctype_b_loc (void)
979 __attribute__ ((__nothrow__)) __attribute__ ((__const));
980 extern __const __int32_t **__ctype_tolower_loc (void)
981 __attribute__ ((__nothrow__)) __attribute__ ((__const));
982 extern __const __int32_t **__ctype_toupper_loc (void)
983 __attribute__ ((__nothrow__)) __attribute__ ((__const));
984 extern int isalnum (int) __attribute__ ((__nothrow__));
985 extern int isalpha (int) __attribute__ ((__nothrow__));
986 extern int iscntrl (int) __attribute__ ((__nothrow__));
987 extern int isdigit (int) __attribute__ ((__nothrow__));
988 extern int islower (int) __attribute__ ((__nothrow__));
989 extern int isgraph (int) __attribute__ ((__nothrow__));
990 extern int isprint (int) __attribute__ ((__nothrow__));
991 extern int ispunct (int) __attribute__ ((__nothrow__));
992 extern int isspace (int) __attribute__ ((__nothrow__));
993 extern int isupper (int) __attribute__ ((__nothrow__));
994 extern int isxdigit (int) __attribute__ ((__nothrow__));
995 extern int tolower (int __c) __attribute__ ((__nothrow__));
996 extern int toupper (int __c) __attribute__ ((__nothrow__));
997 extern int isblank (int) __attribute__ ((__nothrow__));
998 extern int isascii (int __c) __attribute__ ((__nothrow__));
999 extern int toascii (int __c) __attribute__ ((__nothrow__));
1000 extern int _toupper (int) __attribute__ ((__nothrow__));
1001 extern int _tolower (int) __attribute__ ((__nothrow__));
1002 typedef struct __locale_struct
1004 struct locale_data *__locales[13];
1005 const unsigned short int *__ctype_b;
1006 const int *__ctype_tolower;
1007 const int *__ctype_toupper;
1008 const char *__names[13];
1010 typedef __locale_t locale_t;
1011 extern int isalnum_l (int, __locale_t) __attribute__ ((__nothrow__));
1012 extern int isalpha_l (int, __locale_t) __attribute__ ((__nothrow__));
1013 extern int iscntrl_l (int, __locale_t) __attribute__ ((__nothrow__));
1014 extern int isdigit_l (int, __locale_t) __attribute__ ((__nothrow__));
1015 extern int islower_l (int, __locale_t) __attribute__ ((__nothrow__));
1016 extern int isgraph_l (int, __locale_t) __attribute__ ((__nothrow__));
1017 extern int isprint_l (int, __locale_t) __attribute__ ((__nothrow__));
1018 extern int ispunct_l (int, __locale_t) __attribute__ ((__nothrow__));
1019 extern int isspace_l (int, __locale_t) __attribute__ ((__nothrow__));
1020 extern int isupper_l (int, __locale_t) __attribute__ ((__nothrow__));
1021 extern int isxdigit_l (int, __locale_t) __attribute__ ((__nothrow__));
1022 extern int isblank_l (int, __locale_t) __attribute__ ((__nothrow__));
1023 extern int __tolower_l (int __c, __locale_t __l) __attribute__ ((__nothrow__));
1024 extern int tolower_l (int __c, __locale_t __l) __attribute__ ((__nothrow__));
1025 extern int __toupper_l (int __c, __locale_t __l) __attribute__ ((__nothrow__));
1026 extern int toupper_l (int __c, __locale_t __l) __attribute__ ((__nothrow__));
1027 typedef __useconds_t useconds_t;
1028 typedef __intptr_t intptr_t;
1029 typedef __socklen_t socklen_t;
1030 extern int access (__const char *__name, int __type) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1031 extern int faccessat (int __fd, __const char *__file, int __type, int __flag)
1032 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))) ;
1033 extern __off_t lseek (int __fd, __off_t __offset, int __whence) __attribute__ ((__nothrow__));
1034 extern int close (int __fd);
1035 extern ssize_t read (int __fd, void *__buf, size_t __nbytes) ;
1036 extern ssize_t write (int __fd, __const void *__buf, size_t __n) ;
1037 extern int pipe (int __pipedes[2]) __attribute__ ((__nothrow__)) ;
1038 extern unsigned int alarm (unsigned int __seconds) __attribute__ ((__nothrow__));
1039 extern unsigned int sleep (unsigned int __seconds);
1040 extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval)
1041 __attribute__ ((__nothrow__));
1042 extern int usleep (__useconds_t __useconds);
1043 extern int pause (void);
1044 extern int chown (__const char *__file, __uid_t __owner, __gid_t __group)
1045 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1046 extern int fchown (int __fd, __uid_t __owner, __gid_t __group) __attribute__ ((__nothrow__)) ;
1047 extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group)
1048 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1049 extern int fchownat (int __fd, __const char *__file, __uid_t __owner,
1050 __gid_t __group, int __flag)
1051 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))) ;
1052 extern int chdir (__const char *__path) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1053 extern int fchdir (int __fd) __attribute__ ((__nothrow__)) ;
1054 extern char *getcwd (char *__buf, size_t __size) __attribute__ ((__nothrow__)) ;
1055 extern char *getwd (char *__buf)
1056 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)) ;
1057 extern int dup (int __fd) __attribute__ ((__nothrow__)) ;
1058 extern int dup2 (int __fd, int __fd2) __attribute__ ((__nothrow__));
1059 extern char **__environ;
1060 extern int execve (__const char *__path, char *__const __argv[],
1061 char *__const __envp[]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1062 extern int fexecve (int __fd, char *__const __argv[], char *__const __envp[])
1063 __attribute__ ((__nothrow__));
1064 extern int execv (__const char *__path, char *__const __argv[])
1065 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1066 extern int execle (__const char *__path, __const char *__arg, ...)
1067 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1068 extern int execl (__const char *__path, __const char *__arg, ...)
1069 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1070 extern int execvp (__const char *__file, char *__const __argv[])
1071 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1072 extern int execlp (__const char *__file, __const char *__arg, ...)
1073 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1074 extern int nice (int __inc) __attribute__ ((__nothrow__)) ;
1075 extern void _exit (int __status) __attribute__ ((__noreturn__));
1084 _PC_CHOWN_RESTRICTED,
1092 _PC_REC_INCR_XFER_SIZE,
1093 _PC_REC_MAX_XFER_SIZE,
1094 _PC_REC_MIN_XFER_SIZE,
1111 _SC_REALTIME_SIGNALS,
1112 _SC_PRIORITY_SCHEDULING,
1114 _SC_ASYNCHRONOUS_IO,
1116 _SC_SYNCHRONIZED_IO,
1121 _SC_MEMORY_PROTECTION,
1122 _SC_MESSAGE_PASSING,
1124 _SC_SHARED_MEMORY_OBJECTS,
1127 _SC_AIO_PRIO_DELTA_MAX,
1142 _SC_COLL_WEIGHTS_MAX,
1143 _SC_EQUIV_CLASS_MAX,
1147 _SC_CHARCLASS_NAME_MAX,
1163 _SC_IOV_MAX = _SC_UIO_MAXIOV,
1164 _SC_PII_INTERNET_STREAM,
1165 _SC_PII_INTERNET_DGRAM,
1171 _SC_THREAD_SAFE_FUNCTIONS,
1172 _SC_GETGR_R_SIZE_MAX,
1173 _SC_GETPW_R_SIZE_MAX,
1176 _SC_THREAD_DESTRUCTOR_ITERATIONS,
1177 _SC_THREAD_KEYS_MAX,
1178 _SC_THREAD_STACK_MIN,
1179 _SC_THREAD_THREADS_MAX,
1180 _SC_THREAD_ATTR_STACKADDR,
1181 _SC_THREAD_ATTR_STACKSIZE,
1182 _SC_THREAD_PRIORITY_SCHEDULING,
1183 _SC_THREAD_PRIO_INHERIT,
1184 _SC_THREAD_PRIO_PROTECT,
1185 _SC_THREAD_PROCESS_SHARED,
1186 _SC_NPROCESSORS_CONF,
1187 _SC_NPROCESSORS_ONLN,
1193 _SC_XOPEN_XCU_VERSION,
1228 _SC_XBS5_ILP32_OFF32,
1229 _SC_XBS5_ILP32_OFFBIG,
1230 _SC_XBS5_LP64_OFF64,
1231 _SC_XBS5_LPBIG_OFFBIG,
1234 _SC_XOPEN_REALTIME_THREADS,
1239 _SC_C_LANG_SUPPORT_R,
1240 _SC_CLOCK_SELECTION,
1244 _SC_DEVICE_SPECIFIC,
1245 _SC_DEVICE_SPECIFIC_R,
1249 _SC_FILE_ATTRIBUTES,
1252 _SC_MONOTONIC_CLOCK,
1256 _SC_READER_WRITER_LOCKS,
1263 _SC_SPORADIC_SERVER,
1264 _SC_THREAD_SPORADIC_SERVER,
1265 _SC_SYSTEM_DATABASE,
1266 _SC_SYSTEM_DATABASE_R,
1268 _SC_TYPED_MEMORY_OBJECTS,
1272 _SC_2_PBS_ACCOUNTING,
1278 _SC_2_PBS_CHECKPOINT,
1280 _SC_V6_ILP32_OFFBIG,
1282 _SC_V6_LPBIG_OFFBIG,
1285 _SC_TRACE_EVENT_FILTER,
1288 _SC_LEVEL1_ICACHE_SIZE,
1289 _SC_LEVEL1_ICACHE_ASSOC,
1290 _SC_LEVEL1_ICACHE_LINESIZE,
1291 _SC_LEVEL1_DCACHE_SIZE,
1292 _SC_LEVEL1_DCACHE_ASSOC,
1293 _SC_LEVEL1_DCACHE_LINESIZE,
1294 _SC_LEVEL2_CACHE_SIZE,
1295 _SC_LEVEL2_CACHE_ASSOC,
1296 _SC_LEVEL2_CACHE_LINESIZE,
1297 _SC_LEVEL3_CACHE_SIZE,
1298 _SC_LEVEL3_CACHE_ASSOC,
1299 _SC_LEVEL3_CACHE_LINESIZE,
1300 _SC_LEVEL4_CACHE_SIZE,
1301 _SC_LEVEL4_CACHE_ASSOC,
1302 _SC_LEVEL4_CACHE_LINESIZE,
1303 _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50,
1306 _SC_V7_ILP32_OFFBIG,
1308 _SC_V7_LPBIG_OFFBIG,
1310 _SC_TRACE_EVENT_NAME_MAX,
1313 _SC_TRACE_USER_EVENT_MAX,
1315 _SC_THREAD_ROBUST_PRIO_INHERIT,
1316 _SC_THREAD_ROBUST_PRIO_PROTECT,
1321 _CS_V6_WIDTH_RESTRICTED_ENVS,
1322 _CS_GNU_LIBC_VERSION,
1323 _CS_GNU_LIBPTHREAD_VERSION,
1324 _CS_V5_WIDTH_RESTRICTED_ENVS,
1325 _CS_V7_WIDTH_RESTRICTED_ENVS,
1326 _CS_LFS_CFLAGS = 1000,
1333 _CS_LFS64_LINTFLAGS,
1334 _CS_XBS5_ILP32_OFF32_CFLAGS = 1100,
1335 _CS_XBS5_ILP32_OFF32_LDFLAGS,
1336 _CS_XBS5_ILP32_OFF32_LIBS,
1337 _CS_XBS5_ILP32_OFF32_LINTFLAGS,
1338 _CS_XBS5_ILP32_OFFBIG_CFLAGS,
1339 _CS_XBS5_ILP32_OFFBIG_LDFLAGS,
1340 _CS_XBS5_ILP32_OFFBIG_LIBS,
1341 _CS_XBS5_ILP32_OFFBIG_LINTFLAGS,
1342 _CS_XBS5_LP64_OFF64_CFLAGS,
1343 _CS_XBS5_LP64_OFF64_LDFLAGS,
1344 _CS_XBS5_LP64_OFF64_LIBS,
1345 _CS_XBS5_LP64_OFF64_LINTFLAGS,
1346 _CS_XBS5_LPBIG_OFFBIG_CFLAGS,
1347 _CS_XBS5_LPBIG_OFFBIG_LDFLAGS,
1348 _CS_XBS5_LPBIG_OFFBIG_LIBS,
1349 _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS,
1350 _CS_POSIX_V6_ILP32_OFF32_CFLAGS,
1351 _CS_POSIX_V6_ILP32_OFF32_LDFLAGS,
1352 _CS_POSIX_V6_ILP32_OFF32_LIBS,
1353 _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS,
1354 _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS,
1355 _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS,
1356 _CS_POSIX_V6_ILP32_OFFBIG_LIBS,
1357 _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS,
1358 _CS_POSIX_V6_LP64_OFF64_CFLAGS,
1359 _CS_POSIX_V6_LP64_OFF64_LDFLAGS,
1360 _CS_POSIX_V6_LP64_OFF64_LIBS,
1361 _CS_POSIX_V6_LP64_OFF64_LINTFLAGS,
1362 _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS,
1363 _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS,
1364 _CS_POSIX_V6_LPBIG_OFFBIG_LIBS,
1365 _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS,
1366 _CS_POSIX_V7_ILP32_OFF32_CFLAGS,
1367 _CS_POSIX_V7_ILP32_OFF32_LDFLAGS,
1368 _CS_POSIX_V7_ILP32_OFF32_LIBS,
1369 _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS,
1370 _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS,
1371 _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS,
1372 _CS_POSIX_V7_ILP32_OFFBIG_LIBS,
1373 _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS,
1374 _CS_POSIX_V7_LP64_OFF64_CFLAGS,
1375 _CS_POSIX_V7_LP64_OFF64_LDFLAGS,
1376 _CS_POSIX_V7_LP64_OFF64_LIBS,
1377 _CS_POSIX_V7_LP64_OFF64_LINTFLAGS,
1378 _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS,
1379 _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS,
1380 _CS_POSIX_V7_LPBIG_OFFBIG_LIBS,
1381 _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS
1383 extern long int pathconf (__const char *__path, int __name)
1384 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1385 extern long int fpathconf (int __fd, int __name) __attribute__ ((__nothrow__));
1386 extern long int sysconf (int __name) __attribute__ ((__nothrow__));
1387 extern size_t confstr (int __name, char *__buf, size_t __len) __attribute__ ((__nothrow__));
1388 extern __pid_t getpid (void) __attribute__ ((__nothrow__));
1389 extern __pid_t getppid (void) __attribute__ ((__nothrow__));
1390 extern __pid_t getpgrp (void) __attribute__ ((__nothrow__));
1391 extern __pid_t __getpgid (__pid_t __pid) __attribute__ ((__nothrow__));
1392 extern int setpgid (__pid_t __pid, __pid_t __pgid) __attribute__ ((__nothrow__));
1393 extern int setpgrp (void) __attribute__ ((__nothrow__));
1394 extern __pid_t setsid (void) __attribute__ ((__nothrow__));
1395 extern __uid_t getuid (void) __attribute__ ((__nothrow__));
1396 extern __uid_t geteuid (void) __attribute__ ((__nothrow__));
1397 extern __gid_t getgid (void) __attribute__ ((__nothrow__));
1398 extern __gid_t getegid (void) __attribute__ ((__nothrow__));
1399 extern int getgroups (int __size, __gid_t __list[]) __attribute__ ((__nothrow__)) ;
1400 extern int setuid (__uid_t __uid) __attribute__ ((__nothrow__));
1401 extern int setreuid (__uid_t __ruid, __uid_t __euid) __attribute__ ((__nothrow__));
1402 extern int seteuid (__uid_t __uid) __attribute__ ((__nothrow__));
1403 extern int setgid (__gid_t __gid) __attribute__ ((__nothrow__));
1404 extern int setregid (__gid_t __rgid, __gid_t __egid) __attribute__ ((__nothrow__));
1405 extern int setegid (__gid_t __gid) __attribute__ ((__nothrow__));
1406 extern __pid_t fork (void) __attribute__ ((__nothrow__));
1407 extern __pid_t vfork (void) __attribute__ ((__nothrow__));
1408 extern char *ttyname (int __fd) __attribute__ ((__nothrow__));
1409 extern int ttyname_r (int __fd, char *__buf, size_t __buflen)
1410 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))) ;
1411 extern int isatty (int __fd) __attribute__ ((__nothrow__));
1412 extern int ttyslot (void) __attribute__ ((__nothrow__));
1413 extern int link (__const char *__from, __const char *__to)
1414 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))) ;
1415 extern int linkat (int __fromfd, __const char *__from, int __tofd,
1416 __const char *__to, int __flags)
1417 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4))) ;
1418 extern int symlink (__const char *__from, __const char *__to)
1419 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))) ;
1420 extern ssize_t readlink (__const char *__restrict __path,
1421 char *__restrict __buf, size_t __len)
1422 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))) ;
1423 extern int symlinkat (__const char *__from, int __tofd,
1424 __const char *__to) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 3))) ;
1425 extern ssize_t readlinkat (int __fd, __const char *__restrict __path,
1426 char *__restrict __buf, size_t __len)
1427 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3))) ;
1428 extern int unlink (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1429 extern int unlinkat (int __fd, __const char *__name, int __flag)
1430 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
1431 extern int rmdir (__const char *__path) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1432 extern __pid_t tcgetpgrp (int __fd) __attribute__ ((__nothrow__));
1433 extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) __attribute__ ((__nothrow__));
1434 extern char *getlogin (void);
1435 extern int getlogin_r (char *__name, size_t __name_len) __attribute__ ((__nonnull__ (1)));
1436 extern int setlogin (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1437 extern char *optarg;
1441 extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
1442 __attribute__ ((__nothrow__));
1443 extern int gethostname (char *__name, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1444 extern int sethostname (__const char *__name, size_t __len)
1445 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1446 extern int sethostid (long int __id) __attribute__ ((__nothrow__)) ;
1447 extern int getdomainname (char *__name, size_t __len)
1448 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1449 extern int setdomainname (__const char *__name, size_t __len)
1450 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1451 extern int vhangup (void) __attribute__ ((__nothrow__));
1452 extern int revoke (__const char *__file) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1453 extern int profil (unsigned short int *__sample_buffer, size_t __size,
1454 size_t __offset, unsigned int __scale)
1455 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1456 extern int acct (__const char *__name) __attribute__ ((__nothrow__));
1457 extern char *getusershell (void) __attribute__ ((__nothrow__));
1458 extern void endusershell (void) __attribute__ ((__nothrow__));
1459 extern void setusershell (void) __attribute__ ((__nothrow__));
1460 extern int daemon (int __nochdir, int __noclose) __attribute__ ((__nothrow__)) ;
1461 extern int chroot (__const char *__path) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1462 extern char *getpass (__const char *__prompt) __attribute__ ((__nonnull__ (1)));
1463 extern int fsync (int __fd);
1464 extern long int gethostid (void);
1465 extern void sync (void) __attribute__ ((__nothrow__));
1466 extern int getpagesize (void) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1467 extern int getdtablesize (void) __attribute__ ((__nothrow__));
1468 extern int truncate (__const char *__file, __off_t __length)
1469 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1470 extern int ftruncate (int __fd, __off_t __length) __attribute__ ((__nothrow__)) ;
1471 extern int brk (void *__addr) __attribute__ ((__nothrow__)) ;
1472 extern void *sbrk (intptr_t __delta) __attribute__ ((__nothrow__));
1473 extern long int syscall (long int __sysno, ...) __attribute__ ((__nothrow__));
1474 extern int lockf (int __fd, int __cmd, __off_t __len) ;
1475 extern int fdatasync (int __fildes);
1476 extern int __sigismember (__const __sigset_t *, int);
1477 extern int __sigaddset (__sigset_t *, int);
1478 extern int __sigdelset (__sigset_t *, int);
1479 typedef __sig_atomic_t sig_atomic_t;
1480 typedef union sigval
1485 typedef struct siginfo
1492 int _pad[((128 / sizeof (int)) - 4)];
1597 typedef struct sigevent
1599 sigval_t sigev_value;
1604 int _pad[((64 / sizeof (int)) - 4)];
1608 void (*_function) (sigval_t);
1620 typedef void (*__sighandler_t) (int);
1621 extern __sighandler_t __sysv_signal (int __sig, __sighandler_t __handler)
1622 __attribute__ ((__nothrow__));
1623 extern __sighandler_t signal (int __sig, __sighandler_t __handler)
1624 __attribute__ ((__nothrow__));
1625 extern int kill (__pid_t __pid, int __sig) __attribute__ ((__nothrow__));
1626 extern int killpg (__pid_t __pgrp, int __sig) __attribute__ ((__nothrow__));
1627 extern int raise (int __sig) __attribute__ ((__nothrow__));
1628 extern __sighandler_t ssignal (int __sig, __sighandler_t __handler)
1629 __attribute__ ((__nothrow__));
1630 extern int gsignal (int __sig) __attribute__ ((__nothrow__));
1631 extern void psignal (int __sig, __const char *__s);
1632 extern void psiginfo (__const siginfo_t *__pinfo, __const char *__s);
1633 extern int __sigpause (int __sig_or_mask, int __is_sig);
1634 extern int sigblock (int __mask) __attribute__ ((__nothrow__)) __attribute__ ((__deprecated__));
1635 extern int sigsetmask (int __mask) __attribute__ ((__nothrow__)) __attribute__ ((__deprecated__));
1636 extern int siggetmask (void) __attribute__ ((__nothrow__)) __attribute__ ((__deprecated__));
1637 typedef __sighandler_t sig_t;
1638 extern int sigemptyset (sigset_t *__set) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1639 extern int sigfillset (sigset_t *__set) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1640 extern int sigaddset (sigset_t *__set, int __signo) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1641 extern int sigdelset (sigset_t *__set, int __signo) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1642 extern int sigismember (__const sigset_t *__set, int __signo)
1643 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1648 __sighandler_t sa_handler;
1649 void (*sa_sigaction) (int, siginfo_t *, void *);
1651 __sigaction_handler;
1654 void (*sa_restorer) (void);
1656 extern int sigprocmask (int __how, __const sigset_t *__restrict __set,
1657 sigset_t *__restrict __oset) __attribute__ ((__nothrow__));
1658 extern int sigsuspend (__const sigset_t *__set) __attribute__ ((__nonnull__ (1)));
1659 extern int sigaction (int __sig, __const struct sigaction *__restrict __act,
1660 struct sigaction *__restrict __oact) __attribute__ ((__nothrow__));
1661 extern int sigpending (sigset_t *__set) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1662 extern int sigwait (__const sigset_t *__restrict __set, int *__restrict __sig)
1663 __attribute__ ((__nonnull__ (1, 2)));
1664 extern int sigwaitinfo (__const sigset_t *__restrict __set,
1665 siginfo_t *__restrict __info) __attribute__ ((__nonnull__ (1)));
1666 extern int sigtimedwait (__const sigset_t *__restrict __set,
1667 siginfo_t *__restrict __info,
1668 __const struct timespec *__restrict __timeout)
1669 __attribute__ ((__nonnull__ (1)));
1670 extern int sigqueue (__pid_t __pid, int __sig, __const union sigval __val)
1671 __attribute__ ((__nothrow__));
1672 extern __const char *__const _sys_siglist[65];
1673 extern __const char *__const sys_siglist[65];
1676 __sighandler_t sv_handler;
1680 extern int sigvec (int __sig, __const struct sigvec *__vec,
1681 struct sigvec *__ovec) __attribute__ ((__nothrow__));
1684 unsigned short significand[4];
1685 unsigned short exponent;
1689 unsigned short significand[4];
1690 unsigned short exponent;
1691 unsigned short padding[3];
1695 __uint32_t element[4];
1706 __uint32_t mxcr_mask;
1707 struct _fpxreg _st[8];
1708 struct _xmmreg _xmm[16];
1709 __uint32_t padding[24];
1730 unsigned long eflags;
1734 unsigned short __pad0;
1736 unsigned long trapno;
1737 unsigned long oldmask;
1739 struct _fpstate * fpstate;
1740 unsigned long __reserved1 [8];
1742 extern int sigreturn (struct sigcontext *__scp) __attribute__ ((__nothrow__));
1743 extern int siginterrupt (int __sig, int __interrupt) __attribute__ ((__nothrow__));
1754 typedef struct sigaltstack
1760 extern int sigstack (struct sigstack *__ss, struct sigstack *__oss)
1761 __attribute__ ((__nothrow__)) __attribute__ ((__deprecated__));
1762 extern int sigaltstack (__const struct sigaltstack *__restrict __ss,
1763 struct sigaltstack *__restrict __oss) __attribute__ ((__nothrow__));
1764 extern int pthread_sigmask (int __how,
1765 __const __sigset_t *__restrict __newmask,
1766 __sigset_t *__restrict __oldmask)__attribute__ ((__nothrow__));
1767 extern int pthread_kill (pthread_t __threadid, int __signo) __attribute__ ((__nothrow__));
1768 extern int __libc_current_sigrtmin (void) __attribute__ ((__nothrow__));
1769 extern int __libc_current_sigrtmax (void) __attribute__ ((__nothrow__));
1781 __blksize_t st_blksize;
1782 __blkcnt_t st_blocks;
1783 struct timespec st_atim;
1784 struct timespec st_mtim;
1785 struct timespec st_ctim;
1786 long int __unused[3];
1788 extern int stat (__const char *__restrict __file,
1789 struct stat *__restrict __buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
1790 extern int fstat (int __fd, struct stat *__buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
1791 extern int fstatat (int __fd, __const char *__restrict __file,
1792 struct stat *__restrict __buf, int __flag)
1793 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3)));
1794 extern int lstat (__const char *__restrict __file,
1795 struct stat *__restrict __buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
1796 extern int chmod (__const char *__file, __mode_t __mode)
1797 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1798 extern int lchmod (__const char *__file, __mode_t __mode)
1799 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1800 extern int fchmod (int __fd, __mode_t __mode) __attribute__ ((__nothrow__));
1801 extern int fchmodat (int __fd, __const char *__file, __mode_t __mode,
1803 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))) ;
1804 extern __mode_t umask (__mode_t __mask) __attribute__ ((__nothrow__));
1805 extern int mkdir (__const char *__path, __mode_t __mode)
1806 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1807 extern int mkdirat (int __fd, __const char *__path, __mode_t __mode)
1808 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
1809 extern int mknod (__const char *__path, __mode_t __mode, __dev_t __dev)
1810 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1811 extern int mknodat (int __fd, __const char *__path, __mode_t __mode,
1812 __dev_t __dev) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
1813 extern int mkfifo (__const char *__path, __mode_t __mode)
1814 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1815 extern int mkfifoat (int __fd, __const char *__path, __mode_t __mode)
1816 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
1817 extern int utimensat (int __fd, __const char *__path,
1818 __const struct timespec __times[2],
1820 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
1821 extern int futimens (int __fd, __const struct timespec __times[2]) __attribute__ ((__nothrow__));
1822 extern int __fxstat (int __ver, int __fildes, struct stat *__stat_buf)
1823 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3)));
1824 extern int __xstat (int __ver, __const char *__filename,
1825 struct stat *__stat_buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3)));
1826 extern int __lxstat (int __ver, __const char *__filename,
1827 struct stat *__stat_buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3)));
1828 extern int __fxstatat (int __ver, int __fildes, __const char *__filename,
1829 struct stat *__stat_buf, int __flag)
1830 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4)));
1831 extern int __xmknod (int __ver, __const char *__path, __mode_t __mode,
1832 __dev_t *__dev) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4)));
1833 extern int __xmknodat (int __ver, int __fd, __const char *__path,
1834 __mode_t __mode, __dev_t *__dev)
1835 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 5)));
1836 typedef unsigned char uint8_t;
1837 typedef unsigned short int uint16_t;
1838 typedef unsigned int uint32_t;
1839 typedef unsigned long int uint64_t;
1840 typedef signed char int_least8_t;
1841 typedef short int int_least16_t;
1842 typedef int int_least32_t;
1843 typedef long int int_least64_t;
1844 typedef unsigned char uint_least8_t;
1845 typedef unsigned short int uint_least16_t;
1846 typedef unsigned int uint_least32_t;
1847 typedef unsigned long int uint_least64_t;
1848 typedef signed char int_fast8_t;
1849 typedef long int int_fast16_t;
1850 typedef long int int_fast32_t;
1851 typedef long int int_fast64_t;
1852 typedef unsigned char uint_fast8_t;
1853 typedef unsigned long int uint_fast16_t;
1854 typedef unsigned long int uint_fast32_t;
1855 typedef unsigned long int uint_fast64_t;
1856 typedef unsigned long int uintptr_t;
1857 typedef long int intmax_t;
1858 typedef unsigned long int uintmax_t;
1859 typedef unsigned long int mp_limb_t;
1860 typedef long int mp_limb_signed_t;
1867 typedef __mpz_struct MP_INT;
1868 typedef __mpz_struct mpz_t[1];
1869 typedef mp_limb_t * mp_ptr;
1870 typedef const mp_limb_t * mp_srcptr;
1871 typedef long int mp_size_t;
1872 typedef long int mp_exp_t;
1875 __mpz_struct _mp_num;
1876 __mpz_struct _mp_den;
1878 typedef __mpq_struct MP_RAT;
1879 typedef __mpq_struct mpq_t[1];
1887 typedef __mpf_struct mpf_t[1];
1890 GMP_RAND_ALG_DEFAULT = 0,
1891 GMP_RAND_ALG_LC = GMP_RAND_ALG_DEFAULT
1896 gmp_randalg_t _mp_alg;
1900 } __gmp_randstate_struct;
1901 typedef __gmp_randstate_struct gmp_randstate_t[1];
1902 typedef const __mpz_struct *mpz_srcptr;
1903 typedef __mpz_struct *mpz_ptr;
1904 typedef const __mpf_struct *mpf_srcptr;
1905 typedef __mpf_struct *mpf_ptr;
1906 typedef const __mpq_struct *mpq_srcptr;
1907 typedef __mpq_struct *mpq_ptr;
1908 void __gmp_set_memory_functions (void *(*) (size_t), void *(*) (void *, size_t, size_t), void (*) (void *, size_t)) ;
1909 void __gmp_get_memory_functions (void *(**) (size_t), void *(**) (void *, size_t, size_t), void (**) (void *, size_t)) ;
1910 extern const int __gmp_bits_per_limb;
1911 extern int __gmp_errno;
1912 extern const char * const __gmp_version;
1913 void __gmp_randinit (gmp_randstate_t, gmp_randalg_t, ...);
1914 void __gmp_randinit_default (gmp_randstate_t);
1915 void __gmp_randinit_lc_2exp (gmp_randstate_t, mpz_srcptr, unsigned long int, unsigned long int);
1916 int __gmp_randinit_lc_2exp_size (gmp_randstate_t, unsigned long);
1917 void __gmp_randinit_mt (gmp_randstate_t);
1918 void __gmp_randinit_set (gmp_randstate_t, const __gmp_randstate_struct *);
1919 void __gmp_randseed (gmp_randstate_t, mpz_srcptr);
1920 void __gmp_randseed_ui (gmp_randstate_t, unsigned long int);
1921 void __gmp_randclear (gmp_randstate_t);
1922 unsigned long __gmp_urandomb_ui (gmp_randstate_t, unsigned long);
1923 unsigned long __gmp_urandomm_ui (gmp_randstate_t, unsigned long);
1924 int __gmp_asprintf (char **, const char *, ...);
1925 int __gmp_fprintf (FILE *, const char *, ...);
1926 int __gmp_printf (const char *, ...);
1927 int __gmp_snprintf (char *, size_t, const char *, ...);
1928 int __gmp_sprintf (char *, const char *, ...);
1929 int __gmp_fscanf (FILE *, const char *, ...);
1930 int __gmp_scanf (const char *, ...);
1931 int __gmp_sscanf (const char *, const char *, ...);
1932 void *__gmpz_realloc (mpz_ptr, mp_size_t);
1933 void __gmpz_abs (mpz_ptr, mpz_srcptr);
1934 void __gmpz_add (mpz_ptr, mpz_srcptr, mpz_srcptr);
1935 void __gmpz_add_ui (mpz_ptr, mpz_srcptr, unsigned long int);
1936 void __gmpz_addmul (mpz_ptr, mpz_srcptr, mpz_srcptr);
1937 void __gmpz_addmul_ui (mpz_ptr, mpz_srcptr, unsigned long int);
1938 void __gmpz_and (mpz_ptr, mpz_srcptr, mpz_srcptr);
1939 void __gmpz_array_init (mpz_ptr, mp_size_t, mp_size_t);
1940 void __gmpz_bin_ui (mpz_ptr, mpz_srcptr, unsigned long int);
1941 void __gmpz_bin_uiui (mpz_ptr, unsigned long int, unsigned long int);
1942 void __gmpz_cdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr);
1943 void __gmpz_cdiv_q_2exp (mpz_ptr, mpz_srcptr, unsigned long);
1944 unsigned long int __gmpz_cdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int);
1945 void __gmpz_cdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr);
1946 unsigned long int __gmpz_cdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int);
1947 void __gmpz_cdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr);
1948 void __gmpz_cdiv_r_2exp (mpz_ptr, mpz_srcptr, unsigned long);
1949 unsigned long int __gmpz_cdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int);
1950 unsigned long int __gmpz_cdiv_ui (mpz_srcptr, unsigned long int) __attribute__ ((__pure__));
1951 void __gmpz_clear (mpz_ptr);
1952 void __gmpz_clrbit (mpz_ptr, unsigned long int);
1953 int __gmpz_cmp (mpz_srcptr, mpz_srcptr) __attribute__ ((__pure__));
1954 int __gmpz_cmp_d (mpz_srcptr, double) __attribute__ ((__pure__));
1955 int __gmpz_cmp_si (mpz_srcptr, signed long int) __attribute__ ((__pure__));
1956 int __gmpz_cmp_ui (mpz_srcptr, unsigned long int) __attribute__ ((__pure__));
1957 int __gmpz_cmpabs (mpz_srcptr, mpz_srcptr) __attribute__ ((__pure__));
1958 int __gmpz_cmpabs_d (mpz_srcptr, double) __attribute__ ((__pure__));
1959 int __gmpz_cmpabs_ui (mpz_srcptr, unsigned long int) __attribute__ ((__pure__));
1960 void __gmpz_com (mpz_ptr, mpz_srcptr);
1961 void __gmpz_combit (mpz_ptr, unsigned long int);
1962 int __gmpz_congruent_p (mpz_srcptr, mpz_srcptr, mpz_srcptr) __attribute__ ((__pure__));
1963 int __gmpz_congruent_2exp_p (mpz_srcptr, mpz_srcptr, unsigned long) __attribute__ ((__pure__));
1964 int __gmpz_congruent_ui_p (mpz_srcptr, unsigned long, unsigned long) __attribute__ ((__pure__));
1965 void __gmpz_divexact (mpz_ptr, mpz_srcptr, mpz_srcptr);
1966 void __gmpz_divexact_ui (mpz_ptr, mpz_srcptr, unsigned long);
1967 int __gmpz_divisible_p (mpz_srcptr, mpz_srcptr) __attribute__ ((__pure__));
1968 int __gmpz_divisible_ui_p (mpz_srcptr, unsigned long) __attribute__ ((__pure__));
1969 int __gmpz_divisible_2exp_p (mpz_srcptr, unsigned long) __attribute__ ((__pure__));
1970 void __gmpz_dump (mpz_srcptr);
1971 void *__gmpz_export (void *, size_t *, int, size_t, int, size_t, mpz_srcptr);
1972 void __gmpz_fac_ui (mpz_ptr, unsigned long int);
1973 void __gmpz_fdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr);
1974 void __gmpz_fdiv_q_2exp (mpz_ptr, mpz_srcptr, unsigned long int);
1975 unsigned long int __gmpz_fdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int);
1976 void __gmpz_fdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr);
1977 unsigned long int __gmpz_fdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int);
1978 void __gmpz_fdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr);
1979 void __gmpz_fdiv_r_2exp (mpz_ptr, mpz_srcptr, unsigned long int);
1980 unsigned long int __gmpz_fdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int);
1981 unsigned long int __gmpz_fdiv_ui (mpz_srcptr, unsigned long int) __attribute__ ((__pure__));
1982 void __gmpz_fib_ui (mpz_ptr, unsigned long int);
1983 void __gmpz_fib2_ui (mpz_ptr, mpz_ptr, unsigned long int);
1984 int __gmpz_fits_sint_p (mpz_srcptr) __attribute__ ((__pure__));
1985 int __gmpz_fits_slong_p (mpz_srcptr) __attribute__ ((__pure__));
1986 int __gmpz_fits_sshort_p (mpz_srcptr) __attribute__ ((__pure__));
1987 int __gmpz_fits_uint_p (mpz_srcptr) __attribute__ ((__pure__));
1988 int __gmpz_fits_ulong_p (mpz_srcptr) __attribute__ ((__pure__));
1989 int __gmpz_fits_ushort_p (mpz_srcptr) __attribute__ ((__pure__));
1990 void __gmpz_gcd (mpz_ptr, mpz_srcptr, mpz_srcptr);
1991 unsigned long int __gmpz_gcd_ui (mpz_ptr, mpz_srcptr, unsigned long int);
1992 void __gmpz_gcdext (mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr);
1993 double __gmpz_get_d (mpz_srcptr) __attribute__ ((__pure__));
1994 double __gmpz_get_d_2exp (signed long int *, mpz_srcptr);
1995 long int __gmpz_get_si (mpz_srcptr) __attribute__ ((__pure__));
1996 char *__gmpz_get_str (char *, int, mpz_srcptr);
1997 unsigned long int __gmpz_get_ui (mpz_srcptr) __attribute__ ((__pure__));
1998 mp_limb_t __gmpz_getlimbn (mpz_srcptr, mp_size_t) __attribute__ ((__pure__));
1999 unsigned long int __gmpz_hamdist (mpz_srcptr, mpz_srcptr) __attribute__ ((__pure__));
2000 void __gmpz_import (mpz_ptr, size_t, int, size_t, int, size_t, const void *);
2001 void __gmpz_init (mpz_ptr);
2002 void __gmpz_init2 (mpz_ptr, unsigned long);
2003 void __gmpz_init_set (mpz_ptr, mpz_srcptr);
2004 void __gmpz_init_set_d (mpz_ptr, double);
2005 void __gmpz_init_set_si (mpz_ptr, signed long int);
2006 int __gmpz_init_set_str (mpz_ptr, const char *, int);
2007 void __gmpz_init_set_ui (mpz_ptr, unsigned long int);
2008 size_t __gmpz_inp_raw (mpz_ptr, FILE *);
2009 size_t __gmpz_inp_str (mpz_ptr, FILE *, int);
2010 int __gmpz_invert (mpz_ptr, mpz_srcptr, mpz_srcptr);
2011 void __gmpz_ior (mpz_ptr, mpz_srcptr, mpz_srcptr);
2012 int __gmpz_jacobi (mpz_srcptr, mpz_srcptr) __attribute__ ((__pure__));
2013 int __gmpz_kronecker_si (mpz_srcptr, long) __attribute__ ((__pure__));
2014 int __gmpz_kronecker_ui (mpz_srcptr, unsigned long) __attribute__ ((__pure__));
2015 int __gmpz_si_kronecker (long, mpz_srcptr) __attribute__ ((__pure__));
2016 int __gmpz_ui_kronecker (unsigned long, mpz_srcptr) __attribute__ ((__pure__));
2017 void __gmpz_lcm (mpz_ptr, mpz_srcptr, mpz_srcptr);
2018 void __gmpz_lcm_ui (mpz_ptr, mpz_srcptr, unsigned long);
2019 void __gmpz_lucnum_ui (mpz_ptr, unsigned long int);
2020 void __gmpz_lucnum2_ui (mpz_ptr, mpz_ptr, unsigned long int);
2021 int __gmpz_millerrabin (mpz_srcptr, int) __attribute__ ((__pure__));
2022 void __gmpz_mod (mpz_ptr, mpz_srcptr, mpz_srcptr);
2023 void __gmpz_mul (mpz_ptr, mpz_srcptr, mpz_srcptr);
2024 void __gmpz_mul_2exp (mpz_ptr, mpz_srcptr, unsigned long int);
2025 void __gmpz_mul_si (mpz_ptr, mpz_srcptr, long int);
2026 void __gmpz_mul_ui (mpz_ptr, mpz_srcptr, unsigned long int);
2027 void __gmpz_neg (mpz_ptr, mpz_srcptr);
2028 void __gmpz_nextprime (mpz_ptr, mpz_srcptr);
2029 size_t __gmpz_out_raw (FILE *, mpz_srcptr);
2030 size_t __gmpz_out_str (FILE *, int, mpz_srcptr);
2031 int __gmpz_perfect_power_p (mpz_srcptr) __attribute__ ((__pure__));
2032 int __gmpz_perfect_square_p (mpz_srcptr) __attribute__ ((__pure__));
2033 unsigned long int __gmpz_popcount (mpz_srcptr) __attribute__ ((__pure__));
2034 void __gmpz_pow_ui (mpz_ptr, mpz_srcptr, unsigned long int);
2035 void __gmpz_powm (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr);
2036 void __gmpz_powm_ui (mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr);
2037 int __gmpz_probab_prime_p (mpz_srcptr, int) __attribute__ ((__pure__));
2038 void __gmpz_random (mpz_ptr, mp_size_t);
2039 void __gmpz_random2 (mpz_ptr, mp_size_t);
2040 void __gmpz_realloc2 (mpz_ptr, unsigned long);
2041 unsigned long int __gmpz_remove (mpz_ptr, mpz_srcptr, mpz_srcptr);
2042 int __gmpz_root (mpz_ptr, mpz_srcptr, unsigned long int);
2043 void __gmpz_rootrem (mpz_ptr,mpz_ptr, mpz_srcptr, unsigned long int);
2044 void __gmpz_rrandomb (mpz_ptr, gmp_randstate_t, unsigned long int);
2045 unsigned long int __gmpz_scan0 (mpz_srcptr, unsigned long int) __attribute__ ((__pure__));
2046 unsigned long int __gmpz_scan1 (mpz_srcptr, unsigned long int) __attribute__ ((__pure__));
2047 void __gmpz_set (mpz_ptr, mpz_srcptr);
2048 void __gmpz_set_d (mpz_ptr, double);
2049 void __gmpz_set_f (mpz_ptr, mpf_srcptr);
2050 void __gmpz_set_q (mpz_ptr, mpq_srcptr);
2051 void __gmpz_set_si (mpz_ptr, signed long int);
2052 int __gmpz_set_str (mpz_ptr, const char *, int);
2053 void __gmpz_set_ui (mpz_ptr, unsigned long int);
2054 void __gmpz_setbit (mpz_ptr, unsigned long int);
2055 size_t __gmpz_size (mpz_srcptr) __attribute__ ((__pure__));
2056 size_t __gmpz_sizeinbase (mpz_srcptr, int) __attribute__ ((__pure__));
2057 void __gmpz_sqrt (mpz_ptr, mpz_srcptr);
2058 void __gmpz_sqrtrem (mpz_ptr, mpz_ptr, mpz_srcptr);
2059 void __gmpz_sub (mpz_ptr, mpz_srcptr, mpz_srcptr);
2060 void __gmpz_sub_ui (mpz_ptr, mpz_srcptr, unsigned long int);
2061 void __gmpz_ui_sub (mpz_ptr, unsigned long int, mpz_srcptr);
2062 void __gmpz_submul (mpz_ptr, mpz_srcptr, mpz_srcptr);
2063 void __gmpz_submul_ui (mpz_ptr, mpz_srcptr, unsigned long int);
2064 void __gmpz_swap (mpz_ptr, mpz_ptr) ;
2065 unsigned long int __gmpz_tdiv_ui (mpz_srcptr, unsigned long int) __attribute__ ((__pure__));
2066 void __gmpz_tdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr);
2067 void __gmpz_tdiv_q_2exp (mpz_ptr, mpz_srcptr, unsigned long int);
2068 unsigned long int __gmpz_tdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int);
2069 void __gmpz_tdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr);
2070 unsigned long int __gmpz_tdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int);
2071 void __gmpz_tdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr);
2072 void __gmpz_tdiv_r_2exp (mpz_ptr, mpz_srcptr, unsigned long int);
2073 unsigned long int __gmpz_tdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int);
2074 int __gmpz_tstbit (mpz_srcptr, unsigned long int) __attribute__ ((__pure__));
2075 void __gmpz_ui_pow_ui (mpz_ptr, unsigned long int, unsigned long int);
2076 void __gmpz_urandomb (mpz_ptr, gmp_randstate_t, unsigned long int);
2077 void __gmpz_urandomm (mpz_ptr, gmp_randstate_t, mpz_srcptr);
2078 void __gmpz_xor (mpz_ptr, mpz_srcptr, mpz_srcptr);
2079 void __gmpq_abs (mpq_ptr, mpq_srcptr);
2080 void __gmpq_add (mpq_ptr, mpq_srcptr, mpq_srcptr);
2081 void __gmpq_canonicalize (mpq_ptr);
2082 void __gmpq_clear (mpq_ptr);
2083 int __gmpq_cmp (mpq_srcptr, mpq_srcptr) __attribute__ ((__pure__));
2084 int __gmpq_cmp_si (mpq_srcptr, long, unsigned long) __attribute__ ((__pure__));
2085 int __gmpq_cmp_ui (mpq_srcptr, unsigned long int, unsigned long int) __attribute__ ((__pure__));
2086 void __gmpq_div (mpq_ptr, mpq_srcptr, mpq_srcptr);
2087 void __gmpq_div_2exp (mpq_ptr, mpq_srcptr, unsigned long);
2088 int __gmpq_equal (mpq_srcptr, mpq_srcptr) __attribute__ ((__pure__));
2089 void __gmpq_get_num (mpz_ptr, mpq_srcptr);
2090 void __gmpq_get_den (mpz_ptr, mpq_srcptr);
2091 double __gmpq_get_d (mpq_srcptr) __attribute__ ((__pure__));
2092 char *__gmpq_get_str (char *, int, mpq_srcptr);
2093 void __gmpq_init (mpq_ptr);
2094 size_t __gmpq_inp_str (mpq_ptr, FILE *, int);
2095 void __gmpq_inv (mpq_ptr, mpq_srcptr);
2096 void __gmpq_mul (mpq_ptr, mpq_srcptr, mpq_srcptr);
2097 void __gmpq_mul_2exp (mpq_ptr, mpq_srcptr, unsigned long);
2098 void __gmpq_neg (mpq_ptr, mpq_srcptr);
2099 size_t __gmpq_out_str (FILE *, int, mpq_srcptr);
2100 void __gmpq_set (mpq_ptr, mpq_srcptr);
2101 void __gmpq_set_d (mpq_ptr, double);
2102 void __gmpq_set_den (mpq_ptr, mpz_srcptr);
2103 void __gmpq_set_f (mpq_ptr, mpf_srcptr);
2104 void __gmpq_set_num (mpq_ptr, mpz_srcptr);
2105 void __gmpq_set_si (mpq_ptr, signed long int, unsigned long int);
2106 int __gmpq_set_str (mpq_ptr, const char *, int);
2107 void __gmpq_set_ui (mpq_ptr, unsigned long int, unsigned long int);
2108 void __gmpq_set_z (mpq_ptr, mpz_srcptr);
2109 void __gmpq_sub (mpq_ptr, mpq_srcptr, mpq_srcptr);
2110 void __gmpq_swap (mpq_ptr, mpq_ptr) ;
2111 void __gmpf_abs (mpf_ptr, mpf_srcptr);
2112 void __gmpf_add (mpf_ptr, mpf_srcptr, mpf_srcptr);
2113 void __gmpf_add_ui (mpf_ptr, mpf_srcptr, unsigned long int);
2114 void __gmpf_ceil (mpf_ptr, mpf_srcptr);
2115 void __gmpf_clear (mpf_ptr);
2116 int __gmpf_cmp (mpf_srcptr, mpf_srcptr) __attribute__ ((__pure__));
2117 int __gmpf_cmp_d (mpf_srcptr, double) __attribute__ ((__pure__));
2118 int __gmpf_cmp_si (mpf_srcptr, signed long int) __attribute__ ((__pure__));
2119 int __gmpf_cmp_ui (mpf_srcptr, unsigned long int) __attribute__ ((__pure__));
2120 void __gmpf_div (mpf_ptr, mpf_srcptr, mpf_srcptr);
2121 void __gmpf_div_2exp (mpf_ptr, mpf_srcptr, unsigned long int);
2122 void __gmpf_div_ui (mpf_ptr, mpf_srcptr, unsigned long int);
2123 void __gmpf_dump (mpf_srcptr);
2124 int __gmpf_eq (mpf_srcptr, mpf_srcptr, unsigned long int) __attribute__ ((__pure__));
2125 int __gmpf_fits_sint_p (mpf_srcptr) __attribute__ ((__pure__));
2126 int __gmpf_fits_slong_p (mpf_srcptr) __attribute__ ((__pure__));
2127 int __gmpf_fits_sshort_p (mpf_srcptr) __attribute__ ((__pure__));
2128 int __gmpf_fits_uint_p (mpf_srcptr) __attribute__ ((__pure__));
2129 int __gmpf_fits_ulong_p (mpf_srcptr) __attribute__ ((__pure__));
2130 int __gmpf_fits_ushort_p (mpf_srcptr) __attribute__ ((__pure__));
2131 void __gmpf_floor (mpf_ptr, mpf_srcptr);
2132 double __gmpf_get_d (mpf_srcptr) __attribute__ ((__pure__));
2133 double __gmpf_get_d_2exp (signed long int *, mpf_srcptr);
2134 unsigned long int __gmpf_get_default_prec (void) __attribute__ ((__pure__));
2135 unsigned long int __gmpf_get_prec (mpf_srcptr) __attribute__ ((__pure__));
2136 long __gmpf_get_si (mpf_srcptr) __attribute__ ((__pure__));
2137 char *__gmpf_get_str (char *, mp_exp_t *, int, size_t, mpf_srcptr);
2138 unsigned long __gmpf_get_ui (mpf_srcptr) __attribute__ ((__pure__));
2139 void __gmpf_init (mpf_ptr);
2140 void __gmpf_init2 (mpf_ptr, unsigned long int);
2141 void __gmpf_init_set (mpf_ptr, mpf_srcptr);
2142 void __gmpf_init_set_d (mpf_ptr, double);
2143 void __gmpf_init_set_si (mpf_ptr, signed long int);
2144 int __gmpf_init_set_str (mpf_ptr, const char *, int);
2145 void __gmpf_init_set_ui (mpf_ptr, unsigned long int);
2146 size_t __gmpf_inp_str (mpf_ptr, FILE *, int);
2147 int __gmpf_integer_p (mpf_srcptr) __attribute__ ((__pure__));
2148 void __gmpf_mul (mpf_ptr, mpf_srcptr, mpf_srcptr);
2149 void __gmpf_mul_2exp (mpf_ptr, mpf_srcptr, unsigned long int);
2150 void __gmpf_mul_ui (mpf_ptr, mpf_srcptr, unsigned long int);
2151 void __gmpf_neg (mpf_ptr, mpf_srcptr);
2152 size_t __gmpf_out_str (FILE *, int, size_t, mpf_srcptr);
2153 void __gmpf_pow_ui (mpf_ptr, mpf_srcptr, unsigned long int);
2154 void __gmpf_random2 (mpf_ptr, mp_size_t, mp_exp_t);
2155 void __gmpf_reldiff (mpf_ptr, mpf_srcptr, mpf_srcptr);
2156 void __gmpf_set (mpf_ptr, mpf_srcptr);
2157 void __gmpf_set_d (mpf_ptr, double);
2158 void __gmpf_set_default_prec (unsigned long int) ;
2159 void __gmpf_set_prec (mpf_ptr, unsigned long int);
2160 void __gmpf_set_prec_raw (mpf_ptr, unsigned long int) ;
2161 void __gmpf_set_q (mpf_ptr, mpq_srcptr);
2162 void __gmpf_set_si (mpf_ptr, signed long int);
2163 int __gmpf_set_str (mpf_ptr, const char *, int);
2164 void __gmpf_set_ui (mpf_ptr, unsigned long int);
2165 void __gmpf_set_z (mpf_ptr, mpz_srcptr);
2166 size_t __gmpf_size (mpf_srcptr) __attribute__ ((__pure__));
2167 void __gmpf_sqrt (mpf_ptr, mpf_srcptr);
2168 void __gmpf_sqrt_ui (mpf_ptr, unsigned long int);
2169 void __gmpf_sub (mpf_ptr, mpf_srcptr, mpf_srcptr);
2170 void __gmpf_sub_ui (mpf_ptr, mpf_srcptr, unsigned long int);
2171 void __gmpf_swap (mpf_ptr, mpf_ptr) ;
2172 void __gmpf_trunc (mpf_ptr, mpf_srcptr);
2173 void __gmpf_ui_div (mpf_ptr, unsigned long int, mpf_srcptr);
2174 void __gmpf_ui_sub (mpf_ptr, unsigned long int, mpf_srcptr);
2175 void __gmpf_urandomb (mpf_t, gmp_randstate_t, unsigned long int);
2176 mp_limb_t __gmpn_add (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t);
2177 mp_limb_t __gmpn_add_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) ;
2178 mp_limb_t __gmpn_add_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t);
2179 mp_limb_t __gmpn_addmul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t);
2180 mp_limb_t __gmpn_bdivmod (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, unsigned long int);
2181 int __gmpn_cmp (mp_srcptr, mp_srcptr, mp_size_t) __attribute__ ((__pure__));
2182 mp_limb_t __gmpn_divexact_by3c (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t);
2183 mp_limb_t __gmpn_divrem (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t);
2184 mp_limb_t __gmpn_divrem_1 (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t);
2185 mp_limb_t __gmpn_divrem_2 (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr);
2186 mp_size_t __gmpn_gcd (mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t);
2187 mp_limb_t __gmpn_gcd_1 (mp_srcptr, mp_size_t, mp_limb_t) __attribute__ ((__pure__));
2188 mp_limb_t __gmpn_gcdext_1 (mp_ptr, mp_ptr, mp_limb_t, mp_limb_t);
2189 mp_size_t __gmpn_gcdext (mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t);
2190 size_t __gmpn_get_str (unsigned char *, int, mp_ptr, mp_size_t);
2191 unsigned long int __gmpn_hamdist (mp_srcptr, mp_srcptr, mp_size_t) __attribute__ ((__pure__));
2192 mp_limb_t __gmpn_lshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int);
2193 mp_limb_t __gmpn_mod_1 (mp_srcptr, mp_size_t, mp_limb_t) __attribute__ ((__pure__));
2194 mp_limb_t __gmpn_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t);
2195 mp_limb_t __gmpn_mul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t);
2196 void __gmpn_mul_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t);
2197 mp_limb_t __gmpn_neg_n (mp_ptr, mp_srcptr, mp_size_t);
2198 int __gmpn_perfect_square_p (mp_srcptr, mp_size_t) __attribute__ ((__pure__));
2199 unsigned long int __gmpn_popcount (mp_srcptr, mp_size_t) __attribute__ ((__pure__));
2200 mp_size_t __gmpn_pow_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr);
2201 mp_limb_t __gmpn_preinv_mod_1 (mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) __attribute__ ((__pure__));
2202 void __gmpn_random (mp_ptr, mp_size_t);
2203 void __gmpn_random2 (mp_ptr, mp_size_t);
2204 mp_limb_t __gmpn_rshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int);
2205 unsigned long int __gmpn_scan0 (mp_srcptr, unsigned long int) __attribute__ ((__pure__));
2206 unsigned long int __gmpn_scan1 (mp_srcptr, unsigned long int) __attribute__ ((__pure__));
2207 mp_size_t __gmpn_set_str (mp_ptr, const unsigned char *, size_t, int);
2208 mp_size_t __gmpn_sqrtrem (mp_ptr, mp_ptr, mp_srcptr, mp_size_t);
2209 mp_limb_t __gmpn_sub (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t);
2210 mp_limb_t __gmpn_sub_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) ;
2211 mp_limb_t __gmpn_sub_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t);
2212 mp_limb_t __gmpn_submul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t);
2213 void __gmpn_tdiv_qr (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t);
2214 extern __inline__ void
2215 __gmpz_abs (mpz_ptr __gmp_w, mpz_srcptr __gmp_u)
2217 if (__gmp_w != __gmp_u)
2218 __gmpz_set (__gmp_w, __gmp_u);
2219 __gmp_w->_mp_size = ((__gmp_w->_mp_size) >= 0 ? (__gmp_w->_mp_size) : -(__gmp_w->_mp_size));
2223 __gmpz_fits_uint_p (mpz_srcptr __gmp_z)
2225 mp_size_t __gmp_n = __gmp_z->_mp_size; mp_ptr __gmp_p = __gmp_z->_mp_d; return (__gmp_n == 0 || (__gmp_n == 1 && __gmp_p[0] <= (~ (unsigned) 0)));;
2229 __gmpz_fits_ulong_p (mpz_srcptr __gmp_z)
2231 mp_size_t __gmp_n = __gmp_z->_mp_size; mp_ptr __gmp_p = __gmp_z->_mp_d; return (__gmp_n == 0 || (__gmp_n == 1 && __gmp_p[0] <= (~ (unsigned long) 0)));;
2235 __gmpz_fits_ushort_p (mpz_srcptr __gmp_z)
2237 mp_size_t __gmp_n = __gmp_z->_mp_size; mp_ptr __gmp_p = __gmp_z->_mp_d; return (__gmp_n == 0 || (__gmp_n == 1 && __gmp_p[0] <= ((unsigned short) ~0)));;
2241 __gmpz_get_ui (mpz_srcptr __gmp_z)
2243 mp_ptr __gmp_p = __gmp_z->_mp_d;
2244 mp_size_t __gmp_n = __gmp_z->_mp_size;
2245 mp_limb_t __gmp_l = __gmp_p[0];
2246 return (__gmp_n != 0 ? __gmp_l : 0);
2250 __gmpz_getlimbn (mpz_srcptr __gmp_z, mp_size_t __gmp_n)
2252 mp_limb_t __gmp_result = 0;
2253 if (__builtin_expect ((__gmp_n >= 0 && __gmp_n < ((__gmp_z->_mp_size) >= 0 ? (__gmp_z->_mp_size) : -(__gmp_z->_mp_size))) != 0, 1))
2254 __gmp_result = __gmp_z->_mp_d[__gmp_n];
2255 return __gmp_result;
2257 extern __inline__ void
2258 __gmpz_neg (mpz_ptr __gmp_w, mpz_srcptr __gmp_u)
2260 if (__gmp_w != __gmp_u)
2261 __gmpz_set (__gmp_w, __gmp_u);
2262 __gmp_w->_mp_size = - __gmp_w->_mp_size;
2266 __gmpz_perfect_square_p (mpz_srcptr __gmp_a)
2268 mp_size_t __gmp_asize;
2270 __gmp_asize = __gmp_a->_mp_size;
2271 __gmp_result = (__gmp_asize >= 0);
2272 if (__builtin_expect ((__gmp_asize > 0) != 0, 1))
2273 __gmp_result = __gmpn_perfect_square_p (__gmp_a->_mp_d, __gmp_asize);
2274 return __gmp_result;
2278 __gmpz_popcount (mpz_srcptr __gmp_u)
2280 mp_size_t __gmp_usize;
2281 unsigned long __gmp_result;
2282 __gmp_usize = __gmp_u->_mp_size;
2283 __gmp_result = (__gmp_usize < 0 ? (~ (unsigned long) 0) : 0);
2284 if (__builtin_expect ((__gmp_usize > 0) != 0, 1))
2285 __gmp_result = __gmpn_popcount (__gmp_u->_mp_d, __gmp_usize);
2286 return __gmp_result;
2290 __gmpz_set_q (mpz_ptr __gmp_w, mpq_srcptr __gmp_u)
2292 __gmpz_tdiv_q (__gmp_w, (&((__gmp_u)->_mp_num)), (&((__gmp_u)->_mp_den)));
2296 __gmpz_size (mpz_srcptr __gmp_z)
2298 return ((__gmp_z->_mp_size) >= 0 ? (__gmp_z->_mp_size) : -(__gmp_z->_mp_size));
2300 extern __inline__ void
2301 __gmpq_abs (mpq_ptr __gmp_w, mpq_srcptr __gmp_u)
2303 if (__gmp_w != __gmp_u)
2304 __gmpq_set (__gmp_w, __gmp_u);
2305 __gmp_w->_mp_num._mp_size = ((__gmp_w->_mp_num._mp_size) >= 0 ? (__gmp_w->_mp_num._mp_size) : -(__gmp_w->_mp_num._mp_size));
2307 extern __inline__ void
2308 __gmpq_neg (mpq_ptr __gmp_w, mpq_srcptr __gmp_u)
2310 if (__gmp_w != __gmp_u)
2311 __gmpq_set (__gmp_w, __gmp_u);
2312 __gmp_w->_mp_num._mp_size = - __gmp_w->_mp_num._mp_size;
2316 __gmpn_add (mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, mp_srcptr __gmp_yp, mp_size_t __gmp_ysize)
2319 do { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = (__gmp_ysize); if (__gmp_i != 0) { if (__gmpn_add_n (__gmp_wp, __gmp_xp, __gmp_yp, __gmp_i)) { do { if (__gmp_i >= (__gmp_xsize)) { (__gmp_c) = 1; goto __gmp_done; } __gmp_x = (__gmp_xp)[__gmp_i]; } while ((((__gmp_wp)[__gmp_i++] = (__gmp_x + 1) & ((~ ((mp_limb_t) (0))) >> 0)) == 0)); } } if ((__gmp_wp) != (__gmp_xp)) do { mp_size_t __gmp_j; ; for (__gmp_j = (__gmp_i); __gmp_j < (__gmp_xsize); __gmp_j++) (__gmp_wp)[__gmp_j] = (__gmp_xp)[__gmp_j]; } while (0); (__gmp_c) = 0; __gmp_done: ; } while (0);
2324 __gmpn_add_1 (mp_ptr __gmp_dst, mp_srcptr __gmp_src, mp_size_t __gmp_size, mp_limb_t __gmp_n)
2327 do { mp_size_t __gmp_i; mp_limb_t __gmp_x, __gmp_r; __gmp_x = (__gmp_src)[0]; __gmp_r = __gmp_x + (__gmp_n); (__gmp_dst)[0] = __gmp_r; if (((__gmp_r) < ((__gmp_n)))) { (__gmp_c) = 1; for (__gmp_i = 1; __gmp_i < (__gmp_size);) { __gmp_x = (__gmp_src)[__gmp_i]; __gmp_r = __gmp_x + 1; (__gmp_dst)[__gmp_i] = __gmp_r; ++__gmp_i; if (!((__gmp_r) < (1))) { if ((__gmp_src) != (__gmp_dst)) do { mp_size_t __gmp_j; ; for (__gmp_j = (__gmp_i); __gmp_j < (__gmp_size); __gmp_j++) (__gmp_dst)[__gmp_j] = (__gmp_src)[__gmp_j]; } while (0); (__gmp_c) = 0; break; } } } else { if ((__gmp_src) != (__gmp_dst)) do { mp_size_t __gmp_j; ; for (__gmp_j = (1); __gmp_j < (__gmp_size); __gmp_j++) (__gmp_dst)[__gmp_j] = (__gmp_src)[__gmp_j]; } while (0); (__gmp_c) = 0; } } while (0);
2332 __gmpn_cmp (mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, mp_size_t __gmp_size)
2335 do { mp_size_t __gmp_i; mp_limb_t __gmp_x, __gmp_y; (__gmp_result) = 0; __gmp_i = (__gmp_size); while (--__gmp_i >= 0) { __gmp_x = (__gmp_xp)[__gmp_i]; __gmp_y = (__gmp_yp)[__gmp_i]; if (__gmp_x != __gmp_y) { (__gmp_result) = (__gmp_x > __gmp_y ? 1 : -1); break; } } } while (0);
2336 return __gmp_result;
2340 __gmpn_sub (mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, mp_srcptr __gmp_yp, mp_size_t __gmp_ysize)
2343 do { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = (__gmp_ysize); if (__gmp_i != 0) { if (__gmpn_sub_n (__gmp_wp, __gmp_xp, __gmp_yp, __gmp_i)) { do { if (__gmp_i >= (__gmp_xsize)) { (__gmp_c) = 1; goto __gmp_done; } __gmp_x = (__gmp_xp)[__gmp_i]; } while ((((__gmp_wp)[__gmp_i++] = (__gmp_x - 1) & ((~ ((mp_limb_t) (0))) >> 0)), __gmp_x == 0)); } } if ((__gmp_wp) != (__gmp_xp)) do { mp_size_t __gmp_j; ; for (__gmp_j = (__gmp_i); __gmp_j < (__gmp_xsize); __gmp_j++) (__gmp_wp)[__gmp_j] = (__gmp_xp)[__gmp_j]; } while (0); (__gmp_c) = 0; __gmp_done: ; } while (0);
2348 __gmpn_sub_1 (mp_ptr __gmp_dst, mp_srcptr __gmp_src, mp_size_t __gmp_size, mp_limb_t __gmp_n)
2351 do { mp_size_t __gmp_i; mp_limb_t __gmp_x, __gmp_r; __gmp_x = (__gmp_src)[0]; __gmp_r = __gmp_x - (__gmp_n); (__gmp_dst)[0] = __gmp_r; if (((__gmp_x) < ((__gmp_n)))) { (__gmp_c) = 1; for (__gmp_i = 1; __gmp_i < (__gmp_size);) { __gmp_x = (__gmp_src)[__gmp_i]; __gmp_r = __gmp_x - 1; (__gmp_dst)[__gmp_i] = __gmp_r; ++__gmp_i; if (!((__gmp_x) < (1))) { if ((__gmp_src) != (__gmp_dst)) do { mp_size_t __gmp_j; ; for (__gmp_j = (__gmp_i); __gmp_j < (__gmp_size); __gmp_j++) (__gmp_dst)[__gmp_j] = (__gmp_src)[__gmp_j]; } while (0); (__gmp_c) = 0; break; } } } else { if ((__gmp_src) != (__gmp_dst)) do { mp_size_t __gmp_j; ; for (__gmp_j = (1); __gmp_j < (__gmp_size); __gmp_j++) (__gmp_dst)[__gmp_j] = (__gmp_src)[__gmp_j]; } while (0); (__gmp_c) = 0; } } while (0);
2356 __gmpn_neg_n (mp_ptr __gmp_rp, mp_srcptr __gmp_up, mp_size_t __gmp_n)
2358 mp_limb_t __gmp_ul, __gmp_cy;
2361 __gmp_ul = *__gmp_up++;
2362 *__gmp_rp++ = -__gmp_ul - __gmp_cy;
2363 __gmp_cy |= __gmp_ul != 0;
2364 } while (--__gmp_n != 0);
2370 GMP_ERROR_UNSUPPORTED_ARGUMENT = 1,
2371 GMP_ERROR_DIVISION_BY_ZERO = 2,
2372 GMP_ERROR_SQRT_OF_NEGATIVE = 4,
2373 GMP_ERROR_INVALID_ARGUMENT = 8
2376 typedef int_t header_t;
2378 typedef unsigned short ucs2_t;
2380 union scmobj *symbol;
2381 struct bgl_dframe *link;
2383 typedef union scmobj {
2390 struct extended_pair {
2393 union scmobj *eheader;
2398 unsigned char char0;
2400 struct ucs2_string {
2412 union scmobj *descr;
2416 union scmobj *(*entry)();
2417 union scmobj *(*va_entry)();
2422 struct procedure_light {
2423 union scmobj *(*entry)();
2425 } procedure_light_t;
2428 union scmobj *string;
2433 union scmobj *kindof;
2436 union scmobj *chook;
2442 struct output_port {
2448 size_t (*syswrite)();
2449 union scmobj *(*sysflush)();
2450 union scmobj *fhook;
2451 union scmobj *flushbuf;
2466 struct input_procedure_port {
2467 struct input_port iport;
2468 union scmobj *pbuffer;
2470 } input_procedure_port_t;
2471 struct input_gzip_port {
2472 struct input_procedure_port iport;
2474 } input_gzip_port_t;
2475 struct binary_port {
2496 union scmobj *exitd_top;
2497 union scmobj *stamp;
2499 struct befored *before_top;
2502 struct bgl_dframe *top_frame;
2526 union scmobj *stream[ 3 ];
2533 union scmobj *hostname;
2534 union scmobj *hostip;
2536 union scmobj *input;
2537 union scmobj *output;
2539 union scmobj *chook;
2540 union scmobj *(*accept)();
2549 char *(*to_string)();
2550 union scmobj *(*output)();
2570 struct bgl_condvar {
2584 struct bgl_hvector {
2586 unsigned int length;
2588 struct bgl_weakptr {
2592 struct bgl_dynamic_env {
2594 union scmobj *current_output_port;
2595 union scmobj *current_input_port;
2596 union scmobj *current_error_port;
2597 union scmobj *current_display;
2599 union scmobj *mvalues[ 16 ];
2601 union scmobj *exitd_top;
2602 union scmobj *exitd_stamp;
2603 struct befored *befored_top;
2604 union scmobj *exitd_val;
2605 union scmobj *error_handler;
2606 union scmobj *error_notifiers;
2607 union scmobj *uncaught_exception_handler;
2608 union scmobj *interrupt_notifier;
2609 union scmobj *debug_alist;
2610 struct bgl_dframe top;
2611 struct bgl_dframe *top_of_frame;
2612 void *current_thread;
2613 union scmobj *lexical_stack;
2614 union scmobj *bytecode;
2615 union scmobj *module;
2616 union scmobj *abase;
2617 union scmobj *parameters;
2618 union scmobj *thread_backend;
2619 union scmobj *user_data;
2622 typedef obj_t (*function_t)();
2623 typedef struct __object_bgl {
2627 typedef struct __bgl__object_00_bgl {
2630 } *bgl__object_00_bglt;
2631 typedef struct BgL__object_00_bgl {
2634 } *BgL__object_00_bglt;
2635 typedef struct BgL_objectz00_bgl {
2638 } *BgL_objectz00_bglt;
2639 struct bgl_input_timeout {
2641 long (*sysread)( void *, size_t, size_t, obj_t );
2642 int (*sysclose)( obj_t );
2644 extern obj_t GC_malloc( size_t );
2645 extern obj_t GC_realloc( obj_t, size_t );
2646 extern void GC_free( obj_t );
2647 extern void GC_gcollect();
2648 extern obj_t GC_malloc_atomic( size_t );
2649 extern obj_t GC_debug_malloc( size_t, char *, long );
2650 extern obj_t GC_debug_malloc_atomic( size_t, char *, long );
2651 extern int GC_gc_no;
2652 extern int GC_size( void * );
2653 extern void GC_init();
2654 extern void GC_expand_hp( size_t );
2655 extern void GC_register_displacement( int );
2656 extern void GC_debug_register_displacement( int );
2657 extern void* GC_base( void* );
2658 extern int GC_invoke_finalizers();
2659 extern int GC_general_register_disappearing_link( obj_t * , obj_t );
2660 extern int GC_unregister_disappearing_link( obj_t * );
2661 typedef obj_t (*GC_fn_type) ( obj_t client_data );
2662 extern obj_t GC_call_with_alloc_lock( GC_fn_type fn, obj_t client_data );
2663 typedef void (*GC_finalization_proc)( void *obj, void *client_data );
2664 extern void GC_register_finalizer( void *obj,
2665 GC_finalization_proc fn, void *d,
2666 GC_finalization_proc *ofn, void **od );
2667 extern obj_t alloc_hvector( int, int, int );
2668 extern obj_t make_weakptr( obj_t );
2669 extern obj_t weakptr_data( obj_t );
2670 extern void weakptr_data_set( obj_t , obj_t );
2671 extern obj_t single_thread_denv;
2672 extern void bgl_init_dynamic_env();
2673 extern obj_t make_dynamic_env();
2674 extern obj_t bgl_dup_dynamic_env( obj_t );
2675 extern obj_t (*bgl_multithread_dynamic_denv)();
2676 extern gmp_randstate_t gmp_random_state;
2677 extern obj_t bgl_safe_plus_fx( long, long );
2678 extern obj_t bgl_safe_minus_fx( long, long );
2679 extern obj_t bgl_safe_mul_fx( long, long );
2680 extern obj_t bgl_safe_quotient_fx( long, long );
2681 extern obj_t bgl_safe_plus_elong( long, long );
2682 extern obj_t bgl_safe_minus_elong( long, long );
2683 extern obj_t bgl_safe_mul_elong( long, long );
2684 extern obj_t bgl_safe_quotient_elong( long, long );
2685 extern obj_t bgl_safe_plus_llong( long long, long long );
2686 extern obj_t bgl_safe_minus_llong( long long, long long );
2687 extern obj_t bgl_safe_mul_llong( long long, long long );
2688 extern obj_t bgl_safe_quotient_llong( long long, long long );
2689 extern obj_t _exit_value_;
2690 typedef jmp_buf callcc_jmp_buf;
2699 struct befored *prev;
2701 extern header_t bgl_opaque_nil;
2702 extern obj_t bigloo_exit( obj_t );
2703 extern obj_t va_generic_entry( obj_t, ... );
2704 extern obj_t opt_generic_entry( obj_t, ... );
2705 extern obj_t apply( obj_t, obj_t );
2706 extern void bgl_init_module_debug_start( char * );
2707 extern void bgl_init_module_debug_library( char * );
2708 extern void bgl_init_module_debug_import( char *, char * );
2709 extern void bgl_init_module_debug_object( char * );
2710 extern void bgl_init_module_debug_end( char * );
2711 extern obj_t the_failure( obj_t, obj_t, obj_t );
2712 extern obj_t bgl_system_failure( int, obj_t, obj_t, obj_t );
2713 extern obj_t bgl_make_procedure( obj_t, int, int );
2714 extern obj_t make_fx_procedure( function_t, int, int );
2715 extern obj_t make_va_procedure( function_t, int, int );
2716 extern obj_t bgl_time( obj_t );
2717 extern obj_t bgl_procedure_entry_to_string( obj_t );
2718 extern obj_t bgl_string_to_procedure_entry( obj_t );
2719 extern obj_t make_pair( obj_t, obj_t );
2720 extern obj_t make_extended_pair( obj_t a, obj_t d, obj_t e );
2721 extern obj_t make_cell( obj_t );
2722 extern obj_t make_real( double );
2723 extern obj_t make_belong( long );
2724 extern obj_t make_bllong( long long );
2725 extern obj_t bgl_string_to_bignum( char *, int );
2726 extern obj_t bgl_reverse( obj_t );
2727 extern obj_t bgl_reverse_bang( obj_t );
2728 extern long bgl_list_length( obj_t );
2729 extern obj_t bgl_remq( obj_t, obj_t );
2730 extern obj_t bgl_remq_bang( obj_t, obj_t );
2731 extern obj_t bgl_make_output_port( obj_t, void *, obj_t, obj_t, size_t (*)(), long (*)(), int (*)() );
2732 extern void bgl_output_port_buffer_set( obj_t, obj_t );
2733 extern obj_t bgl_close_output_port( obj_t );
2734 extern obj_t get_output_string( obj_t );
2735 extern obj_t bgl_file_to_output_port( FILE *, obj_t );
2736 extern obj_t bgl_open_output_file( obj_t, obj_t );
2737 extern obj_t bgl_append_output_file( obj_t, obj_t );
2738 extern obj_t bgl_open_output_string( obj_t );
2739 extern obj_t bgl_open_output_procedure( obj_t, obj_t, obj_t, obj_t );
2740 extern obj_t create_vector( int );
2741 extern obj_t make_string_sans_fill();
2742 extern obj_t string_to_bstring( char * );
2743 extern obj_t string_to_bstring_len( char *, int );
2744 extern obj_t close_init_string();
2745 extern obj_t bgl_string_shrink( obj_t, long );
2746 extern obj_t bgl_find_runtime_type( obj_t );
2747 extern obj_t cobj_to_foreign( obj_t, void * );
2748 extern long obj_to_cobj( obj_t );
2749 extern int _bigloo_main( int, char *[], char *[], obj_t (*)(obj_t) );
2750 extern obj_t string_to_symbol( char * );
2751 extern obj_t bstring_to_symbol( obj_t );
2752 extern obj_t bgl_symbol_genname( obj_t, char * );
2753 extern obj_t string_to_keyword( char * );
2754 extern obj_t bgl_open_input_string( obj_t, int );
2755 extern long bgl_file_size( char * );
2756 extern obj_t create_custom( long );
2757 extern void bgl_input_port_buffer_set( obj_t, obj_t );
2758 extern obj_t bgl_reset_output_string_port( obj_t );
2759 extern obj_t bgl_display_string( obj_t, obj_t );
2760 extern obj_t bgl_display_symbol( obj_t, obj_t );
2761 extern obj_t bgl_display_fixnum( obj_t, obj_t );
2762 extern obj_t bgl_display_char( char, obj_t );
2763 extern obj_t bgl_output_flush( obj_t, char *, size_t );
2764 extern obj_t bgl_make_date();
2765 extern obj_t bgl_make_mutex( obj_t );
2766 extern obj_t bgl_make_condvar( obj_t );
2767 extern bool_t (*bgl_mutex_lock)( obj_t );
2768 extern bool_t (*bgl_mutex_timed_lock)( obj_t, long );
2769 extern bool_t (*bgl_mutex_unlock)( obj_t );
2770 extern obj_t (*bgl_mutex_state)( obj_t );
2771 extern bool_t (*bgl_condvar_wait)( obj_t, obj_t );
2772 extern bool_t (*bgl_condvar_timed_wait)( obj_t, obj_t, long );
2773 extern bool_t (*bgl_condvar_signal)( obj_t );
2774 extern bool_t (*bgl_condvar_broadcast)( obj_t );
2775 extern obj_t bgl_open_mmap( obj_t, bool_t, bool_t );
2776 obj_t bgl_close_mmap( obj_t );
2777 extern void (*bgl_gc_do_blocking )( void (*fun)(), void * );
2778 extern obj_t bgl_make_client_socket( obj_t, int, int, obj_t, obj_t );
2779 extern obj_t bgl_make_server_socket( obj_t, int, int );
2780 extern obj_t bgl_socket_accept( obj_t, bool_t, obj_t, obj_t );
2781 extern long bgl_socket_accept_many( obj_t, bool_t, obj_t, obj_t, obj_t );
2782 extern obj_t bgl_gethostname();
2783 extern obj_t bgl_socket_hostname();
2784 extern obj_t bgl_getsockopt( obj_t, obj_t );
2785 extern obj_t bgl_setsockopt( obj_t, obj_t, obj_t );
2786 extern void bgl_init_trace( void );
2787 extern int bgl_sigprocmask( int );
2788 extern long bgl_rgc_blit_string( obj_t, char *, long, long );
2789 extern obj_t bigloo_nan, bigloo_infinity, bigloo_minfinity;
2790 typedef long int ptrdiff_t;
2791 typedef signed char gint8;
2792 typedef unsigned char guint8;
2793 typedef signed short gint16;
2794 typedef unsigned short guint16;
2795 typedef signed int gint32;
2796 typedef unsigned int guint32;
2797 typedef signed long gint64;
2798 typedef unsigned long guint64;
2799 typedef signed long gssize;
2800 typedef unsigned long gsize;
2801 typedef gint64 goffset;
2802 typedef signed long gintptr;
2803 typedef unsigned long guintptr;
2804 typedef struct _GStaticMutex GStaticMutex;
2805 struct _GStaticMutex
2807 struct _GMutex *runtime_mutex;
2810 double dummy_double;
2811 void *dummy_pointer;
2815 typedef union _GSystemThread GSystemThread;
2816 union _GSystemThread
2819 double dummy_double;
2820 void *dummy_pointer;
2825 typedef short gshort;
2828 typedef gint gboolean;
2829 typedef unsigned char guchar;
2830 typedef unsigned short gushort;
2831 typedef unsigned long gulong;
2832 typedef unsigned int guint;
2833 typedef float gfloat;
2834 typedef double gdouble;
2835 typedef void* gpointer;
2836 typedef const void *gconstpointer;
2837 typedef gint (*GCompareFunc) (gconstpointer a,
2839 typedef gint (*GCompareDataFunc) (gconstpointer a,
2841 gpointer user_data);
2842 typedef gboolean (*GEqualFunc) (gconstpointer a,
2844 typedef void (*GDestroyNotify) (gpointer data);
2845 typedef void (*GFunc) (gpointer data,
2846 gpointer user_data);
2847 typedef guint (*GHashFunc) (gconstpointer key);
2848 typedef void (*GHFunc) (gpointer key,
2850 gpointer user_data);
2851 typedef void (*GFreeFunc) (gpointer data);
2852 typedef const gchar * (*GTranslateFunc) (const gchar *str,
2854 typedef union _GDoubleIEEE754 GDoubleIEEE754;
2855 typedef union _GFloatIEEE754 GFloatIEEE754;
2856 union _GFloatIEEE754
2860 guint mantissa : 23;
2861 guint biased_exponent : 8;
2865 union _GDoubleIEEE754
2869 guint mantissa_low : 32;
2870 guint mantissa_high : 20;
2871 guint biased_exponent : 11;
2875 typedef struct _GTimeVal GTimeVal;
2881 typedef struct _GArray GArray;
2882 typedef struct _GByteArray GByteArray;
2883 typedef struct _GPtrArray GPtrArray;
2899 GArray* g_array_new (gboolean zero_terminated,
2901 guint element_size);
2902 GArray* g_array_sized_new (gboolean zero_terminated,
2905 guint reserved_size);
2906 gchar* g_array_free (GArray *array,
2907 gboolean free_segment);
2908 GArray* g_array_append_vals (GArray *array,
2911 GArray* g_array_prepend_vals (GArray *array,
2914 GArray* g_array_insert_vals (GArray *array,
2918 GArray* g_array_set_size (GArray *array,
2920 GArray* g_array_remove_index (GArray *array,
2922 GArray* g_array_remove_index_fast (GArray *array,
2924 GArray* g_array_remove_range (GArray *array,
2927 void g_array_sort (GArray *array,
2928 GCompareFunc compare_func);
2929 void g_array_sort_with_data (GArray *array,
2930 GCompareDataFunc compare_func,
2931 gpointer user_data);
2932 GPtrArray* g_ptr_array_new (void);
2933 GPtrArray* g_ptr_array_sized_new (guint reserved_size);
2934 gpointer* g_ptr_array_free (GPtrArray *array,
2936 void g_ptr_array_set_size (GPtrArray *array,
2938 gpointer g_ptr_array_remove_index (GPtrArray *array,
2940 gpointer g_ptr_array_remove_index_fast (GPtrArray *array,
2942 gboolean g_ptr_array_remove (GPtrArray *array,
2944 gboolean g_ptr_array_remove_fast (GPtrArray *array,
2946 void g_ptr_array_remove_range (GPtrArray *array,
2949 void g_ptr_array_add (GPtrArray *array,
2951 void g_ptr_array_sort (GPtrArray *array,
2952 GCompareFunc compare_func);
2953 void g_ptr_array_sort_with_data (GPtrArray *array,
2954 GCompareDataFunc compare_func,
2955 gpointer user_data);
2956 void g_ptr_array_foreach (GPtrArray *array,
2958 gpointer user_data);
2959 GByteArray* g_byte_array_new (void);
2960 GByteArray* g_byte_array_sized_new (guint reserved_size);
2961 guint8* g_byte_array_free (GByteArray *array,
2962 gboolean free_segment);
2963 GByteArray* g_byte_array_append (GByteArray *array,
2966 GByteArray* g_byte_array_prepend (GByteArray *array,
2969 GByteArray* g_byte_array_set_size (GByteArray *array,
2971 GByteArray* g_byte_array_remove_index (GByteArray *array,
2973 GByteArray* g_byte_array_remove_index_fast (GByteArray *array,
2975 GByteArray* g_byte_array_remove_range (GByteArray *array,
2978 void g_byte_array_sort (GByteArray *array,
2979 GCompareFunc compare_func);
2980 void g_byte_array_sort_with_data (GByteArray *array,
2981 GCompareDataFunc compare_func,
2982 gpointer user_data);
2983 typedef guint32 GQuark;
2984 GQuark g_quark_try_string (const gchar *string);
2985 GQuark g_quark_from_static_string (const gchar *string);
2986 GQuark g_quark_from_string (const gchar *string);
2987 const gchar* g_quark_to_string (GQuark quark) __attribute__((__const__));
2988 const gchar* g_intern_string (const gchar *string);
2989 const gchar* g_intern_static_string (const gchar *string);
2990 typedef struct _GError GError;
2997 GError* g_error_new (GQuark domain,
2999 const gchar *format,
3000 ...) __attribute__((__format__ (__printf__, 3, 4)));
3001 GError* g_error_new_literal (GQuark domain,
3003 const gchar *message);
3004 void g_error_free (GError *error);
3005 GError* g_error_copy (const GError *error);
3006 gboolean g_error_matches (const GError *error,
3009 void g_set_error (GError **err,
3012 const gchar *format,
3013 ...) __attribute__((__format__ (__printf__, 4, 5)));
3014 void g_set_error_literal (GError **err,
3017 const gchar *message);
3018 void g_propagate_error (GError **dest,
3020 void g_clear_error (GError **err);
3021 void g_prefix_error (GError **err,
3022 const gchar *format,
3023 ...) __attribute__((__format__ (__printf__, 2, 3)));
3024 void g_propagate_prefixed_error (GError **dest,
3026 const gchar *format,
3027 ...) __attribute__((__format__ (__printf__, 3, 4)));
3028 typedef __gnuc_va_list va_list;
3029 const gchar* g_get_user_name (void);
3030 const gchar* g_get_real_name (void);
3031 const gchar* g_get_home_dir (void);
3032 const gchar* g_get_tmp_dir (void);
3033 const gchar* g_get_host_name (void);
3034 gchar* g_get_prgname (void);
3035 void g_set_prgname (const gchar *prgname);
3036 const gchar* g_get_application_name (void);
3037 void g_set_application_name (const gchar *application_name);
3038 const gchar* g_get_user_data_dir (void);
3039 const gchar* g_get_user_config_dir (void);
3040 const gchar* g_get_user_cache_dir (void);
3041 const gchar* const * g_get_system_data_dirs (void);
3042 const gchar* const * g_get_system_config_dirs (void);
3043 const gchar* const * g_get_language_names (void);
3045 G_USER_DIRECTORY_DESKTOP,
3046 G_USER_DIRECTORY_DOCUMENTS,
3047 G_USER_DIRECTORY_DOWNLOAD,
3048 G_USER_DIRECTORY_MUSIC,
3049 G_USER_DIRECTORY_PICTURES,
3050 G_USER_DIRECTORY_PUBLIC_SHARE,
3051 G_USER_DIRECTORY_TEMPLATES,
3052 G_USER_DIRECTORY_VIDEOS,
3053 G_USER_N_DIRECTORIES
3055 const gchar* g_get_user_special_dir (GUserDirectory directory);
3056 typedef struct _GDebugKey GDebugKey;
3062 guint g_parse_debug_string (const gchar *string,
3063 const GDebugKey *keys,
3065 gint g_snprintf (gchar *string,
3067 gchar const *format,
3068 ...) __attribute__((__format__ (__printf__, 3, 4)));
3069 gint g_vsnprintf (gchar *string,
3071 gchar const *format,
3073 gboolean g_path_is_absolute (const gchar *file_name);
3074 const gchar* g_path_skip_root (const gchar *file_name);
3075 const gchar* g_basename (const gchar *file_name);
3076 gchar* g_get_current_dir (void);
3077 gchar* g_path_get_basename (const gchar *file_name) __attribute__((__malloc__));
3078 gchar* g_path_get_dirname (const gchar *file_name) __attribute__((__malloc__));
3079 void g_nullify_pointer (gpointer *nullify_location);
3080 const gchar* g_getenv (const gchar *variable);
3081 gboolean g_setenv (const gchar *variable,
3083 gboolean overwrite);
3084 void g_unsetenv (const gchar *variable);
3085 gchar** g_listenv (void);
3086 const gchar* _g_getenv_nomalloc (const gchar *variable,
3087 gchar buffer[1024]);
3088 typedef void (*GVoidFunc) (void);
3089 void g_atexit (GVoidFunc func);
3090 gchar* g_find_program_in_path (const gchar *program);
3091 static __inline __attribute__ ((unused)) gint g_bit_nth_lsf (gulong mask,
3092 gint nth_bit) __attribute__((__const__));
3093 static __inline __attribute__ ((unused)) gint g_bit_nth_msf (gulong mask,
3094 gint nth_bit) __attribute__((__const__));
3095 static __inline __attribute__ ((unused)) guint g_bit_storage (gulong number) __attribute__((__const__));
3096 typedef struct _GTrashStack GTrashStack;
3101 static __inline __attribute__ ((unused)) void g_trash_stack_push (GTrashStack **stack_p,
3103 static __inline __attribute__ ((unused)) gpointer g_trash_stack_pop (GTrashStack **stack_p);
3104 static __inline __attribute__ ((unused)) gpointer g_trash_stack_peek (GTrashStack **stack_p);
3105 static __inline __attribute__ ((unused)) guint g_trash_stack_height (GTrashStack **stack_p);
3106 static __inline __attribute__ ((unused)) gint
3107 g_bit_nth_lsf (gulong mask,
3112 while (nth_bit < ((8 * 8) - 1))
3115 if (mask & (1UL << nth_bit))
3120 static __inline __attribute__ ((unused)) gint
3121 g_bit_nth_msf (gulong mask,
3124 if (nth_bit < 0 || (nth_bit > 8 * 8))
3129 if (mask & (1UL << nth_bit))
3134 static __inline __attribute__ ((unused)) guint
3135 g_bit_storage (gulong number)
3137 register guint n_bits = 0;
3146 static __inline __attribute__ ((unused)) void
3147 g_trash_stack_push (GTrashStack **stack_p,
3150 GTrashStack *data = (GTrashStack *) data_p;
3151 data->next = *stack_p;
3154 static __inline __attribute__ ((unused)) gpointer
3155 g_trash_stack_pop (GTrashStack **stack_p)
3161 *stack_p = data->next;
3162 data->next = ((void *)0);
3166 static __inline __attribute__ ((unused)) gpointer
3167 g_trash_stack_peek (GTrashStack **stack_p)
3173 static __inline __attribute__ ((unused)) guint
3174 g_trash_stack_height (GTrashStack **stack_p)
3178 for (data = *stack_p; data; data = data->next)
3182 extern const guint glib_major_version;
3183 extern const guint glib_minor_version;
3184 extern const guint glib_micro_version;
3185 extern const guint glib_interface_age;
3186 extern const guint glib_binary_age;
3187 const gchar * glib_check_version (guint required_major,
3188 guint required_minor,
3189 guint required_micro);
3190 gint g_atomic_int_exchange_and_add (volatile gint __attribute__((may_alias)) *atomic,
3192 void g_atomic_int_add (volatile gint __attribute__((may_alias)) *atomic,
3194 gboolean g_atomic_int_compare_and_exchange (volatile gint __attribute__((may_alias)) *atomic,
3197 gboolean g_atomic_pointer_compare_and_exchange (volatile gpointer __attribute__((may_alias)) *atomic,
3200 gint g_atomic_int_get (volatile gint __attribute__((may_alias)) *atomic);
3201 void g_atomic_int_set (volatile gint __attribute__((may_alias)) *atomic,
3203 gpointer g_atomic_pointer_get (volatile gpointer __attribute__((may_alias)) *atomic);
3204 void g_atomic_pointer_set (volatile gpointer __attribute__((may_alias)) *atomic,
3206 extern GQuark g_thread_error_quark (void);
3209 G_THREAD_ERROR_AGAIN
3211 typedef gpointer (*GThreadFunc) (gpointer data);
3214 G_THREAD_PRIORITY_LOW,
3215 G_THREAD_PRIORITY_NORMAL,
3216 G_THREAD_PRIORITY_HIGH,
3217 G_THREAD_PRIORITY_URGENT
3219 typedef struct _GThread GThread;
3225 GThreadPriority priority;
3227 typedef struct _GMutex GMutex;
3228 typedef struct _GCond GCond;
3229 typedef struct _GPrivate GPrivate;
3230 typedef struct _GStaticPrivate GStaticPrivate;
3231 typedef struct _GThreadFunctions GThreadFunctions;
3232 struct _GThreadFunctions
3234 GMutex* (*mutex_new) (void);
3235 void (*mutex_lock) (GMutex *mutex);
3236 gboolean (*mutex_trylock) (GMutex *mutex);
3237 void (*mutex_unlock) (GMutex *mutex);
3238 void (*mutex_free) (GMutex *mutex);
3239 GCond* (*cond_new) (void);
3240 void (*cond_signal) (GCond *cond);
3241 void (*cond_broadcast) (GCond *cond);
3242 void (*cond_wait) (GCond *cond,
3244 gboolean (*cond_timed_wait) (GCond *cond,
3246 GTimeVal *end_time);
3247 void (*cond_free) (GCond *cond);
3248 GPrivate* (*private_new) (GDestroyNotify destructor);
3249 gpointer (*private_get) (GPrivate *private_key);
3250 void (*private_set) (GPrivate *private_key,
3252 void (*thread_create) (GThreadFunc func,
3257 GThreadPriority priority,
3260 void (*thread_yield) (void);
3261 void (*thread_join) (gpointer thread);
3262 void (*thread_exit) (void);
3263 void (*thread_set_priority)(gpointer thread,
3264 GThreadPriority priority);
3265 void (*thread_self) (gpointer thread);
3266 gboolean (*thread_equal) (gpointer thread1,
3269 extern GThreadFunctions g_thread_functions_for_glib_use;
3270 extern gboolean g_thread_use_default_impl;
3271 extern gboolean g_threads_got_initialized;
3272 extern guint64 (*g_thread_gettime) (void);
3273 void g_thread_init (GThreadFunctions *vtable);
3274 void g_thread_init_with_errorcheck_mutexes (GThreadFunctions* vtable);
3275 gboolean g_thread_get_initialized (void);
3276 GMutex* g_static_mutex_get_mutex_impl (GMutex **mutex);
3277 GThread* g_thread_create_full (GThreadFunc func,
3282 GThreadPriority priority,
3284 GThread* g_thread_self (void);
3285 void g_thread_exit (gpointer retval);
3286 gpointer g_thread_join (GThread *thread);
3287 void g_thread_set_priority (GThread *thread,
3288 GThreadPriority priority);
3289 void g_static_mutex_init (GStaticMutex *mutex);
3290 void g_static_mutex_free (GStaticMutex *mutex);
3291 struct _GStaticPrivate
3295 void g_static_private_init (GStaticPrivate *private_key);
3296 gpointer g_static_private_get (GStaticPrivate *private_key);
3297 void g_static_private_set (GStaticPrivate *private_key,
3299 GDestroyNotify notify);
3300 void g_static_private_free (GStaticPrivate *private_key);
3301 typedef struct _GStaticRecMutex GStaticRecMutex;
3302 struct _GStaticRecMutex
3306 GSystemThread owner;
3308 void g_static_rec_mutex_init (GStaticRecMutex *mutex);
3309 void g_static_rec_mutex_lock (GStaticRecMutex *mutex);
3310 gboolean g_static_rec_mutex_trylock (GStaticRecMutex *mutex);
3311 void g_static_rec_mutex_unlock (GStaticRecMutex *mutex);
3312 void g_static_rec_mutex_lock_full (GStaticRecMutex *mutex,
3314 guint g_static_rec_mutex_unlock_full (GStaticRecMutex *mutex);
3315 void g_static_rec_mutex_free (GStaticRecMutex *mutex);
3316 typedef struct _GStaticRWLock GStaticRWLock;
3317 struct _GStaticRWLock
3323 gboolean have_writer;
3325 guint want_to_write;
3327 void g_static_rw_lock_init (GStaticRWLock* lock);
3328 void g_static_rw_lock_reader_lock (GStaticRWLock* lock);
3329 gboolean g_static_rw_lock_reader_trylock (GStaticRWLock* lock);
3330 void g_static_rw_lock_reader_unlock (GStaticRWLock* lock);
3331 void g_static_rw_lock_writer_lock (GStaticRWLock* lock);
3332 gboolean g_static_rw_lock_writer_trylock (GStaticRWLock* lock);
3333 void g_static_rw_lock_writer_unlock (GStaticRWLock* lock);
3334 void g_static_rw_lock_free (GStaticRWLock* lock);
3335 void g_thread_foreach (GFunc thread_func,
3336 gpointer user_data);
3339 G_ONCE_STATUS_NOTCALLED,
3340 G_ONCE_STATUS_PROGRESS,
3343 typedef struct _GOnce GOnce;
3346 volatile GOnceStatus status;
3347 volatile gpointer retval;
3349 gpointer g_once_impl (GOnce *once, GThreadFunc func, gpointer arg);
3350 static __inline __attribute__ ((unused)) gboolean g_once_init_enter (volatile gsize *value_location);
3351 gboolean g_once_init_enter_impl (volatile gsize *value_location);
3352 void g_once_init_leave (volatile gsize *value_location,
3353 gsize initialization_value);
3354 static __inline __attribute__ ((unused)) gboolean
3355 g_once_init_enter (volatile gsize *value_location)
3357 if ((gpointer) ((gpointer)*(value_location)) != ((void *)0))
3360 return g_once_init_enter_impl (value_location);
3362 extern void glib_dummy_decl (void);
3363 typedef struct _GAsyncQueue GAsyncQueue;
3364 GAsyncQueue* g_async_queue_new (void);
3365 GAsyncQueue* g_async_queue_new_full (GDestroyNotify item_free_func);
3366 void g_async_queue_lock (GAsyncQueue *queue);
3367 void g_async_queue_unlock (GAsyncQueue *queue);
3368 GAsyncQueue* g_async_queue_ref (GAsyncQueue *queue);
3369 void g_async_queue_unref (GAsyncQueue *queue);
3370 void g_async_queue_ref_unlocked (GAsyncQueue *queue);
3371 void g_async_queue_unref_and_unlock (GAsyncQueue *queue);
3372 void g_async_queue_push (GAsyncQueue *queue,
3374 void g_async_queue_push_unlocked (GAsyncQueue *queue,
3376 void g_async_queue_push_sorted (GAsyncQueue *queue,
3378 GCompareDataFunc func,
3379 gpointer user_data);
3380 void g_async_queue_push_sorted_unlocked (GAsyncQueue *queue,
3382 GCompareDataFunc func,
3383 gpointer user_data);
3384 gpointer g_async_queue_pop (GAsyncQueue *queue);
3385 gpointer g_async_queue_pop_unlocked (GAsyncQueue *queue);
3386 gpointer g_async_queue_try_pop (GAsyncQueue *queue);
3387 gpointer g_async_queue_try_pop_unlocked (GAsyncQueue *queue);
3388 gpointer g_async_queue_timed_pop (GAsyncQueue *queue,
3389 GTimeVal *end_time);
3390 gpointer g_async_queue_timed_pop_unlocked (GAsyncQueue *queue,
3391 GTimeVal *end_time);
3392 gint g_async_queue_length (GAsyncQueue *queue);
3393 gint g_async_queue_length_unlocked (GAsyncQueue *queue);
3394 void g_async_queue_sort (GAsyncQueue *queue,
3395 GCompareDataFunc func,
3396 gpointer user_data);
3397 void g_async_queue_sort_unlocked (GAsyncQueue *queue,
3398 GCompareDataFunc func,
3399 gpointer user_data);
3400 GMutex* _g_async_queue_get_mutex (GAsyncQueue *queue);
3401 void g_on_error_query (const gchar *prg_name);
3402 void g_on_error_stack_trace (const gchar *prg_name);
3403 gsize g_base64_encode_step (const guchar *in,
3405 gboolean break_lines,
3409 gsize g_base64_encode_close (gboolean break_lines,
3413 gchar* g_base64_encode (const guchar *data,
3414 gsize len) __attribute__((__malloc__));
3415 gsize g_base64_decode_step (const gchar *in,
3420 guchar *g_base64_decode (const gchar *text,
3421 gsize *out_len) __attribute__((__malloc__));
3422 guchar *g_base64_decode_inplace (gchar *text,
3424 typedef __clock_t clock_t;
3437 __const char *tm_zone;
3441 struct timespec it_interval;
3442 struct timespec it_value;
3445 extern clock_t clock (void) __attribute__ ((__nothrow__));
3446 extern time_t time (time_t *__timer) __attribute__ ((__nothrow__));
3447 extern double difftime (time_t __time1, time_t __time0)
3448 __attribute__ ((__nothrow__)) __attribute__ ((__const__));
3449 extern time_t mktime (struct tm *__tp) __attribute__ ((__nothrow__));
3450 extern size_t strftime (char *__restrict __s, size_t __maxsize,
3451 __const char *__restrict __format,
3452 __const struct tm *__restrict __tp) __attribute__ ((__nothrow__));
3453 extern size_t strftime_l (char *__restrict __s, size_t __maxsize,
3454 __const char *__restrict __format,
3455 __const struct tm *__restrict __tp,
3456 __locale_t __loc) __attribute__ ((__nothrow__));
3457 extern struct tm *gmtime (__const time_t *__timer) __attribute__ ((__nothrow__));
3458 extern struct tm *localtime (__const time_t *__timer) __attribute__ ((__nothrow__));
3459 extern struct tm *gmtime_r (__const time_t *__restrict __timer,
3460 struct tm *__restrict __tp) __attribute__ ((__nothrow__));
3461 extern struct tm *localtime_r (__const time_t *__restrict __timer,
3462 struct tm *__restrict __tp) __attribute__ ((__nothrow__));
3463 extern char *asctime (__const struct tm *__tp) __attribute__ ((__nothrow__));
3464 extern char *ctime (__const time_t *__timer) __attribute__ ((__nothrow__));
3465 extern char *asctime_r (__const struct tm *__restrict __tp,
3466 char *__restrict __buf) __attribute__ ((__nothrow__));
3467 extern char *ctime_r (__const time_t *__restrict __timer,
3468 char *__restrict __buf) __attribute__ ((__nothrow__));
3469 extern char *__tzname[2];
3470 extern int __daylight;
3471 extern long int __timezone;
3472 extern char *tzname[2];
3473 extern void tzset (void) __attribute__ ((__nothrow__));
3474 extern int daylight;
3475 extern long int timezone;
3476 extern int stime (__const time_t *__when) __attribute__ ((__nothrow__));
3477 extern time_t timegm (struct tm *__tp) __attribute__ ((__nothrow__));
3478 extern time_t timelocal (struct tm *__tp) __attribute__ ((__nothrow__));
3479 extern int dysize (int __year) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
3480 extern int nanosleep (__const struct timespec *__requested_time,
3481 struct timespec *__remaining);
3482 extern int clock_getres (clockid_t __clock_id, struct timespec *__res) __attribute__ ((__nothrow__));
3483 extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) __attribute__ ((__nothrow__));
3484 extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp)
3485 __attribute__ ((__nothrow__));
3486 extern int clock_nanosleep (clockid_t __clock_id, int __flags,
3487 __const struct timespec *__req,
3488 struct timespec *__rem);
3489 extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) __attribute__ ((__nothrow__));
3490 extern int timer_create (clockid_t __clock_id,
3491 struct sigevent *__restrict __evp,
3492 timer_t *__restrict __timerid) __attribute__ ((__nothrow__));
3493 extern int timer_delete (timer_t __timerid) __attribute__ ((__nothrow__));
3494 extern int timer_settime (timer_t __timerid, int __flags,
3495 __const struct itimerspec *__restrict __value,
3496 struct itimerspec *__restrict __ovalue) __attribute__ ((__nothrow__));
3497 extern int timer_gettime (timer_t __timerid, struct itimerspec *__value)
3498 __attribute__ ((__nothrow__));
3499 extern int timer_getoverrun (timer_t __timerid) __attribute__ ((__nothrow__));
3502 G_BOOKMARK_FILE_ERROR_INVALID_URI,
3503 G_BOOKMARK_FILE_ERROR_INVALID_VALUE,
3504 G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED,
3505 G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND,
3506 G_BOOKMARK_FILE_ERROR_READ,
3507 G_BOOKMARK_FILE_ERROR_UNKNOWN_ENCODING,
3508 G_BOOKMARK_FILE_ERROR_WRITE,
3509 G_BOOKMARK_FILE_ERROR_FILE_NOT_FOUND
3510 } GBookmarkFileError;
3511 GQuark g_bookmark_file_error_quark (void);
3512 typedef struct _GBookmarkFile GBookmarkFile;
3513 GBookmarkFile *g_bookmark_file_new (void);
3514 void g_bookmark_file_free (GBookmarkFile *bookmark);
3515 gboolean g_bookmark_file_load_from_file (GBookmarkFile *bookmark,
3516 const gchar *filename,
3518 gboolean g_bookmark_file_load_from_data (GBookmarkFile *bookmark,
3522 gboolean g_bookmark_file_load_from_data_dirs (GBookmarkFile *bookmark,
3526 gchar * g_bookmark_file_to_data (GBookmarkFile *bookmark,
3528 GError **error) __attribute__((__malloc__));
3529 gboolean g_bookmark_file_to_file (GBookmarkFile *bookmark,
3530 const gchar *filename,
3532 void g_bookmark_file_set_title (GBookmarkFile *bookmark,
3534 const gchar *title);
3535 gchar * g_bookmark_file_get_title (GBookmarkFile *bookmark,
3537 GError **error) __attribute__((__malloc__));
3538 void g_bookmark_file_set_description (GBookmarkFile *bookmark,
3540 const gchar *description);
3541 gchar * g_bookmark_file_get_description (GBookmarkFile *bookmark,
3543 GError **error) __attribute__((__malloc__));
3544 void g_bookmark_file_set_mime_type (GBookmarkFile *bookmark,
3546 const gchar *mime_type);
3547 gchar * g_bookmark_file_get_mime_type (GBookmarkFile *bookmark,
3549 GError **error) __attribute__((__malloc__));
3550 void g_bookmark_file_set_groups (GBookmarkFile *bookmark,
3552 const gchar **groups,
3554 void g_bookmark_file_add_group (GBookmarkFile *bookmark,
3556 const gchar *group);
3557 gboolean g_bookmark_file_has_group (GBookmarkFile *bookmark,
3561 gchar ** g_bookmark_file_get_groups (GBookmarkFile *bookmark,
3564 GError **error) __attribute__((__malloc__));
3565 void g_bookmark_file_add_application (GBookmarkFile *bookmark,
3569 gboolean g_bookmark_file_has_application (GBookmarkFile *bookmark,
3573 gchar ** g_bookmark_file_get_applications (GBookmarkFile *bookmark,
3576 GError **error) __attribute__((__malloc__));
3577 gboolean g_bookmark_file_set_app_info (GBookmarkFile *bookmark,
3584 gboolean g_bookmark_file_get_app_info (GBookmarkFile *bookmark,
3591 void g_bookmark_file_set_is_private (GBookmarkFile *bookmark,
3593 gboolean is_private);
3594 gboolean g_bookmark_file_get_is_private (GBookmarkFile *bookmark,
3597 void g_bookmark_file_set_icon (GBookmarkFile *bookmark,
3600 const gchar *mime_type);
3601 gboolean g_bookmark_file_get_icon (GBookmarkFile *bookmark,
3606 void g_bookmark_file_set_added (GBookmarkFile *bookmark,
3609 time_t g_bookmark_file_get_added (GBookmarkFile *bookmark,
3612 void g_bookmark_file_set_modified (GBookmarkFile *bookmark,
3615 time_t g_bookmark_file_get_modified (GBookmarkFile *bookmark,
3618 void g_bookmark_file_set_visited (GBookmarkFile *bookmark,
3621 time_t g_bookmark_file_get_visited (GBookmarkFile *bookmark,
3624 gboolean g_bookmark_file_has_item (GBookmarkFile *bookmark,
3626 gint g_bookmark_file_get_size (GBookmarkFile *bookmark);
3627 gchar ** g_bookmark_file_get_uris (GBookmarkFile *bookmark,
3628 gsize *length) __attribute__((__malloc__));
3629 gboolean g_bookmark_file_remove_group (GBookmarkFile *bookmark,
3633 gboolean g_bookmark_file_remove_application (GBookmarkFile *bookmark,
3637 gboolean g_bookmark_file_remove_item (GBookmarkFile *bookmark,
3640 gboolean g_bookmark_file_move_item (GBookmarkFile *bookmark,
3641 const gchar *old_uri,
3642 const gchar *new_uri,
3644 gpointer g_slice_alloc (gsize block_size) __attribute__((__malloc__)) __attribute__((__alloc_size__(1)));
3645 gpointer g_slice_alloc0 (gsize block_size) __attribute__((__malloc__)) __attribute__((__alloc_size__(1)));
3646 gpointer g_slice_copy (gsize block_size,
3647 gconstpointer mem_block) __attribute__((__malloc__)) __attribute__((__alloc_size__(1)));
3648 void g_slice_free1 (gsize block_size,
3649 gpointer mem_block);
3650 void g_slice_free_chain_with_offset (gsize block_size,
3654 G_SLICE_CONFIG_ALWAYS_MALLOC = 1,
3655 G_SLICE_CONFIG_BYPASS_MAGAZINES,
3656 G_SLICE_CONFIG_WORKING_SET_MSECS,
3657 G_SLICE_CONFIG_COLOR_INCREMENT,
3658 G_SLICE_CONFIG_CHUNK_SIZES,
3659 G_SLICE_CONFIG_CONTENTION_COUNTER
3661 void g_slice_set_config (GSliceConfig ckey, gint64 value);
3662 gint64 g_slice_get_config (GSliceConfig ckey);
3663 gint64* g_slice_get_config_state (GSliceConfig ckey, gint64 address, guint *n_values);
3664 typedef struct _GMemVTable GMemVTable;
3665 gpointer g_malloc (gsize n_bytes) __attribute__((__malloc__)) __attribute__((__alloc_size__(1)));
3666 gpointer g_malloc0 (gsize n_bytes) __attribute__((__malloc__)) __attribute__((__alloc_size__(1)));
3667 gpointer g_realloc (gpointer mem,
3668 gsize n_bytes) __attribute__((warn_unused_result));
3669 void g_free (gpointer mem);
3670 gpointer g_try_malloc (gsize n_bytes) __attribute__((__malloc__)) __attribute__((__alloc_size__(1)));
3671 gpointer g_try_malloc0 (gsize n_bytes) __attribute__((__malloc__)) __attribute__((__alloc_size__(1)));
3672 gpointer g_try_realloc (gpointer mem,
3673 gsize n_bytes) __attribute__((warn_unused_result));
3676 gpointer (*malloc) (gsize n_bytes);
3677 gpointer (*realloc) (gpointer mem,
3679 void (*free) (gpointer mem);
3680 gpointer (*calloc) (gsize n_blocks,
3681 gsize n_block_bytes);
3682 gpointer (*try_malloc) (gsize n_bytes);
3683 gpointer (*try_realloc) (gpointer mem,
3686 void g_mem_set_vtable (GMemVTable *vtable);
3687 gboolean g_mem_is_system_malloc (void);
3688 extern gboolean g_mem_gc_friendly;
3689 extern GMemVTable *glib_mem_profiler_table;
3690 void g_mem_profile (void);
3691 typedef struct _GAllocator GAllocator;
3692 typedef struct _GMemChunk GMemChunk;
3693 GMemChunk* g_mem_chunk_new (const gchar *name,
3697 void g_mem_chunk_destroy (GMemChunk *mem_chunk);
3698 gpointer g_mem_chunk_alloc (GMemChunk *mem_chunk);
3699 gpointer g_mem_chunk_alloc0 (GMemChunk *mem_chunk);
3700 void g_mem_chunk_free (GMemChunk *mem_chunk,
3702 void g_mem_chunk_clean (GMemChunk *mem_chunk);
3703 void g_mem_chunk_reset (GMemChunk *mem_chunk);
3704 void g_mem_chunk_print (GMemChunk *mem_chunk);
3705 void g_mem_chunk_info (void);
3706 void g_blow_chunks (void);
3707 GAllocator*g_allocator_new (const gchar *name,
3709 void g_allocator_free (GAllocator *allocator);
3710 typedef struct _GList GList;
3717 GList* g_list_alloc (void) __attribute__((warn_unused_result));
3718 void g_list_free (GList *list);
3719 void g_list_free_1 (GList *list);
3720 GList* g_list_append (GList *list,
3721 gpointer data) __attribute__((warn_unused_result));
3722 GList* g_list_prepend (GList *list,
3723 gpointer data) __attribute__((warn_unused_result));
3724 GList* g_list_insert (GList *list,
3726 gint position) __attribute__((warn_unused_result));
3727 GList* g_list_insert_sorted (GList *list,
3729 GCompareFunc func) __attribute__((warn_unused_result));
3730 GList* g_list_insert_sorted_with_data (GList *list,
3732 GCompareDataFunc func,
3733 gpointer user_data) __attribute__((warn_unused_result));
3734 GList* g_list_insert_before (GList *list,
3736 gpointer data) __attribute__((warn_unused_result));
3737 GList* g_list_concat (GList *list1,
3738 GList *list2) __attribute__((warn_unused_result));
3739 GList* g_list_remove (GList *list,
3740 gconstpointer data) __attribute__((warn_unused_result));
3741 GList* g_list_remove_all (GList *list,
3742 gconstpointer data) __attribute__((warn_unused_result));
3743 GList* g_list_remove_link (GList *list,
3744 GList *llink) __attribute__((warn_unused_result));
3745 GList* g_list_delete_link (GList *list,
3746 GList *link_) __attribute__((warn_unused_result));
3747 GList* g_list_reverse (GList *list) __attribute__((warn_unused_result));
3748 GList* g_list_copy (GList *list) __attribute__((warn_unused_result));
3749 GList* g_list_nth (GList *list,
3751 GList* g_list_nth_prev (GList *list,
3753 GList* g_list_find (GList *list,
3754 gconstpointer data);
3755 GList* g_list_find_custom (GList *list,
3758 gint g_list_position (GList *list,
3760 gint g_list_index (GList *list,
3761 gconstpointer data);
3762 GList* g_list_last (GList *list);
3763 GList* g_list_first (GList *list);
3764 guint g_list_length (GList *list);
3765 void g_list_foreach (GList *list,
3767 gpointer user_data);
3768 GList* g_list_sort (GList *list,
3769 GCompareFunc compare_func) __attribute__((warn_unused_result));
3770 GList* g_list_sort_with_data (GList *list,
3771 GCompareDataFunc compare_func,
3772 gpointer user_data) __attribute__((warn_unused_result));
3773 gpointer g_list_nth_data (GList *list,
3775 void g_list_push_allocator (gpointer allocator);
3776 void g_list_pop_allocator (void);
3777 typedef struct _GCache GCache;
3778 typedef gpointer (*GCacheNewFunc) (gpointer key);
3779 typedef gpointer (*GCacheDupFunc) (gpointer value);
3780 typedef void (*GCacheDestroyFunc) (gpointer value);
3781 GCache* g_cache_new (GCacheNewFunc value_new_func,
3782 GCacheDestroyFunc value_destroy_func,
3783 GCacheDupFunc key_dup_func,
3784 GCacheDestroyFunc key_destroy_func,
3785 GHashFunc hash_key_func,
3786 GHashFunc hash_value_func,
3787 GEqualFunc key_equal_func);
3788 void g_cache_destroy (GCache *cache);
3789 gpointer g_cache_insert (GCache *cache,
3791 void g_cache_remove (GCache *cache,
3792 gconstpointer value);
3793 void g_cache_key_foreach (GCache *cache,
3795 gpointer user_data);
3796 void g_cache_value_foreach (GCache *cache,
3798 gpointer user_data);
3804 typedef struct _GChecksum GChecksum;
3805 gssize g_checksum_type_get_length (GChecksumType checksum_type);
3806 GChecksum * g_checksum_new (GChecksumType checksum_type);
3807 void g_checksum_reset (GChecksum *checksum);
3808 GChecksum * g_checksum_copy (const GChecksum *checksum);
3809 void g_checksum_free (GChecksum *checksum);
3810 void g_checksum_update (GChecksum *checksum,
3813 const gchar *g_checksum_get_string (GChecksum *checksum);
3814 void g_checksum_get_digest (GChecksum *checksum,
3817 gchar *g_compute_checksum_for_data (GChecksumType checksum_type,
3820 gchar *g_compute_checksum_for_string (GChecksumType checksum_type,
3823 typedef struct _GCompletion GCompletion;
3824 typedef gchar* (*GCompletionFunc) (gpointer);
3825 typedef gint (*GCompletionStrncmpFunc) (const gchar *s1,
3831 GCompletionFunc func;
3834 GCompletionStrncmpFunc strncmp_func;
3836 GCompletion* g_completion_new (GCompletionFunc func);
3837 void g_completion_add_items (GCompletion* cmp,
3839 void g_completion_remove_items (GCompletion* cmp,
3841 void g_completion_clear_items (GCompletion* cmp);
3842 GList* g_completion_complete (GCompletion* cmp,
3843 const gchar* prefix,
3844 gchar** new_prefix);
3845 GList* g_completion_complete_utf8 (GCompletion *cmp,
3846 const gchar* prefix,
3847 gchar** new_prefix);
3848 void g_completion_set_compare (GCompletion *cmp,
3849 GCompletionStrncmpFunc strncmp_func);
3850 void g_completion_free (GCompletion* cmp);
3853 G_CONVERT_ERROR_NO_CONVERSION,
3854 G_CONVERT_ERROR_ILLEGAL_SEQUENCE,
3855 G_CONVERT_ERROR_FAILED,
3856 G_CONVERT_ERROR_PARTIAL_INPUT,
3857 G_CONVERT_ERROR_BAD_URI,
3858 G_CONVERT_ERROR_NOT_ABSOLUTE_PATH
3860 GQuark g_convert_error_quark (void);
3861 typedef struct _GIConv *GIConv;
3862 GIConv g_iconv_open (const gchar *to_codeset,
3863 const gchar *from_codeset);
3864 gsize g_iconv (GIConv converter,
3866 gsize *inbytes_left,
3868 gsize *outbytes_left);
3869 gint g_iconv_close (GIConv converter);
3870 gchar* g_convert (const gchar *str,
3872 const gchar *to_codeset,
3873 const gchar *from_codeset,
3875 gsize *bytes_written,
3876 GError **error) __attribute__((__malloc__));
3877 gchar* g_convert_with_iconv (const gchar *str,
3881 gsize *bytes_written,
3882 GError **error) __attribute__((__malloc__));
3883 gchar* g_convert_with_fallback (const gchar *str,
3885 const gchar *to_codeset,
3886 const gchar *from_codeset,
3889 gsize *bytes_written,
3890 GError **error) __attribute__((__malloc__));
3891 gchar* g_locale_to_utf8 (const gchar *opsysstring,
3894 gsize *bytes_written,
3895 GError **error) __attribute__((__malloc__));
3896 gchar* g_locale_from_utf8 (const gchar *utf8string,
3899 gsize *bytes_written,
3900 GError **error) __attribute__((__malloc__));
3901 gchar* g_filename_to_utf8 (const gchar *opsysstring,
3904 gsize *bytes_written,
3905 GError **error) __attribute__((__malloc__));
3906 gchar* g_filename_from_utf8 (const gchar *utf8string,
3909 gsize *bytes_written,
3910 GError **error) __attribute__((__malloc__));
3911 gchar *g_filename_from_uri (const gchar *uri,
3913 GError **error) __attribute__((__malloc__));
3914 gchar *g_filename_to_uri (const gchar *filename,
3915 const gchar *hostname,
3916 GError **error) __attribute__((__malloc__));
3917 gchar *g_filename_display_name (const gchar *filename) __attribute__((__malloc__));
3918 gboolean g_get_filename_charsets (const gchar ***charsets);
3919 gchar *g_filename_display_basename (const gchar *filename) __attribute__((__malloc__));
3920 gchar **g_uri_list_extract_uris (const gchar *uri_list) __attribute__((__malloc__));
3921 typedef struct _GData GData;
3922 typedef void (*GDataForeachFunc) (GQuark key_id,
3924 gpointer user_data);
3925 void g_datalist_init (GData **datalist);
3926 void g_datalist_clear (GData **datalist);
3927 gpointer g_datalist_id_get_data (GData **datalist,
3929 void g_datalist_id_set_data_full (GData **datalist,
3932 GDestroyNotify destroy_func);
3933 gpointer g_datalist_id_remove_no_notify (GData **datalist,
3935 void g_datalist_foreach (GData **datalist,
3936 GDataForeachFunc func,
3937 gpointer user_data);
3938 void g_datalist_set_flags (GData **datalist,
3940 void g_datalist_unset_flags (GData **datalist,
3942 guint g_datalist_get_flags (GData **datalist);
3943 void g_dataset_destroy (gconstpointer dataset_location);
3944 gpointer g_dataset_id_get_data (gconstpointer dataset_location,
3946 void g_dataset_id_set_data_full (gconstpointer dataset_location,
3949 GDestroyNotify destroy_func);
3950 gpointer g_dataset_id_remove_no_notify (gconstpointer dataset_location,
3952 void g_dataset_foreach (gconstpointer dataset_location,
3953 GDataForeachFunc func,
3954 gpointer user_data);
3955 typedef gint32 GTime;
3956 typedef guint16 GDateYear;
3957 typedef guint8 GDateDay;
3958 typedef struct _GDate GDate;
3967 G_DATE_BAD_WEEKDAY = 0,
3970 G_DATE_WEDNESDAY = 3,
3971 G_DATE_THURSDAY = 4,
3973 G_DATE_SATURDAY = 6,
3978 G_DATE_BAD_MONTH = 0,
3980 G_DATE_FEBRUARY = 2,
3987 G_DATE_SEPTEMBER = 9,
3988 G_DATE_OCTOBER = 10,
3989 G_DATE_NOVEMBER = 11,
3990 G_DATE_DECEMBER = 12
3994 guint julian_days : 32;
4001 GDate* g_date_new (void);
4002 GDate* g_date_new_dmy (GDateDay day,
4005 GDate* g_date_new_julian (guint32 julian_day);
4006 void g_date_free (GDate *date);
4007 gboolean g_date_valid (const GDate *date);
4008 gboolean g_date_valid_day (GDateDay day) __attribute__((__const__));
4009 gboolean g_date_valid_month (GDateMonth month) __attribute__((__const__));
4010 gboolean g_date_valid_year (GDateYear year) __attribute__((__const__));
4011 gboolean g_date_valid_weekday (GDateWeekday weekday) __attribute__((__const__));
4012 gboolean g_date_valid_julian (guint32 julian_date) __attribute__((__const__));
4013 gboolean g_date_valid_dmy (GDateDay day,
4015 GDateYear year) __attribute__((__const__));
4016 GDateWeekday g_date_get_weekday (const GDate *date);
4017 GDateMonth g_date_get_month (const GDate *date);
4018 GDateYear g_date_get_year (const GDate *date);
4019 GDateDay g_date_get_day (const GDate *date);
4020 guint32 g_date_get_julian (const GDate *date);
4021 guint g_date_get_day_of_year (const GDate *date);
4022 guint g_date_get_monday_week_of_year (const GDate *date);
4023 guint g_date_get_sunday_week_of_year (const GDate *date);
4024 guint g_date_get_iso8601_week_of_year (const GDate *date);
4025 void g_date_clear (GDate *date,
4027 void g_date_set_parse (GDate *date,
4029 void g_date_set_time_t (GDate *date,
4031 void g_date_set_time_val (GDate *date,
4033 void g_date_set_time (GDate *date,
4035 void g_date_set_month (GDate *date,
4037 void g_date_set_day (GDate *date,
4039 void g_date_set_year (GDate *date,
4041 void g_date_set_dmy (GDate *date,
4045 void g_date_set_julian (GDate *date,
4046 guint32 julian_date);
4047 gboolean g_date_is_first_of_month (const GDate *date);
4048 gboolean g_date_is_last_of_month (const GDate *date);
4049 void g_date_add_days (GDate *date,
4051 void g_date_subtract_days (GDate *date,
4053 void g_date_add_months (GDate *date,
4055 void g_date_subtract_months (GDate *date,
4057 void g_date_add_years (GDate *date,
4059 void g_date_subtract_years (GDate *date,
4061 gboolean g_date_is_leap_year (GDateYear year) __attribute__((__const__));
4062 guint8 g_date_get_days_in_month (GDateMonth month,
4063 GDateYear year) __attribute__((__const__));
4064 guint8 g_date_get_monday_weeks_in_year (GDateYear year) __attribute__((__const__));
4065 guint8 g_date_get_sunday_weeks_in_year (GDateYear year) __attribute__((__const__));
4066 gint g_date_days_between (const GDate *date1,
4067 const GDate *date2);
4068 gint g_date_compare (const GDate *lhs,
4070 void g_date_to_struct_tm (const GDate *date,
4072 void g_date_clamp (GDate *date,
4073 const GDate *min_date,
4074 const GDate *max_date);
4075 void g_date_order (GDate *date1, GDate *date2);
4076 gsize g_date_strftime (gchar *s,
4078 const gchar *format,
4080 typedef struct _GDir GDir;
4081 GDir * g_dir_open (const gchar *path,
4084 const gchar *g_dir_read_name (GDir *dir);
4085 void g_dir_rewind (GDir *dir);
4086 void g_dir_close (GDir *dir);
4092 G_FILE_ERROR_NAMETOOLONG,
4094 G_FILE_ERROR_NOTDIR,
4098 G_FILE_ERROR_TXTBSY,
4117 G_FILE_TEST_IS_REGULAR = 1 << 0,
4118 G_FILE_TEST_IS_SYMLINK = 1 << 1,
4119 G_FILE_TEST_IS_DIR = 1 << 2,
4120 G_FILE_TEST_IS_EXECUTABLE = 1 << 3,
4121 G_FILE_TEST_EXISTS = 1 << 4
4123 GQuark g_file_error_quark (void);
4124 GFileError g_file_error_from_errno (gint err_no);
4125 gboolean g_file_test (const gchar *filename,
4127 gboolean g_file_get_contents (const gchar *filename,
4131 gboolean g_file_set_contents (const gchar *filename,
4132 const gchar *contents,
4135 gchar *g_file_read_link (const gchar *filename,
4137 gint g_mkstemp (gchar *tmpl);
4138 gint g_file_open_tmp (const gchar *tmpl,
4141 char *g_format_size_for_display (goffset size);
4142 gchar *g_build_path (const gchar *separator,
4143 const gchar *first_element,
4144 ...) __attribute__((__malloc__)) __attribute__((__sentinel__));
4145 gchar *g_build_pathv (const gchar *separator,
4146 gchar **args) __attribute__((__malloc__));
4147 gchar *g_build_filename (const gchar *first_element,
4148 ...) __attribute__((__malloc__)) __attribute__((__sentinel__));
4149 gchar *g_build_filenamev (gchar **args) __attribute__((__malloc__));
4150 int g_mkdir_with_parents (const gchar *pathname,
4152 typedef struct _GHashTable GHashTable;
4153 typedef gboolean (*GHRFunc) (gpointer key,
4155 gpointer user_data);
4156 typedef struct _GHashTableIter GHashTableIter;
4157 struct _GHashTableIter
4166 GHashTable* g_hash_table_new (GHashFunc hash_func,
4167 GEqualFunc key_equal_func);
4168 GHashTable* g_hash_table_new_full (GHashFunc hash_func,
4169 GEqualFunc key_equal_func,
4170 GDestroyNotify key_destroy_func,
4171 GDestroyNotify value_destroy_func);
4172 void g_hash_table_destroy (GHashTable *hash_table);
4173 void g_hash_table_insert (GHashTable *hash_table,
4176 void g_hash_table_replace (GHashTable *hash_table,
4179 gboolean g_hash_table_remove (GHashTable *hash_table,
4181 void g_hash_table_remove_all (GHashTable *hash_table);
4182 gboolean g_hash_table_steal (GHashTable *hash_table,
4184 void g_hash_table_steal_all (GHashTable *hash_table);
4185 gpointer g_hash_table_lookup (GHashTable *hash_table,
4187 gboolean g_hash_table_lookup_extended (GHashTable *hash_table,
4188 gconstpointer lookup_key,
4191 void g_hash_table_foreach (GHashTable *hash_table,
4193 gpointer user_data);
4194 gpointer g_hash_table_find (GHashTable *hash_table,
4196 gpointer user_data);
4197 guint g_hash_table_foreach_remove (GHashTable *hash_table,
4199 gpointer user_data);
4200 guint g_hash_table_foreach_steal (GHashTable *hash_table,
4202 gpointer user_data);
4203 guint g_hash_table_size (GHashTable *hash_table);
4204 GList * g_hash_table_get_keys (GHashTable *hash_table);
4205 GList * g_hash_table_get_values (GHashTable *hash_table);
4206 void g_hash_table_iter_init (GHashTableIter *iter,
4207 GHashTable *hash_table);
4208 gboolean g_hash_table_iter_next (GHashTableIter *iter,
4211 GHashTable* g_hash_table_iter_get_hash_table (GHashTableIter *iter);
4212 void g_hash_table_iter_remove (GHashTableIter *iter);
4213 void g_hash_table_iter_steal (GHashTableIter *iter);
4214 GHashTable* g_hash_table_ref (GHashTable *hash_table);
4215 void g_hash_table_unref (GHashTable *hash_table);
4216 gboolean g_str_equal (gconstpointer v1,
4218 guint g_str_hash (gconstpointer v);
4219 gboolean g_int_equal (gconstpointer v1,
4221 guint g_int_hash (gconstpointer v);
4222 guint g_direct_hash (gconstpointer v) __attribute__((__const__));
4223 gboolean g_direct_equal (gconstpointer v1,
4224 gconstpointer v2) __attribute__((__const__));
4225 typedef struct _GHook GHook;
4226 typedef struct _GHookList GHookList;
4227 typedef gint (*GHookCompareFunc) (GHook *new_hook,
4229 typedef gboolean (*GHookFindFunc) (GHook *hook,
4231 typedef void (*GHookMarshaller) (GHook *hook,
4232 gpointer marshal_data);
4233 typedef gboolean (*GHookCheckMarshaller) (GHook *hook,
4234 gpointer marshal_data);
4235 typedef void (*GHookFunc) (gpointer data);
4236 typedef gboolean (*GHookCheckFunc) (gpointer data);
4237 typedef void (*GHookFinalizeFunc) (GHookList *hook_list,
4241 G_HOOK_FLAG_ACTIVE = 1 << 0,
4242 G_HOOK_FLAG_IN_CALL = 1 << 1,
4243 G_HOOK_FLAG_MASK = 0x0f
4248 guint hook_size : 16;
4252 GHookFinalizeFunc finalize_hook;
4264 GDestroyNotify destroy;
4266 void g_hook_list_init (GHookList *hook_list,
4268 void g_hook_list_clear (GHookList *hook_list);
4269 GHook* g_hook_alloc (GHookList *hook_list);
4270 void g_hook_free (GHookList *hook_list,
4272 GHook * g_hook_ref (GHookList *hook_list,
4274 void g_hook_unref (GHookList *hook_list,
4276 gboolean g_hook_destroy (GHookList *hook_list,
4278 void g_hook_destroy_link (GHookList *hook_list,
4280 void g_hook_prepend (GHookList *hook_list,
4282 void g_hook_insert_before (GHookList *hook_list,
4285 void g_hook_insert_sorted (GHookList *hook_list,
4287 GHookCompareFunc func);
4288 GHook* g_hook_get (GHookList *hook_list,
4290 GHook* g_hook_find (GHookList *hook_list,
4291 gboolean need_valids,
4294 GHook* g_hook_find_data (GHookList *hook_list,
4295 gboolean need_valids,
4297 GHook* g_hook_find_func (GHookList *hook_list,
4298 gboolean need_valids,
4300 GHook* g_hook_find_func_data (GHookList *hook_list,
4301 gboolean need_valids,
4304 GHook* g_hook_first_valid (GHookList *hook_list,
4305 gboolean may_be_in_call);
4306 GHook* g_hook_next_valid (GHookList *hook_list,
4308 gboolean may_be_in_call);
4309 gint g_hook_compare_ids (GHook *new_hook,
4311 void g_hook_list_invoke (GHookList *hook_list,
4312 gboolean may_recurse);
4313 void g_hook_list_invoke_check (GHookList *hook_list,
4314 gboolean may_recurse);
4315 void g_hook_list_marshal (GHookList *hook_list,
4316 gboolean may_recurse,
4317 GHookMarshaller marshaller,
4318 gpointer marshal_data);
4319 void g_hook_list_marshal_check (GHookList *hook_list,
4320 gboolean may_recurse,
4321 GHookCheckMarshaller marshaller,
4322 gpointer marshal_data);
4323 typedef struct _GPollFD GPollFD;
4324 typedef gint (*GPollFunc) (GPollFD *ufds,
4333 gint g_poll (GPollFD *fds,
4336 typedef struct _GSList GSList;
4342 GSList* g_slist_alloc (void) __attribute__((warn_unused_result));
4343 void g_slist_free (GSList *list);
4344 void g_slist_free_1 (GSList *list);
4345 GSList* g_slist_append (GSList *list,
4346 gpointer data) __attribute__((warn_unused_result));
4347 GSList* g_slist_prepend (GSList *list,
4348 gpointer data) __attribute__((warn_unused_result));
4349 GSList* g_slist_insert (GSList *list,
4351 gint position) __attribute__((warn_unused_result));
4352 GSList* g_slist_insert_sorted (GSList *list,
4354 GCompareFunc func) __attribute__((warn_unused_result));
4355 GSList* g_slist_insert_sorted_with_data (GSList *list,
4357 GCompareDataFunc func,
4358 gpointer user_data) __attribute__((warn_unused_result));
4359 GSList* g_slist_insert_before (GSList *slist,
4361 gpointer data) __attribute__((warn_unused_result));
4362 GSList* g_slist_concat (GSList *list1,
4363 GSList *list2) __attribute__((warn_unused_result));
4364 GSList* g_slist_remove (GSList *list,
4365 gconstpointer data) __attribute__((warn_unused_result));
4366 GSList* g_slist_remove_all (GSList *list,
4367 gconstpointer data) __attribute__((warn_unused_result));
4368 GSList* g_slist_remove_link (GSList *list,
4369 GSList *link_) __attribute__((warn_unused_result));
4370 GSList* g_slist_delete_link (GSList *list,
4371 GSList *link_) __attribute__((warn_unused_result));
4372 GSList* g_slist_reverse (GSList *list) __attribute__((warn_unused_result));
4373 GSList* g_slist_copy (GSList *list) __attribute__((warn_unused_result));
4374 GSList* g_slist_nth (GSList *list,
4376 GSList* g_slist_find (GSList *list,
4377 gconstpointer data);
4378 GSList* g_slist_find_custom (GSList *list,
4381 gint g_slist_position (GSList *list,
4383 gint g_slist_index (GSList *list,
4384 gconstpointer data);
4385 GSList* g_slist_last (GSList *list);
4386 guint g_slist_length (GSList *list);
4387 void g_slist_foreach (GSList *list,
4389 gpointer user_data);
4390 GSList* g_slist_sort (GSList *list,
4391 GCompareFunc compare_func) __attribute__((warn_unused_result));
4392 GSList* g_slist_sort_with_data (GSList *list,
4393 GCompareDataFunc compare_func,
4394 gpointer user_data) __attribute__((warn_unused_result));
4395 gpointer g_slist_nth_data (GSList *list,
4397 void g_slist_push_allocator (gpointer dummy);
4398 void g_slist_pop_allocator (void);
4399 typedef struct _GMainContext GMainContext;
4400 typedef struct _GMainLoop GMainLoop;
4401 typedef struct _GSource GSource;
4402 typedef struct _GSourceCallbackFuncs GSourceCallbackFuncs;
4403 typedef struct _GSourceFuncs GSourceFuncs;
4404 typedef gboolean (*GSourceFunc) (gpointer data);
4405 typedef void (*GChildWatchFunc) (GPid pid,
4410 gpointer callback_data;
4411 GSourceCallbackFuncs *callback_funcs;
4412 GSourceFuncs *source_funcs;
4414 GMainContext *context;
4424 struct _GSourceCallbackFuncs
4426 void (*ref) (gpointer cb_data);
4427 void (*unref) (gpointer cb_data);
4428 void (*get) (gpointer cb_data,
4433 typedef void (*GSourceDummyMarshal) (void);
4434 struct _GSourceFuncs
4436 gboolean (*prepare) (GSource *source,
4438 gboolean (*check) (GSource *source);
4439 gboolean (*dispatch) (GSource *source,
4440 GSourceFunc callback,
4441 gpointer user_data);
4442 void (*finalize) (GSource *source);
4443 GSourceFunc closure_callback;
4444 GSourceDummyMarshal closure_marshal;
4446 GMainContext *g_main_context_new (void);
4447 GMainContext *g_main_context_ref (GMainContext *context);
4448 void g_main_context_unref (GMainContext *context);
4449 GMainContext *g_main_context_default (void);
4450 gboolean g_main_context_iteration (GMainContext *context,
4451 gboolean may_block);
4452 gboolean g_main_context_pending (GMainContext *context);
4453 GSource *g_main_context_find_source_by_id (GMainContext *context,
4455 GSource *g_main_context_find_source_by_user_data (GMainContext *context,
4456 gpointer user_data);
4457 GSource *g_main_context_find_source_by_funcs_user_data (GMainContext *context,
4458 GSourceFuncs *funcs,
4459 gpointer user_data);
4460 void g_main_context_wakeup (GMainContext *context);
4461 gboolean g_main_context_acquire (GMainContext *context);
4462 void g_main_context_release (GMainContext *context);
4463 gboolean g_main_context_is_owner (GMainContext *context);
4464 gboolean g_main_context_wait (GMainContext *context,
4467 gboolean g_main_context_prepare (GMainContext *context,
4469 gint g_main_context_query (GMainContext *context,
4474 gint g_main_context_check (GMainContext *context,
4478 void g_main_context_dispatch (GMainContext *context);
4479 void g_main_context_set_poll_func (GMainContext *context,
4481 GPollFunc g_main_context_get_poll_func (GMainContext *context);
4482 void g_main_context_add_poll (GMainContext *context,
4485 void g_main_context_remove_poll (GMainContext *context,
4487 gint g_main_depth (void);
4488 GSource *g_main_current_source (void);
4489 GMainLoop *g_main_loop_new (GMainContext *context,
4490 gboolean is_running);
4491 void g_main_loop_run (GMainLoop *loop);
4492 void g_main_loop_quit (GMainLoop *loop);
4493 GMainLoop *g_main_loop_ref (GMainLoop *loop);
4494 void g_main_loop_unref (GMainLoop *loop);
4495 gboolean g_main_loop_is_running (GMainLoop *loop);
4496 GMainContext *g_main_loop_get_context (GMainLoop *loop);
4497 GSource *g_source_new (GSourceFuncs *source_funcs,
4499 GSource *g_source_ref (GSource *source);
4500 void g_source_unref (GSource *source);
4501 guint g_source_attach (GSource *source,
4502 GMainContext *context);
4503 void g_source_destroy (GSource *source);
4504 void g_source_set_priority (GSource *source,
4506 gint g_source_get_priority (GSource *source);
4507 void g_source_set_can_recurse (GSource *source,
4508 gboolean can_recurse);
4509 gboolean g_source_get_can_recurse (GSource *source);
4510 guint g_source_get_id (GSource *source);
4511 GMainContext *g_source_get_context (GSource *source);
4512 void g_source_set_callback (GSource *source,
4515 GDestroyNotify notify);
4516 void g_source_set_funcs (GSource *source,
4517 GSourceFuncs *funcs);
4518 gboolean g_source_is_destroyed (GSource *source);
4519 void g_source_set_callback_indirect (GSource *source,
4520 gpointer callback_data,
4521 GSourceCallbackFuncs *callback_funcs);
4522 void g_source_add_poll (GSource *source,
4524 void g_source_remove_poll (GSource *source,
4526 void g_source_get_current_time (GSource *source,
4528 GSource *g_idle_source_new (void);
4529 GSource *g_child_watch_source_new (GPid pid);
4530 GSource *g_timeout_source_new (guint interval);
4531 GSource *g_timeout_source_new_seconds (guint interval);
4532 void g_get_current_time (GTimeVal *result);
4533 gboolean g_source_remove (guint tag);
4534 gboolean g_source_remove_by_user_data (gpointer user_data);
4535 gboolean g_source_remove_by_funcs_user_data (GSourceFuncs *funcs,
4536 gpointer user_data);
4537 guint g_timeout_add_full (gint priority,
4539 GSourceFunc function,
4541 GDestroyNotify notify);
4542 guint g_timeout_add (guint interval,
4543 GSourceFunc function,
4545 guint g_timeout_add_seconds_full (gint priority,
4547 GSourceFunc function,
4549 GDestroyNotify notify);
4550 guint g_timeout_add_seconds (guint interval,
4551 GSourceFunc function,
4553 guint g_child_watch_add_full (gint priority,
4555 GChildWatchFunc function,
4557 GDestroyNotify notify);
4558 guint g_child_watch_add (GPid pid,
4559 GChildWatchFunc function,
4561 guint g_idle_add (GSourceFunc function,
4563 guint g_idle_add_full (gint priority,
4564 GSourceFunc function,
4566 GDestroyNotify notify);
4567 gboolean g_idle_remove_by_data (gpointer data);
4568 extern GSourceFuncs g_timeout_funcs;
4569 extern GSourceFuncs g_child_watch_funcs;
4570 extern GSourceFuncs g_idle_funcs;
4571 typedef guint32 gunichar;
4572 typedef guint16 gunichar2;
4577 G_UNICODE_UNASSIGNED,
4578 G_UNICODE_PRIVATE_USE,
4579 G_UNICODE_SURROGATE,
4580 G_UNICODE_LOWERCASE_LETTER,
4581 G_UNICODE_MODIFIER_LETTER,
4582 G_UNICODE_OTHER_LETTER,
4583 G_UNICODE_TITLECASE_LETTER,
4584 G_UNICODE_UPPERCASE_LETTER,
4585 G_UNICODE_COMBINING_MARK,
4586 G_UNICODE_ENCLOSING_MARK,
4587 G_UNICODE_NON_SPACING_MARK,
4588 G_UNICODE_DECIMAL_NUMBER,
4589 G_UNICODE_LETTER_NUMBER,
4590 G_UNICODE_OTHER_NUMBER,
4591 G_UNICODE_CONNECT_PUNCTUATION,
4592 G_UNICODE_DASH_PUNCTUATION,
4593 G_UNICODE_CLOSE_PUNCTUATION,
4594 G_UNICODE_FINAL_PUNCTUATION,
4595 G_UNICODE_INITIAL_PUNCTUATION,
4596 G_UNICODE_OTHER_PUNCTUATION,
4597 G_UNICODE_OPEN_PUNCTUATION,
4598 G_UNICODE_CURRENCY_SYMBOL,
4599 G_UNICODE_MODIFIER_SYMBOL,
4600 G_UNICODE_MATH_SYMBOL,
4601 G_UNICODE_OTHER_SYMBOL,
4602 G_UNICODE_LINE_SEPARATOR,
4603 G_UNICODE_PARAGRAPH_SEPARATOR,
4604 G_UNICODE_SPACE_SEPARATOR
4608 G_UNICODE_BREAK_MANDATORY,
4609 G_UNICODE_BREAK_CARRIAGE_RETURN,
4610 G_UNICODE_BREAK_LINE_FEED,
4611 G_UNICODE_BREAK_COMBINING_MARK,
4612 G_UNICODE_BREAK_SURROGATE,
4613 G_UNICODE_BREAK_ZERO_WIDTH_SPACE,
4614 G_UNICODE_BREAK_INSEPARABLE,
4615 G_UNICODE_BREAK_NON_BREAKING_GLUE,
4616 G_UNICODE_BREAK_CONTINGENT,
4617 G_UNICODE_BREAK_SPACE,
4618 G_UNICODE_BREAK_AFTER,
4619 G_UNICODE_BREAK_BEFORE,
4620 G_UNICODE_BREAK_BEFORE_AND_AFTER,
4621 G_UNICODE_BREAK_HYPHEN,
4622 G_UNICODE_BREAK_NON_STARTER,
4623 G_UNICODE_BREAK_OPEN_PUNCTUATION,
4624 G_UNICODE_BREAK_CLOSE_PUNCTUATION,
4625 G_UNICODE_BREAK_QUOTATION,
4626 G_UNICODE_BREAK_EXCLAMATION,
4627 G_UNICODE_BREAK_IDEOGRAPHIC,
4628 G_UNICODE_BREAK_NUMERIC,
4629 G_UNICODE_BREAK_INFIX_SEPARATOR,
4630 G_UNICODE_BREAK_SYMBOL,
4631 G_UNICODE_BREAK_ALPHABETIC,
4632 G_UNICODE_BREAK_PREFIX,
4633 G_UNICODE_BREAK_POSTFIX,
4634 G_UNICODE_BREAK_COMPLEX_CONTEXT,
4635 G_UNICODE_BREAK_AMBIGUOUS,
4636 G_UNICODE_BREAK_UNKNOWN,
4637 G_UNICODE_BREAK_NEXT_LINE,
4638 G_UNICODE_BREAK_WORD_JOINER,
4639 G_UNICODE_BREAK_HANGUL_L_JAMO,
4640 G_UNICODE_BREAK_HANGUL_V_JAMO,
4641 G_UNICODE_BREAK_HANGUL_T_JAMO,
4642 G_UNICODE_BREAK_HANGUL_LV_SYLLABLE,
4643 G_UNICODE_BREAK_HANGUL_LVT_SYLLABLE
4644 } GUnicodeBreakType;
4647 G_UNICODE_SCRIPT_INVALID_CODE = -1,
4648 G_UNICODE_SCRIPT_COMMON = 0,
4649 G_UNICODE_SCRIPT_INHERITED,
4650 G_UNICODE_SCRIPT_ARABIC,
4651 G_UNICODE_SCRIPT_ARMENIAN,
4652 G_UNICODE_SCRIPT_BENGALI,
4653 G_UNICODE_SCRIPT_BOPOMOFO,
4654 G_UNICODE_SCRIPT_CHEROKEE,
4655 G_UNICODE_SCRIPT_COPTIC,
4656 G_UNICODE_SCRIPT_CYRILLIC,
4657 G_UNICODE_SCRIPT_DESERET,
4658 G_UNICODE_SCRIPT_DEVANAGARI,
4659 G_UNICODE_SCRIPT_ETHIOPIC,
4660 G_UNICODE_SCRIPT_GEORGIAN,
4661 G_UNICODE_SCRIPT_GOTHIC,
4662 G_UNICODE_SCRIPT_GREEK,
4663 G_UNICODE_SCRIPT_GUJARATI,
4664 G_UNICODE_SCRIPT_GURMUKHI,
4665 G_UNICODE_SCRIPT_HAN,
4666 G_UNICODE_SCRIPT_HANGUL,
4667 G_UNICODE_SCRIPT_HEBREW,
4668 G_UNICODE_SCRIPT_HIRAGANA,
4669 G_UNICODE_SCRIPT_KANNADA,
4670 G_UNICODE_SCRIPT_KATAKANA,
4671 G_UNICODE_SCRIPT_KHMER,
4672 G_UNICODE_SCRIPT_LAO,
4673 G_UNICODE_SCRIPT_LATIN,
4674 G_UNICODE_SCRIPT_MALAYALAM,
4675 G_UNICODE_SCRIPT_MONGOLIAN,
4676 G_UNICODE_SCRIPT_MYANMAR,
4677 G_UNICODE_SCRIPT_OGHAM,
4678 G_UNICODE_SCRIPT_OLD_ITALIC,
4679 G_UNICODE_SCRIPT_ORIYA,
4680 G_UNICODE_SCRIPT_RUNIC,
4681 G_UNICODE_SCRIPT_SINHALA,
4682 G_UNICODE_SCRIPT_SYRIAC,
4683 G_UNICODE_SCRIPT_TAMIL,
4684 G_UNICODE_SCRIPT_TELUGU,
4685 G_UNICODE_SCRIPT_THAANA,
4686 G_UNICODE_SCRIPT_THAI,
4687 G_UNICODE_SCRIPT_TIBETAN,
4688 G_UNICODE_SCRIPT_CANADIAN_ABORIGINAL,
4689 G_UNICODE_SCRIPT_YI,
4690 G_UNICODE_SCRIPT_TAGALOG,
4691 G_UNICODE_SCRIPT_HANUNOO,
4692 G_UNICODE_SCRIPT_BUHID,
4693 G_UNICODE_SCRIPT_TAGBANWA,
4694 G_UNICODE_SCRIPT_BRAILLE,
4695 G_UNICODE_SCRIPT_CYPRIOT,
4696 G_UNICODE_SCRIPT_LIMBU,
4697 G_UNICODE_SCRIPT_OSMANYA,
4698 G_UNICODE_SCRIPT_SHAVIAN,
4699 G_UNICODE_SCRIPT_LINEAR_B,
4700 G_UNICODE_SCRIPT_TAI_LE,
4701 G_UNICODE_SCRIPT_UGARITIC,
4702 G_UNICODE_SCRIPT_NEW_TAI_LUE,
4703 G_UNICODE_SCRIPT_BUGINESE,
4704 G_UNICODE_SCRIPT_GLAGOLITIC,
4705 G_UNICODE_SCRIPT_TIFINAGH,
4706 G_UNICODE_SCRIPT_SYLOTI_NAGRI,
4707 G_UNICODE_SCRIPT_OLD_PERSIAN,
4708 G_UNICODE_SCRIPT_KHAROSHTHI,
4709 G_UNICODE_SCRIPT_UNKNOWN,
4710 G_UNICODE_SCRIPT_BALINESE,
4711 G_UNICODE_SCRIPT_CUNEIFORM,
4712 G_UNICODE_SCRIPT_PHOENICIAN,
4713 G_UNICODE_SCRIPT_PHAGS_PA,
4714 G_UNICODE_SCRIPT_NKO,
4715 G_UNICODE_SCRIPT_KAYAH_LI,
4716 G_UNICODE_SCRIPT_LEPCHA,
4717 G_UNICODE_SCRIPT_REJANG,
4718 G_UNICODE_SCRIPT_SUNDANESE,
4719 G_UNICODE_SCRIPT_SAURASHTRA,
4720 G_UNICODE_SCRIPT_CHAM,
4721 G_UNICODE_SCRIPT_OL_CHIKI,
4722 G_UNICODE_SCRIPT_VAI,
4723 G_UNICODE_SCRIPT_CARIAN,
4724 G_UNICODE_SCRIPT_LYCIAN,
4725 G_UNICODE_SCRIPT_LYDIAN
4727 gboolean g_get_charset (const char **charset);
4728 gboolean g_unichar_isalnum (gunichar c) __attribute__((__const__));
4729 gboolean g_unichar_isalpha (gunichar c) __attribute__((__const__));
4730 gboolean g_unichar_iscntrl (gunichar c) __attribute__((__const__));
4731 gboolean g_unichar_isdigit (gunichar c) __attribute__((__const__));
4732 gboolean g_unichar_isgraph (gunichar c) __attribute__((__const__));
4733 gboolean g_unichar_islower (gunichar c) __attribute__((__const__));
4734 gboolean g_unichar_isprint (gunichar c) __attribute__((__const__));
4735 gboolean g_unichar_ispunct (gunichar c) __attribute__((__const__));
4736 gboolean g_unichar_isspace (gunichar c) __attribute__((__const__));
4737 gboolean g_unichar_isupper (gunichar c) __attribute__((__const__));
4738 gboolean g_unichar_isxdigit (gunichar c) __attribute__((__const__));
4739 gboolean g_unichar_istitle (gunichar c) __attribute__((__const__));
4740 gboolean g_unichar_isdefined (gunichar c) __attribute__((__const__));
4741 gboolean g_unichar_iswide (gunichar c) __attribute__((__const__));
4742 gboolean g_unichar_iswide_cjk(gunichar c) __attribute__((__const__));
4743 gboolean g_unichar_iszerowidth(gunichar c) __attribute__((__const__));
4744 gboolean g_unichar_ismark (gunichar c) __attribute__((__const__));
4745 gunichar g_unichar_toupper (gunichar c) __attribute__((__const__));
4746 gunichar g_unichar_tolower (gunichar c) __attribute__((__const__));
4747 gunichar g_unichar_totitle (gunichar c) __attribute__((__const__));
4748 gint g_unichar_digit_value (gunichar c) __attribute__((__const__));
4749 gint g_unichar_xdigit_value (gunichar c) __attribute__((__const__));
4750 GUnicodeType g_unichar_type (gunichar c) __attribute__((__const__));
4751 GUnicodeBreakType g_unichar_break_type (gunichar c) __attribute__((__const__));
4752 gint g_unichar_combining_class (gunichar uc) __attribute__((__const__));
4753 void g_unicode_canonical_ordering (gunichar *string,
4755 gunichar *g_unicode_canonical_decomposition (gunichar ch,
4756 gsize *result_len) __attribute__((__malloc__));
4757 extern const gchar * const g_utf8_skip;
4758 gunichar g_utf8_get_char (const gchar *p) __attribute__((__pure__));
4759 gunichar g_utf8_get_char_validated (const gchar *p,
4760 gssize max_len) __attribute__((__pure__));
4761 gchar* g_utf8_offset_to_pointer (const gchar *str,
4762 glong offset) __attribute__((__pure__));
4763 glong g_utf8_pointer_to_offset (const gchar *str,
4764 const gchar *pos) __attribute__((__pure__));
4765 gchar* g_utf8_prev_char (const gchar *p) __attribute__((__pure__));
4766 gchar* g_utf8_find_next_char (const gchar *p,
4767 const gchar *end) __attribute__((__pure__));
4768 gchar* g_utf8_find_prev_char (const gchar *str,
4769 const gchar *p) __attribute__((__pure__));
4770 glong g_utf8_strlen (const gchar *p,
4771 gssize max) __attribute__((__pure__));
4772 gchar* g_utf8_strncpy (gchar *dest,
4775 gchar* g_utf8_strchr (const gchar *p,
4778 gchar* g_utf8_strrchr (const gchar *p,
4781 gchar* g_utf8_strreverse (const gchar *str,
4783 gunichar2 *g_utf8_to_utf16 (const gchar *str,
4786 glong *items_written,
4787 GError **error) __attribute__((__malloc__));
4788 gunichar * g_utf8_to_ucs4 (const gchar *str,
4791 glong *items_written,
4792 GError **error) __attribute__((__malloc__));
4793 gunichar * g_utf8_to_ucs4_fast (const gchar *str,
4795 glong *items_written) __attribute__((__malloc__));
4796 gunichar * g_utf16_to_ucs4 (const gunichar2 *str,
4799 glong *items_written,
4800 GError **error) __attribute__((__malloc__));
4801 gchar* g_utf16_to_utf8 (const gunichar2 *str,
4804 glong *items_written,
4805 GError **error) __attribute__((__malloc__));
4806 gunichar2 *g_ucs4_to_utf16 (const gunichar *str,
4809 glong *items_written,
4810 GError **error) __attribute__((__malloc__));
4811 gchar* g_ucs4_to_utf8 (const gunichar *str,
4814 glong *items_written,
4815 GError **error) __attribute__((__malloc__));
4816 gint g_unichar_to_utf8 (gunichar c,
4818 gboolean g_utf8_validate (const gchar *str,
4821 gboolean g_unichar_validate (gunichar ch) __attribute__((__const__));
4822 gchar *g_utf8_strup (const gchar *str,
4823 gssize len) __attribute__((__malloc__));
4824 gchar *g_utf8_strdown (const gchar *str,
4825 gssize len) __attribute__((__malloc__));
4826 gchar *g_utf8_casefold (const gchar *str,
4827 gssize len) __attribute__((__malloc__));
4829 G_NORMALIZE_DEFAULT,
4830 G_NORMALIZE_NFD = G_NORMALIZE_DEFAULT,
4831 G_NORMALIZE_DEFAULT_COMPOSE,
4832 G_NORMALIZE_NFC = G_NORMALIZE_DEFAULT_COMPOSE,
4834 G_NORMALIZE_NFKD = G_NORMALIZE_ALL,
4835 G_NORMALIZE_ALL_COMPOSE,
4836 G_NORMALIZE_NFKC = G_NORMALIZE_ALL_COMPOSE
4838 gchar *g_utf8_normalize (const gchar *str,
4840 GNormalizeMode mode) __attribute__((__malloc__));
4841 gint g_utf8_collate (const gchar *str1,
4842 const gchar *str2) __attribute__((__pure__));
4843 gchar *g_utf8_collate_key (const gchar *str,
4844 gssize len) __attribute__((__malloc__));
4845 gchar *g_utf8_collate_key_for_filename (const gchar *str,
4846 gssize len) __attribute__((__malloc__));
4847 gboolean g_unichar_get_mirror_char (gunichar ch,
4848 gunichar *mirrored_ch);
4849 GUnicodeScript g_unichar_get_script (gunichar ch) __attribute__((__const__));
4850 gchar *_g_utf8_make_valid (const gchar *name);
4851 typedef struct _GString GString;
4852 typedef struct _GStringChunk GStringChunk;
4857 gsize allocated_len;
4859 GStringChunk* g_string_chunk_new (gsize size);
4860 void g_string_chunk_free (GStringChunk *chunk);
4861 void g_string_chunk_clear (GStringChunk *chunk);
4862 gchar* g_string_chunk_insert (GStringChunk *chunk,
4863 const gchar *string);
4864 gchar* g_string_chunk_insert_len (GStringChunk *chunk,
4865 const gchar *string,
4867 gchar* g_string_chunk_insert_const (GStringChunk *chunk,
4868 const gchar *string);
4869 GString* g_string_new (const gchar *init);
4870 GString* g_string_new_len (const gchar *init,
4872 GString* g_string_sized_new (gsize dfl_size);
4873 gchar* g_string_free (GString *string,
4874 gboolean free_segment);
4875 gboolean g_string_equal (const GString *v,
4877 guint g_string_hash (const GString *str);
4878 GString* g_string_assign (GString *string,
4880 GString* g_string_truncate (GString *string,
4882 GString* g_string_set_size (GString *string,
4884 GString* g_string_insert_len (GString *string,
4888 GString* g_string_append (GString *string,
4890 GString* g_string_append_len (GString *string,
4893 GString* g_string_append_c (GString *string,
4895 GString* g_string_append_unichar (GString *string,
4897 GString* g_string_prepend (GString *string,
4899 GString* g_string_prepend_c (GString *string,
4901 GString* g_string_prepend_unichar (GString *string,
4903 GString* g_string_prepend_len (GString *string,
4906 GString* g_string_insert (GString *string,
4909 GString* g_string_insert_c (GString *string,
4912 GString* g_string_insert_unichar (GString *string,
4915 GString* g_string_overwrite (GString *string,
4918 GString* g_string_overwrite_len (GString *string,
4922 GString* g_string_erase (GString *string,
4925 GString* g_string_ascii_down (GString *string);
4926 GString* g_string_ascii_up (GString *string);
4927 void g_string_vprintf (GString *string,
4928 const gchar *format,
4930 void g_string_printf (GString *string,
4931 const gchar *format,
4932 ...) __attribute__((__format__ (__printf__, 2, 3)));
4933 void g_string_append_vprintf (GString *string,
4934 const gchar *format,
4936 void g_string_append_printf (GString *string,
4937 const gchar *format,
4938 ...) __attribute__((__format__ (__printf__, 2, 3)));
4939 GString * g_string_append_uri_escaped(GString *string,
4940 const char *unescaped,
4941 const char *reserved_chars_allowed,
4942 gboolean allow_utf8);
4943 static inline GString*
4944 g_string_append_c_inline (GString *gstring,
4947 if (gstring->len + 1 < gstring->allocated_len)
4949 gstring->str[gstring->len++] = c;
4950 gstring->str[gstring->len] = 0;
4953 g_string_insert_c (gstring, -1, c);
4956 GString* g_string_down (GString *string);
4957 GString* g_string_up (GString *string);
4958 typedef struct _GIOChannel GIOChannel;
4959 typedef struct _GIOFuncs GIOFuncs;
4969 G_IO_CHANNEL_ERROR_FBIG,
4970 G_IO_CHANNEL_ERROR_INVAL,
4971 G_IO_CHANNEL_ERROR_IO,
4972 G_IO_CHANNEL_ERROR_ISDIR,
4973 G_IO_CHANNEL_ERROR_NOSPC,
4974 G_IO_CHANNEL_ERROR_NXIO,
4975 G_IO_CHANNEL_ERROR_OVERFLOW,
4976 G_IO_CHANNEL_ERROR_PIPE,
4977 G_IO_CHANNEL_ERROR_FAILED
5003 G_IO_FLAG_APPEND = 1 << 0,
5004 G_IO_FLAG_NONBLOCK = 1 << 1,
5005 G_IO_FLAG_IS_READABLE = 1 << 2,
5006 G_IO_FLAG_IS_WRITEABLE = 1 << 3,
5007 G_IO_FLAG_IS_SEEKABLE = 1 << 4,
5008 G_IO_FLAG_MASK = (1 << 5) - 1,
5009 G_IO_FLAG_GET_MASK = G_IO_FLAG_MASK,
5010 G_IO_FLAG_SET_MASK = G_IO_FLAG_APPEND | G_IO_FLAG_NONBLOCK
5020 guint line_term_len;
5023 GString *encoded_read_buf;
5025 gchar partial_write_buf[6];
5026 guint use_buffer : 1;
5027 guint do_encode : 1;
5028 guint close_on_unref : 1;
5029 guint is_readable : 1;
5030 guint is_writeable : 1;
5031 guint is_seekable : 1;
5035 typedef gboolean (*GIOFunc) (GIOChannel *source,
5036 GIOCondition condition,
5040 GIOStatus (*io_read) (GIOChannel *channel,
5045 GIOStatus (*io_write) (GIOChannel *channel,
5048 gsize *bytes_written,
5050 GIOStatus (*io_seek) (GIOChannel *channel,
5054 GIOStatus (*io_close) (GIOChannel *channel,
5056 GSource* (*io_create_watch) (GIOChannel *channel,
5057 GIOCondition condition);
5058 void (*io_free) (GIOChannel *channel);
5059 GIOStatus (*io_set_flags) (GIOChannel *channel,
5062 GIOFlags (*io_get_flags) (GIOChannel *channel);
5064 void g_io_channel_init (GIOChannel *channel);
5065 GIOChannel *g_io_channel_ref (GIOChannel *channel);
5066 void g_io_channel_unref (GIOChannel *channel);
5067 GIOError g_io_channel_read (GIOChannel *channel,
5071 GIOError g_io_channel_write (GIOChannel *channel,
5074 gsize *bytes_written);
5075 GIOError g_io_channel_seek (GIOChannel *channel,
5078 void g_io_channel_close (GIOChannel *channel);
5079 GIOStatus g_io_channel_shutdown (GIOChannel *channel,
5082 guint g_io_add_watch_full (GIOChannel *channel,
5084 GIOCondition condition,
5087 GDestroyNotify notify);
5088 GSource * g_io_create_watch (GIOChannel *channel,
5089 GIOCondition condition);
5090 guint g_io_add_watch (GIOChannel *channel,
5091 GIOCondition condition,
5093 gpointer user_data);
5094 void g_io_channel_set_buffer_size (GIOChannel *channel,
5096 gsize g_io_channel_get_buffer_size (GIOChannel *channel);
5097 GIOCondition g_io_channel_get_buffer_condition (GIOChannel *channel);
5098 GIOStatus g_io_channel_set_flags (GIOChannel *channel,
5101 GIOFlags g_io_channel_get_flags (GIOChannel *channel);
5102 void g_io_channel_set_line_term (GIOChannel *channel,
5103 const gchar *line_term,
5105 const gchar* g_io_channel_get_line_term (GIOChannel *channel,
5107 void g_io_channel_set_buffered (GIOChannel *channel,
5109 gboolean g_io_channel_get_buffered (GIOChannel *channel);
5110 GIOStatus g_io_channel_set_encoding (GIOChannel *channel,
5111 const gchar *encoding,
5113 const gchar* g_io_channel_get_encoding (GIOChannel *channel);
5114 void g_io_channel_set_close_on_unref (GIOChannel *channel,
5116 gboolean g_io_channel_get_close_on_unref (GIOChannel *channel);
5117 GIOStatus g_io_channel_flush (GIOChannel *channel,
5119 GIOStatus g_io_channel_read_line (GIOChannel *channel,
5122 gsize *terminator_pos,
5124 GIOStatus g_io_channel_read_line_string (GIOChannel *channel,
5126 gsize *terminator_pos,
5128 GIOStatus g_io_channel_read_to_end (GIOChannel *channel,
5132 GIOStatus g_io_channel_read_chars (GIOChannel *channel,
5137 GIOStatus g_io_channel_read_unichar (GIOChannel *channel,
5140 GIOStatus g_io_channel_write_chars (GIOChannel *channel,
5143 gsize *bytes_written,
5145 GIOStatus g_io_channel_write_unichar (GIOChannel *channel,
5148 GIOStatus g_io_channel_seek_position (GIOChannel *channel,
5152 GIOChannel* g_io_channel_new_file (const gchar *filename,
5155 GQuark g_io_channel_error_quark (void);
5156 GIOChannelError g_io_channel_error_from_errno (gint en);
5157 GIOChannel* g_io_channel_unix_new (int fd);
5158 gint g_io_channel_unix_get_fd (GIOChannel *channel);
5159 extern GSourceFuncs g_io_watch_funcs;
5162 G_KEY_FILE_ERROR_UNKNOWN_ENCODING,
5163 G_KEY_FILE_ERROR_PARSE,
5164 G_KEY_FILE_ERROR_NOT_FOUND,
5165 G_KEY_FILE_ERROR_KEY_NOT_FOUND,
5166 G_KEY_FILE_ERROR_GROUP_NOT_FOUND,
5167 G_KEY_FILE_ERROR_INVALID_VALUE
5169 GQuark g_key_file_error_quark (void);
5170 typedef struct _GKeyFile GKeyFile;
5173 G_KEY_FILE_NONE = 0,
5174 G_KEY_FILE_KEEP_COMMENTS = 1 << 0,
5175 G_KEY_FILE_KEEP_TRANSLATIONS = 1 << 1
5177 GKeyFile *g_key_file_new (void);
5178 void g_key_file_free (GKeyFile *key_file);
5179 void g_key_file_set_list_separator (GKeyFile *key_file,
5181 gboolean g_key_file_load_from_file (GKeyFile *key_file,
5183 GKeyFileFlags flags,
5185 gboolean g_key_file_load_from_data (GKeyFile *key_file,
5188 GKeyFileFlags flags,
5190 gboolean g_key_file_load_from_dirs (GKeyFile *key_file,
5192 const gchar **search_dirs,
5194 GKeyFileFlags flags,
5196 gboolean g_key_file_load_from_data_dirs (GKeyFile *key_file,
5199 GKeyFileFlags flags,
5201 gchar *g_key_file_to_data (GKeyFile *key_file,
5203 GError **error) __attribute__((__malloc__));
5204 gchar *g_key_file_get_start_group (GKeyFile *key_file) __attribute__((__malloc__));
5205 gchar **g_key_file_get_groups (GKeyFile *key_file,
5206 gsize *length) __attribute__((__malloc__));
5207 gchar **g_key_file_get_keys (GKeyFile *key_file,
5208 const gchar *group_name,
5210 GError **error) __attribute__((__malloc__));
5211 gboolean g_key_file_has_group (GKeyFile *key_file,
5212 const gchar *group_name);
5213 gboolean g_key_file_has_key (GKeyFile *key_file,
5214 const gchar *group_name,
5217 gchar *g_key_file_get_value (GKeyFile *key_file,
5218 const gchar *group_name,
5220 GError **error) __attribute__((__malloc__));
5221 void g_key_file_set_value (GKeyFile *key_file,
5222 const gchar *group_name,
5224 const gchar *value);
5225 gchar *g_key_file_get_string (GKeyFile *key_file,
5226 const gchar *group_name,
5228 GError **error) __attribute__((__malloc__));
5229 void g_key_file_set_string (GKeyFile *key_file,
5230 const gchar *group_name,
5232 const gchar *string);
5233 gchar *g_key_file_get_locale_string (GKeyFile *key_file,
5234 const gchar *group_name,
5236 const gchar *locale,
5237 GError **error) __attribute__((__malloc__));
5238 void g_key_file_set_locale_string (GKeyFile *key_file,
5239 const gchar *group_name,
5241 const gchar *locale,
5242 const gchar *string);
5243 gboolean g_key_file_get_boolean (GKeyFile *key_file,
5244 const gchar *group_name,
5247 void g_key_file_set_boolean (GKeyFile *key_file,
5248 const gchar *group_name,
5251 gint g_key_file_get_integer (GKeyFile *key_file,
5252 const gchar *group_name,
5255 void g_key_file_set_integer (GKeyFile *key_file,
5256 const gchar *group_name,
5259 gdouble g_key_file_get_double (GKeyFile *key_file,
5260 const gchar *group_name,
5263 void g_key_file_set_double (GKeyFile *key_file,
5264 const gchar *group_name,
5267 gchar **g_key_file_get_string_list (GKeyFile *key_file,
5268 const gchar *group_name,
5271 GError **error) __attribute__((__malloc__));
5272 void g_key_file_set_string_list (GKeyFile *key_file,
5273 const gchar *group_name,
5275 const gchar * const list[],
5277 gchar **g_key_file_get_locale_string_list (GKeyFile *key_file,
5278 const gchar *group_name,
5280 const gchar *locale,
5282 GError **error) __attribute__((__malloc__));
5283 void g_key_file_set_locale_string_list (GKeyFile *key_file,
5284 const gchar *group_name,
5286 const gchar *locale,
5287 const gchar * const list[],
5289 gboolean *g_key_file_get_boolean_list (GKeyFile *key_file,
5290 const gchar *group_name,
5293 GError **error) __attribute__((__malloc__));
5294 void g_key_file_set_boolean_list (GKeyFile *key_file,
5295 const gchar *group_name,
5299 gint *g_key_file_get_integer_list (GKeyFile *key_file,
5300 const gchar *group_name,
5303 GError **error) __attribute__((__malloc__));
5304 void g_key_file_set_double_list (GKeyFile *key_file,
5305 const gchar *group_name,
5309 gdouble *g_key_file_get_double_list (GKeyFile *key_file,
5310 const gchar *group_name,
5313 GError **error) __attribute__((__malloc__));
5314 void g_key_file_set_integer_list (GKeyFile *key_file,
5315 const gchar *group_name,
5319 gboolean g_key_file_set_comment (GKeyFile *key_file,
5320 const gchar *group_name,
5322 const gchar *comment,
5324 gchar *g_key_file_get_comment (GKeyFile *key_file,
5325 const gchar *group_name,
5327 GError **error) __attribute__((__malloc__));
5328 gboolean g_key_file_remove_comment (GKeyFile *key_file,
5329 const gchar *group_name,
5332 gboolean g_key_file_remove_key (GKeyFile *key_file,
5333 const gchar *group_name,
5336 gboolean g_key_file_remove_group (GKeyFile *key_file,
5337 const gchar *group_name,
5339 typedef struct _GMappedFile GMappedFile;
5340 GMappedFile *g_mapped_file_new (const gchar *filename,
5342 GError **error) __attribute__((__malloc__));
5343 gsize g_mapped_file_get_length (GMappedFile *file);
5344 gchar *g_mapped_file_get_contents (GMappedFile *file);
5345 void g_mapped_file_free (GMappedFile *file);
5348 G_MARKUP_ERROR_BAD_UTF8,
5349 G_MARKUP_ERROR_EMPTY,
5350 G_MARKUP_ERROR_PARSE,
5351 G_MARKUP_ERROR_UNKNOWN_ELEMENT,
5352 G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE,
5353 G_MARKUP_ERROR_INVALID_CONTENT,
5354 G_MARKUP_ERROR_MISSING_ATTRIBUTE
5356 GQuark g_markup_error_quark (void);
5359 G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG = 1 << 0,
5360 G_MARKUP_TREAT_CDATA_AS_TEXT = 1 << 1,
5361 G_MARKUP_PREFIX_ERROR_POSITION = 1 << 2
5362 } GMarkupParseFlags;
5363 typedef struct _GMarkupParseContext GMarkupParseContext;
5364 typedef struct _GMarkupParser GMarkupParser;
5365 struct _GMarkupParser
5367 void (*start_element) (GMarkupParseContext *context,
5368 const gchar *element_name,
5369 const gchar **attribute_names,
5370 const gchar **attribute_values,
5373 void (*end_element) (GMarkupParseContext *context,
5374 const gchar *element_name,
5377 void (*text) (GMarkupParseContext *context,
5382 void (*passthrough) (GMarkupParseContext *context,
5383 const gchar *passthrough_text,
5387 void (*error) (GMarkupParseContext *context,
5389 gpointer user_data);
5391 GMarkupParseContext *g_markup_parse_context_new (const GMarkupParser *parser,
5392 GMarkupParseFlags flags,
5394 GDestroyNotify user_data_dnotify);
5395 void g_markup_parse_context_free (GMarkupParseContext *context);
5396 gboolean g_markup_parse_context_parse (GMarkupParseContext *context,
5400 void g_markup_parse_context_push (GMarkupParseContext *context,
5401 GMarkupParser *parser,
5402 gpointer user_data);
5403 gpointer g_markup_parse_context_pop (GMarkupParseContext *context);
5404 gboolean g_markup_parse_context_end_parse (GMarkupParseContext *context,
5406 const gchar *g_markup_parse_context_get_element (GMarkupParseContext *context);
5407 const GSList *g_markup_parse_context_get_element_stack (GMarkupParseContext *context);
5408 void g_markup_parse_context_get_position (GMarkupParseContext *context,
5411 gpointer g_markup_parse_context_get_user_data (GMarkupParseContext *context);
5412 gchar* g_markup_escape_text (const gchar *text,
5414 gchar *g_markup_printf_escaped (const char *format,
5415 ...) __attribute__((__format__ (__printf__, 1, 2)));
5416 gchar *g_markup_vprintf_escaped (const char *format,
5420 G_MARKUP_COLLECT_INVALID,
5421 G_MARKUP_COLLECT_STRING,
5422 G_MARKUP_COLLECT_STRDUP,
5423 G_MARKUP_COLLECT_BOOLEAN,
5424 G_MARKUP_COLLECT_TRISTATE,
5425 G_MARKUP_COLLECT_OPTIONAL = (1 << 16)
5426 } GMarkupCollectType;
5427 gboolean g_markup_collect_attributes (const gchar *element_name,
5428 const gchar **attribute_names,
5429 const gchar **attribute_values,
5431 GMarkupCollectType first_type,
5432 const gchar *first_attr,
5435 gsize g_printf_string_upper_bound (const gchar* format,
5439 G_LOG_FLAG_RECURSION = 1 << 0,
5440 G_LOG_FLAG_FATAL = 1 << 1,
5441 G_LOG_LEVEL_ERROR = 1 << 2,
5442 G_LOG_LEVEL_CRITICAL = 1 << 3,
5443 G_LOG_LEVEL_WARNING = 1 << 4,
5444 G_LOG_LEVEL_MESSAGE = 1 << 5,
5445 G_LOG_LEVEL_INFO = 1 << 6,
5446 G_LOG_LEVEL_DEBUG = 1 << 7,
5447 G_LOG_LEVEL_MASK = ~(G_LOG_FLAG_RECURSION | G_LOG_FLAG_FATAL)
5449 typedef void (*GLogFunc) (const gchar *log_domain,
5450 GLogLevelFlags log_level,
5451 const gchar *message,
5452 gpointer user_data);
5453 guint g_log_set_handler (const gchar *log_domain,
5454 GLogLevelFlags log_levels,
5456 gpointer user_data);
5457 void g_log_remove_handler (const gchar *log_domain,
5459 void g_log_default_handler (const gchar *log_domain,
5460 GLogLevelFlags log_level,
5461 const gchar *message,
5462 gpointer unused_data);
5463 GLogFunc g_log_set_default_handler (GLogFunc log_func,
5464 gpointer user_data);
5465 void g_log (const gchar *log_domain,
5466 GLogLevelFlags log_level,
5467 const gchar *format,
5468 ...) __attribute__((__format__ (__printf__, 3, 4)));
5469 void g_logv (const gchar *log_domain,
5470 GLogLevelFlags log_level,
5471 const gchar *format,
5473 GLogLevelFlags g_log_set_fatal_mask (const gchar *log_domain,
5474 GLogLevelFlags fatal_mask);
5475 GLogLevelFlags g_log_set_always_fatal (GLogLevelFlags fatal_mask);
5476 __attribute__((visibility("hidden"))) void _g_log_fallback_handler (const gchar *log_domain,
5477 GLogLevelFlags log_level,
5478 const gchar *message,
5479 gpointer unused_data);
5480 void g_return_if_fail_warning (const char *log_domain,
5481 const char *pretty_function,
5482 const char *expression);
5483 void g_warn_message (const char *domain,
5487 const char *warnexpr);
5488 void g_assert_warning (const char *log_domain,
5491 const char *pretty_function,
5492 const char *expression) __attribute__((__noreturn__));
5493 typedef void (*GPrintFunc) (const gchar *string);
5494 void g_print (const gchar *format,
5495 ...) __attribute__((__format__ (__printf__, 1, 2)));
5496 GPrintFunc g_set_print_handler (GPrintFunc func);
5497 void g_printerr (const gchar *format,
5498 ...) __attribute__((__format__ (__printf__, 1, 2)));
5499 GPrintFunc g_set_printerr_handler (GPrintFunc func);
5500 typedef struct _GNode GNode;
5503 G_TRAVERSE_LEAVES = 1 << 0,
5504 G_TRAVERSE_NON_LEAVES = 1 << 1,
5505 G_TRAVERSE_ALL = G_TRAVERSE_LEAVES | G_TRAVERSE_NON_LEAVES,
5506 G_TRAVERSE_MASK = 0x03,
5507 G_TRAVERSE_LEAFS = G_TRAVERSE_LEAVES,
5508 G_TRAVERSE_NON_LEAFS = G_TRAVERSE_NON_LEAVES
5517 typedef gboolean (*GNodeTraverseFunc) (GNode *node,
5519 typedef void (*GNodeForeachFunc) (GNode *node,
5521 typedef gpointer (*GCopyFunc) (gconstpointer src,
5531 GNode* g_node_new (gpointer data);
5532 void g_node_destroy (GNode *root);
5533 void g_node_unlink (GNode *node);
5534 GNode* g_node_copy_deep (GNode *node,
5535 GCopyFunc copy_func,
5537 GNode* g_node_copy (GNode *node);
5538 GNode* g_node_insert (GNode *parent,
5541 GNode* g_node_insert_before (GNode *parent,
5544 GNode* g_node_insert_after (GNode *parent,
5547 GNode* g_node_prepend (GNode *parent,
5549 guint g_node_n_nodes (GNode *root,
5550 GTraverseFlags flags);
5551 GNode* g_node_get_root (GNode *node);
5552 gboolean g_node_is_ancestor (GNode *node,
5554 guint g_node_depth (GNode *node);
5555 GNode* g_node_find (GNode *root,
5556 GTraverseType order,
5557 GTraverseFlags flags,
5559 void g_node_traverse (GNode *root,
5560 GTraverseType order,
5561 GTraverseFlags flags,
5563 GNodeTraverseFunc func,
5565 guint g_node_max_height (GNode *root);
5566 void g_node_children_foreach (GNode *node,
5567 GTraverseFlags flags,
5568 GNodeForeachFunc func,
5570 void g_node_reverse_children (GNode *node);
5571 guint g_node_n_children (GNode *node);
5572 GNode* g_node_nth_child (GNode *node,
5574 GNode* g_node_last_child (GNode *node);
5575 GNode* g_node_find_child (GNode *node,
5576 GTraverseFlags flags,
5578 gint g_node_child_position (GNode *node,
5580 gint g_node_child_index (GNode *node,
5582 GNode* g_node_first_sibling (GNode *node);
5583 GNode* g_node_last_sibling (GNode *node);
5584 void g_node_push_allocator (gpointer dummy);
5585 void g_node_pop_allocator (void);
5586 typedef struct _GOptionContext GOptionContext;
5587 typedef struct _GOptionGroup GOptionGroup;
5588 typedef struct _GOptionEntry GOptionEntry;
5591 G_OPTION_FLAG_HIDDEN = 1 << 0,
5592 G_OPTION_FLAG_IN_MAIN = 1 << 1,
5593 G_OPTION_FLAG_REVERSE = 1 << 2,
5594 G_OPTION_FLAG_NO_ARG = 1 << 3,
5595 G_OPTION_FLAG_FILENAME = 1 << 4,
5596 G_OPTION_FLAG_OPTIONAL_ARG = 1 << 5,
5597 G_OPTION_FLAG_NOALIAS = 1 << 6
5602 G_OPTION_ARG_STRING,
5604 G_OPTION_ARG_CALLBACK,
5605 G_OPTION_ARG_FILENAME,
5606 G_OPTION_ARG_STRING_ARRAY,
5607 G_OPTION_ARG_FILENAME_ARRAY,
5608 G_OPTION_ARG_DOUBLE,
5611 typedef gboolean (*GOptionArgFunc) (const gchar *option_name,
5615 typedef gboolean (*GOptionParseFunc) (GOptionContext *context,
5616 GOptionGroup *group,
5619 typedef void (*GOptionErrorFunc) (GOptionContext *context,
5620 GOptionGroup *group,
5625 G_OPTION_ERROR_UNKNOWN_OPTION,
5626 G_OPTION_ERROR_BAD_VALUE,
5627 G_OPTION_ERROR_FAILED
5629 GQuark g_option_error_quark (void);
5630 struct _GOptionEntry
5632 const gchar *long_name;
5637 const gchar *description;
5638 const gchar *arg_description;
5640 GOptionContext *g_option_context_new (const gchar *parameter_string);
5641 void g_option_context_set_summary (GOptionContext *context,
5642 const gchar *summary);
5643 const gchar *g_option_context_get_summary (GOptionContext *context);
5644 void g_option_context_set_description (GOptionContext *context,
5645 const gchar *description);
5646 const gchar *g_option_context_get_description (GOptionContext *context);
5647 void g_option_context_free (GOptionContext *context);
5648 void g_option_context_set_help_enabled (GOptionContext *context,
5649 gboolean help_enabled);
5650 gboolean g_option_context_get_help_enabled (GOptionContext *context);
5651 void g_option_context_set_ignore_unknown_options (GOptionContext *context,
5652 gboolean ignore_unknown);
5653 gboolean g_option_context_get_ignore_unknown_options (GOptionContext *context);
5654 void g_option_context_add_main_entries (GOptionContext *context,
5655 const GOptionEntry *entries,
5656 const gchar *translation_domain);
5657 gboolean g_option_context_parse (GOptionContext *context,
5661 void g_option_context_set_translate_func (GOptionContext *context,
5662 GTranslateFunc func,
5664 GDestroyNotify destroy_notify);
5665 void g_option_context_set_translation_domain (GOptionContext *context,
5666 const gchar *domain);
5667 void g_option_context_add_group (GOptionContext *context,
5668 GOptionGroup *group);
5669 void g_option_context_set_main_group (GOptionContext *context,
5670 GOptionGroup *group);
5671 GOptionGroup *g_option_context_get_main_group (GOptionContext *context);
5672 gchar *g_option_context_get_help (GOptionContext *context,
5674 GOptionGroup *group);
5675 GOptionGroup *g_option_group_new (const gchar *name,
5676 const gchar *description,
5677 const gchar *help_description,
5679 GDestroyNotify destroy);
5680 void g_option_group_set_parse_hooks (GOptionGroup *group,
5681 GOptionParseFunc pre_parse_func,
5682 GOptionParseFunc post_parse_func);
5683 void g_option_group_set_error_hook (GOptionGroup *group,
5684 GOptionErrorFunc error_func);
5685 void g_option_group_free (GOptionGroup *group);
5686 void g_option_group_add_entries (GOptionGroup *group,
5687 const GOptionEntry *entries);
5688 void g_option_group_set_translate_func (GOptionGroup *group,
5689 GTranslateFunc func,
5691 GDestroyNotify destroy_notify);
5692 void g_option_group_set_translation_domain (GOptionGroup *group,
5693 const gchar *domain);
5694 typedef struct _GPatternSpec GPatternSpec;
5695 GPatternSpec* g_pattern_spec_new (const gchar *pattern);
5696 void g_pattern_spec_free (GPatternSpec *pspec);
5697 gboolean g_pattern_spec_equal (GPatternSpec *pspec1,
5698 GPatternSpec *pspec2);
5699 gboolean g_pattern_match (GPatternSpec *pspec,
5700 guint string_length,
5701 const gchar *string,
5702 const gchar *string_reversed);
5703 gboolean g_pattern_match_string (GPatternSpec *pspec,
5704 const gchar *string);
5705 gboolean g_pattern_match_simple (const gchar *pattern,
5706 const gchar *string);
5707 guint g_spaced_primes_closest (guint num) __attribute__((__const__));
5708 void g_qsort_with_data (gconstpointer pbase,
5711 GCompareDataFunc compare_func,
5712 gpointer user_data);
5713 typedef struct _GQueue GQueue;
5720 GQueue* g_queue_new (void);
5721 void g_queue_free (GQueue *queue);
5722 void g_queue_init (GQueue *queue);
5723 void g_queue_clear (GQueue *queue);
5724 gboolean g_queue_is_empty (GQueue *queue);
5725 guint g_queue_get_length (GQueue *queue);
5726 void g_queue_reverse (GQueue *queue);
5727 GQueue * g_queue_copy (GQueue *queue);
5728 void g_queue_foreach (GQueue *queue,
5730 gpointer user_data);
5731 GList * g_queue_find (GQueue *queue,
5732 gconstpointer data);
5733 GList * g_queue_find_custom (GQueue *queue,
5736 void g_queue_sort (GQueue *queue,
5737 GCompareDataFunc compare_func,
5738 gpointer user_data);
5739 void g_queue_push_head (GQueue *queue,
5741 void g_queue_push_tail (GQueue *queue,
5743 void g_queue_push_nth (GQueue *queue,
5746 gpointer g_queue_pop_head (GQueue *queue);
5747 gpointer g_queue_pop_tail (GQueue *queue);
5748 gpointer g_queue_pop_nth (GQueue *queue,
5750 gpointer g_queue_peek_head (GQueue *queue);
5751 gpointer g_queue_peek_tail (GQueue *queue);
5752 gpointer g_queue_peek_nth (GQueue *queue,
5754 gint g_queue_index (GQueue *queue,
5755 gconstpointer data);
5756 void g_queue_remove (GQueue *queue,
5757 gconstpointer data);
5758 void g_queue_remove_all (GQueue *queue,
5759 gconstpointer data);
5760 void g_queue_insert_before (GQueue *queue,
5763 void g_queue_insert_after (GQueue *queue,
5766 void g_queue_insert_sorted (GQueue *queue,
5768 GCompareDataFunc func,
5769 gpointer user_data);
5770 void g_queue_push_head_link (GQueue *queue,
5772 void g_queue_push_tail_link (GQueue *queue,
5774 void g_queue_push_nth_link (GQueue *queue,
5777 GList* g_queue_pop_head_link (GQueue *queue);
5778 GList* g_queue_pop_tail_link (GQueue *queue);
5779 GList* g_queue_pop_nth_link (GQueue *queue,
5781 GList* g_queue_peek_head_link (GQueue *queue);
5782 GList* g_queue_peek_tail_link (GQueue *queue);
5783 GList* g_queue_peek_nth_link (GQueue *queue,
5785 gint g_queue_link_index (GQueue *queue,
5787 void g_queue_unlink (GQueue *queue,
5789 void g_queue_delete_link (GQueue *queue,
5791 typedef struct _GRand GRand;
5792 GRand* g_rand_new_with_seed (guint32 seed);
5793 GRand* g_rand_new_with_seed_array (const guint32 *seed,
5795 GRand* g_rand_new (void);
5796 void g_rand_free (GRand *rand_);
5797 GRand* g_rand_copy (GRand *rand_);
5798 void g_rand_set_seed (GRand *rand_,
5800 void g_rand_set_seed_array (GRand *rand_,
5801 const guint32 *seed,
5803 guint32 g_rand_int (GRand *rand_);
5804 gint32 g_rand_int_range (GRand *rand_,
5807 gdouble g_rand_double (GRand *rand_);
5808 gdouble g_rand_double_range (GRand *rand_,
5811 void g_random_set_seed (guint32 seed);
5812 guint32 g_random_int (void);
5813 gint32 g_random_int_range (gint32 begin,
5815 gdouble g_random_double (void);
5816 gdouble g_random_double_range (gdouble begin,
5818 typedef struct _GRelation GRelation;
5819 typedef struct _GTuples GTuples;
5824 GRelation* g_relation_new (gint fields);
5825 void g_relation_destroy (GRelation *relation);
5826 void g_relation_index (GRelation *relation,
5828 GHashFunc hash_func,
5829 GEqualFunc key_equal_func);
5830 void g_relation_insert (GRelation *relation,
5832 gint g_relation_delete (GRelation *relation,
5835 GTuples* g_relation_select (GRelation *relation,
5838 gint g_relation_count (GRelation *relation,
5841 gboolean g_relation_exists (GRelation *relation,
5843 void g_relation_print (GRelation *relation);
5844 void g_tuples_destroy (GTuples *tuples);
5845 gpointer g_tuples_index (GTuples *tuples,
5850 G_REGEX_ERROR_COMPILE,
5851 G_REGEX_ERROR_OPTIMIZE,
5852 G_REGEX_ERROR_REPLACE,
5853 G_REGEX_ERROR_MATCH,
5854 G_REGEX_ERROR_INTERNAL,
5855 G_REGEX_ERROR_STRAY_BACKSLASH = 101,
5856 G_REGEX_ERROR_MISSING_CONTROL_CHAR = 102,
5857 G_REGEX_ERROR_UNRECOGNIZED_ESCAPE = 103,
5858 G_REGEX_ERROR_QUANTIFIERS_OUT_OF_ORDER = 104,
5859 G_REGEX_ERROR_QUANTIFIER_TOO_BIG = 105,
5860 G_REGEX_ERROR_UNTERMINATED_CHARACTER_CLASS = 106,
5861 G_REGEX_ERROR_INVALID_ESCAPE_IN_CHARACTER_CLASS = 107,
5862 G_REGEX_ERROR_RANGE_OUT_OF_ORDER = 108,
5863 G_REGEX_ERROR_NOTHING_TO_REPEAT = 109,
5864 G_REGEX_ERROR_UNRECOGNIZED_CHARACTER = 112,
5865 G_REGEX_ERROR_POSIX_NAMED_CLASS_OUTSIDE_CLASS = 113,
5866 G_REGEX_ERROR_UNMATCHED_PARENTHESIS = 114,
5867 G_REGEX_ERROR_INEXISTENT_SUBPATTERN_REFERENCE = 115,
5868 G_REGEX_ERROR_UNTERMINATED_COMMENT = 118,
5869 G_REGEX_ERROR_EXPRESSION_TOO_LARGE = 120,
5870 G_REGEX_ERROR_MEMORY_ERROR = 121,
5871 G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND = 125,
5872 G_REGEX_ERROR_MALFORMED_CONDITION = 126,
5873 G_REGEX_ERROR_TOO_MANY_CONDITIONAL_BRANCHES = 127,
5874 G_REGEX_ERROR_ASSERTION_EXPECTED = 128,
5875 G_REGEX_ERROR_UNKNOWN_POSIX_CLASS_NAME = 130,
5876 G_REGEX_ERROR_POSIX_COLLATING_ELEMENTS_NOT_SUPPORTED = 131,
5877 G_REGEX_ERROR_HEX_CODE_TOO_LARGE = 134,
5878 G_REGEX_ERROR_INVALID_CONDITION = 135,
5879 G_REGEX_ERROR_SINGLE_BYTE_MATCH_IN_LOOKBEHIND = 136,
5880 G_REGEX_ERROR_INFINITE_LOOP = 140,
5881 G_REGEX_ERROR_MISSING_SUBPATTERN_NAME_TERMINATOR = 142,
5882 G_REGEX_ERROR_DUPLICATE_SUBPATTERN_NAME = 143,
5883 G_REGEX_ERROR_MALFORMED_PROPERTY = 146,
5884 G_REGEX_ERROR_UNKNOWN_PROPERTY = 147,
5885 G_REGEX_ERROR_SUBPATTERN_NAME_TOO_LONG = 148,
5886 G_REGEX_ERROR_TOO_MANY_SUBPATTERNS = 149,
5887 G_REGEX_ERROR_INVALID_OCTAL_VALUE = 151,
5888 G_REGEX_ERROR_TOO_MANY_BRANCHES_IN_DEFINE = 154,
5889 G_REGEX_ERROR_DEFINE_REPETION = 155,
5890 G_REGEX_ERROR_INCONSISTENT_NEWLINE_OPTIONS = 156,
5891 G_REGEX_ERROR_MISSING_BACK_REFERENCE = 157
5893 GQuark g_regex_error_quark (void);
5896 G_REGEX_CASELESS = 1 << 0,
5897 G_REGEX_MULTILINE = 1 << 1,
5898 G_REGEX_DOTALL = 1 << 2,
5899 G_REGEX_EXTENDED = 1 << 3,
5900 G_REGEX_ANCHORED = 1 << 4,
5901 G_REGEX_DOLLAR_ENDONLY = 1 << 5,
5902 G_REGEX_UNGREEDY = 1 << 9,
5903 G_REGEX_RAW = 1 << 11,
5904 G_REGEX_NO_AUTO_CAPTURE = 1 << 12,
5905 G_REGEX_OPTIMIZE = 1 << 13,
5906 G_REGEX_DUPNAMES = 1 << 19,
5907 G_REGEX_NEWLINE_CR = 1 << 20,
5908 G_REGEX_NEWLINE_LF = 1 << 21,
5909 G_REGEX_NEWLINE_CRLF = G_REGEX_NEWLINE_CR | G_REGEX_NEWLINE_LF
5910 } GRegexCompileFlags;
5913 G_REGEX_MATCH_ANCHORED = 1 << 4,
5914 G_REGEX_MATCH_NOTBOL = 1 << 7,
5915 G_REGEX_MATCH_NOTEOL = 1 << 8,
5916 G_REGEX_MATCH_NOTEMPTY = 1 << 10,
5917 G_REGEX_MATCH_PARTIAL = 1 << 15,
5918 G_REGEX_MATCH_NEWLINE_CR = 1 << 20,
5919 G_REGEX_MATCH_NEWLINE_LF = 1 << 21,
5920 G_REGEX_MATCH_NEWLINE_CRLF = G_REGEX_MATCH_NEWLINE_CR | G_REGEX_MATCH_NEWLINE_LF,
5921 G_REGEX_MATCH_NEWLINE_ANY = 1 << 22
5923 typedef struct _GRegex GRegex;
5924 typedef struct _GMatchInfo GMatchInfo;
5925 typedef gboolean (*GRegexEvalCallback) (const GMatchInfo *match_info,
5927 gpointer user_data);
5928 GRegex *g_regex_new (const gchar *pattern,
5929 GRegexCompileFlags compile_options,
5930 GRegexMatchFlags match_options,
5932 GRegex *g_regex_ref (GRegex *regex);
5933 void g_regex_unref (GRegex *regex);
5934 const gchar *g_regex_get_pattern (const GRegex *regex);
5935 gint g_regex_get_max_backref (const GRegex *regex);
5936 gint g_regex_get_capture_count (const GRegex *regex);
5937 gint g_regex_get_string_number (const GRegex *regex,
5939 gchar *g_regex_escape_string (const gchar *string,
5941 gboolean g_regex_match_simple (const gchar *pattern,
5942 const gchar *string,
5943 GRegexCompileFlags compile_options,
5944 GRegexMatchFlags match_options);
5945 gboolean g_regex_match (const GRegex *regex,
5946 const gchar *string,
5947 GRegexMatchFlags match_options,
5948 GMatchInfo **match_info);
5949 gboolean g_regex_match_full (const GRegex *regex,
5950 const gchar *string,
5952 gint start_position,
5953 GRegexMatchFlags match_options,
5954 GMatchInfo **match_info,
5956 gboolean g_regex_match_all (const GRegex *regex,
5957 const gchar *string,
5958 GRegexMatchFlags match_options,
5959 GMatchInfo **match_info);
5960 gboolean g_regex_match_all_full (const GRegex *regex,
5961 const gchar *string,
5963 gint start_position,
5964 GRegexMatchFlags match_options,
5965 GMatchInfo **match_info,
5967 gchar **g_regex_split_simple (const gchar *pattern,
5968 const gchar *string,
5969 GRegexCompileFlags compile_options,
5970 GRegexMatchFlags match_options);
5971 gchar **g_regex_split (const GRegex *regex,
5972 const gchar *string,
5973 GRegexMatchFlags match_options);
5974 gchar **g_regex_split_full (const GRegex *regex,
5975 const gchar *string,
5977 gint start_position,
5978 GRegexMatchFlags match_options,
5981 gchar *g_regex_replace (const GRegex *regex,
5982 const gchar *string,
5984 gint start_position,
5985 const gchar *replacement,
5986 GRegexMatchFlags match_options,
5988 gchar *g_regex_replace_literal (const GRegex *regex,
5989 const gchar *string,
5991 gint start_position,
5992 const gchar *replacement,
5993 GRegexMatchFlags match_options,
5995 gchar *g_regex_replace_eval (const GRegex *regex,
5996 const gchar *string,
5998 gint start_position,
5999 GRegexMatchFlags match_options,
6000 GRegexEvalCallback eval,
6003 gboolean g_regex_check_replacement (const gchar *replacement,
6004 gboolean *has_references,
6006 GRegex *g_match_info_get_regex (const GMatchInfo *match_info);
6007 const gchar *g_match_info_get_string (const GMatchInfo *match_info);
6008 void g_match_info_free (GMatchInfo *match_info);
6009 gboolean g_match_info_next (GMatchInfo *match_info,
6011 gboolean g_match_info_matches (const GMatchInfo *match_info);
6012 gint g_match_info_get_match_count (const GMatchInfo *match_info);
6013 gboolean g_match_info_is_partial_match (const GMatchInfo *match_info);
6014 gchar *g_match_info_expand_references(const GMatchInfo *match_info,
6015 const gchar *string_to_expand,
6017 gchar *g_match_info_fetch (const GMatchInfo *match_info,
6019 gboolean g_match_info_fetch_pos (const GMatchInfo *match_info,
6023 gchar *g_match_info_fetch_named (const GMatchInfo *match_info,
6025 gboolean g_match_info_fetch_named_pos (const GMatchInfo *match_info,
6029 gchar **g_match_info_fetch_all (const GMatchInfo *match_info);
6030 typedef struct _GScanner GScanner;
6031 typedef struct _GScannerConfig GScannerConfig;
6032 typedef union _GTokenValue GTokenValue;
6033 typedef void (*GScannerMsgFunc) (GScanner *scanner,
6040 G_ERR_UNEXP_EOF_IN_STRING,
6041 G_ERR_UNEXP_EOF_IN_COMMENT,
6042 G_ERR_NON_DIGIT_IN_CONST,
6045 G_ERR_FLOAT_MALFORMED
6050 G_TOKEN_LEFT_PAREN = '(',
6051 G_TOKEN_RIGHT_PAREN = ')',
6052 G_TOKEN_LEFT_CURLY = '{',
6053 G_TOKEN_RIGHT_CURLY = '}',
6054 G_TOKEN_LEFT_BRACE = '[',
6055 G_TOKEN_RIGHT_BRACE = ']',
6056 G_TOKEN_EQUAL_SIGN = '=',
6057 G_TOKEN_COMMA = ',',
6069 G_TOKEN_IDENTIFIER_NULL,
6070 G_TOKEN_COMMENT_SINGLE,
6071 G_TOKEN_COMMENT_MULTI,
6077 gchar *v_identifier;
6089 struct _GScannerConfig
6091 gchar *cset_skip_characters;
6092 gchar *cset_identifier_first;
6093 gchar *cset_identifier_nth;
6094 gchar *cpair_comment_single;
6095 guint case_sensitive : 1;
6096 guint skip_comment_multi : 1;
6097 guint skip_comment_single : 1;
6098 guint scan_comment_multi : 1;
6099 guint scan_identifier : 1;
6100 guint scan_identifier_1char : 1;
6101 guint scan_identifier_NULL : 1;
6102 guint scan_symbols : 1;
6103 guint scan_binary : 1;
6104 guint scan_octal : 1;
6105 guint scan_float : 1;
6107 guint scan_hex_dollar : 1;
6108 guint scan_string_sq : 1;
6109 guint scan_string_dq : 1;
6110 guint numbers_2_int : 1;
6111 guint int_2_float : 1;
6112 guint identifier_2_string : 1;
6113 guint char_2_token : 1;
6114 guint symbol_2_token : 1;
6115 guint scope_0_fallback : 1;
6116 guint store_int64 : 1;
6117 guint padding_dummy;
6122 guint max_parse_errors;
6124 const gchar *input_name;
6126 GScannerConfig *config;
6131 GTokenType next_token;
6132 GTokenValue next_value;
6134 guint next_position;
6135 GHashTable *symbol_table;
6138 const gchar *text_end;
6141 GScannerMsgFunc msg_handler;
6143 GScanner* g_scanner_new (const GScannerConfig *config_templ);
6144 void g_scanner_destroy (GScanner *scanner);
6145 void g_scanner_input_file (GScanner *scanner,
6147 void g_scanner_sync_file_offset (GScanner *scanner);
6148 void g_scanner_input_text (GScanner *scanner,
6151 GTokenType g_scanner_get_next_token (GScanner *scanner);
6152 GTokenType g_scanner_peek_next_token (GScanner *scanner);
6153 GTokenType g_scanner_cur_token (GScanner *scanner);
6154 GTokenValue g_scanner_cur_value (GScanner *scanner);
6155 guint g_scanner_cur_line (GScanner *scanner);
6156 guint g_scanner_cur_position (GScanner *scanner);
6157 gboolean g_scanner_eof (GScanner *scanner);
6158 guint g_scanner_set_scope (GScanner *scanner,
6160 void g_scanner_scope_add_symbol (GScanner *scanner,
6162 const gchar *symbol,
6164 void g_scanner_scope_remove_symbol (GScanner *scanner,
6166 const gchar *symbol);
6167 gpointer g_scanner_scope_lookup_symbol (GScanner *scanner,
6169 const gchar *symbol);
6170 void g_scanner_scope_foreach_symbol (GScanner *scanner,
6173 gpointer user_data);
6174 gpointer g_scanner_lookup_symbol (GScanner *scanner,
6175 const gchar *symbol);
6176 void g_scanner_unexp_token (GScanner *scanner,
6177 GTokenType expected_token,
6178 const gchar *identifier_spec,
6179 const gchar *symbol_spec,
6180 const gchar *symbol_name,
6181 const gchar *message,
6183 void g_scanner_error (GScanner *scanner,
6184 const gchar *format,
6185 ...) __attribute__((__format__ (__printf__, 2, 3)));
6186 void g_scanner_warn (GScanner *scanner,
6187 const gchar *format,
6188 ...) __attribute__((__format__ (__printf__, 2, 3)));
6189 typedef struct _GSequence GSequence;
6190 typedef struct _GSequenceNode GSequenceIter;
6191 typedef gint (* GSequenceIterCompareFunc) (GSequenceIter *a,
6194 GSequence * g_sequence_new (GDestroyNotify data_destroy);
6195 void g_sequence_free (GSequence *seq);
6196 gint g_sequence_get_length (GSequence *seq);
6197 void g_sequence_foreach (GSequence *seq,
6199 gpointer user_data);
6200 void g_sequence_foreach_range (GSequenceIter *begin,
6203 gpointer user_data);
6204 void g_sequence_sort (GSequence *seq,
6205 GCompareDataFunc cmp_func,
6207 void g_sequence_sort_iter (GSequence *seq,
6208 GSequenceIterCompareFunc cmp_func,
6210 GSequenceIter *g_sequence_get_begin_iter (GSequence *seq);
6211 GSequenceIter *g_sequence_get_end_iter (GSequence *seq);
6212 GSequenceIter *g_sequence_get_iter_at_pos (GSequence *seq,
6214 GSequenceIter *g_sequence_append (GSequence *seq,
6216 GSequenceIter *g_sequence_prepend (GSequence *seq,
6218 GSequenceIter *g_sequence_insert_before (GSequenceIter *iter,
6220 void g_sequence_move (GSequenceIter *src,
6221 GSequenceIter *dest);
6222 void g_sequence_swap (GSequenceIter *a,
6224 GSequenceIter *g_sequence_insert_sorted (GSequence *seq,
6226 GCompareDataFunc cmp_func,
6228 GSequenceIter *g_sequence_insert_sorted_iter (GSequence *seq,
6230 GSequenceIterCompareFunc iter_cmp,
6232 void g_sequence_sort_changed (GSequenceIter *iter,
6233 GCompareDataFunc cmp_func,
6235 void g_sequence_sort_changed_iter (GSequenceIter *iter,
6236 GSequenceIterCompareFunc iter_cmp,
6238 void g_sequence_remove (GSequenceIter *iter);
6239 void g_sequence_remove_range (GSequenceIter *begin,
6240 GSequenceIter *end);
6241 void g_sequence_move_range (GSequenceIter *dest,
6242 GSequenceIter *begin,
6243 GSequenceIter *end);
6244 GSequenceIter *g_sequence_search (GSequence *seq,
6246 GCompareDataFunc cmp_func,
6248 GSequenceIter *g_sequence_search_iter (GSequence *seq,
6250 GSequenceIterCompareFunc iter_cmp,
6252 gpointer g_sequence_get (GSequenceIter *iter);
6253 void g_sequence_set (GSequenceIter *iter,
6255 gboolean g_sequence_iter_is_begin (GSequenceIter *iter);
6256 gboolean g_sequence_iter_is_end (GSequenceIter *iter);
6257 GSequenceIter *g_sequence_iter_next (GSequenceIter *iter);
6258 GSequenceIter *g_sequence_iter_prev (GSequenceIter *iter);
6259 gint g_sequence_iter_get_position (GSequenceIter *iter);
6260 GSequenceIter *g_sequence_iter_move (GSequenceIter *iter,
6262 GSequence * g_sequence_iter_get_sequence (GSequenceIter *iter);
6263 gint g_sequence_iter_compare (GSequenceIter *a,
6265 GSequenceIter *g_sequence_range_get_midpoint (GSequenceIter *begin,
6266 GSequenceIter *end);
6269 G_SHELL_ERROR_BAD_QUOTING,
6270 G_SHELL_ERROR_EMPTY_STRING,
6271 G_SHELL_ERROR_FAILED
6273 GQuark g_shell_error_quark (void);
6274 gchar* g_shell_quote (const gchar *unquoted_string);
6275 gchar* g_shell_unquote (const gchar *quoted_string,
6277 gboolean g_shell_parse_argv (const gchar *command_line,
6285 G_SPAWN_ERROR_CHDIR,
6286 G_SPAWN_ERROR_ACCES,
6289 G_SPAWN_ERROR_NOEXEC,
6290 G_SPAWN_ERROR_NAMETOOLONG,
6291 G_SPAWN_ERROR_NOENT,
6292 G_SPAWN_ERROR_NOMEM,
6293 G_SPAWN_ERROR_NOTDIR,
6295 G_SPAWN_ERROR_TXTBUSY,
6297 G_SPAWN_ERROR_NFILE,
6298 G_SPAWN_ERROR_MFILE,
6299 G_SPAWN_ERROR_INVAL,
6300 G_SPAWN_ERROR_ISDIR,
6301 G_SPAWN_ERROR_LIBBAD,
6302 G_SPAWN_ERROR_FAILED
6304 typedef void (* GSpawnChildSetupFunc) (gpointer user_data);
6307 G_SPAWN_LEAVE_DESCRIPTORS_OPEN = 1 << 0,
6308 G_SPAWN_DO_NOT_REAP_CHILD = 1 << 1,
6309 G_SPAWN_SEARCH_PATH = 1 << 2,
6310 G_SPAWN_STDOUT_TO_DEV_NULL = 1 << 3,
6311 G_SPAWN_STDERR_TO_DEV_NULL = 1 << 4,
6312 G_SPAWN_CHILD_INHERITS_STDIN = 1 << 5,
6313 G_SPAWN_FILE_AND_ARGV_ZERO = 1 << 6
6315 GQuark g_spawn_error_quark (void);
6316 gboolean g_spawn_async (const gchar *working_directory,
6320 GSpawnChildSetupFunc child_setup,
6324 gboolean g_spawn_async_with_pipes (const gchar *working_directory,
6328 GSpawnChildSetupFunc child_setup,
6331 gint *standard_input,
6332 gint *standard_output,
6333 gint *standard_error,
6335 gboolean g_spawn_sync (const gchar *working_directory,
6339 GSpawnChildSetupFunc child_setup,
6341 gchar **standard_output,
6342 gchar **standard_error,
6345 gboolean g_spawn_command_line_sync (const gchar *command_line,
6346 gchar **standard_output,
6347 gchar **standard_error,
6350 gboolean g_spawn_command_line_async (const gchar *command_line,
6352 void g_spawn_close_pid (GPid pid);
6354 G_ASCII_ALNUM = 1 << 0,
6355 G_ASCII_ALPHA = 1 << 1,
6356 G_ASCII_CNTRL = 1 << 2,
6357 G_ASCII_DIGIT = 1 << 3,
6358 G_ASCII_GRAPH = 1 << 4,
6359 G_ASCII_LOWER = 1 << 5,
6360 G_ASCII_PRINT = 1 << 6,
6361 G_ASCII_PUNCT = 1 << 7,
6362 G_ASCII_SPACE = 1 << 8,
6363 G_ASCII_UPPER = 1 << 9,
6364 G_ASCII_XDIGIT = 1 << 10
6366 extern const guint16 * const g_ascii_table;
6367 gchar g_ascii_tolower (gchar c) __attribute__((__const__));
6368 gchar g_ascii_toupper (gchar c) __attribute__((__const__));
6369 gint g_ascii_digit_value (gchar c) __attribute__((__const__));
6370 gint g_ascii_xdigit_value (gchar c) __attribute__((__const__));
6371 gchar* g_strdelimit (gchar *string,
6372 const gchar *delimiters,
6373 gchar new_delimiter);
6374 gchar* g_strcanon (gchar *string,
6375 const gchar *valid_chars,
6377 const gchar* g_strerror (gint errnum) __attribute__((__const__));
6378 const gchar* g_strsignal (gint signum) __attribute__((__const__));
6379 gchar* g_strreverse (gchar *string);
6380 gsize g_strlcpy (gchar *dest,
6383 gsize g_strlcat (gchar *dest,
6386 gchar * g_strstr_len (const gchar *haystack,
6387 gssize haystack_len,
6388 const gchar *needle);
6389 gchar * g_strrstr (const gchar *haystack,
6390 const gchar *needle);
6391 gchar * g_strrstr_len (const gchar *haystack,
6392 gssize haystack_len,
6393 const gchar *needle);
6394 gboolean g_str_has_suffix (const gchar *str,
6395 const gchar *suffix);
6396 gboolean g_str_has_prefix (const gchar *str,
6397 const gchar *prefix);
6398 gdouble g_strtod (const gchar *nptr,
6400 gdouble g_ascii_strtod (const gchar *nptr,
6402 guint64 g_ascii_strtoull (const gchar *nptr,
6405 gint64 g_ascii_strtoll (const gchar *nptr,
6408 gchar * g_ascii_dtostr (gchar *buffer,
6411 gchar * g_ascii_formatd (gchar *buffer,
6413 const gchar *format,
6415 gchar* g_strchug (gchar *string);
6416 gchar* g_strchomp (gchar *string);
6417 gint g_ascii_strcasecmp (const gchar *s1,
6419 gint g_ascii_strncasecmp (const gchar *s1,
6422 gchar* g_ascii_strdown (const gchar *str,
6423 gssize len) __attribute__((__malloc__));
6424 gchar* g_ascii_strup (const gchar *str,
6425 gssize len) __attribute__((__malloc__));
6426 gint g_strcasecmp (const gchar *s1,
6428 gint g_strncasecmp (const gchar *s1,
6431 gchar* g_strdown (gchar *string);
6432 gchar* g_strup (gchar *string);
6433 gchar* g_strdup (const gchar *str) __attribute__((__malloc__));
6434 gchar* g_strdup_printf (const gchar *format,
6435 ...) __attribute__((__format__ (__printf__, 1, 2))) __attribute__((__malloc__));
6436 gchar* g_strdup_vprintf (const gchar *format,
6437 va_list args) __attribute__((__malloc__));
6438 gchar* g_strndup (const gchar *str,
6439 gsize n) __attribute__((__malloc__));
6440 gchar* g_strnfill (gsize length,
6441 gchar fill_char) __attribute__((__malloc__));
6442 gchar* g_strconcat (const gchar *string1,
6443 ...) __attribute__((__malloc__)) __attribute__((__sentinel__));
6444 gchar* g_strjoin (const gchar *separator,
6445 ...) __attribute__((__malloc__)) __attribute__((__sentinel__));
6446 gchar* g_strcompress (const gchar *source) __attribute__((__malloc__));
6447 gchar* g_strescape (const gchar *source,
6448 const gchar *exceptions) __attribute__((__malloc__));
6449 gpointer g_memdup (gconstpointer mem,
6450 guint byte_size) __attribute__((__malloc__)) __attribute__((__alloc_size__(2)));
6451 gchar** g_strsplit (const gchar *string,
6452 const gchar *delimiter,
6453 gint max_tokens) __attribute__((__malloc__));
6454 gchar ** g_strsplit_set (const gchar *string,
6455 const gchar *delimiters,
6456 gint max_tokens) __attribute__((__malloc__));
6457 gchar* g_strjoinv (const gchar *separator,
6458 gchar **str_array) __attribute__((__malloc__));
6459 void g_strfreev (gchar **str_array);
6460 gchar** g_strdupv (gchar **str_array) __attribute__((__malloc__));
6461 guint g_strv_length (gchar **str_array);
6462 gchar* g_stpcpy (gchar *dest,
6464 const gchar *g_strip_context (const gchar *msgid,
6465 const gchar *msgval) __attribute__((__format_arg__ (1)));
6466 const gchar *g_dgettext (const gchar *domain,
6467 const gchar *msgid) __attribute__((__format_arg__ (2)));
6468 const gchar *g_dngettext (const gchar *domain,
6470 const gchar *msgid_plural,
6471 gulong n) __attribute__((__format_arg__ (3)));
6472 const gchar *g_dpgettext (const gchar *domain,
6473 const gchar *msgctxtid,
6474 gsize msgidoffset) __attribute__((__format_arg__ (2)));
6475 const gchar *g_dpgettext2 (const gchar *domain,
6476 const gchar *context,
6477 const gchar *msgid) __attribute__((__format_arg__ (3)));
6478 typedef struct GTestCase GTestCase;
6479 typedef struct GTestSuite GTestSuite;
6480 int g_strcmp0 (const char *str1,
6482 void g_test_minimized_result (double minimized_quantity,
6484 ...) __attribute__((__format__ (__printf__, 2, 3)));
6485 void g_test_maximized_result (double maximized_quantity,
6487 ...) __attribute__((__format__ (__printf__, 2, 3)));
6488 void g_test_init (int *argc,
6491 int g_test_run (void);
6492 void g_test_add_func (const char *testpath,
6493 void (*test_func) (void));
6494 void g_test_add_data_func (const char *testpath,
6495 gconstpointer test_data,
6496 void (*test_func) (gconstpointer));
6497 void g_test_message (const char *format,
6498 ...) __attribute__((__format__ (__printf__, 1, 2)));
6499 void g_test_bug_base (const char *uri_pattern);
6500 void g_test_bug (const char *bug_uri_snippet);
6501 void g_test_timer_start (void);
6502 double g_test_timer_elapsed (void);
6503 double g_test_timer_last (void);
6504 void g_test_queue_free (gpointer gfree_pointer);
6505 void g_test_queue_destroy (GDestroyNotify destroy_func,
6506 gpointer destroy_data);
6508 G_TEST_TRAP_SILENCE_STDOUT = 1 << 7,
6509 G_TEST_TRAP_SILENCE_STDERR = 1 << 8,
6510 G_TEST_TRAP_INHERIT_STDIN = 1 << 9
6512 gboolean g_test_trap_fork (guint64 usec_timeout,
6513 GTestTrapFlags test_trap_flags);
6514 gboolean g_test_trap_has_passed (void);
6515 gboolean g_test_trap_reached_timeout (void);
6516 gint32 g_test_rand_int (void);
6517 gint32 g_test_rand_int_range (gint32 begin,
6519 double g_test_rand_double (void);
6520 double g_test_rand_double_range (double range_start,
6522 GTestCase* g_test_create_case (const char *test_name,
6524 gconstpointer test_data,
6525 void (*data_setup) (void),
6526 void (*data_test) (void),
6527 void (*data_teardown) (void));
6528 GTestSuite* g_test_create_suite (const char *suite_name);
6529 GTestSuite* g_test_get_root (void);
6530 void g_test_suite_add (GTestSuite *suite,
6531 GTestCase *test_case);
6532 void g_test_suite_add_suite (GTestSuite *suite,
6533 GTestSuite *nestedsuite);
6534 int g_test_run_suite (GTestSuite *suite);
6535 void g_test_trap_assertions (const char *domain,
6539 guint64 assertion_flags,
6540 const char *pattern);
6541 void g_assertion_message (const char *domain,
6545 const char *message) __attribute__((__noreturn__));
6546 void g_assertion_message_expr (const char *domain,
6550 const char *expr) __attribute__((__noreturn__));
6551 void g_assertion_message_cmpstr (const char *domain,
6558 const char *arg2) __attribute__((__noreturn__));
6559 void g_assertion_message_cmpnum (const char *domain,
6567 char numtype) __attribute__((__noreturn__));
6568 void g_assertion_message_error (const char *domain,
6574 GQuark error_domain,
6575 int error_code) __attribute__((__noreturn__));
6576 void g_test_add_vtable (const char *testpath,
6578 gconstpointer test_data,
6579 void (*data_setup) (void),
6580 void (*data_test) (void),
6581 void (*data_teardown) (void));
6583 gboolean test_initialized;
6584 gboolean test_quick;
6586 gboolean test_verbose;
6587 gboolean test_quiet;
6589 extern const GTestConfig * const g_test_config_vars;
6593 G_TEST_LOG_START_BINARY,
6594 G_TEST_LOG_LIST_CASE,
6595 G_TEST_LOG_SKIP_CASE,
6596 G_TEST_LOG_START_CASE,
6597 G_TEST_LOG_STOP_CASE,
6598 G_TEST_LOG_MIN_RESULT,
6599 G_TEST_LOG_MAX_RESULT,
6603 GTestLogType log_type;
6613 const char* g_test_log_type_name (GTestLogType log_type);
6614 GTestLogBuffer* g_test_log_buffer_new (void);
6615 void g_test_log_buffer_free (GTestLogBuffer *tbuffer);
6616 void g_test_log_buffer_push (GTestLogBuffer *tbuffer,
6618 const guint8 *bytes);
6619 GTestLogMsg* g_test_log_buffer_pop (GTestLogBuffer *tbuffer);
6620 void g_test_log_msg_free (GTestLogMsg *tmsg);
6621 typedef struct _GThreadPool GThreadPool;
6628 GThreadPool* g_thread_pool_new (GFunc func,
6633 void g_thread_pool_push (GThreadPool *pool,
6636 void g_thread_pool_set_max_threads (GThreadPool *pool,
6639 gint g_thread_pool_get_max_threads (GThreadPool *pool);
6640 guint g_thread_pool_get_num_threads (GThreadPool *pool);
6641 guint g_thread_pool_unprocessed (GThreadPool *pool);
6642 void g_thread_pool_free (GThreadPool *pool,
6645 void g_thread_pool_set_max_unused_threads (gint max_threads);
6646 gint g_thread_pool_get_max_unused_threads (void);
6647 guint g_thread_pool_get_num_unused_threads (void);
6648 void g_thread_pool_stop_unused_threads (void);
6649 void g_thread_pool_set_sort_function (GThreadPool *pool,
6650 GCompareDataFunc func,
6651 gpointer user_data);
6652 void g_thread_pool_set_max_idle_time (guint interval);
6653 guint g_thread_pool_get_max_idle_time (void);
6654 typedef struct _GTimer GTimer;
6655 GTimer* g_timer_new (void);
6656 void g_timer_destroy (GTimer *timer);
6657 void g_timer_start (GTimer *timer);
6658 void g_timer_stop (GTimer *timer);
6659 void g_timer_reset (GTimer *timer);
6660 void g_timer_continue (GTimer *timer);
6661 gdouble g_timer_elapsed (GTimer *timer,
6662 gulong *microseconds);
6663 void g_usleep (gulong microseconds);
6664 void g_time_val_add (GTimeVal *time_,
6665 glong microseconds);
6666 gboolean g_time_val_from_iso8601 (const gchar *iso_date,
6668 gchar* g_time_val_to_iso8601 (GTimeVal *time_) __attribute__((__malloc__));
6669 typedef struct _GTree GTree;
6670 typedef gboolean (*GTraverseFunc) (gpointer key,
6673 GTree* g_tree_new (GCompareFunc key_compare_func);
6674 GTree* g_tree_new_with_data (GCompareDataFunc key_compare_func,
6675 gpointer key_compare_data);
6676 GTree* g_tree_new_full (GCompareDataFunc key_compare_func,
6677 gpointer key_compare_data,
6678 GDestroyNotify key_destroy_func,
6679 GDestroyNotify value_destroy_func);
6680 void g_tree_destroy (GTree *tree);
6681 void g_tree_insert (GTree *tree,
6684 void g_tree_replace (GTree *tree,
6687 gboolean g_tree_remove (GTree *tree,
6689 gboolean g_tree_steal (GTree *tree,
6691 gpointer g_tree_lookup (GTree *tree,
6693 gboolean g_tree_lookup_extended (GTree *tree,
6694 gconstpointer lookup_key,
6697 void g_tree_foreach (GTree *tree,
6699 gpointer user_data);
6700 void g_tree_traverse (GTree *tree,
6701 GTraverseFunc traverse_func,
6702 GTraverseType traverse_type,
6703 gpointer user_data);
6704 gpointer g_tree_search (GTree *tree,
6705 GCompareFunc search_func,
6706 gconstpointer user_data);
6707 gint g_tree_height (GTree *tree);
6708 gint g_tree_nnodes (GTree *tree);
6709 char * g_uri_unescape_string (const char *escaped_string,
6710 const char *illegal_characters);
6711 char * g_uri_unescape_segment (const char *escaped_string,
6712 const char *escaped_string_end,
6713 const char *illegal_characters);
6714 char * g_uri_parse_scheme (const char *uri);
6715 char * g_uri_escape_string (const char *unescaped,
6716 const char *reserved_chars_allowed,
6717 gboolean allow_utf8);
6718 typedef gsize GType;
6719 typedef struct _GValue GValue;
6720 typedef union _GTypeCValue GTypeCValue;
6721 typedef struct _GTypePlugin GTypePlugin;
6722 typedef struct _GTypeClass GTypeClass;
6723 typedef struct _GTypeInterface GTypeInterface;
6724 typedef struct _GTypeInstance GTypeInstance;
6725 typedef struct _GTypeInfo GTypeInfo;
6726 typedef struct _GTypeFundamentalInfo GTypeFundamentalInfo;
6727 typedef struct _GInterfaceInfo GInterfaceInfo;
6728 typedef struct _GTypeValueTable GTypeValueTable;
6729 typedef struct _GTypeQuery GTypeQuery;
6734 struct _GTypeInstance
6736 GTypeClass *g_class;
6738 struct _GTypeInterface
6741 GType g_instance_type;
6746 const gchar *type_name;
6748 guint instance_size;
6752 G_TYPE_DEBUG_NONE = 0,
6753 G_TYPE_DEBUG_OBJECTS = 1 << 0,
6754 G_TYPE_DEBUG_SIGNALS = 1 << 1,
6755 G_TYPE_DEBUG_MASK = 0x03
6757 void g_type_init (void);
6758 void g_type_init_with_debug_flags (GTypeDebugFlags debug_flags);
6759 const gchar* g_type_name (GType type);
6760 GQuark g_type_qname (GType type);
6761 GType g_type_from_name (const gchar *name);
6762 GType g_type_parent (GType type);
6763 guint g_type_depth (GType type);
6764 GType g_type_next_base (GType leaf_type,
6766 gboolean g_type_is_a (GType type,
6768 gpointer g_type_class_ref (GType type);
6769 gpointer g_type_class_peek (GType type);
6770 gpointer g_type_class_peek_static (GType type);
6771 void g_type_class_unref (gpointer g_class);
6772 gpointer g_type_class_peek_parent (gpointer g_class);
6773 gpointer g_type_interface_peek (gpointer instance_class,
6775 gpointer g_type_interface_peek_parent (gpointer g_iface);
6776 gpointer g_type_default_interface_ref (GType g_type);
6777 gpointer g_type_default_interface_peek (GType g_type);
6778 void g_type_default_interface_unref (gpointer g_iface);
6779 GType* g_type_children (GType type,
6781 GType* g_type_interfaces (GType type,
6782 guint *n_interfaces);
6783 void g_type_set_qdata (GType type,
6786 gpointer g_type_get_qdata (GType type,
6788 void g_type_query (GType type,
6790 typedef void (*GBaseInitFunc) (gpointer g_class);
6791 typedef void (*GBaseFinalizeFunc) (gpointer g_class);
6792 typedef void (*GClassInitFunc) (gpointer g_class,
6793 gpointer class_data);
6794 typedef void (*GClassFinalizeFunc) (gpointer g_class,
6795 gpointer class_data);
6796 typedef void (*GInstanceInitFunc) (GTypeInstance *instance,
6798 typedef void (*GInterfaceInitFunc) (gpointer g_iface,
6799 gpointer iface_data);
6800 typedef void (*GInterfaceFinalizeFunc) (gpointer g_iface,
6801 gpointer iface_data);
6802 typedef gboolean (*GTypeClassCacheFunc) (gpointer cache_data,
6803 GTypeClass *g_class);
6804 typedef void (*GTypeInterfaceCheckFunc) (gpointer check_data,
6808 G_TYPE_FLAG_CLASSED = (1 << 0),
6809 G_TYPE_FLAG_INSTANTIATABLE = (1 << 1),
6810 G_TYPE_FLAG_DERIVABLE = (1 << 2),
6811 G_TYPE_FLAG_DEEP_DERIVABLE = (1 << 3)
6812 } GTypeFundamentalFlags;
6815 G_TYPE_FLAG_ABSTRACT = (1 << 4),
6816 G_TYPE_FLAG_VALUE_ABSTRACT = (1 << 5)
6821 GBaseInitFunc base_init;
6822 GBaseFinalizeFunc base_finalize;
6823 GClassInitFunc class_init;
6824 GClassFinalizeFunc class_finalize;
6825 gconstpointer class_data;
6826 guint16 instance_size;
6827 guint16 n_preallocs;
6828 GInstanceInitFunc instance_init;
6829 const GTypeValueTable *value_table;
6831 struct _GTypeFundamentalInfo
6833 GTypeFundamentalFlags type_flags;
6835 struct _GInterfaceInfo
6837 GInterfaceInitFunc interface_init;
6838 GInterfaceFinalizeFunc interface_finalize;
6839 gpointer interface_data;
6841 struct _GTypeValueTable
6843 void (*value_init) (GValue *value);
6844 void (*value_free) (GValue *value);
6845 void (*value_copy) (const GValue *src_value,
6846 GValue *dest_value);
6847 gpointer (*value_peek_pointer) (const GValue *value);
6848 gchar *collect_format;
6849 gchar* (*collect_value) (GValue *value,
6850 guint n_collect_values,
6851 GTypeCValue *collect_values,
6852 guint collect_flags);
6853 gchar *lcopy_format;
6854 gchar* (*lcopy_value) (const GValue *value,
6855 guint n_collect_values,
6856 GTypeCValue *collect_values,
6857 guint collect_flags);
6859 GType g_type_register_static (GType parent_type,
6860 const gchar *type_name,
6861 const GTypeInfo *info,
6863 GType g_type_register_static_simple (GType parent_type,
6864 const gchar *type_name,
6866 GClassInitFunc class_init,
6867 guint instance_size,
6868 GInstanceInitFunc instance_init,
6870 GType g_type_register_dynamic (GType parent_type,
6871 const gchar *type_name,
6872 GTypePlugin *plugin,
6874 GType g_type_register_fundamental (GType type_id,
6875 const gchar *type_name,
6876 const GTypeInfo *info,
6877 const GTypeFundamentalInfo *finfo,
6879 void g_type_add_interface_static (GType instance_type,
6880 GType interface_type,
6881 const GInterfaceInfo *info);
6882 void g_type_add_interface_dynamic (GType instance_type,
6883 GType interface_type,
6884 GTypePlugin *plugin);
6885 void g_type_interface_add_prerequisite (GType interface_type,
6886 GType prerequisite_type);
6887 GType*g_type_interface_prerequisites (GType interface_type,
6888 guint *n_prerequisites);
6889 void g_type_class_add_private (gpointer g_class,
6890 gsize private_size);
6891 gpointer g_type_instance_get_private (GTypeInstance *instance,
6892 GType private_type);
6893 GTypePlugin* g_type_get_plugin (GType type);
6894 GTypePlugin* g_type_interface_get_plugin (GType instance_type,
6895 GType interface_type);
6896 GType g_type_fundamental_next (void);
6897 GType g_type_fundamental (GType type_id);
6898 GTypeInstance* g_type_create_instance (GType type);
6899 void g_type_free_instance (GTypeInstance *instance);
6900 void g_type_add_class_cache_func (gpointer cache_data,
6901 GTypeClassCacheFunc cache_func);
6902 void g_type_remove_class_cache_func (gpointer cache_data,
6903 GTypeClassCacheFunc cache_func);
6904 void g_type_class_unref_uncached (gpointer g_class);
6905 void g_type_add_interface_check (gpointer check_data,
6906 GTypeInterfaceCheckFunc check_func);
6907 void g_type_remove_interface_check (gpointer check_data,
6908 GTypeInterfaceCheckFunc check_func);
6909 GTypeValueTable* g_type_value_table_peek (GType type);
6910 gboolean g_type_check_instance (GTypeInstance *instance) __attribute__((__pure__));
6911 GTypeInstance* g_type_check_instance_cast (GTypeInstance *instance,
6913 gboolean g_type_check_instance_is_a (GTypeInstance *instance,
6914 GType iface_type) __attribute__((__pure__));
6915 GTypeClass* g_type_check_class_cast (GTypeClass *g_class,
6917 gboolean g_type_check_class_is_a (GTypeClass *g_class,
6918 GType is_a_type) __attribute__((__pure__));
6919 gboolean g_type_check_is_value_type (GType type) __attribute__((__const__));
6920 gboolean g_type_check_value (GValue *value) __attribute__((__pure__));
6921 gboolean g_type_check_value_holds (GValue *value,
6922 GType type) __attribute__((__pure__));
6923 gboolean g_type_test_flags (GType type,
6924 guint flags) __attribute__((__const__));
6925 const gchar* g_type_name_from_instance (GTypeInstance *instance);
6926 const gchar* g_type_name_from_class (GTypeClass *g_class);
6927 __attribute__((visibility("hidden"))) void g_value_c_init (void);
6928 __attribute__((visibility("hidden"))) void g_value_types_init (void);
6929 __attribute__((visibility("hidden"))) void g_enum_types_init (void);
6930 __attribute__((visibility("hidden"))) void g_param_type_init (void);
6931 __attribute__((visibility("hidden"))) void g_boxed_type_init (void);
6932 __attribute__((visibility("hidden"))) void g_object_type_init (void);
6933 __attribute__((visibility("hidden"))) void g_param_spec_types_init (void);
6934 __attribute__((visibility("hidden"))) void g_value_transforms_init (void);
6935 __attribute__((visibility("hidden"))) void g_signal_init (void);
6936 extern GTypeDebugFlags _g_type_debug_flags;
6937 typedef gpointer (*GBoxedCopyFunc) (gpointer boxed);
6938 typedef void (*GBoxedFreeFunc) (gpointer boxed);
6939 gpointer g_boxed_copy (GType boxed_type,
6940 gconstpointer src_boxed);
6941 void g_boxed_free (GType boxed_type,
6943 void g_value_set_boxed (GValue *value,
6944 gconstpointer v_boxed);
6945 void g_value_set_static_boxed (GValue *value,
6946 gconstpointer v_boxed);
6947 gpointer g_value_get_boxed (const GValue *value);
6948 gpointer g_value_dup_boxed (const GValue *value);
6949 GType g_boxed_type_register_static (const gchar *name,
6950 GBoxedCopyFunc boxed_copy,
6951 GBoxedFreeFunc boxed_free);
6952 void g_value_take_boxed (GValue *value,
6953 gconstpointer v_boxed);
6954 void g_value_set_boxed_take_ownership (GValue *value,
6955 gconstpointer v_boxed);
6956 GType g_closure_get_type (void) __attribute__((__const__));
6957 GType g_value_get_type (void) __attribute__((__const__));
6958 GType g_value_array_get_type (void) __attribute__((__const__));
6959 GType g_date_get_type (void) __attribute__((__const__));
6960 GType g_strv_get_type (void) __attribute__((__const__));
6961 GType g_gstring_get_type (void) __attribute__((__const__));
6962 GType g_hash_table_get_type (void) __attribute__((__const__));
6963 GType g_regex_get_type (void) __attribute__((__const__));
6964 typedef gchar** GStrv;
6965 typedef struct _GEnumClass GEnumClass;
6966 typedef struct _GFlagsClass GFlagsClass;
6967 typedef struct _GEnumValue GEnumValue;
6968 typedef struct _GFlagsValue GFlagsValue;
6971 GTypeClass g_type_class;
6979 GTypeClass g_type_class;
6982 GFlagsValue *values;
6987 const gchar *value_name;
6988 const gchar *value_nick;
6993 const gchar *value_name;
6994 const gchar *value_nick;
6996 GEnumValue* g_enum_get_value (GEnumClass *enum_class,
6998 GEnumValue* g_enum_get_value_by_name (GEnumClass *enum_class,
7000 GEnumValue* g_enum_get_value_by_nick (GEnumClass *enum_class,
7002 GFlagsValue* g_flags_get_first_value (GFlagsClass *flags_class,
7004 GFlagsValue* g_flags_get_value_by_name (GFlagsClass *flags_class,
7006 GFlagsValue* g_flags_get_value_by_nick (GFlagsClass *flags_class,
7008 void g_value_set_enum (GValue *value,
7010 gint g_value_get_enum (const GValue *value);
7011 void g_value_set_flags (GValue *value,
7013 guint g_value_get_flags (const GValue *value);
7014 GType g_enum_register_static (const gchar *name,
7015 const GEnumValue *const_static_values);
7016 GType g_flags_register_static (const gchar *name,
7017 const GFlagsValue *const_static_values);
7018 void g_enum_complete_type_info (GType g_enum_type,
7020 const GEnumValue *const_values);
7021 void g_flags_complete_type_info (GType g_flags_type,
7023 const GFlagsValue *const_values);
7024 typedef void (*GValueTransform) (const GValue *src_value,
7025 GValue *dest_value);
7041 GValue* g_value_init (GValue *value,
7043 void g_value_copy (const GValue *src_value,
7044 GValue *dest_value);
7045 GValue* g_value_reset (GValue *value);
7046 void g_value_unset (GValue *value);
7047 void g_value_set_instance (GValue *value,
7049 gboolean g_value_fits_pointer (const GValue *value);
7050 gpointer g_value_peek_pointer (const GValue *value);
7051 gboolean g_value_type_compatible (GType src_type,
7053 gboolean g_value_type_transformable (GType src_type,
7055 gboolean g_value_transform (const GValue *src_value,
7056 GValue *dest_value);
7057 void g_value_register_transform_func (GType src_type,
7059 GValueTransform transform_func);
7062 G_PARAM_READABLE = 1 << 0,
7063 G_PARAM_WRITABLE = 1 << 1,
7064 G_PARAM_CONSTRUCT = 1 << 2,
7065 G_PARAM_CONSTRUCT_ONLY = 1 << 3,
7066 G_PARAM_LAX_VALIDATION = 1 << 4,
7067 G_PARAM_STATIC_NAME = 1 << 5,
7068 G_PARAM_PRIVATE = G_PARAM_STATIC_NAME,
7069 G_PARAM_STATIC_NICK = 1 << 6,
7070 G_PARAM_STATIC_BLURB = 1 << 7
7072 typedef struct _GParamSpec GParamSpec;
7073 typedef struct _GParamSpecClass GParamSpecClass;
7074 typedef struct _GParameter GParameter;
7075 typedef struct _GParamSpecPool GParamSpecPool;
7078 GTypeInstance g_type_instance;
7089 struct _GParamSpecClass
7091 GTypeClass g_type_class;
7093 void (*finalize) (GParamSpec *pspec);
7094 void (*value_set_default) (GParamSpec *pspec,
7096 gboolean (*value_validate) (GParamSpec *pspec,
7098 gint (*values_cmp) (GParamSpec *pspec,
7099 const GValue *value1,
7100 const GValue *value2);
7108 GParamSpec* g_param_spec_ref (GParamSpec *pspec);
7109 void g_param_spec_unref (GParamSpec *pspec);
7110 void g_param_spec_sink (GParamSpec *pspec);
7111 GParamSpec* g_param_spec_ref_sink (GParamSpec *pspec);
7112 gpointer g_param_spec_get_qdata (GParamSpec *pspec,
7114 void g_param_spec_set_qdata (GParamSpec *pspec,
7117 void g_param_spec_set_qdata_full (GParamSpec *pspec,
7120 GDestroyNotify destroy);
7121 gpointer g_param_spec_steal_qdata (GParamSpec *pspec,
7123 GParamSpec* g_param_spec_get_redirect_target (GParamSpec *pspec);
7124 void g_param_value_set_default (GParamSpec *pspec,
7126 gboolean g_param_value_defaults (GParamSpec *pspec,
7128 gboolean g_param_value_validate (GParamSpec *pspec,
7130 gboolean g_param_value_convert (GParamSpec *pspec,
7131 const GValue *src_value,
7133 gboolean strict_validation);
7134 gint g_param_values_cmp (GParamSpec *pspec,
7135 const GValue *value1,
7136 const GValue *value2);
7137 const gchar* g_param_spec_get_name (GParamSpec *pspec);
7138 const gchar* g_param_spec_get_nick (GParamSpec *pspec);
7139 const gchar* g_param_spec_get_blurb (GParamSpec *pspec);
7140 void g_value_set_param (GValue *value,
7142 GParamSpec* g_value_get_param (const GValue *value);
7143 GParamSpec* g_value_dup_param (const GValue *value);
7144 void g_value_take_param (GValue *value,
7146 void g_value_set_param_take_ownership (GValue *value,
7148 typedef struct _GParamSpecTypeInfo GParamSpecTypeInfo;
7149 struct _GParamSpecTypeInfo
7151 guint16 instance_size;
7152 guint16 n_preallocs;
7153 void (*instance_init) (GParamSpec *pspec);
7155 void (*finalize) (GParamSpec *pspec);
7156 void (*value_set_default) (GParamSpec *pspec,
7158 gboolean (*value_validate) (GParamSpec *pspec,
7160 gint (*values_cmp) (GParamSpec *pspec,
7161 const GValue *value1,
7162 const GValue *value2);
7164 GType g_param_type_register_static (const gchar *name,
7165 const GParamSpecTypeInfo *pspec_info);
7166 GType _g_param_type_register_static_constant (const gchar *name,
7167 const GParamSpecTypeInfo *pspec_info,
7169 gpointer g_param_spec_internal (GType param_type,
7174 GParamSpecPool* g_param_spec_pool_new (gboolean type_prefixing);
7175 void g_param_spec_pool_insert (GParamSpecPool *pool,
7178 void g_param_spec_pool_remove (GParamSpecPool *pool,
7180 GParamSpec* g_param_spec_pool_lookup (GParamSpecPool *pool,
7181 const gchar *param_name,
7183 gboolean walk_ancestors);
7184 GList* g_param_spec_pool_list_owned (GParamSpecPool *pool,
7186 GParamSpec** g_param_spec_pool_list (GParamSpecPool *pool,
7189 typedef struct _GClosure GClosure;
7190 typedef struct _GClosureNotifyData GClosureNotifyData;
7191 typedef void (*GCallback) (void);
7192 typedef void (*GClosureNotify) (gpointer data,
7194 typedef void (*GClosureMarshal) (GClosure *closure,
7195 GValue *return_value,
7196 guint n_param_values,
7197 const GValue *param_values,
7198 gpointer invocation_hint,
7199 gpointer marshal_data);
7200 typedef struct _GCClosure GCClosure;
7201 struct _GClosureNotifyData
7204 GClosureNotify notify;
7208 volatile guint ref_count : 15;
7209 volatile guint meta_marshal : 1;
7210 volatile guint n_guards : 1;
7211 volatile guint n_fnotifiers : 2;
7212 volatile guint n_inotifiers : 8;
7213 volatile guint in_inotify : 1;
7214 volatile guint floating : 1;
7215 volatile guint derivative_flag : 1;
7216 volatile guint in_marshal : 1;
7217 volatile guint is_invalid : 1;
7218 void (*marshal) (GClosure *closure,
7219 GValue *return_value,
7220 guint n_param_values,
7221 const GValue *param_values,
7222 gpointer invocation_hint,
7223 gpointer marshal_data);
7225 GClosureNotifyData *notifiers;
7232 GClosure* g_cclosure_new (GCallback callback_func,
7234 GClosureNotify destroy_data);
7235 GClosure* g_cclosure_new_swap (GCallback callback_func,
7237 GClosureNotify destroy_data);
7238 GClosure* g_signal_type_cclosure_new (GType itype,
7239 guint struct_offset);
7240 GClosure* g_closure_ref (GClosure *closure);
7241 void g_closure_sink (GClosure *closure);
7242 void g_closure_unref (GClosure *closure);
7243 GClosure* g_closure_new_simple (guint sizeof_closure,
7245 void g_closure_add_finalize_notifier (GClosure *closure,
7246 gpointer notify_data,
7247 GClosureNotify notify_func);
7248 void g_closure_remove_finalize_notifier (GClosure *closure,
7249 gpointer notify_data,
7250 GClosureNotify notify_func);
7251 void g_closure_add_invalidate_notifier (GClosure *closure,
7252 gpointer notify_data,
7253 GClosureNotify notify_func);
7254 void g_closure_remove_invalidate_notifier (GClosure *closure,
7255 gpointer notify_data,
7256 GClosureNotify notify_func);
7257 void g_closure_add_marshal_guards (GClosure *closure,
7258 gpointer pre_marshal_data,
7259 GClosureNotify pre_marshal_notify,
7260 gpointer post_marshal_data,
7261 GClosureNotify post_marshal_notify);
7262 void g_closure_set_marshal (GClosure *closure,
7263 GClosureMarshal marshal);
7264 void g_closure_set_meta_marshal (GClosure *closure,
7265 gpointer marshal_data,
7266 GClosureMarshal meta_marshal);
7267 void g_closure_invalidate (GClosure *closure);
7268 void g_closure_invoke (GClosure *closure,
7269 GValue *return_value,
7270 guint n_param_values,
7271 const GValue *param_values,
7272 gpointer invocation_hint);
7273 extern void g_cclosure_marshal_VOID__VOID (GClosure *closure,
7274 GValue *return_value,
7275 guint n_param_values,
7276 const GValue *param_values,
7277 gpointer invocation_hint,
7278 gpointer marshal_data);
7279 extern void g_cclosure_marshal_VOID__BOOLEAN (GClosure *closure,
7280 GValue *return_value,
7281 guint n_param_values,
7282 const GValue *param_values,
7283 gpointer invocation_hint,
7284 gpointer marshal_data);
7285 extern void g_cclosure_marshal_VOID__CHAR (GClosure *closure,
7286 GValue *return_value,
7287 guint n_param_values,
7288 const GValue *param_values,
7289 gpointer invocation_hint,
7290 gpointer marshal_data);
7291 extern void g_cclosure_marshal_VOID__UCHAR (GClosure *closure,
7292 GValue *return_value,
7293 guint n_param_values,
7294 const GValue *param_values,
7295 gpointer invocation_hint,
7296 gpointer marshal_data);
7297 extern void g_cclosure_marshal_VOID__INT (GClosure *closure,
7298 GValue *return_value,
7299 guint n_param_values,
7300 const GValue *param_values,
7301 gpointer invocation_hint,
7302 gpointer marshal_data);
7303 extern void g_cclosure_marshal_VOID__UINT (GClosure *closure,
7304 GValue *return_value,
7305 guint n_param_values,
7306 const GValue *param_values,
7307 gpointer invocation_hint,
7308 gpointer marshal_data);
7309 extern void g_cclosure_marshal_VOID__LONG (GClosure *closure,
7310 GValue *return_value,
7311 guint n_param_values,
7312 const GValue *param_values,
7313 gpointer invocation_hint,
7314 gpointer marshal_data);
7315 extern void g_cclosure_marshal_VOID__ULONG (GClosure *closure,
7316 GValue *return_value,
7317 guint n_param_values,
7318 const GValue *param_values,
7319 gpointer invocation_hint,
7320 gpointer marshal_data);
7321 extern void g_cclosure_marshal_VOID__ENUM (GClosure *closure,
7322 GValue *return_value,
7323 guint n_param_values,
7324 const GValue *param_values,
7325 gpointer invocation_hint,
7326 gpointer marshal_data);
7327 extern void g_cclosure_marshal_VOID__FLAGS (GClosure *closure,
7328 GValue *return_value,
7329 guint n_param_values,
7330 const GValue *param_values,
7331 gpointer invocation_hint,
7332 gpointer marshal_data);
7333 extern void g_cclosure_marshal_VOID__FLOAT (GClosure *closure,
7334 GValue *return_value,
7335 guint n_param_values,
7336 const GValue *param_values,
7337 gpointer invocation_hint,
7338 gpointer marshal_data);
7339 extern void g_cclosure_marshal_VOID__DOUBLE (GClosure *closure,
7340 GValue *return_value,
7341 guint n_param_values,
7342 const GValue *param_values,
7343 gpointer invocation_hint,
7344 gpointer marshal_data);
7345 extern void g_cclosure_marshal_VOID__STRING (GClosure *closure,
7346 GValue *return_value,
7347 guint n_param_values,
7348 const GValue *param_values,
7349 gpointer invocation_hint,
7350 gpointer marshal_data);
7351 extern void g_cclosure_marshal_VOID__PARAM (GClosure *closure,
7352 GValue *return_value,
7353 guint n_param_values,
7354 const GValue *param_values,
7355 gpointer invocation_hint,
7356 gpointer marshal_data);
7357 extern void g_cclosure_marshal_VOID__BOXED (GClosure *closure,
7358 GValue *return_value,
7359 guint n_param_values,
7360 const GValue *param_values,
7361 gpointer invocation_hint,
7362 gpointer marshal_data);
7363 extern void g_cclosure_marshal_VOID__POINTER (GClosure *closure,
7364 GValue *return_value,
7365 guint n_param_values,
7366 const GValue *param_values,
7367 gpointer invocation_hint,
7368 gpointer marshal_data);
7369 extern void g_cclosure_marshal_VOID__OBJECT (GClosure *closure,
7370 GValue *return_value,
7371 guint n_param_values,
7372 const GValue *param_values,
7373 gpointer invocation_hint,
7374 gpointer marshal_data);
7375 extern void g_cclosure_marshal_VOID__UINT_POINTER (GClosure *closure,
7376 GValue *return_value,
7377 guint n_param_values,
7378 const GValue *param_values,
7379 gpointer invocation_hint,
7380 gpointer marshal_data);
7381 extern void g_cclosure_marshal_BOOLEAN__FLAGS (GClosure *closure,
7382 GValue *return_value,
7383 guint n_param_values,
7384 const GValue *param_values,
7385 gpointer invocation_hint,
7386 gpointer marshal_data);
7387 extern void g_cclosure_marshal_STRING__OBJECT_POINTER (GClosure *closure,
7388 GValue *return_value,
7389 guint n_param_values,
7390 const GValue *param_values,
7391 gpointer invocation_hint,
7392 gpointer marshal_data);
7393 typedef struct _GSignalQuery GSignalQuery;
7394 typedef struct _GSignalInvocationHint GSignalInvocationHint;
7395 typedef GClosureMarshal GSignalCMarshaller;
7396 typedef gboolean (*GSignalEmissionHook) (GSignalInvocationHint *ihint,
7397 guint n_param_values,
7398 const GValue *param_values,
7400 typedef gboolean (*GSignalAccumulator) (GSignalInvocationHint *ihint,
7401 GValue *return_accu,
7402 const GValue *handler_return,
7406 G_SIGNAL_RUN_FIRST = 1 << 0,
7407 G_SIGNAL_RUN_LAST = 1 << 1,
7408 G_SIGNAL_RUN_CLEANUP = 1 << 2,
7409 G_SIGNAL_NO_RECURSE = 1 << 3,
7410 G_SIGNAL_DETAILED = 1 << 4,
7411 G_SIGNAL_ACTION = 1 << 5,
7412 G_SIGNAL_NO_HOOKS = 1 << 6
7416 G_CONNECT_AFTER = 1 << 0,
7417 G_CONNECT_SWAPPED = 1 << 1
7421 G_SIGNAL_MATCH_ID = 1 << 0,
7422 G_SIGNAL_MATCH_DETAIL = 1 << 1,
7423 G_SIGNAL_MATCH_CLOSURE = 1 << 2,
7424 G_SIGNAL_MATCH_FUNC = 1 << 3,
7425 G_SIGNAL_MATCH_DATA = 1 << 4,
7426 G_SIGNAL_MATCH_UNBLOCKED = 1 << 5
7428 struct _GSignalInvocationHint
7432 GSignalFlags run_type;
7434 struct _GSignalQuery
7437 const gchar *signal_name;
7439 GSignalFlags signal_flags;
7442 const GType *param_types;
7444 guint g_signal_newv (const gchar *signal_name,
7446 GSignalFlags signal_flags,
7447 GClosure *class_closure,
7448 GSignalAccumulator accumulator,
7450 GSignalCMarshaller c_marshaller,
7453 GType *param_types);
7454 guint g_signal_new_valist (const gchar *signal_name,
7456 GSignalFlags signal_flags,
7457 GClosure *class_closure,
7458 GSignalAccumulator accumulator,
7460 GSignalCMarshaller c_marshaller,
7464 guint g_signal_new (const gchar *signal_name,
7466 GSignalFlags signal_flags,
7468 GSignalAccumulator accumulator,
7470 GSignalCMarshaller c_marshaller,
7474 guint g_signal_new_class_handler (const gchar *signal_name,
7476 GSignalFlags signal_flags,
7477 GCallback class_handler,
7478 GSignalAccumulator accumulator,
7480 GSignalCMarshaller c_marshaller,
7484 void g_signal_emitv (const GValue *instance_and_params,
7487 GValue *return_value);
7488 void g_signal_emit_valist (gpointer instance,
7492 void g_signal_emit (gpointer instance,
7496 void g_signal_emit_by_name (gpointer instance,
7497 const gchar *detailed_signal,
7499 guint g_signal_lookup (const gchar *name,
7501 const gchar* g_signal_name (guint signal_id);
7502 void g_signal_query (guint signal_id,
7503 GSignalQuery *query);
7504 guint* g_signal_list_ids (GType itype,
7506 gboolean g_signal_parse_name (const gchar *detailed_signal,
7510 gboolean force_detail_quark);
7511 GSignalInvocationHint* g_signal_get_invocation_hint (gpointer instance);
7512 void g_signal_stop_emission (gpointer instance,
7515 void g_signal_stop_emission_by_name (gpointer instance,
7516 const gchar *detailed_signal);
7517 gulong g_signal_add_emission_hook (guint signal_id,
7519 GSignalEmissionHook hook_func,
7521 GDestroyNotify data_destroy);
7522 void g_signal_remove_emission_hook (guint signal_id,
7524 gboolean g_signal_has_handler_pending (gpointer instance,
7527 gboolean may_be_blocked);
7528 gulong g_signal_connect_closure_by_id (gpointer instance,
7533 gulong g_signal_connect_closure (gpointer instance,
7534 const gchar *detailed_signal,
7537 gulong g_signal_connect_data (gpointer instance,
7538 const gchar *detailed_signal,
7539 GCallback c_handler,
7541 GClosureNotify destroy_data,
7542 GConnectFlags connect_flags);
7543 void g_signal_handler_block (gpointer instance,
7545 void g_signal_handler_unblock (gpointer instance,
7547 void g_signal_handler_disconnect (gpointer instance,
7549 gboolean g_signal_handler_is_connected (gpointer instance,
7551 gulong g_signal_handler_find (gpointer instance,
7552 GSignalMatchType mask,
7558 guint g_signal_handlers_block_matched (gpointer instance,
7559 GSignalMatchType mask,
7565 guint g_signal_handlers_unblock_matched (gpointer instance,
7566 GSignalMatchType mask,
7572 guint g_signal_handlers_disconnect_matched (gpointer instance,
7573 GSignalMatchType mask,
7579 void g_signal_override_class_closure (guint signal_id,
7580 GType instance_type,
7581 GClosure *class_closure);
7582 void g_signal_override_class_handler (const gchar *signal_name,
7583 GType instance_type,
7584 GCallback class_handler);
7585 void g_signal_chain_from_overridden (const GValue *instance_and_params,
7586 GValue *return_value);
7587 void g_signal_chain_from_overridden_handler (gpointer instance,
7589 gboolean g_signal_accumulator_true_handled (GSignalInvocationHint *ihint,
7590 GValue *return_accu,
7591 const GValue *handler_return,
7593 void g_signal_handlers_destroy (gpointer instance);
7594 void _g_signals_destroy (GType itype);
7595 typedef struct _GObject GObject;
7596 typedef struct _GObjectClass GObjectClass;
7597 typedef struct _GObject GInitiallyUnowned;
7598 typedef struct _GObjectClass GInitiallyUnownedClass;
7599 typedef struct _GObjectConstructParam GObjectConstructParam;
7600 typedef void (*GObjectGetPropertyFunc) (GObject *object,
7604 typedef void (*GObjectSetPropertyFunc) (GObject *object,
7606 const GValue *value,
7608 typedef void (*GObjectFinalizeFunc) (GObject *object);
7609 typedef void (*GWeakNotify) (gpointer data,
7610 GObject *where_the_object_was);
7613 GTypeInstance g_type_instance;
7614 volatile guint ref_count;
7617 struct _GObjectClass
7619 GTypeClass g_type_class;
7620 GSList *construct_properties;
7621 GObject* (*constructor) (GType type,
7622 guint n_construct_properties,
7623 GObjectConstructParam *construct_properties);
7624 void (*set_property) (GObject *object,
7626 const GValue *value,
7628 void (*get_property) (GObject *object,
7632 void (*dispose) (GObject *object);
7633 void (*finalize) (GObject *object);
7634 void (*dispatch_properties_changed) (GObject *object,
7636 GParamSpec **pspecs);
7637 void (*notify) (GObject *object,
7639 void (*constructed) (GObject *object);
7642 struct _GObjectConstructParam
7647 GType g_initially_unowned_get_type (void);
7648 void g_object_class_install_property (GObjectClass *oclass,
7651 GParamSpec* g_object_class_find_property (GObjectClass *oclass,
7652 const gchar *property_name);
7653 GParamSpec**g_object_class_list_properties (GObjectClass *oclass,
7654 guint *n_properties);
7655 void g_object_class_override_property (GObjectClass *oclass,
7658 void g_object_interface_install_property (gpointer g_iface,
7660 GParamSpec* g_object_interface_find_property (gpointer g_iface,
7661 const gchar *property_name);
7662 GParamSpec**g_object_interface_list_properties (gpointer g_iface,
7663 guint *n_properties_p);
7664 GType g_object_get_type (void) __attribute__((__const__));
7665 gpointer g_object_new (GType object_type,
7666 const gchar *first_property_name,
7668 gpointer g_object_newv (GType object_type,
7670 GParameter *parameters);
7671 GObject* g_object_new_valist (GType object_type,
7672 const gchar *first_property_name,
7674 void g_object_set (gpointer object,
7675 const gchar *first_property_name,
7676 ...) __attribute__((__sentinel__));
7677 void g_object_get (gpointer object,
7678 const gchar *first_property_name,
7679 ...) __attribute__((__sentinel__));
7680 gpointer g_object_connect (gpointer object,
7681 const gchar *signal_spec,
7682 ...) __attribute__((__sentinel__));
7683 void g_object_disconnect (gpointer object,
7684 const gchar *signal_spec,
7685 ...) __attribute__((__sentinel__));
7686 void g_object_set_valist (GObject *object,
7687 const gchar *first_property_name,
7689 void g_object_get_valist (GObject *object,
7690 const gchar *first_property_name,
7692 void g_object_set_property (GObject *object,
7693 const gchar *property_name,
7694 const GValue *value);
7695 void g_object_get_property (GObject *object,
7696 const gchar *property_name,
7698 void g_object_freeze_notify (GObject *object);
7699 void g_object_notify (GObject *object,
7700 const gchar *property_name);
7701 void g_object_thaw_notify (GObject *object);
7702 gboolean g_object_is_floating (gpointer object);
7703 gpointer g_object_ref_sink (gpointer object);
7704 gpointer g_object_ref (gpointer object);
7705 void g_object_unref (gpointer object);
7706 void g_object_weak_ref (GObject *object,
7709 void g_object_weak_unref (GObject *object,
7712 void g_object_add_weak_pointer (GObject *object,
7713 gpointer *weak_pointer_location);
7714 void g_object_remove_weak_pointer (GObject *object,
7715 gpointer *weak_pointer_location);
7716 typedef void (*GToggleNotify) (gpointer data,
7718 gboolean is_last_ref);
7719 void g_object_add_toggle_ref (GObject *object,
7720 GToggleNotify notify,
7722 void g_object_remove_toggle_ref (GObject *object,
7723 GToggleNotify notify,
7725 gpointer g_object_get_qdata (GObject *object,
7727 void g_object_set_qdata (GObject *object,
7730 void g_object_set_qdata_full (GObject *object,
7733 GDestroyNotify destroy);
7734 gpointer g_object_steal_qdata (GObject *object,
7736 gpointer g_object_get_data (GObject *object,
7738 void g_object_set_data (GObject *object,
7741 void g_object_set_data_full (GObject *object,
7744 GDestroyNotify destroy);
7745 gpointer g_object_steal_data (GObject *object,
7747 void g_object_watch_closure (GObject *object,
7749 GClosure* g_cclosure_new_object (GCallback callback_func,
7751 GClosure* g_cclosure_new_object_swap (GCallback callback_func,
7753 GClosure* g_closure_new_object (guint sizeof_closure,
7755 void g_value_set_object (GValue *value,
7757 gpointer g_value_get_object (const GValue *value);
7758 gpointer g_value_dup_object (const GValue *value);
7759 gulong g_signal_connect_object (gpointer instance,
7760 const gchar *detailed_signal,
7761 GCallback c_handler,
7763 GConnectFlags connect_flags);
7764 void g_object_force_floating (GObject *object);
7765 void g_object_run_dispose (GObject *object);
7766 void g_value_take_object (GValue *value,
7768 void g_value_set_object_take_ownership (GValue *value,
7770 gsize g_object_compat_control (gsize what,
7772 typedef struct _GParamSpecChar GParamSpecChar;
7773 typedef struct _GParamSpecUChar GParamSpecUChar;
7774 typedef struct _GParamSpecBoolean GParamSpecBoolean;
7775 typedef struct _GParamSpecInt GParamSpecInt;
7776 typedef struct _GParamSpecUInt GParamSpecUInt;
7777 typedef struct _GParamSpecLong GParamSpecLong;
7778 typedef struct _GParamSpecULong GParamSpecULong;
7779 typedef struct _GParamSpecInt64 GParamSpecInt64;
7780 typedef struct _GParamSpecUInt64 GParamSpecUInt64;
7781 typedef struct _GParamSpecUnichar GParamSpecUnichar;
7782 typedef struct _GParamSpecEnum GParamSpecEnum;
7783 typedef struct _GParamSpecFlags GParamSpecFlags;
7784 typedef struct _GParamSpecFloat GParamSpecFloat;
7785 typedef struct _GParamSpecDouble GParamSpecDouble;
7786 typedef struct _GParamSpecString GParamSpecString;
7787 typedef struct _GParamSpecParam GParamSpecParam;
7788 typedef struct _GParamSpecBoxed GParamSpecBoxed;
7789 typedef struct _GParamSpecPointer GParamSpecPointer;
7790 typedef struct _GParamSpecValueArray GParamSpecValueArray;
7791 typedef struct _GParamSpecObject GParamSpecObject;
7792 typedef struct _GParamSpecOverride GParamSpecOverride;
7793 typedef struct _GParamSpecGType GParamSpecGType;
7794 struct _GParamSpecChar
7796 GParamSpec parent_instance;
7799 gint8 default_value;
7801 struct _GParamSpecUChar
7803 GParamSpec parent_instance;
7806 guint8 default_value;
7808 struct _GParamSpecBoolean
7810 GParamSpec parent_instance;
7811 gboolean default_value;
7813 struct _GParamSpecInt
7815 GParamSpec parent_instance;
7820 struct _GParamSpecUInt
7822 GParamSpec parent_instance;
7825 guint default_value;
7827 struct _GParamSpecLong
7829 GParamSpec parent_instance;
7832 glong default_value;
7834 struct _GParamSpecULong
7836 GParamSpec parent_instance;
7839 gulong default_value;
7841 struct _GParamSpecInt64
7843 GParamSpec parent_instance;
7846 gint64 default_value;
7848 struct _GParamSpecUInt64
7850 GParamSpec parent_instance;
7853 guint64 default_value;
7855 struct _GParamSpecUnichar
7857 GParamSpec parent_instance;
7858 gunichar default_value;
7860 struct _GParamSpecEnum
7862 GParamSpec parent_instance;
7863 GEnumClass *enum_class;
7866 struct _GParamSpecFlags
7868 GParamSpec parent_instance;
7869 GFlagsClass *flags_class;
7870 guint default_value;
7872 struct _GParamSpecFloat
7874 GParamSpec parent_instance;
7877 gfloat default_value;
7880 struct _GParamSpecDouble
7882 GParamSpec parent_instance;
7885 gdouble default_value;
7888 struct _GParamSpecString
7890 GParamSpec parent_instance;
7891 gchar *default_value;
7895 guint null_fold_if_empty : 1;
7896 guint ensure_non_null : 1;
7898 struct _GParamSpecParam
7900 GParamSpec parent_instance;
7902 struct _GParamSpecBoxed
7904 GParamSpec parent_instance;
7906 struct _GParamSpecPointer
7908 GParamSpec parent_instance;
7910 struct _GParamSpecValueArray
7912 GParamSpec parent_instance;
7913 GParamSpec *element_spec;
7914 guint fixed_n_elements;
7916 struct _GParamSpecObject
7918 GParamSpec parent_instance;
7920 struct _GParamSpecOverride
7922 GParamSpec parent_instance;
7923 GParamSpec *overridden;
7925 struct _GParamSpecGType
7927 GParamSpec parent_instance;
7930 GParamSpec* g_param_spec_char (const gchar *name,
7935 gint8 default_value,
7937 GParamSpec* g_param_spec_uchar (const gchar *name,
7942 guint8 default_value,
7944 GParamSpec* g_param_spec_boolean (const gchar *name,
7947 gboolean default_value,
7949 GParamSpec* g_param_spec_int (const gchar *name,
7956 GParamSpec* g_param_spec_uint (const gchar *name,
7961 guint default_value,
7963 GParamSpec* g_param_spec_long (const gchar *name,
7968 glong default_value,
7970 GParamSpec* g_param_spec_ulong (const gchar *name,
7975 gulong default_value,
7977 GParamSpec* g_param_spec_int64 (const gchar *name,
7982 gint64 default_value,
7984 GParamSpec* g_param_spec_uint64 (const gchar *name,
7989 guint64 default_value,
7991 GParamSpec* g_param_spec_unichar (const gchar *name,
7994 gunichar default_value,
7996 GParamSpec* g_param_spec_enum (const gchar *name,
8002 GParamSpec* g_param_spec_flags (const gchar *name,
8006 guint default_value,
8008 GParamSpec* g_param_spec_float (const gchar *name,
8013 gfloat default_value,
8015 GParamSpec* g_param_spec_double (const gchar *name,
8020 gdouble default_value,
8022 GParamSpec* g_param_spec_string (const gchar *name,
8025 const gchar *default_value,
8027 GParamSpec* g_param_spec_param (const gchar *name,
8032 GParamSpec* g_param_spec_boxed (const gchar *name,
8037 GParamSpec* g_param_spec_pointer (const gchar *name,
8041 GParamSpec* g_param_spec_value_array (const gchar *name,
8044 GParamSpec *element_spec,
8046 GParamSpec* g_param_spec_object (const gchar *name,
8051 GParamSpec* g_param_spec_override (const gchar *name,
8052 GParamSpec *overridden);
8053 GParamSpec* g_param_spec_gtype (const gchar *name,
8058 extern GType *g_param_spec_types;
8059 void g_source_set_closure (GSource *source,
8061 GType g_io_channel_get_type (void);
8062 GType g_io_condition_get_type (void);
8063 typedef struct _GTypeModule GTypeModule;
8064 typedef struct _GTypeModuleClass GTypeModuleClass;
8067 GObject parent_instance;
8070 GSList *interface_infos;
8073 struct _GTypeModuleClass
8075 GObjectClass parent_class;
8076 gboolean (* load) (GTypeModule *module);
8077 void (* unload) (GTypeModule *module);
8078 void (*reserved1) (void);
8079 void (*reserved2) (void);
8080 void (*reserved3) (void);
8081 void (*reserved4) (void);
8083 GType g_type_module_get_type (void) __attribute__((__const__));
8084 gboolean g_type_module_use (GTypeModule *module);
8085 void g_type_module_unuse (GTypeModule *module);
8086 void g_type_module_set_name (GTypeModule *module,
8088 GType g_type_module_register_type (GTypeModule *module,
8090 const gchar *type_name,
8091 const GTypeInfo *type_info,
8093 void g_type_module_add_interface (GTypeModule *module,
8094 GType instance_type,
8095 GType interface_type,
8096 const GInterfaceInfo *interface_info);
8097 GType g_type_module_register_enum (GTypeModule *module,
8099 const GEnumValue *const_static_values);
8100 GType g_type_module_register_flags (GTypeModule *module,
8102 const GFlagsValue *const_static_values);
8103 typedef struct _GTypePluginClass GTypePluginClass;
8104 typedef void (*GTypePluginUse) (GTypePlugin *plugin);
8105 typedef void (*GTypePluginUnuse) (GTypePlugin *plugin);
8106 typedef void (*GTypePluginCompleteTypeInfo) (GTypePlugin *plugin,
8109 GTypeValueTable *value_table);
8110 typedef void (*GTypePluginCompleteInterfaceInfo) (GTypePlugin *plugin,
8111 GType instance_type,
8112 GType interface_type,
8113 GInterfaceInfo *info);
8114 struct _GTypePluginClass
8116 GTypeInterface base_iface;
8117 GTypePluginUse use_plugin;
8118 GTypePluginUnuse unuse_plugin;
8119 GTypePluginCompleteTypeInfo complete_type_info;
8120 GTypePluginCompleteInterfaceInfo complete_interface_info;
8122 GType g_type_plugin_get_type (void) __attribute__((__const__));
8123 void g_type_plugin_use (GTypePlugin *plugin);
8124 void g_type_plugin_unuse (GTypePlugin *plugin);
8125 void g_type_plugin_complete_type_info (GTypePlugin *plugin,
8128 GTypeValueTable *value_table);
8129 void g_type_plugin_complete_interface_info (GTypePlugin *plugin,
8130 GType instance_type,
8131 GType interface_type,
8132 GInterfaceInfo *info);
8133 typedef struct _GValueArray GValueArray;
8140 GValue* g_value_array_get_nth (GValueArray *value_array,
8142 GValueArray* g_value_array_new (guint n_prealloced);
8143 void g_value_array_free (GValueArray *value_array);
8144 GValueArray* g_value_array_copy (const GValueArray *value_array);
8145 GValueArray* g_value_array_prepend (GValueArray *value_array,
8146 const GValue *value);
8147 GValueArray* g_value_array_append (GValueArray *value_array,
8148 const GValue *value);
8149 GValueArray* g_value_array_insert (GValueArray *value_array,
8151 const GValue *value);
8152 GValueArray* g_value_array_remove (GValueArray *value_array,
8154 GValueArray* g_value_array_sort (GValueArray *value_array,
8155 GCompareFunc compare_func);
8156 GValueArray* g_value_array_sort_with_data (GValueArray *value_array,
8157 GCompareDataFunc compare_func,
8158 gpointer user_data);
8159 void g_value_set_char (GValue *value,
8161 gchar g_value_get_char (const GValue *value);
8162 void g_value_set_uchar (GValue *value,
8164 guchar g_value_get_uchar (const GValue *value);
8165 void g_value_set_boolean (GValue *value,
8166 gboolean v_boolean);
8167 gboolean g_value_get_boolean (const GValue *value);
8168 void g_value_set_int (GValue *value,
8170 gint g_value_get_int (const GValue *value);
8171 void g_value_set_uint (GValue *value,
8173 guint g_value_get_uint (const GValue *value);
8174 void g_value_set_long (GValue *value,
8176 glong g_value_get_long (const GValue *value);
8177 void g_value_set_ulong (GValue *value,
8179 gulong g_value_get_ulong (const GValue *value);
8180 void g_value_set_int64 (GValue *value,
8182 gint64 g_value_get_int64 (const GValue *value);
8183 void g_value_set_uint64 (GValue *value,
8185 guint64 g_value_get_uint64 (const GValue *value);
8186 void g_value_set_float (GValue *value,
8188 gfloat g_value_get_float (const GValue *value);
8189 void g_value_set_double (GValue *value,
8191 gdouble g_value_get_double (const GValue *value);
8192 void g_value_set_string (GValue *value,
8193 const gchar *v_string);
8194 void g_value_set_static_string (GValue *value,
8195 const gchar *v_string);
8196 const gchar* g_value_get_string (const GValue *value);
8197 gchar* g_value_dup_string (const GValue *value);
8198 void g_value_set_pointer (GValue *value,
8199 gpointer v_pointer);
8200 gpointer g_value_get_pointer (const GValue *value);
8201 GType g_gtype_get_type (void);
8202 void g_value_set_gtype (GValue *value,
8204 GType g_value_get_gtype (const GValue *value);
8205 GType g_pointer_type_register_static (const gchar *name);
8206 gchar* g_strdup_value_contents (const GValue *value);
8207 void g_value_take_string (GValue *value,
8209 void g_value_set_string_take_ownership (GValue *value,
8211 typedef gchar* gchararray;
8212 GType gst_object_flags_get_type (void);
8213 GType gst_bin_flags_get_type (void);
8214 GType gst_buffer_flag_get_type (void);
8215 GType gst_buffer_copy_flags_get_type (void);
8216 GType gst_buffer_list_item_get_type (void);
8217 GType gst_bus_flags_get_type (void);
8218 GType gst_bus_sync_reply_get_type (void);
8219 GType gst_caps_flags_get_type (void);
8220 GType gst_clock_return_get_type (void);
8221 GType gst_clock_entry_type_get_type (void);
8222 GType gst_clock_flags_get_type (void);
8223 GType gst_debug_graph_details_get_type (void);
8224 GType gst_state_get_type (void);
8225 GType gst_state_change_return_get_type (void);
8226 GType gst_state_change_get_type (void);
8227 GType gst_element_flags_get_type (void);
8228 GType gst_core_error_get_type (void);
8229 GType gst_library_error_get_type (void);
8230 GType gst_resource_error_get_type (void);
8231 GType gst_stream_error_get_type (void);
8232 GType gst_event_type_flags_get_type (void);
8233 GType gst_event_type_get_type (void);
8234 GType gst_seek_type_get_type (void);
8235 GType gst_seek_flags_get_type (void);
8236 GType gst_format_get_type (void);
8237 GType gst_index_certainty_get_type (void);
8238 GType gst_index_entry_type_get_type (void);
8239 GType gst_index_lookup_method_get_type (void);
8240 GType gst_assoc_flags_get_type (void);
8241 GType gst_index_resolver_method_get_type (void);
8242 GType gst_index_flags_get_type (void);
8243 GType gst_debug_level_get_type (void);
8244 GType gst_debug_color_flags_get_type (void);
8245 GType gst_iterator_result_get_type (void);
8246 GType gst_iterator_item_get_type (void);
8247 GType gst_message_type_get_type (void);
8248 GType gst_structure_change_type_get_type (void);
8249 GType gst_stream_status_type_get_type (void);
8250 GType gst_mini_object_flags_get_type (void);
8251 GType gst_pad_link_return_get_type (void);
8252 GType gst_flow_return_get_type (void);
8253 GType gst_activate_mode_get_type (void);
8254 GType gst_pad_direction_get_type (void);
8255 GType gst_pad_flags_get_type (void);
8256 GType gst_pad_presence_get_type (void);
8257 GType gst_pad_template_flags_get_type (void);
8258 GType gst_pipeline_flags_get_type (void);
8259 GType gst_plugin_error_get_type (void);
8260 GType gst_plugin_flags_get_type (void);
8261 GType gst_plugin_dependency_flags_get_type (void);
8262 GType gst_rank_get_type (void);
8263 GType gst_query_type_get_type (void);
8264 GType gst_buffering_mode_get_type (void);
8265 GType gst_clock_type_get_type (void);
8266 GType gst_tag_merge_mode_get_type (void);
8267 GType gst_tag_flag_get_type (void);
8268 GType gst_task_state_get_type (void);
8269 GType gst_alloc_trace_flags_get_type (void);
8270 GType gst_type_find_probability_get_type (void);
8271 GType gst_uri_type_get_type (void);
8272 GType gst_search_mode_get_type (void);
8273 GType gst_parse_error_get_type (void);
8274 GType gst_parse_flags_get_type (void);
8275 typedef struct _GstElement GstElement;
8276 typedef struct _GstElementClass GstElementClass;
8278 GST_STATE_VOID_PENDING = 0,
8280 GST_STATE_READY = 2,
8281 GST_STATE_PAUSED = 3,
8282 GST_STATE_PLAYING = 4
8284 void xmlCheckVersion(int version);
8285 typedef unsigned char xmlChar;
8287 xmlStrdup (const xmlChar *cur);
8289 xmlStrndup (const xmlChar *cur,
8292 xmlCharStrndup (const char *cur,
8295 xmlCharStrdup (const char *cur);
8297 xmlStrsub (const xmlChar *str,
8301 xmlStrchr (const xmlChar *str,
8304 xmlStrstr (const xmlChar *str,
8305 const xmlChar *val);
8307 xmlStrcasestr (const xmlChar *str,
8308 const xmlChar *val);
8310 xmlStrcmp (const xmlChar *str1,
8311 const xmlChar *str2);
8313 xmlStrncmp (const xmlChar *str1,
8314 const xmlChar *str2,
8317 xmlStrcasecmp (const xmlChar *str1,
8318 const xmlChar *str2);
8320 xmlStrncasecmp (const xmlChar *str1,
8321 const xmlChar *str2,
8324 xmlStrEqual (const xmlChar *str1,
8325 const xmlChar *str2);
8327 xmlStrQEqual (const xmlChar *pref,
8328 const xmlChar *name,
8329 const xmlChar *str);
8331 xmlStrlen (const xmlChar *str);
8333 xmlStrcat (xmlChar *cur,
8334 const xmlChar *add);
8336 xmlStrncat (xmlChar *cur,
8340 xmlStrncatNew (const xmlChar *str1,
8341 const xmlChar *str2,
8344 xmlStrPrintf (xmlChar *buf,
8349 xmlStrVPrintf (xmlChar *buf,
8354 xmlGetUTF8Char (const unsigned char *utf,
8357 xmlCheckUTF8 (const unsigned char *utf);
8359 xmlUTF8Strsize (const xmlChar *utf,
8362 xmlUTF8Strndup (const xmlChar *utf,
8365 xmlUTF8Strpos (const xmlChar *utf,
8368 xmlUTF8Strloc (const xmlChar *utf,
8369 const xmlChar *utfchar);
8371 xmlUTF8Strsub (const xmlChar *utf,
8375 xmlUTF8Strlen (const xmlChar *utf);
8377 xmlUTF8Size (const xmlChar *utf);
8379 xmlUTF8Charcmp (const xmlChar *utf1,
8380 const xmlChar *utf2);
8381 typedef struct _xmlParserInputBuffer xmlParserInputBuffer;
8382 typedef xmlParserInputBuffer *xmlParserInputBufferPtr;
8383 typedef struct _xmlOutputBuffer xmlOutputBuffer;
8384 typedef xmlOutputBuffer *xmlOutputBufferPtr;
8385 typedef struct _xmlParserInput xmlParserInput;
8386 typedef xmlParserInput *xmlParserInputPtr;
8387 typedef struct _xmlParserCtxt xmlParserCtxt;
8388 typedef xmlParserCtxt *xmlParserCtxtPtr;
8389 typedef struct _xmlSAXLocator xmlSAXLocator;
8390 typedef xmlSAXLocator *xmlSAXLocatorPtr;
8391 typedef struct _xmlSAXHandler xmlSAXHandler;
8392 typedef xmlSAXHandler *xmlSAXHandlerPtr;
8393 typedef struct _xmlEntity xmlEntity;
8394 typedef xmlEntity *xmlEntityPtr;
8396 XML_BUFFER_ALLOC_DOUBLEIT,
8397 XML_BUFFER_ALLOC_EXACT,
8398 XML_BUFFER_ALLOC_IMMUTABLE,
8400 } xmlBufferAllocationScheme;
8401 typedef struct _xmlBuffer xmlBuffer;
8402 typedef xmlBuffer *xmlBufferPtr;
8407 xmlBufferAllocationScheme alloc;
8411 XML_ELEMENT_NODE= 1,
8412 XML_ATTRIBUTE_NODE= 2,
8414 XML_CDATA_SECTION_NODE= 4,
8415 XML_ENTITY_REF_NODE= 5,
8418 XML_COMMENT_NODE= 8,
8419 XML_DOCUMENT_NODE= 9,
8420 XML_DOCUMENT_TYPE_NODE= 10,
8421 XML_DOCUMENT_FRAG_NODE= 11,
8422 XML_NOTATION_NODE= 12,
8423 XML_HTML_DOCUMENT_NODE= 13,
8425 XML_ELEMENT_DECL= 15,
8426 XML_ATTRIBUTE_DECL= 16,
8427 XML_ENTITY_DECL= 17,
8428 XML_NAMESPACE_DECL= 18,
8429 XML_XINCLUDE_START= 19,
8430 XML_XINCLUDE_END= 20
8431 ,XML_DOCB_DOCUMENT_NODE= 21
8433 typedef struct _xmlNotation xmlNotation;
8434 typedef xmlNotation *xmlNotationPtr;
8435 struct _xmlNotation {
8436 const xmlChar *name;
8437 const xmlChar *PublicID;
8438 const xmlChar *SystemID;
8441 XML_ATTRIBUTE_CDATA = 1,
8443 XML_ATTRIBUTE_IDREF ,
8444 XML_ATTRIBUTE_IDREFS,
8445 XML_ATTRIBUTE_ENTITY,
8446 XML_ATTRIBUTE_ENTITIES,
8447 XML_ATTRIBUTE_NMTOKEN,
8448 XML_ATTRIBUTE_NMTOKENS,
8449 XML_ATTRIBUTE_ENUMERATION,
8450 XML_ATTRIBUTE_NOTATION
8453 XML_ATTRIBUTE_NONE = 1,
8454 XML_ATTRIBUTE_REQUIRED,
8455 XML_ATTRIBUTE_IMPLIED,
8457 } xmlAttributeDefault;
8458 typedef struct _xmlEnumeration xmlEnumeration;
8459 typedef xmlEnumeration *xmlEnumerationPtr;
8460 struct _xmlEnumeration {
8461 struct _xmlEnumeration *next;
8462 const xmlChar *name;
8464 typedef struct _xmlAttribute xmlAttribute;
8465 typedef xmlAttribute *xmlAttributePtr;
8466 struct _xmlAttribute {
8468 xmlElementType type;
8469 const xmlChar *name;
8470 struct _xmlNode *children;
8471 struct _xmlNode *last;
8472 struct _xmlDtd *parent;
8473 struct _xmlNode *next;
8474 struct _xmlNode *prev;
8475 struct _xmlDoc *doc;
8476 struct _xmlAttribute *nexth;
8477 xmlAttributeType atype;
8478 xmlAttributeDefault def;
8479 const xmlChar *defaultValue;
8480 xmlEnumerationPtr tree;
8481 const xmlChar *prefix;
8482 const xmlChar *elem;
8485 XML_ELEMENT_CONTENT_PCDATA = 1,
8486 XML_ELEMENT_CONTENT_ELEMENT,
8487 XML_ELEMENT_CONTENT_SEQ,
8488 XML_ELEMENT_CONTENT_OR
8489 } xmlElementContentType;
8491 XML_ELEMENT_CONTENT_ONCE = 1,
8492 XML_ELEMENT_CONTENT_OPT,
8493 XML_ELEMENT_CONTENT_MULT,
8494 XML_ELEMENT_CONTENT_PLUS
8495 } xmlElementContentOccur;
8496 typedef struct _xmlElementContent xmlElementContent;
8497 typedef xmlElementContent *xmlElementContentPtr;
8498 struct _xmlElementContent {
8499 xmlElementContentType type;
8500 xmlElementContentOccur ocur;
8501 const xmlChar *name;
8502 struct _xmlElementContent *c1;
8503 struct _xmlElementContent *c2;
8504 struct _xmlElementContent *parent;
8505 const xmlChar *prefix;
8508 XML_ELEMENT_TYPE_UNDEFINED = 0,
8509 XML_ELEMENT_TYPE_EMPTY = 1,
8510 XML_ELEMENT_TYPE_ANY,
8511 XML_ELEMENT_TYPE_MIXED,
8512 XML_ELEMENT_TYPE_ELEMENT
8513 } xmlElementTypeVal;
8514 typedef struct _xmlRegexp xmlRegexp;
8515 typedef xmlRegexp *xmlRegexpPtr;
8516 typedef struct _xmlRegExecCtxt xmlRegExecCtxt;
8517 typedef xmlRegExecCtxt *xmlRegExecCtxtPtr;
8518 typedef struct _xmlDict xmlDict;
8519 typedef xmlDict *xmlDictPtr;
8521 xmlDictCreate (void);
8523 xmlDictCreateSub(xmlDictPtr sub);
8525 xmlDictReference(xmlDictPtr dict);
8527 xmlDictFree (xmlDictPtr dict);
8529 xmlDictLookup (xmlDictPtr dict,
8530 const xmlChar *name,
8533 xmlDictExists (xmlDictPtr dict,
8534 const xmlChar *name,
8537 xmlDictQLookup (xmlDictPtr dict,
8538 const xmlChar *prefix,
8539 const xmlChar *name);
8541 xmlDictOwns (xmlDictPtr dict,
8542 const xmlChar *str);
8544 xmlDictSize (xmlDictPtr dict);
8546 xmlDictCleanup (void);
8548 xmlRegexpCompile (const xmlChar *regexp);
8549 void xmlRegFreeRegexp(xmlRegexpPtr regexp);
8551 xmlRegexpExec (xmlRegexpPtr comp,
8552 const xmlChar *value);
8554 xmlRegexpPrint (FILE *output,
8555 xmlRegexpPtr regexp);
8557 xmlRegexpIsDeterminist(xmlRegexpPtr comp);
8558 typedef void (*xmlRegExecCallbacks) (xmlRegExecCtxtPtr exec,
8559 const xmlChar *token,
8563 xmlRegNewExecCtxt (xmlRegexpPtr comp,
8564 xmlRegExecCallbacks callback,
8567 xmlRegFreeExecCtxt (xmlRegExecCtxtPtr exec);
8569 xmlRegExecPushString(xmlRegExecCtxtPtr exec,
8570 const xmlChar *value,
8573 xmlRegExecPushString2(xmlRegExecCtxtPtr exec,
8574 const xmlChar *value,
8575 const xmlChar *value2,
8578 xmlRegExecNextValues(xmlRegExecCtxtPtr exec,
8584 xmlRegExecErrInfo (xmlRegExecCtxtPtr exec,
8585 const xmlChar **string,
8590 typedef struct _xmlExpCtxt xmlExpCtxt;
8591 typedef xmlExpCtxt *xmlExpCtxtPtr;
8593 xmlExpFreeCtxt (xmlExpCtxtPtr ctxt);
8595 xmlExpNewCtxt (int maxNodes,
8598 xmlExpCtxtNbNodes(xmlExpCtxtPtr ctxt);
8600 xmlExpCtxtNbCons(xmlExpCtxtPtr ctxt);
8601 typedef struct _xmlExpNode xmlExpNode;
8602 typedef xmlExpNode *xmlExpNodePtr;
8611 extern xmlExpNodePtr forbiddenExp;
8612 extern xmlExpNodePtr emptyExp;
8614 xmlExpFree (xmlExpCtxtPtr ctxt,
8615 xmlExpNodePtr expr);
8617 xmlExpRef (xmlExpNodePtr expr);
8619 xmlExpParse (xmlExpCtxtPtr ctxt,
8622 xmlExpNewAtom (xmlExpCtxtPtr ctxt,
8623 const xmlChar *name,
8626 xmlExpNewOr (xmlExpCtxtPtr ctxt,
8628 xmlExpNodePtr right);
8630 xmlExpNewSeq (xmlExpCtxtPtr ctxt,
8632 xmlExpNodePtr right);
8634 xmlExpNewRange (xmlExpCtxtPtr ctxt,
8635 xmlExpNodePtr subset,
8639 xmlExpIsNillable(xmlExpNodePtr expr);
8641 xmlExpMaxToken (xmlExpNodePtr expr);
8643 xmlExpGetLanguage(xmlExpCtxtPtr ctxt,
8645 const xmlChar**langList,
8648 xmlExpGetStart (xmlExpCtxtPtr ctxt,
8650 const xmlChar**tokList,
8653 xmlExpStringDerive(xmlExpCtxtPtr ctxt,
8658 xmlExpExpDerive (xmlExpCtxtPtr ctxt,
8662 xmlExpSubsume (xmlExpCtxtPtr ctxt,
8666 xmlExpDump (xmlBufferPtr buf,
8667 xmlExpNodePtr expr);
8668 typedef struct _xmlElement xmlElement;
8669 typedef xmlElement *xmlElementPtr;
8670 struct _xmlElement {
8672 xmlElementType type;
8673 const xmlChar *name;
8674 struct _xmlNode *children;
8675 struct _xmlNode *last;
8676 struct _xmlDtd *parent;
8677 struct _xmlNode *next;
8678 struct _xmlNode *prev;
8679 struct _xmlDoc *doc;
8680 xmlElementTypeVal etype;
8681 xmlElementContentPtr content;
8682 xmlAttributePtr attributes;
8683 const xmlChar *prefix;
8684 xmlRegexpPtr contModel;
8686 typedef xmlElementType xmlNsType;
8687 typedef struct _xmlNs xmlNs;
8688 typedef xmlNs *xmlNsPtr;
8690 struct _xmlNs *next;
8692 const xmlChar *href;
8693 const xmlChar *prefix;
8695 struct _xmlDoc *context;
8697 typedef struct _xmlDtd xmlDtd;
8698 typedef xmlDtd *xmlDtdPtr;
8701 xmlElementType type;
8702 const xmlChar *name;
8703 struct _xmlNode *children;
8704 struct _xmlNode *last;
8705 struct _xmlDoc *parent;
8706 struct _xmlNode *next;
8707 struct _xmlNode *prev;
8708 struct _xmlDoc *doc;
8713 const xmlChar *ExternalID;
8714 const xmlChar *SystemID;
8717 typedef struct _xmlAttr xmlAttr;
8718 typedef xmlAttr *xmlAttrPtr;
8721 xmlElementType type;
8722 const xmlChar *name;
8723 struct _xmlNode *children;
8724 struct _xmlNode *last;
8725 struct _xmlNode *parent;
8726 struct _xmlAttr *next;
8727 struct _xmlAttr *prev;
8728 struct _xmlDoc *doc;
8730 xmlAttributeType atype;
8733 typedef struct _xmlID xmlID;
8734 typedef xmlID *xmlIDPtr;
8736 struct _xmlID *next;
8737 const xmlChar *value;
8739 const xmlChar *name;
8741 struct _xmlDoc *doc;
8743 typedef struct _xmlRef xmlRef;
8744 typedef xmlRef *xmlRefPtr;
8746 struct _xmlRef *next;
8747 const xmlChar *value;
8749 const xmlChar *name;
8752 typedef struct _xmlNode xmlNode;
8753 typedef xmlNode *xmlNodePtr;
8756 xmlElementType type;
8757 const xmlChar *name;
8758 struct _xmlNode *children;
8759 struct _xmlNode *last;
8760 struct _xmlNode *parent;
8761 struct _xmlNode *next;
8762 struct _xmlNode *prev;
8763 struct _xmlDoc *doc;
8766 struct _xmlAttr *properties;
8769 unsigned short line;
8770 unsigned short extra;
8773 XML_DOC_WELLFORMED = 1<<0,
8774 XML_DOC_NSVALID = 1<<1,
8775 XML_DOC_OLD10 = 1<<2,
8776 XML_DOC_DTDVALID = 1<<3,
8777 XML_DOC_XINCLUDE = 1<<4,
8778 XML_DOC_USERBUILT = 1<<5,
8779 XML_DOC_INTERNAL = 1<<6,
8782 typedef struct _xmlDoc xmlDoc;
8783 typedef xmlDoc *xmlDocPtr;
8786 xmlElementType type;
8788 struct _xmlNode *children;
8789 struct _xmlNode *last;
8790 struct _xmlNode *parent;
8791 struct _xmlNode *next;
8792 struct _xmlNode *prev;
8793 struct _xmlDoc *doc;
8796 struct _xmlDtd *intSubset;
8797 struct _xmlDtd *extSubset;
8798 struct _xmlNs *oldNs;
8799 const xmlChar *version;
8800 const xmlChar *encoding;
8805 struct _xmlDict *dict;
8810 typedef struct _xmlDOMWrapCtxt xmlDOMWrapCtxt;
8811 typedef xmlDOMWrapCtxt *xmlDOMWrapCtxtPtr;
8812 typedef xmlNsPtr (*xmlDOMWrapAcquireNsFunction) (xmlDOMWrapCtxtPtr ctxt,
8814 const xmlChar *nsName,
8815 const xmlChar *nsPrefix);
8816 struct _xmlDOMWrapCtxt {
8819 void * namespaceMap;
8820 xmlDOMWrapAcquireNsFunction getNsForNodeFunc;
8823 xmlValidateNCName (const xmlChar *value,
8826 xmlValidateQName (const xmlChar *value,
8829 xmlValidateName (const xmlChar *value,
8832 xmlValidateNMToken (const xmlChar *value,
8835 xmlBuildQName (const xmlChar *ncname,
8836 const xmlChar *prefix,
8840 xmlSplitQName2 (const xmlChar *name,
8843 xmlSplitQName3 (const xmlChar *name,
8846 xmlSetBufferAllocationScheme(xmlBufferAllocationScheme scheme);
8847 xmlBufferAllocationScheme
8848 xmlGetBufferAllocationScheme(void);
8850 xmlBufferCreate (void);
8852 xmlBufferCreateSize (size_t size);
8854 xmlBufferCreateStatic (void *mem,
8857 xmlBufferResize (xmlBufferPtr buf,
8860 xmlBufferFree (xmlBufferPtr buf);
8862 xmlBufferDump (FILE *file,
8865 xmlBufferAdd (xmlBufferPtr buf,
8869 xmlBufferAddHead (xmlBufferPtr buf,
8873 xmlBufferCat (xmlBufferPtr buf,
8874 const xmlChar *str);
8876 xmlBufferCCat (xmlBufferPtr buf,
8879 xmlBufferShrink (xmlBufferPtr buf,
8882 xmlBufferGrow (xmlBufferPtr buf,
8885 xmlBufferEmpty (xmlBufferPtr buf);
8887 xmlBufferContent (const xmlBufferPtr buf);
8889 xmlBufferSetAllocationScheme(xmlBufferPtr buf,
8890 xmlBufferAllocationScheme scheme);
8892 xmlBufferLength (const xmlBufferPtr buf);
8894 xmlCreateIntSubset (xmlDocPtr doc,
8895 const xmlChar *name,
8896 const xmlChar *ExternalID,
8897 const xmlChar *SystemID);
8899 xmlNewDtd (xmlDocPtr doc,
8900 const xmlChar *name,
8901 const xmlChar *ExternalID,
8902 const xmlChar *SystemID);
8904 xmlGetIntSubset (xmlDocPtr doc);
8906 xmlFreeDtd (xmlDtdPtr cur);
8908 xmlNewGlobalNs (xmlDocPtr doc,
8909 const xmlChar *href,
8910 const xmlChar *prefix);
8912 xmlNewNs (xmlNodePtr node,
8913 const xmlChar *href,
8914 const xmlChar *prefix);
8916 xmlFreeNs (xmlNsPtr cur);
8918 xmlFreeNsList (xmlNsPtr cur);
8920 xmlNewDoc (const xmlChar *version);
8922 xmlFreeDoc (xmlDocPtr cur);
8924 xmlNewDocProp (xmlDocPtr doc,
8925 const xmlChar *name,
8926 const xmlChar *value);
8928 xmlNewProp (xmlNodePtr node,
8929 const xmlChar *name,
8930 const xmlChar *value);
8932 xmlNewNsProp (xmlNodePtr node,
8934 const xmlChar *name,
8935 const xmlChar *value);
8937 xmlNewNsPropEatName (xmlNodePtr node,
8940 const xmlChar *value);
8942 xmlFreePropList (xmlAttrPtr cur);
8944 xmlFreeProp (xmlAttrPtr cur);
8946 xmlCopyProp (xmlNodePtr target,
8949 xmlCopyPropList (xmlNodePtr target,
8952 xmlCopyDtd (xmlDtdPtr dtd);
8954 xmlCopyDoc (xmlDocPtr doc,
8957 xmlNewDocNode (xmlDocPtr doc,
8959 const xmlChar *name,
8960 const xmlChar *content);
8962 xmlNewDocNodeEatName (xmlDocPtr doc,
8965 const xmlChar *content);
8967 xmlNewNode (xmlNsPtr ns,
8968 const xmlChar *name);
8970 xmlNewNodeEatName (xmlNsPtr ns,
8973 xmlNewChild (xmlNodePtr parent,
8975 const xmlChar *name,
8976 const xmlChar *content);
8978 xmlNewDocText (xmlDocPtr doc,
8979 const xmlChar *content);
8981 xmlNewText (const xmlChar *content);
8983 xmlNewDocPI (xmlDocPtr doc,
8984 const xmlChar *name,
8985 const xmlChar *content);
8987 xmlNewPI (const xmlChar *name,
8988 const xmlChar *content);
8990 xmlNewDocTextLen (xmlDocPtr doc,
8991 const xmlChar *content,
8994 xmlNewTextLen (const xmlChar *content,
8997 xmlNewDocComment (xmlDocPtr doc,
8998 const xmlChar *content);
9000 xmlNewComment (const xmlChar *content);
9002 xmlNewCDataBlock (xmlDocPtr doc,
9003 const xmlChar *content,
9006 xmlNewCharRef (xmlDocPtr doc,
9007 const xmlChar *name);
9009 xmlNewReference (xmlDocPtr doc,
9010 const xmlChar *name);
9012 xmlCopyNode (const xmlNodePtr node,
9015 xmlDocCopyNode (const xmlNodePtr node,
9019 xmlDocCopyNodeList (xmlDocPtr doc,
9020 const xmlNodePtr node);
9022 xmlCopyNodeList (const xmlNodePtr node);
9024 xmlNewTextChild (xmlNodePtr parent,
9026 const xmlChar *name,
9027 const xmlChar *content);
9029 xmlNewDocRawNode (xmlDocPtr doc,
9031 const xmlChar *name,
9032 const xmlChar *content);
9034 xmlNewDocFragment (xmlDocPtr doc);
9036 xmlGetLineNo (xmlNodePtr node);
9038 xmlGetNodePath (xmlNodePtr node);
9040 xmlDocGetRootElement (xmlDocPtr doc);
9042 xmlGetLastChild (xmlNodePtr parent);
9044 xmlNodeIsText (xmlNodePtr node);
9046 xmlIsBlankNode (xmlNodePtr node);
9048 xmlDocSetRootElement (xmlDocPtr doc,
9051 xmlNodeSetName (xmlNodePtr cur,
9052 const xmlChar *name);
9054 xmlAddChild (xmlNodePtr parent,
9057 xmlAddChildList (xmlNodePtr parent,
9060 xmlReplaceNode (xmlNodePtr old,
9063 xmlAddPrevSibling (xmlNodePtr cur,
9066 xmlAddSibling (xmlNodePtr cur,
9069 xmlAddNextSibling (xmlNodePtr cur,
9072 xmlUnlinkNode (xmlNodePtr cur);
9074 xmlTextMerge (xmlNodePtr first,
9077 xmlTextConcat (xmlNodePtr node,
9078 const xmlChar *content,
9081 xmlFreeNodeList (xmlNodePtr cur);
9083 xmlFreeNode (xmlNodePtr cur);
9085 xmlSetTreeDoc (xmlNodePtr tree,
9088 xmlSetListDoc (xmlNodePtr list,
9091 xmlSearchNs (xmlDocPtr doc,
9093 const xmlChar *nameSpace);
9095 xmlSearchNsByHref (xmlDocPtr doc,
9097 const xmlChar *href);
9099 xmlGetNsList (xmlDocPtr doc,
9102 xmlSetNs (xmlNodePtr node,
9105 xmlCopyNamespace (xmlNsPtr cur);
9107 xmlCopyNamespaceList (xmlNsPtr cur);
9109 xmlSetProp (xmlNodePtr node,
9110 const xmlChar *name,
9111 const xmlChar *value);
9113 xmlSetNsProp (xmlNodePtr node,
9115 const xmlChar *name,
9116 const xmlChar *value);
9118 xmlGetNoNsProp (xmlNodePtr node,
9119 const xmlChar *name);
9121 xmlGetProp (xmlNodePtr node,
9122 const xmlChar *name);
9124 xmlHasProp (xmlNodePtr node,
9125 const xmlChar *name);
9127 xmlHasNsProp (xmlNodePtr node,
9128 const xmlChar *name,
9129 const xmlChar *nameSpace);
9131 xmlGetNsProp (xmlNodePtr node,
9132 const xmlChar *name,
9133 const xmlChar *nameSpace);
9135 xmlStringGetNodeList (xmlDocPtr doc,
9136 const xmlChar *value);
9138 xmlStringLenGetNodeList (xmlDocPtr doc,
9139 const xmlChar *value,
9142 xmlNodeListGetString (xmlDocPtr doc,
9146 xmlNodeListGetRawString (xmlDocPtr doc,
9150 xmlNodeSetContent (xmlNodePtr cur,
9151 const xmlChar *content);
9153 xmlNodeSetContentLen (xmlNodePtr cur,
9154 const xmlChar *content,
9157 xmlNodeAddContent (xmlNodePtr cur,
9158 const xmlChar *content);
9160 xmlNodeAddContentLen (xmlNodePtr cur,
9161 const xmlChar *content,
9164 xmlNodeGetContent (xmlNodePtr cur);
9166 xmlNodeBufGetContent (xmlBufferPtr buffer,
9169 xmlNodeGetLang (xmlNodePtr cur);
9171 xmlNodeGetSpacePreserve (xmlNodePtr cur);
9173 xmlNodeSetLang (xmlNodePtr cur,
9174 const xmlChar *lang);
9176 xmlNodeSetSpacePreserve (xmlNodePtr cur,
9179 xmlNodeGetBase (xmlDocPtr doc,
9182 xmlNodeSetBase (xmlNodePtr cur,
9183 const xmlChar *uri);
9185 xmlRemoveProp (xmlAttrPtr cur);
9187 xmlUnsetNsProp (xmlNodePtr node,
9189 const xmlChar *name);
9191 xmlUnsetProp (xmlNodePtr node,
9192 const xmlChar *name);
9194 xmlBufferWriteCHAR (xmlBufferPtr buf,
9195 const xmlChar *string);
9197 xmlBufferWriteChar (xmlBufferPtr buf,
9198 const char *string);
9200 xmlBufferWriteQuotedString(xmlBufferPtr buf,
9201 const xmlChar *string);
9202 void xmlAttrSerializeTxtContent(xmlBufferPtr buf,
9205 const xmlChar *string);
9207 xmlReconciliateNs (xmlDocPtr doc,
9210 xmlDocDumpFormatMemory (xmlDocPtr cur,
9215 xmlDocDumpMemory (xmlDocPtr cur,
9219 xmlDocDumpMemoryEnc (xmlDocPtr out_doc,
9220 xmlChar **doc_txt_ptr,
9222 const char *txt_encoding);
9224 xmlDocDumpFormatMemoryEnc(xmlDocPtr out_doc,
9225 xmlChar **doc_txt_ptr,
9227 const char *txt_encoding,
9230 xmlDocFormatDump (FILE *f,
9234 xmlDocDump (FILE *f,
9237 xmlElemDump (FILE *f,
9241 xmlSaveFile (const char *filename,
9244 xmlSaveFormatFile (const char *filename,
9248 xmlNodeDump (xmlBufferPtr buf,
9254 xmlSaveFileTo (xmlOutputBufferPtr buf,
9256 const char *encoding);
9258 xmlSaveFormatFileTo (xmlOutputBufferPtr buf,
9260 const char *encoding,
9263 xmlNodeDumpOutput (xmlOutputBufferPtr buf,
9268 const char *encoding);
9270 xmlSaveFormatFileEnc (const char *filename,
9272 const char *encoding,
9275 xmlSaveFileEnc (const char *filename,
9277 const char *encoding);
9279 xmlIsXHTML (const xmlChar *systemID,
9280 const xmlChar *publicID);
9282 xmlGetDocCompressMode (xmlDocPtr doc);
9284 xmlSetDocCompressMode (xmlDocPtr doc,
9287 xmlGetCompressMode (void);
9289 xmlSetCompressMode (int mode);
9291 xmlDOMWrapNewCtxt (void);
9293 xmlDOMWrapFreeCtxt (xmlDOMWrapCtxtPtr ctxt);
9295 xmlDOMWrapReconcileNamespaces(xmlDOMWrapCtxtPtr ctxt,
9299 xmlDOMWrapAdoptNode (xmlDOMWrapCtxtPtr ctxt,
9300 xmlDocPtr sourceDoc,
9303 xmlNodePtr destParent,
9306 xmlDOMWrapRemoveNode (xmlDOMWrapCtxtPtr ctxt,
9311 xmlDOMWrapCloneNode (xmlDOMWrapCtxtPtr ctxt,
9312 xmlDocPtr sourceDoc,
9314 xmlNodePtr *clonedNode,
9316 xmlNodePtr destParent,
9320 xmlChildElementCount (xmlNodePtr parent);
9322 xmlNextElementSibling (xmlNodePtr node);
9324 xmlFirstElementChild (xmlNodePtr parent);
9326 xmlLastElementChild (xmlNodePtr parent);
9328 xmlPreviousElementSibling (xmlNodePtr node);
9329 typedef struct _xmlHashTable xmlHashTable;
9330 typedef xmlHashTable *xmlHashTablePtr;
9331 typedef void (*xmlHashDeallocator)(void *payload, xmlChar *name);
9332 typedef void *(*xmlHashCopier)(void *payload, xmlChar *name);
9333 typedef void (*xmlHashScanner)(void *payload, void *data, xmlChar *name);
9334 typedef void (*xmlHashScannerFull)(void *payload, void *data,
9335 const xmlChar *name, const xmlChar *name2,
9336 const xmlChar *name3);
9338 xmlHashCreate (int size);
9340 xmlHashCreateDict(int size,
9343 xmlHashFree (xmlHashTablePtr table,
9344 xmlHashDeallocator f);
9346 xmlHashAddEntry (xmlHashTablePtr table,
9347 const xmlChar *name,
9350 xmlHashUpdateEntry(xmlHashTablePtr table,
9351 const xmlChar *name,
9353 xmlHashDeallocator f);
9355 xmlHashAddEntry2(xmlHashTablePtr table,
9356 const xmlChar *name,
9357 const xmlChar *name2,
9360 xmlHashUpdateEntry2(xmlHashTablePtr table,
9361 const xmlChar *name,
9362 const xmlChar *name2,
9364 xmlHashDeallocator f);
9366 xmlHashAddEntry3(xmlHashTablePtr table,
9367 const xmlChar *name,
9368 const xmlChar *name2,
9369 const xmlChar *name3,
9372 xmlHashUpdateEntry3(xmlHashTablePtr table,
9373 const xmlChar *name,
9374 const xmlChar *name2,
9375 const xmlChar *name3,
9377 xmlHashDeallocator f);
9379 xmlHashRemoveEntry(xmlHashTablePtr table, const xmlChar *name,
9380 xmlHashDeallocator f);
9382 xmlHashRemoveEntry2(xmlHashTablePtr table, const xmlChar *name,
9383 const xmlChar *name2, xmlHashDeallocator f);
9385 xmlHashRemoveEntry3(xmlHashTablePtr table, const xmlChar *name,
9386 const xmlChar *name2, const xmlChar *name3,
9387 xmlHashDeallocator f);
9389 xmlHashLookup (xmlHashTablePtr table,
9390 const xmlChar *name);
9392 xmlHashLookup2 (xmlHashTablePtr table,
9393 const xmlChar *name,
9394 const xmlChar *name2);
9396 xmlHashLookup3 (xmlHashTablePtr table,
9397 const xmlChar *name,
9398 const xmlChar *name2,
9399 const xmlChar *name3);
9401 xmlHashQLookup (xmlHashTablePtr table,
9402 const xmlChar *name,
9403 const xmlChar *prefix);
9405 xmlHashQLookup2 (xmlHashTablePtr table,
9406 const xmlChar *name,
9407 const xmlChar *prefix,
9408 const xmlChar *name2,
9409 const xmlChar *prefix2);
9411 xmlHashQLookup3 (xmlHashTablePtr table,
9412 const xmlChar *name,
9413 const xmlChar *prefix,
9414 const xmlChar *name2,
9415 const xmlChar *prefix2,
9416 const xmlChar *name3,
9417 const xmlChar *prefix3);
9419 xmlHashCopy (xmlHashTablePtr table,
9422 xmlHashSize (xmlHashTablePtr table);
9424 xmlHashScan (xmlHashTablePtr table,
9428 xmlHashScan3 (xmlHashTablePtr table,
9429 const xmlChar *name,
9430 const xmlChar *name2,
9431 const xmlChar *name3,
9435 xmlHashScanFull (xmlHashTablePtr table,
9436 xmlHashScannerFull f,
9439 xmlHashScanFull3(xmlHashTablePtr table,
9440 const xmlChar *name,
9441 const xmlChar *name2,
9442 const xmlChar *name3,
9443 xmlHashScannerFull f,
9447 XML_ERR_WARNING = 1,
9480 XML_FROM_SCHEMATRONV
9482 typedef struct _xmlError xmlError;
9483 typedef xmlError *xmlErrorPtr;
9488 xmlErrorLevel level;
9501 XML_ERR_INTERNAL_ERROR,
9503 XML_ERR_DOCUMENT_START,
9504 XML_ERR_DOCUMENT_EMPTY,
9505 XML_ERR_DOCUMENT_END,
9506 XML_ERR_INVALID_HEX_CHARREF,
9507 XML_ERR_INVALID_DEC_CHARREF,
9508 XML_ERR_INVALID_CHARREF,
9509 XML_ERR_INVALID_CHAR,
9510 XML_ERR_CHARREF_AT_EOF,
9511 XML_ERR_CHARREF_IN_PROLOG,
9512 XML_ERR_CHARREF_IN_EPILOG,
9513 XML_ERR_CHARREF_IN_DTD,
9514 XML_ERR_ENTITYREF_AT_EOF,
9515 XML_ERR_ENTITYREF_IN_PROLOG,
9516 XML_ERR_ENTITYREF_IN_EPILOG,
9517 XML_ERR_ENTITYREF_IN_DTD,
9518 XML_ERR_PEREF_AT_EOF,
9519 XML_ERR_PEREF_IN_PROLOG,
9520 XML_ERR_PEREF_IN_EPILOG,
9521 XML_ERR_PEREF_IN_INT_SUBSET,
9522 XML_ERR_ENTITYREF_NO_NAME,
9523 XML_ERR_ENTITYREF_SEMICOL_MISSING,
9524 XML_ERR_PEREF_NO_NAME,
9525 XML_ERR_PEREF_SEMICOL_MISSING,
9526 XML_ERR_UNDECLARED_ENTITY,
9527 XML_WAR_UNDECLARED_ENTITY,
9528 XML_ERR_UNPARSED_ENTITY,
9529 XML_ERR_ENTITY_IS_EXTERNAL,
9530 XML_ERR_ENTITY_IS_PARAMETER,
9531 XML_ERR_UNKNOWN_ENCODING,
9532 XML_ERR_UNSUPPORTED_ENCODING,
9533 XML_ERR_STRING_NOT_STARTED,
9534 XML_ERR_STRING_NOT_CLOSED,
9535 XML_ERR_NS_DECL_ERROR,
9536 XML_ERR_ENTITY_NOT_STARTED,
9537 XML_ERR_ENTITY_NOT_FINISHED,
9538 XML_ERR_LT_IN_ATTRIBUTE,
9539 XML_ERR_ATTRIBUTE_NOT_STARTED,
9540 XML_ERR_ATTRIBUTE_NOT_FINISHED,
9541 XML_ERR_ATTRIBUTE_WITHOUT_VALUE,
9542 XML_ERR_ATTRIBUTE_REDEFINED,
9543 XML_ERR_LITERAL_NOT_STARTED,
9544 XML_ERR_LITERAL_NOT_FINISHED,
9545 XML_ERR_COMMENT_NOT_FINISHED,
9546 XML_ERR_PI_NOT_STARTED,
9547 XML_ERR_PI_NOT_FINISHED,
9548 XML_ERR_NOTATION_NOT_STARTED,
9549 XML_ERR_NOTATION_NOT_FINISHED,
9550 XML_ERR_ATTLIST_NOT_STARTED,
9551 XML_ERR_ATTLIST_NOT_FINISHED,
9552 XML_ERR_MIXED_NOT_STARTED,
9553 XML_ERR_MIXED_NOT_FINISHED,
9554 XML_ERR_ELEMCONTENT_NOT_STARTED,
9555 XML_ERR_ELEMCONTENT_NOT_FINISHED,
9556 XML_ERR_XMLDECL_NOT_STARTED,
9557 XML_ERR_XMLDECL_NOT_FINISHED,
9558 XML_ERR_CONDSEC_NOT_STARTED,
9559 XML_ERR_CONDSEC_NOT_FINISHED,
9560 XML_ERR_EXT_SUBSET_NOT_FINISHED,
9561 XML_ERR_DOCTYPE_NOT_FINISHED,
9562 XML_ERR_MISPLACED_CDATA_END,
9563 XML_ERR_CDATA_NOT_FINISHED,
9564 XML_ERR_RESERVED_XML_NAME,
9565 XML_ERR_SPACE_REQUIRED,
9566 XML_ERR_SEPARATOR_REQUIRED,
9567 XML_ERR_NMTOKEN_REQUIRED,
9568 XML_ERR_NAME_REQUIRED,
9569 XML_ERR_PCDATA_REQUIRED,
9570 XML_ERR_URI_REQUIRED,
9571 XML_ERR_PUBID_REQUIRED,
9572 XML_ERR_LT_REQUIRED,
9573 XML_ERR_GT_REQUIRED,
9574 XML_ERR_LTSLASH_REQUIRED,
9575 XML_ERR_EQUAL_REQUIRED,
9576 XML_ERR_TAG_NAME_MISMATCH,
9577 XML_ERR_TAG_NOT_FINISHED,
9578 XML_ERR_STANDALONE_VALUE,
9579 XML_ERR_ENCODING_NAME,
9580 XML_ERR_HYPHEN_IN_COMMENT,
9581 XML_ERR_INVALID_ENCODING,
9582 XML_ERR_EXT_ENTITY_STANDALONE,
9583 XML_ERR_CONDSEC_INVALID,
9584 XML_ERR_VALUE_REQUIRED,
9585 XML_ERR_NOT_WELL_BALANCED,
9586 XML_ERR_EXTRA_CONTENT,
9587 XML_ERR_ENTITY_CHAR_ERROR,
9588 XML_ERR_ENTITY_PE_INTERNAL,
9589 XML_ERR_ENTITY_LOOP,
9590 XML_ERR_ENTITY_BOUNDARY,
9591 XML_ERR_INVALID_URI,
9592 XML_ERR_URI_FRAGMENT,
9595 XML_ERR_CONDSEC_INVALID_KEYWORD,
9596 XML_ERR_VERSION_MISSING,
9597 XML_WAR_UNKNOWN_VERSION,
9600 XML_WAR_NS_URI_RELATIVE,
9601 XML_ERR_MISSING_ENCODING,
9602 XML_WAR_SPACE_VALUE,
9603 XML_ERR_NOT_STANDALONE,
9604 XML_ERR_ENTITY_PROCESSING,
9605 XML_ERR_NOTATION_PROCESSING,
9607 XML_WAR_ENTITY_REDEFINED,
9608 XML_ERR_UNKNOWN_VERSION,
9609 XML_ERR_VERSION_MISMATCH,
9610 XML_NS_ERR_XML_NAMESPACE = 200,
9611 XML_NS_ERR_UNDEFINED_NAMESPACE,
9613 XML_NS_ERR_ATTRIBUTE_REDEFINED,
9616 XML_DTD_ATTRIBUTE_DEFAULT = 500,
9617 XML_DTD_ATTRIBUTE_REDEFINED,
9618 XML_DTD_ATTRIBUTE_VALUE,
9619 XML_DTD_CONTENT_ERROR,
9620 XML_DTD_CONTENT_MODEL,
9621 XML_DTD_CONTENT_NOT_DETERMINIST,
9622 XML_DTD_DIFFERENT_PREFIX,
9623 XML_DTD_ELEM_DEFAULT_NAMESPACE,
9624 XML_DTD_ELEM_NAMESPACE,
9625 XML_DTD_ELEM_REDEFINED,
9626 XML_DTD_EMPTY_NOTATION,
9627 XML_DTD_ENTITY_TYPE,
9629 XML_DTD_ID_REDEFINED,
9631 XML_DTD_INVALID_CHILD,
9632 XML_DTD_INVALID_DEFAULT,
9634 XML_DTD_MISSING_ATTRIBUTE,
9635 XML_DTD_MIXED_CORRUPT,
9636 XML_DTD_MULTIPLE_ID,
9639 XML_DTD_NO_ELEM_NAME,
9642 XML_DTD_NOTATION_REDEFINED,
9643 XML_DTD_NOTATION_VALUE,
9646 XML_DTD_NOT_STANDALONE,
9648 XML_DTD_STANDALONE_WHITE_SPACE,
9649 XML_DTD_UNKNOWN_ATTRIBUTE,
9650 XML_DTD_UNKNOWN_ELEM,
9651 XML_DTD_UNKNOWN_ENTITY,
9653 XML_DTD_UNKNOWN_NOTATION,
9654 XML_DTD_STANDALONE_DEFAULTED,
9655 XML_DTD_XMLID_VALUE,
9658 XML_HTML_STRUCURE_ERROR = 800,
9659 XML_HTML_UNKNOWN_TAG,
9660 XML_RNGP_ANYNAME_ATTR_ANCESTOR = 1000,
9661 XML_RNGP_ATTR_CONFLICT,
9662 XML_RNGP_ATTRIBUTE_CHILDREN,
9663 XML_RNGP_ATTRIBUTE_CONTENT,
9664 XML_RNGP_ATTRIBUTE_EMPTY,
9665 XML_RNGP_ATTRIBUTE_NOOP,
9666 XML_RNGP_CHOICE_CONTENT,
9667 XML_RNGP_CHOICE_EMPTY,
9668 XML_RNGP_CREATE_FAILURE,
9669 XML_RNGP_DATA_CONTENT,
9670 XML_RNGP_DEF_CHOICE_AND_INTERLEAVE,
9671 XML_RNGP_DEFINE_CREATE_FAILED,
9672 XML_RNGP_DEFINE_EMPTY,
9673 XML_RNGP_DEFINE_MISSING,
9674 XML_RNGP_DEFINE_NAME_MISSING,
9675 XML_RNGP_ELEM_CONTENT_EMPTY,
9676 XML_RNGP_ELEM_CONTENT_ERROR,
9677 XML_RNGP_ELEMENT_EMPTY,
9678 XML_RNGP_ELEMENT_CONTENT,
9679 XML_RNGP_ELEMENT_NAME,
9680 XML_RNGP_ELEMENT_NO_CONTENT,
9681 XML_RNGP_ELEM_TEXT_CONFLICT,
9683 XML_RNGP_EMPTY_CONSTRUCT,
9684 XML_RNGP_EMPTY_CONTENT,
9685 XML_RNGP_EMPTY_NOT_EMPTY,
9686 XML_RNGP_ERROR_TYPE_LIB,
9687 XML_RNGP_EXCEPT_EMPTY,
9688 XML_RNGP_EXCEPT_MISSING,
9689 XML_RNGP_EXCEPT_MULTIPLE,
9690 XML_RNGP_EXCEPT_NO_CONTENT,
9691 XML_RNGP_EXTERNALREF_EMTPY,
9692 XML_RNGP_EXTERNAL_REF_FAILURE,
9693 XML_RNGP_EXTERNALREF_RECURSE,
9694 XML_RNGP_FORBIDDEN_ATTRIBUTE,
9695 XML_RNGP_FOREIGN_ELEMENT,
9696 XML_RNGP_GRAMMAR_CONTENT,
9697 XML_RNGP_GRAMMAR_EMPTY,
9698 XML_RNGP_GRAMMAR_MISSING,
9699 XML_RNGP_GRAMMAR_NO_START,
9700 XML_RNGP_GROUP_ATTR_CONFLICT,
9701 XML_RNGP_HREF_ERROR,
9702 XML_RNGP_INCLUDE_EMPTY,
9703 XML_RNGP_INCLUDE_FAILURE,
9704 XML_RNGP_INCLUDE_RECURSE,
9705 XML_RNGP_INTERLEAVE_ADD,
9706 XML_RNGP_INTERLEAVE_CREATE_FAILED,
9707 XML_RNGP_INTERLEAVE_EMPTY,
9708 XML_RNGP_INTERLEAVE_NO_CONTENT,
9709 XML_RNGP_INVALID_DEFINE_NAME,
9710 XML_RNGP_INVALID_URI,
9711 XML_RNGP_INVALID_VALUE,
9712 XML_RNGP_MISSING_HREF,
9713 XML_RNGP_NAME_MISSING,
9714 XML_RNGP_NEED_COMBINE,
9715 XML_RNGP_NOTALLOWED_NOT_EMPTY,
9716 XML_RNGP_NSNAME_ATTR_ANCESTOR,
9717 XML_RNGP_NSNAME_NO_NS,
9718 XML_RNGP_PARAM_FORBIDDEN,
9719 XML_RNGP_PARAM_NAME_MISSING,
9720 XML_RNGP_PARENTREF_CREATE_FAILED,
9721 XML_RNGP_PARENTREF_NAME_INVALID,
9722 XML_RNGP_PARENTREF_NO_NAME,
9723 XML_RNGP_PARENTREF_NO_PARENT,
9724 XML_RNGP_PARENTREF_NOT_EMPTY,
9725 XML_RNGP_PARSE_ERROR,
9726 XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME,
9727 XML_RNGP_PAT_ATTR_ATTR,
9728 XML_RNGP_PAT_ATTR_ELEM,
9729 XML_RNGP_PAT_DATA_EXCEPT_ATTR,
9730 XML_RNGP_PAT_DATA_EXCEPT_ELEM,
9731 XML_RNGP_PAT_DATA_EXCEPT_EMPTY,
9732 XML_RNGP_PAT_DATA_EXCEPT_GROUP,
9733 XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE,
9734 XML_RNGP_PAT_DATA_EXCEPT_LIST,
9735 XML_RNGP_PAT_DATA_EXCEPT_ONEMORE,
9736 XML_RNGP_PAT_DATA_EXCEPT_REF,
9737 XML_RNGP_PAT_DATA_EXCEPT_TEXT,
9738 XML_RNGP_PAT_LIST_ATTR,
9739 XML_RNGP_PAT_LIST_ELEM,
9740 XML_RNGP_PAT_LIST_INTERLEAVE,
9741 XML_RNGP_PAT_LIST_LIST,
9742 XML_RNGP_PAT_LIST_REF,
9743 XML_RNGP_PAT_LIST_TEXT,
9744 XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME,
9745 XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME,
9746 XML_RNGP_PAT_ONEMORE_GROUP_ATTR,
9747 XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR,
9748 XML_RNGP_PAT_START_ATTR,
9749 XML_RNGP_PAT_START_DATA,
9750 XML_RNGP_PAT_START_EMPTY,
9751 XML_RNGP_PAT_START_GROUP,
9752 XML_RNGP_PAT_START_INTERLEAVE,
9753 XML_RNGP_PAT_START_LIST,
9754 XML_RNGP_PAT_START_ONEMORE,
9755 XML_RNGP_PAT_START_TEXT,
9756 XML_RNGP_PAT_START_VALUE,
9757 XML_RNGP_PREFIX_UNDEFINED,
9758 XML_RNGP_REF_CREATE_FAILED,
9760 XML_RNGP_REF_NAME_INVALID,
9761 XML_RNGP_REF_NO_DEF,
9762 XML_RNGP_REF_NO_NAME,
9763 XML_RNGP_REF_NOT_EMPTY,
9764 XML_RNGP_START_CHOICE_AND_INTERLEAVE,
9765 XML_RNGP_START_CONTENT,
9766 XML_RNGP_START_EMPTY,
9767 XML_RNGP_START_MISSING,
9768 XML_RNGP_TEXT_EXPECTED,
9769 XML_RNGP_TEXT_HAS_CHILD,
9770 XML_RNGP_TYPE_MISSING,
9771 XML_RNGP_TYPE_NOT_FOUND,
9772 XML_RNGP_TYPE_VALUE,
9773 XML_RNGP_UNKNOWN_ATTRIBUTE,
9774 XML_RNGP_UNKNOWN_COMBINE,
9775 XML_RNGP_UNKNOWN_CONSTRUCT,
9776 XML_RNGP_UNKNOWN_TYPE_LIB,
9777 XML_RNGP_URI_FRAGMENT,
9778 XML_RNGP_URI_NOT_ABSOLUTE,
9779 XML_RNGP_VALUE_EMPTY,
9780 XML_RNGP_VALUE_NO_CONTENT,
9781 XML_RNGP_XMLNS_NAME,
9783 XML_XPATH_EXPRESSION_OK = 1200,
9784 XML_XPATH_NUMBER_ERROR,
9785 XML_XPATH_UNFINISHED_LITERAL_ERROR,
9786 XML_XPATH_START_LITERAL_ERROR,
9787 XML_XPATH_VARIABLE_REF_ERROR,
9788 XML_XPATH_UNDEF_VARIABLE_ERROR,
9789 XML_XPATH_INVALID_PREDICATE_ERROR,
9790 XML_XPATH_EXPR_ERROR,
9791 XML_XPATH_UNCLOSED_ERROR,
9792 XML_XPATH_UNKNOWN_FUNC_ERROR,
9793 XML_XPATH_INVALID_OPERAND,
9794 XML_XPATH_INVALID_TYPE,
9795 XML_XPATH_INVALID_ARITY,
9796 XML_XPATH_INVALID_CTXT_SIZE,
9797 XML_XPATH_INVALID_CTXT_POSITION,
9798 XML_XPATH_MEMORY_ERROR,
9799 XML_XPTR_SYNTAX_ERROR,
9800 XML_XPTR_RESOURCE_ERROR,
9801 XML_XPTR_SUB_RESOURCE_ERROR,
9802 XML_XPATH_UNDEF_PREFIX_ERROR,
9803 XML_XPATH_ENCODING_ERROR,
9804 XML_XPATH_INVALID_CHAR_ERROR,
9805 XML_TREE_INVALID_HEX = 1300,
9806 XML_TREE_INVALID_DEC,
9807 XML_TREE_UNTERMINATED_ENTITY,
9809 XML_SAVE_NOT_UTF8 = 1400,
9810 XML_SAVE_CHAR_INVALID,
9811 XML_SAVE_NO_DOCTYPE,
9812 XML_SAVE_UNKNOWN_ENCODING,
9813 XML_REGEXP_COMPILE_ERROR = 1450,
9814 XML_IO_UNKNOWN = 1500,
9835 XML_IO_ENAMETOOLONG,
9857 XML_IO_NETWORK_ATTEMPT,
9866 XML_IO_ECONNREFUSED,
9870 XML_IO_EAFNOSUPPORT,
9871 XML_XINCLUDE_RECURSION=1600,
9872 XML_XINCLUDE_PARSE_VALUE,
9873 XML_XINCLUDE_ENTITY_DEF_MISMATCH,
9874 XML_XINCLUDE_NO_HREF,
9875 XML_XINCLUDE_NO_FALLBACK,
9876 XML_XINCLUDE_HREF_URI,
9877 XML_XINCLUDE_TEXT_FRAGMENT,
9878 XML_XINCLUDE_TEXT_DOCUMENT,
9879 XML_XINCLUDE_INVALID_CHAR,
9880 XML_XINCLUDE_BUILD_FAILED,
9881 XML_XINCLUDE_UNKNOWN_ENCODING,
9882 XML_XINCLUDE_MULTIPLE_ROOT,
9883 XML_XINCLUDE_XPTR_FAILED,
9884 XML_XINCLUDE_XPTR_RESULT,
9885 XML_XINCLUDE_INCLUDE_IN_INCLUDE,
9886 XML_XINCLUDE_FALLBACKS_IN_INCLUDE,
9887 XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE,
9888 XML_XINCLUDE_DEPRECATED_NS,
9889 XML_XINCLUDE_FRAGMENT_ID,
9890 XML_CATALOG_MISSING_ATTR = 1650,
9891 XML_CATALOG_ENTRY_BROKEN,
9892 XML_CATALOG_PREFER_VALUE,
9893 XML_CATALOG_NOT_CATALOG,
9894 XML_CATALOG_RECURSION,
9895 XML_SCHEMAP_PREFIX_UNDEFINED = 1700,
9896 XML_SCHEMAP_ATTRFORMDEFAULT_VALUE,
9897 XML_SCHEMAP_ATTRGRP_NONAME_NOREF,
9898 XML_SCHEMAP_ATTR_NONAME_NOREF,
9899 XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF,
9900 XML_SCHEMAP_ELEMFORMDEFAULT_VALUE,
9901 XML_SCHEMAP_ELEM_NONAME_NOREF,
9902 XML_SCHEMAP_EXTENSION_NO_BASE,
9903 XML_SCHEMAP_FACET_NO_VALUE,
9904 XML_SCHEMAP_FAILED_BUILD_IMPORT,
9905 XML_SCHEMAP_GROUP_NONAME_NOREF,
9906 XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI,
9907 XML_SCHEMAP_IMPORT_REDEFINE_NSNAME,
9908 XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI,
9909 XML_SCHEMAP_INVALID_BOOLEAN,
9910 XML_SCHEMAP_INVALID_ENUM,
9911 XML_SCHEMAP_INVALID_FACET,
9912 XML_SCHEMAP_INVALID_FACET_VALUE,
9913 XML_SCHEMAP_INVALID_MAXOCCURS,
9914 XML_SCHEMAP_INVALID_MINOCCURS,
9915 XML_SCHEMAP_INVALID_REF_AND_SUBTYPE,
9916 XML_SCHEMAP_INVALID_WHITE_SPACE,
9917 XML_SCHEMAP_NOATTR_NOREF,
9918 XML_SCHEMAP_NOTATION_NO_NAME,
9919 XML_SCHEMAP_NOTYPE_NOREF,
9920 XML_SCHEMAP_REF_AND_SUBTYPE,
9921 XML_SCHEMAP_RESTRICTION_NONAME_NOREF,
9922 XML_SCHEMAP_SIMPLETYPE_NONAME,
9923 XML_SCHEMAP_TYPE_AND_SUBTYPE,
9924 XML_SCHEMAP_UNKNOWN_ALL_CHILD,
9925 XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD,
9926 XML_SCHEMAP_UNKNOWN_ATTR_CHILD,
9927 XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD,
9928 XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP,
9929 XML_SCHEMAP_UNKNOWN_BASE_TYPE,
9930 XML_SCHEMAP_UNKNOWN_CHOICE_CHILD,
9931 XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD,
9932 XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD,
9933 XML_SCHEMAP_UNKNOWN_ELEM_CHILD,
9934 XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD,
9935 XML_SCHEMAP_UNKNOWN_FACET_CHILD,
9936 XML_SCHEMAP_UNKNOWN_FACET_TYPE,
9937 XML_SCHEMAP_UNKNOWN_GROUP_CHILD,
9938 XML_SCHEMAP_UNKNOWN_IMPORT_CHILD,
9939 XML_SCHEMAP_UNKNOWN_LIST_CHILD,
9940 XML_SCHEMAP_UNKNOWN_NOTATION_CHILD,
9941 XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD,
9942 XML_SCHEMAP_UNKNOWN_REF,
9943 XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD,
9944 XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD,
9945 XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD,
9946 XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD,
9947 XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD,
9948 XML_SCHEMAP_UNKNOWN_TYPE,
9949 XML_SCHEMAP_UNKNOWN_UNION_CHILD,
9950 XML_SCHEMAP_ELEM_DEFAULT_FIXED,
9951 XML_SCHEMAP_REGEXP_INVALID,
9952 XML_SCHEMAP_FAILED_LOAD,
9953 XML_SCHEMAP_NOTHING_TO_PARSE,
9955 XML_SCHEMAP_REDEFINED_GROUP,
9956 XML_SCHEMAP_REDEFINED_TYPE,
9957 XML_SCHEMAP_REDEFINED_ELEMENT,
9958 XML_SCHEMAP_REDEFINED_ATTRGROUP,
9959 XML_SCHEMAP_REDEFINED_ATTR,
9960 XML_SCHEMAP_REDEFINED_NOTATION,
9961 XML_SCHEMAP_FAILED_PARSE,
9962 XML_SCHEMAP_UNKNOWN_PREFIX,
9963 XML_SCHEMAP_DEF_AND_PREFIX,
9964 XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD,
9965 XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI,
9966 XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI,
9967 XML_SCHEMAP_NOT_SCHEMA,
9968 XML_SCHEMAP_UNKNOWN_MEMBER_TYPE,
9969 XML_SCHEMAP_INVALID_ATTR_USE,
9970 XML_SCHEMAP_RECURSIVE,
9971 XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE,
9972 XML_SCHEMAP_INVALID_ATTR_COMBINATION,
9973 XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION,
9974 XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD,
9975 XML_SCHEMAP_INVALID_ATTR_NAME,
9976 XML_SCHEMAP_REF_AND_CONTENT,
9977 XML_SCHEMAP_CT_PROPS_CORRECT_1,
9978 XML_SCHEMAP_CT_PROPS_CORRECT_2,
9979 XML_SCHEMAP_CT_PROPS_CORRECT_3,
9980 XML_SCHEMAP_CT_PROPS_CORRECT_4,
9981 XML_SCHEMAP_CT_PROPS_CORRECT_5,
9982 XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1,
9983 XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1,
9984 XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2,
9985 XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2,
9986 XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3,
9987 XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER,
9988 XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE,
9989 XML_SCHEMAP_UNION_NOT_EXPRESSIBLE,
9990 XML_SCHEMAP_SRC_IMPORT_3_1,
9991 XML_SCHEMAP_SRC_IMPORT_3_2,
9992 XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1,
9993 XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2,
9994 XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3,
9995 XML_SCHEMAP_COS_CT_EXTENDS_1_3,
9996 XML_SCHEMAV_NOROOT = 1801,
9997 XML_SCHEMAV_UNDECLAREDELEM,
9998 XML_SCHEMAV_NOTTOPLEVEL,
9999 XML_SCHEMAV_MISSING,
10000 XML_SCHEMAV_WRONGELEM,
10001 XML_SCHEMAV_NOTYPE,
10002 XML_SCHEMAV_NOROLLBACK,
10003 XML_SCHEMAV_ISABSTRACT,
10004 XML_SCHEMAV_NOTEMPTY,
10005 XML_SCHEMAV_ELEMCONT,
10006 XML_SCHEMAV_HAVEDEFAULT,
10007 XML_SCHEMAV_NOTNILLABLE,
10008 XML_SCHEMAV_EXTRACONTENT,
10009 XML_SCHEMAV_INVALIDATTR,
10010 XML_SCHEMAV_INVALIDELEM,
10011 XML_SCHEMAV_NOTDETERMINIST,
10012 XML_SCHEMAV_CONSTRUCT,
10013 XML_SCHEMAV_INTERNAL,
10014 XML_SCHEMAV_NOTSIMPLE,
10015 XML_SCHEMAV_ATTRUNKNOWN,
10016 XML_SCHEMAV_ATTRINVALID,
10019 XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1,
10020 XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2,
10021 XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3,
10022 XML_SCHEMAV_CVC_TYPE_3_1_1,
10023 XML_SCHEMAV_CVC_TYPE_3_1_2,
10024 XML_SCHEMAV_CVC_FACET_VALID,
10025 XML_SCHEMAV_CVC_LENGTH_VALID,
10026 XML_SCHEMAV_CVC_MINLENGTH_VALID,
10027 XML_SCHEMAV_CVC_MAXLENGTH_VALID,
10028 XML_SCHEMAV_CVC_MININCLUSIVE_VALID,
10029 XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID,
10030 XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID,
10031 XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID,
10032 XML_SCHEMAV_CVC_TOTALDIGITS_VALID,
10033 XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID,
10034 XML_SCHEMAV_CVC_PATTERN_VALID,
10035 XML_SCHEMAV_CVC_ENUMERATION_VALID,
10036 XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1,
10037 XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2,
10038 XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3,
10039 XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4,
10040 XML_SCHEMAV_CVC_ELT_1,
10041 XML_SCHEMAV_CVC_ELT_2,
10042 XML_SCHEMAV_CVC_ELT_3_1,
10043 XML_SCHEMAV_CVC_ELT_3_2_1,
10044 XML_SCHEMAV_CVC_ELT_3_2_2,
10045 XML_SCHEMAV_CVC_ELT_4_1,
10046 XML_SCHEMAV_CVC_ELT_4_2,
10047 XML_SCHEMAV_CVC_ELT_4_3,
10048 XML_SCHEMAV_CVC_ELT_5_1_1,
10049 XML_SCHEMAV_CVC_ELT_5_1_2,
10050 XML_SCHEMAV_CVC_ELT_5_2_1,
10051 XML_SCHEMAV_CVC_ELT_5_2_2_1,
10052 XML_SCHEMAV_CVC_ELT_5_2_2_2_1,
10053 XML_SCHEMAV_CVC_ELT_5_2_2_2_2,
10054 XML_SCHEMAV_CVC_ELT_6,
10055 XML_SCHEMAV_CVC_ELT_7,
10056 XML_SCHEMAV_CVC_ATTRIBUTE_1,
10057 XML_SCHEMAV_CVC_ATTRIBUTE_2,
10058 XML_SCHEMAV_CVC_ATTRIBUTE_3,
10059 XML_SCHEMAV_CVC_ATTRIBUTE_4,
10060 XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1,
10061 XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1,
10062 XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2,
10063 XML_SCHEMAV_CVC_COMPLEX_TYPE_4,
10064 XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1,
10065 XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2,
10066 XML_SCHEMAV_ELEMENT_CONTENT,
10067 XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING,
10068 XML_SCHEMAV_CVC_COMPLEX_TYPE_1,
10069 XML_SCHEMAV_CVC_AU,
10070 XML_SCHEMAV_CVC_TYPE_1,
10071 XML_SCHEMAV_CVC_TYPE_2,
10072 XML_SCHEMAV_CVC_IDC,
10073 XML_SCHEMAV_CVC_WILDCARD,
10075 XML_XPTR_UNKNOWN_SCHEME = 1900,
10076 XML_XPTR_CHILDSEQ_START,
10077 XML_XPTR_EVAL_FAILED,
10078 XML_XPTR_EXTRA_OBJECTS,
10079 XML_C14N_CREATE_CTXT = 1950,
10080 XML_C14N_REQUIRES_UTF8,
10081 XML_C14N_CREATE_STACK,
10082 XML_C14N_INVALID_NODE,
10083 XML_C14N_UNKNOW_NODE,
10084 XML_C14N_RELATIVE_NAMESPACE,
10085 XML_FTP_PASV_ANSWER = 2000,
10086 XML_FTP_EPSV_ANSWER,
10088 XML_FTP_URL_SYNTAX,
10089 XML_HTTP_URL_SYNTAX = 2020,
10091 XML_HTTP_UNKNOWN_HOST,
10092 XML_SCHEMAP_SRC_SIMPLE_TYPE_1 = 3000,
10093 XML_SCHEMAP_SRC_SIMPLE_TYPE_2,
10094 XML_SCHEMAP_SRC_SIMPLE_TYPE_3,
10095 XML_SCHEMAP_SRC_SIMPLE_TYPE_4,
10096 XML_SCHEMAP_SRC_RESOLVE,
10097 XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE,
10098 XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE,
10099 XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES,
10100 XML_SCHEMAP_ST_PROPS_CORRECT_1,
10101 XML_SCHEMAP_ST_PROPS_CORRECT_2,
10102 XML_SCHEMAP_ST_PROPS_CORRECT_3,
10103 XML_SCHEMAP_COS_ST_RESTRICTS_1_1,
10104 XML_SCHEMAP_COS_ST_RESTRICTS_1_2,
10105 XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1,
10106 XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2,
10107 XML_SCHEMAP_COS_ST_RESTRICTS_2_1,
10108 XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1,
10109 XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2,
10110 XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1,
10111 XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2,
10112 XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3,
10113 XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4,
10114 XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5,
10115 XML_SCHEMAP_COS_ST_RESTRICTS_3_1,
10116 XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1,
10117 XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2,
10118 XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2,
10119 XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1,
10120 XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3,
10121 XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4,
10122 XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5,
10123 XML_SCHEMAP_COS_ST_DERIVED_OK_2_1,
10124 XML_SCHEMAP_COS_ST_DERIVED_OK_2_2,
10125 XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED,
10126 XML_SCHEMAP_S4S_ELEM_MISSING,
10127 XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED,
10128 XML_SCHEMAP_S4S_ATTR_MISSING,
10129 XML_SCHEMAP_S4S_ATTR_INVALID_VALUE,
10130 XML_SCHEMAP_SRC_ELEMENT_1,
10131 XML_SCHEMAP_SRC_ELEMENT_2_1,
10132 XML_SCHEMAP_SRC_ELEMENT_2_2,
10133 XML_SCHEMAP_SRC_ELEMENT_3,
10134 XML_SCHEMAP_P_PROPS_CORRECT_1,
10135 XML_SCHEMAP_P_PROPS_CORRECT_2_1,
10136 XML_SCHEMAP_P_PROPS_CORRECT_2_2,
10137 XML_SCHEMAP_E_PROPS_CORRECT_2,
10138 XML_SCHEMAP_E_PROPS_CORRECT_3,
10139 XML_SCHEMAP_E_PROPS_CORRECT_4,
10140 XML_SCHEMAP_E_PROPS_CORRECT_5,
10141 XML_SCHEMAP_E_PROPS_CORRECT_6,
10142 XML_SCHEMAP_SRC_INCLUDE,
10143 XML_SCHEMAP_SRC_ATTRIBUTE_1,
10144 XML_SCHEMAP_SRC_ATTRIBUTE_2,
10145 XML_SCHEMAP_SRC_ATTRIBUTE_3_1,
10146 XML_SCHEMAP_SRC_ATTRIBUTE_3_2,
10147 XML_SCHEMAP_SRC_ATTRIBUTE_4,
10148 XML_SCHEMAP_NO_XMLNS,
10149 XML_SCHEMAP_NO_XSI,
10150 XML_SCHEMAP_COS_VALID_DEFAULT_1,
10151 XML_SCHEMAP_COS_VALID_DEFAULT_2_1,
10152 XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1,
10153 XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2,
10154 XML_SCHEMAP_CVC_SIMPLE_TYPE,
10155 XML_SCHEMAP_COS_CT_EXTENDS_1_1,
10156 XML_SCHEMAP_SRC_IMPORT_1_1,
10157 XML_SCHEMAP_SRC_IMPORT_1_2,
10158 XML_SCHEMAP_SRC_IMPORT_2,
10159 XML_SCHEMAP_SRC_IMPORT_2_1,
10160 XML_SCHEMAP_SRC_IMPORT_2_2,
10161 XML_SCHEMAP_INTERNAL,
10162 XML_SCHEMAP_NOT_DETERMINISTIC,
10163 XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1,
10164 XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2,
10165 XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3,
10166 XML_SCHEMAP_MG_PROPS_CORRECT_1,
10167 XML_SCHEMAP_MG_PROPS_CORRECT_2,
10168 XML_SCHEMAP_SRC_CT_1,
10169 XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3,
10170 XML_SCHEMAP_AU_PROPS_CORRECT_2,
10171 XML_SCHEMAP_A_PROPS_CORRECT_2,
10172 XML_SCHEMAP_C_PROPS_CORRECT,
10173 XML_SCHEMAP_SRC_REDEFINE,
10174 XML_SCHEMAP_SRC_IMPORT,
10175 XML_SCHEMAP_WARN_SKIP_SCHEMA,
10176 XML_SCHEMAP_WARN_UNLOCATED_SCHEMA,
10177 XML_SCHEMAP_WARN_ATTR_REDECL_PROH,
10178 XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH,
10179 XML_SCHEMAP_AG_PROPS_CORRECT,
10180 XML_SCHEMAP_COS_CT_EXTENDS_1_2,
10181 XML_SCHEMAP_AU_PROPS_CORRECT,
10182 XML_SCHEMAP_A_PROPS_CORRECT_3,
10183 XML_SCHEMAP_COS_ALL_LIMITED,
10184 XML_SCHEMATRONV_ASSERT = 4000,
10185 XML_SCHEMATRONV_REPORT,
10186 XML_MODULE_OPEN = 4900,
10188 XML_CHECK_FOUND_ELEMENT = 5000,
10189 XML_CHECK_FOUND_ATTRIBUTE,
10190 XML_CHECK_FOUND_TEXT,
10191 XML_CHECK_FOUND_CDATA,
10192 XML_CHECK_FOUND_ENTITYREF,
10193 XML_CHECK_FOUND_ENTITY,
10194 XML_CHECK_FOUND_PI,
10195 XML_CHECK_FOUND_COMMENT,
10196 XML_CHECK_FOUND_DOCTYPE,
10197 XML_CHECK_FOUND_FRAGMENT,
10198 XML_CHECK_FOUND_NOTATION,
10199 XML_CHECK_UNKNOWN_NODE,
10200 XML_CHECK_ENTITY_TYPE,
10201 XML_CHECK_NO_PARENT,
10205 XML_CHECK_WRONG_DOC,
10207 XML_CHECK_WRONG_PREV,
10209 XML_CHECK_WRONG_NEXT,
10211 XML_CHECK_NOT_ATTR,
10212 XML_CHECK_NOT_ATTR_DECL,
10213 XML_CHECK_NOT_ELEM_DECL,
10214 XML_CHECK_NOT_ENTITY_DECL,
10215 XML_CHECK_NOT_NS_DECL,
10217 XML_CHECK_WRONG_PARENT,
10218 XML_CHECK_NS_SCOPE,
10219 XML_CHECK_NS_ANCESTOR,
10220 XML_CHECK_NOT_UTF8,
10222 XML_CHECK_NOT_NCNAME,
10223 XML_CHECK_OUTSIDE_DICT,
10224 XML_CHECK_WRONG_NAME,
10225 XML_CHECK_NAME_NOT_NULL,
10226 XML_I18N_NO_NAME = 6000,
10227 XML_I18N_NO_HANDLER,
10228 XML_I18N_EXCESS_HANDLER,
10229 XML_I18N_CONV_FAILED,
10232 typedef void ( *xmlGenericErrorFunc) (void *ctx,
10234 ...) __attribute__((__format__(__printf__,2,3)));
10235 typedef void ( *xmlStructuredErrorFunc) (void *userData, xmlErrorPtr error);
10237 xmlSetGenericErrorFunc (void *ctx,
10238 xmlGenericErrorFunc handler);
10240 initGenericErrorDefaultFunc (xmlGenericErrorFunc *handler);
10242 xmlSetStructuredErrorFunc (void *ctx,
10243 xmlStructuredErrorFunc handler);
10245 xmlParserError (void *ctx,
10247 ...) __attribute__((__format__(__printf__,2,3)));
10249 xmlParserWarning (void *ctx,
10251 ...) __attribute__((__format__(__printf__,2,3)));
10253 xmlParserValidityError (void *ctx,
10255 ...) __attribute__((__format__(__printf__,2,3)));
10257 xmlParserValidityWarning (void *ctx,
10259 ...) __attribute__((__format__(__printf__,2,3)));
10261 xmlParserPrintFileInfo (xmlParserInputPtr input);
10263 xmlParserPrintFileContext (xmlParserInputPtr input);
10265 xmlGetLastError (void);
10267 xmlResetLastError (void);
10269 xmlCtxtGetLastError (void *ctx);
10271 xmlCtxtResetLastError (void *ctx);
10273 xmlResetError (xmlErrorPtr err);
10275 xmlCopyError (xmlErrorPtr from,
10277 typedef struct _xmlLink xmlLink;
10278 typedef xmlLink *xmlLinkPtr;
10279 typedef struct _xmlList xmlList;
10280 typedef xmlList *xmlListPtr;
10281 typedef void (*xmlListDeallocator) (xmlLinkPtr lk);
10282 typedef int (*xmlListDataCompare) (const void *data0, const void *data1);
10283 typedef int (*xmlListWalker) (const void *data, const void *user);
10285 xmlListCreate (xmlListDeallocator deallocator,
10286 xmlListDataCompare compare);
10288 xmlListDelete (xmlListPtr l);
10290 xmlListSearch (xmlListPtr l,
10293 xmlListReverseSearch (xmlListPtr l,
10296 xmlListInsert (xmlListPtr l,
10299 xmlListAppend (xmlListPtr l,
10302 xmlListRemoveFirst (xmlListPtr l,
10305 xmlListRemoveLast (xmlListPtr l,
10308 xmlListRemoveAll (xmlListPtr l,
10311 xmlListClear (xmlListPtr l);
10313 xmlListEmpty (xmlListPtr l);
10315 xmlListFront (xmlListPtr l);
10317 xmlListEnd (xmlListPtr l);
10319 xmlListSize (xmlListPtr l);
10321 xmlListPopFront (xmlListPtr l);
10323 xmlListPopBack (xmlListPtr l);
10325 xmlListPushFront (xmlListPtr l,
10328 xmlListPushBack (xmlListPtr l,
10331 xmlListReverse (xmlListPtr l);
10333 xmlListSort (xmlListPtr l);
10335 xmlListWalk (xmlListPtr l,
10336 xmlListWalker walker,
10339 xmlListReverseWalk (xmlListPtr l,
10340 xmlListWalker walker,
10343 xmlListMerge (xmlListPtr l1,
10346 xmlListDup (const xmlListPtr old);
10348 xmlListCopy (xmlListPtr cur,
10349 const xmlListPtr old);
10351 xmlLinkGetData (xmlLinkPtr lk);
10352 typedef struct _xmlAutomata xmlAutomata;
10353 typedef xmlAutomata *xmlAutomataPtr;
10354 typedef struct _xmlAutomataState xmlAutomataState;
10355 typedef xmlAutomataState *xmlAutomataStatePtr;
10357 xmlNewAutomata (void);
10359 xmlFreeAutomata (xmlAutomataPtr am);
10360 xmlAutomataStatePtr
10361 xmlAutomataGetInitState (xmlAutomataPtr am);
10363 xmlAutomataSetFinalState (xmlAutomataPtr am,
10364 xmlAutomataStatePtr state);
10365 xmlAutomataStatePtr
10366 xmlAutomataNewState (xmlAutomataPtr am);
10367 xmlAutomataStatePtr
10368 xmlAutomataNewTransition (xmlAutomataPtr am,
10369 xmlAutomataStatePtr from,
10370 xmlAutomataStatePtr to,
10371 const xmlChar *token,
10373 xmlAutomataStatePtr
10374 xmlAutomataNewTransition2 (xmlAutomataPtr am,
10375 xmlAutomataStatePtr from,
10376 xmlAutomataStatePtr to,
10377 const xmlChar *token,
10378 const xmlChar *token2,
10380 xmlAutomataStatePtr
10381 xmlAutomataNewNegTrans (xmlAutomataPtr am,
10382 xmlAutomataStatePtr from,
10383 xmlAutomataStatePtr to,
10384 const xmlChar *token,
10385 const xmlChar *token2,
10387 xmlAutomataStatePtr
10388 xmlAutomataNewCountTrans (xmlAutomataPtr am,
10389 xmlAutomataStatePtr from,
10390 xmlAutomataStatePtr to,
10391 const xmlChar *token,
10395 xmlAutomataStatePtr
10396 xmlAutomataNewCountTrans2 (xmlAutomataPtr am,
10397 xmlAutomataStatePtr from,
10398 xmlAutomataStatePtr to,
10399 const xmlChar *token,
10400 const xmlChar *token2,
10404 xmlAutomataStatePtr
10405 xmlAutomataNewOnceTrans (xmlAutomataPtr am,
10406 xmlAutomataStatePtr from,
10407 xmlAutomataStatePtr to,
10408 const xmlChar *token,
10412 xmlAutomataStatePtr
10413 xmlAutomataNewOnceTrans2 (xmlAutomataPtr am,
10414 xmlAutomataStatePtr from,
10415 xmlAutomataStatePtr to,
10416 const xmlChar *token,
10417 const xmlChar *token2,
10421 xmlAutomataStatePtr
10422 xmlAutomataNewAllTrans (xmlAutomataPtr am,
10423 xmlAutomataStatePtr from,
10424 xmlAutomataStatePtr to,
10426 xmlAutomataStatePtr
10427 xmlAutomataNewEpsilon (xmlAutomataPtr am,
10428 xmlAutomataStatePtr from,
10429 xmlAutomataStatePtr to);
10430 xmlAutomataStatePtr
10431 xmlAutomataNewCountedTrans (xmlAutomataPtr am,
10432 xmlAutomataStatePtr from,
10433 xmlAutomataStatePtr to,
10435 xmlAutomataStatePtr
10436 xmlAutomataNewCounterTrans (xmlAutomataPtr am,
10437 xmlAutomataStatePtr from,
10438 xmlAutomataStatePtr to,
10441 xmlAutomataNewCounter (xmlAutomataPtr am,
10445 xmlAutomataCompile (xmlAutomataPtr am);
10447 xmlAutomataIsDeterminist (xmlAutomataPtr am);
10448 typedef struct _xmlValidState xmlValidState;
10449 typedef xmlValidState *xmlValidStatePtr;
10450 typedef void ( *xmlValidityErrorFunc) (void *ctx,
10452 ...) __attribute__((__format__(__printf__,2,3)));
10453 typedef void ( *xmlValidityWarningFunc) (void *ctx,
10455 ...) __attribute__((__format__(__printf__,2,3)));
10456 typedef struct _xmlValidCtxt xmlValidCtxt;
10457 typedef xmlValidCtxt *xmlValidCtxtPtr;
10458 struct _xmlValidCtxt {
10460 xmlValidityErrorFunc error;
10461 xmlValidityWarningFunc warning;
10465 xmlNodePtr *nodeTab;
10466 unsigned int finishDtd;
10469 xmlValidState *vstate;
10472 xmlValidState *vstateTab;
10474 xmlAutomataStatePtr state;
10476 typedef struct _xmlHashTable xmlNotationTable;
10477 typedef xmlNotationTable *xmlNotationTablePtr;
10478 typedef struct _xmlHashTable xmlElementTable;
10479 typedef xmlElementTable *xmlElementTablePtr;
10480 typedef struct _xmlHashTable xmlAttributeTable;
10481 typedef xmlAttributeTable *xmlAttributeTablePtr;
10482 typedef struct _xmlHashTable xmlIDTable;
10483 typedef xmlIDTable *xmlIDTablePtr;
10484 typedef struct _xmlHashTable xmlRefTable;
10485 typedef xmlRefTable *xmlRefTablePtr;
10487 xmlAddNotationDecl (xmlValidCtxtPtr ctxt,
10489 const xmlChar *name,
10490 const xmlChar *PublicID,
10491 const xmlChar *SystemID);
10492 xmlNotationTablePtr
10493 xmlCopyNotationTable (xmlNotationTablePtr table);
10495 xmlFreeNotationTable (xmlNotationTablePtr table);
10497 xmlDumpNotationDecl (xmlBufferPtr buf,
10498 xmlNotationPtr nota);
10500 xmlDumpNotationTable (xmlBufferPtr buf,
10501 xmlNotationTablePtr table);
10502 xmlElementContentPtr
10503 xmlNewElementContent (const xmlChar *name,
10504 xmlElementContentType type);
10505 xmlElementContentPtr
10506 xmlCopyElementContent (xmlElementContentPtr content);
10508 xmlFreeElementContent (xmlElementContentPtr cur);
10509 xmlElementContentPtr
10510 xmlNewDocElementContent (xmlDocPtr doc,
10511 const xmlChar *name,
10512 xmlElementContentType type);
10513 xmlElementContentPtr
10514 xmlCopyDocElementContent(xmlDocPtr doc,
10515 xmlElementContentPtr content);
10517 xmlFreeDocElementContent(xmlDocPtr doc,
10518 xmlElementContentPtr cur);
10520 xmlSnprintfElementContent(char *buf,
10522 xmlElementContentPtr content,
10525 xmlSprintfElementContent(char *buf,
10526 xmlElementContentPtr content,
10529 xmlAddElementDecl (xmlValidCtxtPtr ctxt,
10531 const xmlChar *name,
10532 xmlElementTypeVal type,
10533 xmlElementContentPtr content);
10535 xmlCopyElementTable (xmlElementTablePtr table);
10537 xmlFreeElementTable (xmlElementTablePtr table);
10539 xmlDumpElementTable (xmlBufferPtr buf,
10540 xmlElementTablePtr table);
10542 xmlDumpElementDecl (xmlBufferPtr buf,
10543 xmlElementPtr elem);
10545 xmlCreateEnumeration (const xmlChar *name);
10547 xmlFreeEnumeration (xmlEnumerationPtr cur);
10549 xmlCopyEnumeration (xmlEnumerationPtr cur);
10551 xmlAddAttributeDecl (xmlValidCtxtPtr ctxt,
10553 const xmlChar *elem,
10554 const xmlChar *name,
10556 xmlAttributeType type,
10557 xmlAttributeDefault def,
10558 const xmlChar *defaultValue,
10559 xmlEnumerationPtr tree);
10560 xmlAttributeTablePtr
10561 xmlCopyAttributeTable (xmlAttributeTablePtr table);
10563 xmlFreeAttributeTable (xmlAttributeTablePtr table);
10565 xmlDumpAttributeTable (xmlBufferPtr buf,
10566 xmlAttributeTablePtr table);
10568 xmlDumpAttributeDecl (xmlBufferPtr buf,
10569 xmlAttributePtr attr);
10571 xmlAddID (xmlValidCtxtPtr ctxt,
10573 const xmlChar *value,
10576 xmlFreeIDTable (xmlIDTablePtr table);
10578 xmlGetID (xmlDocPtr doc,
10579 const xmlChar *ID);
10581 xmlIsID (xmlDocPtr doc,
10585 xmlRemoveID (xmlDocPtr doc,
10588 xmlAddRef (xmlValidCtxtPtr ctxt,
10590 const xmlChar *value,
10593 xmlFreeRefTable (xmlRefTablePtr table);
10595 xmlIsRef (xmlDocPtr doc,
10599 xmlRemoveRef (xmlDocPtr doc,
10602 xmlGetRefs (xmlDocPtr doc,
10603 const xmlChar *ID);
10605 xmlNewValidCtxt(void);
10607 xmlFreeValidCtxt(xmlValidCtxtPtr);
10609 xmlValidateRoot (xmlValidCtxtPtr ctxt,
10612 xmlValidateElementDecl (xmlValidCtxtPtr ctxt,
10614 xmlElementPtr elem);
10616 xmlValidNormalizeAttributeValue(xmlDocPtr doc,
10618 const xmlChar *name,
10619 const xmlChar *value);
10621 xmlValidCtxtNormalizeAttributeValue(xmlValidCtxtPtr ctxt,
10624 const xmlChar *name,
10625 const xmlChar *value);
10627 xmlValidateAttributeDecl(xmlValidCtxtPtr ctxt,
10629 xmlAttributePtr attr);
10631 xmlValidateAttributeValue(xmlAttributeType type,
10632 const xmlChar *value);
10634 xmlValidateNotationDecl (xmlValidCtxtPtr ctxt,
10636 xmlNotationPtr nota);
10638 xmlValidateDtd (xmlValidCtxtPtr ctxt,
10642 xmlValidateDtdFinal (xmlValidCtxtPtr ctxt,
10645 xmlValidateDocument (xmlValidCtxtPtr ctxt,
10648 xmlValidateElement (xmlValidCtxtPtr ctxt,
10652 xmlValidateOneElement (xmlValidCtxtPtr ctxt,
10656 xmlValidateOneAttribute (xmlValidCtxtPtr ctxt,
10660 const xmlChar *value);
10662 xmlValidateOneNamespace (xmlValidCtxtPtr ctxt,
10665 const xmlChar *prefix,
10667 const xmlChar *value);
10669 xmlValidateDocumentFinal(xmlValidCtxtPtr ctxt,
10672 xmlValidateNotationUse (xmlValidCtxtPtr ctxt,
10674 const xmlChar *notationName);
10676 xmlIsMixedElement (xmlDocPtr doc,
10677 const xmlChar *name);
10679 xmlGetDtdAttrDesc (xmlDtdPtr dtd,
10680 const xmlChar *elem,
10681 const xmlChar *name);
10683 xmlGetDtdQAttrDesc (xmlDtdPtr dtd,
10684 const xmlChar *elem,
10685 const xmlChar *name,
10686 const xmlChar *prefix);
10688 xmlGetDtdNotationDesc (xmlDtdPtr dtd,
10689 const xmlChar *name);
10691 xmlGetDtdQElementDesc (xmlDtdPtr dtd,
10692 const xmlChar *name,
10693 const xmlChar *prefix);
10695 xmlGetDtdElementDesc (xmlDtdPtr dtd,
10696 const xmlChar *name);
10698 xmlValidGetPotentialChildren(xmlElementContent *ctree,
10699 const xmlChar **names,
10703 xmlValidGetValidElements(xmlNode *prev,
10705 const xmlChar **names,
10708 xmlValidateNameValue (const xmlChar *value);
10710 xmlValidateNamesValue (const xmlChar *value);
10712 xmlValidateNmtokenValue (const xmlChar *value);
10714 xmlValidateNmtokensValue(const xmlChar *value);
10716 xmlValidBuildContentModel(xmlValidCtxtPtr ctxt,
10717 xmlElementPtr elem);
10719 xmlValidatePushElement (xmlValidCtxtPtr ctxt,
10722 const xmlChar *qname);
10724 xmlValidatePushCData (xmlValidCtxtPtr ctxt,
10725 const xmlChar *data,
10728 xmlValidatePopElement (xmlValidCtxtPtr ctxt,
10731 const xmlChar *qname);
10733 XML_INTERNAL_GENERAL_ENTITY = 1,
10734 XML_EXTERNAL_GENERAL_PARSED_ENTITY = 2,
10735 XML_EXTERNAL_GENERAL_UNPARSED_ENTITY = 3,
10736 XML_INTERNAL_PARAMETER_ENTITY = 4,
10737 XML_EXTERNAL_PARAMETER_ENTITY = 5,
10738 XML_INTERNAL_PREDEFINED_ENTITY = 6
10740 struct _xmlEntity {
10742 xmlElementType type;
10743 const xmlChar *name;
10744 struct _xmlNode *children;
10745 struct _xmlNode *last;
10746 struct _xmlDtd *parent;
10747 struct _xmlNode *next;
10748 struct _xmlNode *prev;
10749 struct _xmlDoc *doc;
10753 xmlEntityType etype;
10754 const xmlChar *ExternalID;
10755 const xmlChar *SystemID;
10756 struct _xmlEntity *nexte;
10757 const xmlChar *URI;
10761 typedef struct _xmlHashTable xmlEntitiesTable;
10762 typedef xmlEntitiesTable *xmlEntitiesTablePtr;
10764 xmlInitializePredefinedEntities (void);
10766 xmlNewEntity (xmlDocPtr doc,
10767 const xmlChar *name,
10769 const xmlChar *ExternalID,
10770 const xmlChar *SystemID,
10771 const xmlChar *content);
10773 xmlAddDocEntity (xmlDocPtr doc,
10774 const xmlChar *name,
10776 const xmlChar *ExternalID,
10777 const xmlChar *SystemID,
10778 const xmlChar *content);
10780 xmlAddDtdEntity (xmlDocPtr doc,
10781 const xmlChar *name,
10783 const xmlChar *ExternalID,
10784 const xmlChar *SystemID,
10785 const xmlChar *content);
10787 xmlGetPredefinedEntity (const xmlChar *name);
10789 xmlGetDocEntity (xmlDocPtr doc,
10790 const xmlChar *name);
10792 xmlGetDtdEntity (xmlDocPtr doc,
10793 const xmlChar *name);
10795 xmlGetParameterEntity (xmlDocPtr doc,
10796 const xmlChar *name);
10798 xmlEncodeEntities (xmlDocPtr doc,
10799 const xmlChar *input);
10801 xmlEncodeEntitiesReentrant(xmlDocPtr doc,
10802 const xmlChar *input);
10804 xmlEncodeSpecialChars (xmlDocPtr doc,
10805 const xmlChar *input);
10806 xmlEntitiesTablePtr
10807 xmlCreateEntitiesTable (void);
10808 xmlEntitiesTablePtr
10809 xmlCopyEntitiesTable (xmlEntitiesTablePtr table);
10811 xmlFreeEntitiesTable (xmlEntitiesTablePtr table);
10813 xmlDumpEntitiesTable (xmlBufferPtr buf,
10814 xmlEntitiesTablePtr table);
10816 xmlDumpEntityDecl (xmlBufferPtr buf,
10819 xmlCleanupPredefinedEntities(void);
10820 typedef void (* xmlParserInputDeallocate)(xmlChar *str);
10821 struct _xmlParserInput {
10822 xmlParserInputBufferPtr buf;
10823 const char *filename;
10824 const char *directory;
10825 const xmlChar *base;
10826 const xmlChar *cur;
10827 const xmlChar *end;
10831 unsigned long consumed;
10832 xmlParserInputDeallocate free;
10833 const xmlChar *encoding;
10834 const xmlChar *version;
10838 typedef struct _xmlParserNodeInfo xmlParserNodeInfo;
10839 typedef xmlParserNodeInfo *xmlParserNodeInfoPtr;
10840 struct _xmlParserNodeInfo {
10841 const struct _xmlNode* node;
10842 unsigned long begin_pos;
10843 unsigned long begin_line;
10844 unsigned long end_pos;
10845 unsigned long end_line;
10847 typedef struct _xmlParserNodeInfoSeq xmlParserNodeInfoSeq;
10848 typedef xmlParserNodeInfoSeq *xmlParserNodeInfoSeqPtr;
10849 struct _xmlParserNodeInfoSeq {
10850 unsigned long maximum;
10851 unsigned long length;
10852 xmlParserNodeInfo* buffer;
10855 XML_PARSER_EOF = -1,
10856 XML_PARSER_START = 0,
10861 XML_PARSER_COMMENT,
10862 XML_PARSER_START_TAG,
10863 XML_PARSER_CONTENT,
10864 XML_PARSER_CDATA_SECTION,
10865 XML_PARSER_END_TAG,
10866 XML_PARSER_ENTITY_DECL,
10867 XML_PARSER_ENTITY_VALUE,
10868 XML_PARSER_ATTRIBUTE_VALUE,
10869 XML_PARSER_SYSTEM_LITERAL,
10872 XML_PARSER_PUBLIC_LITERAL
10873 } xmlParserInputState;
10875 XML_PARSE_UNKNOWN = 0,
10878 XML_PARSE_PUSH_DOM = 3,
10879 XML_PARSE_PUSH_SAX = 4,
10880 XML_PARSE_READER = 5
10882 struct _xmlParserCtxt {
10883 struct _xmlSAXHandler *sax;
10887 int replaceEntities;
10888 const xmlChar *version;
10889 const xmlChar *encoding;
10892 xmlParserInputPtr input;
10895 xmlParserInputPtr *inputTab;
10899 xmlNodePtr *nodeTab;
10901 xmlParserNodeInfoSeq node_seq;
10903 int hasExternalSubset;
10908 xmlValidCtxt vctxt;
10909 xmlParserInputState instate;
10912 const xmlChar *name;
10915 const xmlChar * *nameTab;
10921 const xmlChar * intSubName;
10922 xmlChar * extSubURI;
10923 xmlChar * extSubSystem;
10929 xmlParserInputPtr entity;
10941 const xmlChar * *atts;
10944 const xmlChar *str_xml;
10945 const xmlChar *str_xmlns;
10946 const xmlChar *str_xml_ns;
10950 const xmlChar * *nsTab;
10953 xmlHashTablePtr attsDefault;
10954 xmlHashTablePtr attsSpecial;
10959 xmlNodePtr freeElems;
10961 xmlAttrPtr freeAttrs;
10962 xmlError lastError;
10963 xmlParserMode parseMode;
10964 unsigned long nbentities;
10965 unsigned long sizeentities;
10967 struct _xmlSAXLocator {
10968 const xmlChar *(*getPublicId)(void *ctx);
10969 const xmlChar *(*getSystemId)(void *ctx);
10970 int (*getLineNumber)(void *ctx);
10971 int (*getColumnNumber)(void *ctx);
10973 typedef xmlParserInputPtr (*resolveEntitySAXFunc) (void *ctx,
10974 const xmlChar *publicId,
10975 const xmlChar *systemId);
10976 typedef void (*internalSubsetSAXFunc) (void *ctx,
10977 const xmlChar *name,
10978 const xmlChar *ExternalID,
10979 const xmlChar *SystemID);
10980 typedef void (*externalSubsetSAXFunc) (void *ctx,
10981 const xmlChar *name,
10982 const xmlChar *ExternalID,
10983 const xmlChar *SystemID);
10984 typedef xmlEntityPtr (*getEntitySAXFunc) (void *ctx,
10985 const xmlChar *name);
10986 typedef xmlEntityPtr (*getParameterEntitySAXFunc) (void *ctx,
10987 const xmlChar *name);
10988 typedef void (*entityDeclSAXFunc) (void *ctx,
10989 const xmlChar *name,
10991 const xmlChar *publicId,
10992 const xmlChar *systemId,
10994 typedef void (*notationDeclSAXFunc)(void *ctx,
10995 const xmlChar *name,
10996 const xmlChar *publicId,
10997 const xmlChar *systemId);
10998 typedef void (*attributeDeclSAXFunc)(void *ctx,
10999 const xmlChar *elem,
11000 const xmlChar *fullname,
11003 const xmlChar *defaultValue,
11004 xmlEnumerationPtr tree);
11005 typedef void (*elementDeclSAXFunc)(void *ctx,
11006 const xmlChar *name,
11008 xmlElementContentPtr content);
11009 typedef void (*unparsedEntityDeclSAXFunc)(void *ctx,
11010 const xmlChar *name,
11011 const xmlChar *publicId,
11012 const xmlChar *systemId,
11013 const xmlChar *notationName);
11014 typedef void (*setDocumentLocatorSAXFunc) (void *ctx,
11015 xmlSAXLocatorPtr loc);
11016 typedef void (*startDocumentSAXFunc) (void *ctx);
11017 typedef void (*endDocumentSAXFunc) (void *ctx);
11018 typedef void (*startElementSAXFunc) (void *ctx,
11019 const xmlChar *name,
11020 const xmlChar **atts);
11021 typedef void (*endElementSAXFunc) (void *ctx,
11022 const xmlChar *name);
11023 typedef void (*attributeSAXFunc) (void *ctx,
11024 const xmlChar *name,
11025 const xmlChar *value);
11026 typedef void (*referenceSAXFunc) (void *ctx,
11027 const xmlChar *name);
11028 typedef void (*charactersSAXFunc) (void *ctx,
11031 typedef void (*ignorableWhitespaceSAXFunc) (void *ctx,
11034 typedef void (*processingInstructionSAXFunc) (void *ctx,
11035 const xmlChar *target,
11036 const xmlChar *data);
11037 typedef void (*commentSAXFunc) (void *ctx,
11038 const xmlChar *value);
11039 typedef void (*cdataBlockSAXFunc) (
11041 const xmlChar *value,
11043 typedef void ( *warningSAXFunc) (void *ctx,
11044 const char *msg, ...) __attribute__((__format__(__printf__,2,3)));
11045 typedef void ( *errorSAXFunc) (void *ctx,
11046 const char *msg, ...) __attribute__((__format__(__printf__,2,3)));
11047 typedef void ( *fatalErrorSAXFunc) (void *ctx,
11048 const char *msg, ...) __attribute__((__format__(__printf__,2,3)));
11049 typedef int (*isStandaloneSAXFunc) (void *ctx);
11050 typedef int (*hasInternalSubsetSAXFunc) (void *ctx);
11051 typedef int (*hasExternalSubsetSAXFunc) (void *ctx);
11052 typedef void (*startElementNsSAX2Func) (void *ctx,
11053 const xmlChar *localname,
11054 const xmlChar *prefix,
11055 const xmlChar *URI,
11057 const xmlChar **namespaces,
11060 const xmlChar **attributes);
11061 typedef void (*endElementNsSAX2Func) (void *ctx,
11062 const xmlChar *localname,
11063 const xmlChar *prefix,
11064 const xmlChar *URI);
11065 struct _xmlSAXHandler {
11066 internalSubsetSAXFunc internalSubset;
11067 isStandaloneSAXFunc isStandalone;
11068 hasInternalSubsetSAXFunc hasInternalSubset;
11069 hasExternalSubsetSAXFunc hasExternalSubset;
11070 resolveEntitySAXFunc resolveEntity;
11071 getEntitySAXFunc getEntity;
11072 entityDeclSAXFunc entityDecl;
11073 notationDeclSAXFunc notationDecl;
11074 attributeDeclSAXFunc attributeDecl;
11075 elementDeclSAXFunc elementDecl;
11076 unparsedEntityDeclSAXFunc unparsedEntityDecl;
11077 setDocumentLocatorSAXFunc setDocumentLocator;
11078 startDocumentSAXFunc startDocument;
11079 endDocumentSAXFunc endDocument;
11080 startElementSAXFunc startElement;
11081 endElementSAXFunc endElement;
11082 referenceSAXFunc reference;
11083 charactersSAXFunc characters;
11084 ignorableWhitespaceSAXFunc ignorableWhitespace;
11085 processingInstructionSAXFunc processingInstruction;
11086 commentSAXFunc comment;
11087 warningSAXFunc warning;
11088 errorSAXFunc error;
11089 fatalErrorSAXFunc fatalError;
11090 getParameterEntitySAXFunc getParameterEntity;
11091 cdataBlockSAXFunc cdataBlock;
11092 externalSubsetSAXFunc externalSubset;
11093 unsigned int initialized;
11095 startElementNsSAX2Func startElementNs;
11096 endElementNsSAX2Func endElementNs;
11097 xmlStructuredErrorFunc serror;
11099 typedef struct _xmlSAXHandlerV1 xmlSAXHandlerV1;
11100 typedef xmlSAXHandlerV1 *xmlSAXHandlerV1Ptr;
11101 struct _xmlSAXHandlerV1 {
11102 internalSubsetSAXFunc internalSubset;
11103 isStandaloneSAXFunc isStandalone;
11104 hasInternalSubsetSAXFunc hasInternalSubset;
11105 hasExternalSubsetSAXFunc hasExternalSubset;
11106 resolveEntitySAXFunc resolveEntity;
11107 getEntitySAXFunc getEntity;
11108 entityDeclSAXFunc entityDecl;
11109 notationDeclSAXFunc notationDecl;
11110 attributeDeclSAXFunc attributeDecl;
11111 elementDeclSAXFunc elementDecl;
11112 unparsedEntityDeclSAXFunc unparsedEntityDecl;
11113 setDocumentLocatorSAXFunc setDocumentLocator;
11114 startDocumentSAXFunc startDocument;
11115 endDocumentSAXFunc endDocument;
11116 startElementSAXFunc startElement;
11117 endElementSAXFunc endElement;
11118 referenceSAXFunc reference;
11119 charactersSAXFunc characters;
11120 ignorableWhitespaceSAXFunc ignorableWhitespace;
11121 processingInstructionSAXFunc processingInstruction;
11122 commentSAXFunc comment;
11123 warningSAXFunc warning;
11124 errorSAXFunc error;
11125 fatalErrorSAXFunc fatalError;
11126 getParameterEntitySAXFunc getParameterEntity;
11127 cdataBlockSAXFunc cdataBlock;
11128 externalSubsetSAXFunc externalSubset;
11129 unsigned int initialized;
11131 typedef xmlParserInputPtr (*xmlExternalEntityLoader) (const char *URL,
11133 xmlParserCtxtPtr context);
11134 typedef void *iconv_t;
11135 extern iconv_t iconv_open (__const char *__tocode, __const char *__fromcode);
11136 extern size_t iconv (iconv_t __cd, char **__restrict __inbuf,
11137 size_t *__restrict __inbytesleft,
11138 char **__restrict __outbuf,
11139 size_t *__restrict __outbytesleft);
11140 extern int iconv_close (iconv_t __cd);
11142 XML_CHAR_ENCODING_ERROR= -1,
11143 XML_CHAR_ENCODING_NONE= 0,
11144 XML_CHAR_ENCODING_UTF8= 1,
11145 XML_CHAR_ENCODING_UTF16LE= 2,
11146 XML_CHAR_ENCODING_UTF16BE= 3,
11147 XML_CHAR_ENCODING_UCS4LE= 4,
11148 XML_CHAR_ENCODING_UCS4BE= 5,
11149 XML_CHAR_ENCODING_EBCDIC= 6,
11150 XML_CHAR_ENCODING_UCS4_2143=7,
11151 XML_CHAR_ENCODING_UCS4_3412=8,
11152 XML_CHAR_ENCODING_UCS2= 9,
11153 XML_CHAR_ENCODING_8859_1= 10,
11154 XML_CHAR_ENCODING_8859_2= 11,
11155 XML_CHAR_ENCODING_8859_3= 12,
11156 XML_CHAR_ENCODING_8859_4= 13,
11157 XML_CHAR_ENCODING_8859_5= 14,
11158 XML_CHAR_ENCODING_8859_6= 15,
11159 XML_CHAR_ENCODING_8859_7= 16,
11160 XML_CHAR_ENCODING_8859_8= 17,
11161 XML_CHAR_ENCODING_8859_9= 18,
11162 XML_CHAR_ENCODING_2022_JP= 19,
11163 XML_CHAR_ENCODING_SHIFT_JIS=20,
11164 XML_CHAR_ENCODING_EUC_JP= 21,
11165 XML_CHAR_ENCODING_ASCII= 22
11167 typedef int (* xmlCharEncodingInputFunc)(unsigned char *out, int *outlen,
11168 const unsigned char *in, int *inlen);
11169 typedef int (* xmlCharEncodingOutputFunc)(unsigned char *out, int *outlen,
11170 const unsigned char *in, int *inlen);
11171 typedef struct _xmlCharEncodingHandler xmlCharEncodingHandler;
11172 typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr;
11173 struct _xmlCharEncodingHandler {
11175 xmlCharEncodingInputFunc input;
11176 xmlCharEncodingOutputFunc output;
11181 xmlInitCharEncodingHandlers (void);
11183 xmlCleanupCharEncodingHandlers (void);
11185 xmlRegisterCharEncodingHandler (xmlCharEncodingHandlerPtr handler);
11186 xmlCharEncodingHandlerPtr
11187 xmlGetCharEncodingHandler (xmlCharEncoding enc);
11188 xmlCharEncodingHandlerPtr
11189 xmlFindCharEncodingHandler (const char *name);
11190 xmlCharEncodingHandlerPtr
11191 xmlNewCharEncodingHandler (const char *name,
11192 xmlCharEncodingInputFunc input,
11193 xmlCharEncodingOutputFunc output);
11195 xmlAddEncodingAlias (const char *name,
11196 const char *alias);
11198 xmlDelEncodingAlias (const char *alias);
11200 xmlGetEncodingAlias (const char *alias);
11202 xmlCleanupEncodingAliases (void);
11204 xmlParseCharEncoding (const char *name);
11206 xmlGetCharEncodingName (xmlCharEncoding enc);
11208 xmlDetectCharEncoding (const unsigned char *in,
11211 xmlCharEncOutFunc (xmlCharEncodingHandler *handler,
11215 xmlCharEncInFunc (xmlCharEncodingHandler *handler,
11219 xmlCharEncFirstLine (xmlCharEncodingHandler *handler,
11223 xmlCharEncCloseFunc (xmlCharEncodingHandler *handler);
11225 UTF8Toisolat1 (unsigned char *out,
11227 const unsigned char *in,
11230 isolat1ToUTF8 (unsigned char *out,
11232 const unsigned char *in,
11234 typedef int ( *xmlInputMatchCallback) (char const *filename);
11235 typedef void * ( *xmlInputOpenCallback) (char const *filename);
11236 typedef int ( *xmlInputReadCallback) (void * context, char * buffer, int len);
11237 typedef int ( *xmlInputCloseCallback) (void * context);
11238 typedef int ( *xmlOutputMatchCallback) (char const *filename);
11239 typedef void * ( *xmlOutputOpenCallback) (char const *filename);
11240 typedef int ( *xmlOutputWriteCallback) (void * context, const char * buffer,
11242 typedef int ( *xmlOutputCloseCallback) (void * context);
11243 typedef xmlChar *xlinkHRef;
11244 typedef xmlChar *xlinkRole;
11245 typedef xmlChar *xlinkTitle;
11247 XLINK_TYPE_NONE = 0,
11249 XLINK_TYPE_EXTENDED,
11250 XLINK_TYPE_EXTENDED_SET
11253 XLINK_SHOW_NONE = 0,
11259 XLINK_ACTUATE_NONE = 0,
11260 XLINK_ACTUATE_AUTO,
11261 XLINK_ACTUATE_ONREQUEST
11263 typedef void (*xlinkNodeDetectFunc) (void *ctx, xmlNodePtr node);
11265 (*xlinkSimpleLinkFunk) (void *ctx,
11267 const xlinkHRef href,
11268 const xlinkRole role,
11269 const xlinkTitle title);
11271 (*xlinkExtendedLinkFunk)(void *ctx,
11274 const xlinkHRef *hrefs,
11275 const xlinkRole *roles,
11277 const xlinkRole *from,
11278 const xlinkRole *to,
11280 xlinkActuate *actuate,
11282 const xlinkTitle *titles,
11283 const xmlChar **langs);
11285 (*xlinkExtendedLinkSetFunk) (void *ctx,
11288 const xlinkHRef *hrefs,
11289 const xlinkRole *roles,
11291 const xlinkTitle *titles,
11292 const xmlChar **langs);
11293 typedef struct _xlinkHandler xlinkHandler;
11294 typedef xlinkHandler *xlinkHandlerPtr;
11295 struct _xlinkHandler {
11296 xlinkSimpleLinkFunk simple;
11297 xlinkExtendedLinkFunk extended;
11298 xlinkExtendedLinkSetFunk set;
11300 xlinkNodeDetectFunc
11301 xlinkGetDefaultDetect (void);
11303 xlinkSetDefaultDetect (xlinkNodeDetectFunc func);
11305 xlinkGetDefaultHandler (void);
11307 xlinkSetDefaultHandler (xlinkHandlerPtr handler);
11309 xlinkIsLink (xmlDocPtr doc,
11312 getPublicId (void *ctx);
11314 getSystemId (void *ctx);
11316 setDocumentLocator (void *ctx,
11317 xmlSAXLocatorPtr loc);
11319 getLineNumber (void *ctx);
11321 getColumnNumber (void *ctx);
11323 isStandalone (void *ctx);
11325 hasInternalSubset (void *ctx);
11327 hasExternalSubset (void *ctx);
11329 internalSubset (void *ctx,
11330 const xmlChar *name,
11331 const xmlChar *ExternalID,
11332 const xmlChar *SystemID);
11334 externalSubset (void *ctx,
11335 const xmlChar *name,
11336 const xmlChar *ExternalID,
11337 const xmlChar *SystemID);
11339 getEntity (void *ctx,
11340 const xmlChar *name);
11342 getParameterEntity (void *ctx,
11343 const xmlChar *name);
11345 resolveEntity (void *ctx,
11346 const xmlChar *publicId,
11347 const xmlChar *systemId);
11349 entityDecl (void *ctx,
11350 const xmlChar *name,
11352 const xmlChar *publicId,
11353 const xmlChar *systemId,
11356 attributeDecl (void *ctx,
11357 const xmlChar *elem,
11358 const xmlChar *fullname,
11361 const xmlChar *defaultValue,
11362 xmlEnumerationPtr tree);
11364 elementDecl (void *ctx,
11365 const xmlChar *name,
11367 xmlElementContentPtr content);
11369 notationDecl (void *ctx,
11370 const xmlChar *name,
11371 const xmlChar *publicId,
11372 const xmlChar *systemId);
11374 unparsedEntityDecl (void *ctx,
11375 const xmlChar *name,
11376 const xmlChar *publicId,
11377 const xmlChar *systemId,
11378 const xmlChar *notationName);
11380 startDocument (void *ctx);
11382 endDocument (void *ctx);
11384 attribute (void *ctx,
11385 const xmlChar *fullname,
11386 const xmlChar *value);
11388 startElement (void *ctx,
11389 const xmlChar *fullname,
11390 const xmlChar **atts);
11392 endElement (void *ctx,
11393 const xmlChar *name);
11395 reference (void *ctx,
11396 const xmlChar *name);
11398 characters (void *ctx,
11402 ignorableWhitespace (void *ctx,
11406 processingInstruction (void *ctx,
11407 const xmlChar *target,
11408 const xmlChar *data);
11410 globalNamespace (void *ctx,
11411 const xmlChar *href,
11412 const xmlChar *prefix);
11414 setNamespace (void *ctx,
11415 const xmlChar *name);
11417 getNamespace (void *ctx);
11419 checkNamespace (void *ctx,
11420 xmlChar *nameSpace);
11422 namespaceDecl (void *ctx,
11423 const xmlChar *href,
11424 const xmlChar *prefix);
11426 comment (void *ctx,
11427 const xmlChar *value);
11429 cdataBlock (void *ctx,
11430 const xmlChar *value,
11433 initxmlDefaultSAXHandler (xmlSAXHandlerV1 *hdlr,
11436 inithtmlDefaultSAXHandler (xmlSAXHandlerV1 *hdlr);
11438 initdocbDefaultSAXHandler (xmlSAXHandlerV1 *hdlr);
11440 xmlSAX2GetPublicId (void *ctx);
11442 xmlSAX2GetSystemId (void *ctx);
11444 xmlSAX2SetDocumentLocator (void *ctx,
11445 xmlSAXLocatorPtr loc);
11447 xmlSAX2GetLineNumber (void *ctx);
11449 xmlSAX2GetColumnNumber (void *ctx);
11451 xmlSAX2IsStandalone (void *ctx);
11453 xmlSAX2HasInternalSubset (void *ctx);
11455 xmlSAX2HasExternalSubset (void *ctx);
11457 xmlSAX2InternalSubset (void *ctx,
11458 const xmlChar *name,
11459 const xmlChar *ExternalID,
11460 const xmlChar *SystemID);
11462 xmlSAX2ExternalSubset (void *ctx,
11463 const xmlChar *name,
11464 const xmlChar *ExternalID,
11465 const xmlChar *SystemID);
11467 xmlSAX2GetEntity (void *ctx,
11468 const xmlChar *name);
11470 xmlSAX2GetParameterEntity (void *ctx,
11471 const xmlChar *name);
11473 xmlSAX2ResolveEntity (void *ctx,
11474 const xmlChar *publicId,
11475 const xmlChar *systemId);
11477 xmlSAX2EntityDecl (void *ctx,
11478 const xmlChar *name,
11480 const xmlChar *publicId,
11481 const xmlChar *systemId,
11484 xmlSAX2AttributeDecl (void *ctx,
11485 const xmlChar *elem,
11486 const xmlChar *fullname,
11489 const xmlChar *defaultValue,
11490 xmlEnumerationPtr tree);
11492 xmlSAX2ElementDecl (void *ctx,
11493 const xmlChar *name,
11495 xmlElementContentPtr content);
11497 xmlSAX2NotationDecl (void *ctx,
11498 const xmlChar *name,
11499 const xmlChar *publicId,
11500 const xmlChar *systemId);
11502 xmlSAX2UnparsedEntityDecl (void *ctx,
11503 const xmlChar *name,
11504 const xmlChar *publicId,
11505 const xmlChar *systemId,
11506 const xmlChar *notationName);
11508 xmlSAX2StartDocument (void *ctx);
11510 xmlSAX2EndDocument (void *ctx);
11512 xmlSAX2StartElement (void *ctx,
11513 const xmlChar *fullname,
11514 const xmlChar **atts);
11516 xmlSAX2EndElement (void *ctx,
11517 const xmlChar *name);
11519 xmlSAX2StartElementNs (void *ctx,
11520 const xmlChar *localname,
11521 const xmlChar *prefix,
11522 const xmlChar *URI,
11524 const xmlChar **namespaces,
11527 const xmlChar **attributes);
11529 xmlSAX2EndElementNs (void *ctx,
11530 const xmlChar *localname,
11531 const xmlChar *prefix,
11532 const xmlChar *URI);
11534 xmlSAX2Reference (void *ctx,
11535 const xmlChar *name);
11537 xmlSAX2Characters (void *ctx,
11541 xmlSAX2IgnorableWhitespace (void *ctx,
11545 xmlSAX2ProcessingInstruction (void *ctx,
11546 const xmlChar *target,
11547 const xmlChar *data);
11549 xmlSAX2Comment (void *ctx,
11550 const xmlChar *value);
11552 xmlSAX2CDataBlock (void *ctx,
11553 const xmlChar *value,
11556 xmlSAXDefaultVersion (int version);
11558 xmlSAXVersion (xmlSAXHandler *hdlr,
11561 xmlSAX2InitDefaultSAXHandler (xmlSAXHandler *hdlr,
11564 xmlSAX2InitHtmlDefaultSAXHandler(xmlSAXHandler *hdlr);
11566 htmlDefaultSAXHandlerInit (void);
11568 xmlSAX2InitDocbDefaultSAXHandler(xmlSAXHandler *hdlr);
11570 docbDefaultSAXHandlerInit (void);
11572 xmlDefaultSAXHandlerInit (void);
11573 typedef void ( *xmlFreeFunc)(void *mem);
11574 typedef void *(__attribute__((alloc_size(1))) *xmlMallocFunc)(size_t size);
11575 typedef void *( *xmlReallocFunc)(void *mem, size_t size);
11576 typedef char *( *xmlStrdupFunc)(const char *str);
11578 xmlMemSetup (xmlFreeFunc freeFunc,
11579 xmlMallocFunc mallocFunc,
11580 xmlReallocFunc reallocFunc,
11581 xmlStrdupFunc strdupFunc);
11583 xmlMemGet (xmlFreeFunc *freeFunc,
11584 xmlMallocFunc *mallocFunc,
11585 xmlReallocFunc *reallocFunc,
11586 xmlStrdupFunc *strdupFunc);
11588 xmlGcMemSetup (xmlFreeFunc freeFunc,
11589 xmlMallocFunc mallocFunc,
11590 xmlMallocFunc mallocAtomicFunc,
11591 xmlReallocFunc reallocFunc,
11592 xmlStrdupFunc strdupFunc);
11594 xmlGcMemGet (xmlFreeFunc *freeFunc,
11595 xmlMallocFunc *mallocFunc,
11596 xmlMallocFunc *mallocAtomicFunc,
11597 xmlReallocFunc *reallocFunc,
11598 xmlStrdupFunc *strdupFunc);
11600 xmlInitMemory (void);
11602 xmlCleanupMemory (void);
11606 xmlMemBlocks (void);
11608 xmlMemDisplay (FILE *fp);
11610 xmlMemDisplayLast(FILE *fp, long nbBytes);
11612 xmlMemShow (FILE *fp, int nr);
11614 xmlMemoryDump (void);
11616 xmlMemMalloc (size_t size) __attribute__((alloc_size(1)));
11618 xmlMemRealloc (void *ptr,size_t size);
11620 xmlMemFree (void *ptr);
11622 xmlMemoryStrdup (const char *str);
11624 xmlMallocLoc (size_t size, const char *file, int line) __attribute__((alloc_size(1)));
11626 xmlReallocLoc (void *ptr, size_t size, const char *file, int line);
11628 xmlMallocAtomicLoc (size_t size, const char *file, int line) __attribute__((alloc_size(1)));
11630 xmlMemStrdupLoc (const char *str, const char *file, int line);
11631 void xmlInitGlobals(void);
11632 void xmlCleanupGlobals(void);
11633 typedef xmlParserInputBufferPtr (*xmlParserInputBufferCreateFilenameFunc) (const char *URI, xmlCharEncoding enc);
11634 typedef xmlOutputBufferPtr (*xmlOutputBufferCreateFilenameFunc) (const char *URI, xmlCharEncodingHandlerPtr encoder, int compression);
11635 xmlParserInputBufferCreateFilenameFunc
11636 xmlParserInputBufferCreateFilenameDefault (xmlParserInputBufferCreateFilenameFunc func);
11637 xmlOutputBufferCreateFilenameFunc
11638 xmlOutputBufferCreateFilenameDefault (xmlOutputBufferCreateFilenameFunc func);
11639 typedef void (*xmlRegisterNodeFunc) (xmlNodePtr node);
11640 typedef void (*xmlDeregisterNodeFunc) (xmlNodePtr node);
11641 typedef struct _xmlGlobalState xmlGlobalState;
11642 typedef xmlGlobalState *xmlGlobalStatePtr;
11643 struct _xmlGlobalState
11645 const char *xmlParserVersion;
11646 xmlSAXLocator xmlDefaultSAXLocator;
11647 xmlSAXHandlerV1 xmlDefaultSAXHandler;
11648 xmlSAXHandlerV1 docbDefaultSAXHandler;
11649 xmlSAXHandlerV1 htmlDefaultSAXHandler;
11650 xmlFreeFunc xmlFree;
11651 xmlMallocFunc xmlMalloc;
11652 xmlStrdupFunc xmlMemStrdup;
11653 xmlReallocFunc xmlRealloc;
11654 xmlGenericErrorFunc xmlGenericError;
11655 xmlStructuredErrorFunc xmlStructuredError;
11656 void *xmlGenericErrorContext;
11657 int oldXMLWDcompatibility;
11658 xmlBufferAllocationScheme xmlBufferAllocScheme;
11659 int xmlDefaultBufferSize;
11660 int xmlSubstituteEntitiesDefaultValue;
11661 int xmlDoValidityCheckingDefaultValue;
11662 int xmlGetWarningsDefaultValue;
11663 int xmlKeepBlanksDefaultValue;
11664 int xmlLineNumbersDefaultValue;
11665 int xmlLoadExtDtdDefaultValue;
11666 int xmlParserDebugEntities;
11667 int xmlPedanticParserDefaultValue;
11668 int xmlSaveNoEmptyTags;
11669 int xmlIndentTreeOutput;
11670 const char *xmlTreeIndentString;
11671 xmlRegisterNodeFunc xmlRegisterNodeDefaultValue;
11672 xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue;
11673 xmlMallocFunc xmlMallocAtomic;
11674 xmlError xmlLastError;
11675 xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue;
11676 xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue;
11677 void *xmlStructuredErrorContext;
11679 typedef struct _xmlMutex xmlMutex;
11680 typedef xmlMutex *xmlMutexPtr;
11681 typedef struct _xmlRMutex xmlRMutex;
11682 typedef xmlRMutex *xmlRMutexPtr;
11684 xmlNewMutex (void);
11686 xmlMutexLock (xmlMutexPtr tok);
11688 xmlMutexUnlock (xmlMutexPtr tok);
11690 xmlFreeMutex (xmlMutexPtr tok);
11692 xmlNewRMutex (void);
11694 xmlRMutexLock (xmlRMutexPtr tok);
11696 xmlRMutexUnlock (xmlRMutexPtr tok);
11698 xmlFreeRMutex (xmlRMutexPtr tok);
11700 xmlInitThreads (void);
11702 xmlLockLibrary (void);
11704 xmlUnlockLibrary(void);
11706 xmlGetThreadId (void);
11708 xmlIsMainThread (void);
11710 xmlCleanupThreads(void);
11712 xmlGetGlobalState(void);
11713 void xmlInitializeGlobalState(xmlGlobalStatePtr gs);
11714 void xmlThrDefSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler);
11715 void xmlThrDefSetStructuredErrorFunc(void *ctx, xmlStructuredErrorFunc handler);
11716 xmlRegisterNodeFunc xmlRegisterNodeDefault(xmlRegisterNodeFunc func);
11717 xmlRegisterNodeFunc xmlThrDefRegisterNodeDefault(xmlRegisterNodeFunc func);
11718 xmlDeregisterNodeFunc xmlDeregisterNodeDefault(xmlDeregisterNodeFunc func);
11719 xmlDeregisterNodeFunc xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func);
11720 xmlOutputBufferCreateFilenameFunc
11721 xmlThrDefOutputBufferCreateFilenameDefault(xmlOutputBufferCreateFilenameFunc func);
11722 xmlParserInputBufferCreateFilenameFunc
11723 xmlThrDefParserInputBufferCreateFilenameDefault(xmlParserInputBufferCreateFilenameFunc func);
11724 extern xmlMallocFunc xmlMalloc;
11725 extern xmlMallocFunc xmlMallocAtomic;
11726 extern xmlReallocFunc xmlRealloc;
11727 extern xmlFreeFunc xmlFree;
11728 extern xmlStrdupFunc xmlMemStrdup;
11729 xmlSAXHandlerV1 * __docbDefaultSAXHandler(void);
11730 xmlSAXHandlerV1 * __htmlDefaultSAXHandler(void);
11731 xmlError * __xmlLastError(void);
11732 int * __oldXMLWDcompatibility(void);
11733 xmlBufferAllocationScheme * __xmlBufferAllocScheme(void);
11734 xmlBufferAllocationScheme xmlThrDefBufferAllocScheme(xmlBufferAllocationScheme v);
11735 int * __xmlDefaultBufferSize(void);
11736 int xmlThrDefDefaultBufferSize(int v);
11737 xmlSAXHandlerV1 * __xmlDefaultSAXHandler(void);
11738 xmlSAXLocator * __xmlDefaultSAXLocator(void);
11739 int * __xmlDoValidityCheckingDefaultValue(void);
11740 int xmlThrDefDoValidityCheckingDefaultValue(int v);
11741 xmlGenericErrorFunc * __xmlGenericError(void);
11742 xmlStructuredErrorFunc * __xmlStructuredError(void);
11743 void * * __xmlGenericErrorContext(void);
11744 void * * __xmlStructuredErrorContext(void);
11745 int * __xmlGetWarningsDefaultValue(void);
11746 int xmlThrDefGetWarningsDefaultValue(int v);
11747 int * __xmlIndentTreeOutput(void);
11748 int xmlThrDefIndentTreeOutput(int v);
11749 const char * * __xmlTreeIndentString(void);
11750 const char * xmlThrDefTreeIndentString(const char * v);
11751 int * __xmlKeepBlanksDefaultValue(void);
11752 int xmlThrDefKeepBlanksDefaultValue(int v);
11753 int * __xmlLineNumbersDefaultValue(void);
11754 int xmlThrDefLineNumbersDefaultValue(int v);
11755 int * __xmlLoadExtDtdDefaultValue(void);
11756 int xmlThrDefLoadExtDtdDefaultValue(int v);
11757 int * __xmlParserDebugEntities(void);
11758 int xmlThrDefParserDebugEntities(int v);
11759 const char * * __xmlParserVersion(void);
11760 int * __xmlPedanticParserDefaultValue(void);
11761 int xmlThrDefPedanticParserDefaultValue(int v);
11762 int * __xmlSaveNoEmptyTags(void);
11763 int xmlThrDefSaveNoEmptyTags(int v);
11764 int * __xmlSubstituteEntitiesDefaultValue(void);
11765 int xmlThrDefSubstituteEntitiesDefaultValue(int v);
11766 xmlRegisterNodeFunc * __xmlRegisterNodeDefaultValue(void);
11767 xmlDeregisterNodeFunc * __xmlDeregisterNodeDefaultValue(void);
11768 xmlParserInputBufferCreateFilenameFunc * __xmlParserInputBufferCreateFilenameValue(void);
11769 xmlOutputBufferCreateFilenameFunc * __xmlOutputBufferCreateFilenameValue(void);
11770 struct _xmlParserInputBuffer {
11772 xmlInputReadCallback readcallback;
11773 xmlInputCloseCallback closecallback;
11774 xmlCharEncodingHandlerPtr encoder;
11775 xmlBufferPtr buffer;
11779 unsigned long rawconsumed;
11781 struct _xmlOutputBuffer {
11783 xmlOutputWriteCallback writecallback;
11784 xmlOutputCloseCallback closecallback;
11785 xmlCharEncodingHandlerPtr encoder;
11786 xmlBufferPtr buffer;
11792 xmlCleanupInputCallbacks (void);
11794 xmlPopInputCallbacks (void);
11796 xmlRegisterDefaultInputCallbacks (void);
11797 xmlParserInputBufferPtr
11798 xmlAllocParserInputBuffer (xmlCharEncoding enc);
11799 xmlParserInputBufferPtr
11800 xmlParserInputBufferCreateFilename (const char *URI,
11801 xmlCharEncoding enc);
11802 xmlParserInputBufferPtr
11803 xmlParserInputBufferCreateFile (FILE *file,
11804 xmlCharEncoding enc);
11805 xmlParserInputBufferPtr
11806 xmlParserInputBufferCreateFd (int fd,
11807 xmlCharEncoding enc);
11808 xmlParserInputBufferPtr
11809 xmlParserInputBufferCreateMem (const char *mem, int size,
11810 xmlCharEncoding enc);
11811 xmlParserInputBufferPtr
11812 xmlParserInputBufferCreateStatic (const char *mem, int size,
11813 xmlCharEncoding enc);
11814 xmlParserInputBufferPtr
11815 xmlParserInputBufferCreateIO (xmlInputReadCallback ioread,
11816 xmlInputCloseCallback ioclose,
11818 xmlCharEncoding enc);
11820 xmlParserInputBufferRead (xmlParserInputBufferPtr in,
11823 xmlParserInputBufferGrow (xmlParserInputBufferPtr in,
11826 xmlParserInputBufferPush (xmlParserInputBufferPtr in,
11830 xmlFreeParserInputBuffer (xmlParserInputBufferPtr in);
11832 xmlParserGetDirectory (const char *filename);
11834 xmlRegisterInputCallbacks (xmlInputMatchCallback matchFunc,
11835 xmlInputOpenCallback openFunc,
11836 xmlInputReadCallback readFunc,
11837 xmlInputCloseCallback closeFunc);
11838 xmlParserInputBufferPtr
11839 __xmlParserInputBufferCreateFilename(const char *URI,
11840 xmlCharEncoding enc);
11842 xmlCleanupOutputCallbacks (void);
11844 xmlRegisterDefaultOutputCallbacks(void);
11846 xmlAllocOutputBuffer (xmlCharEncodingHandlerPtr encoder);
11848 xmlOutputBufferCreateFilename (const char *URI,
11849 xmlCharEncodingHandlerPtr encoder,
11852 xmlOutputBufferCreateFile (FILE *file,
11853 xmlCharEncodingHandlerPtr encoder);
11855 xmlOutputBufferCreateBuffer (xmlBufferPtr buffer,
11856 xmlCharEncodingHandlerPtr encoder);
11858 xmlOutputBufferCreateFd (int fd,
11859 xmlCharEncodingHandlerPtr encoder);
11861 xmlOutputBufferCreateIO (xmlOutputWriteCallback iowrite,
11862 xmlOutputCloseCallback ioclose,
11864 xmlCharEncodingHandlerPtr encoder);
11866 xmlOutputBufferWrite (xmlOutputBufferPtr out,
11870 xmlOutputBufferWriteString (xmlOutputBufferPtr out,
11873 xmlOutputBufferWriteEscape (xmlOutputBufferPtr out,
11874 const xmlChar *str,
11875 xmlCharEncodingOutputFunc escaping);
11877 xmlOutputBufferFlush (xmlOutputBufferPtr out);
11879 xmlOutputBufferClose (xmlOutputBufferPtr out);
11881 xmlRegisterOutputCallbacks (xmlOutputMatchCallback matchFunc,
11882 xmlOutputOpenCallback openFunc,
11883 xmlOutputWriteCallback writeFunc,
11884 xmlOutputCloseCallback closeFunc);
11886 __xmlOutputBufferCreateFilename(const char *URI,
11887 xmlCharEncodingHandlerPtr encoder,
11890 xmlRegisterHTTPPostCallbacks (void );
11892 xmlCheckHTTPInput (xmlParserCtxtPtr ctxt,
11893 xmlParserInputPtr ret);
11895 xmlNoNetExternalEntityLoader (const char *URL,
11897 xmlParserCtxtPtr ctxt);
11899 xmlNormalizeWindowsPath (const xmlChar *path);
11901 xmlCheckFilename (const char *path);
11903 xmlFileMatch (const char *filename);
11905 xmlFileOpen (const char *filename);
11907 xmlFileRead (void * context,
11911 xmlFileClose (void * context);
11913 xmlIOHTTPMatch (const char *filename);
11915 xmlIOHTTPOpen (const char *filename);
11917 xmlIOHTTPOpenW (const char * post_uri,
11920 xmlIOHTTPRead (void * context,
11924 xmlIOHTTPClose (void * context);
11926 xmlIOFTPMatch (const char *filename);
11928 xmlIOFTPOpen (const char *filename);
11930 xmlIOFTPRead (void * context,
11934 xmlIOFTPClose (void * context);
11936 xmlInitParser (void);
11938 xmlCleanupParser (void);
11940 xmlParserInputRead (xmlParserInputPtr in,
11943 xmlParserInputGrow (xmlParserInputPtr in,
11946 xmlParseDoc (const xmlChar *cur);
11948 xmlParseFile (const char *filename);
11950 xmlParseMemory (const char *buffer,
11953 xmlSubstituteEntitiesDefault(int val);
11955 xmlKeepBlanksDefault (int val);
11957 xmlStopParser (xmlParserCtxtPtr ctxt);
11959 xmlPedanticParserDefault(int val);
11961 xmlLineNumbersDefault (int val);
11963 xmlRecoverDoc (const xmlChar *cur);
11965 xmlRecoverMemory (const char *buffer,
11968 xmlRecoverFile (const char *filename);
11970 xmlParseDocument (xmlParserCtxtPtr ctxt);
11972 xmlParseExtParsedEnt (xmlParserCtxtPtr ctxt);
11974 xmlSAXUserParseFile (xmlSAXHandlerPtr sax,
11976 const char *filename);
11978 xmlSAXUserParseMemory (xmlSAXHandlerPtr sax,
11980 const char *buffer,
11983 xmlSAXParseDoc (xmlSAXHandlerPtr sax,
11984 const xmlChar *cur,
11987 xmlSAXParseMemory (xmlSAXHandlerPtr sax,
11988 const char *buffer,
11992 xmlSAXParseMemoryWithData (xmlSAXHandlerPtr sax,
11993 const char *buffer,
11998 xmlSAXParseFile (xmlSAXHandlerPtr sax,
11999 const char *filename,
12002 xmlSAXParseFileWithData (xmlSAXHandlerPtr sax,
12003 const char *filename,
12007 xmlSAXParseEntity (xmlSAXHandlerPtr sax,
12008 const char *filename);
12010 xmlParseEntity (const char *filename);
12012 xmlSAXParseDTD (xmlSAXHandlerPtr sax,
12013 const xmlChar *ExternalID,
12014 const xmlChar *SystemID);
12016 xmlParseDTD (const xmlChar *ExternalID,
12017 const xmlChar *SystemID);
12019 xmlIOParseDTD (xmlSAXHandlerPtr sax,
12020 xmlParserInputBufferPtr input,
12021 xmlCharEncoding enc);
12023 xmlParseBalancedChunkMemory(xmlDocPtr doc,
12024 xmlSAXHandlerPtr sax,
12027 const xmlChar *string,
12030 xmlParseInNodeContext (xmlNodePtr node,
12036 xmlParseBalancedChunkMemoryRecover(xmlDocPtr doc,
12037 xmlSAXHandlerPtr sax,
12040 const xmlChar *string,
12044 xmlParseExternalEntity (xmlDocPtr doc,
12045 xmlSAXHandlerPtr sax,
12048 const xmlChar *URL,
12052 xmlParseCtxtExternalEntity(xmlParserCtxtPtr ctx,
12053 const xmlChar *URL,
12057 xmlNewParserCtxt (void);
12059 xmlInitParserCtxt (xmlParserCtxtPtr ctxt);
12061 xmlClearParserCtxt (xmlParserCtxtPtr ctxt);
12063 xmlFreeParserCtxt (xmlParserCtxtPtr ctxt);
12065 xmlSetupParserForBuffer (xmlParserCtxtPtr ctxt,
12066 const xmlChar* buffer,
12067 const char *filename);
12069 xmlCreateDocParserCtxt (const xmlChar *cur);
12071 xmlGetFeaturesList (int *len,
12072 const char **result);
12074 xmlGetFeature (xmlParserCtxtPtr ctxt,
12078 xmlSetFeature (xmlParserCtxtPtr ctxt,
12082 xmlCreatePushParserCtxt(xmlSAXHandlerPtr sax,
12086 const char *filename);
12088 xmlParseChunk (xmlParserCtxtPtr ctxt,
12093 xmlCreateIOParserCtxt (xmlSAXHandlerPtr sax,
12095 xmlInputReadCallback ioread,
12096 xmlInputCloseCallback ioclose,
12098 xmlCharEncoding enc);
12100 xmlNewIOInputStream (xmlParserCtxtPtr ctxt,
12101 xmlParserInputBufferPtr input,
12102 xmlCharEncoding enc);
12103 const xmlParserNodeInfo*
12104 xmlParserFindNodeInfo (const xmlParserCtxtPtr ctxt,
12105 const xmlNodePtr node);
12107 xmlInitNodeInfoSeq (xmlParserNodeInfoSeqPtr seq);
12109 xmlClearNodeInfoSeq (xmlParserNodeInfoSeqPtr seq);
12111 xmlParserFindNodeInfoIndex(const xmlParserNodeInfoSeqPtr seq,
12112 const xmlNodePtr node);
12114 xmlParserAddNodeInfo (xmlParserCtxtPtr ctxt,
12115 const xmlParserNodeInfoPtr info);
12117 xmlSetExternalEntityLoader(xmlExternalEntityLoader f);
12118 xmlExternalEntityLoader
12119 xmlGetExternalEntityLoader(void);
12121 xmlLoadExternalEntity (const char *URL,
12123 xmlParserCtxtPtr ctxt);
12125 xmlByteConsumed (xmlParserCtxtPtr ctxt);
12127 XML_PARSE_RECOVER = 1<<0,
12128 XML_PARSE_NOENT = 1<<1,
12129 XML_PARSE_DTDLOAD = 1<<2,
12130 XML_PARSE_DTDATTR = 1<<3,
12131 XML_PARSE_DTDVALID = 1<<4,
12132 XML_PARSE_NOERROR = 1<<5,
12133 XML_PARSE_NOWARNING = 1<<6,
12134 XML_PARSE_PEDANTIC = 1<<7,
12135 XML_PARSE_NOBLANKS = 1<<8,
12136 XML_PARSE_SAX1 = 1<<9,
12137 XML_PARSE_XINCLUDE = 1<<10,
12138 XML_PARSE_NONET = 1<<11,
12139 XML_PARSE_NODICT = 1<<12,
12140 XML_PARSE_NSCLEAN = 1<<13,
12141 XML_PARSE_NOCDATA = 1<<14,
12142 XML_PARSE_NOXINCNODE= 1<<15,
12143 XML_PARSE_COMPACT = 1<<16,
12144 XML_PARSE_OLD10 = 1<<17,
12145 XML_PARSE_NOBASEFIX = 1<<18,
12146 XML_PARSE_HUGE = 1<<19,
12147 XML_PARSE_OLDSAX = 1<<20
12150 xmlCtxtReset (xmlParserCtxtPtr ctxt);
12152 xmlCtxtResetPush (xmlParserCtxtPtr ctxt,
12155 const char *filename,
12156 const char *encoding);
12158 xmlCtxtUseOptions (xmlParserCtxtPtr ctxt,
12161 xmlReadDoc (const xmlChar *cur,
12163 const char *encoding,
12166 xmlReadFile (const char *URL,
12167 const char *encoding,
12170 xmlReadMemory (const char *buffer,
12173 const char *encoding,
12178 const char *encoding,
12181 xmlReadIO (xmlInputReadCallback ioread,
12182 xmlInputCloseCallback ioclose,
12185 const char *encoding,
12188 xmlCtxtReadDoc (xmlParserCtxtPtr ctxt,
12189 const xmlChar *cur,
12191 const char *encoding,
12194 xmlCtxtReadFile (xmlParserCtxtPtr ctxt,
12195 const char *filename,
12196 const char *encoding,
12199 xmlCtxtReadMemory (xmlParserCtxtPtr ctxt,
12200 const char *buffer,
12203 const char *encoding,
12206 xmlCtxtReadFd (xmlParserCtxtPtr ctxt,
12209 const char *encoding,
12212 xmlCtxtReadIO (xmlParserCtxtPtr ctxt,
12213 xmlInputReadCallback ioread,
12214 xmlInputCloseCallback ioclose,
12217 const char *encoding,
12220 XML_WITH_THREAD = 1,
12222 XML_WITH_OUTPUT = 3,
12224 XML_WITH_READER = 5,
12225 XML_WITH_PATTERN = 6,
12226 XML_WITH_WRITER = 7,
12229 XML_WITH_HTTP = 10,
12230 XML_WITH_VALID = 11,
12231 XML_WITH_HTML = 12,
12232 XML_WITH_LEGACY = 13,
12233 XML_WITH_C14N = 14,
12234 XML_WITH_CATALOG = 15,
12235 XML_WITH_XPATH = 16,
12236 XML_WITH_XPTR = 17,
12237 XML_WITH_XINCLUDE = 18,
12238 XML_WITH_ICONV = 19,
12239 XML_WITH_ISO8859X = 20,
12240 XML_WITH_UNICODE = 21,
12241 XML_WITH_REGEXP = 22,
12242 XML_WITH_AUTOMATA = 23,
12243 XML_WITH_EXPR = 24,
12244 XML_WITH_SCHEMAS = 25,
12245 XML_WITH_SCHEMATRON = 26,
12246 XML_WITH_MODULES = 27,
12247 XML_WITH_DEBUG = 28,
12248 XML_WITH_DEBUG_MEM = 29,
12249 XML_WITH_DEBUG_RUN = 30,
12250 XML_WITH_ZLIB = 31,
12251 XML_WITH_NONE = 99999
12254 xmlHasFeature (xmlFeature feature);
12257 GST_OBJECT_DISPOSING = (1<<0),
12258 GST_OBJECT_FLOATING = (1<<1),
12259 GST_OBJECT_FLAG_LAST = (1<<4)
12261 typedef struct _GstObject GstObject;
12262 typedef struct _GstObjectClass GstObjectClass;
12263 struct _GstObject {
12268 gchar *name_prefix;
12271 gpointer _gst_reserved;
12273 struct _GstObjectClass {
12274 GObjectClass parent_class;
12275 gchar *path_string_separator;
12276 GObject *signal_object;
12277 GStaticRecMutex *lock;
12278 void (*parent_set) (GstObject * object, GstObject * parent);
12279 void (*parent_unset) (GstObject * object, GstObject * parent);
12280 void (*object_saved) (GstObject * object, xmlNodePtr parent);
12281 void (*deep_notify) (GstObject * object, GstObject * orig, GParamSpec * pspec);
12282 xmlNodePtr (*save_thyself) (GstObject * object, xmlNodePtr parent);
12283 void (*restore_thyself) (GstObject * object, xmlNodePtr self);
12284 gpointer _gst_reserved[4];
12286 GType gst_object_get_type (void);
12287 gboolean gst_object_set_name (GstObject *object, const gchar *name);
12288 gchar* gst_object_get_name (GstObject *object);
12289 void gst_object_set_name_prefix (GstObject *object, const gchar *name_prefix);
12290 gchar* gst_object_get_name_prefix (GstObject *object);
12291 gboolean gst_object_set_parent (GstObject *object, GstObject *parent);
12292 GstObject* gst_object_get_parent (GstObject *object);
12293 void gst_object_unparent (GstObject *object);
12294 gboolean gst_object_has_ancestor (GstObject *object, GstObject *ancestor);
12295 void gst_object_default_deep_notify (GObject *object, GstObject *orig,
12296 GParamSpec *pspec, gchar **excluded_props);
12297 gpointer gst_object_ref (gpointer object);
12298 void gst_object_unref (gpointer object);
12299 void gst_object_ref_sink (gpointer object);
12300 void gst_object_sink (gpointer object);
12301 void gst_object_replace (GstObject **oldobj, GstObject *newobj);
12302 gchar * gst_object_get_path_string (GstObject *object);
12303 gboolean gst_object_check_uniqueness (GList *list, const gchar *name);
12304 xmlNodePtr gst_object_save_thyself (GstObject *object, xmlNodePtr parent);
12305 void gst_object_restore_thyself (GstObject *object, xmlNodePtr self);
12306 guint gst_class_signal_connect (GstObjectClass *klass,
12309 gpointer func_data);
12310 void gst_class_signal_emit_by_name (GstObject * object,
12311 const gchar * name,
12313 typedef struct _GstMiniObject GstMiniObject;
12314 typedef struct _GstMiniObjectClass GstMiniObjectClass;
12315 typedef GstMiniObject * (*GstMiniObjectCopyFunction) (const GstMiniObject *obj);
12316 typedef void (*GstMiniObjectFinalizeFunction) (GstMiniObject *obj);
12319 GST_MINI_OBJECT_FLAG_READONLY = (1<<0),
12320 GST_MINI_OBJECT_FLAG_LAST = (1<<4)
12321 } GstMiniObjectFlags;
12322 struct _GstMiniObject {
12323 GTypeInstance instance;
12326 gpointer _gst_reserved;
12328 struct _GstMiniObjectClass {
12329 GTypeClass type_class;
12330 GstMiniObjectCopyFunction copy;
12331 GstMiniObjectFinalizeFunction finalize;
12332 gpointer _gst_reserved;
12334 GType gst_mini_object_get_type (void);
12335 GstMiniObject* gst_mini_object_new (GType type);
12336 GstMiniObject* gst_mini_object_copy (const GstMiniObject *mini_object);
12337 gboolean gst_mini_object_is_writable (const GstMiniObject *mini_object);
12338 GstMiniObject* gst_mini_object_make_writable (GstMiniObject *mini_object);
12339 GstMiniObject* gst_mini_object_ref (GstMiniObject *mini_object);
12340 void gst_mini_object_unref (GstMiniObject *mini_object);
12341 void gst_mini_object_replace (GstMiniObject **olddata, GstMiniObject *newdata);
12342 typedef struct _GstParamSpecMiniObject GstParamSpecMiniObject;
12343 struct _GstParamSpecMiniObject
12345 GParamSpec parent_instance;
12347 GType gst_param_spec_mini_object_get_type (void);
12348 GParamSpec* gst_param_spec_mini_object (const char *name, const char *nick,
12349 const char *blurb, GType object_type,
12350 GParamFlags flags);
12351 void gst_value_set_mini_object (GValue *value, GstMiniObject *mini_object);
12352 void gst_value_take_mini_object (GValue *value, GstMiniObject *mini_object);
12353 GstMiniObject* gst_value_get_mini_object (const GValue *value);
12354 GstMiniObject* gst_value_dup_mini_object (const GValue *value);
12355 typedef guint64 GstClockTime;
12356 typedef gint64 GstClockTimeDiff;
12357 typedef gpointer GstClockID;
12358 typedef struct _GstClockEntry GstClockEntry;
12359 typedef struct _GstClock GstClock;
12360 typedef struct _GstClockClass GstClockClass;
12361 typedef struct _GstClockPrivate GstClockPrivate;
12362 typedef gboolean (*GstClockCallback) (GstClock *clock, GstClockTime time,
12363 GstClockID id, gpointer user_data);
12367 GST_CLOCK_EARLY = 1,
12368 GST_CLOCK_UNSCHEDULED = 2,
12369 GST_CLOCK_BUSY = 3,
12370 GST_CLOCK_BADTIME = 4,
12371 GST_CLOCK_ERROR = 5,
12372 GST_CLOCK_UNSUPPORTED = 6
12375 GST_CLOCK_ENTRY_SINGLE,
12376 GST_CLOCK_ENTRY_PERIODIC
12377 } GstClockEntryType;
12378 struct _GstClockEntry {
12381 GstClockEntryType type;
12383 GstClockTime interval;
12384 GstClockReturn status;
12385 GstClockCallback func;
12386 gpointer user_data;
12389 GST_CLOCK_FLAG_CAN_DO_SINGLE_SYNC = (GST_OBJECT_FLAG_LAST << 0),
12390 GST_CLOCK_FLAG_CAN_DO_SINGLE_ASYNC = (GST_OBJECT_FLAG_LAST << 1),
12391 GST_CLOCK_FLAG_CAN_DO_PERIODIC_SYNC = (GST_OBJECT_FLAG_LAST << 2),
12392 GST_CLOCK_FLAG_CAN_DO_PERIODIC_ASYNC = (GST_OBJECT_FLAG_LAST << 3),
12393 GST_CLOCK_FLAG_CAN_SET_RESOLUTION = (GST_OBJECT_FLAG_LAST << 4),
12394 GST_CLOCK_FLAG_CAN_SET_MASTER = (GST_OBJECT_FLAG_LAST << 5),
12395 GST_CLOCK_FLAG_LAST = (GST_OBJECT_FLAG_LAST << 8)
12399 GMutex *slave_lock;
12400 GstClockTime internal_calibration;
12401 GstClockTime external_calibration;
12402 GstClockTime rate_numerator;
12403 GstClockTime rate_denominator;
12404 GstClockTime last_time;
12406 GCond *entries_changed;
12407 GstClockTime resolution;
12412 gint window_threshold;
12414 GstClockTime timeout;
12415 GstClockTime *times;
12416 GstClockID clockid;
12418 GstClockPrivate *priv;
12419 GstClockTime _gst_reserved[4];
12422 struct _GstClockClass {
12423 GstObjectClass parent_class;
12424 GstClockTime (*change_resolution) (GstClock *clock,
12425 GstClockTime old_resolution,
12426 GstClockTime new_resolution);
12427 GstClockTime (*get_resolution) (GstClock *clock);
12428 GstClockTime (*get_internal_time) (GstClock *clock);
12429 GstClockReturn (*wait) (GstClock *clock, GstClockEntry *entry);
12430 GstClockReturn (*wait_async) (GstClock *clock, GstClockEntry *entry);
12431 void (*unschedule) (GstClock *clock, GstClockEntry *entry);
12432 GstClockReturn (*wait_jitter) (GstClock *clock, GstClockEntry *entry,
12433 GstClockTimeDiff *jitter);
12434 gpointer _gst_reserved[4 - 1];
12436 GType gst_clock_get_type (void);
12437 GstClockTime gst_clock_set_resolution (GstClock *clock,
12438 GstClockTime resolution);
12439 GstClockTime gst_clock_get_resolution (GstClock *clock);
12440 GstClockTime gst_clock_get_time (GstClock *clock);
12441 void gst_clock_set_calibration (GstClock *clock, GstClockTime internal,
12442 GstClockTime external,
12443 GstClockTime rate_num,
12444 GstClockTime rate_denom);
12445 void gst_clock_get_calibration (GstClock *clock, GstClockTime *internal,
12446 GstClockTime *external,
12447 GstClockTime *rate_num,
12448 GstClockTime *rate_denom);
12449 gboolean gst_clock_set_master (GstClock *clock, GstClock *master);
12450 GstClock* gst_clock_get_master (GstClock *clock);
12451 gboolean gst_clock_add_observation (GstClock *clock, GstClockTime slave,
12452 GstClockTime master, gdouble *r_squared);
12453 GstClockTime gst_clock_get_internal_time (GstClock *clock);
12454 GstClockTime gst_clock_adjust_unlocked (GstClock *clock, GstClockTime internal);
12455 GstClockTime gst_clock_unadjust_unlocked (GstClock * clock, GstClockTime external);
12456 GstClockID gst_clock_new_single_shot_id (GstClock *clock,
12457 GstClockTime time);
12458 GstClockID gst_clock_new_periodic_id (GstClock *clock,
12459 GstClockTime start_time,
12460 GstClockTime interval);
12461 GstClockID gst_clock_id_ref (GstClockID id);
12462 void gst_clock_id_unref (GstClockID id);
12463 gint gst_clock_id_compare_func (gconstpointer id1, gconstpointer id2);
12464 GstClockTime gst_clock_id_get_time (GstClockID id);
12465 GstClockReturn gst_clock_id_wait (GstClockID id,
12466 GstClockTimeDiff *jitter);
12467 GstClockReturn gst_clock_id_wait_async (GstClockID id,
12468 GstClockCallback func,
12469 gpointer user_data);
12470 void gst_clock_id_unschedule (GstClockID id);
12471 typedef struct _GstStructure GstStructure;
12472 typedef gboolean (*GstStructureForeachFunc) (GQuark field_id,
12473 const GValue * value,
12474 gpointer user_data);
12475 typedef gboolean (*GstStructureMapFunc) (GQuark field_id,
12477 gpointer user_data);
12478 struct _GstStructure {
12481 gint *parent_refcount;
12483 gpointer _gst_reserved;
12485 GType gst_structure_get_type (void);
12486 GstStructure * gst_structure_empty_new (const gchar * name);
12487 GstStructure * gst_structure_id_empty_new (GQuark quark);
12488 GstStructure * gst_structure_new (const gchar * name,
12489 const gchar * firstfield,
12491 GstStructure * gst_structure_new_valist (const gchar * name,
12492 const gchar * firstfield,
12494 GstStructure * gst_structure_id_new (GQuark name_quark,
12495 GQuark field_quark,
12497 GstStructure * gst_structure_copy (const GstStructure *structure);
12498 void gst_structure_set_parent_refcount (GstStructure *structure,
12500 void gst_structure_free (GstStructure *structure);
12501 const gchar * gst_structure_get_name (const GstStructure *structure);
12502 GQuark gst_structure_get_name_id (const GstStructure *structure);
12503 gboolean gst_structure_has_name (const GstStructure *structure,
12504 const gchar *name);
12505 void gst_structure_set_name (GstStructure *structure,
12506 const gchar *name);
12507 void gst_structure_id_set_value (GstStructure *structure,
12509 const GValue *value);
12510 void gst_structure_set_value (GstStructure *structure,
12511 const gchar *fieldname,
12512 const GValue *value);
12513 void gst_structure_set (GstStructure *structure,
12514 const gchar *fieldname,
12515 ...) __attribute__((__sentinel__));
12516 void gst_structure_set_valist (GstStructure *structure,
12517 const gchar *fieldname,
12519 void gst_structure_id_set (GstStructure *structure,
12521 ...) __attribute__((__sentinel__));
12522 void gst_structure_id_set_valist (GstStructure *structure,
12525 gboolean gst_structure_get_valist (GstStructure *structure,
12526 const char *first_fieldname,
12528 gboolean gst_structure_get (GstStructure *structure,
12529 const char *first_fieldname,
12530 ...) __attribute__((__sentinel__));
12531 gboolean gst_structure_id_get_valist (GstStructure *structure,
12532 GQuark first_field_id,
12534 gboolean gst_structure_id_get (GstStructure *structure,
12535 GQuark first_field_id,
12536 ...) __attribute__((__sentinel__));
12537 const GValue * gst_structure_id_get_value (const GstStructure *structure,
12539 const GValue * gst_structure_get_value (const GstStructure *structure,
12540 const gchar *fieldname);
12541 void gst_structure_remove_field (GstStructure *structure,
12542 const gchar *fieldname);
12543 void gst_structure_remove_fields (GstStructure *structure,
12544 const gchar *fieldname,
12545 ...) __attribute__((__sentinel__));
12546 void gst_structure_remove_fields_valist (GstStructure *structure,
12547 const gchar *fieldname,
12549 void gst_structure_remove_all_fields (GstStructure *structure);
12550 GType gst_structure_get_field_type (const GstStructure *structure,
12551 const gchar *fieldname);
12552 gboolean gst_structure_foreach (const GstStructure *structure,
12553 GstStructureForeachFunc func,
12554 gpointer user_data);
12555 gboolean gst_structure_map_in_place (GstStructure *structure,
12556 GstStructureMapFunc func,
12557 gpointer user_data);
12558 gint gst_structure_n_fields (const GstStructure *structure);
12559 const gchar * gst_structure_nth_field_name (const GstStructure *structure, guint index);
12560 gboolean gst_structure_has_field (const GstStructure *structure,
12561 const gchar *fieldname);
12562 gboolean gst_structure_has_field_typed (const GstStructure *structure,
12563 const gchar *fieldname,
12565 gboolean gst_structure_get_boolean (const GstStructure *structure,
12566 const gchar *fieldname,
12568 gboolean gst_structure_get_int (const GstStructure *structure,
12569 const gchar *fieldname,
12571 gboolean gst_structure_get_uint (const GstStructure *structure,
12572 const gchar *fieldname,
12574 gboolean gst_structure_get_fourcc (const GstStructure *structure,
12575 const gchar *fieldname,
12577 gboolean gst_structure_get_double (const GstStructure *structure,
12578 const gchar *fieldname,
12580 gboolean gst_structure_get_date (const GstStructure *structure,
12581 const gchar *fieldname,
12583 gboolean gst_structure_get_clock_time (const GstStructure *structure,
12584 const gchar *fieldname,
12585 GstClockTime *value);
12586 const gchar * gst_structure_get_string (const GstStructure *structure,
12587 const gchar *fieldname);
12588 gboolean gst_structure_get_enum (const GstStructure *structure,
12589 const gchar *fieldname,
12592 gboolean gst_structure_get_fraction (const GstStructure *structure,
12593 const gchar *fieldname,
12594 gint *value_numerator,
12595 gint *value_denominator);
12596 gchar * gst_structure_to_string (const GstStructure *structure);
12597 GstStructure * gst_structure_from_string (const gchar *string,
12599 gboolean gst_structure_fixate_field_nearest_int (GstStructure *structure,
12600 const char *field_name,
12602 gboolean gst_structure_fixate_field_nearest_double (GstStructure *structure,
12603 const char *field_name,
12605 gboolean gst_structure_fixate_field_boolean (GstStructure *structure,
12606 const char *field_name,
12608 gboolean gst_structure_fixate_field_nearest_fraction (GstStructure *structure,
12609 const char *field_name,
12610 const gint target_numerator,
12611 const gint target_denominator);
12613 GST_CAPS_FLAGS_ANY = (1 << 0)
12615 typedef struct _GstCaps GstCaps;
12616 typedef struct _GstStaticCaps GstStaticCaps;
12620 GstCapsFlags flags;
12621 GPtrArray *structs;
12622 gpointer _gst_reserved[4];
12624 struct _GstStaticCaps {
12626 const char *string;
12627 gpointer _gst_reserved[4];
12629 GType gst_caps_get_type (void);
12630 GstCaps * gst_caps_new_empty (void);
12631 GstCaps * gst_caps_new_any (void);
12632 GstCaps * gst_caps_new_simple (const char *media_type,
12633 const char *fieldname,
12635 GstCaps * gst_caps_new_full (GstStructure *struct1, ...);
12636 GstCaps * gst_caps_new_full_valist (GstStructure *structure,
12638 GstCaps * gst_caps_ref (GstCaps *caps);
12639 GstCaps * gst_caps_copy (const GstCaps *caps);
12640 GstCaps * gst_caps_make_writable (GstCaps *caps);
12641 void gst_caps_unref (GstCaps *caps);
12642 GType gst_static_caps_get_type (void);
12643 GstCaps * gst_static_caps_get (GstStaticCaps *static_caps);
12644 void gst_caps_append (GstCaps *caps1,
12646 void gst_caps_merge (GstCaps *caps1,
12648 void gst_caps_append_structure (GstCaps *caps,
12649 GstStructure *structure);
12650 void gst_caps_remove_structure (GstCaps *caps, guint idx);
12651 void gst_caps_merge_structure (GstCaps *caps,
12652 GstStructure *structure);
12653 guint gst_caps_get_size (const GstCaps *caps);
12654 GstStructure * gst_caps_get_structure (const GstCaps *caps,
12656 GstCaps * gst_caps_copy_nth (const GstCaps *caps, guint nth);
12657 void gst_caps_truncate (GstCaps *caps);
12658 void gst_caps_set_simple (GstCaps *caps,
12659 const char *field, ...) __attribute__((__sentinel__));
12660 void gst_caps_set_simple_valist (GstCaps *caps,
12663 gboolean gst_caps_is_any (const GstCaps *caps);
12664 gboolean gst_caps_is_empty (const GstCaps *caps);
12665 gboolean gst_caps_is_fixed (const GstCaps *caps);
12666 gboolean gst_caps_is_always_compatible (const GstCaps *caps1,
12667 const GstCaps *caps2);
12668 gboolean gst_caps_is_subset (const GstCaps *subset,
12669 const GstCaps *superset);
12670 gboolean gst_caps_is_equal (const GstCaps *caps1,
12671 const GstCaps *caps2);
12672 gboolean gst_caps_is_equal_fixed (const GstCaps *caps1,
12673 const GstCaps *caps2);
12674 GstCaps * gst_caps_intersect (const GstCaps *caps1,
12675 const GstCaps *caps2);
12676 GstCaps * gst_caps_subtract (const GstCaps *minuend,
12677 const GstCaps *subtrahend);
12678 GstCaps * gst_caps_union (const GstCaps *caps1,
12679 const GstCaps *caps2);
12680 GstCaps * gst_caps_normalize (const GstCaps *caps);
12681 gboolean gst_caps_do_simplify (GstCaps *caps);
12682 xmlNodePtr gst_caps_save_thyself (const GstCaps *caps,
12683 xmlNodePtr parent);
12684 GstCaps * gst_caps_load_thyself (xmlNodePtr parent);
12685 void gst_caps_replace (GstCaps **caps,
12687 gchar * gst_caps_to_string (const GstCaps *caps);
12688 GstCaps * gst_caps_from_string (const gchar *string);
12689 typedef struct _GstBuffer GstBuffer;
12690 typedef struct _GstBufferClass GstBufferClass;
12692 GST_BUFFER_FLAG_READONLY = GST_MINI_OBJECT_FLAG_READONLY,
12693 GST_BUFFER_FLAG_PREROLL = (GST_MINI_OBJECT_FLAG_LAST << 0),
12694 GST_BUFFER_FLAG_DISCONT = (GST_MINI_OBJECT_FLAG_LAST << 1),
12695 GST_BUFFER_FLAG_IN_CAPS = (GST_MINI_OBJECT_FLAG_LAST << 2),
12696 GST_BUFFER_FLAG_GAP = (GST_MINI_OBJECT_FLAG_LAST << 3),
12697 GST_BUFFER_FLAG_DELTA_UNIT = (GST_MINI_OBJECT_FLAG_LAST << 4),
12698 GST_BUFFER_FLAG_MEDIA1 = (GST_MINI_OBJECT_FLAG_LAST << 5),
12699 GST_BUFFER_FLAG_MEDIA2 = (GST_MINI_OBJECT_FLAG_LAST << 6),
12700 GST_BUFFER_FLAG_MEDIA3 = (GST_MINI_OBJECT_FLAG_LAST << 7),
12701 GST_BUFFER_FLAG_LAST = (GST_MINI_OBJECT_FLAG_LAST << 8)
12703 struct _GstBuffer {
12704 GstMiniObject mini_object;
12707 GstClockTime timestamp;
12708 GstClockTime duration;
12711 guint64 offset_end;
12712 guint8 *malloc_data;
12713 GFreeFunc free_func;
12714 gpointer _gst_reserved[4 - 1];
12716 struct _GstBufferClass {
12717 GstMiniObjectClass mini_object_class;
12719 GType gst_buffer_get_type (void);
12720 GstBuffer * gst_buffer_new (void);
12721 GstBuffer * gst_buffer_new_and_alloc (guint size);
12722 GstBuffer * gst_buffer_try_new_and_alloc (guint size);
12723 static inline GstBuffer *
12724 gst_buffer_ref (GstBuffer * buf)
12726 return (GstBuffer *) gst_mini_object_ref (((GstMiniObject*)(buf)));
12729 gst_buffer_unref (GstBuffer * buf)
12731 gst_mini_object_unref (((GstMiniObject*)(buf)));
12733 static inline GstBuffer *
12734 gst_buffer_copy (const GstBuffer * buf)
12736 return ((((GstBuffer*) g_type_check_instance_cast ((GTypeInstance*) ((gst_mini_object_copy (((GstMiniObject*)(buf))))), ((gst_buffer_get_type()))))));
12739 GST_BUFFER_COPY_FLAGS = (1 << 0),
12740 GST_BUFFER_COPY_TIMESTAMPS = (1 << 1),
12741 GST_BUFFER_COPY_CAPS = (1 << 2)
12742 } GstBufferCopyFlags;
12743 void gst_buffer_copy_metadata (GstBuffer *dest, const GstBuffer *src,
12744 GstBufferCopyFlags flags);
12745 gboolean gst_buffer_is_metadata_writable (GstBuffer *buf);
12746 GstBuffer* gst_buffer_make_metadata_writable (GstBuffer *buf);
12747 GstCaps* gst_buffer_get_caps (GstBuffer *buffer);
12748 void gst_buffer_set_caps (GstBuffer *buffer, GstCaps *caps);
12749 GstBuffer* gst_buffer_create_sub (GstBuffer *parent, guint offset, guint size);
12750 gboolean gst_buffer_is_span_fast (GstBuffer *buf1, GstBuffer *buf2);
12751 GstBuffer* gst_buffer_span (GstBuffer *buf1, guint32 offset, GstBuffer *buf2, guint32 len);
12752 typedef struct _GstBufferList GstBufferList;
12753 typedef struct _GstBufferListClass GstBufferListClass;
12754 typedef struct _GstBufferListIterator GstBufferListIterator;
12755 typedef GstBuffer* (*GstBufferListDoFunction) (GstBuffer * buffer, gpointer user_data);
12757 GST_BUFFER_LIST_CONTINUE,
12758 GST_BUFFER_LIST_SKIP_GROUP,
12759 GST_BUFFER_LIST_END
12760 } GstBufferListItem;
12761 typedef GstBufferListItem (*GstBufferListFunc) (GstBuffer **buffer, guint group, guint idx,
12762 gpointer user_data);
12763 GType gst_buffer_list_get_type (void);
12764 GstBufferList *gst_buffer_list_new (void);
12765 static inline GstBufferList *
12766 gst_buffer_list_ref (GstBufferList * list)
12768 return ((GstBufferList *)gst_mini_object_ref (((GstMiniObject*)(list))));
12771 gst_buffer_list_unref (GstBufferList * list)
12773 gst_mini_object_unref (((GstMiniObject*)(list)));
12775 static inline GstBufferList *
12776 gst_buffer_list_copy (const GstBufferList * list)
12778 return ((((GstBufferList*) g_type_check_instance_cast ((GTypeInstance*) ((gst_mini_object_copy (((GstMiniObject*)(list))))), ((gst_buffer_list_get_type ()))))));
12780 guint gst_buffer_list_n_groups (GstBufferList *list);
12781 void gst_buffer_list_foreach (GstBufferList *list,
12782 GstBufferListFunc func,
12783 gpointer user_data);
12784 GstBuffer * gst_buffer_list_get (GstBufferList *list, guint group, guint idx);
12785 GstBufferListIterator * gst_buffer_list_iterate (GstBufferList *list);
12786 void gst_buffer_list_iterator_free (GstBufferListIterator *it);
12787 guint gst_buffer_list_iterator_n_buffers (const GstBufferListIterator *it);
12788 GstBuffer * gst_buffer_list_iterator_next (GstBufferListIterator *it);
12789 gboolean gst_buffer_list_iterator_next_group (GstBufferListIterator *it);
12790 void gst_buffer_list_iterator_add (GstBufferListIterator *it, GstBuffer *buffer);
12791 void gst_buffer_list_iterator_add_group (GstBufferListIterator *it);
12792 void gst_buffer_list_iterator_remove (GstBufferListIterator *it);
12793 GstBuffer * gst_buffer_list_iterator_steal (GstBufferListIterator *it);
12794 void gst_buffer_list_iterator_take (GstBufferListIterator *it, GstBuffer *buffer);
12795 GstBuffer * gst_buffer_list_iterator_do (GstBufferListIterator *it, GstBufferListDoFunction do_func,
12796 gpointer user_data);
12797 GstBuffer * gst_buffer_list_iterator_merge_group (const GstBufferListIterator *it);
12799 GST_ITERATOR_DONE = 0,
12800 GST_ITERATOR_OK = 1,
12801 GST_ITERATOR_RESYNC = 2,
12802 GST_ITERATOR_ERROR = 3
12803 } GstIteratorResult;
12804 typedef struct _GstIterator GstIterator;
12806 GST_ITERATOR_ITEM_SKIP = 0,
12807 GST_ITERATOR_ITEM_PASS = 1,
12808 GST_ITERATOR_ITEM_END = 2
12810 typedef void (*GstIteratorDisposeFunction) (gpointer owner);
12811 typedef GstIteratorResult (*GstIteratorNextFunction) (GstIterator *it, gpointer *result);
12812 typedef GstIteratorItem (*GstIteratorItemFunction) (GstIterator *it, gpointer item);
12813 typedef void (*GstIteratorResyncFunction) (GstIterator *it);
12814 typedef void (*GstIteratorFreeFunction) (GstIterator *it);
12815 typedef gboolean (*GstIteratorFoldFunction) (gpointer item, GValue *ret, gpointer user_data);
12816 struct _GstIterator {
12817 GstIteratorNextFunction next;
12818 GstIteratorItemFunction item;
12819 GstIteratorResyncFunction resync;
12820 GstIteratorFreeFunction free;
12821 GstIterator *pushed;
12825 guint32 *master_cookie;
12826 gpointer _gst_reserved[4];
12828 GstIterator* gst_iterator_new (guint size,
12831 guint32 *master_cookie,
12832 GstIteratorNextFunction next,
12833 GstIteratorItemFunction item,
12834 GstIteratorResyncFunction resync,
12835 GstIteratorFreeFunction free);
12836 GstIterator* gst_iterator_new_list (GType type,
12838 guint32 *master_cookie,
12841 GstIteratorItemFunction item,
12842 GstIteratorDisposeFunction free);
12843 GstIteratorResult gst_iterator_next (GstIterator *it, gpointer *elem);
12844 void gst_iterator_resync (GstIterator *it);
12845 void gst_iterator_free (GstIterator *it);
12846 void gst_iterator_push (GstIterator *it, GstIterator *other);
12847 GstIterator* gst_iterator_filter (GstIterator *it, GCompareFunc func,
12848 gpointer user_data);
12849 GstIteratorResult gst_iterator_fold (GstIterator *it,
12850 GstIteratorFoldFunction func,
12851 GValue *ret, gpointer user_data);
12852 GstIteratorResult gst_iterator_foreach (GstIterator *it,
12853 GFunc func, gpointer user_data);
12854 gpointer gst_iterator_find_custom (GstIterator *it, GCompareFunc func,
12855 gpointer user_data);
12857 GST_FORMAT_UNDEFINED = 0,
12858 GST_FORMAT_DEFAULT = 1,
12859 GST_FORMAT_BYTES = 2,
12860 GST_FORMAT_TIME = 3,
12861 GST_FORMAT_BUFFERS = 4,
12862 GST_FORMAT_PERCENT = 5
12864 typedef struct _GstFormatDefinition GstFormatDefinition;
12865 struct _GstFormatDefinition
12869 gchar *description;
12872 const gchar* gst_format_get_name (GstFormat format);
12873 GQuark gst_format_to_quark (GstFormat format);
12874 GstFormat gst_format_register (const gchar *nick,
12875 const gchar *description);
12876 GstFormat gst_format_get_by_nick (const gchar *nick);
12877 gboolean gst_formats_contains (const GstFormat *formats, GstFormat format);
12878 const GstFormatDefinition*
12879 gst_format_get_details (GstFormat format);
12880 GstIterator* gst_format_iterate_definitions (void);
12882 GST_TAG_MERGE_UNDEFINED,
12883 GST_TAG_MERGE_REPLACE_ALL,
12884 GST_TAG_MERGE_REPLACE,
12885 GST_TAG_MERGE_APPEND,
12886 GST_TAG_MERGE_PREPEND,
12887 GST_TAG_MERGE_KEEP,
12888 GST_TAG_MERGE_KEEP_ALL,
12889 GST_TAG_MERGE_COUNT
12892 GST_TAG_FLAG_UNDEFINED,
12894 GST_TAG_FLAG_ENCODED,
12895 GST_TAG_FLAG_DECODED,
12898 typedef GstStructure GstTagList;
12899 typedef void (*GstTagForeachFunc) (const GstTagList * list,
12901 gpointer user_data);
12902 typedef void (* GstTagMergeFunc) (GValue *dest, const GValue *src);
12903 GType gst_tag_list_get_type (void);
12904 void gst_tag_register (const gchar * name,
12907 const gchar * nick,
12908 const gchar * blurb,
12909 GstTagMergeFunc func);
12910 void gst_tag_merge_use_first (GValue * dest, const GValue * src);
12911 void gst_tag_merge_strings_with_comma (GValue * dest, const GValue * src);
12912 gboolean gst_tag_exists (const gchar * tag);
12913 GType gst_tag_get_type (const gchar * tag);
12914 const gchar * gst_tag_get_nick (const gchar * tag);
12915 const gchar * gst_tag_get_description (const gchar * tag);
12916 GstTagFlag gst_tag_get_flag (const gchar * tag);
12917 gboolean gst_tag_is_fixed (const gchar * tag);
12918 GstTagList * gst_tag_list_new (void);
12919 GstTagList * gst_tag_list_new_full (const gchar * tag, ...);
12920 GstTagList * gst_tag_list_new_full_valist (va_list var_args);
12921 gboolean gst_is_tag_list (gconstpointer p);
12922 GstTagList * gst_tag_list_copy (const GstTagList * list);
12923 gboolean gst_tag_list_is_empty (const GstTagList * list);
12924 void gst_tag_list_insert (GstTagList * into,
12925 const GstTagList * from,
12926 GstTagMergeMode mode);
12927 GstTagList * gst_tag_list_merge (const GstTagList * list1,
12928 const GstTagList * list2,
12929 GstTagMergeMode mode);
12930 void gst_tag_list_free (GstTagList * list);
12931 guint gst_tag_list_get_tag_size (const GstTagList * list,
12932 const gchar * tag);
12933 void gst_tag_list_add (GstTagList * list,
12934 GstTagMergeMode mode,
12936 ...) __attribute__((__sentinel__));
12937 void gst_tag_list_add_values (GstTagList * list,
12938 GstTagMergeMode mode,
12940 ...) __attribute__((__sentinel__));
12941 void gst_tag_list_add_valist (GstTagList * list,
12942 GstTagMergeMode mode,
12945 void gst_tag_list_add_valist_values (GstTagList * list,
12946 GstTagMergeMode mode,
12949 void gst_tag_list_add_value (GstTagList * list,
12950 GstTagMergeMode mode,
12952 const GValue * value);
12953 void gst_tag_list_remove_tag (GstTagList * list,
12954 const gchar * tag);
12955 void gst_tag_list_foreach (const GstTagList * list,
12956 GstTagForeachFunc func,
12957 gpointer user_data);
12959 gst_tag_list_get_value_index (const GstTagList * list,
12962 gboolean gst_tag_list_copy_value (GValue * dest,
12963 const GstTagList * list,
12964 const gchar * tag);
12965 gboolean gst_tag_list_get_char (const GstTagList * list,
12968 gboolean gst_tag_list_get_char_index (const GstTagList * list,
12972 gboolean gst_tag_list_get_uchar (const GstTagList * list,
12975 gboolean gst_tag_list_get_uchar_index (const GstTagList * list,
12979 gboolean gst_tag_list_get_boolean (const GstTagList * list,
12982 gboolean gst_tag_list_get_boolean_index (const GstTagList * list,
12986 gboolean gst_tag_list_get_int (const GstTagList * list,
12989 gboolean gst_tag_list_get_int_index (const GstTagList * list,
12993 gboolean gst_tag_list_get_uint (const GstTagList * list,
12996 gboolean gst_tag_list_get_uint_index (const GstTagList * list,
13000 gboolean gst_tag_list_get_long (const GstTagList * list,
13003 gboolean gst_tag_list_get_long_index (const GstTagList * list,
13007 gboolean gst_tag_list_get_ulong (const GstTagList * list,
13010 gboolean gst_tag_list_get_ulong_index (const GstTagList * list,
13014 gboolean gst_tag_list_get_int64 (const GstTagList * list,
13017 gboolean gst_tag_list_get_int64_index (const GstTagList * list,
13021 gboolean gst_tag_list_get_uint64 (const GstTagList * list,
13024 gboolean gst_tag_list_get_uint64_index (const GstTagList * list,
13028 gboolean gst_tag_list_get_float (const GstTagList * list,
13031 gboolean gst_tag_list_get_float_index (const GstTagList * list,
13035 gboolean gst_tag_list_get_double (const GstTagList * list,
13038 gboolean gst_tag_list_get_double_index (const GstTagList * list,
13042 gboolean gst_tag_list_get_string (const GstTagList * list,
13045 gboolean gst_tag_list_get_string_index (const GstTagList * list,
13049 gboolean gst_tag_list_get_pointer (const GstTagList * list,
13052 gboolean gst_tag_list_get_pointer_index (const GstTagList * list,
13056 gboolean gst_tag_list_get_date (const GstTagList * list,
13059 gboolean gst_tag_list_get_date_index (const GstTagList * list,
13063 gboolean gst_tag_list_get_buffer (const GstTagList * list,
13065 GstBuffer ** value);
13066 gboolean gst_tag_list_get_buffer_index (const GstTagList * list,
13069 GstBuffer ** value);
13071 GST_EVENT_TYPE_UPSTREAM = 1 << 0,
13072 GST_EVENT_TYPE_DOWNSTREAM = 1 << 1,
13073 GST_EVENT_TYPE_SERIALIZED = 1 << 2
13074 } GstEventTypeFlags;
13076 GST_EVENT_UNKNOWN = (((0) << 4) | (0)),
13077 GST_EVENT_FLUSH_START = (((1) << 4) | ((GST_EVENT_TYPE_UPSTREAM | GST_EVENT_TYPE_DOWNSTREAM))),
13078 GST_EVENT_FLUSH_STOP = (((2) << 4) | ((GST_EVENT_TYPE_UPSTREAM | GST_EVENT_TYPE_DOWNSTREAM) | GST_EVENT_TYPE_SERIALIZED)),
13079 GST_EVENT_EOS = (((5) << 4) | (GST_EVENT_TYPE_DOWNSTREAM | GST_EVENT_TYPE_SERIALIZED)),
13080 GST_EVENT_NEWSEGMENT = (((6) << 4) | (GST_EVENT_TYPE_DOWNSTREAM | GST_EVENT_TYPE_SERIALIZED)),
13081 GST_EVENT_TAG = (((7) << 4) | (GST_EVENT_TYPE_DOWNSTREAM | GST_EVENT_TYPE_SERIALIZED)),
13082 GST_EVENT_BUFFERSIZE = (((8) << 4) | (GST_EVENT_TYPE_DOWNSTREAM | GST_EVENT_TYPE_SERIALIZED)),
13083 GST_EVENT_QOS = (((15) << 4) | (GST_EVENT_TYPE_UPSTREAM)),
13084 GST_EVENT_SEEK = (((16) << 4) | (GST_EVENT_TYPE_UPSTREAM)),
13085 GST_EVENT_NAVIGATION = (((17) << 4) | (GST_EVENT_TYPE_UPSTREAM)),
13086 GST_EVENT_LATENCY = (((18) << 4) | (GST_EVENT_TYPE_UPSTREAM)),
13087 GST_EVENT_STEP = (((19) << 4) | (GST_EVENT_TYPE_UPSTREAM)),
13088 GST_EVENT_CUSTOM_UPSTREAM = (((32) << 4) | (GST_EVENT_TYPE_UPSTREAM)),
13089 GST_EVENT_CUSTOM_DOWNSTREAM = (((32) << 4) | (GST_EVENT_TYPE_DOWNSTREAM | GST_EVENT_TYPE_SERIALIZED)),
13090 GST_EVENT_CUSTOM_DOWNSTREAM_OOB = (((32) << 4) | (GST_EVENT_TYPE_DOWNSTREAM)),
13091 GST_EVENT_CUSTOM_BOTH = (((32) << 4) | ((GST_EVENT_TYPE_UPSTREAM | GST_EVENT_TYPE_DOWNSTREAM) | GST_EVENT_TYPE_SERIALIZED)),
13092 GST_EVENT_CUSTOM_BOTH_OOB = (((32) << 4) | ((GST_EVENT_TYPE_UPSTREAM | GST_EVENT_TYPE_DOWNSTREAM)))
13094 typedef struct _GstEvent GstEvent;
13095 typedef struct _GstEventClass GstEventClass;
13097 GST_SEEK_TYPE_NONE = 0,
13098 GST_SEEK_TYPE_CUR = 1,
13099 GST_SEEK_TYPE_SET = 2,
13100 GST_SEEK_TYPE_END = 3
13103 GST_SEEK_FLAG_NONE = 0,
13104 GST_SEEK_FLAG_FLUSH = (1 << 0),
13105 GST_SEEK_FLAG_ACCURATE = (1 << 1),
13106 GST_SEEK_FLAG_KEY_UNIT = (1 << 2),
13107 GST_SEEK_FLAG_SEGMENT = (1 << 3),
13108 GST_SEEK_FLAG_SKIP = (1 << 4)
13111 GstMiniObject mini_object;
13115 GstStructure *structure;
13118 gpointer _gst_reserved;
13121 struct _GstEventClass {
13122 GstMiniObjectClass mini_object_class;
13123 gpointer _gst_reserved[4];
13125 const gchar* gst_event_type_get_name (GstEventType type);
13126 GQuark gst_event_type_to_quark (GstEventType type);
13128 gst_event_type_get_flags (GstEventType type);
13129 GType gst_event_get_type (void);
13130 static inline GstEvent *
13131 gst_event_ref (GstEvent * event)
13133 return (GstEvent *) gst_mini_object_ref (((((GstMiniObject*) g_type_check_instance_cast ((GTypeInstance*) ((event)), ((gst_mini_object_get_type())))))));
13136 gst_event_unref (GstEvent * event)
13138 gst_mini_object_unref (((((GstMiniObject*) g_type_check_instance_cast ((GTypeInstance*) ((event)), ((gst_mini_object_get_type())))))));
13140 static inline GstEvent *
13141 gst_event_copy (const GstEvent * event)
13143 return ((GstEvent *)(gst_mini_object_copy (((((GstMiniObject*) g_type_check_instance_cast ((GTypeInstance*) ((event)), ((gst_mini_object_get_type())))))))));
13145 GstEvent* gst_event_new_custom (GstEventType type, GstStructure *structure);
13146 const GstStructure *
13147 gst_event_get_structure (GstEvent *event);
13148 gboolean gst_event_has_name (GstEvent *event, const gchar *name);
13149 guint32 gst_event_get_seqnum (GstEvent *event);
13150 void gst_event_set_seqnum (GstEvent *event, guint32 seqnum);
13151 GstEvent * gst_event_new_flush_start (void);
13152 GstEvent * gst_event_new_flush_stop (void);
13153 GstEvent * gst_event_new_eos (void);
13154 GstEvent* gst_event_new_new_segment (gboolean update, gdouble rate,
13156 gint64 start, gint64 stop,
13158 GstEvent* gst_event_new_new_segment_full (gboolean update, gdouble rate,
13159 gdouble applied_rate,
13161 gint64 start, gint64 stop,
13163 void gst_event_parse_new_segment (GstEvent *event,
13167 gint64 *start, gint64 *stop,
13169 void gst_event_parse_new_segment_full (GstEvent *event,
13172 gdouble *applied_rate,
13174 gint64 *start, gint64 *stop,
13176 GstEvent* gst_event_new_tag (GstTagList *taglist);
13177 void gst_event_parse_tag (GstEvent *event, GstTagList **taglist);
13178 GstEvent * gst_event_new_buffer_size (GstFormat format, gint64 minsize, gint64 maxsize,
13180 void gst_event_parse_buffer_size (GstEvent *event, GstFormat *format, gint64 *minsize,
13181 gint64 *maxsize, gboolean *async);
13182 GstEvent* gst_event_new_qos (gdouble proportion, GstClockTimeDiff diff,
13183 GstClockTime timestamp);
13184 void gst_event_parse_qos (GstEvent *event, gdouble *proportion, GstClockTimeDiff *diff,
13185 GstClockTime *timestamp);
13186 GstEvent* gst_event_new_seek (gdouble rate, GstFormat format, GstSeekFlags flags,
13187 GstSeekType start_type, gint64 start,
13188 GstSeekType stop_type, gint64 stop);
13189 void gst_event_parse_seek (GstEvent *event, gdouble *rate, GstFormat *format,
13190 GstSeekFlags *flags,
13191 GstSeekType *start_type, gint64 *start,
13192 GstSeekType *stop_type, gint64 *stop);
13193 GstEvent* gst_event_new_navigation (GstStructure *structure);
13194 GstEvent* gst_event_new_latency (GstClockTime latency);
13195 void gst_event_parse_latency (GstEvent *event, GstClockTime *latency);
13196 GstEvent* gst_event_new_step (GstFormat format, guint64 amount, gdouble rate,
13197 gboolean flush, gboolean intermediate);
13198 void gst_event_parse_step (GstEvent *event, GstFormat *format, guint64 *amount,
13199 gdouble *rate, gboolean *flush, gboolean *intermediate);
13201 GST_QUERY_NONE = 0,
13202 GST_QUERY_POSITION,
13203 GST_QUERY_DURATION,
13211 GST_QUERY_BUFFERING,
13216 GST_BUFFERING_STREAM,
13217 GST_BUFFERING_DOWNLOAD,
13218 GST_BUFFERING_TIMESHIFT,
13220 } GstBufferingMode;
13221 typedef struct _GstQueryTypeDefinition GstQueryTypeDefinition;
13222 typedef struct _GstQuery GstQuery;
13223 typedef struct _GstQueryClass GstQueryClass;
13224 struct _GstQueryTypeDefinition
13226 GstQueryType value;
13228 gchar *description;
13233 GstMiniObject mini_object;
13235 GstStructure *structure;
13236 gpointer _gst_reserved;
13238 struct _GstQueryClass {
13239 GstMiniObjectClass mini_object_class;
13240 gpointer _gst_reserved[4];
13242 const gchar* gst_query_type_get_name (GstQueryType query);
13243 GQuark gst_query_type_to_quark (GstQueryType query);
13244 GType gst_query_get_type (void);
13245 GstQueryType gst_query_type_register (const gchar *nick,
13246 const gchar *description);
13247 GstQueryType gst_query_type_get_by_nick (const gchar *nick);
13248 gboolean gst_query_types_contains (const GstQueryType *types,
13249 GstQueryType type);
13250 const GstQueryTypeDefinition*
13251 gst_query_type_get_details (GstQueryType type);
13252 GstIterator* gst_query_type_iterate_definitions (void);
13253 static inline GstQuery *
13254 gst_query_ref (GstQuery * q)
13256 return ((((GstQuery*) g_type_check_instance_cast ((GTypeInstance*) ((gst_mini_object_ref (((GstMiniObject*)(q))))), ((gst_query_get_type()))))));
13259 gst_query_unref (GstQuery * q)
13261 gst_mini_object_unref (((GstMiniObject*)(q)));
13263 static inline GstQuery *
13264 gst_query_copy (const GstQuery * q)
13266 return ((((GstQuery*) g_type_check_instance_cast ((GTypeInstance*) ((gst_mini_object_copy (((GstMiniObject*)(q))))), ((gst_query_get_type()))))));
13268 GstQuery* gst_query_new_position (GstFormat format);
13269 void gst_query_set_position (GstQuery *query, GstFormat format, gint64 cur);
13270 void gst_query_parse_position (GstQuery *query, GstFormat *format, gint64 *cur);
13271 GstQuery* gst_query_new_duration (GstFormat format);
13272 void gst_query_set_duration (GstQuery *query, GstFormat format, gint64 duration);
13273 void gst_query_parse_duration (GstQuery *query, GstFormat *format, gint64 *duration);
13274 GstQuery* gst_query_new_latency (void);
13275 void gst_query_set_latency (GstQuery *query, gboolean live, GstClockTime min_latency,
13276 GstClockTime max_latency);
13277 void gst_query_parse_latency (GstQuery *query, gboolean *live, GstClockTime *min_latency,
13278 GstClockTime *max_latency);
13279 GstQuery* gst_query_new_convert (GstFormat src_format, gint64 value, GstFormat dest_format);
13280 void gst_query_set_convert (GstQuery *query, GstFormat src_format, gint64 src_value,
13281 GstFormat dest_format, gint64 dest_value);
13282 void gst_query_parse_convert (GstQuery *query, GstFormat *src_format, gint64 *src_value,
13283 GstFormat *dest_format, gint64 *dest_value);
13284 GstQuery* gst_query_new_segment (GstFormat format);
13285 void gst_query_set_segment (GstQuery *query, gdouble rate, GstFormat format,
13286 gint64 start_value, gint64 stop_value);
13287 void gst_query_parse_segment (GstQuery *query, gdouble *rate, GstFormat *format,
13288 gint64 *start_value, gint64 *stop_value);
13289 GstQuery * gst_query_new_application (GstQueryType type,
13290 GstStructure *structure);
13291 GstStructure * gst_query_get_structure (GstQuery *query);
13292 GstQuery* gst_query_new_seeking (GstFormat format);
13293 void gst_query_set_seeking (GstQuery *query, GstFormat format,
13295 gint64 segment_start,
13296 gint64 segment_end);
13297 void gst_query_parse_seeking (GstQuery *query, GstFormat *format,
13298 gboolean *seekable,
13299 gint64 *segment_start,
13300 gint64 *segment_end);
13301 GstQuery* gst_query_new_formats (void);
13302 void gst_query_set_formats (GstQuery *query, gint n_formats, ...);
13303 void gst_query_set_formatsv (GstQuery *query, gint n_formats, GstFormat *formats);
13304 void gst_query_parse_formats_length (GstQuery *query, guint *n_formats);
13305 void gst_query_parse_formats_nth (GstQuery *query, guint nth, GstFormat *format);
13306 GstQuery* gst_query_new_buffering (GstFormat format);
13307 void gst_query_set_buffering_percent (GstQuery *query, gboolean busy, gint percent);
13308 void gst_query_parse_buffering_percent (GstQuery *query, gboolean *busy, gint *percent);
13309 void gst_query_set_buffering_stats (GstQuery *query, GstBufferingMode mode,
13310 gint avg_in, gint avg_out,
13311 gint64 buffering_left);
13312 void gst_query_parse_buffering_stats (GstQuery *query, GstBufferingMode *mode,
13313 gint *avg_in, gint *avg_out,
13314 gint64 *buffering_left);
13315 void gst_query_set_buffering_range (GstQuery *query, GstFormat format,
13316 gint64 start, gint64 stop,
13317 gint64 estimated_total);
13318 void gst_query_parse_buffering_range (GstQuery *query, GstFormat *format,
13319 gint64 *start, gint64 *stop,
13320 gint64 *estimated_total);
13321 GstQuery * gst_query_new_uri (void);
13322 void gst_query_parse_uri (GstQuery *query, gchar **uri);
13323 void gst_query_set_uri (GstQuery *query, const gchar *uri);
13324 typedef struct _GstTaskPool GstTaskPool;
13325 typedef struct _GstTaskPoolClass GstTaskPoolClass;
13326 typedef void (*GstTaskPoolFunction) (void *data);
13327 struct _GstTaskPool {
13330 gpointer _gst_reserved[4];
13332 struct _GstTaskPoolClass {
13333 GstObjectClass parent_class;
13334 void (*prepare) (GstTaskPool *pool, GError **error);
13335 void (*cleanup) (GstTaskPool *pool);
13336 gpointer (*push) (GstTaskPool *pool, GstTaskPoolFunction func,
13337 gpointer user_data, GError **error);
13338 void (*join) (GstTaskPool *pool, gpointer id);
13339 gpointer _gst_reserved[4];
13341 GType gst_task_pool_get_type (void);
13342 GstTaskPool * gst_task_pool_new (void);
13343 void gst_task_pool_prepare (GstTaskPool *pool, GError **error);
13344 gpointer gst_task_pool_push (GstTaskPool *pool, GstTaskPoolFunction func,
13345 gpointer user_data, GError **error);
13346 void gst_task_pool_join (GstTaskPool *pool, gpointer id);
13347 void gst_task_pool_cleanup (GstTaskPool *pool);
13348 typedef void (*GstTaskFunction) (void *data);
13349 typedef struct _GstTask GstTask;
13350 typedef struct _GstTaskClass GstTaskClass;
13351 typedef struct _GstTaskPrivate GstTaskPrivate;
13358 void (*enter_thread) (GstTask *task, GThread *thread, gpointer user_data);
13359 void (*leave_thread) (GstTask *task, GThread *thread, gpointer user_data);
13360 gpointer _gst_reserved[4];
13361 } GstTaskThreadCallbacks;
13364 GstTaskState state;
13366 GStaticRecMutex *lock;
13367 GstTaskFunction func;
13374 gpointer _gst_reserved[4 - 1];
13376 GstTaskPrivate *priv;
13378 struct _GstTaskClass {
13379 GstObjectClass parent_class;
13381 gpointer _gst_reserved[4];
13383 void gst_task_cleanup_all (void);
13384 GType gst_task_get_type (void);
13385 GstTask* gst_task_create (GstTaskFunction func, gpointer data);
13386 void gst_task_set_lock (GstTask *task, GStaticRecMutex *mutex);
13387 void gst_task_set_priority (GstTask *task, GThreadPriority priority);
13388 GstTaskPool * gst_task_get_pool (GstTask *task);
13389 void gst_task_set_pool (GstTask *task, GstTaskPool *pool);
13390 void gst_task_set_thread_callbacks (GstTask *task,
13391 GstTaskThreadCallbacks *callbacks,
13392 gpointer user_data,
13393 GDestroyNotify notify);
13394 GstTaskState gst_task_get_state (GstTask *task);
13395 gboolean gst_task_set_state (GstTask *task, GstTaskState state);
13396 gboolean gst_task_start (GstTask *task);
13397 gboolean gst_task_stop (GstTask *task);
13398 gboolean gst_task_pause (GstTask *task);
13399 gboolean gst_task_join (GstTask *task);
13400 typedef struct _GstPad GstPad;
13401 typedef struct _GstPadPrivate GstPadPrivate;
13402 typedef struct _GstPadClass GstPadClass;
13404 GST_PAD_LINK_OK = 0,
13405 GST_PAD_LINK_WRONG_HIERARCHY = -1,
13406 GST_PAD_LINK_WAS_LINKED = -2,
13407 GST_PAD_LINK_WRONG_DIRECTION = -3,
13408 GST_PAD_LINK_NOFORMAT = -4,
13409 GST_PAD_LINK_NOSCHED = -5,
13410 GST_PAD_LINK_REFUSED = -6
13411 } GstPadLinkReturn;
13413 GST_FLOW_CUSTOM_SUCCESS = 100,
13414 GST_FLOW_RESEND = 1,
13416 GST_FLOW_NOT_LINKED = -1,
13417 GST_FLOW_WRONG_STATE = -2,
13418 GST_FLOW_UNEXPECTED = -3,
13419 GST_FLOW_NOT_NEGOTIATED = -4,
13420 GST_FLOW_ERROR = -5,
13421 GST_FLOW_NOT_SUPPORTED = -6,
13422 GST_FLOW_CUSTOM_ERROR = -100
13424 const gchar* gst_flow_get_name (GstFlowReturn ret);
13425 GQuark gst_flow_to_quark (GstFlowReturn ret);
13431 typedef gboolean (*GstPadActivateFunction) (GstPad *pad);
13432 typedef gboolean (*GstPadActivateModeFunction) (GstPad *pad, gboolean active);
13433 typedef GstFlowReturn (*GstPadChainFunction) (GstPad *pad, GstBuffer *buffer);
13434 typedef GstFlowReturn (*GstPadChainListFunction) (GstPad *pad, GstBufferList *list);
13435 typedef GstFlowReturn (*GstPadGetRangeFunction) (GstPad *pad, guint64 offset,
13436 guint length, GstBuffer **buffer);
13437 typedef gboolean (*GstPadEventFunction) (GstPad *pad, GstEvent *event);
13438 typedef gboolean (*GstPadCheckGetRangeFunction) (GstPad *pad);
13439 typedef GList* (*GstPadIntLinkFunction) (GstPad *pad);
13440 typedef GstIterator* (*GstPadIterIntLinkFunction) (GstPad *pad);
13441 typedef const GstQueryType* (*GstPadQueryTypeFunction) (GstPad *pad);
13442 typedef gboolean (*GstPadQueryFunction) (GstPad *pad, GstQuery *query);
13443 typedef GstPadLinkReturn (*GstPadLinkFunction) (GstPad *pad, GstPad *peer);
13444 typedef void (*GstPadUnlinkFunction) (GstPad *pad);
13445 typedef GstCaps* (*GstPadGetCapsFunction) (GstPad *pad);
13446 typedef gboolean (*GstPadSetCapsFunction) (GstPad *pad, GstCaps *caps);
13447 typedef gboolean (*GstPadAcceptCapsFunction) (GstPad *pad, GstCaps *caps);
13448 typedef void (*GstPadFixateCapsFunction) (GstPad *pad, GstCaps *caps);
13449 typedef GstFlowReturn (*GstPadBufferAllocFunction) (GstPad *pad, guint64 offset, guint size,
13450 GstCaps *caps, GstBuffer **buf);
13451 typedef gboolean (*GstPadDispatcherFunction) (GstPad *pad, gpointer data);
13452 typedef void (*GstPadBlockCallback) (GstPad *pad, gboolean blocked, gpointer user_data);
13459 GST_PAD_BLOCKED = (GST_OBJECT_FLAG_LAST << 0),
13460 GST_PAD_FLUSHING = (GST_OBJECT_FLAG_LAST << 1),
13461 GST_PAD_IN_GETCAPS = (GST_OBJECT_FLAG_LAST << 2),
13462 GST_PAD_IN_SETCAPS = (GST_OBJECT_FLAG_LAST << 3),
13463 GST_PAD_BLOCKING = (GST_OBJECT_FLAG_LAST << 4),
13464 GST_PAD_FLAG_LAST = (GST_OBJECT_FLAG_LAST << 8)
13466 typedef struct _GstPadTemplate GstPadTemplate;
13469 gpointer element_private;
13470 GstPadTemplate *padtemplate;
13471 GstPadDirection direction;
13472 GStaticRecMutex *stream_rec_lock;
13474 GMutex *preroll_lock;
13475 GCond *preroll_cond;
13477 GstPadBlockCallback block_callback;
13478 gpointer block_data;
13480 GstPadGetCapsFunction getcapsfunc;
13481 GstPadSetCapsFunction setcapsfunc;
13482 GstPadAcceptCapsFunction acceptcapsfunc;
13483 GstPadFixateCapsFunction fixatecapsfunc;
13484 GstPadActivateFunction activatefunc;
13485 GstPadActivateModeFunction activatepushfunc;
13486 GstPadActivateModeFunction activatepullfunc;
13487 GstPadLinkFunction linkfunc;
13488 GstPadUnlinkFunction unlinkfunc;
13490 gpointer sched_private;
13491 GstPadChainFunction chainfunc;
13492 GstPadCheckGetRangeFunction checkgetrangefunc;
13493 GstPadGetRangeFunction getrangefunc;
13494 GstPadEventFunction eventfunc;
13495 GstActivateMode mode;
13496 GstPadQueryTypeFunction querytypefunc;
13497 GstPadQueryFunction queryfunc;
13498 GstPadIntLinkFunction intlinkfunc;
13499 GstPadBufferAllocFunction bufferallocfunc;
13500 gint do_buffer_signals;
13501 gint do_event_signals;
13502 GstPadIterIntLinkFunction iterintlinkfunc;
13503 GDestroyNotify block_destroy_data;
13506 gboolean block_callback_called;
13507 GstPadPrivate *priv;
13509 gpointer _gst_reserved[4 - 2];
13512 struct _GstPadClass {
13513 GstObjectClass parent_class;
13514 void (*linked) (GstPad *pad, GstPad *peer);
13515 void (*unlinked) (GstPad *pad, GstPad *peer);
13516 void (*request_link) (GstPad *pad);
13517 gboolean (*have_data) (GstPad *pad, GstMiniObject *data);
13518 gpointer _gst_reserved[4];
13520 typedef struct _GstPadTemplateClass GstPadTemplateClass;
13521 typedef struct _GstStaticPadTemplate GstStaticPadTemplate;
13528 GST_PAD_TEMPLATE_FIXED = (GST_OBJECT_FLAG_LAST << 0),
13529 GST_PAD_TEMPLATE_FLAG_LAST = (GST_OBJECT_FLAG_LAST << 4)
13530 } GstPadTemplateFlags;
13531 struct _GstPadTemplate {
13533 gchar *name_template;
13534 GstPadDirection direction;
13535 GstPadPresence presence;
13537 gpointer _gst_reserved[4];
13539 struct _GstPadTemplateClass {
13540 GstObjectClass parent_class;
13541 void (*pad_created) (GstPadTemplate *templ, GstPad *pad);
13542 gpointer _gst_reserved[4];
13544 struct _GstStaticPadTemplate {
13545 const gchar *name_template;
13546 GstPadDirection direction;
13547 GstPadPresence presence;
13548 GstStaticCaps static_caps;
13550 GType gst_pad_template_get_type (void);
13551 GType gst_static_pad_template_get_type (void);
13552 GstPadTemplate* gst_pad_template_new (const gchar *name_template,
13553 GstPadDirection direction, GstPadPresence presence,
13555 GstPadTemplate * gst_static_pad_template_get (GstStaticPadTemplate *pad_template);
13556 GstCaps* gst_static_pad_template_get_caps (GstStaticPadTemplate *templ);
13557 GstCaps* gst_pad_template_get_caps (GstPadTemplate *templ);
13558 void gst_pad_template_pad_created (GstPadTemplate * templ, GstPad * pad);
13559 GType gst_pad_get_type (void);
13560 GstPad* gst_pad_new (const gchar *name, GstPadDirection direction);
13561 GstPad* gst_pad_new_from_template (GstPadTemplate *templ, const gchar *name);
13562 GstPad* gst_pad_new_from_static_template (GstStaticPadTemplate *templ, const gchar *name);
13563 GstPadDirection gst_pad_get_direction (GstPad *pad);
13564 gboolean gst_pad_set_active (GstPad *pad, gboolean active);
13565 gboolean gst_pad_is_active (GstPad *pad);
13566 gboolean gst_pad_activate_pull (GstPad *pad, gboolean active);
13567 gboolean gst_pad_activate_push (GstPad *pad, gboolean active);
13568 gboolean gst_pad_set_blocked (GstPad *pad, gboolean blocked);
13569 gboolean gst_pad_set_blocked_async (GstPad *pad, gboolean blocked,
13570 GstPadBlockCallback callback, gpointer user_data);
13571 gboolean gst_pad_set_blocked_async_full (GstPad *pad, gboolean blocked,
13572 GstPadBlockCallback callback, gpointer user_data,
13573 GDestroyNotify destroy_data);
13574 gboolean gst_pad_is_blocked (GstPad *pad);
13575 gboolean gst_pad_is_blocking (GstPad *pad);
13576 void gst_pad_set_element_private (GstPad *pad, gpointer priv);
13577 gpointer gst_pad_get_element_private (GstPad *pad);
13578 GstPadTemplate* gst_pad_get_pad_template (GstPad *pad);
13579 void gst_pad_set_bufferalloc_function (GstPad *pad, GstPadBufferAllocFunction bufalloc);
13580 GstFlowReturn gst_pad_alloc_buffer (GstPad *pad, guint64 offset, gint size,
13581 GstCaps *caps, GstBuffer **buf);
13582 GstFlowReturn gst_pad_alloc_buffer_and_set_caps (GstPad *pad, guint64 offset, gint size,
13583 GstCaps *caps, GstBuffer **buf);
13584 void gst_pad_set_activate_function (GstPad *pad, GstPadActivateFunction activate);
13585 void gst_pad_set_activatepull_function (GstPad *pad, GstPadActivateModeFunction activatepull);
13586 void gst_pad_set_activatepush_function (GstPad *pad, GstPadActivateModeFunction activatepush);
13587 void gst_pad_set_chain_function (GstPad *pad, GstPadChainFunction chain);
13588 void gst_pad_set_chain_list_function (GstPad *pad, GstPadChainListFunction chainlist);
13589 void gst_pad_set_getrange_function (GstPad *pad, GstPadGetRangeFunction get);
13590 void gst_pad_set_checkgetrange_function (GstPad *pad, GstPadCheckGetRangeFunction check);
13591 void gst_pad_set_event_function (GstPad *pad, GstPadEventFunction event);
13592 void gst_pad_set_link_function (GstPad *pad, GstPadLinkFunction link);
13593 void gst_pad_set_unlink_function (GstPad *pad, GstPadUnlinkFunction unlink);
13594 gboolean gst_pad_can_link (GstPad *srcpad, GstPad *sinkpad);
13595 GstPadLinkReturn gst_pad_link (GstPad *srcpad, GstPad *sinkpad);
13596 gboolean gst_pad_unlink (GstPad *srcpad, GstPad *sinkpad);
13597 gboolean gst_pad_is_linked (GstPad *pad);
13598 GstPad* gst_pad_get_peer (GstPad *pad);
13599 void gst_pad_set_getcaps_function (GstPad *pad, GstPadGetCapsFunction getcaps);
13600 void gst_pad_set_acceptcaps_function (GstPad *pad, GstPadAcceptCapsFunction acceptcaps);
13601 void gst_pad_set_fixatecaps_function (GstPad *pad, GstPadFixateCapsFunction fixatecaps);
13602 void gst_pad_set_setcaps_function (GstPad *pad, GstPadSetCapsFunction setcaps);
13603 const GstCaps* gst_pad_get_pad_template_caps (GstPad *pad);
13604 GstCaps * gst_pad_get_caps (GstPad * pad);
13605 void gst_pad_fixate_caps (GstPad * pad, GstCaps *caps);
13606 gboolean gst_pad_accept_caps (GstPad * pad, GstCaps *caps);
13607 gboolean gst_pad_set_caps (GstPad * pad, GstCaps *caps);
13608 GstCaps * gst_pad_peer_get_caps (GstPad * pad);
13609 gboolean gst_pad_peer_accept_caps (GstPad * pad, GstCaps *caps);
13610 GstCaps * gst_pad_get_allowed_caps (GstPad * pad);
13611 GstCaps * gst_pad_get_negotiated_caps (GstPad * pad);
13612 GstFlowReturn gst_pad_push (GstPad *pad, GstBuffer *buffer);
13613 GstFlowReturn gst_pad_push_list (GstPad *pad, GstBufferList *list);
13614 gboolean gst_pad_check_pull_range (GstPad *pad);
13615 GstFlowReturn gst_pad_pull_range (GstPad *pad, guint64 offset, guint size,
13616 GstBuffer **buffer);
13617 gboolean gst_pad_push_event (GstPad *pad, GstEvent *event);
13618 gboolean gst_pad_event_default (GstPad *pad, GstEvent *event);
13619 GstFlowReturn gst_pad_chain (GstPad *pad, GstBuffer *buffer);
13620 GstFlowReturn gst_pad_chain_list (GstPad *pad, GstBufferList *list);
13621 GstFlowReturn gst_pad_get_range (GstPad *pad, guint64 offset, guint size,
13622 GstBuffer **buffer);
13623 gboolean gst_pad_send_event (GstPad *pad, GstEvent *event);
13624 gboolean gst_pad_start_task (GstPad *pad, GstTaskFunction func,
13626 gboolean gst_pad_pause_task (GstPad *pad);
13627 gboolean gst_pad_stop_task (GstPad *pad);
13628 void gst_pad_set_internal_link_function (GstPad *pad, GstPadIntLinkFunction intlink);
13629 GList* gst_pad_get_internal_links (GstPad *pad);
13630 GList* gst_pad_get_internal_links_default (GstPad *pad);
13631 void gst_pad_set_iterate_internal_links_function (GstPad * pad,
13632 GstPadIterIntLinkFunction iterintlink);
13633 GstIterator * gst_pad_iterate_internal_links (GstPad * pad);
13634 GstIterator * gst_pad_iterate_internal_links_default (GstPad * pad);
13635 void gst_pad_set_query_type_function (GstPad *pad, GstPadQueryTypeFunction type_func);
13636 const GstQueryType*
13637 gst_pad_get_query_types (GstPad *pad);
13638 const GstQueryType*
13639 gst_pad_get_query_types_default (GstPad *pad);
13640 gboolean gst_pad_query (GstPad *pad, GstQuery *query);
13641 gboolean gst_pad_peer_query (GstPad *pad, GstQuery *query);
13642 void gst_pad_set_query_function (GstPad *pad, GstPadQueryFunction query);
13643 gboolean gst_pad_query_default (GstPad *pad, GstQuery *query);
13644 gboolean gst_pad_dispatcher (GstPad *pad, GstPadDispatcherFunction dispatch,
13646 void gst_pad_load_and_link (xmlNodePtr self, GstObject *parent);
13647 typedef struct _GstBus GstBus;
13648 typedef struct _GstBusPrivate GstBusPrivate;
13649 typedef struct _GstBusClass GstBusClass;
13650 typedef struct _GstMessage GstMessage;
13651 typedef struct _GstMessageClass GstMessageClass;
13654 GST_MESSAGE_UNKNOWN = 0,
13655 GST_MESSAGE_EOS = (1 << 0),
13656 GST_MESSAGE_ERROR = (1 << 1),
13657 GST_MESSAGE_WARNING = (1 << 2),
13658 GST_MESSAGE_INFO = (1 << 3),
13659 GST_MESSAGE_TAG = (1 << 4),
13660 GST_MESSAGE_BUFFERING = (1 << 5),
13661 GST_MESSAGE_STATE_CHANGED = (1 << 6),
13662 GST_MESSAGE_STATE_DIRTY = (1 << 7),
13663 GST_MESSAGE_STEP_DONE = (1 << 8),
13664 GST_MESSAGE_CLOCK_PROVIDE = (1 << 9),
13665 GST_MESSAGE_CLOCK_LOST = (1 << 10),
13666 GST_MESSAGE_NEW_CLOCK = (1 << 11),
13667 GST_MESSAGE_STRUCTURE_CHANGE = (1 << 12),
13668 GST_MESSAGE_STREAM_STATUS = (1 << 13),
13669 GST_MESSAGE_APPLICATION = (1 << 14),
13670 GST_MESSAGE_ELEMENT = (1 << 15),
13671 GST_MESSAGE_SEGMENT_START = (1 << 16),
13672 GST_MESSAGE_SEGMENT_DONE = (1 << 17),
13673 GST_MESSAGE_DURATION = (1 << 18),
13674 GST_MESSAGE_LATENCY = (1 << 19),
13675 GST_MESSAGE_ASYNC_START = (1 << 20),
13676 GST_MESSAGE_ASYNC_DONE = (1 << 21),
13677 GST_MESSAGE_REQUEST_STATE = (1 << 22),
13678 GST_MESSAGE_STEP_START = (1 << 23),
13679 GST_MESSAGE_ANY = ~0
13682 GST_STRUCTURE_CHANGE_TYPE_PAD_LINK = 0,
13683 GST_STRUCTURE_CHANGE_TYPE_PAD_UNLINK = 1
13684 } GstStructureChangeType;
13686 GST_STREAM_STATUS_TYPE_CREATE = 0,
13687 GST_STREAM_STATUS_TYPE_ENTER = 1,
13688 GST_STREAM_STATUS_TYPE_LEAVE = 2,
13689 GST_STREAM_STATUS_TYPE_DESTROY = 3,
13690 GST_STREAM_STATUS_TYPE_START = 8,
13691 GST_STREAM_STATUS_TYPE_PAUSE = 9,
13692 GST_STREAM_STATUS_TYPE_STOP = 10
13693 } GstStreamStatusType;
13696 GstMiniObject mini_object;
13699 GstMessageType type;
13702 GstStructure *structure;
13707 gpointer _gst_reserved[4 + 0];
13710 struct _GstMessageClass {
13711 GstMiniObjectClass mini_object_class;
13712 gpointer _gst_reserved[4];
13714 GType gst_message_get_type (void);
13715 const gchar* gst_message_type_get_name (GstMessageType type);
13716 GQuark gst_message_type_to_quark (GstMessageType type);
13717 static inline GstMessage *
13718 gst_message_ref (GstMessage * msg)
13720 return (GstMessage *) gst_mini_object_ref (((((GstMiniObject*) g_type_check_instance_cast ((GTypeInstance*) ((msg)), ((gst_mini_object_get_type())))))));
13723 gst_message_unref (GstMessage * msg)
13725 gst_mini_object_unref (((GstMiniObject*)(msg)));
13727 static inline GstMessage *
13728 gst_message_copy (const GstMessage * msg)
13730 return ((((GstMessage*) g_type_check_instance_cast ((GTypeInstance*) ((gst_mini_object_copy (((GstMiniObject*)(msg))))), ((gst_message_get_type()))))));
13732 guint32 gst_message_get_seqnum (GstMessage *message);
13733 void gst_message_set_seqnum (GstMessage *message, guint32 seqnum);
13734 GstMessage * gst_message_new_eos (GstObject * src);
13735 GstMessage * gst_message_new_error (GstObject * src, GError * error, const gchar * debug);
13736 void gst_message_parse_error (GstMessage *message, GError **gerror, gchar **debug);
13737 GstMessage * gst_message_new_warning (GstObject * src, GError * error, const gchar * debug);
13738 void gst_message_parse_warning (GstMessage *message, GError **gerror, gchar **debug);
13739 GstMessage * gst_message_new_info (GstObject * src, GError * error, const gchar * debug);
13740 void gst_message_parse_info (GstMessage *message, GError **gerror, gchar **debug);
13741 GstMessage * gst_message_new_tag (GstObject * src, GstTagList * tag_list);
13742 GstMessage * gst_message_new_tag_full (GstObject * src, GstPad *pad, GstTagList * tag_list);
13743 void gst_message_parse_tag (GstMessage *message, GstTagList **tag_list);
13744 void gst_message_parse_tag_full (GstMessage *message, GstPad **pad, GstTagList **tag_list);
13745 GstMessage * gst_message_new_buffering (GstObject * src, gint percent);
13746 void gst_message_parse_buffering (GstMessage *message, gint *percent);
13747 void gst_message_set_buffering_stats (GstMessage *message, GstBufferingMode mode,
13748 gint avg_in, gint avg_out,
13749 gint64 buffering_left);
13750 void gst_message_parse_buffering_stats (GstMessage *message, GstBufferingMode *mode,
13751 gint *avg_in, gint *avg_out,
13752 gint64 *buffering_left);
13753 GstMessage * gst_message_new_state_changed (GstObject * src, GstState oldstate,
13754 GstState newstate, GstState pending);
13755 void gst_message_parse_state_changed (GstMessage *message, GstState *oldstate,
13756 GstState *newstate, GstState *pending);
13757 GstMessage * gst_message_new_state_dirty (GstObject * src);
13758 GstMessage * gst_message_new_step_done (GstObject * src, GstFormat format, guint64 amount,
13759 gdouble rate, gboolean flush, gboolean intermediate,
13760 guint64 duration, gboolean eos);
13761 void gst_message_parse_step_done (GstMessage * message, GstFormat *format, guint64 *amount,
13762 gdouble *rate, gboolean *flush, gboolean *intermediate,
13763 guint64 *duration, gboolean *eos);
13764 GstMessage * gst_message_new_clock_provide (GstObject * src, GstClock *clock, gboolean ready);
13765 void gst_message_parse_clock_provide (GstMessage *message, GstClock **clock,
13767 GstMessage * gst_message_new_clock_lost (GstObject * src, GstClock *clock);
13768 void gst_message_parse_clock_lost (GstMessage *message, GstClock **clock);
13769 GstMessage * gst_message_new_new_clock (GstObject * src, GstClock *clock);
13770 void gst_message_parse_new_clock (GstMessage *message, GstClock **clock);
13771 GstMessage * gst_message_new_application (GstObject * src, GstStructure * structure);
13772 GstMessage * gst_message_new_element (GstObject * src, GstStructure * structure);
13773 GstMessage * gst_message_new_segment_start (GstObject * src, GstFormat format, gint64 position);
13774 void gst_message_parse_segment_start (GstMessage *message, GstFormat *format,
13776 GstMessage * gst_message_new_segment_done (GstObject * src, GstFormat format, gint64 position);
13777 void gst_message_parse_segment_done (GstMessage *message, GstFormat *format,
13779 GstMessage * gst_message_new_duration (GstObject * src, GstFormat format, gint64 duration);
13780 void gst_message_parse_duration (GstMessage *message, GstFormat *format,
13782 GstMessage * gst_message_new_latency (GstObject * src);
13783 GstMessage * gst_message_new_async_start (GstObject * src, gboolean new_base_time);
13784 void gst_message_parse_async_start (GstMessage *message, gboolean *new_base_time);
13785 GstMessage * gst_message_new_async_done (GstObject * src);
13786 GstMessage * gst_message_new_structure_change (GstObject * src, GstStructureChangeType type,
13787 GstElement *owner, gboolean busy);
13788 void gst_message_parse_structure_change (GstMessage *message, GstStructureChangeType *type,
13789 GstElement **owner, gboolean *busy);
13790 GstMessage * gst_message_new_stream_status (GstObject * src, GstStreamStatusType type,
13791 GstElement *owner);
13792 void gst_message_parse_stream_status (GstMessage *message, GstStreamStatusType *type,
13793 GstElement **owner);
13794 void gst_message_set_stream_status_object (GstMessage *message, const GValue *object);
13795 const GValue * gst_message_get_stream_status_object (GstMessage *message);
13796 GstMessage * gst_message_new_request_state (GstObject * src, GstState state);
13797 void gst_message_parse_request_state (GstMessage * message, GstState *state);
13798 GstMessage * gst_message_new_step_start (GstObject * src, gboolean active, GstFormat format,
13799 guint64 amount, gdouble rate, gboolean flush,
13800 gboolean intermediate);
13801 void gst_message_parse_step_start (GstMessage * message, gboolean *active, GstFormat *format,
13802 guint64 *amount, gdouble *rate, gboolean *flush,
13803 gboolean *intermediate);
13804 GstMessage * gst_message_new_custom (GstMessageType type,
13806 GstStructure * structure);
13807 const GstStructure * gst_message_get_structure (GstMessage *message);
13809 GST_BUS_FLUSHING = (GST_OBJECT_FLAG_LAST << 0),
13810 GST_BUS_FLAG_LAST = (GST_OBJECT_FLAG_LAST << 1)
13818 typedef GstBusSyncReply (*GstBusSyncHandler) (GstBus * bus, GstMessage * message, gpointer data);
13819 typedef gboolean (*GstBusFunc) (GstBus * bus, GstMessage * message, gpointer data);
13824 GMutex *queue_lock;
13825 GstBusSyncHandler sync_handler;
13826 gpointer sync_handler_data;
13827 guint signal_watch_id;
13828 guint num_signal_watchers;
13829 GstBusPrivate *priv;
13830 gpointer _gst_reserved[4 - 1];
13832 struct _GstBusClass
13834 GstObjectClass parent_class;
13835 void (*message) (GstBus *bus, GstMessage *message);
13836 void (*sync_message) (GstBus *bus, GstMessage *message);
13837 gpointer _gst_reserved[4];
13839 GType gst_bus_get_type (void);
13840 GstBus* gst_bus_new (void);
13841 gboolean gst_bus_post (GstBus * bus, GstMessage * message);
13842 gboolean gst_bus_have_pending (GstBus * bus);
13843 GstMessage * gst_bus_peek (GstBus * bus);
13844 GstMessage * gst_bus_pop (GstBus * bus);
13845 GstMessage * gst_bus_pop_filtered (GstBus * bus, GstMessageType types);
13846 GstMessage * gst_bus_timed_pop (GstBus * bus, GstClockTime timeout);
13847 GstMessage * gst_bus_timed_pop_filtered (GstBus * bus, GstClockTime timeout, GstMessageType types);
13848 void gst_bus_set_flushing (GstBus * bus, gboolean flushing);
13849 void gst_bus_set_sync_handler (GstBus * bus, GstBusSyncHandler func,
13851 GSource * gst_bus_create_watch (GstBus * bus);
13852 guint gst_bus_add_watch_full (GstBus * bus,
13855 gpointer user_data,
13856 GDestroyNotify notify);
13857 guint gst_bus_add_watch (GstBus * bus,
13859 gpointer user_data);
13860 GstMessage* gst_bus_poll (GstBus *bus, GstMessageType events,
13861 GstClockTimeDiff timeout);
13862 gboolean gst_bus_async_signal_func (GstBus *bus, GstMessage *message,
13864 GstBusSyncReply gst_bus_sync_signal_handler (GstBus *bus, GstMessage *message,
13866 void gst_bus_add_signal_watch (GstBus * bus);
13867 void gst_bus_add_signal_watch_full (GstBus * bus, gint priority);
13868 void gst_bus_remove_signal_watch (GstBus * bus);
13869 void gst_bus_enable_sync_message_emission (GstBus * bus);
13870 void gst_bus_disable_sync_message_emission (GstBus * bus);
13871 typedef struct _GstElementFactory GstElementFactory;
13872 typedef struct _GstElementFactoryClass GstElementFactoryClass;
13875 G_MODULE_BIND_LAZY = 1 << 0,
13876 G_MODULE_BIND_LOCAL = 1 << 1,
13877 G_MODULE_BIND_MASK = 0x03
13879 typedef struct _GModule GModule;
13880 typedef const gchar* (*GModuleCheckInit) (GModule *module);
13881 typedef void (*GModuleUnload) (GModule *module);
13882 gboolean g_module_supported (void) __attribute__((__const__));
13883 GModule* g_module_open (const gchar *file_name,
13884 GModuleFlags flags);
13885 gboolean g_module_close (GModule *module);
13886 void g_module_make_resident (GModule *module);
13887 const gchar* g_module_error (void);
13888 gboolean g_module_symbol (GModule *module,
13889 const gchar *symbol_name,
13891 const gchar* g_module_name (GModule *module);
13892 gchar* g_module_build_path (const gchar *directory,
13893 const gchar *module_name);
13894 typedef struct _GstPlugin GstPlugin;
13895 typedef struct _GstPluginClass GstPluginClass;
13896 typedef struct _GstPluginPrivate GstPluginPrivate;
13897 typedef struct _GstPluginDesc GstPluginDesc;
13898 GQuark gst_plugin_error_quark (void);
13901 GST_PLUGIN_ERROR_MODULE,
13902 GST_PLUGIN_ERROR_DEPENDENCIES,
13903 GST_PLUGIN_ERROR_NAME_MISMATCH
13907 GST_PLUGIN_FLAG_CACHED = (1<<0)
13910 GST_PLUGIN_DEPENDENCY_FLAG_NONE = 0,
13911 GST_PLUGIN_DEPENDENCY_FLAG_RECURSE = (1 << 0),
13912 GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_DEFAULT_ONLY = (1 << 1),
13913 GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_SUFFIX = (1 << 2)
13914 } GstPluginDependencyFlags;
13915 typedef gboolean (*GstPluginInitFunc) (GstPlugin *plugin);
13916 typedef gboolean (*GstPluginInitFullFunc) (GstPlugin *plugin, gpointer user_data);
13917 struct _GstPluginDesc {
13918 gint major_version;
13919 gint minor_version;
13921 gchar *description;
13922 GstPluginInitFunc plugin_init;
13923 const gchar *version;
13924 const gchar *license;
13925 const gchar *source;
13926 const gchar *package;
13927 const gchar *origin;
13928 gpointer _gst_reserved[4];
13930 struct _GstPlugin {
13932 GstPluginDesc desc;
13933 GstPluginDesc *orig_desc;
13934 unsigned int flags;
13940 gboolean registered;
13941 GstPluginPrivate *priv;
13942 gpointer _gst_reserved[4 - 1];
13944 struct _GstPluginClass {
13945 GstObjectClass object_class;
13946 gpointer _gst_reserved[4];
13948 typedef gboolean (*GstPluginFilter) (GstPlugin *plugin,
13949 gpointer user_data);
13950 GType gst_plugin_get_type (void);
13951 void _gst_plugin_register_static (GstPluginDesc *desc);
13952 gboolean gst_plugin_register_static (gint major_version,
13953 gint minor_version,
13955 gchar *description,
13956 GstPluginInitFunc init_func,
13957 const gchar *version,
13958 const gchar *license,
13959 const gchar *source,
13960 const gchar *package,
13961 const gchar *origin);
13962 gboolean gst_plugin_register_static_full (gint major_version,
13963 gint minor_version,
13965 gchar *description,
13966 GstPluginInitFullFunc init_full_func,
13967 const gchar *version,
13968 const gchar *license,
13969 const gchar *source,
13970 const gchar *package,
13971 const gchar *origin,
13972 gpointer user_data);
13973 const gchar* gst_plugin_get_name (GstPlugin *plugin);
13974 const gchar* gst_plugin_get_description (GstPlugin *plugin);
13975 const gchar* gst_plugin_get_filename (GstPlugin *plugin);
13976 const gchar* gst_plugin_get_version (GstPlugin *plugin);
13977 const gchar* gst_plugin_get_license (GstPlugin *plugin);
13978 const gchar* gst_plugin_get_source (GstPlugin *plugin);
13979 const gchar* gst_plugin_get_package (GstPlugin *plugin);
13980 const gchar* gst_plugin_get_origin (GstPlugin *plugin);
13981 const GstStructure* gst_plugin_get_cache_data (GstPlugin * plugin);
13982 void gst_plugin_set_cache_data (GstPlugin * plugin, GstStructure *cache_data);
13983 GModule * gst_plugin_get_module (GstPlugin *plugin);
13984 gboolean gst_plugin_is_loaded (GstPlugin *plugin);
13985 gboolean gst_plugin_name_filter (GstPlugin *plugin, const gchar *name);
13986 GstPlugin * gst_plugin_load_file (const gchar *filename, GError** error);
13987 GstPlugin * gst_plugin_load (GstPlugin *plugin);
13988 GstPlugin * gst_plugin_load_by_name (const gchar *name);
13989 void gst_plugin_add_dependency (GstPlugin * plugin,
13990 const gchar ** env_vars,
13991 const gchar ** paths,
13992 const gchar ** names,
13993 GstPluginDependencyFlags flags);
13994 void gst_plugin_add_dependency_simple (GstPlugin * plugin,
13995 const gchar * env_vars,
13996 const gchar * paths,
13997 const gchar * names,
13998 GstPluginDependencyFlags flags);
13999 void gst_plugin_list_free (GList *list);
14000 typedef struct _GstPluginFeature GstPluginFeature;
14001 typedef struct _GstPluginFeatureClass GstPluginFeatureClass;
14004 GST_RANK_MARGINAL = 64,
14005 GST_RANK_SECONDARY = 128,
14006 GST_RANK_PRIMARY = 256
14008 struct _GstPluginFeature {
14013 const gchar *plugin_name;
14014 gpointer _gst_reserved[4];
14016 struct _GstPluginFeatureClass {
14017 GstObjectClass parent_class;
14018 gpointer _gst_reserved[4];
14024 typedef gboolean (*GstPluginFeatureFilter) (GstPluginFeature *feature,
14025 gpointer user_data);
14026 GType gst_plugin_feature_get_type (void);
14028 gst_plugin_feature_load (GstPluginFeature *feature);
14029 gboolean gst_plugin_feature_type_name_filter (GstPluginFeature *feature,
14030 GstTypeNameData *data);
14031 void gst_plugin_feature_set_rank (GstPluginFeature *feature, guint rank);
14032 void gst_plugin_feature_set_name (GstPluginFeature *feature, const gchar *name);
14033 guint gst_plugin_feature_get_rank (GstPluginFeature *feature);
14034 const gchar *gst_plugin_feature_get_name (GstPluginFeature *feature);
14035 void gst_plugin_feature_list_free (GList *list);
14036 gboolean gst_plugin_feature_check_version (GstPluginFeature *feature,
14040 typedef struct _GstElementDetails GstElementDetails;
14041 struct _GstElementDetails
14045 gchar *description;
14047 gpointer _gst_reserved[4];
14049 struct _GstElementFactory {
14050 GstPluginFeature parent;
14052 GstElementDetails details;
14053 GList * staticpadtemplates;
14054 guint numpadtemplates;
14056 gchar ** uri_protocols;
14057 GList * interfaces;
14058 gpointer _gst_reserved[4];
14060 struct _GstElementFactoryClass {
14061 GstPluginFeatureClass parent_class;
14062 gpointer _gst_reserved[4];
14064 GType gst_element_factory_get_type (void);
14065 GstElementFactory * gst_element_factory_find (const gchar *name);
14066 GType gst_element_factory_get_element_type (GstElementFactory *factory);
14067 const gchar * gst_element_factory_get_longname (GstElementFactory *factory);
14068 const gchar * gst_element_factory_get_klass (GstElementFactory *factory);
14069 const gchar * gst_element_factory_get_description (GstElementFactory *factory);
14070 const gchar * gst_element_factory_get_author (GstElementFactory *factory);
14071 guint gst_element_factory_get_num_pad_templates (GstElementFactory *factory);
14072 const GList * gst_element_factory_get_static_pad_templates (GstElementFactory *factory);
14073 gint gst_element_factory_get_uri_type (GstElementFactory *factory);
14074 gchar ** gst_element_factory_get_uri_protocols (GstElementFactory *factory);
14075 gboolean gst_element_factory_has_interface (GstElementFactory *factory,
14076 const gchar *interfacename);
14077 GstElement* gst_element_factory_create (GstElementFactory *factory,
14078 const gchar *name);
14079 GstElement* gst_element_factory_make (const gchar *factoryname, const gchar *name);
14080 void __gst_element_factory_add_static_pad_template (GstElementFactory *elementfactory,
14081 GstStaticPadTemplate *templ);
14082 void __gst_element_factory_add_interface (GstElementFactory *elementfactory,
14083 const gchar *interfacename);
14084 gboolean gst_element_register (GstPlugin *plugin, const gchar *name,
14085 guint rank, GType type);
14086 typedef struct _GstIndexEntry GstIndexEntry;
14087 typedef struct _GstIndexGroup GstIndexGroup;
14088 typedef struct _GstIndex GstIndex;
14089 typedef struct _GstIndexClass GstIndexClass;
14094 } GstIndexCertainty;
14096 GST_INDEX_ENTRY_ID,
14097 GST_INDEX_ENTRY_ASSOCIATION,
14098 GST_INDEX_ENTRY_OBJECT,
14099 GST_INDEX_ENTRY_FORMAT
14100 } GstIndexEntryType;
14102 GST_INDEX_LOOKUP_EXACT,
14103 GST_INDEX_LOOKUP_BEFORE,
14104 GST_INDEX_LOOKUP_AFTER
14105 } GstIndexLookupMethod;
14106 typedef struct _GstIndexAssociation GstIndexAssociation;
14107 struct _GstIndexAssociation {
14112 GST_ASSOCIATION_FLAG_NONE = 0,
14113 GST_ASSOCIATION_FLAG_KEY_UNIT = (1 << 0),
14114 GST_ASSOCIATION_FLAG_DELTA_UNIT = (1 << 1),
14115 GST_ASSOCIATION_FLAG_LAST = (1 << 8)
14117 struct _GstIndexEntry {
14118 GstIndexEntryType type;
14122 gchar *description;
14126 GstIndexAssociation
14128 GstAssocFlags flags;
14141 struct _GstIndexGroup {
14144 GstIndexCertainty certainty;
14147 typedef gboolean (*GstIndexFilter) (GstIndex *index,
14148 GstIndexEntry *entry,
14149 gpointer user_data);
14151 GST_INDEX_RESOLVER_CUSTOM,
14152 GST_INDEX_RESOLVER_GTYPE,
14153 GST_INDEX_RESOLVER_PATH
14154 } GstIndexResolverMethod;
14155 typedef gboolean (*GstIndexResolver) (GstIndex *index,
14157 gchar **writer_string,
14158 gpointer user_data);
14160 GST_INDEX_WRITABLE = (GST_OBJECT_FLAG_LAST << 0),
14161 GST_INDEX_READABLE = (GST_OBJECT_FLAG_LAST << 1),
14162 GST_INDEX_FLAG_LAST = (GST_OBJECT_FLAG_LAST << 8)
14167 GstIndexGroup *curgroup;
14169 GstIndexResolverMethod method;
14170 GstIndexResolver resolver;
14171 gpointer resolver_user_data;
14172 GstIndexFilter filter;
14173 gpointer filter_user_data;
14174 GDestroyNotify filter_user_data_destroy;
14175 GHashTable *writers;
14177 GDestroyNotify resolver_user_data_destroy;
14178 gpointer _gst_reserved[4 - 1];
14180 struct _GstIndexClass {
14181 GstObjectClass parent_class;
14182 gboolean (*get_writer_id) (GstIndex *index, gint *writer_id, gchar *writer_string);
14183 void (*commit) (GstIndex *index, gint id);
14184 void (*add_entry) (GstIndex *index, GstIndexEntry *entry);
14185 GstIndexEntry* (*get_assoc_entry) (GstIndex *index, gint id,
14186 GstIndexLookupMethod method, GstAssocFlags flags,
14187 GstFormat format, gint64 value,
14188 GCompareDataFunc func,
14189 gpointer user_data);
14190 void (*entry_added) (GstIndex *index, GstIndexEntry *entry);
14191 gpointer _gst_reserved[4];
14193 GType gst_index_get_type (void);
14194 GstIndex* gst_index_new (void);
14195 void gst_index_commit (GstIndex *index, gint id);
14196 gint gst_index_get_group (GstIndex *index);
14197 gint gst_index_new_group (GstIndex *index);
14198 gboolean gst_index_set_group (GstIndex *index, gint groupnum);
14199 void gst_index_set_certainty (GstIndex *index,
14200 GstIndexCertainty certainty);
14201 GstIndexCertainty gst_index_get_certainty (GstIndex *index);
14202 void gst_index_set_filter (GstIndex *index,
14203 GstIndexFilter filter, gpointer user_data);
14204 void gst_index_set_filter_full (GstIndex *index,
14205 GstIndexFilter filter, gpointer user_data,
14206 GDestroyNotify user_data_destroy);
14207 void gst_index_set_resolver (GstIndex *index,
14208 GstIndexResolver resolver, gpointer user_data);
14209 void gst_index_set_resolver_full (GstIndex *index, GstIndexResolver resolver,
14210 gpointer user_data,
14211 GDestroyNotify user_data_destroy);
14212 gboolean gst_index_get_writer_id (GstIndex *index, GstObject *writer, gint *id);
14213 GstIndexEntry* gst_index_add_format (GstIndex *index, gint id, GstFormat format);
14214 GstIndexEntry* gst_index_add_associationv (GstIndex * index, gint id, GstAssocFlags flags,
14215 gint n, const GstIndexAssociation * list);
14216 GstIndexEntry* gst_index_add_association (GstIndex *index, gint id, GstAssocFlags flags,
14217 GstFormat format, gint64 value, ...);
14218 GstIndexEntry* gst_index_add_object (GstIndex *index, gint id, gchar *key,
14219 GType type, gpointer object);
14220 GstIndexEntry* gst_index_add_id (GstIndex *index, gint id,
14221 gchar *description);
14222 GstIndexEntry* gst_index_get_assoc_entry (GstIndex *index, gint id,
14223 GstIndexLookupMethod method, GstAssocFlags flags,
14224 GstFormat format, gint64 value);
14225 GstIndexEntry* gst_index_get_assoc_entry_full (GstIndex *index, gint id,
14226 GstIndexLookupMethod method, GstAssocFlags flags,
14227 GstFormat format, gint64 value,
14228 GCompareDataFunc func,
14229 gpointer user_data);
14230 GType gst_index_entry_get_type (void);
14231 GstIndexEntry * gst_index_entry_copy (GstIndexEntry *entry);
14232 void gst_index_entry_free (GstIndexEntry *entry);
14233 gboolean gst_index_entry_assoc_map (GstIndexEntry *entry,
14234 GstFormat format, gint64 *value);
14235 typedef struct _GstIndexFactory GstIndexFactory;
14236 typedef struct _GstIndexFactoryClass GstIndexFactoryClass;
14237 struct _GstIndexFactory {
14238 GstPluginFeature feature;
14241 gpointer _gst_reserved[4];
14243 struct _GstIndexFactoryClass {
14244 GstPluginFeatureClass parent;
14245 gpointer _gst_reserved[4];
14247 GType gst_index_factory_get_type (void);
14248 GstIndexFactory* gst_index_factory_new (const gchar *name,
14249 const gchar *longdesc, GType type);
14250 void gst_index_factory_destroy (GstIndexFactory *factory);
14251 GstIndexFactory* gst_index_factory_find (const gchar *name);
14252 GstIndex* gst_index_factory_create (GstIndexFactory *factory);
14253 GstIndex* gst_index_factory_make (const gchar *name);
14255 GST_STATE_CHANGE_FAILURE = 0,
14256 GST_STATE_CHANGE_SUCCESS = 1,
14257 GST_STATE_CHANGE_ASYNC = 2,
14258 GST_STATE_CHANGE_NO_PREROLL = 3
14259 } GstStateChangeReturn;
14262 GST_STATE_CHANGE_NULL_TO_READY = (GST_STATE_NULL<<3) | GST_STATE_READY,
14263 GST_STATE_CHANGE_READY_TO_PAUSED = (GST_STATE_READY<<3) | GST_STATE_PAUSED,
14264 GST_STATE_CHANGE_PAUSED_TO_PLAYING = (GST_STATE_PAUSED<<3) | GST_STATE_PLAYING,
14265 GST_STATE_CHANGE_PLAYING_TO_PAUSED = (GST_STATE_PLAYING<<3) | GST_STATE_PAUSED,
14266 GST_STATE_CHANGE_PAUSED_TO_READY = (GST_STATE_PAUSED<<3) | GST_STATE_READY,
14267 GST_STATE_CHANGE_READY_TO_NULL = (GST_STATE_READY<<3) | GST_STATE_NULL
14271 GST_ELEMENT_LOCKED_STATE = (GST_OBJECT_FLAG_LAST << 0),
14272 GST_ELEMENT_IS_SINK = (GST_OBJECT_FLAG_LAST << 1),
14273 GST_ELEMENT_UNPARENTING = (GST_OBJECT_FLAG_LAST << 2),
14274 GST_ELEMENT_FLAG_LAST = (GST_OBJECT_FLAG_LAST << 16)
14279 GStaticRecMutex *state_lock;
14281 guint32 state_cookie;
14282 GstState current_state;
14283 GstState next_state;
14284 GstState pending_state;
14285 GstStateChangeReturn last_return;
14288 GstClockTimeDiff base_time;
14291 guint16 numsrcpads;
14293 guint16 numsinkpads;
14295 guint32 pads_cookie;
14298 GstState target_state;
14299 GstClockTime start_time;
14301 gpointer _gst_reserved[4 + 0];
14304 struct _GstElementClass
14306 GstObjectClass parent_class;
14307 GstElementDetails details;
14308 GstElementFactory *elementfactory;
14309 GList *padtemplates;
14310 gint numpadtemplates;
14311 guint32 pad_templ_cookie;
14312 void (*pad_added) (GstElement *element, GstPad *pad);
14313 void (*pad_removed) (GstElement *element, GstPad *pad);
14314 void (*no_more_pads) (GstElement *element);
14315 GstPad* (*request_new_pad) (GstElement *element, GstPadTemplate *templ, const gchar* name);
14316 void (*release_pad) (GstElement *element, GstPad *pad);
14317 GstStateChangeReturn (*get_state) (GstElement * element, GstState * state,
14318 GstState * pending, GstClockTime timeout);
14319 GstStateChangeReturn (*set_state) (GstElement *element, GstState state);
14320 GstStateChangeReturn (*change_state) (GstElement *element, GstStateChange transition);
14321 void (*set_bus) (GstElement * element, GstBus * bus);
14322 GstClock* (*provide_clock) (GstElement *element);
14323 gboolean (*set_clock) (GstElement *element, GstClock *clock);
14324 GstIndex* (*get_index) (GstElement *element);
14325 void (*set_index) (GstElement *element, GstIndex *index);
14326 gboolean (*send_event) (GstElement *element, GstEvent *event);
14327 const GstQueryType* (*get_query_types) (GstElement *element);
14328 gboolean (*query) (GstElement *element, GstQuery *query);
14329 gpointer _gst_reserved[4];
14331 void gst_element_class_add_pad_template (GstElementClass *klass, GstPadTemplate *templ);
14332 GstPadTemplate* gst_element_class_get_pad_template (GstElementClass *element_class, const gchar *name);
14333 GList* gst_element_class_get_pad_template_list (GstElementClass *element_class);
14334 void gst_element_class_set_details (GstElementClass *klass, const GstElementDetails *details);
14335 void gst_element_class_set_details_simple (GstElementClass *klass,
14336 const gchar *longname,
14337 const gchar *classification,
14338 const gchar *description,
14339 const gchar *author);
14340 GType gst_element_get_type (void);
14341 gboolean gst_element_requires_clock (GstElement *element);
14342 gboolean gst_element_provides_clock (GstElement *element);
14343 GstClock* gst_element_provide_clock (GstElement *element);
14344 GstClock* gst_element_get_clock (GstElement *element);
14345 gboolean gst_element_set_clock (GstElement *element, GstClock *clock);
14346 void gst_element_set_base_time (GstElement *element, GstClockTime time);
14347 GstClockTime gst_element_get_base_time (GstElement *element);
14348 void gst_element_set_start_time (GstElement *element, GstClockTime time);
14349 GstClockTime gst_element_get_start_time (GstElement *element);
14350 gboolean gst_element_is_indexable (GstElement *element);
14351 void gst_element_set_index (GstElement *element, GstIndex *index);
14352 GstIndex* gst_element_get_index (GstElement *element);
14353 void gst_element_set_bus (GstElement * element, GstBus * bus);
14354 GstBus * gst_element_get_bus (GstElement * element);
14355 gboolean gst_element_add_pad (GstElement *element, GstPad *pad);
14356 gboolean gst_element_remove_pad (GstElement *element, GstPad *pad);
14357 void gst_element_no_more_pads (GstElement *element);
14358 GstPad* gst_element_get_pad (GstElement *element, const gchar *name);
14359 GstPad* gst_element_get_static_pad (GstElement *element, const gchar *name);
14360 GstPad* gst_element_get_request_pad (GstElement *element, const gchar *name);
14361 void gst_element_release_request_pad (GstElement *element, GstPad *pad);
14362 GstIterator * gst_element_iterate_pads (GstElement * element);
14363 GstIterator * gst_element_iterate_src_pads (GstElement * element);
14364 GstIterator * gst_element_iterate_sink_pads (GstElement * element);
14365 gboolean gst_element_send_event (GstElement *element, GstEvent *event);
14366 gboolean gst_element_seek (GstElement *element, gdouble rate,
14367 GstFormat format, GstSeekFlags flags,
14368 GstSeekType cur_type, gint64 cur,
14369 GstSeekType stop_type, gint64 stop);
14370 const GstQueryType*
14371 gst_element_get_query_types (GstElement *element);
14372 gboolean gst_element_query (GstElement *element, GstQuery *query);
14373 gboolean gst_element_post_message (GstElement * element, GstMessage * message);
14374 gchar * _gst_element_error_printf (const gchar *format, ...);
14375 void gst_element_message_full (GstElement * element, GstMessageType type,
14376 GQuark domain, gint code, gchar * text,
14377 gchar * debug, const gchar * file,
14378 const gchar * function, gint line);
14379 gboolean gst_element_is_locked_state (GstElement *element);
14380 gboolean gst_element_set_locked_state (GstElement *element, gboolean locked_state);
14381 gboolean gst_element_sync_state_with_parent (GstElement *element);
14382 GstStateChangeReturn gst_element_get_state (GstElement * element,
14384 GstState * pending,
14385 GstClockTime timeout);
14386 GstStateChangeReturn gst_element_set_state (GstElement *element, GstState state);
14387 void gst_element_abort_state (GstElement * element);
14388 GstStateChangeReturn gst_element_change_state (GstElement * element,
14389 GstStateChange transition);
14390 GstStateChangeReturn gst_element_continue_state (GstElement * element,
14391 GstStateChangeReturn ret);
14392 void gst_element_lost_state (GstElement * element);
14393 void gst_element_lost_state_full (GstElement * element, gboolean new_base_time);
14394 GstElementFactory* gst_element_get_factory (GstElement *element);
14396 GST_BIN_FLAG_LAST = (GST_ELEMENT_FLAG_LAST << 5)
14398 typedef struct _GstBin GstBin;
14399 typedef struct _GstBinClass GstBinClass;
14400 typedef struct _GstBinPrivate GstBinPrivate;
14402 GstElement element;
14405 guint32 children_cookie;
14409 gboolean state_dirty;
14410 gboolean clock_dirty;
14411 GstClock *provided_clock;
14412 GstElement *clock_provider;
14413 GstBinPrivate *priv;
14414 gpointer _gst_reserved[4 - 1];
14416 struct _GstBinClass {
14417 GstElementClass parent_class;
14419 void (*element_added) (GstBin *bin, GstElement *child);
14420 void (*element_removed) (GstBin *bin, GstElement *child);
14421 gboolean (*add_element) (GstBin *bin, GstElement *element);
14422 gboolean (*remove_element) (GstBin *bin, GstElement *element);
14423 void (*handle_message) (GstBin *bin, GstMessage *message);
14424 gboolean (*do_latency) (GstBin *bin);
14425 gpointer _gst_reserved[4 -1];
14427 GType gst_bin_get_type (void);
14428 GstElement* gst_bin_new (const gchar *name);
14429 gboolean gst_bin_add (GstBin *bin, GstElement *element);
14430 gboolean gst_bin_remove (GstBin *bin, GstElement *element);
14431 GstElement* gst_bin_get_by_name (GstBin *bin, const gchar *name);
14432 GstElement* gst_bin_get_by_name_recurse_up (GstBin *bin, const gchar *name);
14433 GstElement* gst_bin_get_by_interface (GstBin *bin, GType iface);
14434 GstIterator* gst_bin_iterate_elements (GstBin *bin);
14435 GstIterator* gst_bin_iterate_sorted (GstBin *bin);
14436 GstIterator* gst_bin_iterate_recurse (GstBin *bin);
14437 GstIterator* gst_bin_iterate_sinks (GstBin *bin);
14438 GstIterator* gst_bin_iterate_sources (GstBin *bin);
14439 GstIterator* gst_bin_iterate_all_by_interface (GstBin *bin, GType iface);
14440 gboolean gst_bin_recalculate_latency (GstBin * bin);
14441 typedef struct _GstChildProxy GstChildProxy;
14442 typedef struct _GstChildProxyInterface GstChildProxyInterface;
14443 struct _GstChildProxyInterface
14445 GTypeInterface parent;
14446 GstObject *(*get_child_by_index) (GstChildProxy * parent, guint index);
14447 guint (*get_children_count) (GstChildProxy * parent);
14448 void (*child_added) (GstChildProxy * parent, GstObject * child);
14449 void (*child_removed) (GstChildProxy * parent, GstObject * child);
14450 gpointer _gst_reserved[4];
14452 GType gst_child_proxy_get_type (void);
14453 GstObject *gst_child_proxy_get_child_by_name (GstChildProxy * parent, const gchar * name);
14454 GstObject *gst_child_proxy_get_child_by_index (GstChildProxy * parent, guint index);
14455 guint gst_child_proxy_get_children_count (GstChildProxy * parent);
14456 gboolean gst_child_proxy_lookup (GstObject *object, const gchar *name,
14457 GstObject **target, GParamSpec **pspec);
14458 void gst_child_proxy_get_property (GstObject * object, const gchar *name, GValue *value);
14459 void gst_child_proxy_get_valist (GstObject * object,
14460 const gchar * first_property_name, va_list var_args);
14461 void gst_child_proxy_get (GstObject * object, const gchar * first_property_name,
14462 ...) __attribute__((__sentinel__));
14463 void gst_child_proxy_set_property (GstObject * object, const gchar *name, const GValue *value);
14464 void gst_child_proxy_set_valist (GstObject* object,
14465 const gchar * first_property_name, va_list var_args);
14466 void gst_child_proxy_set (GstObject * object, const gchar * first_property_name,
14467 ...) __attribute__((__sentinel__));
14468 void gst_child_proxy_child_added (GstObject * object, GstObject * child);
14469 void gst_child_proxy_child_removed (GstObject * object, GstObject * child);
14471 GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE = (1<<0),
14472 GST_DEBUG_GRAPH_SHOW_CAPS_DETAILS = (1<<1),
14473 GST_DEBUG_GRAPH_SHOW_NON_DEFAULT_PARAMS = (1<<2),
14474 GST_DEBUG_GRAPH_SHOW_STATES = (1<<3),
14475 GST_DEBUG_GRAPH_SHOW_ALL = ((1<<4)-1)
14476 } GstDebugGraphDetails;
14477 void _gst_debug_bin_to_dot_file (GstBin *bin, GstDebugGraphDetails details, const gchar *file_name);
14478 void _gst_debug_bin_to_dot_file_with_ts (GstBin *bin, GstDebugGraphDetails details, const gchar *file_name);
14481 GST_CORE_ERROR_FAILED = 1,
14482 GST_CORE_ERROR_TOO_LAZY,
14483 GST_CORE_ERROR_NOT_IMPLEMENTED,
14484 GST_CORE_ERROR_STATE_CHANGE,
14485 GST_CORE_ERROR_PAD,
14486 GST_CORE_ERROR_THREAD,
14487 GST_CORE_ERROR_NEGOTIATION,
14488 GST_CORE_ERROR_EVENT,
14489 GST_CORE_ERROR_SEEK,
14490 GST_CORE_ERROR_CAPS,
14491 GST_CORE_ERROR_TAG,
14492 GST_CORE_ERROR_MISSING_PLUGIN,
14493 GST_CORE_ERROR_CLOCK,
14494 GST_CORE_ERROR_DISABLED,
14495 GST_CORE_ERROR_NUM_ERRORS
14499 GST_LIBRARY_ERROR_FAILED = 1,
14500 GST_LIBRARY_ERROR_TOO_LAZY,
14501 GST_LIBRARY_ERROR_INIT,
14502 GST_LIBRARY_ERROR_SHUTDOWN,
14503 GST_LIBRARY_ERROR_SETTINGS,
14504 GST_LIBRARY_ERROR_ENCODE,
14505 GST_LIBRARY_ERROR_NUM_ERRORS
14509 GST_RESOURCE_ERROR_FAILED = 1,
14510 GST_RESOURCE_ERROR_TOO_LAZY,
14511 GST_RESOURCE_ERROR_NOT_FOUND,
14512 GST_RESOURCE_ERROR_BUSY,
14513 GST_RESOURCE_ERROR_OPEN_READ,
14514 GST_RESOURCE_ERROR_OPEN_WRITE,
14515 GST_RESOURCE_ERROR_OPEN_READ_WRITE,
14516 GST_RESOURCE_ERROR_CLOSE,
14517 GST_RESOURCE_ERROR_READ,
14518 GST_RESOURCE_ERROR_WRITE,
14519 GST_RESOURCE_ERROR_SEEK,
14520 GST_RESOURCE_ERROR_SYNC,
14521 GST_RESOURCE_ERROR_SETTINGS,
14522 GST_RESOURCE_ERROR_NO_SPACE_LEFT,
14523 GST_RESOURCE_ERROR_NUM_ERRORS
14524 } GstResourceError;
14527 GST_STREAM_ERROR_FAILED = 1,
14528 GST_STREAM_ERROR_TOO_LAZY,
14529 GST_STREAM_ERROR_NOT_IMPLEMENTED,
14530 GST_STREAM_ERROR_TYPE_NOT_FOUND,
14531 GST_STREAM_ERROR_WRONG_TYPE,
14532 GST_STREAM_ERROR_CODEC_NOT_FOUND,
14533 GST_STREAM_ERROR_DECODE,
14534 GST_STREAM_ERROR_ENCODE,
14535 GST_STREAM_ERROR_DEMUX,
14536 GST_STREAM_ERROR_MUX,
14537 GST_STREAM_ERROR_FORMAT,
14538 GST_STREAM_ERROR_DECRYPT,
14539 GST_STREAM_ERROR_DECRYPT_NOKEY,
14540 GST_STREAM_ERROR_NUM_ERRORS
14542 GType gst_g_error_get_type (void);
14543 gchar *gst_error_get_message (GQuark domain, gint code);
14544 GQuark gst_stream_error_quark (void);
14545 GQuark gst_core_error_quark (void);
14546 GQuark gst_resource_error_quark (void);
14547 GQuark gst_library_error_quark (void);
14548 typedef struct _GstProxyPad GstProxyPad;
14549 typedef struct _GstProxyPadPrivate GstProxyPadPrivate;
14550 typedef struct _GstProxyPadClass GstProxyPadClass;
14551 struct _GstProxyPad
14554 GstProxyPadPrivate *priv;
14556 struct _GstProxyPadClass
14558 GstPadClass parent_class;
14559 gpointer _gst_reserved[1];
14561 GType gst_proxy_pad_get_type (void);
14562 typedef struct _GstGhostPad GstGhostPad;
14563 typedef struct _GstGhostPadPrivate GstGhostPadPrivate;
14564 typedef struct _GstGhostPadClass GstGhostPadClass;
14565 struct _GstGhostPad
14568 GstGhostPadPrivate *priv;
14570 struct _GstGhostPadClass
14572 GstProxyPadClass parent_class;
14573 gpointer _gst_reserved[4];
14575 GType gst_ghost_pad_get_type (void);
14576 GstPad* gst_ghost_pad_new (const gchar *name, GstPad *target);
14577 GstPad* gst_ghost_pad_new_no_target (const gchar *name, GstPadDirection dir);
14578 GstPad* gst_ghost_pad_new_from_template (const gchar *name, GstPad * target, GstPadTemplate * templ);
14579 GstPad* gst_ghost_pad_new_no_target_from_template (const gchar *name, GstPadTemplate * templ);
14580 GstPad* gst_ghost_pad_get_target (GstGhostPad *gpad);
14581 gboolean gst_ghost_pad_set_target (GstGhostPad *gpad, GstPad *newtarget);
14582 gboolean gst_ghost_pad_construct (GstGhostPad *gpad);
14584 GST_LEVEL_NONE = 0,
14590 GST_LEVEL_FIXME = 6,
14591 GST_LEVEL_MEMDUMP = 9,
14595 GST_DEBUG_FG_BLACK = 0x0000,
14596 GST_DEBUG_FG_RED = 0x0001,
14597 GST_DEBUG_FG_GREEN = 0x0002,
14598 GST_DEBUG_FG_YELLOW = 0x0003,
14599 GST_DEBUG_FG_BLUE = 0x0004,
14600 GST_DEBUG_FG_MAGENTA = 0x0005,
14601 GST_DEBUG_FG_CYAN = 0x0006,
14602 GST_DEBUG_FG_WHITE = 0x0007,
14603 GST_DEBUG_BG_BLACK = 0x0000,
14604 GST_DEBUG_BG_RED = 0x0010,
14605 GST_DEBUG_BG_GREEN = 0x0020,
14606 GST_DEBUG_BG_YELLOW = 0x0030,
14607 GST_DEBUG_BG_BLUE = 0x0040,
14608 GST_DEBUG_BG_MAGENTA = 0x0050,
14609 GST_DEBUG_BG_CYAN = 0x0060,
14610 GST_DEBUG_BG_WHITE = 0x0070,
14611 GST_DEBUG_BOLD = 0x0100,
14612 GST_DEBUG_UNDERLINE = 0x0200
14613 } GstDebugColorFlags;
14614 typedef struct _GstDebugCategory GstDebugCategory;
14615 struct _GstDebugCategory {
14618 const gchar * name;
14619 const gchar * description;
14621 typedef struct _GstDebugMessage GstDebugMessage;
14622 typedef void (*GstLogFunction) (GstDebugCategory * category,
14623 GstDebugLevel level,
14624 const gchar * file,
14625 const gchar * function,
14628 GstDebugMessage * message,
14630 void _gst_debug_init (void);
14631 void gst_debug_log (GstDebugCategory * category,
14632 GstDebugLevel level,
14633 const gchar * file,
14634 const gchar * function,
14637 const gchar * format,
14638 ...) __attribute__((__no_instrument_function__));
14639 void gst_debug_log_valist (GstDebugCategory * category,
14640 GstDebugLevel level,
14641 const gchar * file,
14642 const gchar * function,
14645 const gchar * format,
14646 va_list args) __attribute__((__no_instrument_function__));
14647 const gchar * gst_debug_message_get (GstDebugMessage * message);
14648 void gst_debug_log_default (GstDebugCategory * category,
14649 GstDebugLevel level,
14650 const gchar * file,
14651 const gchar * function,
14654 GstDebugMessage * message,
14655 gpointer unused) __attribute__((__no_instrument_function__));
14657 gst_debug_level_get_name (GstDebugLevel level);
14658 void gst_debug_add_log_function (GstLogFunction func,
14660 guint gst_debug_remove_log_function (GstLogFunction func);
14661 guint gst_debug_remove_log_function_by_data (gpointer data);
14662 void gst_debug_set_active (gboolean active);
14663 gboolean gst_debug_is_active (void);
14664 void gst_debug_set_colored (gboolean colored);
14665 gboolean gst_debug_is_colored (void);
14666 void gst_debug_set_default_threshold (GstDebugLevel level);
14667 GstDebugLevel gst_debug_get_default_threshold (void);
14668 void gst_debug_set_threshold_for_name (const gchar * name,
14669 GstDebugLevel level);
14670 void gst_debug_unset_threshold_for_name (const gchar * name);
14671 GstDebugCategory *_gst_debug_category_new (const gchar * name,
14673 const gchar * description);
14674 void gst_debug_category_free (GstDebugCategory * category);
14675 void gst_debug_category_set_threshold (GstDebugCategory * category,
14676 GstDebugLevel level);
14677 void gst_debug_category_reset_threshold(GstDebugCategory * category);
14679 gst_debug_category_get_threshold (GstDebugCategory * category);
14681 gst_debug_category_get_name (GstDebugCategory * category);
14682 guint gst_debug_category_get_color (GstDebugCategory * category);
14684 gst_debug_category_get_description (GstDebugCategory * category);
14686 gst_debug_get_all_categories (void);
14687 GstDebugCategory *_gst_debug_get_category (const gchar *name);
14688 gchar * gst_debug_construct_term_color (guint colorinfo);
14689 gint gst_debug_construct_win_color (guint colorinfo);
14690 extern GstDebugCategory * GST_CAT_DEFAULT;
14691 extern gboolean __gst_debug_enabled;
14692 extern GstDebugLevel __gst_debug_min;
14693 void _gst_debug_dump_mem (GstDebugCategory * cat, const gchar * file,
14694 const gchar * func, gint line, GObject * obj, const gchar * msg,
14695 const guint8 * data, guint length);
14696 typedef void (* GstDebugFuncPtr) (void);
14697 void _gst_debug_register_funcptr (GstDebugFuncPtr func,
14698 const gchar * ptrname);
14700 _gst_debug_nameof_funcptr (GstDebugFuncPtr func);
14701 void gst_debug_print_stack_trace (void);
14702 typedef struct _GstImplementsInterface GstImplementsInterface;
14703 typedef struct _GstImplementsInterfaceClass GstImplementsInterfaceClass;
14704 struct _GstImplementsInterfaceClass {
14705 GTypeInterface parent;
14706 gboolean (* supported) (GstImplementsInterface *iface,
14708 gpointer _gst_reserved[4];
14710 GType gst_implements_interface_get_type (void);
14711 gboolean gst_element_implements_interface (GstElement *element,
14713 gpointer gst_implements_interface_cast (gpointer from,
14715 gboolean gst_implements_interface_check (gpointer from,
14717 extern void gst_marshal_VOID__BOXED_OBJECT (GClosure *closure,
14718 GValue *return_value,
14719 guint n_param_values,
14720 const GValue *param_values,
14721 gpointer invocation_hint,
14722 gpointer marshal_data);
14723 extern void gst_marshal_VOID__POINTER_OBJECT (GClosure *closure,
14724 GValue *return_value,
14725 guint n_param_values,
14726 const GValue *param_values,
14727 gpointer invocation_hint,
14728 gpointer marshal_data);
14729 extern void gst_marshal_VOID__OBJECT_OBJECT (GClosure *closure,
14730 GValue *return_value,
14731 guint n_param_values,
14732 const GValue *param_values,
14733 gpointer invocation_hint,
14734 gpointer marshal_data);
14735 extern void gst_marshal_VOID__OBJECT_PARAM (GClosure *closure,
14736 GValue *return_value,
14737 guint n_param_values,
14738 const GValue *param_values,
14739 gpointer invocation_hint,
14740 gpointer marshal_data);
14741 extern void gst_marshal_VOID__OBJECT_POINTER (GClosure *closure,
14742 GValue *return_value,
14743 guint n_param_values,
14744 const GValue *param_values,
14745 gpointer invocation_hint,
14746 gpointer marshal_data);
14747 extern void gst_marshal_VOID__OBJECT_BOXED (GClosure *closure,
14748 GValue *return_value,
14749 guint n_param_values,
14750 const GValue *param_values,
14751 gpointer invocation_hint,
14752 gpointer marshal_data);
14753 extern void gst_marshal_VOID__OBJECT_BOXED_STRING (GClosure *closure,
14754 GValue *return_value,
14755 guint n_param_values,
14756 const GValue *param_values,
14757 gpointer invocation_hint,
14758 gpointer marshal_data);
14759 extern void gst_marshal_VOID__OBJECT_OBJECT_STRING (GClosure *closure,
14760 GValue *return_value,
14761 guint n_param_values,
14762 const GValue *param_values,
14763 gpointer invocation_hint,
14764 gpointer marshal_data);
14765 extern void gst_marshal_VOID__OBJECT_STRING (GClosure *closure,
14766 GValue *return_value,
14767 guint n_param_values,
14768 const GValue *param_values,
14769 gpointer invocation_hint,
14770 gpointer marshal_data);
14771 extern void gst_marshal_VOID__INT_INT (GClosure *closure,
14772 GValue *return_value,
14773 guint n_param_values,
14774 const GValue *param_values,
14775 gpointer invocation_hint,
14776 gpointer marshal_data);
14777 extern void gst_marshal_VOID__INT64 (GClosure *closure,
14778 GValue *return_value,
14779 guint n_param_values,
14780 const GValue *param_values,
14781 gpointer invocation_hint,
14782 gpointer marshal_data);
14783 extern void gst_marshal_VOID__UINT_BOXED (GClosure *closure,
14784 GValue *return_value,
14785 guint n_param_values,
14786 const GValue *param_values,
14787 gpointer invocation_hint,
14788 gpointer marshal_data);
14789 extern void gst_marshal_BOOLEAN__VOID (GClosure *closure,
14790 GValue *return_value,
14791 guint n_param_values,
14792 const GValue *param_values,
14793 gpointer invocation_hint,
14794 gpointer marshal_data);
14795 extern void gst_marshal_BOOLEAN__POINTER (GClosure *closure,
14796 GValue *return_value,
14797 guint n_param_values,
14798 const GValue *param_values,
14799 gpointer invocation_hint,
14800 gpointer marshal_data);
14801 extern void gst_marshal_POINTER__POINTER (GClosure *closure,
14802 GValue *return_value,
14803 guint n_param_values,
14804 const GValue *param_values,
14805 gpointer invocation_hint,
14806 gpointer marshal_data);
14807 extern void gst_marshal_BOXED__BOXED (GClosure *closure,
14808 GValue *return_value,
14809 guint n_param_values,
14810 const GValue *param_values,
14811 gpointer invocation_hint,
14812 gpointer marshal_data);
14813 typedef gint (* GstValueCompareFunc) (const GValue *value1,
14814 const GValue *value2);
14815 typedef gchar * (* GstValueSerializeFunc) (const GValue *value1);
14816 typedef gboolean (* GstValueDeserializeFunc) (GValue *dest,
14818 typedef gboolean (* GstValueUnionFunc) (GValue *dest,
14819 const GValue *value1,
14820 const GValue *value2);
14821 typedef gboolean (* GstValueIntersectFunc) (GValue *dest,
14822 const GValue *value1,
14823 const GValue *value2);
14824 typedef gboolean (* GstValueSubtractFunc) (GValue *dest,
14825 const GValue *minuend,
14826 const GValue *subtrahend);
14827 typedef struct _GstValueTable GstValueTable;
14828 struct _GstValueTable {
14830 GstValueCompareFunc compare;
14831 GstValueSerializeFunc serialize;
14832 GstValueDeserializeFunc deserialize;
14833 void *_gst_reserved [4];
14835 GType gst_int_range_get_type (void);
14836 GType gst_double_range_get_type (void);
14837 GType gst_fraction_range_get_type (void);
14838 GType gst_fourcc_get_type (void);
14839 GType gst_fraction_get_type (void);
14840 GType gst_value_list_get_type (void);
14841 GType gst_value_array_get_type (void);
14842 GType gst_date_get_type (void);
14843 void gst_value_register (const GstValueTable *table);
14844 void gst_value_init_and_copy (GValue *dest,
14845 const GValue *src);
14846 gchar * gst_value_serialize (const GValue *value);
14847 gboolean gst_value_deserialize (GValue *dest,
14849 void gst_value_list_append_value (GValue *value,
14850 const GValue *append_value);
14851 void gst_value_list_prepend_value (GValue *value,
14852 const GValue *prepend_value);
14853 void gst_value_list_concat (GValue *dest,
14854 const GValue *value1,
14855 const GValue *value2);
14856 guint gst_value_list_get_size (const GValue *value);
14858 gst_value_list_get_value (const GValue *value,
14860 void gst_value_array_append_value (GValue *value,
14861 const GValue *append_value);
14862 void gst_value_array_prepend_value (GValue *value,
14863 const GValue *prepend_value);
14864 guint gst_value_array_get_size (const GValue *value);
14866 gst_value_array_get_value (const GValue *value,
14868 void gst_value_set_fourcc (GValue *value,
14870 guint32 gst_value_get_fourcc (const GValue *value);
14871 void gst_value_set_int_range (GValue *value,
14874 gint gst_value_get_int_range_min (const GValue *value);
14875 gint gst_value_get_int_range_max (const GValue *value);
14876 void gst_value_set_double_range (GValue *value,
14879 gdouble gst_value_get_double_range_min (const GValue *value);
14880 gdouble gst_value_get_double_range_max (const GValue *value);
14882 gst_value_get_caps (const GValue *value);
14883 void gst_value_set_caps (GValue *value,
14884 const GstCaps *caps);
14885 const GstStructure *
14886 gst_value_get_structure (const GValue *value);
14887 void gst_value_set_structure (GValue *value,
14888 const GstStructure *structure);
14889 void gst_value_set_fraction (GValue *value,
14892 gint gst_value_get_fraction_numerator (const GValue *value);
14893 gint gst_value_get_fraction_denominator(const GValue *value);
14894 gboolean gst_value_fraction_multiply (GValue *product,
14895 const GValue *factor1,
14896 const GValue *factor2);
14897 gboolean gst_value_fraction_subtract (GValue * dest,
14898 const GValue * minuend,
14899 const GValue * subtrahend);
14900 void gst_value_set_fraction_range (GValue *value,
14901 const GValue *start,
14902 const GValue *end);
14903 void gst_value_set_fraction_range_full (GValue *value,
14904 gint numerator_start,
14905 gint denominator_start,
14906 gint numerator_end,
14907 gint denominator_end);
14908 const GValue *gst_value_get_fraction_range_min (const GValue *value);
14909 const GValue *gst_value_get_fraction_range_max (const GValue *value);
14911 gst_value_get_date (const GValue *value);
14912 void gst_value_set_date (GValue *value,
14913 const GDate *date);
14914 gint gst_value_compare (const GValue *value1,
14915 const GValue *value2);
14916 gboolean gst_value_can_compare (const GValue *value1,
14917 const GValue *value2);
14918 gboolean gst_value_union (GValue *dest,
14919 const GValue *value1,
14920 const GValue *value2);
14921 gboolean gst_value_can_union (const GValue *value1,
14922 const GValue *value2);
14923 void gst_value_register_union_func (GType type1,
14925 GstValueUnionFunc func);
14926 gboolean gst_value_intersect (GValue *dest,
14927 const GValue *value1,
14928 const GValue *value2);
14929 gboolean gst_value_can_intersect (const GValue *value1,
14930 const GValue *value2);
14931 void gst_value_register_intersect_func (GType type1,
14933 GstValueIntersectFunc func);
14934 gboolean gst_value_subtract (GValue *dest,
14935 const GValue *minuend,
14936 const GValue *subtrahend);
14937 gboolean gst_value_can_subtract (const GValue *minuend,
14938 const GValue *subtrahend);
14939 void gst_value_register_subtract_func (GType minuend_type,
14940 GType subtrahend_type,
14941 GstValueSubtractFunc func);
14942 gboolean gst_value_is_fixed (const GValue *value);
14943 GType gst_param_spec_fraction_get_type (void);
14944 typedef struct _GstParamSpecFraction GstParamSpecFraction;
14945 struct _GstParamSpecFraction {
14946 GParamSpec parent_instance;
14947 gint min_num, min_den;
14948 gint max_num, max_den;
14949 gint def_num, def_den;
14951 GParamSpec * gst_param_spec_fraction (const gchar * name,
14952 const gchar * nick,
14953 const gchar * blurb,
14954 gint min_num, gint min_denom,
14955 gint max_num, gint max_denom,
14956 gint default_num, gint default_denom,
14957 GParamFlags flags);
14958 typedef struct _GstPipeline GstPipeline;
14959 typedef struct _GstPipelineClass GstPipelineClass;
14960 typedef struct _GstPipelinePrivate GstPipelinePrivate;
14962 GST_PIPELINE_FLAG_FIXED_CLOCK = (GST_BIN_FLAG_LAST << 0),
14963 GST_PIPELINE_FLAG_LAST = (GST_BIN_FLAG_LAST << 4)
14964 } GstPipelineFlags;
14965 struct _GstPipeline {
14967 GstClock *fixed_clock;
14968 GstClockTime stream_time;
14969 GstClockTime delay;
14970 GstPipelinePrivate *priv;
14971 gpointer _gst_reserved[4 -1];
14973 struct _GstPipelineClass {
14974 GstBinClass parent_class;
14975 gpointer _gst_reserved[4];
14977 GType gst_pipeline_get_type (void);
14978 GstElement* gst_pipeline_new (const gchar *name);
14979 GstBus* gst_pipeline_get_bus (GstPipeline *pipeline);
14980 void gst_pipeline_set_new_stream_time (GstPipeline *pipeline, GstClockTime time);
14981 GstClockTime gst_pipeline_get_last_stream_time (GstPipeline *pipeline);
14982 void gst_pipeline_use_clock (GstPipeline *pipeline, GstClock *clock);
14983 gboolean gst_pipeline_set_clock (GstPipeline *pipeline, GstClock *clock);
14984 GstClock* gst_pipeline_get_clock (GstPipeline *pipeline);
14985 void gst_pipeline_auto_clock (GstPipeline *pipeline);
14986 void gst_pipeline_set_delay (GstPipeline *pipeline, GstClockTime delay);
14987 GstClockTime gst_pipeline_get_delay (GstPipeline *pipeline);
14988 void gst_pipeline_set_auto_flush_bus (GstPipeline *pipeline, gboolean auto_flush);
14989 gboolean gst_pipeline_get_auto_flush_bus (GstPipeline *pipeline);
14990 typedef struct _GstPoll GstPoll;
14995 GstPoll* gst_poll_new (gboolean controllable);
14996 GstPoll* gst_poll_new_timer (void);
14997 void gst_poll_free (GstPoll *set);
14998 void gst_poll_fd_init (GstPollFD *fd);
14999 gboolean gst_poll_add_fd (GstPoll *set, GstPollFD *fd);
15000 gboolean gst_poll_remove_fd (GstPoll *set, GstPollFD *fd);
15001 gboolean gst_poll_fd_ctl_write (GstPoll *set, GstPollFD *fd, gboolean active);
15002 gboolean gst_poll_fd_ctl_read (GstPoll *set, GstPollFD *fd, gboolean active);
15003 void gst_poll_fd_ignored (GstPoll *set, GstPollFD *fd);
15004 gboolean gst_poll_fd_has_closed (const GstPoll *set, GstPollFD *fd);
15005 gboolean gst_poll_fd_has_error (const GstPoll *set, GstPollFD *fd);
15006 gboolean gst_poll_fd_can_read (const GstPoll *set, GstPollFD *fd);
15007 gboolean gst_poll_fd_can_write (const GstPoll *set, GstPollFD *fd);
15008 gint gst_poll_wait (GstPoll *set, GstClockTime timeout);
15009 gboolean gst_poll_set_controllable (GstPoll *set, gboolean controllable);
15010 void gst_poll_restart (GstPoll *set);
15011 void gst_poll_set_flushing (GstPoll *set, gboolean flushing);
15012 gboolean gst_poll_write_control (GstPoll *set);
15013 gboolean gst_poll_read_control (GstPoll *set);
15014 typedef struct _GstPreset GstPreset;
15015 typedef struct _GstPresetInterface GstPresetInterface;
15016 struct _GstPresetInterface
15018 GTypeInterface parent;
15019 gchar** (*get_preset_names) (GstPreset *preset);
15020 gchar** (*get_property_names) (GstPreset *preset);
15021 gboolean (*load_preset) (GstPreset *preset, const gchar *name);
15022 gboolean (*save_preset) (GstPreset *preset, const gchar *name);
15023 gboolean (*rename_preset) (GstPreset *preset, const gchar *old_name,
15024 const gchar *new_name);
15025 gboolean (*delete_preset) (GstPreset *preset, const gchar *name);
15026 gboolean (*set_meta) (GstPreset *preset, const gchar *name,
15027 const gchar *tag, const gchar *value);
15028 gboolean (*get_meta) (GstPreset *preset, const gchar *name,
15029 const gchar *tag, gchar **value);
15030 gpointer _gst_reserved[4];
15032 GType gst_preset_get_type(void);
15033 gchar** gst_preset_get_preset_names (GstPreset *preset);
15034 gchar** gst_preset_get_property_names (GstPreset *preset);
15035 gboolean gst_preset_load_preset (GstPreset *preset, const gchar *name);
15036 gboolean gst_preset_save_preset (GstPreset *preset, const gchar *name);
15037 gboolean gst_preset_rename_preset (GstPreset *preset, const gchar *old_name,
15038 const gchar *new_name);
15039 gboolean gst_preset_delete_preset (GstPreset *preset, const gchar *name);
15040 gboolean gst_preset_set_meta (GstPreset *preset, const gchar *name,
15041 const gchar *tag, const gchar *value);
15042 gboolean gst_preset_get_meta (GstPreset *preset, const gchar *name,
15043 const gchar *tag, gchar **value);
15044 typedef struct _GstRegistry GstRegistry;
15045 typedef struct _GstRegistryClass GstRegistryClass;
15046 struct _GstRegistry {
15052 GHashTable *feature_hash;
15053 gpointer _gst_reserved[4 -1];
15055 struct _GstRegistryClass {
15056 GstObjectClass parent_class;
15057 void (*plugin_added) (GstRegistry *registry, GstPlugin *plugin);
15058 void (*feature_added) (GstRegistry *registry, GstPluginFeature *feature);
15059 gpointer _gst_reserved[4];
15061 GType gst_registry_get_type (void);
15062 GstRegistry * gst_registry_get_default (void);
15063 gboolean gst_registry_scan_path (GstRegistry *registry, const gchar *path);
15064 void gst_registry_add_path (GstRegistry * registry, const gchar * path);
15065 GList* gst_registry_get_path_list (GstRegistry *registry);
15066 gboolean gst_registry_add_plugin (GstRegistry *registry, GstPlugin *plugin);
15067 void gst_registry_remove_plugin (GstRegistry *registry, GstPlugin *plugin);
15068 gboolean gst_registry_add_feature (GstRegistry * registry, GstPluginFeature * feature);
15069 void gst_registry_remove_feature (GstRegistry * registry, GstPluginFeature * feature);
15070 GList* gst_registry_get_plugin_list (GstRegistry *registry);
15071 GList* gst_registry_plugin_filter (GstRegistry *registry,
15072 GstPluginFilter filter,
15074 gpointer user_data);
15075 GList* gst_registry_feature_filter (GstRegistry *registry,
15076 GstPluginFeatureFilter filter,
15078 gpointer user_data);
15079 GList * gst_registry_get_feature_list (GstRegistry *registry,
15081 GList * gst_registry_get_feature_list_by_plugin (GstRegistry *registry, const gchar *name);
15082 GstPlugin* gst_registry_find_plugin (GstRegistry *registry, const gchar *name);
15083 GstPluginFeature* gst_registry_find_feature (GstRegistry *registry, const gchar *name, GType type);
15084 GstPlugin * gst_registry_lookup (GstRegistry *registry, const char *filename);
15085 GstPluginFeature * gst_registry_lookup_feature (GstRegistry *registry, const char *name);
15086 gboolean gst_registry_xml_read_cache (GstRegistry * registry, const char *location);
15087 gboolean gst_registry_xml_write_cache (GstRegistry * registry, const char *location);
15088 gboolean gst_default_registry_check_feature_version (const gchar *feature_name,
15092 typedef struct _GstSegment GstSegment;
15093 struct _GstSegment {
15097 GstSeekFlags flags;
15104 gdouble applied_rate;
15105 guint8 _gst_reserved[(sizeof (gpointer) * 4) - sizeof (gdouble)];
15107 GType gst_segment_get_type (void);
15108 GstSegment * gst_segment_new (void);
15109 GstSegment * gst_segment_copy (GstSegment *segment);
15110 void gst_segment_free (GstSegment *segment);
15111 void gst_segment_init (GstSegment *segment, GstFormat format);
15112 void gst_segment_set_duration (GstSegment *segment, GstFormat format, gint64 duration);
15113 void gst_segment_set_last_stop (GstSegment *segment, GstFormat format, gint64 position);
15114 void gst_segment_set_seek (GstSegment *segment, gdouble rate,
15115 GstFormat format, GstSeekFlags flags,
15116 GstSeekType start_type, gint64 start,
15117 GstSeekType stop_type, gint64 stop,
15119 void gst_segment_set_newsegment (GstSegment *segment, gboolean update, gdouble rate,
15120 GstFormat format, gint64 start, gint64 stop, gint64 time);
15121 void gst_segment_set_newsegment_full (GstSegment *segment, gboolean update, gdouble rate,
15122 gdouble applied_rate, GstFormat format, gint64 start,
15123 gint64 stop, gint64 time);
15124 gint64 gst_segment_to_stream_time (GstSegment *segment, GstFormat format, gint64 position);
15125 gint64 gst_segment_to_running_time (GstSegment *segment, GstFormat format, gint64 position);
15126 gint64 gst_segment_to_position (GstSegment *segment, GstFormat format, gint64 running_time);
15127 gboolean gst_segment_clip (GstSegment *segment, GstFormat format, gint64 start,
15128 gint64 stop, gint64 *clip_start, gint64 *clip_stop);
15129 gboolean gst_segment_set_running_time (GstSegment *segment, GstFormat format, gint64 running_time);
15130 typedef struct _GstSystemClock GstSystemClock;
15131 typedef struct _GstSystemClockClass GstSystemClockClass;
15132 typedef struct _GstSystemClockPrivate GstSystemClockPrivate;
15134 GST_CLOCK_TYPE_REALTIME = 0,
15135 GST_CLOCK_TYPE_MONOTONIC = 1
15137 struct _GstSystemClock {
15141 GstSystemClockPrivate *priv;
15142 gpointer _gst_reserved[4 - 1];
15144 struct _GstSystemClockClass {
15145 GstClockClass parent_class;
15146 gpointer _gst_reserved[4];
15148 GType gst_system_clock_get_type (void);
15149 GstClock* gst_system_clock_obtain (void);
15150 typedef struct _GstTagSetter GstTagSetter;
15151 typedef struct _GstTagSetterIFace GstTagSetterIFace;
15152 struct _GstTagSetterIFace
15154 GTypeInterface g_iface;
15156 GType gst_tag_setter_get_type (void);
15157 void gst_tag_setter_reset_tags (GstTagSetter * setter);
15158 void gst_tag_setter_merge_tags (GstTagSetter * setter,
15159 const GstTagList * list,
15160 GstTagMergeMode mode);
15161 void gst_tag_setter_add_tags (GstTagSetter * setter,
15162 GstTagMergeMode mode,
15164 ...) __attribute__((__sentinel__));
15165 void gst_tag_setter_add_tag_values (GstTagSetter * setter,
15166 GstTagMergeMode mode,
15168 ...) __attribute__((__sentinel__));
15169 void gst_tag_setter_add_tag_valist (GstTagSetter * setter,
15170 GstTagMergeMode mode,
15173 void gst_tag_setter_add_tag_valist_values(GstTagSetter * setter,
15174 GstTagMergeMode mode,
15177 void gst_tag_setter_add_tag_value (GstTagSetter * setter,
15178 GstTagMergeMode mode,
15180 const GValue * value);
15182 gst_tag_setter_get_tag_list (GstTagSetter * setter);
15183 void gst_tag_setter_set_tag_merge_mode (GstTagSetter * setter,
15184 GstTagMergeMode mode);
15185 GstTagMergeMode gst_tag_setter_get_tag_merge_mode (GstTagSetter * setter);
15187 GST_ALLOC_TRACE_LIVE = (1 << 0),
15188 GST_ALLOC_TRACE_MEM_LIVE = (1 << 1)
15189 } GstAllocTraceFlags;
15190 typedef struct _GstAllocTrace GstAllocTrace;
15191 struct _GstAllocTrace {
15197 typedef struct _GstTrace GstTrace;
15198 typedef struct _GstTraceEntry GstTraceEntry;
15202 GstTraceEntry *buf;
15206 struct _GstTraceEntry {
15210 gchar message[112];
15212 GstTrace* gst_trace_new (gchar *filename, gint size);
15213 void gst_trace_destroy (GstTrace *trace);
15214 void gst_trace_flush (GstTrace *trace);
15215 void gst_trace_text_flush (GstTrace *trace);
15216 void gst_trace_set_default (GstTrace *trace);
15217 void _gst_trace_add_entry (GstTrace *trace, guint32 seq,
15218 guint32 data, gchar *msg);
15219 void gst_trace_read_tsc (gint64 *dst);
15220 extern GStaticMutex _gst_trace_mutex;
15221 gboolean gst_alloc_trace_available (void);
15222 const GList* gst_alloc_trace_list (void);
15223 GstAllocTrace* _gst_alloc_trace_register (const gchar *name);
15224 int gst_alloc_trace_live_all (void);
15225 void gst_alloc_trace_print_all (void);
15226 void gst_alloc_trace_print_live (void);
15227 void gst_alloc_trace_set_flags_all (GstAllocTraceFlags flags);
15228 GstAllocTrace* gst_alloc_trace_get (const gchar *name);
15229 void gst_alloc_trace_print (const GstAllocTrace *trace);
15230 void gst_alloc_trace_set_flags (GstAllocTrace *trace, GstAllocTraceFlags flags);
15231 extern gint _gst_trace_on;
15232 typedef struct _GstTypeFind GstTypeFind;
15233 typedef void (* GstTypeFindFunction) (GstTypeFind *find, gpointer data);
15235 GST_TYPE_FIND_MINIMUM = 1,
15236 GST_TYPE_FIND_POSSIBLE = 50,
15237 GST_TYPE_FIND_LIKELY = 80,
15238 GST_TYPE_FIND_NEARLY_CERTAIN = 99,
15239 GST_TYPE_FIND_MAXIMUM = 100
15240 } GstTypeFindProbability;
15241 struct _GstTypeFind {
15242 guint8 * (* peek) (gpointer data,
15245 void (* suggest) (gpointer data,
15247 const GstCaps * caps);
15249 guint64 (* get_length) (gpointer data);
15250 gpointer _gst_reserved[4];
15252 GType gst_type_find_get_type (void);
15253 guint8 * gst_type_find_peek (GstTypeFind * find,
15256 void gst_type_find_suggest (GstTypeFind * find,
15258 const GstCaps * caps);
15259 void gst_type_find_suggest_simple (GstTypeFind * find,
15261 const char * media_type,
15262 const char * fieldname, ...);
15263 guint64 gst_type_find_get_length (GstTypeFind * find);
15264 gboolean gst_type_find_register (GstPlugin * plugin,
15265 const gchar * name,
15267 GstTypeFindFunction func,
15268 gchar ** extensions,
15269 const GstCaps * possible_caps,
15271 GDestroyNotify data_notify);
15272 typedef struct _GstTypeFindFactory GstTypeFindFactory;
15273 typedef struct _GstTypeFindFactoryClass GstTypeFindFactoryClass;
15274 struct _GstTypeFindFactory {
15275 GstPluginFeature feature;
15276 GstTypeFindFunction function;
15277 gchar ** extensions;
15279 gpointer user_data;
15280 GDestroyNotify user_data_notify;
15281 gpointer _gst_reserved[4];
15283 struct _GstTypeFindFactoryClass {
15284 GstPluginFeatureClass parent;
15285 gpointer _gst_reserved[4];
15287 GType gst_type_find_factory_get_type (void);
15288 GList * gst_type_find_factory_get_list (void);
15289 gchar ** gst_type_find_factory_get_extensions (GstTypeFindFactory *factory);
15290 GstCaps * gst_type_find_factory_get_caps (GstTypeFindFactory *factory);
15291 void gst_type_find_factory_call_function (GstTypeFindFactory *factory,
15292 GstTypeFind *find);
15298 typedef struct _GstURIHandler GstURIHandler;
15299 typedef struct _GstURIHandlerInterface GstURIHandlerInterface;
15300 struct _GstURIHandlerInterface {
15301 GTypeInterface parent;
15302 void (* new_uri) (GstURIHandler * handler,
15303 const gchar * uri);
15304 GstURIType (* get_type) (void);
15305 gchar ** (* get_protocols) (void);
15306 const gchar *(* get_uri) (GstURIHandler * handler);
15307 gboolean (* set_uri) (GstURIHandler * handler,
15308 const gchar * uri);
15309 GstURIType (* get_type_full) (GType type);
15310 gchar ** (* get_protocols_full) (GType type);
15311 gpointer _gst_reserved[4 - 2];
15313 gboolean gst_uri_protocol_is_valid (const gchar * protocol);
15314 gboolean gst_uri_protocol_is_supported (const GstURIType type,
15315 const gchar *protocol);
15316 gboolean gst_uri_is_valid (const gchar * uri);
15317 gchar * gst_uri_get_protocol (const gchar * uri);
15318 gboolean gst_uri_has_protocol (const gchar * uri,
15319 const gchar * protocol);
15320 gchar * gst_uri_get_location (const gchar * uri);
15321 gchar * gst_uri_construct (const gchar * protocol,
15322 const gchar * location);
15323 GstElement * gst_element_make_from_uri (const GstURIType type,
15325 const gchar * elementname);
15326 GType gst_uri_handler_get_type (void);
15327 guint gst_uri_handler_get_uri_type (GstURIHandler * handler);
15328 gchar ** gst_uri_handler_get_protocols (GstURIHandler * handler);
15330 gchar * gst_uri_handler_get_uri (GstURIHandler * handler);
15331 gboolean gst_uri_handler_set_uri (GstURIHandler * handler,
15332 const gchar * uri);
15333 void gst_uri_handler_new_uri (GstURIHandler * handler,
15334 const gchar * uri);
15335 GQuark gst_parse_error_quark (void);
15338 GST_PARSE_ERROR_SYNTAX,
15339 GST_PARSE_ERROR_NO_SUCH_ELEMENT,
15340 GST_PARSE_ERROR_NO_SUCH_PROPERTY,
15341 GST_PARSE_ERROR_LINK,
15342 GST_PARSE_ERROR_COULD_NOT_SET_PROPERTY,
15343 GST_PARSE_ERROR_EMPTY_BIN,
15344 GST_PARSE_ERROR_EMPTY
15348 GST_PARSE_FLAG_NONE = 0,
15349 GST_PARSE_FLAG_FATAL_ERRORS = (1 << 0)
15351 typedef struct _GstParseContext GstParseContext;
15352 GstParseContext * gst_parse_context_new (void);
15353 gchar ** gst_parse_context_get_missing_elements (GstParseContext * context);
15354 void gst_parse_context_free (GstParseContext * context);
15355 GstElement * gst_parse_launch (const gchar * pipeline_description,
15357 GstElement * gst_parse_launchv (const gchar ** argv,
15359 GstElement * gst_parse_launch_full (const gchar * pipeline_description,
15360 GstParseContext * context,
15361 GstParseFlags flags,
15363 GstElement * gst_parse_launchv_full (const gchar ** argv,
15364 GstParseContext * context,
15365 GstParseFlags flags,
15367 void gst_util_set_value_from_string (GValue *value, const gchar *value_str);
15368 void gst_util_set_object_arg (GObject *object, const gchar *name, const gchar *value);
15369 void gst_util_dump_mem (const guchar *mem, guint size);
15370 guint64 gst_util_gdouble_to_guint64 (gdouble value) __attribute__((__pure__));
15371 gdouble gst_util_guint64_to_gdouble (guint64 value) __attribute__((__pure__));
15372 guint64 gst_util_uint64_scale (guint64 val, guint64 num, guint64 denom) __attribute__((__pure__));
15373 guint64 gst_util_uint64_scale_int (guint64 val, gint num, gint denom) __attribute__((__pure__));
15374 guint32 gst_util_seqnum_next (void);
15375 gint32 gst_util_seqnum_compare (guint32 s1, guint32 s2);
15376 void gst_print_pad_caps (GString *buf, gint indent, GstPad *pad);
15377 void gst_print_element_args (GString *buf, gint indent, GstElement *element);
15378 GType gst_type_register_static_full (GType parent_type,
15379 const gchar *type_name,
15381 GBaseInitFunc base_init,
15382 GBaseFinalizeFunc base_finalize,
15383 GClassInitFunc class_init,
15384 GClassFinalizeFunc class_finalize,
15385 gconstpointer class_data,
15386 guint instance_size,
15387 guint16 n_preallocs,
15388 GInstanceInitFunc instance_init,
15389 const GTypeValueTable *value_table,
15391 inline static gfloat
15392 GFLOAT_SWAP_LE_BE(gfloat in)
15400 u.i = (((guint32) ( (((guint32) (u.i) & (guint32) 0x000000ffU) << 24) | (((guint32) (u.i) & (guint32) 0x0000ff00U) << 8) | (((guint32) (u.i) & (guint32) 0x00ff0000U) >> 8) | (((guint32) (u.i) & (guint32) 0xff000000U) >> 24))));
15403 inline static gdouble
15404 GDOUBLE_SWAP_LE_BE(gdouble in)
15412 u.i = (((guint64) ( (((guint64) (u.i) & (guint64) (0x00000000000000ffUL)) << 56) | (((guint64) (u.i) & (guint64) (0x000000000000ff00UL)) << 40) | (((guint64) (u.i) & (guint64) (0x0000000000ff0000UL)) << 24) | (((guint64) (u.i) & (guint64) (0x00000000ff000000UL)) << 8) | (((guint64) (u.i) & (guint64) (0x000000ff00000000UL)) >> 8) | (((guint64) (u.i) & (guint64) (0x0000ff0000000000UL)) >> 24) | (((guint64) (u.i) & (guint64) (0x00ff000000000000UL)) >> 40) | (((guint64) (u.i) & (guint64) (0xff00000000000000UL)) >> 56))));
15415 inline static gfloat
15416 GST_READ_FLOAT_LE(const guint8 *data)
15423 u.i = ((((guint32) (((guint8 *) (data))[3])) << (24)) | (((guint32) (((guint8 *) (data))[2])) << (16)) | (((guint32) (((guint8 *) (data))[1])) << (8)) | (((guint32) (((guint8 *) (data))[0])) << (0)));
15426 inline static gfloat
15427 GST_READ_FLOAT_BE(const guint8 *data)
15434 u.i = ((((guint32) (((guint8 *) (data))[0])) << (24)) | (((guint32) (((guint8 *) (data))[1])) << (16)) | (((guint32) (((guint8 *) (data))[2])) << (8)) | (((guint32) (((guint8 *) (data))[3])) << (0)));
15437 inline static gdouble
15438 GST_READ_DOUBLE_LE(const guint8 *data)
15445 u.i = ((((guint64) (((guint8 *) (data))[7])) << (56)) | (((guint64) (((guint8 *) (data))[6])) << (48)) | (((guint64) (((guint8 *) (data))[5])) << (40)) | (((guint64) (((guint8 *) (data))[4])) << (32)) | (((guint64) (((guint8 *) (data))[3])) << (24)) | (((guint64) (((guint8 *) (data))[2])) << (16)) | (((guint64) (((guint8 *) (data))[1])) << (8)) | (((guint64) (((guint8 *) (data))[0])) << (0)));
15448 inline static gdouble
15449 GST_READ_DOUBLE_BE(const guint8 *data)
15456 u.i = ((((guint64) (((guint8 *) (data))[0])) << (56)) | (((guint64) (((guint8 *) (data))[1])) << (48)) | (((guint64) (((guint8 *) (data))[2])) << (40)) | (((guint64) (((guint8 *) (data))[3])) << (32)) | (((guint64) (((guint8 *) (data))[4])) << (24)) | (((guint64) (((guint8 *) (data))[5])) << (16)) | (((guint64) (((guint8 *) (data))[6])) << (8)) | (((guint64) (((guint8 *) (data))[7])) << (0)));
15460 GST_WRITE_FLOAT_LE(guint8 *data, gfloat num)
15468 do { (((guint8 *) (data))[0] = (((guint32) (u.i)) >> (0)) & 0xff); (((guint8 *) (data))[1] = (((guint32) (u.i)) >> (8)) & 0xff); (((guint8 *) (data))[2] = (((guint32) (u.i)) >> (16)) & 0xff); (((guint8 *) (data))[3] = (((guint32) (u.i)) >> (24)) & 0xff); } while (0);
15471 GST_WRITE_FLOAT_BE(guint8 *data, gfloat num)
15479 do { (((guint8 *) (data))[0] = (((guint32) (u.i)) >> (24)) & 0xff); (((guint8 *) (data))[1] = (((guint32) (u.i)) >> (16)) & 0xff); (((guint8 *) (data))[2] = (((guint32) (u.i)) >> (8)) & 0xff); (((guint8 *) (data))[3] = (((guint32) (u.i)) >> (0)) & 0xff); } while (0);
15482 GST_WRITE_DOUBLE_LE(guint8 *data, gdouble num)
15490 do { (((guint8 *) (data))[0] = (((guint64) (u.i)) >> (0)) & 0xff); (((guint8 *) (data))[1] = (((guint64) (u.i)) >> (8)) & 0xff); (((guint8 *) (data))[2] = (((guint64) (u.i)) >> (16)) & 0xff); (((guint8 *) (data))[3] = (((guint64) (u.i)) >> (24)) & 0xff); (((guint8 *) (data))[4] = (((guint64) (u.i)) >> (32)) & 0xff); (((guint8 *) (data))[5] = (((guint64) (u.i)) >> (40)) & 0xff); (((guint8 *) (data))[6] = (((guint64) (u.i)) >> (48)) & 0xff); (((guint8 *) (data))[7] = (((guint64) (u.i)) >> (56)) & 0xff); } while (0);
15493 GST_WRITE_DOUBLE_BE(guint8 *data, gdouble num)
15501 do { (((guint8 *) (data))[0] = (((guint64) (u.i)) >> (56)) & 0xff); (((guint8 *) (data))[1] = (((guint64) (u.i)) >> (48)) & 0xff); (((guint8 *) (data))[2] = (((guint64) (u.i)) >> (40)) & 0xff); (((guint8 *) (data))[3] = (((guint64) (u.i)) >> (32)) & 0xff); (((guint8 *) (data))[4] = (((guint64) (u.i)) >> (24)) & 0xff); (((guint8 *) (data))[5] = (((guint64) (u.i)) >> (16)) & 0xff); (((guint8 *) (data))[6] = (((guint64) (u.i)) >> (8)) & 0xff); (((guint8 *) (data))[7] = (((guint64) (u.i)) >> (0)) & 0xff); } while (0);
15503 void gst_object_default_error (GstObject * source,
15504 GError * error, gchar * debug);
15505 void gst_element_create_all_pads (GstElement *element);
15506 GstPad* gst_element_get_compatible_pad (GstElement *element, GstPad *pad,
15507 const GstCaps *caps);
15508 GstPadTemplate* gst_element_get_compatible_pad_template (GstElement *element, GstPadTemplate *compattempl);
15509 const gchar* gst_element_state_get_name (GstState state);
15510 const gchar * gst_element_state_change_return_get_name (GstStateChangeReturn state_ret);
15511 gboolean gst_element_link (GstElement *src, GstElement *dest);
15512 gboolean gst_element_link_many (GstElement *element_1,
15513 GstElement *element_2, ...) __attribute__((__sentinel__));
15514 gboolean gst_element_link_filtered (GstElement * src,
15517 void gst_element_unlink (GstElement *src, GstElement *dest);
15518 void gst_element_unlink_many (GstElement *element_1,
15519 GstElement *element_2, ...) __attribute__((__sentinel__));
15520 gboolean gst_element_link_pads (GstElement *src, const gchar *srcpadname,
15521 GstElement *dest, const gchar *destpadname);
15522 void gst_element_unlink_pads (GstElement *src, const gchar *srcpadname,
15523 GstElement *dest, const gchar *destpadname);
15524 gboolean gst_element_link_pads_filtered (GstElement * src, const gchar * srcpadname,
15525 GstElement * dest, const gchar * destpadname,
15527 gboolean gst_element_seek_simple (GstElement *element,
15529 GstSeekFlags seek_flags,
15531 gboolean gst_element_factory_can_src_caps(GstElementFactory *factory, const GstCaps *caps);
15532 gboolean gst_element_factory_can_sink_caps(GstElementFactory *factory, const GstCaps *caps);
15533 gboolean gst_element_query_position (GstElement *element, GstFormat *format,
15535 gboolean gst_element_query_duration (GstElement *element, GstFormat *format,
15537 gboolean gst_element_query_convert (GstElement *element, GstFormat src_format, gint64 src_val,
15538 GstFormat *dest_format, gint64 *dest_val);
15539 void gst_element_class_install_std_props (GstElementClass * klass,
15540 const gchar * first_name, ...) __attribute__((__sentinel__));
15541 void gst_pad_use_fixed_caps (GstPad *pad);
15542 GstCaps* gst_pad_get_fixed_caps_func (GstPad *pad);
15543 GstCaps* gst_pad_proxy_getcaps (GstPad * pad);
15544 gboolean gst_pad_proxy_setcaps (GstPad * pad, GstCaps * caps);
15545 GstElement* gst_pad_get_parent_element (GstPad *pad);
15546 gboolean gst_pad_query_position (GstPad *pad, GstFormat *format,
15548 gboolean gst_pad_query_duration (GstPad *pad, GstFormat *format,
15550 gboolean gst_pad_query_convert (GstPad *pad, GstFormat src_format, gint64 src_val,
15551 GstFormat *dest_format, gint64 *dest_val);
15552 gboolean gst_pad_query_peer_position (GstPad *pad, GstFormat *format,
15554 gboolean gst_pad_query_peer_duration (GstPad *pad, GstFormat *format,
15556 gboolean gst_pad_query_peer_convert (GstPad *pad, GstFormat src_format, gint64 src_val,
15557 GstFormat *dest_format, gint64 *dest_val);
15558 void gst_bin_add_many (GstBin *bin, GstElement *element_1, ...) __attribute__((__sentinel__));
15559 void gst_bin_remove_many (GstBin *bin, GstElement *element_1, ...) __attribute__((__sentinel__));
15560 GstPad * gst_bin_find_unlinked_pad (GstBin *bin, GstPadDirection direction);
15561 GstPad * gst_bin_find_unconnected_pad (GstBin *bin, GstPadDirection direction);
15562 GstBuffer * gst_buffer_merge (GstBuffer * buf1, GstBuffer * buf2);
15563 GstBuffer * gst_buffer_join (GstBuffer * buf1, GstBuffer * buf2);
15564 void gst_buffer_stamp (GstBuffer * dest, const GstBuffer * src);
15565 void gst_atomic_int_set (gint * atomic_int, gint value);
15566 gulong gst_pad_add_data_probe (GstPad * pad,
15569 gulong gst_pad_add_data_probe_full (GstPad * pad,
15572 GDestroyNotify notify);
15573 void gst_pad_remove_data_probe (GstPad * pad, guint handler_id);
15574 gulong gst_pad_add_event_probe (GstPad * pad,
15577 gulong gst_pad_add_event_probe_full (GstPad * pad,
15580 GDestroyNotify notify);
15581 void gst_pad_remove_event_probe (GstPad * pad, guint handler_id);
15582 gulong gst_pad_add_buffer_probe (GstPad * pad,
15585 gulong gst_pad_add_buffer_probe_full (GstPad * pad,
15588 GDestroyNotify notify);
15589 void gst_pad_remove_buffer_probe (GstPad * pad, guint handler_id);
15590 void gst_element_found_tags_for_pad (GstElement * element,
15592 GstTagList * list);
15593 void gst_element_found_tags (GstElement * element,
15594 GstTagList * list);
15595 GstElement * gst_parse_bin_from_description (const gchar * bin_description,
15596 gboolean ghost_unlinked_pads,
15598 GstElement * gst_parse_bin_from_description_full (const gchar * bin_description,
15599 gboolean ghost_unlinked_pads,
15600 GstParseContext * context,
15601 GstParseFlags flags,
15603 GstClockTime gst_util_get_timestamp (void);
15605 GST_SEARCH_MODE_EXACT = 0,
15606 GST_SEARCH_MODE_BEFORE,
15607 GST_SEARCH_MODE_AFTER
15609 gpointer gst_util_array_binary_search (gpointer array, guint num_elements,
15610 gsize element_size, GCompareDataFunc search_func,
15611 GstSearchMode mode, gconstpointer search_data,
15612 gpointer user_data);
15613 typedef struct _GstXML GstXML;
15614 typedef struct _GstXMLClass GstXMLClass;
15617 GList *topelements;
15619 gpointer _gst_reserved[4];
15621 struct _GstXMLClass {
15622 GstObjectClass parent_class;
15623 void (*object_loaded) (GstXML *xml, GstObject *object, xmlNodePtr self);
15624 void (*object_saved) (GstXML *xml, GstObject *object, xmlNodePtr self);
15625 gpointer _gst_reserved[4];
15627 GType gst_xml_get_type (void);
15628 xmlDocPtr gst_xml_write (GstElement *element);
15629 gint gst_xml_write_file (GstElement *element, FILE *out);
15630 GstXML* gst_xml_new (void);
15631 gboolean gst_xml_parse_doc (GstXML *xml, xmlDocPtr doc, const guchar *root);
15632 gboolean gst_xml_parse_file (GstXML *xml, const guchar *fname, const guchar *root);
15633 gboolean gst_xml_parse_memory (GstXML *xml, guchar *buffer, guint size, const gchar *root);
15634 GstElement* gst_xml_get_element (GstXML *xml, const guchar *name);
15635 GList* gst_xml_get_topelements (GstXML *xml);
15636 GstElement* gst_xml_make_element (xmlNodePtr cur, GstObject *parent);
15637 void gst_init (int *argc, char **argv[]);
15638 gboolean gst_init_check (int *argc, char **argv[],
15640 GOptionGroup * gst_init_get_option_group (void);
15641 void gst_deinit (void);
15642 void gst_version (guint *major, guint *minor,
15643 guint *micro, guint *nano);
15644 gchar * gst_version_string (void);
15645 gboolean gst_segtrap_is_enabled (void);
15646 void gst_segtrap_set_enabled (gboolean enabled);
15647 gboolean gst_registry_fork_is_enabled (void);
15648 void gst_registry_fork_set_enabled (gboolean enabled);
15649 gboolean gst_update_registry (void);
15650 extern obj_t BGl_readz00zz__readerz00(obj_t, obj_t);
15651 extern obj_t BGl_mainz00zzrecettez00(obj_t);
15652 static obj_t BGl_cnstzd2initzd2zzrecettez00();
15653 extern obj_t BGl_exitz00zz__errorz00(obj_t);
15654 extern obj_t BGl_modulezd2initializa7ationz75zzrecettez00(long, char *);
15655 extern obj_t BGl_modulezd2initializa7ationz75zz__gstreamer_gstreamerz00(long, char *);
15656 extern obj_t BGl_modulezd2initializa7ationz75zz__pth_threadz00(long, char *);
15657 extern obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
15658 extern obj_t BGl_modulezd2initializa7ationz75zz__errorz00(long, char *);
15659 static obj_t BGl_toplevelzd2initzd2zzrecettez00();
15660 extern obj_t BGl_modulezd2initzd2errorz00zz__errorz00(char *, char *);
15661 extern obj_t bigloo_main(obj_t);
15662 static obj_t BGl_methodzd2initzd2zzrecettez00();
15663 static obj_t BGl__mainz00zzrecettez00(obj_t, obj_t);
15664 extern obj_t BGl_bigloozd2typezd2errorz00zz__errorz00(obj_t, obj_t, obj_t);
15665 static obj_t BGl_requirezd2initializa7ationz75zzrecettez00 = ((obj_t)(obj_t)((long)(((long)(3) << 3) | 2)));
15666 static obj_t BGl_genericzd2initzd2zzrecettez00();
15667 extern obj_t BGl_bigloozd2initializa7edz12z67zz__paramz00();
15668 extern long BGl_bitzd2andzd2zz__bitz00(long, long);
15669 extern obj_t bgl_open_input_string(obj_t, int);
15670 extern bool_t BGl_zd3fxzd3zz__r4_numbers_6_5_fixnumz00(long, long);
15671 static obj_t BGl_libraryzd2moduleszd2initz00zzrecettez00();
15672 static obj_t __cnst[ 1 ] ;
15673 static struct { double _; int length; char string[11 +1]; } BgL_bgl_string2166za700za7za7r2189za7 = { 0.0, 11, "recette.scm" }; static obj_t BGl_string2166z00zzrecettez00 = ((obj_t)((long)&(BgL_bgl_string2166za700za7za7r2189za7.length) + 7));
15674 static struct { double _; int length; char string[4 +1]; } BgL_bgl_string2167za700za7za7r2190za7 = { 0.0, 4, "pair" }; static obj_t BGl_string2167z00zzrecettez00 = ((obj_t)((long)&(BgL_bgl_string2167za700za7za7r2190za7.length) + 7));
15675 static struct { double _; int length; char string[6 +1]; } BgL_bgl_string2168za700za7za7r2191za7 = { 0.0, 6, "_main " }; static obj_t BGl_string2168z00zzrecettez00 = ((obj_t)((long)&(BgL_bgl_string2168za700za7za7r2191za7.length) + 7));
15676 static struct { double _; header_t header; obj_t (*entry)(); obj_t (*va_entry)(); obj_t attr; int arity; } const BgL_bgl__mainza700za7za7recett2192za7 = { 0.0, ((header_t)((long)(((long)(3) << (3 + 16)) | 0<<3))), (obj_t (*)())BGl__mainz00zzrecettez00, (obj_t (*)())0L, ((obj_t)(obj_t)((long)(((long)(3) << 3) | 2))), 1 }; const obj_t BGl_mainzd2envzd2zzrecettez00 = ((obj_t)(&(BgL_bgl__mainza700za7za7recett2192za7.header)));
15677 extern void bglpth_setup(int, char *[], char *[]);
15678 long bigloo_abort(long n) { return n; }
15679 int main(int argc, char *argv[], char *env[])
15681 bglpth_setup(argc, argv, env);
15682 return _bigloo_main(argc, argv, env, &bigloo_main);}
15683 obj_t BGl_modulezd2initializa7ationz75zzrecettez00(long BgL_checksumz00_509, char * BgL_fromz00_510)
15687 bool_t BgL_test2176z00_511;
15689 obj_t BgL_arg2181z00_513;
15690 BgL_arg2181z00_513 =
15691 (obj_t)((long)(((long)(BGl_bitzd2andzd2zz__bitz00(BgL_checksumz00_509, ((long)67281932))) << 3) | 1));
15692 BgL_test2176z00_511 =
15693 BGl_zd3fxzd3zz__r4_numbers_6_5_fixnumz00(
15694 (long)(long)((long)((long)(BgL_arg2181z00_513) >> 3)), BgL_checksumz00_509); }
15695 if(BgL_test2176z00_511)
15698 (BGl_requirezd2initializa7ationz75zzrecettez00 != ((obj_t)(obj_t)((long)(((long)(1) << 3) | 2)))))
15700 BGl_requirezd2initializa7ationz75zzrecettez00 =
15701 (((bool_t)0) ? ((obj_t)(obj_t)((long)(((long)(2) << 3) | 2))) : ((obj_t)(obj_t)((long)(((long)(1) << 3) | 2))));
15702 BGl_libraryzd2moduleszd2initz00zzrecettez00();
15703 BGl_cnstzd2initzd2zzrecettez00();
15704 BGl_genericzd2initzd2zzrecettez00();
15705 BGl_methodzd2initzd2zzrecettez00();
15706 BGl_toplevelzd2initzd2zzrecettez00();
15707 return ((obj_t)(obj_t)((long)(((long)(3) << 3) | 2)));} else
15709 return ((obj_t)(obj_t)((long)(((long)(3) << 3) | 2)));} } else
15711 char * BgL_sz00_512;
15715 BGl_modulezd2initzd2errorz00zz__errorz00(BgL_sz00_512, BgL_fromz00_510);} } }
15717 obj_t bigloo_main(obj_t BgL_argvz00_514)
15720 BGl_modulezd2initializa7ationz75zzrecettez00(((long)0), "recette");
15721 BGl_bigloozd2initializa7edz12z67zz__paramz00();
15723 obj_t BgL_arg2188z00_515;
15724 BgL_arg2188z00_515 =
15725 BGl_mainz00zzrecettez00(BgL_argvz00_514);
15727 bigloo_exit(BgL_arg2188z00_515);} }
15729 obj_t BGl_libraryzd2moduleszd2initz00zzrecettez00()
15732 BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "recette");
15733 BGl_modulezd2initializa7ationz75zz__errorz00(((long)0), "recette");
15734 BGl_modulezd2initializa7ationz75zz__gstreamer_gstreamerz00(((long)0), "recette");
15735 BGl_modulezd2initializa7ationz75zz__pth_threadz00(((long)0), "recette");
15736 return ((obj_t)(obj_t)((long)(((long)(3) << 3) | 2)));}
15738 obj_t BGl_cnstzd2initzd2zzrecettez00()
15742 obj_t BgL_cportz00_501;
15744 bgl_open_input_string(BGl_string2168z00zzrecettez00,
15748 BgL_iz00_502 = ((long)0);
15751 bool_t BgL_test2169z00_504;
15752 BgL_test2169z00_504 =
15753 (BgL_iz00_502==((long)-1));
15754 if(BgL_test2169z00_504)
15756 return ((obj_t)(obj_t)((long)(((long)(3) << 3) | 2)));} else
15759 obj_t BgL_arg2175z00_505;
15762 obj_t BgL_iportz00_506;
15763 BgL_iportz00_506 = BgL_cportz00_501;
15765 obj_t BgL_locationz00_507;
15766 BgL_locationz00_507 =
15767 (((bool_t)0) ? ((obj_t)(obj_t)((long)(((long)(2) << 3) | 2))) : ((obj_t)(obj_t)((long)(((long)(1) << 3) | 2))));
15769 BgL_arg2175z00_505 =
15770 BGl_readz00zz__readerz00(BgL_iportz00_506, BgL_locationz00_507); } } } }
15772 int BgL_auxz00_545;
15774 (int)(BgL_iz00_502);
15775 ( __cnst[ BgL_auxz00_545 ] = BgL_arg2175z00_505, ((obj_t)(obj_t)((long)(((long)(3) << 3) | 2))) ); } }
15777 int BgL_auxz00_508;
15780 (BgL_iz00_502-((long)1)));
15784 (long)(BgL_auxz00_508);
15785 BgL_iz00_502 = BgL_iz00_550;
15786 goto BgL_loopz00_503;} } } } } } }
15788 obj_t BGl_toplevelzd2initzd2zzrecettez00()
15791 BGl_modulezd2initializa7ationz75zz__gstreamer_gstreamerz00(((long)0),
15792 ((char *)(&((((obj_t)((long)BGl_string2166z00zzrecettez00 - 7))->string_t).char0))));
15793 BGl_modulezd2initializa7ationz75zz__pth_threadz00(((long)0),
15794 ((char *)(&((((obj_t)((long)BGl_string2166z00zzrecettez00 - 7))->string_t).char0))));
15795 return ((obj_t)(obj_t)((long)(((long)(1) << 3) | 2)));}
15797 obj_t BGl_mainz00zzrecettez00(obj_t BgL_argvz00_1)
15801 obj_t BgL_list2163z00_496;
15802 BgL_list2163z00_496 =
15803 ({ obj_t an_object; an_object = (obj_t)GC_malloc( (sizeof( struct pair )) ); an_object->pair_t.car = (obj_t)((long)(((long)(((long)0)) << 3) | 1)); an_object->pair_t.cdr = ((obj_t)(obj_t)((long)(((long)(0) << 3) | 2))); ( ((obj_t)((long)an_object | 3)) ); });
15805 BGl_exitz00zz__errorz00(BgL_list2163z00_496);} }
15807 obj_t BGl__mainz00zzrecettez00(obj_t BgL_envz00_497, obj_t BgL_argvz00_498)
15811 obj_t BgL_auxz00_559;
15813 obj_t BgL_aux2164z00_499;
15814 BgL_aux2164z00_499 = BgL_argvz00_498;
15816 bool_t BgL_test2165z00_500;
15817 BgL_test2165z00_500 =
15818 ((((long)BgL_aux2164z00_499) & ((1 << 3) - 1)) == 3);
15819 if(BgL_test2165z00_500)
15821 BgL_auxz00_559 = BgL_aux2164z00_499
15824 BGl_bigloozd2typezd2errorz00zz__errorz00(
15825 __cnst[ ((long)0) ], BGl_string2167z00zzrecettez00, BgL_aux2164z00_499);
15828 BGl_mainz00zzrecettez00(BgL_auxz00_559);} }
15830 obj_t BGl_genericzd2initzd2zzrecettez00()
15833 return ((obj_t)(obj_t)((long)(((long)(3) << 3) | 2)));}
15835 obj_t BGl_methodzd2initzd2zzrecettez00()
15838 return ((obj_t)(obj_t)((long)(((long)(3) << 3) | 2)));}