X-Git-Url: https://git.wh0rd.org/?p=ICEs.git;a=blobdiff_plain;f=sb-bigloo%2Fbigloo.i.1;fp=sb-bigloo%2Fbigloo.i.1;h=1ace5cb842a0e248f95933a00dac73d21aa5ca8d;hp=0000000000000000000000000000000000000000;hb=81f80d8c1c9898ae1c26534a3287a47220390f5c;hpb=45516216fc552c838e650d868214d867027a64f6 diff --git a/sb-bigloo/bigloo.i.1 b/sb-bigloo/bigloo.i.1 new file mode 100644 index 0000000..1ace5cb --- /dev/null +++ b/sb-bigloo/bigloo.i.1 @@ -0,0 +1,15839 @@ +typedef long unsigned int size_t; +typedef unsigned char __u_char; +typedef unsigned short int __u_short; +typedef unsigned int __u_int; +typedef unsigned long int __u_long; +typedef signed char __int8_t; +typedef unsigned char __uint8_t; +typedef signed short int __int16_t; +typedef unsigned short int __uint16_t; +typedef signed int __int32_t; +typedef unsigned int __uint32_t; +typedef signed long int __int64_t; +typedef unsigned long int __uint64_t; +typedef long int __quad_t; +typedef unsigned long int __u_quad_t; +typedef unsigned long int __dev_t; +typedef unsigned int __uid_t; +typedef unsigned int __gid_t; +typedef unsigned long int __ino_t; +typedef unsigned long int __ino64_t; +typedef unsigned int __mode_t; +typedef unsigned long int __nlink_t; +typedef long int __off_t; +typedef long int __off64_t; +typedef int __pid_t; +typedef struct { int __val[2]; } __fsid_t; +typedef long int __clock_t; +typedef unsigned long int __rlim_t; +typedef unsigned long int __rlim64_t; +typedef unsigned int __id_t; +typedef long int __time_t; +typedef unsigned int __useconds_t; +typedef long int __suseconds_t; +typedef int __daddr_t; +typedef long int __swblk_t; +typedef int __key_t; +typedef int __clockid_t; +typedef void * __timer_t; +typedef long int __blksize_t; +typedef long int __blkcnt_t; +typedef long int __blkcnt64_t; +typedef unsigned long int __fsblkcnt_t; +typedef unsigned long int __fsblkcnt64_t; +typedef unsigned long int __fsfilcnt_t; +typedef unsigned long int __fsfilcnt64_t; +typedef long int __ssize_t; +typedef __off64_t __loff_t; +typedef __quad_t *__qaddr_t; +typedef char *__caddr_t; +typedef long int __intptr_t; +typedef unsigned int __socklen_t; +struct _IO_FILE; +typedef struct _IO_FILE FILE; +typedef struct _IO_FILE __FILE; +typedef struct +{ + int __count; + union + { + unsigned int __wch; + char __wchb[4]; + } __value; +} __mbstate_t; +typedef struct +{ + __off_t __pos; + __mbstate_t __state; +} _G_fpos_t; +typedef struct +{ + __off64_t __pos; + __mbstate_t __state; +} _G_fpos64_t; +typedef int _G_int16_t __attribute__ ((__mode__ (__HI__))); +typedef int _G_int32_t __attribute__ ((__mode__ (__SI__))); +typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__))); +typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__))); +typedef __builtin_va_list __gnuc_va_list; +struct _IO_jump_t; struct _IO_FILE; +typedef void _IO_lock_t; +struct _IO_marker { + struct _IO_marker *_next; + struct _IO_FILE *_sbuf; + int _pos; +}; +enum __codecvt_result +{ + __codecvt_ok, + __codecvt_partial, + __codecvt_error, + __codecvt_noconv +}; +struct _IO_FILE { + int _flags; + char* _IO_read_ptr; + char* _IO_read_end; + char* _IO_read_base; + char* _IO_write_base; + char* _IO_write_ptr; + char* _IO_write_end; + char* _IO_buf_base; + char* _IO_buf_end; + char *_IO_save_base; + char *_IO_backup_base; + char *_IO_save_end; + struct _IO_marker *_markers; + struct _IO_FILE *_chain; + int _fileno; + int _flags2; + __off_t _old_offset; + unsigned short _cur_column; + signed char _vtable_offset; + char _shortbuf[1]; + _IO_lock_t *_lock; + __off64_t _offset; + void *__pad1; + void *__pad2; + void *__pad3; + void *__pad4; + size_t __pad5; + int _mode; + char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; +}; +typedef struct _IO_FILE _IO_FILE; +struct _IO_FILE_plus; +extern struct _IO_FILE_plus _IO_2_1_stdin_; +extern struct _IO_FILE_plus _IO_2_1_stdout_; +extern struct _IO_FILE_plus _IO_2_1_stderr_; +typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes); +typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf, + size_t __n); +typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w); +typedef int __io_close_fn (void *__cookie); +extern int __underflow (_IO_FILE *); +extern int __uflow (_IO_FILE *); +extern int __overflow (_IO_FILE *, int); +extern int _IO_getc (_IO_FILE *__fp); +extern int _IO_putc (int __c, _IO_FILE *__fp); +extern int _IO_feof (_IO_FILE *__fp) __attribute__ ((__nothrow__)); +extern int _IO_ferror (_IO_FILE *__fp) __attribute__ ((__nothrow__)); +extern int _IO_peekc_locked (_IO_FILE *__fp); +extern void _IO_flockfile (_IO_FILE *) __attribute__ ((__nothrow__)); +extern void _IO_funlockfile (_IO_FILE *) __attribute__ ((__nothrow__)); +extern int _IO_ftrylockfile (_IO_FILE *) __attribute__ ((__nothrow__)); +extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict, + __gnuc_va_list, int *__restrict); +extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict, + __gnuc_va_list); +extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t); +extern size_t _IO_sgetn (_IO_FILE *, void *, size_t); +extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int); +extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int); +extern void _IO_free_backup_area (_IO_FILE *) __attribute__ ((__nothrow__)); +typedef _G_fpos_t fpos_t; +extern struct _IO_FILE *stdin; +extern struct _IO_FILE *stdout; +extern struct _IO_FILE *stderr; +extern int remove (__const char *__filename) __attribute__ ((__nothrow__)); +extern int rename (__const char *__old, __const char *__new) __attribute__ ((__nothrow__)); +extern int renameat (int __oldfd, __const char *__old, int __newfd, + __const char *__new) __attribute__ ((__nothrow__)); +extern FILE *tmpfile (void) ; +extern char *tmpnam (char *__s) __attribute__ ((__nothrow__)) ; +extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__)) ; +extern char *tempnam (__const char *__dir, __const char *__pfx) + __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; +extern int fclose (FILE *__stream); +extern int fflush (FILE *__stream); +extern int fflush_unlocked (FILE *__stream); +extern FILE *fopen (__const char *__restrict __filename, + __const char *__restrict __modes) ; +extern FILE *freopen (__const char *__restrict __filename, + __const char *__restrict __modes, + FILE *__restrict __stream) ; +extern FILE *fdopen (int __fd, __const char *__modes) __attribute__ ((__nothrow__)) ; +extern FILE *fmemopen (void *__s, size_t __len, __const char *__modes) + __attribute__ ((__nothrow__)) ; +extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__)) ; +extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__)); +extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, + int __modes, size_t __n) __attribute__ ((__nothrow__)); +extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, + size_t __size) __attribute__ ((__nothrow__)); +extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__)); +extern int fprintf (FILE *__restrict __stream, + __const char *__restrict __format, ...); +extern int printf (__const char *__restrict __format, ...); +extern int sprintf (char *__restrict __s, + __const char *__restrict __format, ...) __attribute__ ((__nothrow__)); +extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format, + __gnuc_va_list __arg); +extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg); +extern int vsprintf (char *__restrict __s, __const char *__restrict __format, + __gnuc_va_list __arg) __attribute__ ((__nothrow__)); +extern int snprintf (char *__restrict __s, size_t __maxlen, + __const char *__restrict __format, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))); +extern int vsnprintf (char *__restrict __s, size_t __maxlen, + __const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))); +extern int vdprintf (int __fd, __const char *__restrict __fmt, + __gnuc_va_list __arg) + __attribute__ ((__format__ (__printf__, 2, 0))); +extern int dprintf (int __fd, __const char *__restrict __fmt, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); +extern int fscanf (FILE *__restrict __stream, + __const char *__restrict __format, ...) ; +extern int scanf (__const char *__restrict __format, ...) ; +extern int sscanf (__const char *__restrict __s, + __const char *__restrict __format, ...) __attribute__ ((__nothrow__)); +extern int fscanf (FILE *__restrict __stream, __const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf") ; +extern int scanf (__const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf") ; +extern int sscanf (__const char *__restrict __s, __const char *__restrict __format, ...) __asm__ ("" "__isoc99_sscanf") __attribute__ ((__nothrow__)); +extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format, + __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 2, 0))) ; +extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 1, 0))) ; +extern int vsscanf (__const char *__restrict __s, + __const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__scanf__, 2, 0))); +extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf") + __attribute__ ((__format__ (__scanf__, 2, 0))) ; +extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf") + __attribute__ ((__format__ (__scanf__, 1, 0))) ; +extern int vsscanf (__const char *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vsscanf") + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__scanf__, 2, 0))); +extern int fgetc (FILE *__stream); +extern int getc (FILE *__stream); +extern int getchar (void); +extern int getc_unlocked (FILE *__stream); +extern int getchar_unlocked (void); +extern int fgetc_unlocked (FILE *__stream); +extern int fputc (int __c, FILE *__stream); +extern int putc (int __c, FILE *__stream); +extern int putchar (int __c); +extern int fputc_unlocked (int __c, FILE *__stream); +extern int putc_unlocked (int __c, FILE *__stream); +extern int putchar_unlocked (int __c); +extern int getw (FILE *__stream); +extern int putw (int __w, FILE *__stream); +extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) + ; +extern char *gets (char *__s) ; +extern __ssize_t __getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) ; +extern __ssize_t getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) ; +extern __ssize_t getline (char **__restrict __lineptr, + size_t *__restrict __n, + FILE *__restrict __stream) ; +extern int fputs (__const char *__restrict __s, FILE *__restrict __stream); +extern int puts (__const char *__s); +extern int ungetc (int __c, FILE *__stream); +extern size_t fread (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) ; +extern size_t fwrite (__const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __s) ; +extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) ; +extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) ; +extern int fseek (FILE *__stream, long int __off, int __whence); +extern long int ftell (FILE *__stream) ; +extern void rewind (FILE *__stream); +extern int fseeko (FILE *__stream, __off_t __off, int __whence); +extern __off_t ftello (FILE *__stream) ; +extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); +extern int fsetpos (FILE *__stream, __const fpos_t *__pos); +extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__)); +extern int feof (FILE *__stream) __attribute__ ((__nothrow__)) ; +extern int ferror (FILE *__stream) __attribute__ ((__nothrow__)) ; +extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__)); +extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ; +extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ; +extern void perror (__const char *__s); +extern int sys_nerr; +extern __const char *__const sys_errlist[]; +extern int fileno (FILE *__stream) __attribute__ ((__nothrow__)) ; +extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ; +extern FILE *popen (__const char *__command, __const char *__modes) ; +extern int pclose (FILE *__stream); +extern char *ctermid (char *__s) __attribute__ ((__nothrow__)); +extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__)); +extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__)) ; +extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__)); +typedef long int __jmp_buf[8]; +typedef int __sig_atomic_t; +typedef struct + { + unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; + } __sigset_t; +struct __jmp_buf_tag + { + __jmp_buf __jmpbuf; + int __mask_was_saved; + __sigset_t __saved_mask; + }; +typedef struct __jmp_buf_tag jmp_buf[1]; +extern int setjmp (jmp_buf __env) __attribute__ ((__nothrow__)); +extern int __sigsetjmp (struct __jmp_buf_tag __env[1], int __savemask) __attribute__ ((__nothrow__)); +extern int _setjmp (struct __jmp_buf_tag __env[1]) __attribute__ ((__nothrow__)); +extern void longjmp (struct __jmp_buf_tag __env[1], int __val) + __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); +extern void _longjmp (struct __jmp_buf_tag __env[1], int __val) + __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); +typedef struct __jmp_buf_tag sigjmp_buf[1]; +extern void siglongjmp (sigjmp_buf __env, int __val) + __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); +extern int *__errno_location (void) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +typedef int wchar_t; +typedef struct + { + int quot; + int rem; + } div_t; +typedef struct + { + long int quot; + long int rem; + } ldiv_t; +__extension__ typedef struct + { + long long int quot; + long long int rem; + } lldiv_t; +extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__)) ; +extern double atof (__const char *__nptr) + __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; +extern int atoi (__const char *__nptr) + __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; +extern long int atol (__const char *__nptr) + __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; +__extension__ extern long long int atoll (__const char *__nptr) + __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; +extern double strtod (__const char *__restrict __nptr, + char **__restrict __endptr) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; +extern float strtof (__const char *__restrict __nptr, + char **__restrict __endptr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; +extern long double strtold (__const char *__restrict __nptr, + char **__restrict __endptr) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; +extern long int strtol (__const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; +extern unsigned long int strtoul (__const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; +__extension__ +extern long long int strtoq (__const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; +__extension__ +extern unsigned long long int strtouq (__const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; +__extension__ +extern long long int strtoll (__const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; +__extension__ +extern unsigned long long int strtoull (__const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; +extern char *l64a (long int __n) __attribute__ ((__nothrow__)) ; +extern long int a64l (__const char *__s) + __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; +typedef __u_char u_char; +typedef __u_short u_short; +typedef __u_int u_int; +typedef __u_long u_long; +typedef __quad_t quad_t; +typedef __u_quad_t u_quad_t; +typedef __fsid_t fsid_t; +typedef __loff_t loff_t; +typedef __ino_t ino_t; +typedef __dev_t dev_t; +typedef __gid_t gid_t; +typedef __mode_t mode_t; +typedef __nlink_t nlink_t; +typedef __uid_t uid_t; +typedef __off_t off_t; +typedef __pid_t pid_t; +typedef __id_t id_t; +typedef __ssize_t ssize_t; +typedef __daddr_t daddr_t; +typedef __caddr_t caddr_t; +typedef __key_t key_t; +typedef __time_t time_t; +typedef __clockid_t clockid_t; +typedef __timer_t timer_t; +typedef unsigned long int ulong; +typedef unsigned short int ushort; +typedef unsigned int uint; +typedef int int8_t __attribute__ ((__mode__ (__QI__))); +typedef int int16_t __attribute__ ((__mode__ (__HI__))); +typedef int int32_t __attribute__ ((__mode__ (__SI__))); +typedef int int64_t __attribute__ ((__mode__ (__DI__))); +typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__))); +typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__))); +typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__))); +typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__))); +typedef int register_t __attribute__ ((__mode__ (__word__))); +typedef __sigset_t sigset_t; +struct timespec + { + __time_t tv_sec; + long int tv_nsec; + }; +struct timeval + { + __time_t tv_sec; + __suseconds_t tv_usec; + }; +typedef __suseconds_t suseconds_t; +typedef long int __fd_mask; +typedef struct + { + __fd_mask __fds_bits[1024 / (8 * sizeof (__fd_mask))]; + } fd_set; +typedef __fd_mask fd_mask; +extern int select (int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + struct timeval *__restrict __timeout); +extern int pselect (int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + const struct timespec *__restrict __timeout, + const __sigset_t *__restrict __sigmask); +__extension__ +extern unsigned int gnu_dev_major (unsigned long long int __dev) + __attribute__ ((__nothrow__)); +__extension__ +extern unsigned int gnu_dev_minor (unsigned long long int __dev) + __attribute__ ((__nothrow__)); +__extension__ +extern unsigned long long int gnu_dev_makedev (unsigned int __major, + unsigned int __minor) + __attribute__ ((__nothrow__)); +typedef __blkcnt_t blkcnt_t; +typedef __fsblkcnt_t fsblkcnt_t; +typedef __fsfilcnt_t fsfilcnt_t; +typedef unsigned long int pthread_t; +typedef union +{ + char __size[56]; + long int __align; +} pthread_attr_t; +typedef struct __pthread_internal_list +{ + struct __pthread_internal_list *__prev; + struct __pthread_internal_list *__next; +} __pthread_list_t; +typedef union +{ + struct __pthread_mutex_s + { + int __lock; + unsigned int __count; + int __owner; + unsigned int __nusers; + int __kind; + int __spins; + __pthread_list_t __list; + } __data; + char __size[40]; + long int __align; +} pthread_mutex_t; +typedef union +{ + char __size[4]; + int __align; +} pthread_mutexattr_t; +typedef union +{ + struct + { + int __lock; + unsigned int __futex; + __extension__ unsigned long long int __total_seq; + __extension__ unsigned long long int __wakeup_seq; + __extension__ unsigned long long int __woken_seq; + void *__mutex; + unsigned int __nwaiters; + unsigned int __broadcast_seq; + } __data; + char __size[48]; + __extension__ long long int __align; +} pthread_cond_t; +typedef union +{ + char __size[4]; + int __align; +} pthread_condattr_t; +typedef unsigned int pthread_key_t; +typedef int pthread_once_t; +typedef union +{ + struct + { + int __lock; + unsigned int __nr_readers; + unsigned int __readers_wakeup; + unsigned int __writer_wakeup; + unsigned int __nr_readers_queued; + unsigned int __nr_writers_queued; + int __writer; + int __shared; + unsigned long int __pad1; + unsigned long int __pad2; + unsigned int __flags; + } __data; + char __size[56]; + long int __align; +} pthread_rwlock_t; +typedef union +{ + char __size[8]; + long int __align; +} pthread_rwlockattr_t; +typedef volatile int pthread_spinlock_t; +typedef union +{ + char __size[32]; + long int __align; +} pthread_barrier_t; +typedef union +{ + char __size[4]; + int __align; +} pthread_barrierattr_t; +extern long int random (void) __attribute__ ((__nothrow__)); +extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__)); +extern char *initstate (unsigned int __seed, char *__statebuf, + size_t __statelen) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); +extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +struct random_data + { + int32_t *fptr; + int32_t *rptr; + int32_t *state; + int rand_type; + int rand_deg; + int rand_sep; + int32_t *end_ptr; + }; +extern int random_r (struct random_data *__restrict __buf, + int32_t *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); +extern int srandom_r (unsigned int __seed, struct random_data *__buf) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); +extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, + size_t __statelen, + struct random_data *__restrict __buf) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4))); +extern int setstate_r (char *__restrict __statebuf, + struct random_data *__restrict __buf) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); +extern int rand (void) __attribute__ ((__nothrow__)); +extern void srand (unsigned int __seed) __attribute__ ((__nothrow__)); +extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__)); +extern double drand48 (void) __attribute__ ((__nothrow__)); +extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +extern long int lrand48 (void) __attribute__ ((__nothrow__)); +extern long int nrand48 (unsigned short int __xsubi[3]) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +extern long int mrand48 (void) __attribute__ ((__nothrow__)); +extern long int jrand48 (unsigned short int __xsubi[3]) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +extern void srand48 (long int __seedval) __attribute__ ((__nothrow__)); +extern unsigned short int *seed48 (unsigned short int __seed16v[3]) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +struct drand48_data + { + unsigned short int __x[3]; + unsigned short int __old_x[3]; + unsigned short int __c; + unsigned short int __init; + unsigned long long int __a; + }; +extern int drand48_r (struct drand48_data *__restrict __buffer, + double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); +extern int erand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); +extern int lrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); +extern int nrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); +extern int mrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); +extern int jrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); +extern int srand48_r (long int __seedval, struct drand48_data *__buffer) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); +extern int seed48_r (unsigned short int __seed16v[3], + struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); +extern int lcong48_r (unsigned short int __param[7], + struct drand48_data *__buffer) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); +extern void *malloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; +extern void *calloc (size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; +extern void *realloc (void *__ptr, size_t __size) + __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__)); +extern void free (void *__ptr) __attribute__ ((__nothrow__)); +extern void cfree (void *__ptr) __attribute__ ((__nothrow__)); +extern void *alloca (size_t __size) __attribute__ ((__nothrow__)); +extern void *valloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; +extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; +extern void abort (void) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); +extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +extern void exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); +extern void _Exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); +extern char *getenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; +extern char *__secure_getenv (__const char *__name) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; +extern int putenv (char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +extern int setenv (__const char *__name, __const char *__value, int __replace) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); +extern int unsetenv (__const char *__name) __attribute__ ((__nothrow__)); +extern int clearenv (void) __attribute__ ((__nothrow__)); +extern char *mktemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; +extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ; +extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; +extern int system (__const char *__command) ; +extern char *realpath (__const char *__restrict __name, + char *__restrict __resolved) __attribute__ ((__nothrow__)) ; +typedef int (*__compar_fn_t) (__const void *, __const void *); +extern void *bsearch (__const void *__key, __const void *__base, + size_t __nmemb, size_t __size, __compar_fn_t __compar) + __attribute__ ((__nonnull__ (1, 2, 5))) ; +extern void qsort (void *__base, size_t __nmemb, size_t __size, + __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); +extern int abs (int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; +extern long int labs (long int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; +__extension__ extern long long int llabs (long long int __x) + __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; +extern div_t div (int __numer, int __denom) + __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; +extern ldiv_t ldiv (long int __numer, long int __denom) + __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; +__extension__ extern lldiv_t lldiv (long long int __numer, + long long int __denom) + __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; +extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; +extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; +extern char *gcvt (double __value, int __ndigit, char *__buf) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ; +extern char *qecvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; +extern char *qfcvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; +extern char *qgcvt (long double __value, int __ndigit, char *__buf) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ; +extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); +extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); +extern int qecvt_r (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign, + char *__restrict __buf, size_t __len) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); +extern int qfcvt_r (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign, + char *__restrict __buf, size_t __len) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); +extern int mblen (__const char *__s, size_t __n) __attribute__ ((__nothrow__)) ; +extern int mbtowc (wchar_t *__restrict __pwc, + __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__)) ; +extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__)) ; +extern size_t mbstowcs (wchar_t *__restrict __pwcs, + __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__)); +extern size_t wcstombs (char *__restrict __s, + __const wchar_t *__restrict __pwcs, size_t __n) + __attribute__ ((__nothrow__)); +extern int rpmatch (__const char *__response) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; +extern int posix_openpt (int __oflag) ; +extern int getloadavg (double __loadavg[], int __nelem) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +typedef float float_t; +typedef double double_t; +extern double acos (double __x) __attribute__ ((__nothrow__)); extern double __acos (double __x) __attribute__ ((__nothrow__)); +extern double asin (double __x) __attribute__ ((__nothrow__)); extern double __asin (double __x) __attribute__ ((__nothrow__)); +extern double atan (double __x) __attribute__ ((__nothrow__)); extern double __atan (double __x) __attribute__ ((__nothrow__)); +extern double atan2 (double __y, double __x) __attribute__ ((__nothrow__)); extern double __atan2 (double __y, double __x) __attribute__ ((__nothrow__)); +extern double cos (double __x) __attribute__ ((__nothrow__)); extern double __cos (double __x) __attribute__ ((__nothrow__)); +extern double sin (double __x) __attribute__ ((__nothrow__)); extern double __sin (double __x) __attribute__ ((__nothrow__)); +extern double tan (double __x) __attribute__ ((__nothrow__)); extern double __tan (double __x) __attribute__ ((__nothrow__)); +extern double cosh (double __x) __attribute__ ((__nothrow__)); extern double __cosh (double __x) __attribute__ ((__nothrow__)); +extern double sinh (double __x) __attribute__ ((__nothrow__)); extern double __sinh (double __x) __attribute__ ((__nothrow__)); +extern double tanh (double __x) __attribute__ ((__nothrow__)); extern double __tanh (double __x) __attribute__ ((__nothrow__)); +extern double acosh (double __x) __attribute__ ((__nothrow__)); extern double __acosh (double __x) __attribute__ ((__nothrow__)); +extern double asinh (double __x) __attribute__ ((__nothrow__)); extern double __asinh (double __x) __attribute__ ((__nothrow__)); +extern double atanh (double __x) __attribute__ ((__nothrow__)); extern double __atanh (double __x) __attribute__ ((__nothrow__)); +extern double exp (double __x) __attribute__ ((__nothrow__)); extern double __exp (double __x) __attribute__ ((__nothrow__)); +extern double frexp (double __x, int *__exponent) __attribute__ ((__nothrow__)); extern double __frexp (double __x, int *__exponent) __attribute__ ((__nothrow__)); +extern double ldexp (double __x, int __exponent) __attribute__ ((__nothrow__)); extern double __ldexp (double __x, int __exponent) __attribute__ ((__nothrow__)); +extern double log (double __x) __attribute__ ((__nothrow__)); extern double __log (double __x) __attribute__ ((__nothrow__)); +extern double log10 (double __x) __attribute__ ((__nothrow__)); extern double __log10 (double __x) __attribute__ ((__nothrow__)); +extern double modf (double __x, double *__iptr) __attribute__ ((__nothrow__)); extern double __modf (double __x, double *__iptr) __attribute__ ((__nothrow__)); +extern double expm1 (double __x) __attribute__ ((__nothrow__)); extern double __expm1 (double __x) __attribute__ ((__nothrow__)); +extern double log1p (double __x) __attribute__ ((__nothrow__)); extern double __log1p (double __x) __attribute__ ((__nothrow__)); +extern double logb (double __x) __attribute__ ((__nothrow__)); extern double __logb (double __x) __attribute__ ((__nothrow__)); +extern double exp2 (double __x) __attribute__ ((__nothrow__)); extern double __exp2 (double __x) __attribute__ ((__nothrow__)); +extern double log2 (double __x) __attribute__ ((__nothrow__)); extern double __log2 (double __x) __attribute__ ((__nothrow__)); +extern double pow (double __x, double __y) __attribute__ ((__nothrow__)); extern double __pow (double __x, double __y) __attribute__ ((__nothrow__)); +extern double sqrt (double __x) __attribute__ ((__nothrow__)); extern double __sqrt (double __x) __attribute__ ((__nothrow__)); +extern double hypot (double __x, double __y) __attribute__ ((__nothrow__)); extern double __hypot (double __x, double __y) __attribute__ ((__nothrow__)); +extern double cbrt (double __x) __attribute__ ((__nothrow__)); extern double __cbrt (double __x) __attribute__ ((__nothrow__)); +extern double ceil (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __ceil (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern double fabs (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __fabs (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern double floor (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __floor (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern double fmod (double __x, double __y) __attribute__ ((__nothrow__)); extern double __fmod (double __x, double __y) __attribute__ ((__nothrow__)); +extern int __isinf (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern int __finite (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern int isinf (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern int finite (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern double drem (double __x, double __y) __attribute__ ((__nothrow__)); extern double __drem (double __x, double __y) __attribute__ ((__nothrow__)); +extern double significand (double __x) __attribute__ ((__nothrow__)); extern double __significand (double __x) __attribute__ ((__nothrow__)); +extern double copysign (double __x, double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __copysign (double __x, double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern double nan (__const char *__tagb) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __nan (__const char *__tagb) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern int __isnan (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern int isnan (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern double j0 (double) __attribute__ ((__nothrow__)); extern double __j0 (double) __attribute__ ((__nothrow__)); +extern double j1 (double) __attribute__ ((__nothrow__)); extern double __j1 (double) __attribute__ ((__nothrow__)); +extern double jn (int, double) __attribute__ ((__nothrow__)); extern double __jn (int, double) __attribute__ ((__nothrow__)); +extern double y0 (double) __attribute__ ((__nothrow__)); extern double __y0 (double) __attribute__ ((__nothrow__)); +extern double y1 (double) __attribute__ ((__nothrow__)); extern double __y1 (double) __attribute__ ((__nothrow__)); +extern double yn (int, double) __attribute__ ((__nothrow__)); extern double __yn (int, double) __attribute__ ((__nothrow__)); +extern double erf (double) __attribute__ ((__nothrow__)); extern double __erf (double) __attribute__ ((__nothrow__)); +extern double erfc (double) __attribute__ ((__nothrow__)); extern double __erfc (double) __attribute__ ((__nothrow__)); +extern double lgamma (double) __attribute__ ((__nothrow__)); extern double __lgamma (double) __attribute__ ((__nothrow__)); +extern double tgamma (double) __attribute__ ((__nothrow__)); extern double __tgamma (double) __attribute__ ((__nothrow__)); +extern double gamma (double) __attribute__ ((__nothrow__)); extern double __gamma (double) __attribute__ ((__nothrow__)); +extern double lgamma_r (double, int *__signgamp) __attribute__ ((__nothrow__)); extern double __lgamma_r (double, int *__signgamp) __attribute__ ((__nothrow__)); +extern double rint (double __x) __attribute__ ((__nothrow__)); extern double __rint (double __x) __attribute__ ((__nothrow__)); +extern double nextafter (double __x, double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __nextafter (double __x, double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern double nexttoward (double __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __nexttoward (double __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern double remainder (double __x, double __y) __attribute__ ((__nothrow__)); extern double __remainder (double __x, double __y) __attribute__ ((__nothrow__)); +extern double scalbn (double __x, int __n) __attribute__ ((__nothrow__)); extern double __scalbn (double __x, int __n) __attribute__ ((__nothrow__)); +extern int ilogb (double __x) __attribute__ ((__nothrow__)); extern int __ilogb (double __x) __attribute__ ((__nothrow__)); +extern double scalbln (double __x, long int __n) __attribute__ ((__nothrow__)); extern double __scalbln (double __x, long int __n) __attribute__ ((__nothrow__)); +extern double nearbyint (double __x) __attribute__ ((__nothrow__)); extern double __nearbyint (double __x) __attribute__ ((__nothrow__)); +extern double round (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __round (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern double trunc (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __trunc (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern double remquo (double __x, double __y, int *__quo) __attribute__ ((__nothrow__)); extern double __remquo (double __x, double __y, int *__quo) __attribute__ ((__nothrow__)); +extern long int lrint (double __x) __attribute__ ((__nothrow__)); extern long int __lrint (double __x) __attribute__ ((__nothrow__)); +extern long long int llrint (double __x) __attribute__ ((__nothrow__)); extern long long int __llrint (double __x) __attribute__ ((__nothrow__)); +extern long int lround (double __x) __attribute__ ((__nothrow__)); extern long int __lround (double __x) __attribute__ ((__nothrow__)); +extern long long int llround (double __x) __attribute__ ((__nothrow__)); extern long long int __llround (double __x) __attribute__ ((__nothrow__)); +extern double fdim (double __x, double __y) __attribute__ ((__nothrow__)); extern double __fdim (double __x, double __y) __attribute__ ((__nothrow__)); +extern double fmax (double __x, double __y) __attribute__ ((__nothrow__)); extern double __fmax (double __x, double __y) __attribute__ ((__nothrow__)); +extern double fmin (double __x, double __y) __attribute__ ((__nothrow__)); extern double __fmin (double __x, double __y) __attribute__ ((__nothrow__)); +extern int __fpclassify (double __value) __attribute__ ((__nothrow__)) + __attribute__ ((__const__)); +extern int __signbit (double __value) __attribute__ ((__nothrow__)) + __attribute__ ((__const__)); +extern double fma (double __x, double __y, double __z) __attribute__ ((__nothrow__)); extern double __fma (double __x, double __y, double __z) __attribute__ ((__nothrow__)); +extern double scalb (double __x, double __n) __attribute__ ((__nothrow__)); extern double __scalb (double __x, double __n) __attribute__ ((__nothrow__)); +extern float acosf (float __x) __attribute__ ((__nothrow__)); extern float __acosf (float __x) __attribute__ ((__nothrow__)); +extern float asinf (float __x) __attribute__ ((__nothrow__)); extern float __asinf (float __x) __attribute__ ((__nothrow__)); +extern float atanf (float __x) __attribute__ ((__nothrow__)); extern float __atanf (float __x) __attribute__ ((__nothrow__)); +extern float atan2f (float __y, float __x) __attribute__ ((__nothrow__)); extern float __atan2f (float __y, float __x) __attribute__ ((__nothrow__)); +extern float cosf (float __x) __attribute__ ((__nothrow__)); extern float __cosf (float __x) __attribute__ ((__nothrow__)); +extern float sinf (float __x) __attribute__ ((__nothrow__)); extern float __sinf (float __x) __attribute__ ((__nothrow__)); +extern float tanf (float __x) __attribute__ ((__nothrow__)); extern float __tanf (float __x) __attribute__ ((__nothrow__)); +extern float coshf (float __x) __attribute__ ((__nothrow__)); extern float __coshf (float __x) __attribute__ ((__nothrow__)); +extern float sinhf (float __x) __attribute__ ((__nothrow__)); extern float __sinhf (float __x) __attribute__ ((__nothrow__)); +extern float tanhf (float __x) __attribute__ ((__nothrow__)); extern float __tanhf (float __x) __attribute__ ((__nothrow__)); +extern float acoshf (float __x) __attribute__ ((__nothrow__)); extern float __acoshf (float __x) __attribute__ ((__nothrow__)); +extern float asinhf (float __x) __attribute__ ((__nothrow__)); extern float __asinhf (float __x) __attribute__ ((__nothrow__)); +extern float atanhf (float __x) __attribute__ ((__nothrow__)); extern float __atanhf (float __x) __attribute__ ((__nothrow__)); +extern float expf (float __x) __attribute__ ((__nothrow__)); extern float __expf (float __x) __attribute__ ((__nothrow__)); +extern float frexpf (float __x, int *__exponent) __attribute__ ((__nothrow__)); extern float __frexpf (float __x, int *__exponent) __attribute__ ((__nothrow__)); +extern float ldexpf (float __x, int __exponent) __attribute__ ((__nothrow__)); extern float __ldexpf (float __x, int __exponent) __attribute__ ((__nothrow__)); +extern float logf (float __x) __attribute__ ((__nothrow__)); extern float __logf (float __x) __attribute__ ((__nothrow__)); +extern float log10f (float __x) __attribute__ ((__nothrow__)); extern float __log10f (float __x) __attribute__ ((__nothrow__)); +extern float modff (float __x, float *__iptr) __attribute__ ((__nothrow__)); extern float __modff (float __x, float *__iptr) __attribute__ ((__nothrow__)); +extern float expm1f (float __x) __attribute__ ((__nothrow__)); extern float __expm1f (float __x) __attribute__ ((__nothrow__)); +extern float log1pf (float __x) __attribute__ ((__nothrow__)); extern float __log1pf (float __x) __attribute__ ((__nothrow__)); +extern float logbf (float __x) __attribute__ ((__nothrow__)); extern float __logbf (float __x) __attribute__ ((__nothrow__)); +extern float exp2f (float __x) __attribute__ ((__nothrow__)); extern float __exp2f (float __x) __attribute__ ((__nothrow__)); +extern float log2f (float __x) __attribute__ ((__nothrow__)); extern float __log2f (float __x) __attribute__ ((__nothrow__)); +extern float powf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __powf (float __x, float __y) __attribute__ ((__nothrow__)); +extern float sqrtf (float __x) __attribute__ ((__nothrow__)); extern float __sqrtf (float __x) __attribute__ ((__nothrow__)); +extern float hypotf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __hypotf (float __x, float __y) __attribute__ ((__nothrow__)); +extern float cbrtf (float __x) __attribute__ ((__nothrow__)); extern float __cbrtf (float __x) __attribute__ ((__nothrow__)); +extern float ceilf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __ceilf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern float fabsf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __fabsf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern float floorf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __floorf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern float fmodf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __fmodf (float __x, float __y) __attribute__ ((__nothrow__)); +extern int __isinff (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern int __finitef (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern int isinff (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern int finitef (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern float dremf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __dremf (float __x, float __y) __attribute__ ((__nothrow__)); +extern float significandf (float __x) __attribute__ ((__nothrow__)); extern float __significandf (float __x) __attribute__ ((__nothrow__)); +extern float copysignf (float __x, float __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __copysignf (float __x, float __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern float nanf (__const char *__tagb) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __nanf (__const char *__tagb) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern int __isnanf (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern int isnanf (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern float j0f (float) __attribute__ ((__nothrow__)); extern float __j0f (float) __attribute__ ((__nothrow__)); +extern float j1f (float) __attribute__ ((__nothrow__)); extern float __j1f (float) __attribute__ ((__nothrow__)); +extern float jnf (int, float) __attribute__ ((__nothrow__)); extern float __jnf (int, float) __attribute__ ((__nothrow__)); +extern float y0f (float) __attribute__ ((__nothrow__)); extern float __y0f (float) __attribute__ ((__nothrow__)); +extern float y1f (float) __attribute__ ((__nothrow__)); extern float __y1f (float) __attribute__ ((__nothrow__)); +extern float ynf (int, float) __attribute__ ((__nothrow__)); extern float __ynf (int, float) __attribute__ ((__nothrow__)); +extern float erff (float) __attribute__ ((__nothrow__)); extern float __erff (float) __attribute__ ((__nothrow__)); +extern float erfcf (float) __attribute__ ((__nothrow__)); extern float __erfcf (float) __attribute__ ((__nothrow__)); +extern float lgammaf (float) __attribute__ ((__nothrow__)); extern float __lgammaf (float) __attribute__ ((__nothrow__)); +extern float tgammaf (float) __attribute__ ((__nothrow__)); extern float __tgammaf (float) __attribute__ ((__nothrow__)); +extern float gammaf (float) __attribute__ ((__nothrow__)); extern float __gammaf (float) __attribute__ ((__nothrow__)); +extern float lgammaf_r (float, int *__signgamp) __attribute__ ((__nothrow__)); extern float __lgammaf_r (float, int *__signgamp) __attribute__ ((__nothrow__)); +extern float rintf (float __x) __attribute__ ((__nothrow__)); extern float __rintf (float __x) __attribute__ ((__nothrow__)); +extern float nextafterf (float __x, float __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __nextafterf (float __x, float __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern float nexttowardf (float __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __nexttowardf (float __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern float remainderf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __remainderf (float __x, float __y) __attribute__ ((__nothrow__)); +extern float scalbnf (float __x, int __n) __attribute__ ((__nothrow__)); extern float __scalbnf (float __x, int __n) __attribute__ ((__nothrow__)); +extern int ilogbf (float __x) __attribute__ ((__nothrow__)); extern int __ilogbf (float __x) __attribute__ ((__nothrow__)); +extern float scalblnf (float __x, long int __n) __attribute__ ((__nothrow__)); extern float __scalblnf (float __x, long int __n) __attribute__ ((__nothrow__)); +extern float nearbyintf (float __x) __attribute__ ((__nothrow__)); extern float __nearbyintf (float __x) __attribute__ ((__nothrow__)); +extern float roundf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __roundf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern float truncf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __truncf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern float remquof (float __x, float __y, int *__quo) __attribute__ ((__nothrow__)); extern float __remquof (float __x, float __y, int *__quo) __attribute__ ((__nothrow__)); +extern long int lrintf (float __x) __attribute__ ((__nothrow__)); extern long int __lrintf (float __x) __attribute__ ((__nothrow__)); +extern long long int llrintf (float __x) __attribute__ ((__nothrow__)); extern long long int __llrintf (float __x) __attribute__ ((__nothrow__)); +extern long int lroundf (float __x) __attribute__ ((__nothrow__)); extern long int __lroundf (float __x) __attribute__ ((__nothrow__)); +extern long long int llroundf (float __x) __attribute__ ((__nothrow__)); extern long long int __llroundf (float __x) __attribute__ ((__nothrow__)); +extern float fdimf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __fdimf (float __x, float __y) __attribute__ ((__nothrow__)); +extern float fmaxf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __fmaxf (float __x, float __y) __attribute__ ((__nothrow__)); +extern float fminf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __fminf (float __x, float __y) __attribute__ ((__nothrow__)); +extern int __fpclassifyf (float __value) __attribute__ ((__nothrow__)) + __attribute__ ((__const__)); +extern int __signbitf (float __value) __attribute__ ((__nothrow__)) + __attribute__ ((__const__)); +extern float fmaf (float __x, float __y, float __z) __attribute__ ((__nothrow__)); extern float __fmaf (float __x, float __y, float __z) __attribute__ ((__nothrow__)); +extern float scalbf (float __x, float __n) __attribute__ ((__nothrow__)); extern float __scalbf (float __x, float __n) __attribute__ ((__nothrow__)); +extern long double acosl (long double __x) __attribute__ ((__nothrow__)); extern long double __acosl (long double __x) __attribute__ ((__nothrow__)); +extern long double asinl (long double __x) __attribute__ ((__nothrow__)); extern long double __asinl (long double __x) __attribute__ ((__nothrow__)); +extern long double atanl (long double __x) __attribute__ ((__nothrow__)); extern long double __atanl (long double __x) __attribute__ ((__nothrow__)); +extern long double atan2l (long double __y, long double __x) __attribute__ ((__nothrow__)); extern long double __atan2l (long double __y, long double __x) __attribute__ ((__nothrow__)); +extern long double cosl (long double __x) __attribute__ ((__nothrow__)); extern long double __cosl (long double __x) __attribute__ ((__nothrow__)); +extern long double sinl (long double __x) __attribute__ ((__nothrow__)); extern long double __sinl (long double __x) __attribute__ ((__nothrow__)); +extern long double tanl (long double __x) __attribute__ ((__nothrow__)); extern long double __tanl (long double __x) __attribute__ ((__nothrow__)); +extern long double coshl (long double __x) __attribute__ ((__nothrow__)); extern long double __coshl (long double __x) __attribute__ ((__nothrow__)); +extern long double sinhl (long double __x) __attribute__ ((__nothrow__)); extern long double __sinhl (long double __x) __attribute__ ((__nothrow__)); +extern long double tanhl (long double __x) __attribute__ ((__nothrow__)); extern long double __tanhl (long double __x) __attribute__ ((__nothrow__)); +extern long double acoshl (long double __x) __attribute__ ((__nothrow__)); extern long double __acoshl (long double __x) __attribute__ ((__nothrow__)); +extern long double asinhl (long double __x) __attribute__ ((__nothrow__)); extern long double __asinhl (long double __x) __attribute__ ((__nothrow__)); +extern long double atanhl (long double __x) __attribute__ ((__nothrow__)); extern long double __atanhl (long double __x) __attribute__ ((__nothrow__)); +extern long double expl (long double __x) __attribute__ ((__nothrow__)); extern long double __expl (long double __x) __attribute__ ((__nothrow__)); +extern long double frexpl (long double __x, int *__exponent) __attribute__ ((__nothrow__)); extern long double __frexpl (long double __x, int *__exponent) __attribute__ ((__nothrow__)); +extern long double ldexpl (long double __x, int __exponent) __attribute__ ((__nothrow__)); extern long double __ldexpl (long double __x, int __exponent) __attribute__ ((__nothrow__)); +extern long double logl (long double __x) __attribute__ ((__nothrow__)); extern long double __logl (long double __x) __attribute__ ((__nothrow__)); +extern long double log10l (long double __x) __attribute__ ((__nothrow__)); extern long double __log10l (long double __x) __attribute__ ((__nothrow__)); +extern long double modfl (long double __x, long double *__iptr) __attribute__ ((__nothrow__)); extern long double __modfl (long double __x, long double *__iptr) __attribute__ ((__nothrow__)); +extern long double expm1l (long double __x) __attribute__ ((__nothrow__)); extern long double __expm1l (long double __x) __attribute__ ((__nothrow__)); +extern long double log1pl (long double __x) __attribute__ ((__nothrow__)); extern long double __log1pl (long double __x) __attribute__ ((__nothrow__)); +extern long double logbl (long double __x) __attribute__ ((__nothrow__)); extern long double __logbl (long double __x) __attribute__ ((__nothrow__)); +extern long double exp2l (long double __x) __attribute__ ((__nothrow__)); extern long double __exp2l (long double __x) __attribute__ ((__nothrow__)); +extern long double log2l (long double __x) __attribute__ ((__nothrow__)); extern long double __log2l (long double __x) __attribute__ ((__nothrow__)); +extern long double powl (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __powl (long double __x, long double __y) __attribute__ ((__nothrow__)); +extern long double sqrtl (long double __x) __attribute__ ((__nothrow__)); extern long double __sqrtl (long double __x) __attribute__ ((__nothrow__)); +extern long double hypotl (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __hypotl (long double __x, long double __y) __attribute__ ((__nothrow__)); +extern long double cbrtl (long double __x) __attribute__ ((__nothrow__)); extern long double __cbrtl (long double __x) __attribute__ ((__nothrow__)); +extern long double ceill (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __ceill (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern long double fabsl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __fabsl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern long double floorl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __floorl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern long double fmodl (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __fmodl (long double __x, long double __y) __attribute__ ((__nothrow__)); +extern int __isinfl (long double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern int __finitel (long double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern int isinfl (long double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern int finitel (long double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern long double dreml (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __dreml (long double __x, long double __y) __attribute__ ((__nothrow__)); +extern long double significandl (long double __x) __attribute__ ((__nothrow__)); extern long double __significandl (long double __x) __attribute__ ((__nothrow__)); +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__)); +extern long double nanl (__const char *__tagb) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __nanl (__const char *__tagb) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern int __isnanl (long double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern int isnanl (long double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern long double j0l (long double) __attribute__ ((__nothrow__)); extern long double __j0l (long double) __attribute__ ((__nothrow__)); +extern long double j1l (long double) __attribute__ ((__nothrow__)); extern long double __j1l (long double) __attribute__ ((__nothrow__)); +extern long double jnl (int, long double) __attribute__ ((__nothrow__)); extern long double __jnl (int, long double) __attribute__ ((__nothrow__)); +extern long double y0l (long double) __attribute__ ((__nothrow__)); extern long double __y0l (long double) __attribute__ ((__nothrow__)); +extern long double y1l (long double) __attribute__ ((__nothrow__)); extern long double __y1l (long double) __attribute__ ((__nothrow__)); +extern long double ynl (int, long double) __attribute__ ((__nothrow__)); extern long double __ynl (int, long double) __attribute__ ((__nothrow__)); +extern long double erfl (long double) __attribute__ ((__nothrow__)); extern long double __erfl (long double) __attribute__ ((__nothrow__)); +extern long double erfcl (long double) __attribute__ ((__nothrow__)); extern long double __erfcl (long double) __attribute__ ((__nothrow__)); +extern long double lgammal (long double) __attribute__ ((__nothrow__)); extern long double __lgammal (long double) __attribute__ ((__nothrow__)); +extern long double tgammal (long double) __attribute__ ((__nothrow__)); extern long double __tgammal (long double) __attribute__ ((__nothrow__)); +extern long double gammal (long double) __attribute__ ((__nothrow__)); extern long double __gammal (long double) __attribute__ ((__nothrow__)); +extern long double lgammal_r (long double, int *__signgamp) __attribute__ ((__nothrow__)); extern long double __lgammal_r (long double, int *__signgamp) __attribute__ ((__nothrow__)); +extern long double rintl (long double __x) __attribute__ ((__nothrow__)); extern long double __rintl (long double __x) __attribute__ ((__nothrow__)); +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__)); +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__)); +extern long double remainderl (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __remainderl (long double __x, long double __y) __attribute__ ((__nothrow__)); +extern long double scalbnl (long double __x, int __n) __attribute__ ((__nothrow__)); extern long double __scalbnl (long double __x, int __n) __attribute__ ((__nothrow__)); +extern int ilogbl (long double __x) __attribute__ ((__nothrow__)); extern int __ilogbl (long double __x) __attribute__ ((__nothrow__)); +extern long double scalblnl (long double __x, long int __n) __attribute__ ((__nothrow__)); extern long double __scalblnl (long double __x, long int __n) __attribute__ ((__nothrow__)); +extern long double nearbyintl (long double __x) __attribute__ ((__nothrow__)); extern long double __nearbyintl (long double __x) __attribute__ ((__nothrow__)); +extern long double roundl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __roundl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern long double truncl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __truncl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +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__)); +extern long int lrintl (long double __x) __attribute__ ((__nothrow__)); extern long int __lrintl (long double __x) __attribute__ ((__nothrow__)); +extern long long int llrintl (long double __x) __attribute__ ((__nothrow__)); extern long long int __llrintl (long double __x) __attribute__ ((__nothrow__)); +extern long int lroundl (long double __x) __attribute__ ((__nothrow__)); extern long int __lroundl (long double __x) __attribute__ ((__nothrow__)); +extern long long int llroundl (long double __x) __attribute__ ((__nothrow__)); extern long long int __llroundl (long double __x) __attribute__ ((__nothrow__)); +extern long double fdiml (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __fdiml (long double __x, long double __y) __attribute__ ((__nothrow__)); +extern long double fmaxl (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __fmaxl (long double __x, long double __y) __attribute__ ((__nothrow__)); +extern long double fminl (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __fminl (long double __x, long double __y) __attribute__ ((__nothrow__)); +extern int __fpclassifyl (long double __value) __attribute__ ((__nothrow__)) + __attribute__ ((__const__)); +extern int __signbitl (long double __value) __attribute__ ((__nothrow__)) + __attribute__ ((__const__)); +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__)); +extern long double scalbl (long double __x, long double __n) __attribute__ ((__nothrow__)); extern long double __scalbl (long double __x, long double __n) __attribute__ ((__nothrow__)); +extern int signgam; +enum + { + FP_NAN, + FP_INFINITE, + FP_ZERO, + FP_SUBNORMAL, + FP_NORMAL + }; +typedef enum +{ + _IEEE_ = -1, + _SVID_, + _XOPEN_, + _POSIX_, + _ISOC_ +} _LIB_VERSION_TYPE; +extern _LIB_VERSION_TYPE _LIB_VERSION; +struct exception + { + int type; + char *name; + double arg1; + double arg2; + double retval; + }; +extern int matherr (struct exception *__exc); +enum +{ + _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)), + _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)), + _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)), + _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)), + _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)), + _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)), + _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)), + _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)), + _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)), + _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)), + _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)), + _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8)) +}; +extern __const unsigned short int **__ctype_b_loc (void) + __attribute__ ((__nothrow__)) __attribute__ ((__const)); +extern __const __int32_t **__ctype_tolower_loc (void) + __attribute__ ((__nothrow__)) __attribute__ ((__const)); +extern __const __int32_t **__ctype_toupper_loc (void) + __attribute__ ((__nothrow__)) __attribute__ ((__const)); +extern int isalnum (int) __attribute__ ((__nothrow__)); +extern int isalpha (int) __attribute__ ((__nothrow__)); +extern int iscntrl (int) __attribute__ ((__nothrow__)); +extern int isdigit (int) __attribute__ ((__nothrow__)); +extern int islower (int) __attribute__ ((__nothrow__)); +extern int isgraph (int) __attribute__ ((__nothrow__)); +extern int isprint (int) __attribute__ ((__nothrow__)); +extern int ispunct (int) __attribute__ ((__nothrow__)); +extern int isspace (int) __attribute__ ((__nothrow__)); +extern int isupper (int) __attribute__ ((__nothrow__)); +extern int isxdigit (int) __attribute__ ((__nothrow__)); +extern int tolower (int __c) __attribute__ ((__nothrow__)); +extern int toupper (int __c) __attribute__ ((__nothrow__)); +extern int isblank (int) __attribute__ ((__nothrow__)); +extern int isascii (int __c) __attribute__ ((__nothrow__)); +extern int toascii (int __c) __attribute__ ((__nothrow__)); +extern int _toupper (int) __attribute__ ((__nothrow__)); +extern int _tolower (int) __attribute__ ((__nothrow__)); +typedef struct __locale_struct +{ + struct locale_data *__locales[13]; + const unsigned short int *__ctype_b; + const int *__ctype_tolower; + const int *__ctype_toupper; + const char *__names[13]; +} *__locale_t; +typedef __locale_t locale_t; +extern int isalnum_l (int, __locale_t) __attribute__ ((__nothrow__)); +extern int isalpha_l (int, __locale_t) __attribute__ ((__nothrow__)); +extern int iscntrl_l (int, __locale_t) __attribute__ ((__nothrow__)); +extern int isdigit_l (int, __locale_t) __attribute__ ((__nothrow__)); +extern int islower_l (int, __locale_t) __attribute__ ((__nothrow__)); +extern int isgraph_l (int, __locale_t) __attribute__ ((__nothrow__)); +extern int isprint_l (int, __locale_t) __attribute__ ((__nothrow__)); +extern int ispunct_l (int, __locale_t) __attribute__ ((__nothrow__)); +extern int isspace_l (int, __locale_t) __attribute__ ((__nothrow__)); +extern int isupper_l (int, __locale_t) __attribute__ ((__nothrow__)); +extern int isxdigit_l (int, __locale_t) __attribute__ ((__nothrow__)); +extern int isblank_l (int, __locale_t) __attribute__ ((__nothrow__)); +extern int __tolower_l (int __c, __locale_t __l) __attribute__ ((__nothrow__)); +extern int tolower_l (int __c, __locale_t __l) __attribute__ ((__nothrow__)); +extern int __toupper_l (int __c, __locale_t __l) __attribute__ ((__nothrow__)); +extern int toupper_l (int __c, __locale_t __l) __attribute__ ((__nothrow__)); +typedef __useconds_t useconds_t; +typedef __intptr_t intptr_t; +typedef __socklen_t socklen_t; +extern int access (__const char *__name, int __type) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +extern int faccessat (int __fd, __const char *__file, int __type, int __flag) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))) ; +extern __off_t lseek (int __fd, __off_t __offset, int __whence) __attribute__ ((__nothrow__)); +extern int close (int __fd); +extern ssize_t read (int __fd, void *__buf, size_t __nbytes) ; +extern ssize_t write (int __fd, __const void *__buf, size_t __n) ; +extern int pipe (int __pipedes[2]) __attribute__ ((__nothrow__)) ; +extern unsigned int alarm (unsigned int __seconds) __attribute__ ((__nothrow__)); +extern unsigned int sleep (unsigned int __seconds); +extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval) + __attribute__ ((__nothrow__)); +extern int usleep (__useconds_t __useconds); +extern int pause (void); +extern int chown (__const char *__file, __uid_t __owner, __gid_t __group) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; +extern int fchown (int __fd, __uid_t __owner, __gid_t __group) __attribute__ ((__nothrow__)) ; +extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; +extern int fchownat (int __fd, __const char *__file, __uid_t __owner, + __gid_t __group, int __flag) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))) ; +extern int chdir (__const char *__path) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; +extern int fchdir (int __fd) __attribute__ ((__nothrow__)) ; +extern char *getcwd (char *__buf, size_t __size) __attribute__ ((__nothrow__)) ; +extern char *getwd (char *__buf) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)) ; +extern int dup (int __fd) __attribute__ ((__nothrow__)) ; +extern int dup2 (int __fd, int __fd2) __attribute__ ((__nothrow__)); +extern char **__environ; +extern int execve (__const char *__path, char *__const __argv[], + char *__const __envp[]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +extern int fexecve (int __fd, char *__const __argv[], char *__const __envp[]) + __attribute__ ((__nothrow__)); +extern int execv (__const char *__path, char *__const __argv[]) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +extern int execle (__const char *__path, __const char *__arg, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +extern int execl (__const char *__path, __const char *__arg, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +extern int execvp (__const char *__file, char *__const __argv[]) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +extern int execlp (__const char *__file, __const char *__arg, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +extern int nice (int __inc) __attribute__ ((__nothrow__)) ; +extern void _exit (int __status) __attribute__ ((__noreturn__)); +enum + { + _PC_LINK_MAX, + _PC_MAX_CANON, + _PC_MAX_INPUT, + _PC_NAME_MAX, + _PC_PATH_MAX, + _PC_PIPE_BUF, + _PC_CHOWN_RESTRICTED, + _PC_NO_TRUNC, + _PC_VDISABLE, + _PC_SYNC_IO, + _PC_ASYNC_IO, + _PC_PRIO_IO, + _PC_SOCK_MAXBUF, + _PC_FILESIZEBITS, + _PC_REC_INCR_XFER_SIZE, + _PC_REC_MAX_XFER_SIZE, + _PC_REC_MIN_XFER_SIZE, + _PC_REC_XFER_ALIGN, + _PC_ALLOC_SIZE_MIN, + _PC_SYMLINK_MAX, + _PC_2_SYMLINKS + }; +enum + { + _SC_ARG_MAX, + _SC_CHILD_MAX, + _SC_CLK_TCK, + _SC_NGROUPS_MAX, + _SC_OPEN_MAX, + _SC_STREAM_MAX, + _SC_TZNAME_MAX, + _SC_JOB_CONTROL, + _SC_SAVED_IDS, + _SC_REALTIME_SIGNALS, + _SC_PRIORITY_SCHEDULING, + _SC_TIMERS, + _SC_ASYNCHRONOUS_IO, + _SC_PRIORITIZED_IO, + _SC_SYNCHRONIZED_IO, + _SC_FSYNC, + _SC_MAPPED_FILES, + _SC_MEMLOCK, + _SC_MEMLOCK_RANGE, + _SC_MEMORY_PROTECTION, + _SC_MESSAGE_PASSING, + _SC_SEMAPHORES, + _SC_SHARED_MEMORY_OBJECTS, + _SC_AIO_LISTIO_MAX, + _SC_AIO_MAX, + _SC_AIO_PRIO_DELTA_MAX, + _SC_DELAYTIMER_MAX, + _SC_MQ_OPEN_MAX, + _SC_MQ_PRIO_MAX, + _SC_VERSION, + _SC_PAGESIZE, + _SC_RTSIG_MAX, + _SC_SEM_NSEMS_MAX, + _SC_SEM_VALUE_MAX, + _SC_SIGQUEUE_MAX, + _SC_TIMER_MAX, + _SC_BC_BASE_MAX, + _SC_BC_DIM_MAX, + _SC_BC_SCALE_MAX, + _SC_BC_STRING_MAX, + _SC_COLL_WEIGHTS_MAX, + _SC_EQUIV_CLASS_MAX, + _SC_EXPR_NEST_MAX, + _SC_LINE_MAX, + _SC_RE_DUP_MAX, + _SC_CHARCLASS_NAME_MAX, + _SC_2_VERSION, + _SC_2_C_BIND, + _SC_2_C_DEV, + _SC_2_FORT_DEV, + _SC_2_FORT_RUN, + _SC_2_SW_DEV, + _SC_2_LOCALEDEF, + _SC_PII, + _SC_PII_XTI, + _SC_PII_SOCKET, + _SC_PII_INTERNET, + _SC_PII_OSI, + _SC_POLL, + _SC_SELECT, + _SC_UIO_MAXIOV, + _SC_IOV_MAX = _SC_UIO_MAXIOV, + _SC_PII_INTERNET_STREAM, + _SC_PII_INTERNET_DGRAM, + _SC_PII_OSI_COTS, + _SC_PII_OSI_CLTS, + _SC_PII_OSI_M, + _SC_T_IOV_MAX, + _SC_THREADS, + _SC_THREAD_SAFE_FUNCTIONS, + _SC_GETGR_R_SIZE_MAX, + _SC_GETPW_R_SIZE_MAX, + _SC_LOGIN_NAME_MAX, + _SC_TTY_NAME_MAX, + _SC_THREAD_DESTRUCTOR_ITERATIONS, + _SC_THREAD_KEYS_MAX, + _SC_THREAD_STACK_MIN, + _SC_THREAD_THREADS_MAX, + _SC_THREAD_ATTR_STACKADDR, + _SC_THREAD_ATTR_STACKSIZE, + _SC_THREAD_PRIORITY_SCHEDULING, + _SC_THREAD_PRIO_INHERIT, + _SC_THREAD_PRIO_PROTECT, + _SC_THREAD_PROCESS_SHARED, + _SC_NPROCESSORS_CONF, + _SC_NPROCESSORS_ONLN, + _SC_PHYS_PAGES, + _SC_AVPHYS_PAGES, + _SC_ATEXIT_MAX, + _SC_PASS_MAX, + _SC_XOPEN_VERSION, + _SC_XOPEN_XCU_VERSION, + _SC_XOPEN_UNIX, + _SC_XOPEN_CRYPT, + _SC_XOPEN_ENH_I18N, + _SC_XOPEN_SHM, + _SC_2_CHAR_TERM, + _SC_2_C_VERSION, + _SC_2_UPE, + _SC_XOPEN_XPG2, + _SC_XOPEN_XPG3, + _SC_XOPEN_XPG4, + _SC_CHAR_BIT, + _SC_CHAR_MAX, + _SC_CHAR_MIN, + _SC_INT_MAX, + _SC_INT_MIN, + _SC_LONG_BIT, + _SC_WORD_BIT, + _SC_MB_LEN_MAX, + _SC_NZERO, + _SC_SSIZE_MAX, + _SC_SCHAR_MAX, + _SC_SCHAR_MIN, + _SC_SHRT_MAX, + _SC_SHRT_MIN, + _SC_UCHAR_MAX, + _SC_UINT_MAX, + _SC_ULONG_MAX, + _SC_USHRT_MAX, + _SC_NL_ARGMAX, + _SC_NL_LANGMAX, + _SC_NL_MSGMAX, + _SC_NL_NMAX, + _SC_NL_SETMAX, + _SC_NL_TEXTMAX, + _SC_XBS5_ILP32_OFF32, + _SC_XBS5_ILP32_OFFBIG, + _SC_XBS5_LP64_OFF64, + _SC_XBS5_LPBIG_OFFBIG, + _SC_XOPEN_LEGACY, + _SC_XOPEN_REALTIME, + _SC_XOPEN_REALTIME_THREADS, + _SC_ADVISORY_INFO, + _SC_BARRIERS, + _SC_BASE, + _SC_C_LANG_SUPPORT, + _SC_C_LANG_SUPPORT_R, + _SC_CLOCK_SELECTION, + _SC_CPUTIME, + _SC_THREAD_CPUTIME, + _SC_DEVICE_IO, + _SC_DEVICE_SPECIFIC, + _SC_DEVICE_SPECIFIC_R, + _SC_FD_MGMT, + _SC_FIFO, + _SC_PIPE, + _SC_FILE_ATTRIBUTES, + _SC_FILE_LOCKING, + _SC_FILE_SYSTEM, + _SC_MONOTONIC_CLOCK, + _SC_MULTI_PROCESS, + _SC_SINGLE_PROCESS, + _SC_NETWORKING, + _SC_READER_WRITER_LOCKS, + _SC_SPIN_LOCKS, + _SC_REGEXP, + _SC_REGEX_VERSION, + _SC_SHELL, + _SC_SIGNALS, + _SC_SPAWN, + _SC_SPORADIC_SERVER, + _SC_THREAD_SPORADIC_SERVER, + _SC_SYSTEM_DATABASE, + _SC_SYSTEM_DATABASE_R, + _SC_TIMEOUTS, + _SC_TYPED_MEMORY_OBJECTS, + _SC_USER_GROUPS, + _SC_USER_GROUPS_R, + _SC_2_PBS, + _SC_2_PBS_ACCOUNTING, + _SC_2_PBS_LOCATE, + _SC_2_PBS_MESSAGE, + _SC_2_PBS_TRACK, + _SC_SYMLOOP_MAX, + _SC_STREAMS, + _SC_2_PBS_CHECKPOINT, + _SC_V6_ILP32_OFF32, + _SC_V6_ILP32_OFFBIG, + _SC_V6_LP64_OFF64, + _SC_V6_LPBIG_OFFBIG, + _SC_HOST_NAME_MAX, + _SC_TRACE, + _SC_TRACE_EVENT_FILTER, + _SC_TRACE_INHERIT, + _SC_TRACE_LOG, + _SC_LEVEL1_ICACHE_SIZE, + _SC_LEVEL1_ICACHE_ASSOC, + _SC_LEVEL1_ICACHE_LINESIZE, + _SC_LEVEL1_DCACHE_SIZE, + _SC_LEVEL1_DCACHE_ASSOC, + _SC_LEVEL1_DCACHE_LINESIZE, + _SC_LEVEL2_CACHE_SIZE, + _SC_LEVEL2_CACHE_ASSOC, + _SC_LEVEL2_CACHE_LINESIZE, + _SC_LEVEL3_CACHE_SIZE, + _SC_LEVEL3_CACHE_ASSOC, + _SC_LEVEL3_CACHE_LINESIZE, + _SC_LEVEL4_CACHE_SIZE, + _SC_LEVEL4_CACHE_ASSOC, + _SC_LEVEL4_CACHE_LINESIZE, + _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50, + _SC_RAW_SOCKETS, + _SC_V7_ILP32_OFF32, + _SC_V7_ILP32_OFFBIG, + _SC_V7_LP64_OFF64, + _SC_V7_LPBIG_OFFBIG, + _SC_SS_REPL_MAX, + _SC_TRACE_EVENT_NAME_MAX, + _SC_TRACE_NAME_MAX, + _SC_TRACE_SYS_MAX, + _SC_TRACE_USER_EVENT_MAX, + _SC_XOPEN_STREAMS, + _SC_THREAD_ROBUST_PRIO_INHERIT, + _SC_THREAD_ROBUST_PRIO_PROTECT, + }; +enum + { + _CS_PATH, + _CS_V6_WIDTH_RESTRICTED_ENVS, + _CS_GNU_LIBC_VERSION, + _CS_GNU_LIBPTHREAD_VERSION, + _CS_V5_WIDTH_RESTRICTED_ENVS, + _CS_V7_WIDTH_RESTRICTED_ENVS, + _CS_LFS_CFLAGS = 1000, + _CS_LFS_LDFLAGS, + _CS_LFS_LIBS, + _CS_LFS_LINTFLAGS, + _CS_LFS64_CFLAGS, + _CS_LFS64_LDFLAGS, + _CS_LFS64_LIBS, + _CS_LFS64_LINTFLAGS, + _CS_XBS5_ILP32_OFF32_CFLAGS = 1100, + _CS_XBS5_ILP32_OFF32_LDFLAGS, + _CS_XBS5_ILP32_OFF32_LIBS, + _CS_XBS5_ILP32_OFF32_LINTFLAGS, + _CS_XBS5_ILP32_OFFBIG_CFLAGS, + _CS_XBS5_ILP32_OFFBIG_LDFLAGS, + _CS_XBS5_ILP32_OFFBIG_LIBS, + _CS_XBS5_ILP32_OFFBIG_LINTFLAGS, + _CS_XBS5_LP64_OFF64_CFLAGS, + _CS_XBS5_LP64_OFF64_LDFLAGS, + _CS_XBS5_LP64_OFF64_LIBS, + _CS_XBS5_LP64_OFF64_LINTFLAGS, + _CS_XBS5_LPBIG_OFFBIG_CFLAGS, + _CS_XBS5_LPBIG_OFFBIG_LDFLAGS, + _CS_XBS5_LPBIG_OFFBIG_LIBS, + _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS, + _CS_POSIX_V6_ILP32_OFF32_CFLAGS, + _CS_POSIX_V6_ILP32_OFF32_LDFLAGS, + _CS_POSIX_V6_ILP32_OFF32_LIBS, + _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS, + _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS, + _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS, + _CS_POSIX_V6_ILP32_OFFBIG_LIBS, + _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS, + _CS_POSIX_V6_LP64_OFF64_CFLAGS, + _CS_POSIX_V6_LP64_OFF64_LDFLAGS, + _CS_POSIX_V6_LP64_OFF64_LIBS, + _CS_POSIX_V6_LP64_OFF64_LINTFLAGS, + _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS, + _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS, + _CS_POSIX_V6_LPBIG_OFFBIG_LIBS, + _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS, + _CS_POSIX_V7_ILP32_OFF32_CFLAGS, + _CS_POSIX_V7_ILP32_OFF32_LDFLAGS, + _CS_POSIX_V7_ILP32_OFF32_LIBS, + _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS, + _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS, + _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS, + _CS_POSIX_V7_ILP32_OFFBIG_LIBS, + _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS, + _CS_POSIX_V7_LP64_OFF64_CFLAGS, + _CS_POSIX_V7_LP64_OFF64_LDFLAGS, + _CS_POSIX_V7_LP64_OFF64_LIBS, + _CS_POSIX_V7_LP64_OFF64_LINTFLAGS, + _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS, + _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS, + _CS_POSIX_V7_LPBIG_OFFBIG_LIBS, + _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS + }; +extern long int pathconf (__const char *__path, int __name) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +extern long int fpathconf (int __fd, int __name) __attribute__ ((__nothrow__)); +extern long int sysconf (int __name) __attribute__ ((__nothrow__)); +extern size_t confstr (int __name, char *__buf, size_t __len) __attribute__ ((__nothrow__)); +extern __pid_t getpid (void) __attribute__ ((__nothrow__)); +extern __pid_t getppid (void) __attribute__ ((__nothrow__)); +extern __pid_t getpgrp (void) __attribute__ ((__nothrow__)); +extern __pid_t __getpgid (__pid_t __pid) __attribute__ ((__nothrow__)); +extern int setpgid (__pid_t __pid, __pid_t __pgid) __attribute__ ((__nothrow__)); +extern int setpgrp (void) __attribute__ ((__nothrow__)); +extern __pid_t setsid (void) __attribute__ ((__nothrow__)); +extern __uid_t getuid (void) __attribute__ ((__nothrow__)); +extern __uid_t geteuid (void) __attribute__ ((__nothrow__)); +extern __gid_t getgid (void) __attribute__ ((__nothrow__)); +extern __gid_t getegid (void) __attribute__ ((__nothrow__)); +extern int getgroups (int __size, __gid_t __list[]) __attribute__ ((__nothrow__)) ; +extern int setuid (__uid_t __uid) __attribute__ ((__nothrow__)); +extern int setreuid (__uid_t __ruid, __uid_t __euid) __attribute__ ((__nothrow__)); +extern int seteuid (__uid_t __uid) __attribute__ ((__nothrow__)); +extern int setgid (__gid_t __gid) __attribute__ ((__nothrow__)); +extern int setregid (__gid_t __rgid, __gid_t __egid) __attribute__ ((__nothrow__)); +extern int setegid (__gid_t __gid) __attribute__ ((__nothrow__)); +extern __pid_t fork (void) __attribute__ ((__nothrow__)); +extern __pid_t vfork (void) __attribute__ ((__nothrow__)); +extern char *ttyname (int __fd) __attribute__ ((__nothrow__)); +extern int ttyname_r (int __fd, char *__buf, size_t __buflen) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))) ; +extern int isatty (int __fd) __attribute__ ((__nothrow__)); +extern int ttyslot (void) __attribute__ ((__nothrow__)); +extern int link (__const char *__from, __const char *__to) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))) ; +extern int linkat (int __fromfd, __const char *__from, int __tofd, + __const char *__to, int __flags) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4))) ; +extern int symlink (__const char *__from, __const char *__to) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))) ; +extern ssize_t readlink (__const char *__restrict __path, + char *__restrict __buf, size_t __len) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))) ; +extern int symlinkat (__const char *__from, int __tofd, + __const char *__to) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 3))) ; +extern ssize_t readlinkat (int __fd, __const char *__restrict __path, + char *__restrict __buf, size_t __len) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3))) ; +extern int unlink (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +extern int unlinkat (int __fd, __const char *__name, int __flag) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); +extern int rmdir (__const char *__path) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +extern __pid_t tcgetpgrp (int __fd) __attribute__ ((__nothrow__)); +extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) __attribute__ ((__nothrow__)); +extern char *getlogin (void); +extern int getlogin_r (char *__name, size_t __name_len) __attribute__ ((__nonnull__ (1))); +extern int setlogin (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +extern char *optarg; +extern int optind; +extern int opterr; +extern int optopt; +extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) + __attribute__ ((__nothrow__)); +extern int gethostname (char *__name, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +extern int sethostname (__const char *__name, size_t __len) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; +extern int sethostid (long int __id) __attribute__ ((__nothrow__)) ; +extern int getdomainname (char *__name, size_t __len) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; +extern int setdomainname (__const char *__name, size_t __len) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; +extern int vhangup (void) __attribute__ ((__nothrow__)); +extern int revoke (__const char *__file) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; +extern int profil (unsigned short int *__sample_buffer, size_t __size, + size_t __offset, unsigned int __scale) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +extern int acct (__const char *__name) __attribute__ ((__nothrow__)); +extern char *getusershell (void) __attribute__ ((__nothrow__)); +extern void endusershell (void) __attribute__ ((__nothrow__)); +extern void setusershell (void) __attribute__ ((__nothrow__)); +extern int daemon (int __nochdir, int __noclose) __attribute__ ((__nothrow__)) ; +extern int chroot (__const char *__path) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; +extern char *getpass (__const char *__prompt) __attribute__ ((__nonnull__ (1))); +extern int fsync (int __fd); +extern long int gethostid (void); +extern void sync (void) __attribute__ ((__nothrow__)); +extern int getpagesize (void) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern int getdtablesize (void) __attribute__ ((__nothrow__)); +extern int truncate (__const char *__file, __off_t __length) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; +extern int ftruncate (int __fd, __off_t __length) __attribute__ ((__nothrow__)) ; +extern int brk (void *__addr) __attribute__ ((__nothrow__)) ; +extern void *sbrk (intptr_t __delta) __attribute__ ((__nothrow__)); +extern long int syscall (long int __sysno, ...) __attribute__ ((__nothrow__)); +extern int lockf (int __fd, int __cmd, __off_t __len) ; +extern int fdatasync (int __fildes); +extern int __sigismember (__const __sigset_t *, int); +extern int __sigaddset (__sigset_t *, int); +extern int __sigdelset (__sigset_t *, int); +typedef __sig_atomic_t sig_atomic_t; +typedef union sigval + { + int sival_int; + void *sival_ptr; + } sigval_t; +typedef struct siginfo + { + int si_signo; + int si_errno; + int si_code; + union + { + int _pad[((128 / sizeof (int)) - 4)]; + struct + { + __pid_t si_pid; + __uid_t si_uid; + } _kill; + struct + { + int si_tid; + int si_overrun; + sigval_t si_sigval; + } _timer; + struct + { + __pid_t si_pid; + __uid_t si_uid; + sigval_t si_sigval; + } _rt; + struct + { + __pid_t si_pid; + __uid_t si_uid; + int si_status; + __clock_t si_utime; + __clock_t si_stime; + } _sigchld; + struct + { + void *si_addr; + } _sigfault; + struct + { + long int si_band; + int si_fd; + } _sigpoll; + } _sifields; + } siginfo_t; +enum +{ + SI_ASYNCNL = -60, + SI_TKILL = -6, + SI_SIGIO, + SI_ASYNCIO, + SI_MESGQ, + SI_TIMER, + SI_QUEUE, + SI_USER, + SI_KERNEL = 0x80 +}; +enum +{ + ILL_ILLOPC = 1, + ILL_ILLOPN, + ILL_ILLADR, + ILL_ILLTRP, + ILL_PRVOPC, + ILL_PRVREG, + ILL_COPROC, + ILL_BADSTK +}; +enum +{ + FPE_INTDIV = 1, + FPE_INTOVF, + FPE_FLTDIV, + FPE_FLTOVF, + FPE_FLTUND, + FPE_FLTRES, + FPE_FLTINV, + FPE_FLTSUB +}; +enum +{ + SEGV_MAPERR = 1, + SEGV_ACCERR +}; +enum +{ + BUS_ADRALN = 1, + BUS_ADRERR, + BUS_OBJERR +}; +enum +{ + TRAP_BRKPT = 1, + TRAP_TRACE +}; +enum +{ + CLD_EXITED = 1, + CLD_KILLED, + CLD_DUMPED, + CLD_TRAPPED, + CLD_STOPPED, + CLD_CONTINUED +}; +enum +{ + POLL_IN = 1, + POLL_OUT, + POLL_MSG, + POLL_ERR, + POLL_PRI, + POLL_HUP +}; +typedef struct sigevent + { + sigval_t sigev_value; + int sigev_signo; + int sigev_notify; + union + { + int _pad[((64 / sizeof (int)) - 4)]; + __pid_t _tid; + struct + { + void (*_function) (sigval_t); + void *_attribute; + } _sigev_thread; + } _sigev_un; + } sigevent_t; +enum +{ + SIGEV_SIGNAL = 0, + SIGEV_NONE, + SIGEV_THREAD, + SIGEV_THREAD_ID = 4 +}; +typedef void (*__sighandler_t) (int); +extern __sighandler_t __sysv_signal (int __sig, __sighandler_t __handler) + __attribute__ ((__nothrow__)); +extern __sighandler_t signal (int __sig, __sighandler_t __handler) + __attribute__ ((__nothrow__)); +extern int kill (__pid_t __pid, int __sig) __attribute__ ((__nothrow__)); +extern int killpg (__pid_t __pgrp, int __sig) __attribute__ ((__nothrow__)); +extern int raise (int __sig) __attribute__ ((__nothrow__)); +extern __sighandler_t ssignal (int __sig, __sighandler_t __handler) + __attribute__ ((__nothrow__)); +extern int gsignal (int __sig) __attribute__ ((__nothrow__)); +extern void psignal (int __sig, __const char *__s); +extern void psiginfo (__const siginfo_t *__pinfo, __const char *__s); +extern int __sigpause (int __sig_or_mask, int __is_sig); +extern int sigblock (int __mask) __attribute__ ((__nothrow__)) __attribute__ ((__deprecated__)); +extern int sigsetmask (int __mask) __attribute__ ((__nothrow__)) __attribute__ ((__deprecated__)); +extern int siggetmask (void) __attribute__ ((__nothrow__)) __attribute__ ((__deprecated__)); +typedef __sighandler_t sig_t; +extern int sigemptyset (sigset_t *__set) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +extern int sigfillset (sigset_t *__set) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +extern int sigaddset (sigset_t *__set, int __signo) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +extern int sigdelset (sigset_t *__set, int __signo) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +extern int sigismember (__const sigset_t *__set, int __signo) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +struct sigaction + { + union + { + __sighandler_t sa_handler; + void (*sa_sigaction) (int, siginfo_t *, void *); + } + __sigaction_handler; + __sigset_t sa_mask; + int sa_flags; + void (*sa_restorer) (void); + }; +extern int sigprocmask (int __how, __const sigset_t *__restrict __set, + sigset_t *__restrict __oset) __attribute__ ((__nothrow__)); +extern int sigsuspend (__const sigset_t *__set) __attribute__ ((__nonnull__ (1))); +extern int sigaction (int __sig, __const struct sigaction *__restrict __act, + struct sigaction *__restrict __oact) __attribute__ ((__nothrow__)); +extern int sigpending (sigset_t *__set) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +extern int sigwait (__const sigset_t *__restrict __set, int *__restrict __sig) + __attribute__ ((__nonnull__ (1, 2))); +extern int sigwaitinfo (__const sigset_t *__restrict __set, + siginfo_t *__restrict __info) __attribute__ ((__nonnull__ (1))); +extern int sigtimedwait (__const sigset_t *__restrict __set, + siginfo_t *__restrict __info, + __const struct timespec *__restrict __timeout) + __attribute__ ((__nonnull__ (1))); +extern int sigqueue (__pid_t __pid, int __sig, __const union sigval __val) + __attribute__ ((__nothrow__)); +extern __const char *__const _sys_siglist[65]; +extern __const char *__const sys_siglist[65]; +struct sigvec + { + __sighandler_t sv_handler; + int sv_mask; + int sv_flags; + }; +extern int sigvec (int __sig, __const struct sigvec *__vec, + struct sigvec *__ovec) __attribute__ ((__nothrow__)); +struct _fpreg +{ + unsigned short significand[4]; + unsigned short exponent; +}; +struct _fpxreg +{ + unsigned short significand[4]; + unsigned short exponent; + unsigned short padding[3]; +}; +struct _xmmreg +{ + __uint32_t element[4]; +}; +struct _fpstate +{ + __uint16_t cwd; + __uint16_t swd; + __uint16_t ftw; + __uint16_t fop; + __uint64_t rip; + __uint64_t rdp; + __uint32_t mxcsr; + __uint32_t mxcr_mask; + struct _fpxreg _st[8]; + struct _xmmreg _xmm[16]; + __uint32_t padding[24]; +}; +struct sigcontext +{ + unsigned long r8; + unsigned long r9; + unsigned long r10; + unsigned long r11; + unsigned long r12; + unsigned long r13; + unsigned long r14; + unsigned long r15; + unsigned long rdi; + unsigned long rsi; + unsigned long rbp; + unsigned long rbx; + unsigned long rdx; + unsigned long rax; + unsigned long rcx; + unsigned long rsp; + unsigned long rip; + unsigned long eflags; + unsigned short cs; + unsigned short gs; + unsigned short fs; + unsigned short __pad0; + unsigned long err; + unsigned long trapno; + unsigned long oldmask; + unsigned long cr2; + struct _fpstate * fpstate; + unsigned long __reserved1 [8]; +}; +extern int sigreturn (struct sigcontext *__scp) __attribute__ ((__nothrow__)); +extern int siginterrupt (int __sig, int __interrupt) __attribute__ ((__nothrow__)); +struct sigstack + { + void *ss_sp; + int ss_onstack; + }; +enum +{ + SS_ONSTACK = 1, + SS_DISABLE +}; +typedef struct sigaltstack + { + void *ss_sp; + int ss_flags; + size_t ss_size; + } stack_t; +extern int sigstack (struct sigstack *__ss, struct sigstack *__oss) + __attribute__ ((__nothrow__)) __attribute__ ((__deprecated__)); +extern int sigaltstack (__const struct sigaltstack *__restrict __ss, + struct sigaltstack *__restrict __oss) __attribute__ ((__nothrow__)); +extern int pthread_sigmask (int __how, + __const __sigset_t *__restrict __newmask, + __sigset_t *__restrict __oldmask)__attribute__ ((__nothrow__)); +extern int pthread_kill (pthread_t __threadid, int __signo) __attribute__ ((__nothrow__)); +extern int __libc_current_sigrtmin (void) __attribute__ ((__nothrow__)); +extern int __libc_current_sigrtmax (void) __attribute__ ((__nothrow__)); +struct stat + { + __dev_t st_dev; + __ino_t st_ino; + __nlink_t st_nlink; + __mode_t st_mode; + __uid_t st_uid; + __gid_t st_gid; + int __pad0; + __dev_t st_rdev; + __off_t st_size; + __blksize_t st_blksize; + __blkcnt_t st_blocks; + struct timespec st_atim; + struct timespec st_mtim; + struct timespec st_ctim; + long int __unused[3]; + }; +extern int stat (__const char *__restrict __file, + struct stat *__restrict __buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); +extern int fstat (int __fd, struct stat *__buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); +extern int fstatat (int __fd, __const char *__restrict __file, + struct stat *__restrict __buf, int __flag) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3))); +extern int lstat (__const char *__restrict __file, + struct stat *__restrict __buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); +extern int chmod (__const char *__file, __mode_t __mode) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +extern int lchmod (__const char *__file, __mode_t __mode) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +extern int fchmod (int __fd, __mode_t __mode) __attribute__ ((__nothrow__)); +extern int fchmodat (int __fd, __const char *__file, __mode_t __mode, + int __flag) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))) ; +extern __mode_t umask (__mode_t __mask) __attribute__ ((__nothrow__)); +extern int mkdir (__const char *__path, __mode_t __mode) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +extern int mkdirat (int __fd, __const char *__path, __mode_t __mode) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); +extern int mknod (__const char *__path, __mode_t __mode, __dev_t __dev) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +extern int mknodat (int __fd, __const char *__path, __mode_t __mode, + __dev_t __dev) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); +extern int mkfifo (__const char *__path, __mode_t __mode) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +extern int mkfifoat (int __fd, __const char *__path, __mode_t __mode) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); +extern int utimensat (int __fd, __const char *__path, + __const struct timespec __times[2], + int __flags) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); +extern int futimens (int __fd, __const struct timespec __times[2]) __attribute__ ((__nothrow__)); +extern int __fxstat (int __ver, int __fildes, struct stat *__stat_buf) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))); +extern int __xstat (int __ver, __const char *__filename, + struct stat *__stat_buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3))); +extern int __lxstat (int __ver, __const char *__filename, + struct stat *__stat_buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3))); +extern int __fxstatat (int __ver, int __fildes, __const char *__filename, + struct stat *__stat_buf, int __flag) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))); +extern int __xmknod (int __ver, __const char *__path, __mode_t __mode, + __dev_t *__dev) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4))); +extern int __xmknodat (int __ver, int __fd, __const char *__path, + __mode_t __mode, __dev_t *__dev) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 5))); +typedef unsigned char uint8_t; +typedef unsigned short int uint16_t; +typedef unsigned int uint32_t; +typedef unsigned long int uint64_t; +typedef signed char int_least8_t; +typedef short int int_least16_t; +typedef int int_least32_t; +typedef long int int_least64_t; +typedef unsigned char uint_least8_t; +typedef unsigned short int uint_least16_t; +typedef unsigned int uint_least32_t; +typedef unsigned long int uint_least64_t; +typedef signed char int_fast8_t; +typedef long int int_fast16_t; +typedef long int int_fast32_t; +typedef long int int_fast64_t; +typedef unsigned char uint_fast8_t; +typedef unsigned long int uint_fast16_t; +typedef unsigned long int uint_fast32_t; +typedef unsigned long int uint_fast64_t; +typedef unsigned long int uintptr_t; +typedef long int intmax_t; +typedef unsigned long int uintmax_t; +typedef unsigned long int mp_limb_t; +typedef long int mp_limb_signed_t; +typedef struct +{ + int _mp_alloc; + int _mp_size; + mp_limb_t *_mp_d; +} __mpz_struct; +typedef __mpz_struct MP_INT; +typedef __mpz_struct mpz_t[1]; +typedef mp_limb_t * mp_ptr; +typedef const mp_limb_t * mp_srcptr; +typedef long int mp_size_t; +typedef long int mp_exp_t; +typedef struct +{ + __mpz_struct _mp_num; + __mpz_struct _mp_den; +} __mpq_struct; +typedef __mpq_struct MP_RAT; +typedef __mpq_struct mpq_t[1]; +typedef struct +{ + int _mp_prec; + int _mp_size; + mp_exp_t _mp_exp; + mp_limb_t *_mp_d; +} __mpf_struct; +typedef __mpf_struct mpf_t[1]; +typedef enum +{ + GMP_RAND_ALG_DEFAULT = 0, + GMP_RAND_ALG_LC = GMP_RAND_ALG_DEFAULT +} gmp_randalg_t; +typedef struct +{ + mpz_t _mp_seed; + gmp_randalg_t _mp_alg; + union { + void *_mp_lc; + } _mp_algdata; +} __gmp_randstate_struct; +typedef __gmp_randstate_struct gmp_randstate_t[1]; +typedef const __mpz_struct *mpz_srcptr; +typedef __mpz_struct *mpz_ptr; +typedef const __mpf_struct *mpf_srcptr; +typedef __mpf_struct *mpf_ptr; +typedef const __mpq_struct *mpq_srcptr; +typedef __mpq_struct *mpq_ptr; + void __gmp_set_memory_functions (void *(*) (size_t), void *(*) (void *, size_t, size_t), void (*) (void *, size_t)) ; + void __gmp_get_memory_functions (void *(**) (size_t), void *(**) (void *, size_t, size_t), void (**) (void *, size_t)) ; + extern const int __gmp_bits_per_limb; + extern int __gmp_errno; + extern const char * const __gmp_version; + void __gmp_randinit (gmp_randstate_t, gmp_randalg_t, ...); + void __gmp_randinit_default (gmp_randstate_t); + void __gmp_randinit_lc_2exp (gmp_randstate_t, mpz_srcptr, unsigned long int, unsigned long int); + int __gmp_randinit_lc_2exp_size (gmp_randstate_t, unsigned long); + void __gmp_randinit_mt (gmp_randstate_t); + void __gmp_randinit_set (gmp_randstate_t, const __gmp_randstate_struct *); + void __gmp_randseed (gmp_randstate_t, mpz_srcptr); + void __gmp_randseed_ui (gmp_randstate_t, unsigned long int); + void __gmp_randclear (gmp_randstate_t); + unsigned long __gmp_urandomb_ui (gmp_randstate_t, unsigned long); + unsigned long __gmp_urandomm_ui (gmp_randstate_t, unsigned long); + int __gmp_asprintf (char **, const char *, ...); + int __gmp_fprintf (FILE *, const char *, ...); + int __gmp_printf (const char *, ...); + int __gmp_snprintf (char *, size_t, const char *, ...); + int __gmp_sprintf (char *, const char *, ...); + int __gmp_fscanf (FILE *, const char *, ...); + int __gmp_scanf (const char *, ...); + int __gmp_sscanf (const char *, const char *, ...); + void *__gmpz_realloc (mpz_ptr, mp_size_t); + void __gmpz_abs (mpz_ptr, mpz_srcptr); + void __gmpz_add (mpz_ptr, mpz_srcptr, mpz_srcptr); + void __gmpz_add_ui (mpz_ptr, mpz_srcptr, unsigned long int); + void __gmpz_addmul (mpz_ptr, mpz_srcptr, mpz_srcptr); + void __gmpz_addmul_ui (mpz_ptr, mpz_srcptr, unsigned long int); + void __gmpz_and (mpz_ptr, mpz_srcptr, mpz_srcptr); + void __gmpz_array_init (mpz_ptr, mp_size_t, mp_size_t); + void __gmpz_bin_ui (mpz_ptr, mpz_srcptr, unsigned long int); + void __gmpz_bin_uiui (mpz_ptr, unsigned long int, unsigned long int); + void __gmpz_cdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); + void __gmpz_cdiv_q_2exp (mpz_ptr, mpz_srcptr, unsigned long); + unsigned long int __gmpz_cdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); + void __gmpz_cdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); + unsigned long int __gmpz_cdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); + void __gmpz_cdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); + void __gmpz_cdiv_r_2exp (mpz_ptr, mpz_srcptr, unsigned long); + unsigned long int __gmpz_cdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); + unsigned long int __gmpz_cdiv_ui (mpz_srcptr, unsigned long int) __attribute__ ((__pure__)); + void __gmpz_clear (mpz_ptr); + void __gmpz_clrbit (mpz_ptr, unsigned long int); + int __gmpz_cmp (mpz_srcptr, mpz_srcptr) __attribute__ ((__pure__)); + int __gmpz_cmp_d (mpz_srcptr, double) __attribute__ ((__pure__)); + int __gmpz_cmp_si (mpz_srcptr, signed long int) __attribute__ ((__pure__)); + int __gmpz_cmp_ui (mpz_srcptr, unsigned long int) __attribute__ ((__pure__)); + int __gmpz_cmpabs (mpz_srcptr, mpz_srcptr) __attribute__ ((__pure__)); + int __gmpz_cmpabs_d (mpz_srcptr, double) __attribute__ ((__pure__)); + int __gmpz_cmpabs_ui (mpz_srcptr, unsigned long int) __attribute__ ((__pure__)); + void __gmpz_com (mpz_ptr, mpz_srcptr); + void __gmpz_combit (mpz_ptr, unsigned long int); + int __gmpz_congruent_p (mpz_srcptr, mpz_srcptr, mpz_srcptr) __attribute__ ((__pure__)); + int __gmpz_congruent_2exp_p (mpz_srcptr, mpz_srcptr, unsigned long) __attribute__ ((__pure__)); + int __gmpz_congruent_ui_p (mpz_srcptr, unsigned long, unsigned long) __attribute__ ((__pure__)); + void __gmpz_divexact (mpz_ptr, mpz_srcptr, mpz_srcptr); + void __gmpz_divexact_ui (mpz_ptr, mpz_srcptr, unsigned long); + int __gmpz_divisible_p (mpz_srcptr, mpz_srcptr) __attribute__ ((__pure__)); + int __gmpz_divisible_ui_p (mpz_srcptr, unsigned long) __attribute__ ((__pure__)); + int __gmpz_divisible_2exp_p (mpz_srcptr, unsigned long) __attribute__ ((__pure__)); + void __gmpz_dump (mpz_srcptr); + void *__gmpz_export (void *, size_t *, int, size_t, int, size_t, mpz_srcptr); + void __gmpz_fac_ui (mpz_ptr, unsigned long int); + void __gmpz_fdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); + void __gmpz_fdiv_q_2exp (mpz_ptr, mpz_srcptr, unsigned long int); + unsigned long int __gmpz_fdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); + void __gmpz_fdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); + unsigned long int __gmpz_fdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); + void __gmpz_fdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); + void __gmpz_fdiv_r_2exp (mpz_ptr, mpz_srcptr, unsigned long int); + unsigned long int __gmpz_fdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); + unsigned long int __gmpz_fdiv_ui (mpz_srcptr, unsigned long int) __attribute__ ((__pure__)); + void __gmpz_fib_ui (mpz_ptr, unsigned long int); + void __gmpz_fib2_ui (mpz_ptr, mpz_ptr, unsigned long int); + int __gmpz_fits_sint_p (mpz_srcptr) __attribute__ ((__pure__)); + int __gmpz_fits_slong_p (mpz_srcptr) __attribute__ ((__pure__)); + int __gmpz_fits_sshort_p (mpz_srcptr) __attribute__ ((__pure__)); + int __gmpz_fits_uint_p (mpz_srcptr) __attribute__ ((__pure__)); + int __gmpz_fits_ulong_p (mpz_srcptr) __attribute__ ((__pure__)); + int __gmpz_fits_ushort_p (mpz_srcptr) __attribute__ ((__pure__)); + void __gmpz_gcd (mpz_ptr, mpz_srcptr, mpz_srcptr); + unsigned long int __gmpz_gcd_ui (mpz_ptr, mpz_srcptr, unsigned long int); + void __gmpz_gcdext (mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); + double __gmpz_get_d (mpz_srcptr) __attribute__ ((__pure__)); + double __gmpz_get_d_2exp (signed long int *, mpz_srcptr); + long int __gmpz_get_si (mpz_srcptr) __attribute__ ((__pure__)); + char *__gmpz_get_str (char *, int, mpz_srcptr); + unsigned long int __gmpz_get_ui (mpz_srcptr) __attribute__ ((__pure__)); + mp_limb_t __gmpz_getlimbn (mpz_srcptr, mp_size_t) __attribute__ ((__pure__)); + unsigned long int __gmpz_hamdist (mpz_srcptr, mpz_srcptr) __attribute__ ((__pure__)); + void __gmpz_import (mpz_ptr, size_t, int, size_t, int, size_t, const void *); + void __gmpz_init (mpz_ptr); + void __gmpz_init2 (mpz_ptr, unsigned long); + void __gmpz_init_set (mpz_ptr, mpz_srcptr); + void __gmpz_init_set_d (mpz_ptr, double); + void __gmpz_init_set_si (mpz_ptr, signed long int); + int __gmpz_init_set_str (mpz_ptr, const char *, int); + void __gmpz_init_set_ui (mpz_ptr, unsigned long int); + size_t __gmpz_inp_raw (mpz_ptr, FILE *); + size_t __gmpz_inp_str (mpz_ptr, FILE *, int); + int __gmpz_invert (mpz_ptr, mpz_srcptr, mpz_srcptr); + void __gmpz_ior (mpz_ptr, mpz_srcptr, mpz_srcptr); + int __gmpz_jacobi (mpz_srcptr, mpz_srcptr) __attribute__ ((__pure__)); + int __gmpz_kronecker_si (mpz_srcptr, long) __attribute__ ((__pure__)); + int __gmpz_kronecker_ui (mpz_srcptr, unsigned long) __attribute__ ((__pure__)); + int __gmpz_si_kronecker (long, mpz_srcptr) __attribute__ ((__pure__)); + int __gmpz_ui_kronecker (unsigned long, mpz_srcptr) __attribute__ ((__pure__)); + void __gmpz_lcm (mpz_ptr, mpz_srcptr, mpz_srcptr); + void __gmpz_lcm_ui (mpz_ptr, mpz_srcptr, unsigned long); + void __gmpz_lucnum_ui (mpz_ptr, unsigned long int); + void __gmpz_lucnum2_ui (mpz_ptr, mpz_ptr, unsigned long int); + int __gmpz_millerrabin (mpz_srcptr, int) __attribute__ ((__pure__)); + void __gmpz_mod (mpz_ptr, mpz_srcptr, mpz_srcptr); + void __gmpz_mul (mpz_ptr, mpz_srcptr, mpz_srcptr); + void __gmpz_mul_2exp (mpz_ptr, mpz_srcptr, unsigned long int); + void __gmpz_mul_si (mpz_ptr, mpz_srcptr, long int); + void __gmpz_mul_ui (mpz_ptr, mpz_srcptr, unsigned long int); + void __gmpz_neg (mpz_ptr, mpz_srcptr); + void __gmpz_nextprime (mpz_ptr, mpz_srcptr); + size_t __gmpz_out_raw (FILE *, mpz_srcptr); + size_t __gmpz_out_str (FILE *, int, mpz_srcptr); + int __gmpz_perfect_power_p (mpz_srcptr) __attribute__ ((__pure__)); + int __gmpz_perfect_square_p (mpz_srcptr) __attribute__ ((__pure__)); + unsigned long int __gmpz_popcount (mpz_srcptr) __attribute__ ((__pure__)); + void __gmpz_pow_ui (mpz_ptr, mpz_srcptr, unsigned long int); + void __gmpz_powm (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); + void __gmpz_powm_ui (mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr); + int __gmpz_probab_prime_p (mpz_srcptr, int) __attribute__ ((__pure__)); + void __gmpz_random (mpz_ptr, mp_size_t); + void __gmpz_random2 (mpz_ptr, mp_size_t); + void __gmpz_realloc2 (mpz_ptr, unsigned long); + unsigned long int __gmpz_remove (mpz_ptr, mpz_srcptr, mpz_srcptr); + int __gmpz_root (mpz_ptr, mpz_srcptr, unsigned long int); + void __gmpz_rootrem (mpz_ptr,mpz_ptr, mpz_srcptr, unsigned long int); + void __gmpz_rrandomb (mpz_ptr, gmp_randstate_t, unsigned long int); + unsigned long int __gmpz_scan0 (mpz_srcptr, unsigned long int) __attribute__ ((__pure__)); + unsigned long int __gmpz_scan1 (mpz_srcptr, unsigned long int) __attribute__ ((__pure__)); + void __gmpz_set (mpz_ptr, mpz_srcptr); + void __gmpz_set_d (mpz_ptr, double); + void __gmpz_set_f (mpz_ptr, mpf_srcptr); + void __gmpz_set_q (mpz_ptr, mpq_srcptr); + void __gmpz_set_si (mpz_ptr, signed long int); + int __gmpz_set_str (mpz_ptr, const char *, int); + void __gmpz_set_ui (mpz_ptr, unsigned long int); + void __gmpz_setbit (mpz_ptr, unsigned long int); + size_t __gmpz_size (mpz_srcptr) __attribute__ ((__pure__)); + size_t __gmpz_sizeinbase (mpz_srcptr, int) __attribute__ ((__pure__)); + void __gmpz_sqrt (mpz_ptr, mpz_srcptr); + void __gmpz_sqrtrem (mpz_ptr, mpz_ptr, mpz_srcptr); + void __gmpz_sub (mpz_ptr, mpz_srcptr, mpz_srcptr); + void __gmpz_sub_ui (mpz_ptr, mpz_srcptr, unsigned long int); + void __gmpz_ui_sub (mpz_ptr, unsigned long int, mpz_srcptr); + void __gmpz_submul (mpz_ptr, mpz_srcptr, mpz_srcptr); + void __gmpz_submul_ui (mpz_ptr, mpz_srcptr, unsigned long int); + void __gmpz_swap (mpz_ptr, mpz_ptr) ; + unsigned long int __gmpz_tdiv_ui (mpz_srcptr, unsigned long int) __attribute__ ((__pure__)); + void __gmpz_tdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); + void __gmpz_tdiv_q_2exp (mpz_ptr, mpz_srcptr, unsigned long int); + unsigned long int __gmpz_tdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); + void __gmpz_tdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); + unsigned long int __gmpz_tdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); + void __gmpz_tdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); + void __gmpz_tdiv_r_2exp (mpz_ptr, mpz_srcptr, unsigned long int); + unsigned long int __gmpz_tdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); + int __gmpz_tstbit (mpz_srcptr, unsigned long int) __attribute__ ((__pure__)); + void __gmpz_ui_pow_ui (mpz_ptr, unsigned long int, unsigned long int); + void __gmpz_urandomb (mpz_ptr, gmp_randstate_t, unsigned long int); + void __gmpz_urandomm (mpz_ptr, gmp_randstate_t, mpz_srcptr); + void __gmpz_xor (mpz_ptr, mpz_srcptr, mpz_srcptr); + void __gmpq_abs (mpq_ptr, mpq_srcptr); + void __gmpq_add (mpq_ptr, mpq_srcptr, mpq_srcptr); + void __gmpq_canonicalize (mpq_ptr); + void __gmpq_clear (mpq_ptr); + int __gmpq_cmp (mpq_srcptr, mpq_srcptr) __attribute__ ((__pure__)); + int __gmpq_cmp_si (mpq_srcptr, long, unsigned long) __attribute__ ((__pure__)); + int __gmpq_cmp_ui (mpq_srcptr, unsigned long int, unsigned long int) __attribute__ ((__pure__)); + void __gmpq_div (mpq_ptr, mpq_srcptr, mpq_srcptr); + void __gmpq_div_2exp (mpq_ptr, mpq_srcptr, unsigned long); + int __gmpq_equal (mpq_srcptr, mpq_srcptr) __attribute__ ((__pure__)); + void __gmpq_get_num (mpz_ptr, mpq_srcptr); + void __gmpq_get_den (mpz_ptr, mpq_srcptr); + double __gmpq_get_d (mpq_srcptr) __attribute__ ((__pure__)); + char *__gmpq_get_str (char *, int, mpq_srcptr); + void __gmpq_init (mpq_ptr); + size_t __gmpq_inp_str (mpq_ptr, FILE *, int); + void __gmpq_inv (mpq_ptr, mpq_srcptr); + void __gmpq_mul (mpq_ptr, mpq_srcptr, mpq_srcptr); + void __gmpq_mul_2exp (mpq_ptr, mpq_srcptr, unsigned long); + void __gmpq_neg (mpq_ptr, mpq_srcptr); + size_t __gmpq_out_str (FILE *, int, mpq_srcptr); + void __gmpq_set (mpq_ptr, mpq_srcptr); + void __gmpq_set_d (mpq_ptr, double); + void __gmpq_set_den (mpq_ptr, mpz_srcptr); + void __gmpq_set_f (mpq_ptr, mpf_srcptr); + void __gmpq_set_num (mpq_ptr, mpz_srcptr); + void __gmpq_set_si (mpq_ptr, signed long int, unsigned long int); + int __gmpq_set_str (mpq_ptr, const char *, int); + void __gmpq_set_ui (mpq_ptr, unsigned long int, unsigned long int); + void __gmpq_set_z (mpq_ptr, mpz_srcptr); + void __gmpq_sub (mpq_ptr, mpq_srcptr, mpq_srcptr); + void __gmpq_swap (mpq_ptr, mpq_ptr) ; + void __gmpf_abs (mpf_ptr, mpf_srcptr); + void __gmpf_add (mpf_ptr, mpf_srcptr, mpf_srcptr); + void __gmpf_add_ui (mpf_ptr, mpf_srcptr, unsigned long int); + void __gmpf_ceil (mpf_ptr, mpf_srcptr); + void __gmpf_clear (mpf_ptr); + int __gmpf_cmp (mpf_srcptr, mpf_srcptr) __attribute__ ((__pure__)); + int __gmpf_cmp_d (mpf_srcptr, double) __attribute__ ((__pure__)); + int __gmpf_cmp_si (mpf_srcptr, signed long int) __attribute__ ((__pure__)); + int __gmpf_cmp_ui (mpf_srcptr, unsigned long int) __attribute__ ((__pure__)); + void __gmpf_div (mpf_ptr, mpf_srcptr, mpf_srcptr); + void __gmpf_div_2exp (mpf_ptr, mpf_srcptr, unsigned long int); + void __gmpf_div_ui (mpf_ptr, mpf_srcptr, unsigned long int); + void __gmpf_dump (mpf_srcptr); + int __gmpf_eq (mpf_srcptr, mpf_srcptr, unsigned long int) __attribute__ ((__pure__)); + int __gmpf_fits_sint_p (mpf_srcptr) __attribute__ ((__pure__)); + int __gmpf_fits_slong_p (mpf_srcptr) __attribute__ ((__pure__)); + int __gmpf_fits_sshort_p (mpf_srcptr) __attribute__ ((__pure__)); + int __gmpf_fits_uint_p (mpf_srcptr) __attribute__ ((__pure__)); + int __gmpf_fits_ulong_p (mpf_srcptr) __attribute__ ((__pure__)); + int __gmpf_fits_ushort_p (mpf_srcptr) __attribute__ ((__pure__)); + void __gmpf_floor (mpf_ptr, mpf_srcptr); + double __gmpf_get_d (mpf_srcptr) __attribute__ ((__pure__)); + double __gmpf_get_d_2exp (signed long int *, mpf_srcptr); + unsigned long int __gmpf_get_default_prec (void) __attribute__ ((__pure__)); + unsigned long int __gmpf_get_prec (mpf_srcptr) __attribute__ ((__pure__)); + long __gmpf_get_si (mpf_srcptr) __attribute__ ((__pure__)); + char *__gmpf_get_str (char *, mp_exp_t *, int, size_t, mpf_srcptr); + unsigned long __gmpf_get_ui (mpf_srcptr) __attribute__ ((__pure__)); + void __gmpf_init (mpf_ptr); + void __gmpf_init2 (mpf_ptr, unsigned long int); + void __gmpf_init_set (mpf_ptr, mpf_srcptr); + void __gmpf_init_set_d (mpf_ptr, double); + void __gmpf_init_set_si (mpf_ptr, signed long int); + int __gmpf_init_set_str (mpf_ptr, const char *, int); + void __gmpf_init_set_ui (mpf_ptr, unsigned long int); + size_t __gmpf_inp_str (mpf_ptr, FILE *, int); + int __gmpf_integer_p (mpf_srcptr) __attribute__ ((__pure__)); + void __gmpf_mul (mpf_ptr, mpf_srcptr, mpf_srcptr); + void __gmpf_mul_2exp (mpf_ptr, mpf_srcptr, unsigned long int); + void __gmpf_mul_ui (mpf_ptr, mpf_srcptr, unsigned long int); + void __gmpf_neg (mpf_ptr, mpf_srcptr); + size_t __gmpf_out_str (FILE *, int, size_t, mpf_srcptr); + void __gmpf_pow_ui (mpf_ptr, mpf_srcptr, unsigned long int); + void __gmpf_random2 (mpf_ptr, mp_size_t, mp_exp_t); + void __gmpf_reldiff (mpf_ptr, mpf_srcptr, mpf_srcptr); + void __gmpf_set (mpf_ptr, mpf_srcptr); + void __gmpf_set_d (mpf_ptr, double); + void __gmpf_set_default_prec (unsigned long int) ; + void __gmpf_set_prec (mpf_ptr, unsigned long int); + void __gmpf_set_prec_raw (mpf_ptr, unsigned long int) ; + void __gmpf_set_q (mpf_ptr, mpq_srcptr); + void __gmpf_set_si (mpf_ptr, signed long int); + int __gmpf_set_str (mpf_ptr, const char *, int); + void __gmpf_set_ui (mpf_ptr, unsigned long int); + void __gmpf_set_z (mpf_ptr, mpz_srcptr); + size_t __gmpf_size (mpf_srcptr) __attribute__ ((__pure__)); + void __gmpf_sqrt (mpf_ptr, mpf_srcptr); + void __gmpf_sqrt_ui (mpf_ptr, unsigned long int); + void __gmpf_sub (mpf_ptr, mpf_srcptr, mpf_srcptr); + void __gmpf_sub_ui (mpf_ptr, mpf_srcptr, unsigned long int); + void __gmpf_swap (mpf_ptr, mpf_ptr) ; + void __gmpf_trunc (mpf_ptr, mpf_srcptr); + void __gmpf_ui_div (mpf_ptr, unsigned long int, mpf_srcptr); + void __gmpf_ui_sub (mpf_ptr, unsigned long int, mpf_srcptr); + void __gmpf_urandomb (mpf_t, gmp_randstate_t, unsigned long int); + mp_limb_t __gmpn_add (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t); + mp_limb_t __gmpn_add_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) ; + mp_limb_t __gmpn_add_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); + mp_limb_t __gmpn_addmul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); + mp_limb_t __gmpn_bdivmod (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, unsigned long int); + int __gmpn_cmp (mp_srcptr, mp_srcptr, mp_size_t) __attribute__ ((__pure__)); + mp_limb_t __gmpn_divexact_by3c (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); + mp_limb_t __gmpn_divrem (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t); + mp_limb_t __gmpn_divrem_1 (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t); + mp_limb_t __gmpn_divrem_2 (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr); + mp_size_t __gmpn_gcd (mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t); + mp_limb_t __gmpn_gcd_1 (mp_srcptr, mp_size_t, mp_limb_t) __attribute__ ((__pure__)); + mp_limb_t __gmpn_gcdext_1 (mp_ptr, mp_ptr, mp_limb_t, mp_limb_t); + mp_size_t __gmpn_gcdext (mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t); + size_t __gmpn_get_str (unsigned char *, int, mp_ptr, mp_size_t); + unsigned long int __gmpn_hamdist (mp_srcptr, mp_srcptr, mp_size_t) __attribute__ ((__pure__)); + mp_limb_t __gmpn_lshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); + mp_limb_t __gmpn_mod_1 (mp_srcptr, mp_size_t, mp_limb_t) __attribute__ ((__pure__)); + mp_limb_t __gmpn_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); + mp_limb_t __gmpn_mul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); + void __gmpn_mul_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); + mp_limb_t __gmpn_neg_n (mp_ptr, mp_srcptr, mp_size_t); + int __gmpn_perfect_square_p (mp_srcptr, mp_size_t) __attribute__ ((__pure__)); + unsigned long int __gmpn_popcount (mp_srcptr, mp_size_t) __attribute__ ((__pure__)); + mp_size_t __gmpn_pow_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); + mp_limb_t __gmpn_preinv_mod_1 (mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) __attribute__ ((__pure__)); + void __gmpn_random (mp_ptr, mp_size_t); + void __gmpn_random2 (mp_ptr, mp_size_t); + mp_limb_t __gmpn_rshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); + unsigned long int __gmpn_scan0 (mp_srcptr, unsigned long int) __attribute__ ((__pure__)); + unsigned long int __gmpn_scan1 (mp_srcptr, unsigned long int) __attribute__ ((__pure__)); + mp_size_t __gmpn_set_str (mp_ptr, const unsigned char *, size_t, int); + mp_size_t __gmpn_sqrtrem (mp_ptr, mp_ptr, mp_srcptr, mp_size_t); + mp_limb_t __gmpn_sub (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t); + mp_limb_t __gmpn_sub_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) ; + mp_limb_t __gmpn_sub_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); + mp_limb_t __gmpn_submul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); + void __gmpn_tdiv_qr (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); +extern __inline__ void +__gmpz_abs (mpz_ptr __gmp_w, mpz_srcptr __gmp_u) +{ + if (__gmp_w != __gmp_u) + __gmpz_set (__gmp_w, __gmp_u); + __gmp_w->_mp_size = ((__gmp_w->_mp_size) >= 0 ? (__gmp_w->_mp_size) : -(__gmp_w->_mp_size)); +} +extern __inline__ +int +__gmpz_fits_uint_p (mpz_srcptr __gmp_z) +{ + 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)));; +} +extern __inline__ +int +__gmpz_fits_ulong_p (mpz_srcptr __gmp_z) +{ + 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)));; +} +extern __inline__ +int +__gmpz_fits_ushort_p (mpz_srcptr __gmp_z) +{ + 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)));; +} +extern __inline__ +unsigned long +__gmpz_get_ui (mpz_srcptr __gmp_z) +{ + mp_ptr __gmp_p = __gmp_z->_mp_d; + mp_size_t __gmp_n = __gmp_z->_mp_size; + mp_limb_t __gmp_l = __gmp_p[0]; + return (__gmp_n != 0 ? __gmp_l : 0); +} +extern __inline__ +mp_limb_t +__gmpz_getlimbn (mpz_srcptr __gmp_z, mp_size_t __gmp_n) +{ + mp_limb_t __gmp_result = 0; + if (__builtin_expect ((__gmp_n >= 0 && __gmp_n < ((__gmp_z->_mp_size) >= 0 ? (__gmp_z->_mp_size) : -(__gmp_z->_mp_size))) != 0, 1)) + __gmp_result = __gmp_z->_mp_d[__gmp_n]; + return __gmp_result; +} +extern __inline__ void +__gmpz_neg (mpz_ptr __gmp_w, mpz_srcptr __gmp_u) +{ + if (__gmp_w != __gmp_u) + __gmpz_set (__gmp_w, __gmp_u); + __gmp_w->_mp_size = - __gmp_w->_mp_size; +} +extern __inline__ +int +__gmpz_perfect_square_p (mpz_srcptr __gmp_a) +{ + mp_size_t __gmp_asize; + int __gmp_result; + __gmp_asize = __gmp_a->_mp_size; + __gmp_result = (__gmp_asize >= 0); + if (__builtin_expect ((__gmp_asize > 0) != 0, 1)) + __gmp_result = __gmpn_perfect_square_p (__gmp_a->_mp_d, __gmp_asize); + return __gmp_result; +} +extern __inline__ +unsigned long +__gmpz_popcount (mpz_srcptr __gmp_u) +{ + mp_size_t __gmp_usize; + unsigned long __gmp_result; + __gmp_usize = __gmp_u->_mp_size; + __gmp_result = (__gmp_usize < 0 ? (~ (unsigned long) 0) : 0); + if (__builtin_expect ((__gmp_usize > 0) != 0, 1)) + __gmp_result = __gmpn_popcount (__gmp_u->_mp_d, __gmp_usize); + return __gmp_result; +} +extern __inline__ +void +__gmpz_set_q (mpz_ptr __gmp_w, mpq_srcptr __gmp_u) +{ + __gmpz_tdiv_q (__gmp_w, (&((__gmp_u)->_mp_num)), (&((__gmp_u)->_mp_den))); +} +extern __inline__ +size_t +__gmpz_size (mpz_srcptr __gmp_z) +{ + return ((__gmp_z->_mp_size) >= 0 ? (__gmp_z->_mp_size) : -(__gmp_z->_mp_size)); +} +extern __inline__ void +__gmpq_abs (mpq_ptr __gmp_w, mpq_srcptr __gmp_u) +{ + if (__gmp_w != __gmp_u) + __gmpq_set (__gmp_w, __gmp_u); + __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)); +} +extern __inline__ void +__gmpq_neg (mpq_ptr __gmp_w, mpq_srcptr __gmp_u) +{ + if (__gmp_w != __gmp_u) + __gmpq_set (__gmp_w, __gmp_u); + __gmp_w->_mp_num._mp_size = - __gmp_w->_mp_num._mp_size; +} +extern __inline__ +mp_limb_t +__gmpn_add (mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, mp_srcptr __gmp_yp, mp_size_t __gmp_ysize) +{ + mp_limb_t __gmp_c; + 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); + return __gmp_c; +} +extern __inline__ +mp_limb_t +__gmpn_add_1 (mp_ptr __gmp_dst, mp_srcptr __gmp_src, mp_size_t __gmp_size, mp_limb_t __gmp_n) +{ + mp_limb_t __gmp_c; + 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); + return __gmp_c; +} +extern __inline__ +int +__gmpn_cmp (mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, mp_size_t __gmp_size) +{ + int __gmp_result; + 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); + return __gmp_result; +} +extern __inline__ +mp_limb_t +__gmpn_sub (mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, mp_srcptr __gmp_yp, mp_size_t __gmp_ysize) +{ + mp_limb_t __gmp_c; + 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); + return __gmp_c; +} +extern __inline__ +mp_limb_t +__gmpn_sub_1 (mp_ptr __gmp_dst, mp_srcptr __gmp_src, mp_size_t __gmp_size, mp_limb_t __gmp_n) +{ + mp_limb_t __gmp_c; + 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); + return __gmp_c; +} +extern __inline__ +mp_limb_t +__gmpn_neg_n (mp_ptr __gmp_rp, mp_srcptr __gmp_up, mp_size_t __gmp_n) +{ + mp_limb_t __gmp_ul, __gmp_cy; + __gmp_cy = 0; + do { + __gmp_ul = *__gmp_up++; + *__gmp_rp++ = -__gmp_ul - __gmp_cy; + __gmp_cy |= __gmp_ul != 0; + } while (--__gmp_n != 0); + return __gmp_cy; +} +enum +{ + GMP_ERROR_NONE = 0, + GMP_ERROR_UNSUPPORTED_ARGUMENT = 1, + GMP_ERROR_DIVISION_BY_ZERO = 2, + GMP_ERROR_SQRT_OF_NEGATIVE = 4, + GMP_ERROR_INVALID_ARGUMENT = 8 +}; +typedef long int_t; +typedef int_t header_t; +typedef int bool_t; +typedef unsigned short ucs2_t; +struct bgl_dframe { + union scmobj *symbol; + struct bgl_dframe *link; +}; +typedef union scmobj { + int_t integer; + header_t header; + struct pair { + union scmobj *car; + union scmobj *cdr; + } pair_t; + struct extended_pair { + union scmobj *car; + union scmobj *cdr; + union scmobj *eheader; + union scmobj *cer; + } extended_pair_t; + struct string { + int length; + unsigned char char0; + } string_t; + struct ucs2_string { + header_t header; + int length; + ucs2_t char0; + } ucs2_string_t; + struct vector { + int length; + union scmobj *obj0; + } vector_t; + struct tvector { + header_t header; + int length; + union scmobj *descr; + } tvector_t; + struct procedure { + header_t header; + union scmobj *(*entry)(); + union scmobj *(*va_entry)(); + union scmobj *attr; + int arity; + union scmobj *obj0; + } procedure_t; + struct procedure_light { + union scmobj *(*entry)(); + union scmobj *obj0; + } procedure_light_t; + struct symbol { + header_t header; + union scmobj *string; + union scmobj *cval; + } symbol_t; + struct port { + header_t header; + union scmobj *kindof; + union scmobj *name; + void *stream; + union scmobj *chook; + void *timeout; + void *userdata; + int (*sysclose)(); + long (*sysseek)(); + } port_t; + struct output_port { + struct port port; + union scmobj *buf; + long cnt; + char *ptr; + int bufmode; + size_t (*syswrite)(); + union scmobj *(*sysflush)(); + union scmobj *fhook; + union scmobj *flushbuf; + } output_port_t; + struct input_port { + struct port port; + long filepos; + long fillbarrier; + long (*sysread)(); + bool_t eof; + long matchstart; + long matchstop; + long forward; + long bufpos; + union scmobj *buf; + int lastchar; + } input_port_t; + struct input_procedure_port { + struct input_port iport; + union scmobj *pbuffer; + long pbufpos; + } input_procedure_port_t; + struct input_gzip_port { + struct input_procedure_port iport; + union scmobj *gzip; + } input_gzip_port_t; + struct binary_port { + header_t header; + union scmobj *name; + FILE *file; + int io; + } binary_port_t; + struct cell { + union scmobj *val; + } cell_t; + struct structure { + header_t header; + union scmobj *key; + int length; + union scmobj *obj0; + } struct_t; + struct real { + double real; + } real_t; + struct stack { + header_t header; + union scmobj *self; + union scmobj *exitd_top; + union scmobj *stamp; + long size; + struct befored *before_top; + char *stack_top; + char *stack_bot; + struct bgl_dframe *top_frame; + void *stack; + } stack_t; + struct foreign { + header_t header; + union scmobj *id; + void *cobj; + } foreign_t; + struct elong { + header_t header; + long elong; + } elong_t; + struct llong { + header_t header; + long long llong; + } llong_t; + struct bignum { + header_t header; + __mpz_struct mpz; + } bignum_t; + struct process { + header_t header; + int pid; + int index; + union scmobj *stream[ 3 ]; + int exited; + int exit_status; + } process_t; + struct socket { + header_t header; + int portnum; + union scmobj *hostname; + union scmobj *hostip; + int fd; + union scmobj *input; + union scmobj *output; + int stype; + union scmobj *chook; + union scmobj *(*accept)(); + void *userdata; + } socket_t; + struct custom { + header_t header; + char *identifier; + int (*final)(); + int (*equal)(); + long (*hash)(); + char *(*to_string)(); + union scmobj *(*output)(); + } custom_t; + struct bgl_date { + header_t header; + int sec; + int min; + int hour; + int mday; + int mon; + int year; + int wday; + int yday; + long timezone; + int isdst; + } date_t; + struct bgl_mutex { + header_t header; + union scmobj *name; + void *mutex; + } mutex_t; + struct bgl_condvar { + header_t header; + union scmobj *name; + void *condvar; + } condvar_t; + struct bgl_mmap { + header_t header; + union scmobj *name; + int fd; + long length; + long rp; + long wp; + unsigned char *map; + } mmap_t; + struct bgl_hvector { + header_t header; + unsigned int length; + } hvector_t; + struct bgl_weakptr { + header_t header; + union scmobj *data; + } weakptr_t; + struct bgl_dynamic_env { + header_t header; + union scmobj *current_output_port; + union scmobj *current_input_port; + union scmobj *current_error_port; + union scmobj *current_display; + int mvalues_number; + union scmobj *mvalues[ 16 ]; + char *stack_bottom; + union scmobj *exitd_top; + union scmobj *exitd_stamp; + struct befored *befored_top; + union scmobj *exitd_val; + union scmobj *error_handler; + union scmobj *error_notifiers; + union scmobj *uncaught_exception_handler; + union scmobj *interrupt_notifier; + union scmobj *debug_alist; + struct bgl_dframe top; + struct bgl_dframe *top_of_frame; + void *current_thread; + union scmobj *lexical_stack; + union scmobj *bytecode; + union scmobj *module; + union scmobj *abase; + union scmobj *parameters; + union scmobj *thread_backend; + union scmobj *user_data; + } dynamic_env_t; +} *obj_t; +typedef obj_t (*function_t)(); +typedef struct __object_bgl { + header_t header; + obj_t widening; +} *object_bglt; +typedef struct __bgl__object_00_bgl { + header_t header; + obj_t widening; +} *bgl__object_00_bglt; +typedef struct BgL__object_00_bgl { + header_t header; + obj_t widening; +} *BgL__object_00_bglt; +typedef struct BgL_objectz00_bgl { + header_t header; + obj_t widening; +} *BgL_objectz00_bglt; +struct bgl_input_timeout { + long timeout; + long (*sysread)( void *, size_t, size_t, obj_t ); + int (*sysclose)( obj_t ); +}; + extern obj_t GC_malloc( size_t ); + extern obj_t GC_realloc( obj_t, size_t ); + extern void GC_free( obj_t ); + extern void GC_gcollect(); + extern obj_t GC_malloc_atomic( size_t ); + extern obj_t GC_debug_malloc( size_t, char *, long ); + extern obj_t GC_debug_malloc_atomic( size_t, char *, long ); + extern int GC_gc_no; + extern int GC_size( void * ); + extern void GC_init(); + extern void GC_expand_hp( size_t ); + extern void GC_register_displacement( int ); + extern void GC_debug_register_displacement( int ); + extern void* GC_base( void* ); + extern int GC_invoke_finalizers(); + extern int GC_general_register_disappearing_link( obj_t * , obj_t ); + extern int GC_unregister_disappearing_link( obj_t * ); + typedef obj_t (*GC_fn_type) ( obj_t client_data ); + extern obj_t GC_call_with_alloc_lock( GC_fn_type fn, obj_t client_data ); + typedef void (*GC_finalization_proc)( void *obj, void *client_data ); + extern void GC_register_finalizer( void *obj, + GC_finalization_proc fn, void *d, + GC_finalization_proc *ofn, void **od ); +extern obj_t alloc_hvector( int, int, int ); +extern obj_t make_weakptr( obj_t ); +extern obj_t weakptr_data( obj_t ); +extern void weakptr_data_set( obj_t , obj_t ); +extern obj_t single_thread_denv; +extern void bgl_init_dynamic_env(); +extern obj_t make_dynamic_env(); +extern obj_t bgl_dup_dynamic_env( obj_t ); +extern obj_t (*bgl_multithread_dynamic_denv)(); +extern gmp_randstate_t gmp_random_state; +extern obj_t bgl_safe_plus_fx( long, long ); +extern obj_t bgl_safe_minus_fx( long, long ); +extern obj_t bgl_safe_mul_fx( long, long ); +extern obj_t bgl_safe_quotient_fx( long, long ); +extern obj_t bgl_safe_plus_elong( long, long ); +extern obj_t bgl_safe_minus_elong( long, long ); +extern obj_t bgl_safe_mul_elong( long, long ); +extern obj_t bgl_safe_quotient_elong( long, long ); +extern obj_t bgl_safe_plus_llong( long long, long long ); +extern obj_t bgl_safe_minus_llong( long long, long long ); +extern obj_t bgl_safe_mul_llong( long long, long long ); +extern obj_t bgl_safe_quotient_llong( long long, long long ); +extern obj_t _exit_value_; +typedef jmp_buf callcc_jmp_buf; +struct exitd { + void *exit; + long userp; + obj_t stamp; + struct exitd *prev; +}; +struct befored { + obj_t before; + struct befored *prev; +}; +extern header_t bgl_opaque_nil; +extern obj_t bigloo_exit( obj_t ); +extern obj_t va_generic_entry( obj_t, ... ); +extern obj_t opt_generic_entry( obj_t, ... ); +extern obj_t apply( obj_t, obj_t ); +extern void bgl_init_module_debug_start( char * ); +extern void bgl_init_module_debug_library( char * ); +extern void bgl_init_module_debug_import( char *, char * ); +extern void bgl_init_module_debug_object( char * ); +extern void bgl_init_module_debug_end( char * ); +extern obj_t the_failure( obj_t, obj_t, obj_t ); +extern obj_t bgl_system_failure( int, obj_t, obj_t, obj_t ); +extern obj_t bgl_make_procedure( obj_t, int, int ); +extern obj_t make_fx_procedure( function_t, int, int ); +extern obj_t make_va_procedure( function_t, int, int ); +extern obj_t bgl_time( obj_t ); +extern obj_t bgl_procedure_entry_to_string( obj_t ); +extern obj_t bgl_string_to_procedure_entry( obj_t ); +extern obj_t make_pair( obj_t, obj_t ); +extern obj_t make_extended_pair( obj_t a, obj_t d, obj_t e ); +extern obj_t make_cell( obj_t ); +extern obj_t make_real( double ); +extern obj_t make_belong( long ); +extern obj_t make_bllong( long long ); +extern obj_t bgl_string_to_bignum( char *, int ); +extern obj_t bgl_reverse( obj_t ); +extern obj_t bgl_reverse_bang( obj_t ); +extern long bgl_list_length( obj_t ); +extern obj_t bgl_remq( obj_t, obj_t ); +extern obj_t bgl_remq_bang( obj_t, obj_t ); +extern obj_t bgl_make_output_port( obj_t, void *, obj_t, obj_t, size_t (*)(), long (*)(), int (*)() ); +extern void bgl_output_port_buffer_set( obj_t, obj_t ); +extern obj_t bgl_close_output_port( obj_t ); +extern obj_t get_output_string( obj_t ); +extern obj_t bgl_file_to_output_port( FILE *, obj_t ); +extern obj_t bgl_open_output_file( obj_t, obj_t ); +extern obj_t bgl_append_output_file( obj_t, obj_t ); +extern obj_t bgl_open_output_string( obj_t ); +extern obj_t bgl_open_output_procedure( obj_t, obj_t, obj_t, obj_t ); +extern obj_t create_vector( int ); +extern obj_t make_string_sans_fill(); +extern obj_t string_to_bstring( char * ); +extern obj_t string_to_bstring_len( char *, int ); +extern obj_t close_init_string(); +extern obj_t bgl_string_shrink( obj_t, long ); +extern obj_t bgl_find_runtime_type( obj_t ); +extern obj_t cobj_to_foreign( obj_t, void * ); +extern long obj_to_cobj( obj_t ); +extern int _bigloo_main( int, char *[], char *[], obj_t (*)(obj_t) ); +extern obj_t string_to_symbol( char * ); +extern obj_t bstring_to_symbol( obj_t ); +extern obj_t bgl_symbol_genname( obj_t, char * ); +extern obj_t string_to_keyword( char * ); +extern obj_t bgl_open_input_string( obj_t, int ); +extern long bgl_file_size( char * ); +extern obj_t create_custom( long ); +extern void bgl_input_port_buffer_set( obj_t, obj_t ); +extern obj_t bgl_reset_output_string_port( obj_t ); +extern obj_t bgl_display_string( obj_t, obj_t ); +extern obj_t bgl_display_symbol( obj_t, obj_t ); +extern obj_t bgl_display_fixnum( obj_t, obj_t ); +extern obj_t bgl_display_char( char, obj_t ); +extern obj_t bgl_output_flush( obj_t, char *, size_t ); +extern obj_t bgl_make_date(); +extern obj_t bgl_make_mutex( obj_t ); +extern obj_t bgl_make_condvar( obj_t ); +extern bool_t (*bgl_mutex_lock)( obj_t ); +extern bool_t (*bgl_mutex_timed_lock)( obj_t, long ); +extern bool_t (*bgl_mutex_unlock)( obj_t ); +extern obj_t (*bgl_mutex_state)( obj_t ); +extern bool_t (*bgl_condvar_wait)( obj_t, obj_t ); +extern bool_t (*bgl_condvar_timed_wait)( obj_t, obj_t, long ); +extern bool_t (*bgl_condvar_signal)( obj_t ); +extern bool_t (*bgl_condvar_broadcast)( obj_t ); +extern obj_t bgl_open_mmap( obj_t, bool_t, bool_t ); + obj_t bgl_close_mmap( obj_t ); +extern void (*bgl_gc_do_blocking )( void (*fun)(), void * ); +extern obj_t bgl_make_client_socket( obj_t, int, int, obj_t, obj_t ); +extern obj_t bgl_make_server_socket( obj_t, int, int ); +extern obj_t bgl_socket_accept( obj_t, bool_t, obj_t, obj_t ); +extern long bgl_socket_accept_many( obj_t, bool_t, obj_t, obj_t, obj_t ); +extern obj_t bgl_gethostname(); +extern obj_t bgl_socket_hostname(); +extern obj_t bgl_getsockopt( obj_t, obj_t ); +extern obj_t bgl_setsockopt( obj_t, obj_t, obj_t ); +extern void bgl_init_trace( void ); +extern int bgl_sigprocmask( int ); +extern long bgl_rgc_blit_string( obj_t, char *, long, long ); +extern obj_t bigloo_nan, bigloo_infinity, bigloo_minfinity; +typedef long int ptrdiff_t; +typedef signed char gint8; +typedef unsigned char guint8; +typedef signed short gint16; +typedef unsigned short guint16; +typedef signed int gint32; +typedef unsigned int guint32; +typedef signed long gint64; +typedef unsigned long guint64; +typedef signed long gssize; +typedef unsigned long gsize; +typedef gint64 goffset; +typedef signed long gintptr; +typedef unsigned long guintptr; +typedef struct _GStaticMutex GStaticMutex; +struct _GStaticMutex +{ + struct _GMutex *runtime_mutex; + union { + char pad[40]; + double dummy_double; + void *dummy_pointer; + long dummy_long; + } static_mutex; +}; +typedef union _GSystemThread GSystemThread; +union _GSystemThread +{ + char data[8]; + double dummy_double; + void *dummy_pointer; + long dummy_long; +}; +typedef int GPid; +typedef char gchar; +typedef short gshort; +typedef long glong; +typedef int gint; +typedef gint gboolean; +typedef unsigned char guchar; +typedef unsigned short gushort; +typedef unsigned long gulong; +typedef unsigned int guint; +typedef float gfloat; +typedef double gdouble; +typedef void* gpointer; +typedef const void *gconstpointer; +typedef gint (*GCompareFunc) (gconstpointer a, + gconstpointer b); +typedef gint (*GCompareDataFunc) (gconstpointer a, + gconstpointer b, + gpointer user_data); +typedef gboolean (*GEqualFunc) (gconstpointer a, + gconstpointer b); +typedef void (*GDestroyNotify) (gpointer data); +typedef void (*GFunc) (gpointer data, + gpointer user_data); +typedef guint (*GHashFunc) (gconstpointer key); +typedef void (*GHFunc) (gpointer key, + gpointer value, + gpointer user_data); +typedef void (*GFreeFunc) (gpointer data); +typedef const gchar * (*GTranslateFunc) (const gchar *str, + gpointer data); +typedef union _GDoubleIEEE754 GDoubleIEEE754; +typedef union _GFloatIEEE754 GFloatIEEE754; +union _GFloatIEEE754 +{ + gfloat v_float; + struct { + guint mantissa : 23; + guint biased_exponent : 8; + guint sign : 1; + } mpn; +}; +union _GDoubleIEEE754 +{ + gdouble v_double; + struct { + guint mantissa_low : 32; + guint mantissa_high : 20; + guint biased_exponent : 11; + guint sign : 1; + } mpn; +}; +typedef struct _GTimeVal GTimeVal; +struct _GTimeVal +{ + glong tv_sec; + glong tv_usec; +}; +typedef struct _GArray GArray; +typedef struct _GByteArray GByteArray; +typedef struct _GPtrArray GPtrArray; +struct _GArray +{ + gchar *data; + guint len; +}; +struct _GByteArray +{ + guint8 *data; + guint len; +}; +struct _GPtrArray +{ + gpointer *pdata; + guint len; +}; +GArray* g_array_new (gboolean zero_terminated, + gboolean clear_, + guint element_size); +GArray* g_array_sized_new (gboolean zero_terminated, + gboolean clear_, + guint element_size, + guint reserved_size); +gchar* g_array_free (GArray *array, + gboolean free_segment); +GArray* g_array_append_vals (GArray *array, + gconstpointer data, + guint len); +GArray* g_array_prepend_vals (GArray *array, + gconstpointer data, + guint len); +GArray* g_array_insert_vals (GArray *array, + guint index_, + gconstpointer data, + guint len); +GArray* g_array_set_size (GArray *array, + guint length); +GArray* g_array_remove_index (GArray *array, + guint index_); +GArray* g_array_remove_index_fast (GArray *array, + guint index_); +GArray* g_array_remove_range (GArray *array, + guint index_, + guint length); +void g_array_sort (GArray *array, + GCompareFunc compare_func); +void g_array_sort_with_data (GArray *array, + GCompareDataFunc compare_func, + gpointer user_data); +GPtrArray* g_ptr_array_new (void); +GPtrArray* g_ptr_array_sized_new (guint reserved_size); +gpointer* g_ptr_array_free (GPtrArray *array, + gboolean free_seg); +void g_ptr_array_set_size (GPtrArray *array, + gint length); +gpointer g_ptr_array_remove_index (GPtrArray *array, + guint index_); +gpointer g_ptr_array_remove_index_fast (GPtrArray *array, + guint index_); +gboolean g_ptr_array_remove (GPtrArray *array, + gpointer data); +gboolean g_ptr_array_remove_fast (GPtrArray *array, + gpointer data); +void g_ptr_array_remove_range (GPtrArray *array, + guint index_, + guint length); +void g_ptr_array_add (GPtrArray *array, + gpointer data); +void g_ptr_array_sort (GPtrArray *array, + GCompareFunc compare_func); +void g_ptr_array_sort_with_data (GPtrArray *array, + GCompareDataFunc compare_func, + gpointer user_data); +void g_ptr_array_foreach (GPtrArray *array, + GFunc func, + gpointer user_data); +GByteArray* g_byte_array_new (void); +GByteArray* g_byte_array_sized_new (guint reserved_size); +guint8* g_byte_array_free (GByteArray *array, + gboolean free_segment); +GByteArray* g_byte_array_append (GByteArray *array, + const guint8 *data, + guint len); +GByteArray* g_byte_array_prepend (GByteArray *array, + const guint8 *data, + guint len); +GByteArray* g_byte_array_set_size (GByteArray *array, + guint length); +GByteArray* g_byte_array_remove_index (GByteArray *array, + guint index_); +GByteArray* g_byte_array_remove_index_fast (GByteArray *array, + guint index_); +GByteArray* g_byte_array_remove_range (GByteArray *array, + guint index_, + guint length); +void g_byte_array_sort (GByteArray *array, + GCompareFunc compare_func); +void g_byte_array_sort_with_data (GByteArray *array, + GCompareDataFunc compare_func, + gpointer user_data); +typedef guint32 GQuark; +GQuark g_quark_try_string (const gchar *string); +GQuark g_quark_from_static_string (const gchar *string); +GQuark g_quark_from_string (const gchar *string); +const gchar* g_quark_to_string (GQuark quark) __attribute__((__const__)); +const gchar* g_intern_string (const gchar *string); +const gchar* g_intern_static_string (const gchar *string); +typedef struct _GError GError; +struct _GError +{ + GQuark domain; + gint code; + gchar *message; +}; +GError* g_error_new (GQuark domain, + gint code, + const gchar *format, + ...) __attribute__((__format__ (__printf__, 3, 4))); +GError* g_error_new_literal (GQuark domain, + gint code, + const gchar *message); +void g_error_free (GError *error); +GError* g_error_copy (const GError *error); +gboolean g_error_matches (const GError *error, + GQuark domain, + gint code); +void g_set_error (GError **err, + GQuark domain, + gint code, + const gchar *format, + ...) __attribute__((__format__ (__printf__, 4, 5))); +void g_set_error_literal (GError **err, + GQuark domain, + gint code, + const gchar *message); +void g_propagate_error (GError **dest, + GError *src); +void g_clear_error (GError **err); +void g_prefix_error (GError **err, + const gchar *format, + ...) __attribute__((__format__ (__printf__, 2, 3))); +void g_propagate_prefixed_error (GError **dest, + GError *src, + const gchar *format, + ...) __attribute__((__format__ (__printf__, 3, 4))); +typedef __gnuc_va_list va_list; +const gchar* g_get_user_name (void); +const gchar* g_get_real_name (void); +const gchar* g_get_home_dir (void); +const gchar* g_get_tmp_dir (void); +const gchar* g_get_host_name (void); +gchar* g_get_prgname (void); +void g_set_prgname (const gchar *prgname); +const gchar* g_get_application_name (void); +void g_set_application_name (const gchar *application_name); +const gchar* g_get_user_data_dir (void); +const gchar* g_get_user_config_dir (void); +const gchar* g_get_user_cache_dir (void); +const gchar* const * g_get_system_data_dirs (void); +const gchar* const * g_get_system_config_dirs (void); +const gchar* const * g_get_language_names (void); +typedef enum { + G_USER_DIRECTORY_DESKTOP, + G_USER_DIRECTORY_DOCUMENTS, + G_USER_DIRECTORY_DOWNLOAD, + G_USER_DIRECTORY_MUSIC, + G_USER_DIRECTORY_PICTURES, + G_USER_DIRECTORY_PUBLIC_SHARE, + G_USER_DIRECTORY_TEMPLATES, + G_USER_DIRECTORY_VIDEOS, + G_USER_N_DIRECTORIES +} GUserDirectory; +const gchar* g_get_user_special_dir (GUserDirectory directory); +typedef struct _GDebugKey GDebugKey; +struct _GDebugKey +{ + const gchar *key; + guint value; +}; +guint g_parse_debug_string (const gchar *string, + const GDebugKey *keys, + guint nkeys); +gint g_snprintf (gchar *string, + gulong n, + gchar const *format, + ...) __attribute__((__format__ (__printf__, 3, 4))); +gint g_vsnprintf (gchar *string, + gulong n, + gchar const *format, + va_list args); +gboolean g_path_is_absolute (const gchar *file_name); +const gchar* g_path_skip_root (const gchar *file_name); +const gchar* g_basename (const gchar *file_name); +gchar* g_get_current_dir (void); +gchar* g_path_get_basename (const gchar *file_name) __attribute__((__malloc__)); +gchar* g_path_get_dirname (const gchar *file_name) __attribute__((__malloc__)); +void g_nullify_pointer (gpointer *nullify_location); +const gchar* g_getenv (const gchar *variable); +gboolean g_setenv (const gchar *variable, + const gchar *value, + gboolean overwrite); +void g_unsetenv (const gchar *variable); +gchar** g_listenv (void); +const gchar* _g_getenv_nomalloc (const gchar *variable, + gchar buffer[1024]); +typedef void (*GVoidFunc) (void); +void g_atexit (GVoidFunc func); +gchar* g_find_program_in_path (const gchar *program); +static __inline __attribute__ ((unused)) gint g_bit_nth_lsf (gulong mask, + gint nth_bit) __attribute__((__const__)); +static __inline __attribute__ ((unused)) gint g_bit_nth_msf (gulong mask, + gint nth_bit) __attribute__((__const__)); +static __inline __attribute__ ((unused)) guint g_bit_storage (gulong number) __attribute__((__const__)); +typedef struct _GTrashStack GTrashStack; +struct _GTrashStack +{ + GTrashStack *next; +}; +static __inline __attribute__ ((unused)) void g_trash_stack_push (GTrashStack **stack_p, + gpointer data_p); +static __inline __attribute__ ((unused)) gpointer g_trash_stack_pop (GTrashStack **stack_p); +static __inline __attribute__ ((unused)) gpointer g_trash_stack_peek (GTrashStack **stack_p); +static __inline __attribute__ ((unused)) guint g_trash_stack_height (GTrashStack **stack_p); +static __inline __attribute__ ((unused)) gint +g_bit_nth_lsf (gulong mask, + gint nth_bit) +{ + if ((nth_bit < -1)) + nth_bit = -1; + while (nth_bit < ((8 * 8) - 1)) + { + nth_bit++; + if (mask & (1UL << nth_bit)) + return nth_bit; + } + return -1; +} +static __inline __attribute__ ((unused)) gint +g_bit_nth_msf (gulong mask, + gint nth_bit) +{ + if (nth_bit < 0 || (nth_bit > 8 * 8)) + nth_bit = 8 * 8; + while (nth_bit > 0) + { + nth_bit--; + if (mask & (1UL << nth_bit)) + return nth_bit; + } + return -1; +} +static __inline __attribute__ ((unused)) guint +g_bit_storage (gulong number) +{ + register guint n_bits = 0; + do + { + n_bits++; + number >>= 1; + } + while (number); + return n_bits; +} +static __inline __attribute__ ((unused)) void +g_trash_stack_push (GTrashStack **stack_p, + gpointer data_p) +{ + GTrashStack *data = (GTrashStack *) data_p; + data->next = *stack_p; + *stack_p = data; +} +static __inline __attribute__ ((unused)) gpointer +g_trash_stack_pop (GTrashStack **stack_p) +{ + GTrashStack *data; + data = *stack_p; + if (data) + { + *stack_p = data->next; + data->next = ((void *)0); + } + return data; +} +static __inline __attribute__ ((unused)) gpointer +g_trash_stack_peek (GTrashStack **stack_p) +{ + GTrashStack *data; + data = *stack_p; + return data; +} +static __inline __attribute__ ((unused)) guint +g_trash_stack_height (GTrashStack **stack_p) +{ + GTrashStack *data; + guint i = 0; + for (data = *stack_p; data; data = data->next) + i++; + return i; +} +extern const guint glib_major_version; +extern const guint glib_minor_version; +extern const guint glib_micro_version; +extern const guint glib_interface_age; +extern const guint glib_binary_age; +const gchar * glib_check_version (guint required_major, + guint required_minor, + guint required_micro); +gint g_atomic_int_exchange_and_add (volatile gint __attribute__((may_alias)) *atomic, + gint val); +void g_atomic_int_add (volatile gint __attribute__((may_alias)) *atomic, + gint val); +gboolean g_atomic_int_compare_and_exchange (volatile gint __attribute__((may_alias)) *atomic, + gint oldval, + gint newval); +gboolean g_atomic_pointer_compare_and_exchange (volatile gpointer __attribute__((may_alias)) *atomic, + gpointer oldval, + gpointer newval); +gint g_atomic_int_get (volatile gint __attribute__((may_alias)) *atomic); +void g_atomic_int_set (volatile gint __attribute__((may_alias)) *atomic, + gint newval); +gpointer g_atomic_pointer_get (volatile gpointer __attribute__((may_alias)) *atomic); +void g_atomic_pointer_set (volatile gpointer __attribute__((may_alias)) *atomic, + gpointer newval); +extern GQuark g_thread_error_quark (void); +typedef enum +{ + G_THREAD_ERROR_AGAIN +} GThreadError; +typedef gpointer (*GThreadFunc) (gpointer data); +typedef enum +{ + G_THREAD_PRIORITY_LOW, + G_THREAD_PRIORITY_NORMAL, + G_THREAD_PRIORITY_HIGH, + G_THREAD_PRIORITY_URGENT +} GThreadPriority; +typedef struct _GThread GThread; +struct _GThread +{ + GThreadFunc func; + gpointer data; + gboolean joinable; + GThreadPriority priority; +}; +typedef struct _GMutex GMutex; +typedef struct _GCond GCond; +typedef struct _GPrivate GPrivate; +typedef struct _GStaticPrivate GStaticPrivate; +typedef struct _GThreadFunctions GThreadFunctions; +struct _GThreadFunctions +{ + GMutex* (*mutex_new) (void); + void (*mutex_lock) (GMutex *mutex); + gboolean (*mutex_trylock) (GMutex *mutex); + void (*mutex_unlock) (GMutex *mutex); + void (*mutex_free) (GMutex *mutex); + GCond* (*cond_new) (void); + void (*cond_signal) (GCond *cond); + void (*cond_broadcast) (GCond *cond); + void (*cond_wait) (GCond *cond, + GMutex *mutex); + gboolean (*cond_timed_wait) (GCond *cond, + GMutex *mutex, + GTimeVal *end_time); + void (*cond_free) (GCond *cond); + GPrivate* (*private_new) (GDestroyNotify destructor); + gpointer (*private_get) (GPrivate *private_key); + void (*private_set) (GPrivate *private_key, + gpointer data); + void (*thread_create) (GThreadFunc func, + gpointer data, + gulong stack_size, + gboolean joinable, + gboolean bound, + GThreadPriority priority, + gpointer thread, + GError **error); + void (*thread_yield) (void); + void (*thread_join) (gpointer thread); + void (*thread_exit) (void); + void (*thread_set_priority)(gpointer thread, + GThreadPriority priority); + void (*thread_self) (gpointer thread); + gboolean (*thread_equal) (gpointer thread1, + gpointer thread2); +}; +extern GThreadFunctions g_thread_functions_for_glib_use; +extern gboolean g_thread_use_default_impl; +extern gboolean g_threads_got_initialized; +extern guint64 (*g_thread_gettime) (void); +void g_thread_init (GThreadFunctions *vtable); +void g_thread_init_with_errorcheck_mutexes (GThreadFunctions* vtable); +gboolean g_thread_get_initialized (void); +GMutex* g_static_mutex_get_mutex_impl (GMutex **mutex); +GThread* g_thread_create_full (GThreadFunc func, + gpointer data, + gulong stack_size, + gboolean joinable, + gboolean bound, + GThreadPriority priority, + GError **error); +GThread* g_thread_self (void); +void g_thread_exit (gpointer retval); +gpointer g_thread_join (GThread *thread); +void g_thread_set_priority (GThread *thread, + GThreadPriority priority); +void g_static_mutex_init (GStaticMutex *mutex); +void g_static_mutex_free (GStaticMutex *mutex); +struct _GStaticPrivate +{ + guint index; +}; +void g_static_private_init (GStaticPrivate *private_key); +gpointer g_static_private_get (GStaticPrivate *private_key); +void g_static_private_set (GStaticPrivate *private_key, + gpointer data, + GDestroyNotify notify); +void g_static_private_free (GStaticPrivate *private_key); +typedef struct _GStaticRecMutex GStaticRecMutex; +struct _GStaticRecMutex +{ + GStaticMutex mutex; + guint depth; + GSystemThread owner; +}; +void g_static_rec_mutex_init (GStaticRecMutex *mutex); +void g_static_rec_mutex_lock (GStaticRecMutex *mutex); +gboolean g_static_rec_mutex_trylock (GStaticRecMutex *mutex); +void g_static_rec_mutex_unlock (GStaticRecMutex *mutex); +void g_static_rec_mutex_lock_full (GStaticRecMutex *mutex, + guint depth); +guint g_static_rec_mutex_unlock_full (GStaticRecMutex *mutex); +void g_static_rec_mutex_free (GStaticRecMutex *mutex); +typedef struct _GStaticRWLock GStaticRWLock; +struct _GStaticRWLock +{ + GStaticMutex mutex; + GCond *read_cond; + GCond *write_cond; + guint read_counter; + gboolean have_writer; + guint want_to_read; + guint want_to_write; +}; +void g_static_rw_lock_init (GStaticRWLock* lock); +void g_static_rw_lock_reader_lock (GStaticRWLock* lock); +gboolean g_static_rw_lock_reader_trylock (GStaticRWLock* lock); +void g_static_rw_lock_reader_unlock (GStaticRWLock* lock); +void g_static_rw_lock_writer_lock (GStaticRWLock* lock); +gboolean g_static_rw_lock_writer_trylock (GStaticRWLock* lock); +void g_static_rw_lock_writer_unlock (GStaticRWLock* lock); +void g_static_rw_lock_free (GStaticRWLock* lock); +void g_thread_foreach (GFunc thread_func, + gpointer user_data); +typedef enum +{ + G_ONCE_STATUS_NOTCALLED, + G_ONCE_STATUS_PROGRESS, + G_ONCE_STATUS_READY +} GOnceStatus; +typedef struct _GOnce GOnce; +struct _GOnce +{ + volatile GOnceStatus status; + volatile gpointer retval; +}; +gpointer g_once_impl (GOnce *once, GThreadFunc func, gpointer arg); +static __inline __attribute__ ((unused)) gboolean g_once_init_enter (volatile gsize *value_location); +gboolean g_once_init_enter_impl (volatile gsize *value_location); +void g_once_init_leave (volatile gsize *value_location, + gsize initialization_value); +static __inline __attribute__ ((unused)) gboolean +g_once_init_enter (volatile gsize *value_location) +{ + if ((gpointer) ((gpointer)*(value_location)) != ((void *)0)) + return (0); + else + return g_once_init_enter_impl (value_location); +} +extern void glib_dummy_decl (void); +typedef struct _GAsyncQueue GAsyncQueue; +GAsyncQueue* g_async_queue_new (void); +GAsyncQueue* g_async_queue_new_full (GDestroyNotify item_free_func); +void g_async_queue_lock (GAsyncQueue *queue); +void g_async_queue_unlock (GAsyncQueue *queue); +GAsyncQueue* g_async_queue_ref (GAsyncQueue *queue); +void g_async_queue_unref (GAsyncQueue *queue); +void g_async_queue_ref_unlocked (GAsyncQueue *queue); +void g_async_queue_unref_and_unlock (GAsyncQueue *queue); +void g_async_queue_push (GAsyncQueue *queue, + gpointer data); +void g_async_queue_push_unlocked (GAsyncQueue *queue, + gpointer data); +void g_async_queue_push_sorted (GAsyncQueue *queue, + gpointer data, + GCompareDataFunc func, + gpointer user_data); +void g_async_queue_push_sorted_unlocked (GAsyncQueue *queue, + gpointer data, + GCompareDataFunc func, + gpointer user_data); +gpointer g_async_queue_pop (GAsyncQueue *queue); +gpointer g_async_queue_pop_unlocked (GAsyncQueue *queue); +gpointer g_async_queue_try_pop (GAsyncQueue *queue); +gpointer g_async_queue_try_pop_unlocked (GAsyncQueue *queue); +gpointer g_async_queue_timed_pop (GAsyncQueue *queue, + GTimeVal *end_time); +gpointer g_async_queue_timed_pop_unlocked (GAsyncQueue *queue, + GTimeVal *end_time); +gint g_async_queue_length (GAsyncQueue *queue); +gint g_async_queue_length_unlocked (GAsyncQueue *queue); +void g_async_queue_sort (GAsyncQueue *queue, + GCompareDataFunc func, + gpointer user_data); +void g_async_queue_sort_unlocked (GAsyncQueue *queue, + GCompareDataFunc func, + gpointer user_data); +GMutex* _g_async_queue_get_mutex (GAsyncQueue *queue); +void g_on_error_query (const gchar *prg_name); +void g_on_error_stack_trace (const gchar *prg_name); +gsize g_base64_encode_step (const guchar *in, + gsize len, + gboolean break_lines, + gchar *out, + gint *state, + gint *save); +gsize g_base64_encode_close (gboolean break_lines, + gchar *out, + gint *state, + gint *save); +gchar* g_base64_encode (const guchar *data, + gsize len) __attribute__((__malloc__)); +gsize g_base64_decode_step (const gchar *in, + gsize len, + guchar *out, + gint *state, + guint *save); +guchar *g_base64_decode (const gchar *text, + gsize *out_len) __attribute__((__malloc__)); +guchar *g_base64_decode_inplace (gchar *text, + gsize *out_len); +typedef __clock_t clock_t; +struct tm +{ + int tm_sec; + int tm_min; + int tm_hour; + int tm_mday; + int tm_mon; + int tm_year; + int tm_wday; + int tm_yday; + int tm_isdst; + long int tm_gmtoff; + __const char *tm_zone; +}; +struct itimerspec + { + struct timespec it_interval; + struct timespec it_value; + }; +struct sigevent; +extern clock_t clock (void) __attribute__ ((__nothrow__)); +extern time_t time (time_t *__timer) __attribute__ ((__nothrow__)); +extern double difftime (time_t __time1, time_t __time0) + __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern time_t mktime (struct tm *__tp) __attribute__ ((__nothrow__)); +extern size_t strftime (char *__restrict __s, size_t __maxsize, + __const char *__restrict __format, + __const struct tm *__restrict __tp) __attribute__ ((__nothrow__)); +extern size_t strftime_l (char *__restrict __s, size_t __maxsize, + __const char *__restrict __format, + __const struct tm *__restrict __tp, + __locale_t __loc) __attribute__ ((__nothrow__)); +extern struct tm *gmtime (__const time_t *__timer) __attribute__ ((__nothrow__)); +extern struct tm *localtime (__const time_t *__timer) __attribute__ ((__nothrow__)); +extern struct tm *gmtime_r (__const time_t *__restrict __timer, + struct tm *__restrict __tp) __attribute__ ((__nothrow__)); +extern struct tm *localtime_r (__const time_t *__restrict __timer, + struct tm *__restrict __tp) __attribute__ ((__nothrow__)); +extern char *asctime (__const struct tm *__tp) __attribute__ ((__nothrow__)); +extern char *ctime (__const time_t *__timer) __attribute__ ((__nothrow__)); +extern char *asctime_r (__const struct tm *__restrict __tp, + char *__restrict __buf) __attribute__ ((__nothrow__)); +extern char *ctime_r (__const time_t *__restrict __timer, + char *__restrict __buf) __attribute__ ((__nothrow__)); +extern char *__tzname[2]; +extern int __daylight; +extern long int __timezone; +extern char *tzname[2]; +extern void tzset (void) __attribute__ ((__nothrow__)); +extern int daylight; +extern long int timezone; +extern int stime (__const time_t *__when) __attribute__ ((__nothrow__)); +extern time_t timegm (struct tm *__tp) __attribute__ ((__nothrow__)); +extern time_t timelocal (struct tm *__tp) __attribute__ ((__nothrow__)); +extern int dysize (int __year) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +extern int nanosleep (__const struct timespec *__requested_time, + struct timespec *__remaining); +extern int clock_getres (clockid_t __clock_id, struct timespec *__res) __attribute__ ((__nothrow__)); +extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) __attribute__ ((__nothrow__)); +extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp) + __attribute__ ((__nothrow__)); +extern int clock_nanosleep (clockid_t __clock_id, int __flags, + __const struct timespec *__req, + struct timespec *__rem); +extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) __attribute__ ((__nothrow__)); +extern int timer_create (clockid_t __clock_id, + struct sigevent *__restrict __evp, + timer_t *__restrict __timerid) __attribute__ ((__nothrow__)); +extern int timer_delete (timer_t __timerid) __attribute__ ((__nothrow__)); +extern int timer_settime (timer_t __timerid, int __flags, + __const struct itimerspec *__restrict __value, + struct itimerspec *__restrict __ovalue) __attribute__ ((__nothrow__)); +extern int timer_gettime (timer_t __timerid, struct itimerspec *__value) + __attribute__ ((__nothrow__)); +extern int timer_getoverrun (timer_t __timerid) __attribute__ ((__nothrow__)); +typedef enum +{ + G_BOOKMARK_FILE_ERROR_INVALID_URI, + G_BOOKMARK_FILE_ERROR_INVALID_VALUE, + G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED, + G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND, + G_BOOKMARK_FILE_ERROR_READ, + G_BOOKMARK_FILE_ERROR_UNKNOWN_ENCODING, + G_BOOKMARK_FILE_ERROR_WRITE, + G_BOOKMARK_FILE_ERROR_FILE_NOT_FOUND +} GBookmarkFileError; +GQuark g_bookmark_file_error_quark (void); +typedef struct _GBookmarkFile GBookmarkFile; +GBookmarkFile *g_bookmark_file_new (void); +void g_bookmark_file_free (GBookmarkFile *bookmark); +gboolean g_bookmark_file_load_from_file (GBookmarkFile *bookmark, + const gchar *filename, + GError **error); +gboolean g_bookmark_file_load_from_data (GBookmarkFile *bookmark, + const gchar *data, + gsize length, + GError **error); +gboolean g_bookmark_file_load_from_data_dirs (GBookmarkFile *bookmark, + const gchar *file, + gchar **full_path, + GError **error); +gchar * g_bookmark_file_to_data (GBookmarkFile *bookmark, + gsize *length, + GError **error) __attribute__((__malloc__)); +gboolean g_bookmark_file_to_file (GBookmarkFile *bookmark, + const gchar *filename, + GError **error); +void g_bookmark_file_set_title (GBookmarkFile *bookmark, + const gchar *uri, + const gchar *title); +gchar * g_bookmark_file_get_title (GBookmarkFile *bookmark, + const gchar *uri, + GError **error) __attribute__((__malloc__)); +void g_bookmark_file_set_description (GBookmarkFile *bookmark, + const gchar *uri, + const gchar *description); +gchar * g_bookmark_file_get_description (GBookmarkFile *bookmark, + const gchar *uri, + GError **error) __attribute__((__malloc__)); +void g_bookmark_file_set_mime_type (GBookmarkFile *bookmark, + const gchar *uri, + const gchar *mime_type); +gchar * g_bookmark_file_get_mime_type (GBookmarkFile *bookmark, + const gchar *uri, + GError **error) __attribute__((__malloc__)); +void g_bookmark_file_set_groups (GBookmarkFile *bookmark, + const gchar *uri, + const gchar **groups, + gsize length); +void g_bookmark_file_add_group (GBookmarkFile *bookmark, + const gchar *uri, + const gchar *group); +gboolean g_bookmark_file_has_group (GBookmarkFile *bookmark, + const gchar *uri, + const gchar *group, + GError **error); +gchar ** g_bookmark_file_get_groups (GBookmarkFile *bookmark, + const gchar *uri, + gsize *length, + GError **error) __attribute__((__malloc__)); +void g_bookmark_file_add_application (GBookmarkFile *bookmark, + const gchar *uri, + const gchar *name, + const gchar *exec); +gboolean g_bookmark_file_has_application (GBookmarkFile *bookmark, + const gchar *uri, + const gchar *name, + GError **error); +gchar ** g_bookmark_file_get_applications (GBookmarkFile *bookmark, + const gchar *uri, + gsize *length, + GError **error) __attribute__((__malloc__)); +gboolean g_bookmark_file_set_app_info (GBookmarkFile *bookmark, + const gchar *uri, + const gchar *name, + const gchar *exec, + gint count, + time_t stamp, + GError **error); +gboolean g_bookmark_file_get_app_info (GBookmarkFile *bookmark, + const gchar *uri, + const gchar *name, + gchar **exec, + guint *count, + time_t *stamp, + GError **error); +void g_bookmark_file_set_is_private (GBookmarkFile *bookmark, + const gchar *uri, + gboolean is_private); +gboolean g_bookmark_file_get_is_private (GBookmarkFile *bookmark, + const gchar *uri, + GError **error); +void g_bookmark_file_set_icon (GBookmarkFile *bookmark, + const gchar *uri, + const gchar *href, + const gchar *mime_type); +gboolean g_bookmark_file_get_icon (GBookmarkFile *bookmark, + const gchar *uri, + gchar **href, + gchar **mime_type, + GError **error); +void g_bookmark_file_set_added (GBookmarkFile *bookmark, + const gchar *uri, + time_t added); +time_t g_bookmark_file_get_added (GBookmarkFile *bookmark, + const gchar *uri, + GError **error); +void g_bookmark_file_set_modified (GBookmarkFile *bookmark, + const gchar *uri, + time_t modified); +time_t g_bookmark_file_get_modified (GBookmarkFile *bookmark, + const gchar *uri, + GError **error); +void g_bookmark_file_set_visited (GBookmarkFile *bookmark, + const gchar *uri, + time_t visited); +time_t g_bookmark_file_get_visited (GBookmarkFile *bookmark, + const gchar *uri, + GError **error); +gboolean g_bookmark_file_has_item (GBookmarkFile *bookmark, + const gchar *uri); +gint g_bookmark_file_get_size (GBookmarkFile *bookmark); +gchar ** g_bookmark_file_get_uris (GBookmarkFile *bookmark, + gsize *length) __attribute__((__malloc__)); +gboolean g_bookmark_file_remove_group (GBookmarkFile *bookmark, + const gchar *uri, + const gchar *group, + GError **error); +gboolean g_bookmark_file_remove_application (GBookmarkFile *bookmark, + const gchar *uri, + const gchar *name, + GError **error); +gboolean g_bookmark_file_remove_item (GBookmarkFile *bookmark, + const gchar *uri, + GError **error); +gboolean g_bookmark_file_move_item (GBookmarkFile *bookmark, + const gchar *old_uri, + const gchar *new_uri, + GError **error); +gpointer g_slice_alloc (gsize block_size) __attribute__((__malloc__)) __attribute__((__alloc_size__(1))); +gpointer g_slice_alloc0 (gsize block_size) __attribute__((__malloc__)) __attribute__((__alloc_size__(1))); +gpointer g_slice_copy (gsize block_size, + gconstpointer mem_block) __attribute__((__malloc__)) __attribute__((__alloc_size__(1))); +void g_slice_free1 (gsize block_size, + gpointer mem_block); +void g_slice_free_chain_with_offset (gsize block_size, + gpointer mem_chain, + gsize next_offset); +typedef enum { + G_SLICE_CONFIG_ALWAYS_MALLOC = 1, + G_SLICE_CONFIG_BYPASS_MAGAZINES, + G_SLICE_CONFIG_WORKING_SET_MSECS, + G_SLICE_CONFIG_COLOR_INCREMENT, + G_SLICE_CONFIG_CHUNK_SIZES, + G_SLICE_CONFIG_CONTENTION_COUNTER +} GSliceConfig; +void g_slice_set_config (GSliceConfig ckey, gint64 value); +gint64 g_slice_get_config (GSliceConfig ckey); +gint64* g_slice_get_config_state (GSliceConfig ckey, gint64 address, guint *n_values); +typedef struct _GMemVTable GMemVTable; +gpointer g_malloc (gsize n_bytes) __attribute__((__malloc__)) __attribute__((__alloc_size__(1))); +gpointer g_malloc0 (gsize n_bytes) __attribute__((__malloc__)) __attribute__((__alloc_size__(1))); +gpointer g_realloc (gpointer mem, + gsize n_bytes) __attribute__((warn_unused_result)); +void g_free (gpointer mem); +gpointer g_try_malloc (gsize n_bytes) __attribute__((__malloc__)) __attribute__((__alloc_size__(1))); +gpointer g_try_malloc0 (gsize n_bytes) __attribute__((__malloc__)) __attribute__((__alloc_size__(1))); +gpointer g_try_realloc (gpointer mem, + gsize n_bytes) __attribute__((warn_unused_result)); +struct _GMemVTable +{ + gpointer (*malloc) (gsize n_bytes); + gpointer (*realloc) (gpointer mem, + gsize n_bytes); + void (*free) (gpointer mem); + gpointer (*calloc) (gsize n_blocks, + gsize n_block_bytes); + gpointer (*try_malloc) (gsize n_bytes); + gpointer (*try_realloc) (gpointer mem, + gsize n_bytes); +}; +void g_mem_set_vtable (GMemVTable *vtable); +gboolean g_mem_is_system_malloc (void); +extern gboolean g_mem_gc_friendly; +extern GMemVTable *glib_mem_profiler_table; +void g_mem_profile (void); +typedef struct _GAllocator GAllocator; +typedef struct _GMemChunk GMemChunk; +GMemChunk* g_mem_chunk_new (const gchar *name, + gint atom_size, + gsize area_size, + gint type); +void g_mem_chunk_destroy (GMemChunk *mem_chunk); +gpointer g_mem_chunk_alloc (GMemChunk *mem_chunk); +gpointer g_mem_chunk_alloc0 (GMemChunk *mem_chunk); +void g_mem_chunk_free (GMemChunk *mem_chunk, + gpointer mem); +void g_mem_chunk_clean (GMemChunk *mem_chunk); +void g_mem_chunk_reset (GMemChunk *mem_chunk); +void g_mem_chunk_print (GMemChunk *mem_chunk); +void g_mem_chunk_info (void); +void g_blow_chunks (void); +GAllocator*g_allocator_new (const gchar *name, + guint n_preallocs); +void g_allocator_free (GAllocator *allocator); +typedef struct _GList GList; +struct _GList +{ + gpointer data; + GList *next; + GList *prev; +}; +GList* g_list_alloc (void) __attribute__((warn_unused_result)); +void g_list_free (GList *list); +void g_list_free_1 (GList *list); +GList* g_list_append (GList *list, + gpointer data) __attribute__((warn_unused_result)); +GList* g_list_prepend (GList *list, + gpointer data) __attribute__((warn_unused_result)); +GList* g_list_insert (GList *list, + gpointer data, + gint position) __attribute__((warn_unused_result)); +GList* g_list_insert_sorted (GList *list, + gpointer data, + GCompareFunc func) __attribute__((warn_unused_result)); +GList* g_list_insert_sorted_with_data (GList *list, + gpointer data, + GCompareDataFunc func, + gpointer user_data) __attribute__((warn_unused_result)); +GList* g_list_insert_before (GList *list, + GList *sibling, + gpointer data) __attribute__((warn_unused_result)); +GList* g_list_concat (GList *list1, + GList *list2) __attribute__((warn_unused_result)); +GList* g_list_remove (GList *list, + gconstpointer data) __attribute__((warn_unused_result)); +GList* g_list_remove_all (GList *list, + gconstpointer data) __attribute__((warn_unused_result)); +GList* g_list_remove_link (GList *list, + GList *llink) __attribute__((warn_unused_result)); +GList* g_list_delete_link (GList *list, + GList *link_) __attribute__((warn_unused_result)); +GList* g_list_reverse (GList *list) __attribute__((warn_unused_result)); +GList* g_list_copy (GList *list) __attribute__((warn_unused_result)); +GList* g_list_nth (GList *list, + guint n); +GList* g_list_nth_prev (GList *list, + guint n); +GList* g_list_find (GList *list, + gconstpointer data); +GList* g_list_find_custom (GList *list, + gconstpointer data, + GCompareFunc func); +gint g_list_position (GList *list, + GList *llink); +gint g_list_index (GList *list, + gconstpointer data); +GList* g_list_last (GList *list); +GList* g_list_first (GList *list); +guint g_list_length (GList *list); +void g_list_foreach (GList *list, + GFunc func, + gpointer user_data); +GList* g_list_sort (GList *list, + GCompareFunc compare_func) __attribute__((warn_unused_result)); +GList* g_list_sort_with_data (GList *list, + GCompareDataFunc compare_func, + gpointer user_data) __attribute__((warn_unused_result)); +gpointer g_list_nth_data (GList *list, + guint n); +void g_list_push_allocator (gpointer allocator); +void g_list_pop_allocator (void); +typedef struct _GCache GCache; +typedef gpointer (*GCacheNewFunc) (gpointer key); +typedef gpointer (*GCacheDupFunc) (gpointer value); +typedef void (*GCacheDestroyFunc) (gpointer value); +GCache* g_cache_new (GCacheNewFunc value_new_func, + GCacheDestroyFunc value_destroy_func, + GCacheDupFunc key_dup_func, + GCacheDestroyFunc key_destroy_func, + GHashFunc hash_key_func, + GHashFunc hash_value_func, + GEqualFunc key_equal_func); +void g_cache_destroy (GCache *cache); +gpointer g_cache_insert (GCache *cache, + gpointer key); +void g_cache_remove (GCache *cache, + gconstpointer value); +void g_cache_key_foreach (GCache *cache, + GHFunc func, + gpointer user_data); +void g_cache_value_foreach (GCache *cache, + GHFunc func, + gpointer user_data); +typedef enum { + G_CHECKSUM_MD5, + G_CHECKSUM_SHA1, + G_CHECKSUM_SHA256 +} GChecksumType; +typedef struct _GChecksum GChecksum; +gssize g_checksum_type_get_length (GChecksumType checksum_type); +GChecksum * g_checksum_new (GChecksumType checksum_type); +void g_checksum_reset (GChecksum *checksum); +GChecksum * g_checksum_copy (const GChecksum *checksum); +void g_checksum_free (GChecksum *checksum); +void g_checksum_update (GChecksum *checksum, + const guchar *data, + gssize length); +const gchar *g_checksum_get_string (GChecksum *checksum); +void g_checksum_get_digest (GChecksum *checksum, + guint8 *buffer, + gsize *digest_len); +gchar *g_compute_checksum_for_data (GChecksumType checksum_type, + const guchar *data, + gsize length); +gchar *g_compute_checksum_for_string (GChecksumType checksum_type, + const gchar *str, + gssize length); +typedef struct _GCompletion GCompletion; +typedef gchar* (*GCompletionFunc) (gpointer); +typedef gint (*GCompletionStrncmpFunc) (const gchar *s1, + const gchar *s2, + gsize n); +struct _GCompletion +{ + GList* items; + GCompletionFunc func; + gchar* prefix; + GList* cache; + GCompletionStrncmpFunc strncmp_func; +}; +GCompletion* g_completion_new (GCompletionFunc func); +void g_completion_add_items (GCompletion* cmp, + GList* items); +void g_completion_remove_items (GCompletion* cmp, + GList* items); +void g_completion_clear_items (GCompletion* cmp); +GList* g_completion_complete (GCompletion* cmp, + const gchar* prefix, + gchar** new_prefix); +GList* g_completion_complete_utf8 (GCompletion *cmp, + const gchar* prefix, + gchar** new_prefix); +void g_completion_set_compare (GCompletion *cmp, + GCompletionStrncmpFunc strncmp_func); +void g_completion_free (GCompletion* cmp); +typedef enum +{ + G_CONVERT_ERROR_NO_CONVERSION, + G_CONVERT_ERROR_ILLEGAL_SEQUENCE, + G_CONVERT_ERROR_FAILED, + G_CONVERT_ERROR_PARTIAL_INPUT, + G_CONVERT_ERROR_BAD_URI, + G_CONVERT_ERROR_NOT_ABSOLUTE_PATH +} GConvertError; +GQuark g_convert_error_quark (void); +typedef struct _GIConv *GIConv; +GIConv g_iconv_open (const gchar *to_codeset, + const gchar *from_codeset); +gsize g_iconv (GIConv converter, + gchar **inbuf, + gsize *inbytes_left, + gchar **outbuf, + gsize *outbytes_left); +gint g_iconv_close (GIConv converter); +gchar* g_convert (const gchar *str, + gssize len, + const gchar *to_codeset, + const gchar *from_codeset, + gsize *bytes_read, + gsize *bytes_written, + GError **error) __attribute__((__malloc__)); +gchar* g_convert_with_iconv (const gchar *str, + gssize len, + GIConv converter, + gsize *bytes_read, + gsize *bytes_written, + GError **error) __attribute__((__malloc__)); +gchar* g_convert_with_fallback (const gchar *str, + gssize len, + const gchar *to_codeset, + const gchar *from_codeset, + gchar *fallback, + gsize *bytes_read, + gsize *bytes_written, + GError **error) __attribute__((__malloc__)); +gchar* g_locale_to_utf8 (const gchar *opsysstring, + gssize len, + gsize *bytes_read, + gsize *bytes_written, + GError **error) __attribute__((__malloc__)); +gchar* g_locale_from_utf8 (const gchar *utf8string, + gssize len, + gsize *bytes_read, + gsize *bytes_written, + GError **error) __attribute__((__malloc__)); +gchar* g_filename_to_utf8 (const gchar *opsysstring, + gssize len, + gsize *bytes_read, + gsize *bytes_written, + GError **error) __attribute__((__malloc__)); +gchar* g_filename_from_utf8 (const gchar *utf8string, + gssize len, + gsize *bytes_read, + gsize *bytes_written, + GError **error) __attribute__((__malloc__)); +gchar *g_filename_from_uri (const gchar *uri, + gchar **hostname, + GError **error) __attribute__((__malloc__)); +gchar *g_filename_to_uri (const gchar *filename, + const gchar *hostname, + GError **error) __attribute__((__malloc__)); +gchar *g_filename_display_name (const gchar *filename) __attribute__((__malloc__)); +gboolean g_get_filename_charsets (const gchar ***charsets); +gchar *g_filename_display_basename (const gchar *filename) __attribute__((__malloc__)); +gchar **g_uri_list_extract_uris (const gchar *uri_list) __attribute__((__malloc__)); +typedef struct _GData GData; +typedef void (*GDataForeachFunc) (GQuark key_id, + gpointer data, + gpointer user_data); +void g_datalist_init (GData **datalist); +void g_datalist_clear (GData **datalist); +gpointer g_datalist_id_get_data (GData **datalist, + GQuark key_id); +void g_datalist_id_set_data_full (GData **datalist, + GQuark key_id, + gpointer data, + GDestroyNotify destroy_func); +gpointer g_datalist_id_remove_no_notify (GData **datalist, + GQuark key_id); +void g_datalist_foreach (GData **datalist, + GDataForeachFunc func, + gpointer user_data); +void g_datalist_set_flags (GData **datalist, + guint flags); +void g_datalist_unset_flags (GData **datalist, + guint flags); +guint g_datalist_get_flags (GData **datalist); +void g_dataset_destroy (gconstpointer dataset_location); +gpointer g_dataset_id_get_data (gconstpointer dataset_location, + GQuark key_id); +void g_dataset_id_set_data_full (gconstpointer dataset_location, + GQuark key_id, + gpointer data, + GDestroyNotify destroy_func); +gpointer g_dataset_id_remove_no_notify (gconstpointer dataset_location, + GQuark key_id); +void g_dataset_foreach (gconstpointer dataset_location, + GDataForeachFunc func, + gpointer user_data); +typedef gint32 GTime; +typedef guint16 GDateYear; +typedef guint8 GDateDay; +typedef struct _GDate GDate; +typedef enum +{ + G_DATE_DAY = 0, + G_DATE_MONTH = 1, + G_DATE_YEAR = 2 +} GDateDMY; +typedef enum +{ + G_DATE_BAD_WEEKDAY = 0, + G_DATE_MONDAY = 1, + G_DATE_TUESDAY = 2, + G_DATE_WEDNESDAY = 3, + G_DATE_THURSDAY = 4, + G_DATE_FRIDAY = 5, + G_DATE_SATURDAY = 6, + G_DATE_SUNDAY = 7 +} GDateWeekday; +typedef enum +{ + G_DATE_BAD_MONTH = 0, + G_DATE_JANUARY = 1, + G_DATE_FEBRUARY = 2, + G_DATE_MARCH = 3, + G_DATE_APRIL = 4, + G_DATE_MAY = 5, + G_DATE_JUNE = 6, + G_DATE_JULY = 7, + G_DATE_AUGUST = 8, + G_DATE_SEPTEMBER = 9, + G_DATE_OCTOBER = 10, + G_DATE_NOVEMBER = 11, + G_DATE_DECEMBER = 12 +} GDateMonth; +struct _GDate +{ + guint julian_days : 32; + guint julian : 1; + guint dmy : 1; + guint day : 6; + guint month : 4; + guint year : 16; +}; +GDate* g_date_new (void); +GDate* g_date_new_dmy (GDateDay day, + GDateMonth month, + GDateYear year); +GDate* g_date_new_julian (guint32 julian_day); +void g_date_free (GDate *date); +gboolean g_date_valid (const GDate *date); +gboolean g_date_valid_day (GDateDay day) __attribute__((__const__)); +gboolean g_date_valid_month (GDateMonth month) __attribute__((__const__)); +gboolean g_date_valid_year (GDateYear year) __attribute__((__const__)); +gboolean g_date_valid_weekday (GDateWeekday weekday) __attribute__((__const__)); +gboolean g_date_valid_julian (guint32 julian_date) __attribute__((__const__)); +gboolean g_date_valid_dmy (GDateDay day, + GDateMonth month, + GDateYear year) __attribute__((__const__)); +GDateWeekday g_date_get_weekday (const GDate *date); +GDateMonth g_date_get_month (const GDate *date); +GDateYear g_date_get_year (const GDate *date); +GDateDay g_date_get_day (const GDate *date); +guint32 g_date_get_julian (const GDate *date); +guint g_date_get_day_of_year (const GDate *date); +guint g_date_get_monday_week_of_year (const GDate *date); +guint g_date_get_sunday_week_of_year (const GDate *date); +guint g_date_get_iso8601_week_of_year (const GDate *date); +void g_date_clear (GDate *date, + guint n_dates); +void g_date_set_parse (GDate *date, + const gchar *str); +void g_date_set_time_t (GDate *date, + time_t timet); +void g_date_set_time_val (GDate *date, + GTimeVal *timeval); +void g_date_set_time (GDate *date, + GTime time_); +void g_date_set_month (GDate *date, + GDateMonth month); +void g_date_set_day (GDate *date, + GDateDay day); +void g_date_set_year (GDate *date, + GDateYear year); +void g_date_set_dmy (GDate *date, + GDateDay day, + GDateMonth month, + GDateYear y); +void g_date_set_julian (GDate *date, + guint32 julian_date); +gboolean g_date_is_first_of_month (const GDate *date); +gboolean g_date_is_last_of_month (const GDate *date); +void g_date_add_days (GDate *date, + guint n_days); +void g_date_subtract_days (GDate *date, + guint n_days); +void g_date_add_months (GDate *date, + guint n_months); +void g_date_subtract_months (GDate *date, + guint n_months); +void g_date_add_years (GDate *date, + guint n_years); +void g_date_subtract_years (GDate *date, + guint n_years); +gboolean g_date_is_leap_year (GDateYear year) __attribute__((__const__)); +guint8 g_date_get_days_in_month (GDateMonth month, + GDateYear year) __attribute__((__const__)); +guint8 g_date_get_monday_weeks_in_year (GDateYear year) __attribute__((__const__)); +guint8 g_date_get_sunday_weeks_in_year (GDateYear year) __attribute__((__const__)); +gint g_date_days_between (const GDate *date1, + const GDate *date2); +gint g_date_compare (const GDate *lhs, + const GDate *rhs); +void g_date_to_struct_tm (const GDate *date, + struct tm *tm); +void g_date_clamp (GDate *date, + const GDate *min_date, + const GDate *max_date); +void g_date_order (GDate *date1, GDate *date2); +gsize g_date_strftime (gchar *s, + gsize slen, + const gchar *format, + const GDate *date); +typedef struct _GDir GDir; +GDir * g_dir_open (const gchar *path, + guint flags, + GError **error); +const gchar *g_dir_read_name (GDir *dir); +void g_dir_rewind (GDir *dir); +void g_dir_close (GDir *dir); +typedef enum +{ + G_FILE_ERROR_EXIST, + G_FILE_ERROR_ISDIR, + G_FILE_ERROR_ACCES, + G_FILE_ERROR_NAMETOOLONG, + G_FILE_ERROR_NOENT, + G_FILE_ERROR_NOTDIR, + G_FILE_ERROR_NXIO, + G_FILE_ERROR_NODEV, + G_FILE_ERROR_ROFS, + G_FILE_ERROR_TXTBSY, + G_FILE_ERROR_FAULT, + G_FILE_ERROR_LOOP, + G_FILE_ERROR_NOSPC, + G_FILE_ERROR_NOMEM, + G_FILE_ERROR_MFILE, + G_FILE_ERROR_NFILE, + G_FILE_ERROR_BADF, + G_FILE_ERROR_INVAL, + G_FILE_ERROR_PIPE, + G_FILE_ERROR_AGAIN, + G_FILE_ERROR_INTR, + G_FILE_ERROR_IO, + G_FILE_ERROR_PERM, + G_FILE_ERROR_NOSYS, + G_FILE_ERROR_FAILED +} GFileError; +typedef enum +{ + G_FILE_TEST_IS_REGULAR = 1 << 0, + G_FILE_TEST_IS_SYMLINK = 1 << 1, + G_FILE_TEST_IS_DIR = 1 << 2, + G_FILE_TEST_IS_EXECUTABLE = 1 << 3, + G_FILE_TEST_EXISTS = 1 << 4 +} GFileTest; +GQuark g_file_error_quark (void); +GFileError g_file_error_from_errno (gint err_no); +gboolean g_file_test (const gchar *filename, + GFileTest test); +gboolean g_file_get_contents (const gchar *filename, + gchar **contents, + gsize *length, + GError **error); +gboolean g_file_set_contents (const gchar *filename, + const gchar *contents, + gssize length, + GError **error); +gchar *g_file_read_link (const gchar *filename, + GError **error); +gint g_mkstemp (gchar *tmpl); +gint g_file_open_tmp (const gchar *tmpl, + gchar **name_used, + GError **error); +char *g_format_size_for_display (goffset size); +gchar *g_build_path (const gchar *separator, + const gchar *first_element, + ...) __attribute__((__malloc__)) __attribute__((__sentinel__)); +gchar *g_build_pathv (const gchar *separator, + gchar **args) __attribute__((__malloc__)); +gchar *g_build_filename (const gchar *first_element, + ...) __attribute__((__malloc__)) __attribute__((__sentinel__)); +gchar *g_build_filenamev (gchar **args) __attribute__((__malloc__)); +int g_mkdir_with_parents (const gchar *pathname, + int mode); +typedef struct _GHashTable GHashTable; +typedef gboolean (*GHRFunc) (gpointer key, + gpointer value, + gpointer user_data); +typedef struct _GHashTableIter GHashTableIter; +struct _GHashTableIter +{ + gpointer dummy1; + gpointer dummy2; + gpointer dummy3; + int dummy4; + gboolean dummy5; + gpointer dummy6; +}; +GHashTable* g_hash_table_new (GHashFunc hash_func, + GEqualFunc key_equal_func); +GHashTable* g_hash_table_new_full (GHashFunc hash_func, + GEqualFunc key_equal_func, + GDestroyNotify key_destroy_func, + GDestroyNotify value_destroy_func); +void g_hash_table_destroy (GHashTable *hash_table); +void g_hash_table_insert (GHashTable *hash_table, + gpointer key, + gpointer value); +void g_hash_table_replace (GHashTable *hash_table, + gpointer key, + gpointer value); +gboolean g_hash_table_remove (GHashTable *hash_table, + gconstpointer key); +void g_hash_table_remove_all (GHashTable *hash_table); +gboolean g_hash_table_steal (GHashTable *hash_table, + gconstpointer key); +void g_hash_table_steal_all (GHashTable *hash_table); +gpointer g_hash_table_lookup (GHashTable *hash_table, + gconstpointer key); +gboolean g_hash_table_lookup_extended (GHashTable *hash_table, + gconstpointer lookup_key, + gpointer *orig_key, + gpointer *value); +void g_hash_table_foreach (GHashTable *hash_table, + GHFunc func, + gpointer user_data); +gpointer g_hash_table_find (GHashTable *hash_table, + GHRFunc predicate, + gpointer user_data); +guint g_hash_table_foreach_remove (GHashTable *hash_table, + GHRFunc func, + gpointer user_data); +guint g_hash_table_foreach_steal (GHashTable *hash_table, + GHRFunc func, + gpointer user_data); +guint g_hash_table_size (GHashTable *hash_table); +GList * g_hash_table_get_keys (GHashTable *hash_table); +GList * g_hash_table_get_values (GHashTable *hash_table); +void g_hash_table_iter_init (GHashTableIter *iter, + GHashTable *hash_table); +gboolean g_hash_table_iter_next (GHashTableIter *iter, + gpointer *key, + gpointer *value); +GHashTable* g_hash_table_iter_get_hash_table (GHashTableIter *iter); +void g_hash_table_iter_remove (GHashTableIter *iter); +void g_hash_table_iter_steal (GHashTableIter *iter); +GHashTable* g_hash_table_ref (GHashTable *hash_table); +void g_hash_table_unref (GHashTable *hash_table); +gboolean g_str_equal (gconstpointer v1, + gconstpointer v2); +guint g_str_hash (gconstpointer v); +gboolean g_int_equal (gconstpointer v1, + gconstpointer v2); +guint g_int_hash (gconstpointer v); +guint g_direct_hash (gconstpointer v) __attribute__((__const__)); +gboolean g_direct_equal (gconstpointer v1, + gconstpointer v2) __attribute__((__const__)); +typedef struct _GHook GHook; +typedef struct _GHookList GHookList; +typedef gint (*GHookCompareFunc) (GHook *new_hook, + GHook *sibling); +typedef gboolean (*GHookFindFunc) (GHook *hook, + gpointer data); +typedef void (*GHookMarshaller) (GHook *hook, + gpointer marshal_data); +typedef gboolean (*GHookCheckMarshaller) (GHook *hook, + gpointer marshal_data); +typedef void (*GHookFunc) (gpointer data); +typedef gboolean (*GHookCheckFunc) (gpointer data); +typedef void (*GHookFinalizeFunc) (GHookList *hook_list, + GHook *hook); +typedef enum +{ + G_HOOK_FLAG_ACTIVE = 1 << 0, + G_HOOK_FLAG_IN_CALL = 1 << 1, + G_HOOK_FLAG_MASK = 0x0f +} GHookFlagMask; +struct _GHookList +{ + gulong seq_id; + guint hook_size : 16; + guint is_setup : 1; + GHook *hooks; + gpointer dummy3; + GHookFinalizeFunc finalize_hook; + gpointer dummy[2]; +}; +struct _GHook +{ + gpointer data; + GHook *next; + GHook *prev; + guint ref_count; + gulong hook_id; + guint flags; + gpointer func; + GDestroyNotify destroy; +}; +void g_hook_list_init (GHookList *hook_list, + guint hook_size); +void g_hook_list_clear (GHookList *hook_list); +GHook* g_hook_alloc (GHookList *hook_list); +void g_hook_free (GHookList *hook_list, + GHook *hook); +GHook * g_hook_ref (GHookList *hook_list, + GHook *hook); +void g_hook_unref (GHookList *hook_list, + GHook *hook); +gboolean g_hook_destroy (GHookList *hook_list, + gulong hook_id); +void g_hook_destroy_link (GHookList *hook_list, + GHook *hook); +void g_hook_prepend (GHookList *hook_list, + GHook *hook); +void g_hook_insert_before (GHookList *hook_list, + GHook *sibling, + GHook *hook); +void g_hook_insert_sorted (GHookList *hook_list, + GHook *hook, + GHookCompareFunc func); +GHook* g_hook_get (GHookList *hook_list, + gulong hook_id); +GHook* g_hook_find (GHookList *hook_list, + gboolean need_valids, + GHookFindFunc func, + gpointer data); +GHook* g_hook_find_data (GHookList *hook_list, + gboolean need_valids, + gpointer data); +GHook* g_hook_find_func (GHookList *hook_list, + gboolean need_valids, + gpointer func); +GHook* g_hook_find_func_data (GHookList *hook_list, + gboolean need_valids, + gpointer func, + gpointer data); +GHook* g_hook_first_valid (GHookList *hook_list, + gboolean may_be_in_call); +GHook* g_hook_next_valid (GHookList *hook_list, + GHook *hook, + gboolean may_be_in_call); +gint g_hook_compare_ids (GHook *new_hook, + GHook *sibling); +void g_hook_list_invoke (GHookList *hook_list, + gboolean may_recurse); +void g_hook_list_invoke_check (GHookList *hook_list, + gboolean may_recurse); +void g_hook_list_marshal (GHookList *hook_list, + gboolean may_recurse, + GHookMarshaller marshaller, + gpointer marshal_data); +void g_hook_list_marshal_check (GHookList *hook_list, + gboolean may_recurse, + GHookCheckMarshaller marshaller, + gpointer marshal_data); +typedef struct _GPollFD GPollFD; +typedef gint (*GPollFunc) (GPollFD *ufds, + guint nfsd, + gint timeout_); +struct _GPollFD +{ + gint fd; + gushort events; + gushort revents; +}; +gint g_poll (GPollFD *fds, + guint nfds, + gint timeout); +typedef struct _GSList GSList; +struct _GSList +{ + gpointer data; + GSList *next; +}; +GSList* g_slist_alloc (void) __attribute__((warn_unused_result)); +void g_slist_free (GSList *list); +void g_slist_free_1 (GSList *list); +GSList* g_slist_append (GSList *list, + gpointer data) __attribute__((warn_unused_result)); +GSList* g_slist_prepend (GSList *list, + gpointer data) __attribute__((warn_unused_result)); +GSList* g_slist_insert (GSList *list, + gpointer data, + gint position) __attribute__((warn_unused_result)); +GSList* g_slist_insert_sorted (GSList *list, + gpointer data, + GCompareFunc func) __attribute__((warn_unused_result)); +GSList* g_slist_insert_sorted_with_data (GSList *list, + gpointer data, + GCompareDataFunc func, + gpointer user_data) __attribute__((warn_unused_result)); +GSList* g_slist_insert_before (GSList *slist, + GSList *sibling, + gpointer data) __attribute__((warn_unused_result)); +GSList* g_slist_concat (GSList *list1, + GSList *list2) __attribute__((warn_unused_result)); +GSList* g_slist_remove (GSList *list, + gconstpointer data) __attribute__((warn_unused_result)); +GSList* g_slist_remove_all (GSList *list, + gconstpointer data) __attribute__((warn_unused_result)); +GSList* g_slist_remove_link (GSList *list, + GSList *link_) __attribute__((warn_unused_result)); +GSList* g_slist_delete_link (GSList *list, + GSList *link_) __attribute__((warn_unused_result)); +GSList* g_slist_reverse (GSList *list) __attribute__((warn_unused_result)); +GSList* g_slist_copy (GSList *list) __attribute__((warn_unused_result)); +GSList* g_slist_nth (GSList *list, + guint n); +GSList* g_slist_find (GSList *list, + gconstpointer data); +GSList* g_slist_find_custom (GSList *list, + gconstpointer data, + GCompareFunc func); +gint g_slist_position (GSList *list, + GSList *llink); +gint g_slist_index (GSList *list, + gconstpointer data); +GSList* g_slist_last (GSList *list); +guint g_slist_length (GSList *list); +void g_slist_foreach (GSList *list, + GFunc func, + gpointer user_data); +GSList* g_slist_sort (GSList *list, + GCompareFunc compare_func) __attribute__((warn_unused_result)); +GSList* g_slist_sort_with_data (GSList *list, + GCompareDataFunc compare_func, + gpointer user_data) __attribute__((warn_unused_result)); +gpointer g_slist_nth_data (GSList *list, + guint n); +void g_slist_push_allocator (gpointer dummy); +void g_slist_pop_allocator (void); +typedef struct _GMainContext GMainContext; +typedef struct _GMainLoop GMainLoop; +typedef struct _GSource GSource; +typedef struct _GSourceCallbackFuncs GSourceCallbackFuncs; +typedef struct _GSourceFuncs GSourceFuncs; +typedef gboolean (*GSourceFunc) (gpointer data); +typedef void (*GChildWatchFunc) (GPid pid, + gint status, + gpointer data); +struct _GSource +{ + gpointer callback_data; + GSourceCallbackFuncs *callback_funcs; + GSourceFuncs *source_funcs; + guint ref_count; + GMainContext *context; + gint priority; + guint flags; + guint source_id; + GSList *poll_fds; + GSource *prev; + GSource *next; + gpointer reserved1; + gpointer reserved2; +}; +struct _GSourceCallbackFuncs +{ + void (*ref) (gpointer cb_data); + void (*unref) (gpointer cb_data); + void (*get) (gpointer cb_data, + GSource *source, + GSourceFunc *func, + gpointer *data); +}; +typedef void (*GSourceDummyMarshal) (void); +struct _GSourceFuncs +{ + gboolean (*prepare) (GSource *source, + gint *timeout_); + gboolean (*check) (GSource *source); + gboolean (*dispatch) (GSource *source, + GSourceFunc callback, + gpointer user_data); + void (*finalize) (GSource *source); + GSourceFunc closure_callback; + GSourceDummyMarshal closure_marshal; +}; +GMainContext *g_main_context_new (void); +GMainContext *g_main_context_ref (GMainContext *context); +void g_main_context_unref (GMainContext *context); +GMainContext *g_main_context_default (void); +gboolean g_main_context_iteration (GMainContext *context, + gboolean may_block); +gboolean g_main_context_pending (GMainContext *context); +GSource *g_main_context_find_source_by_id (GMainContext *context, + guint source_id); +GSource *g_main_context_find_source_by_user_data (GMainContext *context, + gpointer user_data); +GSource *g_main_context_find_source_by_funcs_user_data (GMainContext *context, + GSourceFuncs *funcs, + gpointer user_data); +void g_main_context_wakeup (GMainContext *context); +gboolean g_main_context_acquire (GMainContext *context); +void g_main_context_release (GMainContext *context); +gboolean g_main_context_is_owner (GMainContext *context); +gboolean g_main_context_wait (GMainContext *context, + GCond *cond, + GMutex *mutex); +gboolean g_main_context_prepare (GMainContext *context, + gint *priority); +gint g_main_context_query (GMainContext *context, + gint max_priority, + gint *timeout_, + GPollFD *fds, + gint n_fds); +gint g_main_context_check (GMainContext *context, + gint max_priority, + GPollFD *fds, + gint n_fds); +void g_main_context_dispatch (GMainContext *context); +void g_main_context_set_poll_func (GMainContext *context, + GPollFunc func); +GPollFunc g_main_context_get_poll_func (GMainContext *context); +void g_main_context_add_poll (GMainContext *context, + GPollFD *fd, + gint priority); +void g_main_context_remove_poll (GMainContext *context, + GPollFD *fd); +gint g_main_depth (void); +GSource *g_main_current_source (void); +GMainLoop *g_main_loop_new (GMainContext *context, + gboolean is_running); +void g_main_loop_run (GMainLoop *loop); +void g_main_loop_quit (GMainLoop *loop); +GMainLoop *g_main_loop_ref (GMainLoop *loop); +void g_main_loop_unref (GMainLoop *loop); +gboolean g_main_loop_is_running (GMainLoop *loop); +GMainContext *g_main_loop_get_context (GMainLoop *loop); +GSource *g_source_new (GSourceFuncs *source_funcs, + guint struct_size); +GSource *g_source_ref (GSource *source); +void g_source_unref (GSource *source); +guint g_source_attach (GSource *source, + GMainContext *context); +void g_source_destroy (GSource *source); +void g_source_set_priority (GSource *source, + gint priority); +gint g_source_get_priority (GSource *source); +void g_source_set_can_recurse (GSource *source, + gboolean can_recurse); +gboolean g_source_get_can_recurse (GSource *source); +guint g_source_get_id (GSource *source); +GMainContext *g_source_get_context (GSource *source); +void g_source_set_callback (GSource *source, + GSourceFunc func, + gpointer data, + GDestroyNotify notify); +void g_source_set_funcs (GSource *source, + GSourceFuncs *funcs); +gboolean g_source_is_destroyed (GSource *source); +void g_source_set_callback_indirect (GSource *source, + gpointer callback_data, + GSourceCallbackFuncs *callback_funcs); +void g_source_add_poll (GSource *source, + GPollFD *fd); +void g_source_remove_poll (GSource *source, + GPollFD *fd); +void g_source_get_current_time (GSource *source, + GTimeVal *timeval); +GSource *g_idle_source_new (void); +GSource *g_child_watch_source_new (GPid pid); +GSource *g_timeout_source_new (guint interval); +GSource *g_timeout_source_new_seconds (guint interval); +void g_get_current_time (GTimeVal *result); +gboolean g_source_remove (guint tag); +gboolean g_source_remove_by_user_data (gpointer user_data); +gboolean g_source_remove_by_funcs_user_data (GSourceFuncs *funcs, + gpointer user_data); +guint g_timeout_add_full (gint priority, + guint interval, + GSourceFunc function, + gpointer data, + GDestroyNotify notify); +guint g_timeout_add (guint interval, + GSourceFunc function, + gpointer data); +guint g_timeout_add_seconds_full (gint priority, + guint interval, + GSourceFunc function, + gpointer data, + GDestroyNotify notify); +guint g_timeout_add_seconds (guint interval, + GSourceFunc function, + gpointer data); +guint g_child_watch_add_full (gint priority, + GPid pid, + GChildWatchFunc function, + gpointer data, + GDestroyNotify notify); +guint g_child_watch_add (GPid pid, + GChildWatchFunc function, + gpointer data); +guint g_idle_add (GSourceFunc function, + gpointer data); +guint g_idle_add_full (gint priority, + GSourceFunc function, + gpointer data, + GDestroyNotify notify); +gboolean g_idle_remove_by_data (gpointer data); +extern GSourceFuncs g_timeout_funcs; +extern GSourceFuncs g_child_watch_funcs; +extern GSourceFuncs g_idle_funcs; +typedef guint32 gunichar; +typedef guint16 gunichar2; +typedef enum +{ + G_UNICODE_CONTROL, + G_UNICODE_FORMAT, + G_UNICODE_UNASSIGNED, + G_UNICODE_PRIVATE_USE, + G_UNICODE_SURROGATE, + G_UNICODE_LOWERCASE_LETTER, + G_UNICODE_MODIFIER_LETTER, + G_UNICODE_OTHER_LETTER, + G_UNICODE_TITLECASE_LETTER, + G_UNICODE_UPPERCASE_LETTER, + G_UNICODE_COMBINING_MARK, + G_UNICODE_ENCLOSING_MARK, + G_UNICODE_NON_SPACING_MARK, + G_UNICODE_DECIMAL_NUMBER, + G_UNICODE_LETTER_NUMBER, + G_UNICODE_OTHER_NUMBER, + G_UNICODE_CONNECT_PUNCTUATION, + G_UNICODE_DASH_PUNCTUATION, + G_UNICODE_CLOSE_PUNCTUATION, + G_UNICODE_FINAL_PUNCTUATION, + G_UNICODE_INITIAL_PUNCTUATION, + G_UNICODE_OTHER_PUNCTUATION, + G_UNICODE_OPEN_PUNCTUATION, + G_UNICODE_CURRENCY_SYMBOL, + G_UNICODE_MODIFIER_SYMBOL, + G_UNICODE_MATH_SYMBOL, + G_UNICODE_OTHER_SYMBOL, + G_UNICODE_LINE_SEPARATOR, + G_UNICODE_PARAGRAPH_SEPARATOR, + G_UNICODE_SPACE_SEPARATOR +} GUnicodeType; +typedef enum +{ + G_UNICODE_BREAK_MANDATORY, + G_UNICODE_BREAK_CARRIAGE_RETURN, + G_UNICODE_BREAK_LINE_FEED, + G_UNICODE_BREAK_COMBINING_MARK, + G_UNICODE_BREAK_SURROGATE, + G_UNICODE_BREAK_ZERO_WIDTH_SPACE, + G_UNICODE_BREAK_INSEPARABLE, + G_UNICODE_BREAK_NON_BREAKING_GLUE, + G_UNICODE_BREAK_CONTINGENT, + G_UNICODE_BREAK_SPACE, + G_UNICODE_BREAK_AFTER, + G_UNICODE_BREAK_BEFORE, + G_UNICODE_BREAK_BEFORE_AND_AFTER, + G_UNICODE_BREAK_HYPHEN, + G_UNICODE_BREAK_NON_STARTER, + G_UNICODE_BREAK_OPEN_PUNCTUATION, + G_UNICODE_BREAK_CLOSE_PUNCTUATION, + G_UNICODE_BREAK_QUOTATION, + G_UNICODE_BREAK_EXCLAMATION, + G_UNICODE_BREAK_IDEOGRAPHIC, + G_UNICODE_BREAK_NUMERIC, + G_UNICODE_BREAK_INFIX_SEPARATOR, + G_UNICODE_BREAK_SYMBOL, + G_UNICODE_BREAK_ALPHABETIC, + G_UNICODE_BREAK_PREFIX, + G_UNICODE_BREAK_POSTFIX, + G_UNICODE_BREAK_COMPLEX_CONTEXT, + G_UNICODE_BREAK_AMBIGUOUS, + G_UNICODE_BREAK_UNKNOWN, + G_UNICODE_BREAK_NEXT_LINE, + G_UNICODE_BREAK_WORD_JOINER, + G_UNICODE_BREAK_HANGUL_L_JAMO, + G_UNICODE_BREAK_HANGUL_V_JAMO, + G_UNICODE_BREAK_HANGUL_T_JAMO, + G_UNICODE_BREAK_HANGUL_LV_SYLLABLE, + G_UNICODE_BREAK_HANGUL_LVT_SYLLABLE +} GUnicodeBreakType; +typedef enum +{ + G_UNICODE_SCRIPT_INVALID_CODE = -1, + G_UNICODE_SCRIPT_COMMON = 0, + G_UNICODE_SCRIPT_INHERITED, + G_UNICODE_SCRIPT_ARABIC, + G_UNICODE_SCRIPT_ARMENIAN, + G_UNICODE_SCRIPT_BENGALI, + G_UNICODE_SCRIPT_BOPOMOFO, + G_UNICODE_SCRIPT_CHEROKEE, + G_UNICODE_SCRIPT_COPTIC, + G_UNICODE_SCRIPT_CYRILLIC, + G_UNICODE_SCRIPT_DESERET, + G_UNICODE_SCRIPT_DEVANAGARI, + G_UNICODE_SCRIPT_ETHIOPIC, + G_UNICODE_SCRIPT_GEORGIAN, + G_UNICODE_SCRIPT_GOTHIC, + G_UNICODE_SCRIPT_GREEK, + G_UNICODE_SCRIPT_GUJARATI, + G_UNICODE_SCRIPT_GURMUKHI, + G_UNICODE_SCRIPT_HAN, + G_UNICODE_SCRIPT_HANGUL, + G_UNICODE_SCRIPT_HEBREW, + G_UNICODE_SCRIPT_HIRAGANA, + G_UNICODE_SCRIPT_KANNADA, + G_UNICODE_SCRIPT_KATAKANA, + G_UNICODE_SCRIPT_KHMER, + G_UNICODE_SCRIPT_LAO, + G_UNICODE_SCRIPT_LATIN, + G_UNICODE_SCRIPT_MALAYALAM, + G_UNICODE_SCRIPT_MONGOLIAN, + G_UNICODE_SCRIPT_MYANMAR, + G_UNICODE_SCRIPT_OGHAM, + G_UNICODE_SCRIPT_OLD_ITALIC, + G_UNICODE_SCRIPT_ORIYA, + G_UNICODE_SCRIPT_RUNIC, + G_UNICODE_SCRIPT_SINHALA, + G_UNICODE_SCRIPT_SYRIAC, + G_UNICODE_SCRIPT_TAMIL, + G_UNICODE_SCRIPT_TELUGU, + G_UNICODE_SCRIPT_THAANA, + G_UNICODE_SCRIPT_THAI, + G_UNICODE_SCRIPT_TIBETAN, + G_UNICODE_SCRIPT_CANADIAN_ABORIGINAL, + G_UNICODE_SCRIPT_YI, + G_UNICODE_SCRIPT_TAGALOG, + G_UNICODE_SCRIPT_HANUNOO, + G_UNICODE_SCRIPT_BUHID, + G_UNICODE_SCRIPT_TAGBANWA, + G_UNICODE_SCRIPT_BRAILLE, + G_UNICODE_SCRIPT_CYPRIOT, + G_UNICODE_SCRIPT_LIMBU, + G_UNICODE_SCRIPT_OSMANYA, + G_UNICODE_SCRIPT_SHAVIAN, + G_UNICODE_SCRIPT_LINEAR_B, + G_UNICODE_SCRIPT_TAI_LE, + G_UNICODE_SCRIPT_UGARITIC, + G_UNICODE_SCRIPT_NEW_TAI_LUE, + G_UNICODE_SCRIPT_BUGINESE, + G_UNICODE_SCRIPT_GLAGOLITIC, + G_UNICODE_SCRIPT_TIFINAGH, + G_UNICODE_SCRIPT_SYLOTI_NAGRI, + G_UNICODE_SCRIPT_OLD_PERSIAN, + G_UNICODE_SCRIPT_KHAROSHTHI, + G_UNICODE_SCRIPT_UNKNOWN, + G_UNICODE_SCRIPT_BALINESE, + G_UNICODE_SCRIPT_CUNEIFORM, + G_UNICODE_SCRIPT_PHOENICIAN, + G_UNICODE_SCRIPT_PHAGS_PA, + G_UNICODE_SCRIPT_NKO, + G_UNICODE_SCRIPT_KAYAH_LI, + G_UNICODE_SCRIPT_LEPCHA, + G_UNICODE_SCRIPT_REJANG, + G_UNICODE_SCRIPT_SUNDANESE, + G_UNICODE_SCRIPT_SAURASHTRA, + G_UNICODE_SCRIPT_CHAM, + G_UNICODE_SCRIPT_OL_CHIKI, + G_UNICODE_SCRIPT_VAI, + G_UNICODE_SCRIPT_CARIAN, + G_UNICODE_SCRIPT_LYCIAN, + G_UNICODE_SCRIPT_LYDIAN +} GUnicodeScript; +gboolean g_get_charset (const char **charset); +gboolean g_unichar_isalnum (gunichar c) __attribute__((__const__)); +gboolean g_unichar_isalpha (gunichar c) __attribute__((__const__)); +gboolean g_unichar_iscntrl (gunichar c) __attribute__((__const__)); +gboolean g_unichar_isdigit (gunichar c) __attribute__((__const__)); +gboolean g_unichar_isgraph (gunichar c) __attribute__((__const__)); +gboolean g_unichar_islower (gunichar c) __attribute__((__const__)); +gboolean g_unichar_isprint (gunichar c) __attribute__((__const__)); +gboolean g_unichar_ispunct (gunichar c) __attribute__((__const__)); +gboolean g_unichar_isspace (gunichar c) __attribute__((__const__)); +gboolean g_unichar_isupper (gunichar c) __attribute__((__const__)); +gboolean g_unichar_isxdigit (gunichar c) __attribute__((__const__)); +gboolean g_unichar_istitle (gunichar c) __attribute__((__const__)); +gboolean g_unichar_isdefined (gunichar c) __attribute__((__const__)); +gboolean g_unichar_iswide (gunichar c) __attribute__((__const__)); +gboolean g_unichar_iswide_cjk(gunichar c) __attribute__((__const__)); +gboolean g_unichar_iszerowidth(gunichar c) __attribute__((__const__)); +gboolean g_unichar_ismark (gunichar c) __attribute__((__const__)); +gunichar g_unichar_toupper (gunichar c) __attribute__((__const__)); +gunichar g_unichar_tolower (gunichar c) __attribute__((__const__)); +gunichar g_unichar_totitle (gunichar c) __attribute__((__const__)); +gint g_unichar_digit_value (gunichar c) __attribute__((__const__)); +gint g_unichar_xdigit_value (gunichar c) __attribute__((__const__)); +GUnicodeType g_unichar_type (gunichar c) __attribute__((__const__)); +GUnicodeBreakType g_unichar_break_type (gunichar c) __attribute__((__const__)); +gint g_unichar_combining_class (gunichar uc) __attribute__((__const__)); +void g_unicode_canonical_ordering (gunichar *string, + gsize len); +gunichar *g_unicode_canonical_decomposition (gunichar ch, + gsize *result_len) __attribute__((__malloc__)); +extern const gchar * const g_utf8_skip; +gunichar g_utf8_get_char (const gchar *p) __attribute__((__pure__)); +gunichar g_utf8_get_char_validated (const gchar *p, + gssize max_len) __attribute__((__pure__)); +gchar* g_utf8_offset_to_pointer (const gchar *str, + glong offset) __attribute__((__pure__)); +glong g_utf8_pointer_to_offset (const gchar *str, + const gchar *pos) __attribute__((__pure__)); +gchar* g_utf8_prev_char (const gchar *p) __attribute__((__pure__)); +gchar* g_utf8_find_next_char (const gchar *p, + const gchar *end) __attribute__((__pure__)); +gchar* g_utf8_find_prev_char (const gchar *str, + const gchar *p) __attribute__((__pure__)); +glong g_utf8_strlen (const gchar *p, + gssize max) __attribute__((__pure__)); +gchar* g_utf8_strncpy (gchar *dest, + const gchar *src, + gsize n); +gchar* g_utf8_strchr (const gchar *p, + gssize len, + gunichar c); +gchar* g_utf8_strrchr (const gchar *p, + gssize len, + gunichar c); +gchar* g_utf8_strreverse (const gchar *str, + gssize len); +gunichar2 *g_utf8_to_utf16 (const gchar *str, + glong len, + glong *items_read, + glong *items_written, + GError **error) __attribute__((__malloc__)); +gunichar * g_utf8_to_ucs4 (const gchar *str, + glong len, + glong *items_read, + glong *items_written, + GError **error) __attribute__((__malloc__)); +gunichar * g_utf8_to_ucs4_fast (const gchar *str, + glong len, + glong *items_written) __attribute__((__malloc__)); +gunichar * g_utf16_to_ucs4 (const gunichar2 *str, + glong len, + glong *items_read, + glong *items_written, + GError **error) __attribute__((__malloc__)); +gchar* g_utf16_to_utf8 (const gunichar2 *str, + glong len, + glong *items_read, + glong *items_written, + GError **error) __attribute__((__malloc__)); +gunichar2 *g_ucs4_to_utf16 (const gunichar *str, + glong len, + glong *items_read, + glong *items_written, + GError **error) __attribute__((__malloc__)); +gchar* g_ucs4_to_utf8 (const gunichar *str, + glong len, + glong *items_read, + glong *items_written, + GError **error) __attribute__((__malloc__)); +gint g_unichar_to_utf8 (gunichar c, + gchar *outbuf); +gboolean g_utf8_validate (const gchar *str, + gssize max_len, + const gchar **end); +gboolean g_unichar_validate (gunichar ch) __attribute__((__const__)); +gchar *g_utf8_strup (const gchar *str, + gssize len) __attribute__((__malloc__)); +gchar *g_utf8_strdown (const gchar *str, + gssize len) __attribute__((__malloc__)); +gchar *g_utf8_casefold (const gchar *str, + gssize len) __attribute__((__malloc__)); +typedef enum { + G_NORMALIZE_DEFAULT, + G_NORMALIZE_NFD = G_NORMALIZE_DEFAULT, + G_NORMALIZE_DEFAULT_COMPOSE, + G_NORMALIZE_NFC = G_NORMALIZE_DEFAULT_COMPOSE, + G_NORMALIZE_ALL, + G_NORMALIZE_NFKD = G_NORMALIZE_ALL, + G_NORMALIZE_ALL_COMPOSE, + G_NORMALIZE_NFKC = G_NORMALIZE_ALL_COMPOSE +} GNormalizeMode; +gchar *g_utf8_normalize (const gchar *str, + gssize len, + GNormalizeMode mode) __attribute__((__malloc__)); +gint g_utf8_collate (const gchar *str1, + const gchar *str2) __attribute__((__pure__)); +gchar *g_utf8_collate_key (const gchar *str, + gssize len) __attribute__((__malloc__)); +gchar *g_utf8_collate_key_for_filename (const gchar *str, + gssize len) __attribute__((__malloc__)); +gboolean g_unichar_get_mirror_char (gunichar ch, + gunichar *mirrored_ch); +GUnicodeScript g_unichar_get_script (gunichar ch) __attribute__((__const__)); +gchar *_g_utf8_make_valid (const gchar *name); +typedef struct _GString GString; +typedef struct _GStringChunk GStringChunk; +struct _GString +{ + gchar *str; + gsize len; + gsize allocated_len; +}; +GStringChunk* g_string_chunk_new (gsize size); +void g_string_chunk_free (GStringChunk *chunk); +void g_string_chunk_clear (GStringChunk *chunk); +gchar* g_string_chunk_insert (GStringChunk *chunk, + const gchar *string); +gchar* g_string_chunk_insert_len (GStringChunk *chunk, + const gchar *string, + gssize len); +gchar* g_string_chunk_insert_const (GStringChunk *chunk, + const gchar *string); +GString* g_string_new (const gchar *init); +GString* g_string_new_len (const gchar *init, + gssize len); +GString* g_string_sized_new (gsize dfl_size); +gchar* g_string_free (GString *string, + gboolean free_segment); +gboolean g_string_equal (const GString *v, + const GString *v2); +guint g_string_hash (const GString *str); +GString* g_string_assign (GString *string, + const gchar *rval); +GString* g_string_truncate (GString *string, + gsize len); +GString* g_string_set_size (GString *string, + gsize len); +GString* g_string_insert_len (GString *string, + gssize pos, + const gchar *val, + gssize len); +GString* g_string_append (GString *string, + const gchar *val); +GString* g_string_append_len (GString *string, + const gchar *val, + gssize len); +GString* g_string_append_c (GString *string, + gchar c); +GString* g_string_append_unichar (GString *string, + gunichar wc); +GString* g_string_prepend (GString *string, + const gchar *val); +GString* g_string_prepend_c (GString *string, + gchar c); +GString* g_string_prepend_unichar (GString *string, + gunichar wc); +GString* g_string_prepend_len (GString *string, + const gchar *val, + gssize len); +GString* g_string_insert (GString *string, + gssize pos, + const gchar *val); +GString* g_string_insert_c (GString *string, + gssize pos, + gchar c); +GString* g_string_insert_unichar (GString *string, + gssize pos, + gunichar wc); +GString* g_string_overwrite (GString *string, + gsize pos, + const gchar *val); +GString* g_string_overwrite_len (GString *string, + gsize pos, + const gchar *val, + gssize len); +GString* g_string_erase (GString *string, + gssize pos, + gssize len); +GString* g_string_ascii_down (GString *string); +GString* g_string_ascii_up (GString *string); +void g_string_vprintf (GString *string, + const gchar *format, + va_list args); +void g_string_printf (GString *string, + const gchar *format, + ...) __attribute__((__format__ (__printf__, 2, 3))); +void g_string_append_vprintf (GString *string, + const gchar *format, + va_list args); +void g_string_append_printf (GString *string, + const gchar *format, + ...) __attribute__((__format__ (__printf__, 2, 3))); +GString * g_string_append_uri_escaped(GString *string, + const char *unescaped, + const char *reserved_chars_allowed, + gboolean allow_utf8); +static inline GString* +g_string_append_c_inline (GString *gstring, + gchar c) +{ + if (gstring->len + 1 < gstring->allocated_len) + { + gstring->str[gstring->len++] = c; + gstring->str[gstring->len] = 0; + } + else + g_string_insert_c (gstring, -1, c); + return gstring; +} +GString* g_string_down (GString *string); +GString* g_string_up (GString *string); +typedef struct _GIOChannel GIOChannel; +typedef struct _GIOFuncs GIOFuncs; +typedef enum +{ + G_IO_ERROR_NONE, + G_IO_ERROR_AGAIN, + G_IO_ERROR_INVAL, + G_IO_ERROR_UNKNOWN +} GIOError; +typedef enum +{ + G_IO_CHANNEL_ERROR_FBIG, + G_IO_CHANNEL_ERROR_INVAL, + G_IO_CHANNEL_ERROR_IO, + G_IO_CHANNEL_ERROR_ISDIR, + G_IO_CHANNEL_ERROR_NOSPC, + G_IO_CHANNEL_ERROR_NXIO, + G_IO_CHANNEL_ERROR_OVERFLOW, + G_IO_CHANNEL_ERROR_PIPE, + G_IO_CHANNEL_ERROR_FAILED +} GIOChannelError; +typedef enum +{ + G_IO_STATUS_ERROR, + G_IO_STATUS_NORMAL, + G_IO_STATUS_EOF, + G_IO_STATUS_AGAIN +} GIOStatus; +typedef enum +{ + G_SEEK_CUR, + G_SEEK_SET, + G_SEEK_END +} GSeekType; +typedef enum +{ + G_IO_IN =1, + G_IO_OUT =4, + G_IO_PRI =2, + G_IO_ERR =8, + G_IO_HUP =16, + G_IO_NVAL =32 +} GIOCondition; +typedef enum +{ + G_IO_FLAG_APPEND = 1 << 0, + G_IO_FLAG_NONBLOCK = 1 << 1, + G_IO_FLAG_IS_READABLE = 1 << 2, + G_IO_FLAG_IS_WRITEABLE = 1 << 3, + G_IO_FLAG_IS_SEEKABLE = 1 << 4, + G_IO_FLAG_MASK = (1 << 5) - 1, + G_IO_FLAG_GET_MASK = G_IO_FLAG_MASK, + G_IO_FLAG_SET_MASK = G_IO_FLAG_APPEND | G_IO_FLAG_NONBLOCK +} GIOFlags; +struct _GIOChannel +{ + gint ref_count; + GIOFuncs *funcs; + gchar *encoding; + GIConv read_cd; + GIConv write_cd; + gchar *line_term; + guint line_term_len; + gsize buf_size; + GString *read_buf; + GString *encoded_read_buf; + GString *write_buf; + gchar partial_write_buf[6]; + guint use_buffer : 1; + guint do_encode : 1; + guint close_on_unref : 1; + guint is_readable : 1; + guint is_writeable : 1; + guint is_seekable : 1; + gpointer reserved1; + gpointer reserved2; +}; +typedef gboolean (*GIOFunc) (GIOChannel *source, + GIOCondition condition, + gpointer data); +struct _GIOFuncs +{ + GIOStatus (*io_read) (GIOChannel *channel, + gchar *buf, + gsize count, + gsize *bytes_read, + GError **err); + GIOStatus (*io_write) (GIOChannel *channel, + const gchar *buf, + gsize count, + gsize *bytes_written, + GError **err); + GIOStatus (*io_seek) (GIOChannel *channel, + gint64 offset, + GSeekType type, + GError **err); + GIOStatus (*io_close) (GIOChannel *channel, + GError **err); + GSource* (*io_create_watch) (GIOChannel *channel, + GIOCondition condition); + void (*io_free) (GIOChannel *channel); + GIOStatus (*io_set_flags) (GIOChannel *channel, + GIOFlags flags, + GError **err); + GIOFlags (*io_get_flags) (GIOChannel *channel); +}; +void g_io_channel_init (GIOChannel *channel); +GIOChannel *g_io_channel_ref (GIOChannel *channel); +void g_io_channel_unref (GIOChannel *channel); +GIOError g_io_channel_read (GIOChannel *channel, + gchar *buf, + gsize count, + gsize *bytes_read); +GIOError g_io_channel_write (GIOChannel *channel, + const gchar *buf, + gsize count, + gsize *bytes_written); +GIOError g_io_channel_seek (GIOChannel *channel, + gint64 offset, + GSeekType type); +void g_io_channel_close (GIOChannel *channel); +GIOStatus g_io_channel_shutdown (GIOChannel *channel, + gboolean flush, + GError **err); +guint g_io_add_watch_full (GIOChannel *channel, + gint priority, + GIOCondition condition, + GIOFunc func, + gpointer user_data, + GDestroyNotify notify); +GSource * g_io_create_watch (GIOChannel *channel, + GIOCondition condition); +guint g_io_add_watch (GIOChannel *channel, + GIOCondition condition, + GIOFunc func, + gpointer user_data); +void g_io_channel_set_buffer_size (GIOChannel *channel, + gsize size); +gsize g_io_channel_get_buffer_size (GIOChannel *channel); +GIOCondition g_io_channel_get_buffer_condition (GIOChannel *channel); +GIOStatus g_io_channel_set_flags (GIOChannel *channel, + GIOFlags flags, + GError **error); +GIOFlags g_io_channel_get_flags (GIOChannel *channel); +void g_io_channel_set_line_term (GIOChannel *channel, + const gchar *line_term, + gint length); +const gchar* g_io_channel_get_line_term (GIOChannel *channel, + gint *length); +void g_io_channel_set_buffered (GIOChannel *channel, + gboolean buffered); +gboolean g_io_channel_get_buffered (GIOChannel *channel); +GIOStatus g_io_channel_set_encoding (GIOChannel *channel, + const gchar *encoding, + GError **error); +const gchar* g_io_channel_get_encoding (GIOChannel *channel); +void g_io_channel_set_close_on_unref (GIOChannel *channel, + gboolean do_close); +gboolean g_io_channel_get_close_on_unref (GIOChannel *channel); +GIOStatus g_io_channel_flush (GIOChannel *channel, + GError **error); +GIOStatus g_io_channel_read_line (GIOChannel *channel, + gchar **str_return, + gsize *length, + gsize *terminator_pos, + GError **error); +GIOStatus g_io_channel_read_line_string (GIOChannel *channel, + GString *buffer, + gsize *terminator_pos, + GError **error); +GIOStatus g_io_channel_read_to_end (GIOChannel *channel, + gchar **str_return, + gsize *length, + GError **error); +GIOStatus g_io_channel_read_chars (GIOChannel *channel, + gchar *buf, + gsize count, + gsize *bytes_read, + GError **error); +GIOStatus g_io_channel_read_unichar (GIOChannel *channel, + gunichar *thechar, + GError **error); +GIOStatus g_io_channel_write_chars (GIOChannel *channel, + const gchar *buf, + gssize count, + gsize *bytes_written, + GError **error); +GIOStatus g_io_channel_write_unichar (GIOChannel *channel, + gunichar thechar, + GError **error); +GIOStatus g_io_channel_seek_position (GIOChannel *channel, + gint64 offset, + GSeekType type, + GError **error); +GIOChannel* g_io_channel_new_file (const gchar *filename, + const gchar *mode, + GError **error); +GQuark g_io_channel_error_quark (void); +GIOChannelError g_io_channel_error_from_errno (gint en); +GIOChannel* g_io_channel_unix_new (int fd); +gint g_io_channel_unix_get_fd (GIOChannel *channel); +extern GSourceFuncs g_io_watch_funcs; +typedef enum +{ + G_KEY_FILE_ERROR_UNKNOWN_ENCODING, + G_KEY_FILE_ERROR_PARSE, + G_KEY_FILE_ERROR_NOT_FOUND, + G_KEY_FILE_ERROR_KEY_NOT_FOUND, + G_KEY_FILE_ERROR_GROUP_NOT_FOUND, + G_KEY_FILE_ERROR_INVALID_VALUE +} GKeyFileError; +GQuark g_key_file_error_quark (void); +typedef struct _GKeyFile GKeyFile; +typedef enum +{ + G_KEY_FILE_NONE = 0, + G_KEY_FILE_KEEP_COMMENTS = 1 << 0, + G_KEY_FILE_KEEP_TRANSLATIONS = 1 << 1 +} GKeyFileFlags; +GKeyFile *g_key_file_new (void); +void g_key_file_free (GKeyFile *key_file); +void g_key_file_set_list_separator (GKeyFile *key_file, + gchar separator); +gboolean g_key_file_load_from_file (GKeyFile *key_file, + const gchar *file, + GKeyFileFlags flags, + GError **error); +gboolean g_key_file_load_from_data (GKeyFile *key_file, + const gchar *data, + gsize length, + GKeyFileFlags flags, + GError **error); +gboolean g_key_file_load_from_dirs (GKeyFile *key_file, + const gchar *file, + const gchar **search_dirs, + gchar **full_path, + GKeyFileFlags flags, + GError **error); +gboolean g_key_file_load_from_data_dirs (GKeyFile *key_file, + const gchar *file, + gchar **full_path, + GKeyFileFlags flags, + GError **error); +gchar *g_key_file_to_data (GKeyFile *key_file, + gsize *length, + GError **error) __attribute__((__malloc__)); +gchar *g_key_file_get_start_group (GKeyFile *key_file) __attribute__((__malloc__)); +gchar **g_key_file_get_groups (GKeyFile *key_file, + gsize *length) __attribute__((__malloc__)); +gchar **g_key_file_get_keys (GKeyFile *key_file, + const gchar *group_name, + gsize *length, + GError **error) __attribute__((__malloc__)); +gboolean g_key_file_has_group (GKeyFile *key_file, + const gchar *group_name); +gboolean g_key_file_has_key (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + GError **error); +gchar *g_key_file_get_value (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + GError **error) __attribute__((__malloc__)); +void g_key_file_set_value (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + const gchar *value); +gchar *g_key_file_get_string (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + GError **error) __attribute__((__malloc__)); +void g_key_file_set_string (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + const gchar *string); +gchar *g_key_file_get_locale_string (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + const gchar *locale, + GError **error) __attribute__((__malloc__)); +void g_key_file_set_locale_string (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + const gchar *locale, + const gchar *string); +gboolean g_key_file_get_boolean (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + GError **error); +void g_key_file_set_boolean (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + gboolean value); +gint g_key_file_get_integer (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + GError **error); +void g_key_file_set_integer (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + gint value); +gdouble g_key_file_get_double (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + GError **error); +void g_key_file_set_double (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + gdouble value); +gchar **g_key_file_get_string_list (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + gsize *length, + GError **error) __attribute__((__malloc__)); +void g_key_file_set_string_list (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + const gchar * const list[], + gsize length); +gchar **g_key_file_get_locale_string_list (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + const gchar *locale, + gsize *length, + GError **error) __attribute__((__malloc__)); +void g_key_file_set_locale_string_list (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + const gchar *locale, + const gchar * const list[], + gsize length); +gboolean *g_key_file_get_boolean_list (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + gsize *length, + GError **error) __attribute__((__malloc__)); +void g_key_file_set_boolean_list (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + gboolean list[], + gsize length); +gint *g_key_file_get_integer_list (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + gsize *length, + GError **error) __attribute__((__malloc__)); +void g_key_file_set_double_list (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + gdouble list[], + gsize length); +gdouble *g_key_file_get_double_list (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + gsize *length, + GError **error) __attribute__((__malloc__)); +void g_key_file_set_integer_list (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + gint list[], + gsize length); +gboolean g_key_file_set_comment (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + const gchar *comment, + GError **error); +gchar *g_key_file_get_comment (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + GError **error) __attribute__((__malloc__)); +gboolean g_key_file_remove_comment (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + GError **error); +gboolean g_key_file_remove_key (GKeyFile *key_file, + const gchar *group_name, + const gchar *key, + GError **error); +gboolean g_key_file_remove_group (GKeyFile *key_file, + const gchar *group_name, + GError **error); +typedef struct _GMappedFile GMappedFile; +GMappedFile *g_mapped_file_new (const gchar *filename, + gboolean writable, + GError **error) __attribute__((__malloc__)); +gsize g_mapped_file_get_length (GMappedFile *file); +gchar *g_mapped_file_get_contents (GMappedFile *file); +void g_mapped_file_free (GMappedFile *file); +typedef enum +{ + G_MARKUP_ERROR_BAD_UTF8, + G_MARKUP_ERROR_EMPTY, + G_MARKUP_ERROR_PARSE, + G_MARKUP_ERROR_UNKNOWN_ELEMENT, + G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE, + G_MARKUP_ERROR_INVALID_CONTENT, + G_MARKUP_ERROR_MISSING_ATTRIBUTE +} GMarkupError; +GQuark g_markup_error_quark (void); +typedef enum +{ + G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG = 1 << 0, + G_MARKUP_TREAT_CDATA_AS_TEXT = 1 << 1, + G_MARKUP_PREFIX_ERROR_POSITION = 1 << 2 +} GMarkupParseFlags; +typedef struct _GMarkupParseContext GMarkupParseContext; +typedef struct _GMarkupParser GMarkupParser; +struct _GMarkupParser +{ + void (*start_element) (GMarkupParseContext *context, + const gchar *element_name, + const gchar **attribute_names, + const gchar **attribute_values, + gpointer user_data, + GError **error); + void (*end_element) (GMarkupParseContext *context, + const gchar *element_name, + gpointer user_data, + GError **error); + void (*text) (GMarkupParseContext *context, + const gchar *text, + gsize text_len, + gpointer user_data, + GError **error); + void (*passthrough) (GMarkupParseContext *context, + const gchar *passthrough_text, + gsize text_len, + gpointer user_data, + GError **error); + void (*error) (GMarkupParseContext *context, + GError *error, + gpointer user_data); +}; +GMarkupParseContext *g_markup_parse_context_new (const GMarkupParser *parser, + GMarkupParseFlags flags, + gpointer user_data, + GDestroyNotify user_data_dnotify); +void g_markup_parse_context_free (GMarkupParseContext *context); +gboolean g_markup_parse_context_parse (GMarkupParseContext *context, + const gchar *text, + gssize text_len, + GError **error); +void g_markup_parse_context_push (GMarkupParseContext *context, + GMarkupParser *parser, + gpointer user_data); +gpointer g_markup_parse_context_pop (GMarkupParseContext *context); +gboolean g_markup_parse_context_end_parse (GMarkupParseContext *context, + GError **error); +const gchar *g_markup_parse_context_get_element (GMarkupParseContext *context); +const GSList *g_markup_parse_context_get_element_stack (GMarkupParseContext *context); +void g_markup_parse_context_get_position (GMarkupParseContext *context, + gint *line_number, + gint *char_number); +gpointer g_markup_parse_context_get_user_data (GMarkupParseContext *context); +gchar* g_markup_escape_text (const gchar *text, + gssize length); +gchar *g_markup_printf_escaped (const char *format, + ...) __attribute__((__format__ (__printf__, 1, 2))); +gchar *g_markup_vprintf_escaped (const char *format, + va_list args); +typedef enum +{ + G_MARKUP_COLLECT_INVALID, + G_MARKUP_COLLECT_STRING, + G_MARKUP_COLLECT_STRDUP, + G_MARKUP_COLLECT_BOOLEAN, + G_MARKUP_COLLECT_TRISTATE, + G_MARKUP_COLLECT_OPTIONAL = (1 << 16) +} GMarkupCollectType; +gboolean g_markup_collect_attributes (const gchar *element_name, + const gchar **attribute_names, + const gchar **attribute_values, + GError **error, + GMarkupCollectType first_type, + const gchar *first_attr, + ...); + +gsize g_printf_string_upper_bound (const gchar* format, + va_list args); +typedef enum +{ + G_LOG_FLAG_RECURSION = 1 << 0, + G_LOG_FLAG_FATAL = 1 << 1, + G_LOG_LEVEL_ERROR = 1 << 2, + G_LOG_LEVEL_CRITICAL = 1 << 3, + G_LOG_LEVEL_WARNING = 1 << 4, + G_LOG_LEVEL_MESSAGE = 1 << 5, + G_LOG_LEVEL_INFO = 1 << 6, + G_LOG_LEVEL_DEBUG = 1 << 7, + G_LOG_LEVEL_MASK = ~(G_LOG_FLAG_RECURSION | G_LOG_FLAG_FATAL) +} GLogLevelFlags; +typedef void (*GLogFunc) (const gchar *log_domain, + GLogLevelFlags log_level, + const gchar *message, + gpointer user_data); +guint g_log_set_handler (const gchar *log_domain, + GLogLevelFlags log_levels, + GLogFunc log_func, + gpointer user_data); +void g_log_remove_handler (const gchar *log_domain, + guint handler_id); +void g_log_default_handler (const gchar *log_domain, + GLogLevelFlags log_level, + const gchar *message, + gpointer unused_data); +GLogFunc g_log_set_default_handler (GLogFunc log_func, + gpointer user_data); +void g_log (const gchar *log_domain, + GLogLevelFlags log_level, + const gchar *format, + ...) __attribute__((__format__ (__printf__, 3, 4))); +void g_logv (const gchar *log_domain, + GLogLevelFlags log_level, + const gchar *format, + va_list args); +GLogLevelFlags g_log_set_fatal_mask (const gchar *log_domain, + GLogLevelFlags fatal_mask); +GLogLevelFlags g_log_set_always_fatal (GLogLevelFlags fatal_mask); +__attribute__((visibility("hidden"))) void _g_log_fallback_handler (const gchar *log_domain, + GLogLevelFlags log_level, + const gchar *message, + gpointer unused_data); +void g_return_if_fail_warning (const char *log_domain, + const char *pretty_function, + const char *expression); +void g_warn_message (const char *domain, + const char *file, + int line, + const char *func, + const char *warnexpr); +void g_assert_warning (const char *log_domain, + const char *file, + const int line, + const char *pretty_function, + const char *expression) __attribute__((__noreturn__)); +typedef void (*GPrintFunc) (const gchar *string); +void g_print (const gchar *format, + ...) __attribute__((__format__ (__printf__, 1, 2))); +GPrintFunc g_set_print_handler (GPrintFunc func); +void g_printerr (const gchar *format, + ...) __attribute__((__format__ (__printf__, 1, 2))); +GPrintFunc g_set_printerr_handler (GPrintFunc func); +typedef struct _GNode GNode; +typedef enum +{ + G_TRAVERSE_LEAVES = 1 << 0, + G_TRAVERSE_NON_LEAVES = 1 << 1, + G_TRAVERSE_ALL = G_TRAVERSE_LEAVES | G_TRAVERSE_NON_LEAVES, + G_TRAVERSE_MASK = 0x03, + G_TRAVERSE_LEAFS = G_TRAVERSE_LEAVES, + G_TRAVERSE_NON_LEAFS = G_TRAVERSE_NON_LEAVES +} GTraverseFlags; +typedef enum +{ + G_IN_ORDER, + G_PRE_ORDER, + G_POST_ORDER, + G_LEVEL_ORDER +} GTraverseType; +typedef gboolean (*GNodeTraverseFunc) (GNode *node, + gpointer data); +typedef void (*GNodeForeachFunc) (GNode *node, + gpointer data); +typedef gpointer (*GCopyFunc) (gconstpointer src, + gpointer data); +struct _GNode +{ + gpointer data; + GNode *next; + GNode *prev; + GNode *parent; + GNode *children; +}; +GNode* g_node_new (gpointer data); +void g_node_destroy (GNode *root); +void g_node_unlink (GNode *node); +GNode* g_node_copy_deep (GNode *node, + GCopyFunc copy_func, + gpointer data); +GNode* g_node_copy (GNode *node); +GNode* g_node_insert (GNode *parent, + gint position, + GNode *node); +GNode* g_node_insert_before (GNode *parent, + GNode *sibling, + GNode *node); +GNode* g_node_insert_after (GNode *parent, + GNode *sibling, + GNode *node); +GNode* g_node_prepend (GNode *parent, + GNode *node); +guint g_node_n_nodes (GNode *root, + GTraverseFlags flags); +GNode* g_node_get_root (GNode *node); +gboolean g_node_is_ancestor (GNode *node, + GNode *descendant); +guint g_node_depth (GNode *node); +GNode* g_node_find (GNode *root, + GTraverseType order, + GTraverseFlags flags, + gpointer data); +void g_node_traverse (GNode *root, + GTraverseType order, + GTraverseFlags flags, + gint max_depth, + GNodeTraverseFunc func, + gpointer data); +guint g_node_max_height (GNode *root); +void g_node_children_foreach (GNode *node, + GTraverseFlags flags, + GNodeForeachFunc func, + gpointer data); +void g_node_reverse_children (GNode *node); +guint g_node_n_children (GNode *node); +GNode* g_node_nth_child (GNode *node, + guint n); +GNode* g_node_last_child (GNode *node); +GNode* g_node_find_child (GNode *node, + GTraverseFlags flags, + gpointer data); +gint g_node_child_position (GNode *node, + GNode *child); +gint g_node_child_index (GNode *node, + gpointer data); +GNode* g_node_first_sibling (GNode *node); +GNode* g_node_last_sibling (GNode *node); +void g_node_push_allocator (gpointer dummy); +void g_node_pop_allocator (void); +typedef struct _GOptionContext GOptionContext; +typedef struct _GOptionGroup GOptionGroup; +typedef struct _GOptionEntry GOptionEntry; +typedef enum +{ + G_OPTION_FLAG_HIDDEN = 1 << 0, + G_OPTION_FLAG_IN_MAIN = 1 << 1, + G_OPTION_FLAG_REVERSE = 1 << 2, + G_OPTION_FLAG_NO_ARG = 1 << 3, + G_OPTION_FLAG_FILENAME = 1 << 4, + G_OPTION_FLAG_OPTIONAL_ARG = 1 << 5, + G_OPTION_FLAG_NOALIAS = 1 << 6 +} GOptionFlags; +typedef enum +{ + G_OPTION_ARG_NONE, + G_OPTION_ARG_STRING, + G_OPTION_ARG_INT, + G_OPTION_ARG_CALLBACK, + G_OPTION_ARG_FILENAME, + G_OPTION_ARG_STRING_ARRAY, + G_OPTION_ARG_FILENAME_ARRAY, + G_OPTION_ARG_DOUBLE, + G_OPTION_ARG_INT64 +} GOptionArg; +typedef gboolean (*GOptionArgFunc) (const gchar *option_name, + const gchar *value, + gpointer data, + GError **error); +typedef gboolean (*GOptionParseFunc) (GOptionContext *context, + GOptionGroup *group, + gpointer data, + GError **error); +typedef void (*GOptionErrorFunc) (GOptionContext *context, + GOptionGroup *group, + gpointer data, + GError **error); +typedef enum +{ + G_OPTION_ERROR_UNKNOWN_OPTION, + G_OPTION_ERROR_BAD_VALUE, + G_OPTION_ERROR_FAILED +} GOptionError; +GQuark g_option_error_quark (void); +struct _GOptionEntry +{ + const gchar *long_name; + gchar short_name; + gint flags; + GOptionArg arg; + gpointer arg_data; + const gchar *description; + const gchar *arg_description; +}; +GOptionContext *g_option_context_new (const gchar *parameter_string); +void g_option_context_set_summary (GOptionContext *context, + const gchar *summary); +const gchar *g_option_context_get_summary (GOptionContext *context); +void g_option_context_set_description (GOptionContext *context, + const gchar *description); +const gchar *g_option_context_get_description (GOptionContext *context); +void g_option_context_free (GOptionContext *context); +void g_option_context_set_help_enabled (GOptionContext *context, + gboolean help_enabled); +gboolean g_option_context_get_help_enabled (GOptionContext *context); +void g_option_context_set_ignore_unknown_options (GOptionContext *context, + gboolean ignore_unknown); +gboolean g_option_context_get_ignore_unknown_options (GOptionContext *context); +void g_option_context_add_main_entries (GOptionContext *context, + const GOptionEntry *entries, + const gchar *translation_domain); +gboolean g_option_context_parse (GOptionContext *context, + gint *argc, + gchar ***argv, + GError **error); +void g_option_context_set_translate_func (GOptionContext *context, + GTranslateFunc func, + gpointer data, + GDestroyNotify destroy_notify); +void g_option_context_set_translation_domain (GOptionContext *context, + const gchar *domain); +void g_option_context_add_group (GOptionContext *context, + GOptionGroup *group); +void g_option_context_set_main_group (GOptionContext *context, + GOptionGroup *group); +GOptionGroup *g_option_context_get_main_group (GOptionContext *context); +gchar *g_option_context_get_help (GOptionContext *context, + gboolean main_help, + GOptionGroup *group); +GOptionGroup *g_option_group_new (const gchar *name, + const gchar *description, + const gchar *help_description, + gpointer user_data, + GDestroyNotify destroy); +void g_option_group_set_parse_hooks (GOptionGroup *group, + GOptionParseFunc pre_parse_func, + GOptionParseFunc post_parse_func); +void g_option_group_set_error_hook (GOptionGroup *group, + GOptionErrorFunc error_func); +void g_option_group_free (GOptionGroup *group); +void g_option_group_add_entries (GOptionGroup *group, + const GOptionEntry *entries); +void g_option_group_set_translate_func (GOptionGroup *group, + GTranslateFunc func, + gpointer data, + GDestroyNotify destroy_notify); +void g_option_group_set_translation_domain (GOptionGroup *group, + const gchar *domain); +typedef struct _GPatternSpec GPatternSpec; +GPatternSpec* g_pattern_spec_new (const gchar *pattern); +void g_pattern_spec_free (GPatternSpec *pspec); +gboolean g_pattern_spec_equal (GPatternSpec *pspec1, + GPatternSpec *pspec2); +gboolean g_pattern_match (GPatternSpec *pspec, + guint string_length, + const gchar *string, + const gchar *string_reversed); +gboolean g_pattern_match_string (GPatternSpec *pspec, + const gchar *string); +gboolean g_pattern_match_simple (const gchar *pattern, + const gchar *string); +guint g_spaced_primes_closest (guint num) __attribute__((__const__)); +void g_qsort_with_data (gconstpointer pbase, + gint total_elems, + gsize size, + GCompareDataFunc compare_func, + gpointer user_data); +typedef struct _GQueue GQueue; +struct _GQueue +{ + GList *head; + GList *tail; + guint length; +}; +GQueue* g_queue_new (void); +void g_queue_free (GQueue *queue); +void g_queue_init (GQueue *queue); +void g_queue_clear (GQueue *queue); +gboolean g_queue_is_empty (GQueue *queue); +guint g_queue_get_length (GQueue *queue); +void g_queue_reverse (GQueue *queue); +GQueue * g_queue_copy (GQueue *queue); +void g_queue_foreach (GQueue *queue, + GFunc func, + gpointer user_data); +GList * g_queue_find (GQueue *queue, + gconstpointer data); +GList * g_queue_find_custom (GQueue *queue, + gconstpointer data, + GCompareFunc func); +void g_queue_sort (GQueue *queue, + GCompareDataFunc compare_func, + gpointer user_data); +void g_queue_push_head (GQueue *queue, + gpointer data); +void g_queue_push_tail (GQueue *queue, + gpointer data); +void g_queue_push_nth (GQueue *queue, + gpointer data, + gint n); +gpointer g_queue_pop_head (GQueue *queue); +gpointer g_queue_pop_tail (GQueue *queue); +gpointer g_queue_pop_nth (GQueue *queue, + guint n); +gpointer g_queue_peek_head (GQueue *queue); +gpointer g_queue_peek_tail (GQueue *queue); +gpointer g_queue_peek_nth (GQueue *queue, + guint n); +gint g_queue_index (GQueue *queue, + gconstpointer data); +void g_queue_remove (GQueue *queue, + gconstpointer data); +void g_queue_remove_all (GQueue *queue, + gconstpointer data); +void g_queue_insert_before (GQueue *queue, + GList *sibling, + gpointer data); +void g_queue_insert_after (GQueue *queue, + GList *sibling, + gpointer data); +void g_queue_insert_sorted (GQueue *queue, + gpointer data, + GCompareDataFunc func, + gpointer user_data); +void g_queue_push_head_link (GQueue *queue, + GList *link_); +void g_queue_push_tail_link (GQueue *queue, + GList *link_); +void g_queue_push_nth_link (GQueue *queue, + gint n, + GList *link_); +GList* g_queue_pop_head_link (GQueue *queue); +GList* g_queue_pop_tail_link (GQueue *queue); +GList* g_queue_pop_nth_link (GQueue *queue, + guint n); +GList* g_queue_peek_head_link (GQueue *queue); +GList* g_queue_peek_tail_link (GQueue *queue); +GList* g_queue_peek_nth_link (GQueue *queue, + guint n); +gint g_queue_link_index (GQueue *queue, + GList *link_); +void g_queue_unlink (GQueue *queue, + GList *link_); +void g_queue_delete_link (GQueue *queue, + GList *link_); +typedef struct _GRand GRand; +GRand* g_rand_new_with_seed (guint32 seed); +GRand* g_rand_new_with_seed_array (const guint32 *seed, + guint seed_length); +GRand* g_rand_new (void); +void g_rand_free (GRand *rand_); +GRand* g_rand_copy (GRand *rand_); +void g_rand_set_seed (GRand *rand_, + guint32 seed); +void g_rand_set_seed_array (GRand *rand_, + const guint32 *seed, + guint seed_length); +guint32 g_rand_int (GRand *rand_); +gint32 g_rand_int_range (GRand *rand_, + gint32 begin, + gint32 end); +gdouble g_rand_double (GRand *rand_); +gdouble g_rand_double_range (GRand *rand_, + gdouble begin, + gdouble end); +void g_random_set_seed (guint32 seed); +guint32 g_random_int (void); +gint32 g_random_int_range (gint32 begin, + gint32 end); +gdouble g_random_double (void); +gdouble g_random_double_range (gdouble begin, + gdouble end); +typedef struct _GRelation GRelation; +typedef struct _GTuples GTuples; +struct _GTuples +{ + guint len; +}; +GRelation* g_relation_new (gint fields); +void g_relation_destroy (GRelation *relation); +void g_relation_index (GRelation *relation, + gint field, + GHashFunc hash_func, + GEqualFunc key_equal_func); +void g_relation_insert (GRelation *relation, + ...); +gint g_relation_delete (GRelation *relation, + gconstpointer key, + gint field); +GTuples* g_relation_select (GRelation *relation, + gconstpointer key, + gint field); +gint g_relation_count (GRelation *relation, + gconstpointer key, + gint field); +gboolean g_relation_exists (GRelation *relation, + ...); +void g_relation_print (GRelation *relation); +void g_tuples_destroy (GTuples *tuples); +gpointer g_tuples_index (GTuples *tuples, + gint index_, + gint field); +typedef enum +{ + G_REGEX_ERROR_COMPILE, + G_REGEX_ERROR_OPTIMIZE, + G_REGEX_ERROR_REPLACE, + G_REGEX_ERROR_MATCH, + G_REGEX_ERROR_INTERNAL, + G_REGEX_ERROR_STRAY_BACKSLASH = 101, + G_REGEX_ERROR_MISSING_CONTROL_CHAR = 102, + G_REGEX_ERROR_UNRECOGNIZED_ESCAPE = 103, + G_REGEX_ERROR_QUANTIFIERS_OUT_OF_ORDER = 104, + G_REGEX_ERROR_QUANTIFIER_TOO_BIG = 105, + G_REGEX_ERROR_UNTERMINATED_CHARACTER_CLASS = 106, + G_REGEX_ERROR_INVALID_ESCAPE_IN_CHARACTER_CLASS = 107, + G_REGEX_ERROR_RANGE_OUT_OF_ORDER = 108, + G_REGEX_ERROR_NOTHING_TO_REPEAT = 109, + G_REGEX_ERROR_UNRECOGNIZED_CHARACTER = 112, + G_REGEX_ERROR_POSIX_NAMED_CLASS_OUTSIDE_CLASS = 113, + G_REGEX_ERROR_UNMATCHED_PARENTHESIS = 114, + G_REGEX_ERROR_INEXISTENT_SUBPATTERN_REFERENCE = 115, + G_REGEX_ERROR_UNTERMINATED_COMMENT = 118, + G_REGEX_ERROR_EXPRESSION_TOO_LARGE = 120, + G_REGEX_ERROR_MEMORY_ERROR = 121, + G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND = 125, + G_REGEX_ERROR_MALFORMED_CONDITION = 126, + G_REGEX_ERROR_TOO_MANY_CONDITIONAL_BRANCHES = 127, + G_REGEX_ERROR_ASSERTION_EXPECTED = 128, + G_REGEX_ERROR_UNKNOWN_POSIX_CLASS_NAME = 130, + G_REGEX_ERROR_POSIX_COLLATING_ELEMENTS_NOT_SUPPORTED = 131, + G_REGEX_ERROR_HEX_CODE_TOO_LARGE = 134, + G_REGEX_ERROR_INVALID_CONDITION = 135, + G_REGEX_ERROR_SINGLE_BYTE_MATCH_IN_LOOKBEHIND = 136, + G_REGEX_ERROR_INFINITE_LOOP = 140, + G_REGEX_ERROR_MISSING_SUBPATTERN_NAME_TERMINATOR = 142, + G_REGEX_ERROR_DUPLICATE_SUBPATTERN_NAME = 143, + G_REGEX_ERROR_MALFORMED_PROPERTY = 146, + G_REGEX_ERROR_UNKNOWN_PROPERTY = 147, + G_REGEX_ERROR_SUBPATTERN_NAME_TOO_LONG = 148, + G_REGEX_ERROR_TOO_MANY_SUBPATTERNS = 149, + G_REGEX_ERROR_INVALID_OCTAL_VALUE = 151, + G_REGEX_ERROR_TOO_MANY_BRANCHES_IN_DEFINE = 154, + G_REGEX_ERROR_DEFINE_REPETION = 155, + G_REGEX_ERROR_INCONSISTENT_NEWLINE_OPTIONS = 156, + G_REGEX_ERROR_MISSING_BACK_REFERENCE = 157 +} GRegexError; +GQuark g_regex_error_quark (void); +typedef enum +{ + G_REGEX_CASELESS = 1 << 0, + G_REGEX_MULTILINE = 1 << 1, + G_REGEX_DOTALL = 1 << 2, + G_REGEX_EXTENDED = 1 << 3, + G_REGEX_ANCHORED = 1 << 4, + G_REGEX_DOLLAR_ENDONLY = 1 << 5, + G_REGEX_UNGREEDY = 1 << 9, + G_REGEX_RAW = 1 << 11, + G_REGEX_NO_AUTO_CAPTURE = 1 << 12, + G_REGEX_OPTIMIZE = 1 << 13, + G_REGEX_DUPNAMES = 1 << 19, + G_REGEX_NEWLINE_CR = 1 << 20, + G_REGEX_NEWLINE_LF = 1 << 21, + G_REGEX_NEWLINE_CRLF = G_REGEX_NEWLINE_CR | G_REGEX_NEWLINE_LF +} GRegexCompileFlags; +typedef enum +{ + G_REGEX_MATCH_ANCHORED = 1 << 4, + G_REGEX_MATCH_NOTBOL = 1 << 7, + G_REGEX_MATCH_NOTEOL = 1 << 8, + G_REGEX_MATCH_NOTEMPTY = 1 << 10, + G_REGEX_MATCH_PARTIAL = 1 << 15, + G_REGEX_MATCH_NEWLINE_CR = 1 << 20, + G_REGEX_MATCH_NEWLINE_LF = 1 << 21, + G_REGEX_MATCH_NEWLINE_CRLF = G_REGEX_MATCH_NEWLINE_CR | G_REGEX_MATCH_NEWLINE_LF, + G_REGEX_MATCH_NEWLINE_ANY = 1 << 22 +} GRegexMatchFlags; +typedef struct _GRegex GRegex; +typedef struct _GMatchInfo GMatchInfo; +typedef gboolean (*GRegexEvalCallback) (const GMatchInfo *match_info, + GString *result, + gpointer user_data); +GRegex *g_regex_new (const gchar *pattern, + GRegexCompileFlags compile_options, + GRegexMatchFlags match_options, + GError **error); +GRegex *g_regex_ref (GRegex *regex); +void g_regex_unref (GRegex *regex); +const gchar *g_regex_get_pattern (const GRegex *regex); +gint g_regex_get_max_backref (const GRegex *regex); +gint g_regex_get_capture_count (const GRegex *regex); +gint g_regex_get_string_number (const GRegex *regex, + const gchar *name); +gchar *g_regex_escape_string (const gchar *string, + gint length); +gboolean g_regex_match_simple (const gchar *pattern, + const gchar *string, + GRegexCompileFlags compile_options, + GRegexMatchFlags match_options); +gboolean g_regex_match (const GRegex *regex, + const gchar *string, + GRegexMatchFlags match_options, + GMatchInfo **match_info); +gboolean g_regex_match_full (const GRegex *regex, + const gchar *string, + gssize string_len, + gint start_position, + GRegexMatchFlags match_options, + GMatchInfo **match_info, + GError **error); +gboolean g_regex_match_all (const GRegex *regex, + const gchar *string, + GRegexMatchFlags match_options, + GMatchInfo **match_info); +gboolean g_regex_match_all_full (const GRegex *regex, + const gchar *string, + gssize string_len, + gint start_position, + GRegexMatchFlags match_options, + GMatchInfo **match_info, + GError **error); +gchar **g_regex_split_simple (const gchar *pattern, + const gchar *string, + GRegexCompileFlags compile_options, + GRegexMatchFlags match_options); +gchar **g_regex_split (const GRegex *regex, + const gchar *string, + GRegexMatchFlags match_options); +gchar **g_regex_split_full (const GRegex *regex, + const gchar *string, + gssize string_len, + gint start_position, + GRegexMatchFlags match_options, + gint max_tokens, + GError **error); +gchar *g_regex_replace (const GRegex *regex, + const gchar *string, + gssize string_len, + gint start_position, + const gchar *replacement, + GRegexMatchFlags match_options, + GError **error); +gchar *g_regex_replace_literal (const GRegex *regex, + const gchar *string, + gssize string_len, + gint start_position, + const gchar *replacement, + GRegexMatchFlags match_options, + GError **error); +gchar *g_regex_replace_eval (const GRegex *regex, + const gchar *string, + gssize string_len, + gint start_position, + GRegexMatchFlags match_options, + GRegexEvalCallback eval, + gpointer user_data, + GError **error); +gboolean g_regex_check_replacement (const gchar *replacement, + gboolean *has_references, + GError **error); +GRegex *g_match_info_get_regex (const GMatchInfo *match_info); +const gchar *g_match_info_get_string (const GMatchInfo *match_info); +void g_match_info_free (GMatchInfo *match_info); +gboolean g_match_info_next (GMatchInfo *match_info, + GError **error); +gboolean g_match_info_matches (const GMatchInfo *match_info); +gint g_match_info_get_match_count (const GMatchInfo *match_info); +gboolean g_match_info_is_partial_match (const GMatchInfo *match_info); +gchar *g_match_info_expand_references(const GMatchInfo *match_info, + const gchar *string_to_expand, + GError **error); +gchar *g_match_info_fetch (const GMatchInfo *match_info, + gint match_num); +gboolean g_match_info_fetch_pos (const GMatchInfo *match_info, + gint match_num, + gint *start_pos, + gint *end_pos); +gchar *g_match_info_fetch_named (const GMatchInfo *match_info, + const gchar *name); +gboolean g_match_info_fetch_named_pos (const GMatchInfo *match_info, + const gchar *name, + gint *start_pos, + gint *end_pos); +gchar **g_match_info_fetch_all (const GMatchInfo *match_info); +typedef struct _GScanner GScanner; +typedef struct _GScannerConfig GScannerConfig; +typedef union _GTokenValue GTokenValue; +typedef void (*GScannerMsgFunc) (GScanner *scanner, + gchar *message, + gboolean error); +typedef enum +{ + G_ERR_UNKNOWN, + G_ERR_UNEXP_EOF, + G_ERR_UNEXP_EOF_IN_STRING, + G_ERR_UNEXP_EOF_IN_COMMENT, + G_ERR_NON_DIGIT_IN_CONST, + G_ERR_DIGIT_RADIX, + G_ERR_FLOAT_RADIX, + G_ERR_FLOAT_MALFORMED +} GErrorType; +typedef enum +{ + G_TOKEN_EOF = 0, + G_TOKEN_LEFT_PAREN = '(', + G_TOKEN_RIGHT_PAREN = ')', + G_TOKEN_LEFT_CURLY = '{', + G_TOKEN_RIGHT_CURLY = '}', + G_TOKEN_LEFT_BRACE = '[', + G_TOKEN_RIGHT_BRACE = ']', + G_TOKEN_EQUAL_SIGN = '=', + G_TOKEN_COMMA = ',', + G_TOKEN_NONE = 256, + G_TOKEN_ERROR, + G_TOKEN_CHAR, + G_TOKEN_BINARY, + G_TOKEN_OCTAL, + G_TOKEN_INT, + G_TOKEN_HEX, + G_TOKEN_FLOAT, + G_TOKEN_STRING, + G_TOKEN_SYMBOL, + G_TOKEN_IDENTIFIER, + G_TOKEN_IDENTIFIER_NULL, + G_TOKEN_COMMENT_SINGLE, + G_TOKEN_COMMENT_MULTI, + G_TOKEN_LAST +} GTokenType; +union _GTokenValue +{ + gpointer v_symbol; + gchar *v_identifier; + gulong v_binary; + gulong v_octal; + gulong v_int; + guint64 v_int64; + gdouble v_float; + gulong v_hex; + gchar *v_string; + gchar *v_comment; + guchar v_char; + guint v_error; +}; +struct _GScannerConfig +{ + gchar *cset_skip_characters; + gchar *cset_identifier_first; + gchar *cset_identifier_nth; + gchar *cpair_comment_single; + guint case_sensitive : 1; + guint skip_comment_multi : 1; + guint skip_comment_single : 1; + guint scan_comment_multi : 1; + guint scan_identifier : 1; + guint scan_identifier_1char : 1; + guint scan_identifier_NULL : 1; + guint scan_symbols : 1; + guint scan_binary : 1; + guint scan_octal : 1; + guint scan_float : 1; + guint scan_hex : 1; + guint scan_hex_dollar : 1; + guint scan_string_sq : 1; + guint scan_string_dq : 1; + guint numbers_2_int : 1; + guint int_2_float : 1; + guint identifier_2_string : 1; + guint char_2_token : 1; + guint symbol_2_token : 1; + guint scope_0_fallback : 1; + guint store_int64 : 1; + guint padding_dummy; +}; +struct _GScanner +{ + gpointer user_data; + guint max_parse_errors; + guint parse_errors; + const gchar *input_name; + GData *qdata; + GScannerConfig *config; + GTokenType token; + GTokenValue value; + guint line; + guint position; + GTokenType next_token; + GTokenValue next_value; + guint next_line; + guint next_position; + GHashTable *symbol_table; + gint input_fd; + const gchar *text; + const gchar *text_end; + gchar *buffer; + guint scope_id; + GScannerMsgFunc msg_handler; +}; +GScanner* g_scanner_new (const GScannerConfig *config_templ); +void g_scanner_destroy (GScanner *scanner); +void g_scanner_input_file (GScanner *scanner, + gint input_fd); +void g_scanner_sync_file_offset (GScanner *scanner); +void g_scanner_input_text (GScanner *scanner, + const gchar *text, + guint text_len); +GTokenType g_scanner_get_next_token (GScanner *scanner); +GTokenType g_scanner_peek_next_token (GScanner *scanner); +GTokenType g_scanner_cur_token (GScanner *scanner); +GTokenValue g_scanner_cur_value (GScanner *scanner); +guint g_scanner_cur_line (GScanner *scanner); +guint g_scanner_cur_position (GScanner *scanner); +gboolean g_scanner_eof (GScanner *scanner); +guint g_scanner_set_scope (GScanner *scanner, + guint scope_id); +void g_scanner_scope_add_symbol (GScanner *scanner, + guint scope_id, + const gchar *symbol, + gpointer value); +void g_scanner_scope_remove_symbol (GScanner *scanner, + guint scope_id, + const gchar *symbol); +gpointer g_scanner_scope_lookup_symbol (GScanner *scanner, + guint scope_id, + const gchar *symbol); +void g_scanner_scope_foreach_symbol (GScanner *scanner, + guint scope_id, + GHFunc func, + gpointer user_data); +gpointer g_scanner_lookup_symbol (GScanner *scanner, + const gchar *symbol); +void g_scanner_unexp_token (GScanner *scanner, + GTokenType expected_token, + const gchar *identifier_spec, + const gchar *symbol_spec, + const gchar *symbol_name, + const gchar *message, + gint is_error); +void g_scanner_error (GScanner *scanner, + const gchar *format, + ...) __attribute__((__format__ (__printf__, 2, 3))); +void g_scanner_warn (GScanner *scanner, + const gchar *format, + ...) __attribute__((__format__ (__printf__, 2, 3))); +typedef struct _GSequence GSequence; +typedef struct _GSequenceNode GSequenceIter; +typedef gint (* GSequenceIterCompareFunc) (GSequenceIter *a, + GSequenceIter *b, + gpointer data); +GSequence * g_sequence_new (GDestroyNotify data_destroy); +void g_sequence_free (GSequence *seq); +gint g_sequence_get_length (GSequence *seq); +void g_sequence_foreach (GSequence *seq, + GFunc func, + gpointer user_data); +void g_sequence_foreach_range (GSequenceIter *begin, + GSequenceIter *end, + GFunc func, + gpointer user_data); +void g_sequence_sort (GSequence *seq, + GCompareDataFunc cmp_func, + gpointer cmp_data); +void g_sequence_sort_iter (GSequence *seq, + GSequenceIterCompareFunc cmp_func, + gpointer cmp_data); +GSequenceIter *g_sequence_get_begin_iter (GSequence *seq); +GSequenceIter *g_sequence_get_end_iter (GSequence *seq); +GSequenceIter *g_sequence_get_iter_at_pos (GSequence *seq, + gint pos); +GSequenceIter *g_sequence_append (GSequence *seq, + gpointer data); +GSequenceIter *g_sequence_prepend (GSequence *seq, + gpointer data); +GSequenceIter *g_sequence_insert_before (GSequenceIter *iter, + gpointer data); +void g_sequence_move (GSequenceIter *src, + GSequenceIter *dest); +void g_sequence_swap (GSequenceIter *a, + GSequenceIter *b); +GSequenceIter *g_sequence_insert_sorted (GSequence *seq, + gpointer data, + GCompareDataFunc cmp_func, + gpointer cmp_data); +GSequenceIter *g_sequence_insert_sorted_iter (GSequence *seq, + gpointer data, + GSequenceIterCompareFunc iter_cmp, + gpointer cmp_data); +void g_sequence_sort_changed (GSequenceIter *iter, + GCompareDataFunc cmp_func, + gpointer cmp_data); +void g_sequence_sort_changed_iter (GSequenceIter *iter, + GSequenceIterCompareFunc iter_cmp, + gpointer cmp_data); +void g_sequence_remove (GSequenceIter *iter); +void g_sequence_remove_range (GSequenceIter *begin, + GSequenceIter *end); +void g_sequence_move_range (GSequenceIter *dest, + GSequenceIter *begin, + GSequenceIter *end); +GSequenceIter *g_sequence_search (GSequence *seq, + gpointer data, + GCompareDataFunc cmp_func, + gpointer cmp_data); +GSequenceIter *g_sequence_search_iter (GSequence *seq, + gpointer data, + GSequenceIterCompareFunc iter_cmp, + gpointer cmp_data); +gpointer g_sequence_get (GSequenceIter *iter); +void g_sequence_set (GSequenceIter *iter, + gpointer data); +gboolean g_sequence_iter_is_begin (GSequenceIter *iter); +gboolean g_sequence_iter_is_end (GSequenceIter *iter); +GSequenceIter *g_sequence_iter_next (GSequenceIter *iter); +GSequenceIter *g_sequence_iter_prev (GSequenceIter *iter); +gint g_sequence_iter_get_position (GSequenceIter *iter); +GSequenceIter *g_sequence_iter_move (GSequenceIter *iter, + gint delta); +GSequence * g_sequence_iter_get_sequence (GSequenceIter *iter); +gint g_sequence_iter_compare (GSequenceIter *a, + GSequenceIter *b); +GSequenceIter *g_sequence_range_get_midpoint (GSequenceIter *begin, + GSequenceIter *end); +typedef enum +{ + G_SHELL_ERROR_BAD_QUOTING, + G_SHELL_ERROR_EMPTY_STRING, + G_SHELL_ERROR_FAILED +} GShellError; +GQuark g_shell_error_quark (void); +gchar* g_shell_quote (const gchar *unquoted_string); +gchar* g_shell_unquote (const gchar *quoted_string, + GError **error); +gboolean g_shell_parse_argv (const gchar *command_line, + gint *argcp, + gchar ***argvp, + GError **error); +typedef enum +{ + G_SPAWN_ERROR_FORK, + G_SPAWN_ERROR_READ, + G_SPAWN_ERROR_CHDIR, + G_SPAWN_ERROR_ACCES, + G_SPAWN_ERROR_PERM, + G_SPAWN_ERROR_2BIG, + G_SPAWN_ERROR_NOEXEC, + G_SPAWN_ERROR_NAMETOOLONG, + G_SPAWN_ERROR_NOENT, + G_SPAWN_ERROR_NOMEM, + G_SPAWN_ERROR_NOTDIR, + G_SPAWN_ERROR_LOOP, + G_SPAWN_ERROR_TXTBUSY, + G_SPAWN_ERROR_IO, + G_SPAWN_ERROR_NFILE, + G_SPAWN_ERROR_MFILE, + G_SPAWN_ERROR_INVAL, + G_SPAWN_ERROR_ISDIR, + G_SPAWN_ERROR_LIBBAD, + G_SPAWN_ERROR_FAILED +} GSpawnError; +typedef void (* GSpawnChildSetupFunc) (gpointer user_data); +typedef enum +{ + G_SPAWN_LEAVE_DESCRIPTORS_OPEN = 1 << 0, + G_SPAWN_DO_NOT_REAP_CHILD = 1 << 1, + G_SPAWN_SEARCH_PATH = 1 << 2, + G_SPAWN_STDOUT_TO_DEV_NULL = 1 << 3, + G_SPAWN_STDERR_TO_DEV_NULL = 1 << 4, + G_SPAWN_CHILD_INHERITS_STDIN = 1 << 5, + G_SPAWN_FILE_AND_ARGV_ZERO = 1 << 6 +} GSpawnFlags; +GQuark g_spawn_error_quark (void); +gboolean g_spawn_async (const gchar *working_directory, + gchar **argv, + gchar **envp, + GSpawnFlags flags, + GSpawnChildSetupFunc child_setup, + gpointer user_data, + GPid *child_pid, + GError **error); +gboolean g_spawn_async_with_pipes (const gchar *working_directory, + gchar **argv, + gchar **envp, + GSpawnFlags flags, + GSpawnChildSetupFunc child_setup, + gpointer user_data, + GPid *child_pid, + gint *standard_input, + gint *standard_output, + gint *standard_error, + GError **error); +gboolean g_spawn_sync (const gchar *working_directory, + gchar **argv, + gchar **envp, + GSpawnFlags flags, + GSpawnChildSetupFunc child_setup, + gpointer user_data, + gchar **standard_output, + gchar **standard_error, + gint *exit_status, + GError **error); +gboolean g_spawn_command_line_sync (const gchar *command_line, + gchar **standard_output, + gchar **standard_error, + gint *exit_status, + GError **error); +gboolean g_spawn_command_line_async (const gchar *command_line, + GError **error); +void g_spawn_close_pid (GPid pid); +typedef enum { + G_ASCII_ALNUM = 1 << 0, + G_ASCII_ALPHA = 1 << 1, + G_ASCII_CNTRL = 1 << 2, + G_ASCII_DIGIT = 1 << 3, + G_ASCII_GRAPH = 1 << 4, + G_ASCII_LOWER = 1 << 5, + G_ASCII_PRINT = 1 << 6, + G_ASCII_PUNCT = 1 << 7, + G_ASCII_SPACE = 1 << 8, + G_ASCII_UPPER = 1 << 9, + G_ASCII_XDIGIT = 1 << 10 +} GAsciiType; +extern const guint16 * const g_ascii_table; +gchar g_ascii_tolower (gchar c) __attribute__((__const__)); +gchar g_ascii_toupper (gchar c) __attribute__((__const__)); +gint g_ascii_digit_value (gchar c) __attribute__((__const__)); +gint g_ascii_xdigit_value (gchar c) __attribute__((__const__)); +gchar* g_strdelimit (gchar *string, + const gchar *delimiters, + gchar new_delimiter); +gchar* g_strcanon (gchar *string, + const gchar *valid_chars, + gchar substitutor); +const gchar* g_strerror (gint errnum) __attribute__((__const__)); +const gchar* g_strsignal (gint signum) __attribute__((__const__)); +gchar* g_strreverse (gchar *string); +gsize g_strlcpy (gchar *dest, + const gchar *src, + gsize dest_size); +gsize g_strlcat (gchar *dest, + const gchar *src, + gsize dest_size); +gchar * g_strstr_len (const gchar *haystack, + gssize haystack_len, + const gchar *needle); +gchar * g_strrstr (const gchar *haystack, + const gchar *needle); +gchar * g_strrstr_len (const gchar *haystack, + gssize haystack_len, + const gchar *needle); +gboolean g_str_has_suffix (const gchar *str, + const gchar *suffix); +gboolean g_str_has_prefix (const gchar *str, + const gchar *prefix); +gdouble g_strtod (const gchar *nptr, + gchar **endptr); +gdouble g_ascii_strtod (const gchar *nptr, + gchar **endptr); +guint64 g_ascii_strtoull (const gchar *nptr, + gchar **endptr, + guint base); +gint64 g_ascii_strtoll (const gchar *nptr, + gchar **endptr, + guint base); +gchar * g_ascii_dtostr (gchar *buffer, + gint buf_len, + gdouble d); +gchar * g_ascii_formatd (gchar *buffer, + gint buf_len, + const gchar *format, + gdouble d); +gchar* g_strchug (gchar *string); +gchar* g_strchomp (gchar *string); +gint g_ascii_strcasecmp (const gchar *s1, + const gchar *s2); +gint g_ascii_strncasecmp (const gchar *s1, + const gchar *s2, + gsize n); +gchar* g_ascii_strdown (const gchar *str, + gssize len) __attribute__((__malloc__)); +gchar* g_ascii_strup (const gchar *str, + gssize len) __attribute__((__malloc__)); +gint g_strcasecmp (const gchar *s1, + const gchar *s2); +gint g_strncasecmp (const gchar *s1, + const gchar *s2, + guint n); +gchar* g_strdown (gchar *string); +gchar* g_strup (gchar *string); +gchar* g_strdup (const gchar *str) __attribute__((__malloc__)); +gchar* g_strdup_printf (const gchar *format, + ...) __attribute__((__format__ (__printf__, 1, 2))) __attribute__((__malloc__)); +gchar* g_strdup_vprintf (const gchar *format, + va_list args) __attribute__((__malloc__)); +gchar* g_strndup (const gchar *str, + gsize n) __attribute__((__malloc__)); +gchar* g_strnfill (gsize length, + gchar fill_char) __attribute__((__malloc__)); +gchar* g_strconcat (const gchar *string1, + ...) __attribute__((__malloc__)) __attribute__((__sentinel__)); +gchar* g_strjoin (const gchar *separator, + ...) __attribute__((__malloc__)) __attribute__((__sentinel__)); +gchar* g_strcompress (const gchar *source) __attribute__((__malloc__)); +gchar* g_strescape (const gchar *source, + const gchar *exceptions) __attribute__((__malloc__)); +gpointer g_memdup (gconstpointer mem, + guint byte_size) __attribute__((__malloc__)) __attribute__((__alloc_size__(2))); +gchar** g_strsplit (const gchar *string, + const gchar *delimiter, + gint max_tokens) __attribute__((__malloc__)); +gchar ** g_strsplit_set (const gchar *string, + const gchar *delimiters, + gint max_tokens) __attribute__((__malloc__)); +gchar* g_strjoinv (const gchar *separator, + gchar **str_array) __attribute__((__malloc__)); +void g_strfreev (gchar **str_array); +gchar** g_strdupv (gchar **str_array) __attribute__((__malloc__)); +guint g_strv_length (gchar **str_array); +gchar* g_stpcpy (gchar *dest, + const char *src); +const gchar *g_strip_context (const gchar *msgid, + const gchar *msgval) __attribute__((__format_arg__ (1))); +const gchar *g_dgettext (const gchar *domain, + const gchar *msgid) __attribute__((__format_arg__ (2))); +const gchar *g_dngettext (const gchar *domain, + const gchar *msgid, + const gchar *msgid_plural, + gulong n) __attribute__((__format_arg__ (3))); +const gchar *g_dpgettext (const gchar *domain, + const gchar *msgctxtid, + gsize msgidoffset) __attribute__((__format_arg__ (2))); +const gchar *g_dpgettext2 (const gchar *domain, + const gchar *context, + const gchar *msgid) __attribute__((__format_arg__ (3))); +typedef struct GTestCase GTestCase; +typedef struct GTestSuite GTestSuite; +int g_strcmp0 (const char *str1, + const char *str2); +void g_test_minimized_result (double minimized_quantity, + const char *format, + ...) __attribute__((__format__ (__printf__, 2, 3))); +void g_test_maximized_result (double maximized_quantity, + const char *format, + ...) __attribute__((__format__ (__printf__, 2, 3))); +void g_test_init (int *argc, + char ***argv, + ...); +int g_test_run (void); +void g_test_add_func (const char *testpath, + void (*test_func) (void)); +void g_test_add_data_func (const char *testpath, + gconstpointer test_data, + void (*test_func) (gconstpointer)); +void g_test_message (const char *format, + ...) __attribute__((__format__ (__printf__, 1, 2))); +void g_test_bug_base (const char *uri_pattern); +void g_test_bug (const char *bug_uri_snippet); +void g_test_timer_start (void); +double g_test_timer_elapsed (void); +double g_test_timer_last (void); +void g_test_queue_free (gpointer gfree_pointer); +void g_test_queue_destroy (GDestroyNotify destroy_func, + gpointer destroy_data); +typedef enum { + G_TEST_TRAP_SILENCE_STDOUT = 1 << 7, + G_TEST_TRAP_SILENCE_STDERR = 1 << 8, + G_TEST_TRAP_INHERIT_STDIN = 1 << 9 +} GTestTrapFlags; +gboolean g_test_trap_fork (guint64 usec_timeout, + GTestTrapFlags test_trap_flags); +gboolean g_test_trap_has_passed (void); +gboolean g_test_trap_reached_timeout (void); +gint32 g_test_rand_int (void); +gint32 g_test_rand_int_range (gint32 begin, + gint32 end); +double g_test_rand_double (void); +double g_test_rand_double_range (double range_start, + double range_end); +GTestCase* g_test_create_case (const char *test_name, + gsize data_size, + gconstpointer test_data, + void (*data_setup) (void), + void (*data_test) (void), + void (*data_teardown) (void)); +GTestSuite* g_test_create_suite (const char *suite_name); +GTestSuite* g_test_get_root (void); +void g_test_suite_add (GTestSuite *suite, + GTestCase *test_case); +void g_test_suite_add_suite (GTestSuite *suite, + GTestSuite *nestedsuite); +int g_test_run_suite (GTestSuite *suite); +void g_test_trap_assertions (const char *domain, + const char *file, + int line, + const char *func, + guint64 assertion_flags, + const char *pattern); +void g_assertion_message (const char *domain, + const char *file, + int line, + const char *func, + const char *message) __attribute__((__noreturn__)); +void g_assertion_message_expr (const char *domain, + const char *file, + int line, + const char *func, + const char *expr) __attribute__((__noreturn__)); +void g_assertion_message_cmpstr (const char *domain, + const char *file, + int line, + const char *func, + const char *expr, + const char *arg1, + const char *cmp, + const char *arg2) __attribute__((__noreturn__)); +void g_assertion_message_cmpnum (const char *domain, + const char *file, + int line, + const char *func, + const char *expr, + long double arg1, + const char *cmp, + long double arg2, + char numtype) __attribute__((__noreturn__)); +void g_assertion_message_error (const char *domain, + const char *file, + int line, + const char *func, + const char *expr, + GError *error, + GQuark error_domain, + int error_code) __attribute__((__noreturn__)); +void g_test_add_vtable (const char *testpath, + gsize data_size, + gconstpointer test_data, + void (*data_setup) (void), + void (*data_test) (void), + void (*data_teardown) (void)); +typedef struct { + gboolean test_initialized; + gboolean test_quick; + gboolean test_perf; + gboolean test_verbose; + gboolean test_quiet; +} GTestConfig; +extern const GTestConfig * const g_test_config_vars; +typedef enum { + G_TEST_LOG_NONE, + G_TEST_LOG_ERROR, + G_TEST_LOG_START_BINARY, + G_TEST_LOG_LIST_CASE, + G_TEST_LOG_SKIP_CASE, + G_TEST_LOG_START_CASE, + G_TEST_LOG_STOP_CASE, + G_TEST_LOG_MIN_RESULT, + G_TEST_LOG_MAX_RESULT, + G_TEST_LOG_MESSAGE +} GTestLogType; +typedef struct { + GTestLogType log_type; + guint n_strings; + gchar **strings; + guint n_nums; + long double *nums; +} GTestLogMsg; +typedef struct { + GString *data; + GSList *msgs; +} GTestLogBuffer; +const char* g_test_log_type_name (GTestLogType log_type); +GTestLogBuffer* g_test_log_buffer_new (void); +void g_test_log_buffer_free (GTestLogBuffer *tbuffer); +void g_test_log_buffer_push (GTestLogBuffer *tbuffer, + guint n_bytes, + const guint8 *bytes); +GTestLogMsg* g_test_log_buffer_pop (GTestLogBuffer *tbuffer); +void g_test_log_msg_free (GTestLogMsg *tmsg); +typedef struct _GThreadPool GThreadPool; +struct _GThreadPool +{ + GFunc func; + gpointer user_data; + gboolean exclusive; +}; +GThreadPool* g_thread_pool_new (GFunc func, + gpointer user_data, + gint max_threads, + gboolean exclusive, + GError **error); +void g_thread_pool_push (GThreadPool *pool, + gpointer data, + GError **error); +void g_thread_pool_set_max_threads (GThreadPool *pool, + gint max_threads, + GError **error); +gint g_thread_pool_get_max_threads (GThreadPool *pool); +guint g_thread_pool_get_num_threads (GThreadPool *pool); +guint g_thread_pool_unprocessed (GThreadPool *pool); +void g_thread_pool_free (GThreadPool *pool, + gboolean immediate, + gboolean wait_); +void g_thread_pool_set_max_unused_threads (gint max_threads); +gint g_thread_pool_get_max_unused_threads (void); +guint g_thread_pool_get_num_unused_threads (void); +void g_thread_pool_stop_unused_threads (void); +void g_thread_pool_set_sort_function (GThreadPool *pool, + GCompareDataFunc func, + gpointer user_data); +void g_thread_pool_set_max_idle_time (guint interval); +guint g_thread_pool_get_max_idle_time (void); +typedef struct _GTimer GTimer; +GTimer* g_timer_new (void); +void g_timer_destroy (GTimer *timer); +void g_timer_start (GTimer *timer); +void g_timer_stop (GTimer *timer); +void g_timer_reset (GTimer *timer); +void g_timer_continue (GTimer *timer); +gdouble g_timer_elapsed (GTimer *timer, + gulong *microseconds); +void g_usleep (gulong microseconds); +void g_time_val_add (GTimeVal *time_, + glong microseconds); +gboolean g_time_val_from_iso8601 (const gchar *iso_date, + GTimeVal *time_); +gchar* g_time_val_to_iso8601 (GTimeVal *time_) __attribute__((__malloc__)); +typedef struct _GTree GTree; +typedef gboolean (*GTraverseFunc) (gpointer key, + gpointer value, + gpointer data); +GTree* g_tree_new (GCompareFunc key_compare_func); +GTree* g_tree_new_with_data (GCompareDataFunc key_compare_func, + gpointer key_compare_data); +GTree* g_tree_new_full (GCompareDataFunc key_compare_func, + gpointer key_compare_data, + GDestroyNotify key_destroy_func, + GDestroyNotify value_destroy_func); +void g_tree_destroy (GTree *tree); +void g_tree_insert (GTree *tree, + gpointer key, + gpointer value); +void g_tree_replace (GTree *tree, + gpointer key, + gpointer value); +gboolean g_tree_remove (GTree *tree, + gconstpointer key); +gboolean g_tree_steal (GTree *tree, + gconstpointer key); +gpointer g_tree_lookup (GTree *tree, + gconstpointer key); +gboolean g_tree_lookup_extended (GTree *tree, + gconstpointer lookup_key, + gpointer *orig_key, + gpointer *value); +void g_tree_foreach (GTree *tree, + GTraverseFunc func, + gpointer user_data); +void g_tree_traverse (GTree *tree, + GTraverseFunc traverse_func, + GTraverseType traverse_type, + gpointer user_data); +gpointer g_tree_search (GTree *tree, + GCompareFunc search_func, + gconstpointer user_data); +gint g_tree_height (GTree *tree); +gint g_tree_nnodes (GTree *tree); +char * g_uri_unescape_string (const char *escaped_string, + const char *illegal_characters); +char * g_uri_unescape_segment (const char *escaped_string, + const char *escaped_string_end, + const char *illegal_characters); +char * g_uri_parse_scheme (const char *uri); +char * g_uri_escape_string (const char *unescaped, + const char *reserved_chars_allowed, + gboolean allow_utf8); +typedef gsize GType; +typedef struct _GValue GValue; +typedef union _GTypeCValue GTypeCValue; +typedef struct _GTypePlugin GTypePlugin; +typedef struct _GTypeClass GTypeClass; +typedef struct _GTypeInterface GTypeInterface; +typedef struct _GTypeInstance GTypeInstance; +typedef struct _GTypeInfo GTypeInfo; +typedef struct _GTypeFundamentalInfo GTypeFundamentalInfo; +typedef struct _GInterfaceInfo GInterfaceInfo; +typedef struct _GTypeValueTable GTypeValueTable; +typedef struct _GTypeQuery GTypeQuery; +struct _GTypeClass +{ + GType g_type; +}; +struct _GTypeInstance +{ + GTypeClass *g_class; +}; +struct _GTypeInterface +{ + GType g_type; + GType g_instance_type; +}; +struct _GTypeQuery +{ + GType type; + const gchar *type_name; + guint class_size; + guint instance_size; +}; +typedef enum +{ + G_TYPE_DEBUG_NONE = 0, + G_TYPE_DEBUG_OBJECTS = 1 << 0, + G_TYPE_DEBUG_SIGNALS = 1 << 1, + G_TYPE_DEBUG_MASK = 0x03 +} GTypeDebugFlags; +void g_type_init (void); +void g_type_init_with_debug_flags (GTypeDebugFlags debug_flags); +const gchar* g_type_name (GType type); +GQuark g_type_qname (GType type); +GType g_type_from_name (const gchar *name); +GType g_type_parent (GType type); +guint g_type_depth (GType type); +GType g_type_next_base (GType leaf_type, + GType root_type); +gboolean g_type_is_a (GType type, + GType is_a_type); +gpointer g_type_class_ref (GType type); +gpointer g_type_class_peek (GType type); +gpointer g_type_class_peek_static (GType type); +void g_type_class_unref (gpointer g_class); +gpointer g_type_class_peek_parent (gpointer g_class); +gpointer g_type_interface_peek (gpointer instance_class, + GType iface_type); +gpointer g_type_interface_peek_parent (gpointer g_iface); +gpointer g_type_default_interface_ref (GType g_type); +gpointer g_type_default_interface_peek (GType g_type); +void g_type_default_interface_unref (gpointer g_iface); +GType* g_type_children (GType type, + guint *n_children); +GType* g_type_interfaces (GType type, + guint *n_interfaces); +void g_type_set_qdata (GType type, + GQuark quark, + gpointer data); +gpointer g_type_get_qdata (GType type, + GQuark quark); +void g_type_query (GType type, + GTypeQuery *query); +typedef void (*GBaseInitFunc) (gpointer g_class); +typedef void (*GBaseFinalizeFunc) (gpointer g_class); +typedef void (*GClassInitFunc) (gpointer g_class, + gpointer class_data); +typedef void (*GClassFinalizeFunc) (gpointer g_class, + gpointer class_data); +typedef void (*GInstanceInitFunc) (GTypeInstance *instance, + gpointer g_class); +typedef void (*GInterfaceInitFunc) (gpointer g_iface, + gpointer iface_data); +typedef void (*GInterfaceFinalizeFunc) (gpointer g_iface, + gpointer iface_data); +typedef gboolean (*GTypeClassCacheFunc) (gpointer cache_data, + GTypeClass *g_class); +typedef void (*GTypeInterfaceCheckFunc) (gpointer check_data, + gpointer g_iface); +typedef enum +{ + G_TYPE_FLAG_CLASSED = (1 << 0), + G_TYPE_FLAG_INSTANTIATABLE = (1 << 1), + G_TYPE_FLAG_DERIVABLE = (1 << 2), + G_TYPE_FLAG_DEEP_DERIVABLE = (1 << 3) +} GTypeFundamentalFlags; +typedef enum +{ + G_TYPE_FLAG_ABSTRACT = (1 << 4), + G_TYPE_FLAG_VALUE_ABSTRACT = (1 << 5) +} GTypeFlags; +struct _GTypeInfo +{ + guint16 class_size; + GBaseInitFunc base_init; + GBaseFinalizeFunc base_finalize; + GClassInitFunc class_init; + GClassFinalizeFunc class_finalize; + gconstpointer class_data; + guint16 instance_size; + guint16 n_preallocs; + GInstanceInitFunc instance_init; + const GTypeValueTable *value_table; +}; +struct _GTypeFundamentalInfo +{ + GTypeFundamentalFlags type_flags; +}; +struct _GInterfaceInfo +{ + GInterfaceInitFunc interface_init; + GInterfaceFinalizeFunc interface_finalize; + gpointer interface_data; +}; +struct _GTypeValueTable +{ + void (*value_init) (GValue *value); + void (*value_free) (GValue *value); + void (*value_copy) (const GValue *src_value, + GValue *dest_value); + gpointer (*value_peek_pointer) (const GValue *value); + gchar *collect_format; + gchar* (*collect_value) (GValue *value, + guint n_collect_values, + GTypeCValue *collect_values, + guint collect_flags); + gchar *lcopy_format; + gchar* (*lcopy_value) (const GValue *value, + guint n_collect_values, + GTypeCValue *collect_values, + guint collect_flags); +}; +GType g_type_register_static (GType parent_type, + const gchar *type_name, + const GTypeInfo *info, + GTypeFlags flags); +GType g_type_register_static_simple (GType parent_type, + const gchar *type_name, + guint class_size, + GClassInitFunc class_init, + guint instance_size, + GInstanceInitFunc instance_init, + GTypeFlags flags); +GType g_type_register_dynamic (GType parent_type, + const gchar *type_name, + GTypePlugin *plugin, + GTypeFlags flags); +GType g_type_register_fundamental (GType type_id, + const gchar *type_name, + const GTypeInfo *info, + const GTypeFundamentalInfo *finfo, + GTypeFlags flags); +void g_type_add_interface_static (GType instance_type, + GType interface_type, + const GInterfaceInfo *info); +void g_type_add_interface_dynamic (GType instance_type, + GType interface_type, + GTypePlugin *plugin); +void g_type_interface_add_prerequisite (GType interface_type, + GType prerequisite_type); +GType*g_type_interface_prerequisites (GType interface_type, + guint *n_prerequisites); +void g_type_class_add_private (gpointer g_class, + gsize private_size); +gpointer g_type_instance_get_private (GTypeInstance *instance, + GType private_type); +GTypePlugin* g_type_get_plugin (GType type); +GTypePlugin* g_type_interface_get_plugin (GType instance_type, + GType interface_type); +GType g_type_fundamental_next (void); +GType g_type_fundamental (GType type_id); +GTypeInstance* g_type_create_instance (GType type); +void g_type_free_instance (GTypeInstance *instance); +void g_type_add_class_cache_func (gpointer cache_data, + GTypeClassCacheFunc cache_func); +void g_type_remove_class_cache_func (gpointer cache_data, + GTypeClassCacheFunc cache_func); +void g_type_class_unref_uncached (gpointer g_class); +void g_type_add_interface_check (gpointer check_data, + GTypeInterfaceCheckFunc check_func); +void g_type_remove_interface_check (gpointer check_data, + GTypeInterfaceCheckFunc check_func); +GTypeValueTable* g_type_value_table_peek (GType type); +gboolean g_type_check_instance (GTypeInstance *instance) __attribute__((__pure__)); +GTypeInstance* g_type_check_instance_cast (GTypeInstance *instance, + GType iface_type); +gboolean g_type_check_instance_is_a (GTypeInstance *instance, + GType iface_type) __attribute__((__pure__)); +GTypeClass* g_type_check_class_cast (GTypeClass *g_class, + GType is_a_type); +gboolean g_type_check_class_is_a (GTypeClass *g_class, + GType is_a_type) __attribute__((__pure__)); +gboolean g_type_check_is_value_type (GType type) __attribute__((__const__)); +gboolean g_type_check_value (GValue *value) __attribute__((__pure__)); +gboolean g_type_check_value_holds (GValue *value, + GType type) __attribute__((__pure__)); +gboolean g_type_test_flags (GType type, + guint flags) __attribute__((__const__)); +const gchar* g_type_name_from_instance (GTypeInstance *instance); +const gchar* g_type_name_from_class (GTypeClass *g_class); +__attribute__((visibility("hidden"))) void g_value_c_init (void); +__attribute__((visibility("hidden"))) void g_value_types_init (void); +__attribute__((visibility("hidden"))) void g_enum_types_init (void); +__attribute__((visibility("hidden"))) void g_param_type_init (void); +__attribute__((visibility("hidden"))) void g_boxed_type_init (void); +__attribute__((visibility("hidden"))) void g_object_type_init (void); +__attribute__((visibility("hidden"))) void g_param_spec_types_init (void); +__attribute__((visibility("hidden"))) void g_value_transforms_init (void); +__attribute__((visibility("hidden"))) void g_signal_init (void); +extern GTypeDebugFlags _g_type_debug_flags; +typedef gpointer (*GBoxedCopyFunc) (gpointer boxed); +typedef void (*GBoxedFreeFunc) (gpointer boxed); +gpointer g_boxed_copy (GType boxed_type, + gconstpointer src_boxed); +void g_boxed_free (GType boxed_type, + gpointer boxed); +void g_value_set_boxed (GValue *value, + gconstpointer v_boxed); +void g_value_set_static_boxed (GValue *value, + gconstpointer v_boxed); +gpointer g_value_get_boxed (const GValue *value); +gpointer g_value_dup_boxed (const GValue *value); +GType g_boxed_type_register_static (const gchar *name, + GBoxedCopyFunc boxed_copy, + GBoxedFreeFunc boxed_free); +void g_value_take_boxed (GValue *value, + gconstpointer v_boxed); +void g_value_set_boxed_take_ownership (GValue *value, + gconstpointer v_boxed); +GType g_closure_get_type (void) __attribute__((__const__)); +GType g_value_get_type (void) __attribute__((__const__)); +GType g_value_array_get_type (void) __attribute__((__const__)); +GType g_date_get_type (void) __attribute__((__const__)); +GType g_strv_get_type (void) __attribute__((__const__)); +GType g_gstring_get_type (void) __attribute__((__const__)); +GType g_hash_table_get_type (void) __attribute__((__const__)); +GType g_regex_get_type (void) __attribute__((__const__)); +typedef gchar** GStrv; +typedef struct _GEnumClass GEnumClass; +typedef struct _GFlagsClass GFlagsClass; +typedef struct _GEnumValue GEnumValue; +typedef struct _GFlagsValue GFlagsValue; +struct _GEnumClass +{ + GTypeClass g_type_class; + gint minimum; + gint maximum; + guint n_values; + GEnumValue *values; +}; +struct _GFlagsClass +{ + GTypeClass g_type_class; + guint mask; + guint n_values; + GFlagsValue *values; +}; +struct _GEnumValue +{ + gint value; + const gchar *value_name; + const gchar *value_nick; +}; +struct _GFlagsValue +{ + guint value; + const gchar *value_name; + const gchar *value_nick; +}; +GEnumValue* g_enum_get_value (GEnumClass *enum_class, + gint value); +GEnumValue* g_enum_get_value_by_name (GEnumClass *enum_class, + const gchar *name); +GEnumValue* g_enum_get_value_by_nick (GEnumClass *enum_class, + const gchar *nick); +GFlagsValue* g_flags_get_first_value (GFlagsClass *flags_class, + guint value); +GFlagsValue* g_flags_get_value_by_name (GFlagsClass *flags_class, + const gchar *name); +GFlagsValue* g_flags_get_value_by_nick (GFlagsClass *flags_class, + const gchar *nick); +void g_value_set_enum (GValue *value, + gint v_enum); +gint g_value_get_enum (const GValue *value); +void g_value_set_flags (GValue *value, + guint v_flags); +guint g_value_get_flags (const GValue *value); +GType g_enum_register_static (const gchar *name, + const GEnumValue *const_static_values); +GType g_flags_register_static (const gchar *name, + const GFlagsValue *const_static_values); +void g_enum_complete_type_info (GType g_enum_type, + GTypeInfo *info, + const GEnumValue *const_values); +void g_flags_complete_type_info (GType g_flags_type, + GTypeInfo *info, + const GFlagsValue *const_values); +typedef void (*GValueTransform) (const GValue *src_value, + GValue *dest_value); +struct _GValue +{ + GType g_type; + union { + gint v_int; + guint v_uint; + glong v_long; + gulong v_ulong; + gint64 v_int64; + guint64 v_uint64; + gfloat v_float; + gdouble v_double; + gpointer v_pointer; + } data[2]; +}; +GValue* g_value_init (GValue *value, + GType g_type); +void g_value_copy (const GValue *src_value, + GValue *dest_value); +GValue* g_value_reset (GValue *value); +void g_value_unset (GValue *value); +void g_value_set_instance (GValue *value, + gpointer instance); +gboolean g_value_fits_pointer (const GValue *value); +gpointer g_value_peek_pointer (const GValue *value); +gboolean g_value_type_compatible (GType src_type, + GType dest_type); +gboolean g_value_type_transformable (GType src_type, + GType dest_type); +gboolean g_value_transform (const GValue *src_value, + GValue *dest_value); +void g_value_register_transform_func (GType src_type, + GType dest_type, + GValueTransform transform_func); +typedef enum +{ + G_PARAM_READABLE = 1 << 0, + G_PARAM_WRITABLE = 1 << 1, + G_PARAM_CONSTRUCT = 1 << 2, + G_PARAM_CONSTRUCT_ONLY = 1 << 3, + G_PARAM_LAX_VALIDATION = 1 << 4, + G_PARAM_STATIC_NAME = 1 << 5, + G_PARAM_PRIVATE = G_PARAM_STATIC_NAME, + G_PARAM_STATIC_NICK = 1 << 6, + G_PARAM_STATIC_BLURB = 1 << 7 +} GParamFlags; +typedef struct _GParamSpec GParamSpec; +typedef struct _GParamSpecClass GParamSpecClass; +typedef struct _GParameter GParameter; +typedef struct _GParamSpecPool GParamSpecPool; +struct _GParamSpec +{ + GTypeInstance g_type_instance; + gchar *name; + GParamFlags flags; + GType value_type; + GType owner_type; + gchar *_nick; + gchar *_blurb; + GData *qdata; + guint ref_count; + guint param_id; +}; +struct _GParamSpecClass +{ + GTypeClass g_type_class; + GType value_type; + void (*finalize) (GParamSpec *pspec); + void (*value_set_default) (GParamSpec *pspec, + GValue *value); + gboolean (*value_validate) (GParamSpec *pspec, + GValue *value); + gint (*values_cmp) (GParamSpec *pspec, + const GValue *value1, + const GValue *value2); + gpointer dummy[4]; +}; +struct _GParameter +{ + const gchar *name; + GValue value; +}; +GParamSpec* g_param_spec_ref (GParamSpec *pspec); +void g_param_spec_unref (GParamSpec *pspec); +void g_param_spec_sink (GParamSpec *pspec); +GParamSpec* g_param_spec_ref_sink (GParamSpec *pspec); +gpointer g_param_spec_get_qdata (GParamSpec *pspec, + GQuark quark); +void g_param_spec_set_qdata (GParamSpec *pspec, + GQuark quark, + gpointer data); +void g_param_spec_set_qdata_full (GParamSpec *pspec, + GQuark quark, + gpointer data, + GDestroyNotify destroy); +gpointer g_param_spec_steal_qdata (GParamSpec *pspec, + GQuark quark); +GParamSpec* g_param_spec_get_redirect_target (GParamSpec *pspec); +void g_param_value_set_default (GParamSpec *pspec, + GValue *value); +gboolean g_param_value_defaults (GParamSpec *pspec, + GValue *value); +gboolean g_param_value_validate (GParamSpec *pspec, + GValue *value); +gboolean g_param_value_convert (GParamSpec *pspec, + const GValue *src_value, + GValue *dest_value, + gboolean strict_validation); +gint g_param_values_cmp (GParamSpec *pspec, + const GValue *value1, + const GValue *value2); +const gchar* g_param_spec_get_name (GParamSpec *pspec); +const gchar* g_param_spec_get_nick (GParamSpec *pspec); +const gchar* g_param_spec_get_blurb (GParamSpec *pspec); +void g_value_set_param (GValue *value, + GParamSpec *param); +GParamSpec* g_value_get_param (const GValue *value); +GParamSpec* g_value_dup_param (const GValue *value); +void g_value_take_param (GValue *value, + GParamSpec *param); +void g_value_set_param_take_ownership (GValue *value, + GParamSpec *param); +typedef struct _GParamSpecTypeInfo GParamSpecTypeInfo; +struct _GParamSpecTypeInfo +{ + guint16 instance_size; + guint16 n_preallocs; + void (*instance_init) (GParamSpec *pspec); + GType value_type; + void (*finalize) (GParamSpec *pspec); + void (*value_set_default) (GParamSpec *pspec, + GValue *value); + gboolean (*value_validate) (GParamSpec *pspec, + GValue *value); + gint (*values_cmp) (GParamSpec *pspec, + const GValue *value1, + const GValue *value2); +}; +GType g_param_type_register_static (const gchar *name, + const GParamSpecTypeInfo *pspec_info); +GType _g_param_type_register_static_constant (const gchar *name, + const GParamSpecTypeInfo *pspec_info, + GType opt_type); +gpointer g_param_spec_internal (GType param_type, + const gchar *name, + const gchar *nick, + const gchar *blurb, + GParamFlags flags); +GParamSpecPool* g_param_spec_pool_new (gboolean type_prefixing); +void g_param_spec_pool_insert (GParamSpecPool *pool, + GParamSpec *pspec, + GType owner_type); +void g_param_spec_pool_remove (GParamSpecPool *pool, + GParamSpec *pspec); +GParamSpec* g_param_spec_pool_lookup (GParamSpecPool *pool, + const gchar *param_name, + GType owner_type, + gboolean walk_ancestors); +GList* g_param_spec_pool_list_owned (GParamSpecPool *pool, + GType owner_type); +GParamSpec** g_param_spec_pool_list (GParamSpecPool *pool, + GType owner_type, + guint *n_pspecs_p); +typedef struct _GClosure GClosure; +typedef struct _GClosureNotifyData GClosureNotifyData; +typedef void (*GCallback) (void); +typedef void (*GClosureNotify) (gpointer data, + GClosure *closure); +typedef void (*GClosureMarshal) (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +typedef struct _GCClosure GCClosure; +struct _GClosureNotifyData +{ + gpointer data; + GClosureNotify notify; +}; +struct _GClosure +{ + volatile guint ref_count : 15; + volatile guint meta_marshal : 1; + volatile guint n_guards : 1; + volatile guint n_fnotifiers : 2; + volatile guint n_inotifiers : 8; + volatile guint in_inotify : 1; + volatile guint floating : 1; + volatile guint derivative_flag : 1; + volatile guint in_marshal : 1; + volatile guint is_invalid : 1; + void (*marshal) (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); + gpointer data; + GClosureNotifyData *notifiers; +}; +struct _GCClosure +{ + GClosure closure; + gpointer callback; +}; +GClosure* g_cclosure_new (GCallback callback_func, + gpointer user_data, + GClosureNotify destroy_data); +GClosure* g_cclosure_new_swap (GCallback callback_func, + gpointer user_data, + GClosureNotify destroy_data); +GClosure* g_signal_type_cclosure_new (GType itype, + guint struct_offset); +GClosure* g_closure_ref (GClosure *closure); +void g_closure_sink (GClosure *closure); +void g_closure_unref (GClosure *closure); +GClosure* g_closure_new_simple (guint sizeof_closure, + gpointer data); +void g_closure_add_finalize_notifier (GClosure *closure, + gpointer notify_data, + GClosureNotify notify_func); +void g_closure_remove_finalize_notifier (GClosure *closure, + gpointer notify_data, + GClosureNotify notify_func); +void g_closure_add_invalidate_notifier (GClosure *closure, + gpointer notify_data, + GClosureNotify notify_func); +void g_closure_remove_invalidate_notifier (GClosure *closure, + gpointer notify_data, + GClosureNotify notify_func); +void g_closure_add_marshal_guards (GClosure *closure, + gpointer pre_marshal_data, + GClosureNotify pre_marshal_notify, + gpointer post_marshal_data, + GClosureNotify post_marshal_notify); +void g_closure_set_marshal (GClosure *closure, + GClosureMarshal marshal); +void g_closure_set_meta_marshal (GClosure *closure, + gpointer marshal_data, + GClosureMarshal meta_marshal); +void g_closure_invalidate (GClosure *closure); +void g_closure_invoke (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint); +extern void g_cclosure_marshal_VOID__VOID (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +extern void g_cclosure_marshal_VOID__BOOLEAN (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +extern void g_cclosure_marshal_VOID__CHAR (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +extern void g_cclosure_marshal_VOID__UCHAR (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +extern void g_cclosure_marshal_VOID__INT (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +extern void g_cclosure_marshal_VOID__UINT (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +extern void g_cclosure_marshal_VOID__LONG (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +extern void g_cclosure_marshal_VOID__ULONG (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +extern void g_cclosure_marshal_VOID__ENUM (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +extern void g_cclosure_marshal_VOID__FLAGS (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +extern void g_cclosure_marshal_VOID__FLOAT (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +extern void g_cclosure_marshal_VOID__DOUBLE (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +extern void g_cclosure_marshal_VOID__STRING (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +extern void g_cclosure_marshal_VOID__PARAM (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +extern void g_cclosure_marshal_VOID__BOXED (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +extern void g_cclosure_marshal_VOID__POINTER (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +extern void g_cclosure_marshal_VOID__OBJECT (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +extern void g_cclosure_marshal_VOID__UINT_POINTER (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +extern void g_cclosure_marshal_BOOLEAN__FLAGS (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +extern void g_cclosure_marshal_STRING__OBJECT_POINTER (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +typedef struct _GSignalQuery GSignalQuery; +typedef struct _GSignalInvocationHint GSignalInvocationHint; +typedef GClosureMarshal GSignalCMarshaller; +typedef gboolean (*GSignalEmissionHook) (GSignalInvocationHint *ihint, + guint n_param_values, + const GValue *param_values, + gpointer data); +typedef gboolean (*GSignalAccumulator) (GSignalInvocationHint *ihint, + GValue *return_accu, + const GValue *handler_return, + gpointer data); +typedef enum +{ + G_SIGNAL_RUN_FIRST = 1 << 0, + G_SIGNAL_RUN_LAST = 1 << 1, + G_SIGNAL_RUN_CLEANUP = 1 << 2, + G_SIGNAL_NO_RECURSE = 1 << 3, + G_SIGNAL_DETAILED = 1 << 4, + G_SIGNAL_ACTION = 1 << 5, + G_SIGNAL_NO_HOOKS = 1 << 6 +} GSignalFlags; +typedef enum +{ + G_CONNECT_AFTER = 1 << 0, + G_CONNECT_SWAPPED = 1 << 1 +} GConnectFlags; +typedef enum +{ + G_SIGNAL_MATCH_ID = 1 << 0, + G_SIGNAL_MATCH_DETAIL = 1 << 1, + G_SIGNAL_MATCH_CLOSURE = 1 << 2, + G_SIGNAL_MATCH_FUNC = 1 << 3, + G_SIGNAL_MATCH_DATA = 1 << 4, + G_SIGNAL_MATCH_UNBLOCKED = 1 << 5 +} GSignalMatchType; +struct _GSignalInvocationHint +{ + guint signal_id; + GQuark detail; + GSignalFlags run_type; +}; +struct _GSignalQuery +{ + guint signal_id; + const gchar *signal_name; + GType itype; + GSignalFlags signal_flags; + GType return_type; + guint n_params; + const GType *param_types; +}; +guint g_signal_newv (const gchar *signal_name, + GType itype, + GSignalFlags signal_flags, + GClosure *class_closure, + GSignalAccumulator accumulator, + gpointer accu_data, + GSignalCMarshaller c_marshaller, + GType return_type, + guint n_params, + GType *param_types); +guint g_signal_new_valist (const gchar *signal_name, + GType itype, + GSignalFlags signal_flags, + GClosure *class_closure, + GSignalAccumulator accumulator, + gpointer accu_data, + GSignalCMarshaller c_marshaller, + GType return_type, + guint n_params, + va_list args); +guint g_signal_new (const gchar *signal_name, + GType itype, + GSignalFlags signal_flags, + guint class_offset, + GSignalAccumulator accumulator, + gpointer accu_data, + GSignalCMarshaller c_marshaller, + GType return_type, + guint n_params, + ...); +guint g_signal_new_class_handler (const gchar *signal_name, + GType itype, + GSignalFlags signal_flags, + GCallback class_handler, + GSignalAccumulator accumulator, + gpointer accu_data, + GSignalCMarshaller c_marshaller, + GType return_type, + guint n_params, + ...); +void g_signal_emitv (const GValue *instance_and_params, + guint signal_id, + GQuark detail, + GValue *return_value); +void g_signal_emit_valist (gpointer instance, + guint signal_id, + GQuark detail, + va_list var_args); +void g_signal_emit (gpointer instance, + guint signal_id, + GQuark detail, + ...); +void g_signal_emit_by_name (gpointer instance, + const gchar *detailed_signal, + ...); +guint g_signal_lookup (const gchar *name, + GType itype); +const gchar* g_signal_name (guint signal_id); +void g_signal_query (guint signal_id, + GSignalQuery *query); +guint* g_signal_list_ids (GType itype, + guint *n_ids); +gboolean g_signal_parse_name (const gchar *detailed_signal, + GType itype, + guint *signal_id_p, + GQuark *detail_p, + gboolean force_detail_quark); +GSignalInvocationHint* g_signal_get_invocation_hint (gpointer instance); +void g_signal_stop_emission (gpointer instance, + guint signal_id, + GQuark detail); +void g_signal_stop_emission_by_name (gpointer instance, + const gchar *detailed_signal); +gulong g_signal_add_emission_hook (guint signal_id, + GQuark detail, + GSignalEmissionHook hook_func, + gpointer hook_data, + GDestroyNotify data_destroy); +void g_signal_remove_emission_hook (guint signal_id, + gulong hook_id); +gboolean g_signal_has_handler_pending (gpointer instance, + guint signal_id, + GQuark detail, + gboolean may_be_blocked); +gulong g_signal_connect_closure_by_id (gpointer instance, + guint signal_id, + GQuark detail, + GClosure *closure, + gboolean after); +gulong g_signal_connect_closure (gpointer instance, + const gchar *detailed_signal, + GClosure *closure, + gboolean after); +gulong g_signal_connect_data (gpointer instance, + const gchar *detailed_signal, + GCallback c_handler, + gpointer data, + GClosureNotify destroy_data, + GConnectFlags connect_flags); +void g_signal_handler_block (gpointer instance, + gulong handler_id); +void g_signal_handler_unblock (gpointer instance, + gulong handler_id); +void g_signal_handler_disconnect (gpointer instance, + gulong handler_id); +gboolean g_signal_handler_is_connected (gpointer instance, + gulong handler_id); +gulong g_signal_handler_find (gpointer instance, + GSignalMatchType mask, + guint signal_id, + GQuark detail, + GClosure *closure, + gpointer func, + gpointer data); +guint g_signal_handlers_block_matched (gpointer instance, + GSignalMatchType mask, + guint signal_id, + GQuark detail, + GClosure *closure, + gpointer func, + gpointer data); +guint g_signal_handlers_unblock_matched (gpointer instance, + GSignalMatchType mask, + guint signal_id, + GQuark detail, + GClosure *closure, + gpointer func, + gpointer data); +guint g_signal_handlers_disconnect_matched (gpointer instance, + GSignalMatchType mask, + guint signal_id, + GQuark detail, + GClosure *closure, + gpointer func, + gpointer data); +void g_signal_override_class_closure (guint signal_id, + GType instance_type, + GClosure *class_closure); +void g_signal_override_class_handler (const gchar *signal_name, + GType instance_type, + GCallback class_handler); +void g_signal_chain_from_overridden (const GValue *instance_and_params, + GValue *return_value); +void g_signal_chain_from_overridden_handler (gpointer instance, + ...); +gboolean g_signal_accumulator_true_handled (GSignalInvocationHint *ihint, + GValue *return_accu, + const GValue *handler_return, + gpointer dummy); +void g_signal_handlers_destroy (gpointer instance); +void _g_signals_destroy (GType itype); +typedef struct _GObject GObject; +typedef struct _GObjectClass GObjectClass; +typedef struct _GObject GInitiallyUnowned; +typedef struct _GObjectClass GInitiallyUnownedClass; +typedef struct _GObjectConstructParam GObjectConstructParam; +typedef void (*GObjectGetPropertyFunc) (GObject *object, + guint property_id, + GValue *value, + GParamSpec *pspec); +typedef void (*GObjectSetPropertyFunc) (GObject *object, + guint property_id, + const GValue *value, + GParamSpec *pspec); +typedef void (*GObjectFinalizeFunc) (GObject *object); +typedef void (*GWeakNotify) (gpointer data, + GObject *where_the_object_was); +struct _GObject +{ + GTypeInstance g_type_instance; + volatile guint ref_count; + GData *qdata; +}; +struct _GObjectClass +{ + GTypeClass g_type_class; + GSList *construct_properties; + GObject* (*constructor) (GType type, + guint n_construct_properties, + GObjectConstructParam *construct_properties); + void (*set_property) (GObject *object, + guint property_id, + const GValue *value, + GParamSpec *pspec); + void (*get_property) (GObject *object, + guint property_id, + GValue *value, + GParamSpec *pspec); + void (*dispose) (GObject *object); + void (*finalize) (GObject *object); + void (*dispatch_properties_changed) (GObject *object, + guint n_pspecs, + GParamSpec **pspecs); + void (*notify) (GObject *object, + GParamSpec *pspec); + void (*constructed) (GObject *object); + gpointer pdummy[7]; +}; +struct _GObjectConstructParam +{ + GParamSpec *pspec; + GValue *value; +}; +GType g_initially_unowned_get_type (void); +void g_object_class_install_property (GObjectClass *oclass, + guint property_id, + GParamSpec *pspec); +GParamSpec* g_object_class_find_property (GObjectClass *oclass, + const gchar *property_name); +GParamSpec**g_object_class_list_properties (GObjectClass *oclass, + guint *n_properties); +void g_object_class_override_property (GObjectClass *oclass, + guint property_id, + const gchar *name); +void g_object_interface_install_property (gpointer g_iface, + GParamSpec *pspec); +GParamSpec* g_object_interface_find_property (gpointer g_iface, + const gchar *property_name); +GParamSpec**g_object_interface_list_properties (gpointer g_iface, + guint *n_properties_p); +GType g_object_get_type (void) __attribute__((__const__)); +gpointer g_object_new (GType object_type, + const gchar *first_property_name, + ...); +gpointer g_object_newv (GType object_type, + guint n_parameters, + GParameter *parameters); +GObject* g_object_new_valist (GType object_type, + const gchar *first_property_name, + va_list var_args); +void g_object_set (gpointer object, + const gchar *first_property_name, + ...) __attribute__((__sentinel__)); +void g_object_get (gpointer object, + const gchar *first_property_name, + ...) __attribute__((__sentinel__)); +gpointer g_object_connect (gpointer object, + const gchar *signal_spec, + ...) __attribute__((__sentinel__)); +void g_object_disconnect (gpointer object, + const gchar *signal_spec, + ...) __attribute__((__sentinel__)); +void g_object_set_valist (GObject *object, + const gchar *first_property_name, + va_list var_args); +void g_object_get_valist (GObject *object, + const gchar *first_property_name, + va_list var_args); +void g_object_set_property (GObject *object, + const gchar *property_name, + const GValue *value); +void g_object_get_property (GObject *object, + const gchar *property_name, + GValue *value); +void g_object_freeze_notify (GObject *object); +void g_object_notify (GObject *object, + const gchar *property_name); +void g_object_thaw_notify (GObject *object); +gboolean g_object_is_floating (gpointer object); +gpointer g_object_ref_sink (gpointer object); +gpointer g_object_ref (gpointer object); +void g_object_unref (gpointer object); +void g_object_weak_ref (GObject *object, + GWeakNotify notify, + gpointer data); +void g_object_weak_unref (GObject *object, + GWeakNotify notify, + gpointer data); +void g_object_add_weak_pointer (GObject *object, + gpointer *weak_pointer_location); +void g_object_remove_weak_pointer (GObject *object, + gpointer *weak_pointer_location); +typedef void (*GToggleNotify) (gpointer data, + GObject *object, + gboolean is_last_ref); +void g_object_add_toggle_ref (GObject *object, + GToggleNotify notify, + gpointer data); +void g_object_remove_toggle_ref (GObject *object, + GToggleNotify notify, + gpointer data); +gpointer g_object_get_qdata (GObject *object, + GQuark quark); +void g_object_set_qdata (GObject *object, + GQuark quark, + gpointer data); +void g_object_set_qdata_full (GObject *object, + GQuark quark, + gpointer data, + GDestroyNotify destroy); +gpointer g_object_steal_qdata (GObject *object, + GQuark quark); +gpointer g_object_get_data (GObject *object, + const gchar *key); +void g_object_set_data (GObject *object, + const gchar *key, + gpointer data); +void g_object_set_data_full (GObject *object, + const gchar *key, + gpointer data, + GDestroyNotify destroy); +gpointer g_object_steal_data (GObject *object, + const gchar *key); +void g_object_watch_closure (GObject *object, + GClosure *closure); +GClosure* g_cclosure_new_object (GCallback callback_func, + GObject *object); +GClosure* g_cclosure_new_object_swap (GCallback callback_func, + GObject *object); +GClosure* g_closure_new_object (guint sizeof_closure, + GObject *object); +void g_value_set_object (GValue *value, + gpointer v_object); +gpointer g_value_get_object (const GValue *value); +gpointer g_value_dup_object (const GValue *value); +gulong g_signal_connect_object (gpointer instance, + const gchar *detailed_signal, + GCallback c_handler, + gpointer gobject, + GConnectFlags connect_flags); +void g_object_force_floating (GObject *object); +void g_object_run_dispose (GObject *object); +void g_value_take_object (GValue *value, + gpointer v_object); +void g_value_set_object_take_ownership (GValue *value, + gpointer v_object); +gsize g_object_compat_control (gsize what, + gpointer data); +typedef struct _GParamSpecChar GParamSpecChar; +typedef struct _GParamSpecUChar GParamSpecUChar; +typedef struct _GParamSpecBoolean GParamSpecBoolean; +typedef struct _GParamSpecInt GParamSpecInt; +typedef struct _GParamSpecUInt GParamSpecUInt; +typedef struct _GParamSpecLong GParamSpecLong; +typedef struct _GParamSpecULong GParamSpecULong; +typedef struct _GParamSpecInt64 GParamSpecInt64; +typedef struct _GParamSpecUInt64 GParamSpecUInt64; +typedef struct _GParamSpecUnichar GParamSpecUnichar; +typedef struct _GParamSpecEnum GParamSpecEnum; +typedef struct _GParamSpecFlags GParamSpecFlags; +typedef struct _GParamSpecFloat GParamSpecFloat; +typedef struct _GParamSpecDouble GParamSpecDouble; +typedef struct _GParamSpecString GParamSpecString; +typedef struct _GParamSpecParam GParamSpecParam; +typedef struct _GParamSpecBoxed GParamSpecBoxed; +typedef struct _GParamSpecPointer GParamSpecPointer; +typedef struct _GParamSpecValueArray GParamSpecValueArray; +typedef struct _GParamSpecObject GParamSpecObject; +typedef struct _GParamSpecOverride GParamSpecOverride; +typedef struct _GParamSpecGType GParamSpecGType; +struct _GParamSpecChar +{ + GParamSpec parent_instance; + gint8 minimum; + gint8 maximum; + gint8 default_value; +}; +struct _GParamSpecUChar +{ + GParamSpec parent_instance; + guint8 minimum; + guint8 maximum; + guint8 default_value; +}; +struct _GParamSpecBoolean +{ + GParamSpec parent_instance; + gboolean default_value; +}; +struct _GParamSpecInt +{ + GParamSpec parent_instance; + gint minimum; + gint maximum; + gint default_value; +}; +struct _GParamSpecUInt +{ + GParamSpec parent_instance; + guint minimum; + guint maximum; + guint default_value; +}; +struct _GParamSpecLong +{ + GParamSpec parent_instance; + glong minimum; + glong maximum; + glong default_value; +}; +struct _GParamSpecULong +{ + GParamSpec parent_instance; + gulong minimum; + gulong maximum; + gulong default_value; +}; +struct _GParamSpecInt64 +{ + GParamSpec parent_instance; + gint64 minimum; + gint64 maximum; + gint64 default_value; +}; +struct _GParamSpecUInt64 +{ + GParamSpec parent_instance; + guint64 minimum; + guint64 maximum; + guint64 default_value; +}; +struct _GParamSpecUnichar +{ + GParamSpec parent_instance; + gunichar default_value; +}; +struct _GParamSpecEnum +{ + GParamSpec parent_instance; + GEnumClass *enum_class; + gint default_value; +}; +struct _GParamSpecFlags +{ + GParamSpec parent_instance; + GFlagsClass *flags_class; + guint default_value; +}; +struct _GParamSpecFloat +{ + GParamSpec parent_instance; + gfloat minimum; + gfloat maximum; + gfloat default_value; + gfloat epsilon; +}; +struct _GParamSpecDouble +{ + GParamSpec parent_instance; + gdouble minimum; + gdouble maximum; + gdouble default_value; + gdouble epsilon; +}; +struct _GParamSpecString +{ + GParamSpec parent_instance; + gchar *default_value; + gchar *cset_first; + gchar *cset_nth; + gchar substitutor; + guint null_fold_if_empty : 1; + guint ensure_non_null : 1; +}; +struct _GParamSpecParam +{ + GParamSpec parent_instance; +}; +struct _GParamSpecBoxed +{ + GParamSpec parent_instance; +}; +struct _GParamSpecPointer +{ + GParamSpec parent_instance; +}; +struct _GParamSpecValueArray +{ + GParamSpec parent_instance; + GParamSpec *element_spec; + guint fixed_n_elements; +}; +struct _GParamSpecObject +{ + GParamSpec parent_instance; +}; +struct _GParamSpecOverride +{ + GParamSpec parent_instance; + GParamSpec *overridden; +}; +struct _GParamSpecGType +{ + GParamSpec parent_instance; + GType is_a_type; +}; +GParamSpec* g_param_spec_char (const gchar *name, + const gchar *nick, + const gchar *blurb, + gint8 minimum, + gint8 maximum, + gint8 default_value, + GParamFlags flags); +GParamSpec* g_param_spec_uchar (const gchar *name, + const gchar *nick, + const gchar *blurb, + guint8 minimum, + guint8 maximum, + guint8 default_value, + GParamFlags flags); +GParamSpec* g_param_spec_boolean (const gchar *name, + const gchar *nick, + const gchar *blurb, + gboolean default_value, + GParamFlags flags); +GParamSpec* g_param_spec_int (const gchar *name, + const gchar *nick, + const gchar *blurb, + gint minimum, + gint maximum, + gint default_value, + GParamFlags flags); +GParamSpec* g_param_spec_uint (const gchar *name, + const gchar *nick, + const gchar *blurb, + guint minimum, + guint maximum, + guint default_value, + GParamFlags flags); +GParamSpec* g_param_spec_long (const gchar *name, + const gchar *nick, + const gchar *blurb, + glong minimum, + glong maximum, + glong default_value, + GParamFlags flags); +GParamSpec* g_param_spec_ulong (const gchar *name, + const gchar *nick, + const gchar *blurb, + gulong minimum, + gulong maximum, + gulong default_value, + GParamFlags flags); +GParamSpec* g_param_spec_int64 (const gchar *name, + const gchar *nick, + const gchar *blurb, + gint64 minimum, + gint64 maximum, + gint64 default_value, + GParamFlags flags); +GParamSpec* g_param_spec_uint64 (const gchar *name, + const gchar *nick, + const gchar *blurb, + guint64 minimum, + guint64 maximum, + guint64 default_value, + GParamFlags flags); +GParamSpec* g_param_spec_unichar (const gchar *name, + const gchar *nick, + const gchar *blurb, + gunichar default_value, + GParamFlags flags); +GParamSpec* g_param_spec_enum (const gchar *name, + const gchar *nick, + const gchar *blurb, + GType enum_type, + gint default_value, + GParamFlags flags); +GParamSpec* g_param_spec_flags (const gchar *name, + const gchar *nick, + const gchar *blurb, + GType flags_type, + guint default_value, + GParamFlags flags); +GParamSpec* g_param_spec_float (const gchar *name, + const gchar *nick, + const gchar *blurb, + gfloat minimum, + gfloat maximum, + gfloat default_value, + GParamFlags flags); +GParamSpec* g_param_spec_double (const gchar *name, + const gchar *nick, + const gchar *blurb, + gdouble minimum, + gdouble maximum, + gdouble default_value, + GParamFlags flags); +GParamSpec* g_param_spec_string (const gchar *name, + const gchar *nick, + const gchar *blurb, + const gchar *default_value, + GParamFlags flags); +GParamSpec* g_param_spec_param (const gchar *name, + const gchar *nick, + const gchar *blurb, + GType param_type, + GParamFlags flags); +GParamSpec* g_param_spec_boxed (const gchar *name, + const gchar *nick, + const gchar *blurb, + GType boxed_type, + GParamFlags flags); +GParamSpec* g_param_spec_pointer (const gchar *name, + const gchar *nick, + const gchar *blurb, + GParamFlags flags); +GParamSpec* g_param_spec_value_array (const gchar *name, + const gchar *nick, + const gchar *blurb, + GParamSpec *element_spec, + GParamFlags flags); +GParamSpec* g_param_spec_object (const gchar *name, + const gchar *nick, + const gchar *blurb, + GType object_type, + GParamFlags flags); +GParamSpec* g_param_spec_override (const gchar *name, + GParamSpec *overridden); +GParamSpec* g_param_spec_gtype (const gchar *name, + const gchar *nick, + const gchar *blurb, + GType is_a_type, + GParamFlags flags); +extern GType *g_param_spec_types; +void g_source_set_closure (GSource *source, + GClosure *closure); +GType g_io_channel_get_type (void); +GType g_io_condition_get_type (void); +typedef struct _GTypeModule GTypeModule; +typedef struct _GTypeModuleClass GTypeModuleClass; +struct _GTypeModule +{ + GObject parent_instance; + guint use_count; + GSList *type_infos; + GSList *interface_infos; + gchar *name; +}; +struct _GTypeModuleClass +{ + GObjectClass parent_class; + gboolean (* load) (GTypeModule *module); + void (* unload) (GTypeModule *module); + void (*reserved1) (void); + void (*reserved2) (void); + void (*reserved3) (void); + void (*reserved4) (void); +}; +GType g_type_module_get_type (void) __attribute__((__const__)); +gboolean g_type_module_use (GTypeModule *module); +void g_type_module_unuse (GTypeModule *module); +void g_type_module_set_name (GTypeModule *module, + const gchar *name); +GType g_type_module_register_type (GTypeModule *module, + GType parent_type, + const gchar *type_name, + const GTypeInfo *type_info, + GTypeFlags flags); +void g_type_module_add_interface (GTypeModule *module, + GType instance_type, + GType interface_type, + const GInterfaceInfo *interface_info); +GType g_type_module_register_enum (GTypeModule *module, + const gchar *name, + const GEnumValue *const_static_values); +GType g_type_module_register_flags (GTypeModule *module, + const gchar *name, + const GFlagsValue *const_static_values); +typedef struct _GTypePluginClass GTypePluginClass; +typedef void (*GTypePluginUse) (GTypePlugin *plugin); +typedef void (*GTypePluginUnuse) (GTypePlugin *plugin); +typedef void (*GTypePluginCompleteTypeInfo) (GTypePlugin *plugin, + GType g_type, + GTypeInfo *info, + GTypeValueTable *value_table); +typedef void (*GTypePluginCompleteInterfaceInfo) (GTypePlugin *plugin, + GType instance_type, + GType interface_type, + GInterfaceInfo *info); +struct _GTypePluginClass +{ + GTypeInterface base_iface; + GTypePluginUse use_plugin; + GTypePluginUnuse unuse_plugin; + GTypePluginCompleteTypeInfo complete_type_info; + GTypePluginCompleteInterfaceInfo complete_interface_info; +}; +GType g_type_plugin_get_type (void) __attribute__((__const__)); +void g_type_plugin_use (GTypePlugin *plugin); +void g_type_plugin_unuse (GTypePlugin *plugin); +void g_type_plugin_complete_type_info (GTypePlugin *plugin, + GType g_type, + GTypeInfo *info, + GTypeValueTable *value_table); +void g_type_plugin_complete_interface_info (GTypePlugin *plugin, + GType instance_type, + GType interface_type, + GInterfaceInfo *info); +typedef struct _GValueArray GValueArray; +struct _GValueArray +{ + guint n_values; + GValue *values; + guint n_prealloced; +}; +GValue* g_value_array_get_nth (GValueArray *value_array, + guint index_); +GValueArray* g_value_array_new (guint n_prealloced); +void g_value_array_free (GValueArray *value_array); +GValueArray* g_value_array_copy (const GValueArray *value_array); +GValueArray* g_value_array_prepend (GValueArray *value_array, + const GValue *value); +GValueArray* g_value_array_append (GValueArray *value_array, + const GValue *value); +GValueArray* g_value_array_insert (GValueArray *value_array, + guint index_, + const GValue *value); +GValueArray* g_value_array_remove (GValueArray *value_array, + guint index_); +GValueArray* g_value_array_sort (GValueArray *value_array, + GCompareFunc compare_func); +GValueArray* g_value_array_sort_with_data (GValueArray *value_array, + GCompareDataFunc compare_func, + gpointer user_data); +void g_value_set_char (GValue *value, + gchar v_char); +gchar g_value_get_char (const GValue *value); +void g_value_set_uchar (GValue *value, + guchar v_uchar); +guchar g_value_get_uchar (const GValue *value); +void g_value_set_boolean (GValue *value, + gboolean v_boolean); +gboolean g_value_get_boolean (const GValue *value); +void g_value_set_int (GValue *value, + gint v_int); +gint g_value_get_int (const GValue *value); +void g_value_set_uint (GValue *value, + guint v_uint); +guint g_value_get_uint (const GValue *value); +void g_value_set_long (GValue *value, + glong v_long); +glong g_value_get_long (const GValue *value); +void g_value_set_ulong (GValue *value, + gulong v_ulong); +gulong g_value_get_ulong (const GValue *value); +void g_value_set_int64 (GValue *value, + gint64 v_int64); +gint64 g_value_get_int64 (const GValue *value); +void g_value_set_uint64 (GValue *value, + guint64 v_uint64); +guint64 g_value_get_uint64 (const GValue *value); +void g_value_set_float (GValue *value, + gfloat v_float); +gfloat g_value_get_float (const GValue *value); +void g_value_set_double (GValue *value, + gdouble v_double); +gdouble g_value_get_double (const GValue *value); +void g_value_set_string (GValue *value, + const gchar *v_string); +void g_value_set_static_string (GValue *value, + const gchar *v_string); +const gchar* g_value_get_string (const GValue *value); +gchar* g_value_dup_string (const GValue *value); +void g_value_set_pointer (GValue *value, + gpointer v_pointer); +gpointer g_value_get_pointer (const GValue *value); +GType g_gtype_get_type (void); +void g_value_set_gtype (GValue *value, + GType v_gtype); +GType g_value_get_gtype (const GValue *value); +GType g_pointer_type_register_static (const gchar *name); +gchar* g_strdup_value_contents (const GValue *value); +void g_value_take_string (GValue *value, + gchar *v_string); +void g_value_set_string_take_ownership (GValue *value, + gchar *v_string); +typedef gchar* gchararray; +GType gst_object_flags_get_type (void); +GType gst_bin_flags_get_type (void); +GType gst_buffer_flag_get_type (void); +GType gst_buffer_copy_flags_get_type (void); +GType gst_buffer_list_item_get_type (void); +GType gst_bus_flags_get_type (void); +GType gst_bus_sync_reply_get_type (void); +GType gst_caps_flags_get_type (void); +GType gst_clock_return_get_type (void); +GType gst_clock_entry_type_get_type (void); +GType gst_clock_flags_get_type (void); +GType gst_debug_graph_details_get_type (void); +GType gst_state_get_type (void); +GType gst_state_change_return_get_type (void); +GType gst_state_change_get_type (void); +GType gst_element_flags_get_type (void); +GType gst_core_error_get_type (void); +GType gst_library_error_get_type (void); +GType gst_resource_error_get_type (void); +GType gst_stream_error_get_type (void); +GType gst_event_type_flags_get_type (void); +GType gst_event_type_get_type (void); +GType gst_seek_type_get_type (void); +GType gst_seek_flags_get_type (void); +GType gst_format_get_type (void); +GType gst_index_certainty_get_type (void); +GType gst_index_entry_type_get_type (void); +GType gst_index_lookup_method_get_type (void); +GType gst_assoc_flags_get_type (void); +GType gst_index_resolver_method_get_type (void); +GType gst_index_flags_get_type (void); +GType gst_debug_level_get_type (void); +GType gst_debug_color_flags_get_type (void); +GType gst_iterator_result_get_type (void); +GType gst_iterator_item_get_type (void); +GType gst_message_type_get_type (void); +GType gst_structure_change_type_get_type (void); +GType gst_stream_status_type_get_type (void); +GType gst_mini_object_flags_get_type (void); +GType gst_pad_link_return_get_type (void); +GType gst_flow_return_get_type (void); +GType gst_activate_mode_get_type (void); +GType gst_pad_direction_get_type (void); +GType gst_pad_flags_get_type (void); +GType gst_pad_presence_get_type (void); +GType gst_pad_template_flags_get_type (void); +GType gst_pipeline_flags_get_type (void); +GType gst_plugin_error_get_type (void); +GType gst_plugin_flags_get_type (void); +GType gst_plugin_dependency_flags_get_type (void); +GType gst_rank_get_type (void); +GType gst_query_type_get_type (void); +GType gst_buffering_mode_get_type (void); +GType gst_clock_type_get_type (void); +GType gst_tag_merge_mode_get_type (void); +GType gst_tag_flag_get_type (void); +GType gst_task_state_get_type (void); +GType gst_alloc_trace_flags_get_type (void); +GType gst_type_find_probability_get_type (void); +GType gst_uri_type_get_type (void); +GType gst_search_mode_get_type (void); +GType gst_parse_error_get_type (void); +GType gst_parse_flags_get_type (void); +typedef struct _GstElement GstElement; +typedef struct _GstElementClass GstElementClass; +typedef enum { + GST_STATE_VOID_PENDING = 0, + GST_STATE_NULL = 1, + GST_STATE_READY = 2, + GST_STATE_PAUSED = 3, + GST_STATE_PLAYING = 4 +} GstState; + void xmlCheckVersion(int version); +typedef unsigned char xmlChar; + xmlChar * + xmlStrdup (const xmlChar *cur); + xmlChar * + xmlStrndup (const xmlChar *cur, + int len); + xmlChar * + xmlCharStrndup (const char *cur, + int len); + xmlChar * + xmlCharStrdup (const char *cur); + xmlChar * + xmlStrsub (const xmlChar *str, + int start, + int len); + const xmlChar * + xmlStrchr (const xmlChar *str, + xmlChar val); + const xmlChar * + xmlStrstr (const xmlChar *str, + const xmlChar *val); + const xmlChar * + xmlStrcasestr (const xmlChar *str, + const xmlChar *val); + int + xmlStrcmp (const xmlChar *str1, + const xmlChar *str2); + int + xmlStrncmp (const xmlChar *str1, + const xmlChar *str2, + int len); + int + xmlStrcasecmp (const xmlChar *str1, + const xmlChar *str2); + int + xmlStrncasecmp (const xmlChar *str1, + const xmlChar *str2, + int len); + int + xmlStrEqual (const xmlChar *str1, + const xmlChar *str2); + int + xmlStrQEqual (const xmlChar *pref, + const xmlChar *name, + const xmlChar *str); + int + xmlStrlen (const xmlChar *str); + xmlChar * + xmlStrcat (xmlChar *cur, + const xmlChar *add); + xmlChar * + xmlStrncat (xmlChar *cur, + const xmlChar *add, + int len); + xmlChar * + xmlStrncatNew (const xmlChar *str1, + const xmlChar *str2, + int len); + int + xmlStrPrintf (xmlChar *buf, + int len, + const xmlChar *msg, + ...); + int + xmlStrVPrintf (xmlChar *buf, + int len, + const xmlChar *msg, + va_list ap); + int + xmlGetUTF8Char (const unsigned char *utf, + int *len); + int + xmlCheckUTF8 (const unsigned char *utf); + int + xmlUTF8Strsize (const xmlChar *utf, + int len); + xmlChar * + xmlUTF8Strndup (const xmlChar *utf, + int len); + const xmlChar * + xmlUTF8Strpos (const xmlChar *utf, + int pos); + int + xmlUTF8Strloc (const xmlChar *utf, + const xmlChar *utfchar); + xmlChar * + xmlUTF8Strsub (const xmlChar *utf, + int start, + int len); + int + xmlUTF8Strlen (const xmlChar *utf); + int + xmlUTF8Size (const xmlChar *utf); + int + xmlUTF8Charcmp (const xmlChar *utf1, + const xmlChar *utf2); +typedef struct _xmlParserInputBuffer xmlParserInputBuffer; +typedef xmlParserInputBuffer *xmlParserInputBufferPtr; +typedef struct _xmlOutputBuffer xmlOutputBuffer; +typedef xmlOutputBuffer *xmlOutputBufferPtr; +typedef struct _xmlParserInput xmlParserInput; +typedef xmlParserInput *xmlParserInputPtr; +typedef struct _xmlParserCtxt xmlParserCtxt; +typedef xmlParserCtxt *xmlParserCtxtPtr; +typedef struct _xmlSAXLocator xmlSAXLocator; +typedef xmlSAXLocator *xmlSAXLocatorPtr; +typedef struct _xmlSAXHandler xmlSAXHandler; +typedef xmlSAXHandler *xmlSAXHandlerPtr; +typedef struct _xmlEntity xmlEntity; +typedef xmlEntity *xmlEntityPtr; +typedef enum { + XML_BUFFER_ALLOC_DOUBLEIT, + XML_BUFFER_ALLOC_EXACT, + XML_BUFFER_ALLOC_IMMUTABLE, + XML_BUFFER_ALLOC_IO +} xmlBufferAllocationScheme; +typedef struct _xmlBuffer xmlBuffer; +typedef xmlBuffer *xmlBufferPtr; +struct _xmlBuffer { + xmlChar *content; + unsigned int use; + unsigned int size; + xmlBufferAllocationScheme alloc; + xmlChar *contentIO; +}; +typedef enum { + XML_ELEMENT_NODE= 1, + XML_ATTRIBUTE_NODE= 2, + XML_TEXT_NODE= 3, + XML_CDATA_SECTION_NODE= 4, + XML_ENTITY_REF_NODE= 5, + XML_ENTITY_NODE= 6, + XML_PI_NODE= 7, + XML_COMMENT_NODE= 8, + XML_DOCUMENT_NODE= 9, + XML_DOCUMENT_TYPE_NODE= 10, + XML_DOCUMENT_FRAG_NODE= 11, + XML_NOTATION_NODE= 12, + XML_HTML_DOCUMENT_NODE= 13, + XML_DTD_NODE= 14, + XML_ELEMENT_DECL= 15, + XML_ATTRIBUTE_DECL= 16, + XML_ENTITY_DECL= 17, + XML_NAMESPACE_DECL= 18, + XML_XINCLUDE_START= 19, + XML_XINCLUDE_END= 20 + ,XML_DOCB_DOCUMENT_NODE= 21 +} xmlElementType; +typedef struct _xmlNotation xmlNotation; +typedef xmlNotation *xmlNotationPtr; +struct _xmlNotation { + const xmlChar *name; + const xmlChar *PublicID; + const xmlChar *SystemID; +}; +typedef enum { + XML_ATTRIBUTE_CDATA = 1, + XML_ATTRIBUTE_ID, + XML_ATTRIBUTE_IDREF , + XML_ATTRIBUTE_IDREFS, + XML_ATTRIBUTE_ENTITY, + XML_ATTRIBUTE_ENTITIES, + XML_ATTRIBUTE_NMTOKEN, + XML_ATTRIBUTE_NMTOKENS, + XML_ATTRIBUTE_ENUMERATION, + XML_ATTRIBUTE_NOTATION +} xmlAttributeType; +typedef enum { + XML_ATTRIBUTE_NONE = 1, + XML_ATTRIBUTE_REQUIRED, + XML_ATTRIBUTE_IMPLIED, + XML_ATTRIBUTE_FIXED +} xmlAttributeDefault; +typedef struct _xmlEnumeration xmlEnumeration; +typedef xmlEnumeration *xmlEnumerationPtr; +struct _xmlEnumeration { + struct _xmlEnumeration *next; + const xmlChar *name; +}; +typedef struct _xmlAttribute xmlAttribute; +typedef xmlAttribute *xmlAttributePtr; +struct _xmlAttribute { + void *_private; + xmlElementType type; + const xmlChar *name; + struct _xmlNode *children; + struct _xmlNode *last; + struct _xmlDtd *parent; + struct _xmlNode *next; + struct _xmlNode *prev; + struct _xmlDoc *doc; + struct _xmlAttribute *nexth; + xmlAttributeType atype; + xmlAttributeDefault def; + const xmlChar *defaultValue; + xmlEnumerationPtr tree; + const xmlChar *prefix; + const xmlChar *elem; +}; +typedef enum { + XML_ELEMENT_CONTENT_PCDATA = 1, + XML_ELEMENT_CONTENT_ELEMENT, + XML_ELEMENT_CONTENT_SEQ, + XML_ELEMENT_CONTENT_OR +} xmlElementContentType; +typedef enum { + XML_ELEMENT_CONTENT_ONCE = 1, + XML_ELEMENT_CONTENT_OPT, + XML_ELEMENT_CONTENT_MULT, + XML_ELEMENT_CONTENT_PLUS +} xmlElementContentOccur; +typedef struct _xmlElementContent xmlElementContent; +typedef xmlElementContent *xmlElementContentPtr; +struct _xmlElementContent { + xmlElementContentType type; + xmlElementContentOccur ocur; + const xmlChar *name; + struct _xmlElementContent *c1; + struct _xmlElementContent *c2; + struct _xmlElementContent *parent; + const xmlChar *prefix; +}; +typedef enum { + XML_ELEMENT_TYPE_UNDEFINED = 0, + XML_ELEMENT_TYPE_EMPTY = 1, + XML_ELEMENT_TYPE_ANY, + XML_ELEMENT_TYPE_MIXED, + XML_ELEMENT_TYPE_ELEMENT +} xmlElementTypeVal; +typedef struct _xmlRegexp xmlRegexp; +typedef xmlRegexp *xmlRegexpPtr; +typedef struct _xmlRegExecCtxt xmlRegExecCtxt; +typedef xmlRegExecCtxt *xmlRegExecCtxtPtr; +typedef struct _xmlDict xmlDict; +typedef xmlDict *xmlDictPtr; + xmlDictPtr + xmlDictCreate (void); + xmlDictPtr + xmlDictCreateSub(xmlDictPtr sub); + int + xmlDictReference(xmlDictPtr dict); + void + xmlDictFree (xmlDictPtr dict); + const xmlChar * + xmlDictLookup (xmlDictPtr dict, + const xmlChar *name, + int len); + const xmlChar * + xmlDictExists (xmlDictPtr dict, + const xmlChar *name, + int len); + const xmlChar * + xmlDictQLookup (xmlDictPtr dict, + const xmlChar *prefix, + const xmlChar *name); + int + xmlDictOwns (xmlDictPtr dict, + const xmlChar *str); + int + xmlDictSize (xmlDictPtr dict); + void + xmlDictCleanup (void); + xmlRegexpPtr + xmlRegexpCompile (const xmlChar *regexp); + void xmlRegFreeRegexp(xmlRegexpPtr regexp); + int + xmlRegexpExec (xmlRegexpPtr comp, + const xmlChar *value); + void + xmlRegexpPrint (FILE *output, + xmlRegexpPtr regexp); + int + xmlRegexpIsDeterminist(xmlRegexpPtr comp); +typedef void (*xmlRegExecCallbacks) (xmlRegExecCtxtPtr exec, + const xmlChar *token, + void *transdata, + void *inputdata); + xmlRegExecCtxtPtr + xmlRegNewExecCtxt (xmlRegexpPtr comp, + xmlRegExecCallbacks callback, + void *data); + void + xmlRegFreeExecCtxt (xmlRegExecCtxtPtr exec); + int + xmlRegExecPushString(xmlRegExecCtxtPtr exec, + const xmlChar *value, + void *data); + int + xmlRegExecPushString2(xmlRegExecCtxtPtr exec, + const xmlChar *value, + const xmlChar *value2, + void *data); + int + xmlRegExecNextValues(xmlRegExecCtxtPtr exec, + int *nbval, + int *nbneg, + xmlChar **values, + int *terminal); + int + xmlRegExecErrInfo (xmlRegExecCtxtPtr exec, + const xmlChar **string, + int *nbval, + int *nbneg, + xmlChar **values, + int *terminal); +typedef struct _xmlExpCtxt xmlExpCtxt; +typedef xmlExpCtxt *xmlExpCtxtPtr; + void + xmlExpFreeCtxt (xmlExpCtxtPtr ctxt); + xmlExpCtxtPtr + xmlExpNewCtxt (int maxNodes, + xmlDictPtr dict); + int + xmlExpCtxtNbNodes(xmlExpCtxtPtr ctxt); + int + xmlExpCtxtNbCons(xmlExpCtxtPtr ctxt); +typedef struct _xmlExpNode xmlExpNode; +typedef xmlExpNode *xmlExpNodePtr; +typedef enum { + XML_EXP_EMPTY = 0, + XML_EXP_FORBID = 1, + XML_EXP_ATOM = 2, + XML_EXP_SEQ = 3, + XML_EXP_OR = 4, + XML_EXP_COUNT = 5 +} xmlExpNodeType; +extern xmlExpNodePtr forbiddenExp; +extern xmlExpNodePtr emptyExp; + void + xmlExpFree (xmlExpCtxtPtr ctxt, + xmlExpNodePtr expr); + void + xmlExpRef (xmlExpNodePtr expr); + xmlExpNodePtr + xmlExpParse (xmlExpCtxtPtr ctxt, + const char *expr); + xmlExpNodePtr + xmlExpNewAtom (xmlExpCtxtPtr ctxt, + const xmlChar *name, + int len); + xmlExpNodePtr + xmlExpNewOr (xmlExpCtxtPtr ctxt, + xmlExpNodePtr left, + xmlExpNodePtr right); + xmlExpNodePtr + xmlExpNewSeq (xmlExpCtxtPtr ctxt, + xmlExpNodePtr left, + xmlExpNodePtr right); + xmlExpNodePtr + xmlExpNewRange (xmlExpCtxtPtr ctxt, + xmlExpNodePtr subset, + int min, + int max); + int + xmlExpIsNillable(xmlExpNodePtr expr); + int + xmlExpMaxToken (xmlExpNodePtr expr); + int + xmlExpGetLanguage(xmlExpCtxtPtr ctxt, + xmlExpNodePtr expr, + const xmlChar**langList, + int len); + int + xmlExpGetStart (xmlExpCtxtPtr ctxt, + xmlExpNodePtr expr, + const xmlChar**tokList, + int len); + xmlExpNodePtr + xmlExpStringDerive(xmlExpCtxtPtr ctxt, + xmlExpNodePtr expr, + const xmlChar *str, + int len); + xmlExpNodePtr + xmlExpExpDerive (xmlExpCtxtPtr ctxt, + xmlExpNodePtr expr, + xmlExpNodePtr sub); + int + xmlExpSubsume (xmlExpCtxtPtr ctxt, + xmlExpNodePtr expr, + xmlExpNodePtr sub); + void + xmlExpDump (xmlBufferPtr buf, + xmlExpNodePtr expr); +typedef struct _xmlElement xmlElement; +typedef xmlElement *xmlElementPtr; +struct _xmlElement { + void *_private; + xmlElementType type; + const xmlChar *name; + struct _xmlNode *children; + struct _xmlNode *last; + struct _xmlDtd *parent; + struct _xmlNode *next; + struct _xmlNode *prev; + struct _xmlDoc *doc; + xmlElementTypeVal etype; + xmlElementContentPtr content; + xmlAttributePtr attributes; + const xmlChar *prefix; + xmlRegexpPtr contModel; +}; +typedef xmlElementType xmlNsType; +typedef struct _xmlNs xmlNs; +typedef xmlNs *xmlNsPtr; +struct _xmlNs { + struct _xmlNs *next; + xmlNsType type; + const xmlChar *href; + const xmlChar *prefix; + void *_private; + struct _xmlDoc *context; +}; +typedef struct _xmlDtd xmlDtd; +typedef xmlDtd *xmlDtdPtr; +struct _xmlDtd { + void *_private; + xmlElementType type; + const xmlChar *name; + struct _xmlNode *children; + struct _xmlNode *last; + struct _xmlDoc *parent; + struct _xmlNode *next; + struct _xmlNode *prev; + struct _xmlDoc *doc; + void *notations; + void *elements; + void *attributes; + void *entities; + const xmlChar *ExternalID; + const xmlChar *SystemID; + void *pentities; +}; +typedef struct _xmlAttr xmlAttr; +typedef xmlAttr *xmlAttrPtr; +struct _xmlAttr { + void *_private; + xmlElementType type; + const xmlChar *name; + struct _xmlNode *children; + struct _xmlNode *last; + struct _xmlNode *parent; + struct _xmlAttr *next; + struct _xmlAttr *prev; + struct _xmlDoc *doc; + xmlNs *ns; + xmlAttributeType atype; + void *psvi; +}; +typedef struct _xmlID xmlID; +typedef xmlID *xmlIDPtr; +struct _xmlID { + struct _xmlID *next; + const xmlChar *value; + xmlAttrPtr attr; + const xmlChar *name; + int lineno; + struct _xmlDoc *doc; +}; +typedef struct _xmlRef xmlRef; +typedef xmlRef *xmlRefPtr; +struct _xmlRef { + struct _xmlRef *next; + const xmlChar *value; + xmlAttrPtr attr; + const xmlChar *name; + int lineno; +}; +typedef struct _xmlNode xmlNode; +typedef xmlNode *xmlNodePtr; +struct _xmlNode { + void *_private; + xmlElementType type; + const xmlChar *name; + struct _xmlNode *children; + struct _xmlNode *last; + struct _xmlNode *parent; + struct _xmlNode *next; + struct _xmlNode *prev; + struct _xmlDoc *doc; + xmlNs *ns; + xmlChar *content; + struct _xmlAttr *properties; + xmlNs *nsDef; + void *psvi; + unsigned short line; + unsigned short extra; +}; +typedef enum { + XML_DOC_WELLFORMED = 1<<0, + XML_DOC_NSVALID = 1<<1, + XML_DOC_OLD10 = 1<<2, + XML_DOC_DTDVALID = 1<<3, + XML_DOC_XINCLUDE = 1<<4, + XML_DOC_USERBUILT = 1<<5, + XML_DOC_INTERNAL = 1<<6, + XML_DOC_HTML = 1<<7 +} xmlDocProperties; +typedef struct _xmlDoc xmlDoc; +typedef xmlDoc *xmlDocPtr; +struct _xmlDoc { + void *_private; + xmlElementType type; + char *name; + struct _xmlNode *children; + struct _xmlNode *last; + struct _xmlNode *parent; + struct _xmlNode *next; + struct _xmlNode *prev; + struct _xmlDoc *doc; + int compression; + int standalone; + struct _xmlDtd *intSubset; + struct _xmlDtd *extSubset; + struct _xmlNs *oldNs; + const xmlChar *version; + const xmlChar *encoding; + void *ids; + void *refs; + const xmlChar *URL; + int charset; + struct _xmlDict *dict; + void *psvi; + int parseFlags; + int properties; +}; +typedef struct _xmlDOMWrapCtxt xmlDOMWrapCtxt; +typedef xmlDOMWrapCtxt *xmlDOMWrapCtxtPtr; +typedef xmlNsPtr (*xmlDOMWrapAcquireNsFunction) (xmlDOMWrapCtxtPtr ctxt, + xmlNodePtr node, + const xmlChar *nsName, + const xmlChar *nsPrefix); +struct _xmlDOMWrapCtxt { + void * _private; + int type; + void * namespaceMap; + xmlDOMWrapAcquireNsFunction getNsForNodeFunc; +}; + int + xmlValidateNCName (const xmlChar *value, + int space); + int + xmlValidateQName (const xmlChar *value, + int space); + int + xmlValidateName (const xmlChar *value, + int space); + int + xmlValidateNMToken (const xmlChar *value, + int space); + xmlChar * + xmlBuildQName (const xmlChar *ncname, + const xmlChar *prefix, + xmlChar *memory, + int len); + xmlChar * + xmlSplitQName2 (const xmlChar *name, + xmlChar **prefix); + const xmlChar * + xmlSplitQName3 (const xmlChar *name, + int *len); + void + xmlSetBufferAllocationScheme(xmlBufferAllocationScheme scheme); + xmlBufferAllocationScheme + xmlGetBufferAllocationScheme(void); + xmlBufferPtr + xmlBufferCreate (void); + xmlBufferPtr + xmlBufferCreateSize (size_t size); + xmlBufferPtr + xmlBufferCreateStatic (void *mem, + size_t size); + int + xmlBufferResize (xmlBufferPtr buf, + unsigned int size); + void + xmlBufferFree (xmlBufferPtr buf); + int + xmlBufferDump (FILE *file, + xmlBufferPtr buf); + int + xmlBufferAdd (xmlBufferPtr buf, + const xmlChar *str, + int len); + int + xmlBufferAddHead (xmlBufferPtr buf, + const xmlChar *str, + int len); + int + xmlBufferCat (xmlBufferPtr buf, + const xmlChar *str); + int + xmlBufferCCat (xmlBufferPtr buf, + const char *str); + int + xmlBufferShrink (xmlBufferPtr buf, + unsigned int len); + int + xmlBufferGrow (xmlBufferPtr buf, + unsigned int len); + void + xmlBufferEmpty (xmlBufferPtr buf); + const xmlChar* + xmlBufferContent (const xmlBufferPtr buf); + void + xmlBufferSetAllocationScheme(xmlBufferPtr buf, + xmlBufferAllocationScheme scheme); + int + xmlBufferLength (const xmlBufferPtr buf); + xmlDtdPtr + xmlCreateIntSubset (xmlDocPtr doc, + const xmlChar *name, + const xmlChar *ExternalID, + const xmlChar *SystemID); + xmlDtdPtr + xmlNewDtd (xmlDocPtr doc, + const xmlChar *name, + const xmlChar *ExternalID, + const xmlChar *SystemID); + xmlDtdPtr + xmlGetIntSubset (xmlDocPtr doc); + void + xmlFreeDtd (xmlDtdPtr cur); + xmlNsPtr + xmlNewGlobalNs (xmlDocPtr doc, + const xmlChar *href, + const xmlChar *prefix); + xmlNsPtr + xmlNewNs (xmlNodePtr node, + const xmlChar *href, + const xmlChar *prefix); + void + xmlFreeNs (xmlNsPtr cur); + void + xmlFreeNsList (xmlNsPtr cur); + xmlDocPtr + xmlNewDoc (const xmlChar *version); + void + xmlFreeDoc (xmlDocPtr cur); + xmlAttrPtr + xmlNewDocProp (xmlDocPtr doc, + const xmlChar *name, + const xmlChar *value); + xmlAttrPtr + xmlNewProp (xmlNodePtr node, + const xmlChar *name, + const xmlChar *value); + xmlAttrPtr + xmlNewNsProp (xmlNodePtr node, + xmlNsPtr ns, + const xmlChar *name, + const xmlChar *value); + xmlAttrPtr + xmlNewNsPropEatName (xmlNodePtr node, + xmlNsPtr ns, + xmlChar *name, + const xmlChar *value); + void + xmlFreePropList (xmlAttrPtr cur); + void + xmlFreeProp (xmlAttrPtr cur); + xmlAttrPtr + xmlCopyProp (xmlNodePtr target, + xmlAttrPtr cur); + xmlAttrPtr + xmlCopyPropList (xmlNodePtr target, + xmlAttrPtr cur); + xmlDtdPtr + xmlCopyDtd (xmlDtdPtr dtd); + xmlDocPtr + xmlCopyDoc (xmlDocPtr doc, + int recursive); + xmlNodePtr + xmlNewDocNode (xmlDocPtr doc, + xmlNsPtr ns, + const xmlChar *name, + const xmlChar *content); + xmlNodePtr + xmlNewDocNodeEatName (xmlDocPtr doc, + xmlNsPtr ns, + xmlChar *name, + const xmlChar *content); + xmlNodePtr + xmlNewNode (xmlNsPtr ns, + const xmlChar *name); + xmlNodePtr + xmlNewNodeEatName (xmlNsPtr ns, + xmlChar *name); + xmlNodePtr + xmlNewChild (xmlNodePtr parent, + xmlNsPtr ns, + const xmlChar *name, + const xmlChar *content); + xmlNodePtr + xmlNewDocText (xmlDocPtr doc, + const xmlChar *content); + xmlNodePtr + xmlNewText (const xmlChar *content); + xmlNodePtr + xmlNewDocPI (xmlDocPtr doc, + const xmlChar *name, + const xmlChar *content); + xmlNodePtr + xmlNewPI (const xmlChar *name, + const xmlChar *content); + xmlNodePtr + xmlNewDocTextLen (xmlDocPtr doc, + const xmlChar *content, + int len); + xmlNodePtr + xmlNewTextLen (const xmlChar *content, + int len); + xmlNodePtr + xmlNewDocComment (xmlDocPtr doc, + const xmlChar *content); + xmlNodePtr + xmlNewComment (const xmlChar *content); + xmlNodePtr + xmlNewCDataBlock (xmlDocPtr doc, + const xmlChar *content, + int len); + xmlNodePtr + xmlNewCharRef (xmlDocPtr doc, + const xmlChar *name); + xmlNodePtr + xmlNewReference (xmlDocPtr doc, + const xmlChar *name); + xmlNodePtr + xmlCopyNode (const xmlNodePtr node, + int recursive); + xmlNodePtr + xmlDocCopyNode (const xmlNodePtr node, + xmlDocPtr doc, + int recursive); + xmlNodePtr + xmlDocCopyNodeList (xmlDocPtr doc, + const xmlNodePtr node); + xmlNodePtr + xmlCopyNodeList (const xmlNodePtr node); + xmlNodePtr + xmlNewTextChild (xmlNodePtr parent, + xmlNsPtr ns, + const xmlChar *name, + const xmlChar *content); + xmlNodePtr + xmlNewDocRawNode (xmlDocPtr doc, + xmlNsPtr ns, + const xmlChar *name, + const xmlChar *content); + xmlNodePtr + xmlNewDocFragment (xmlDocPtr doc); + long + xmlGetLineNo (xmlNodePtr node); + xmlChar * + xmlGetNodePath (xmlNodePtr node); + xmlNodePtr + xmlDocGetRootElement (xmlDocPtr doc); + xmlNodePtr + xmlGetLastChild (xmlNodePtr parent); + int + xmlNodeIsText (xmlNodePtr node); + int + xmlIsBlankNode (xmlNodePtr node); + xmlNodePtr + xmlDocSetRootElement (xmlDocPtr doc, + xmlNodePtr root); + void + xmlNodeSetName (xmlNodePtr cur, + const xmlChar *name); + xmlNodePtr + xmlAddChild (xmlNodePtr parent, + xmlNodePtr cur); + xmlNodePtr + xmlAddChildList (xmlNodePtr parent, + xmlNodePtr cur); + xmlNodePtr + xmlReplaceNode (xmlNodePtr old, + xmlNodePtr cur); + xmlNodePtr + xmlAddPrevSibling (xmlNodePtr cur, + xmlNodePtr elem); + xmlNodePtr + xmlAddSibling (xmlNodePtr cur, + xmlNodePtr elem); + xmlNodePtr + xmlAddNextSibling (xmlNodePtr cur, + xmlNodePtr elem); + void + xmlUnlinkNode (xmlNodePtr cur); + xmlNodePtr + xmlTextMerge (xmlNodePtr first, + xmlNodePtr second); + int + xmlTextConcat (xmlNodePtr node, + const xmlChar *content, + int len); + void + xmlFreeNodeList (xmlNodePtr cur); + void + xmlFreeNode (xmlNodePtr cur); + void + xmlSetTreeDoc (xmlNodePtr tree, + xmlDocPtr doc); + void + xmlSetListDoc (xmlNodePtr list, + xmlDocPtr doc); + xmlNsPtr + xmlSearchNs (xmlDocPtr doc, + xmlNodePtr node, + const xmlChar *nameSpace); + xmlNsPtr + xmlSearchNsByHref (xmlDocPtr doc, + xmlNodePtr node, + const xmlChar *href); + xmlNsPtr * + xmlGetNsList (xmlDocPtr doc, + xmlNodePtr node); + void + xmlSetNs (xmlNodePtr node, + xmlNsPtr ns); + xmlNsPtr + xmlCopyNamespace (xmlNsPtr cur); + xmlNsPtr + xmlCopyNamespaceList (xmlNsPtr cur); + xmlAttrPtr + xmlSetProp (xmlNodePtr node, + const xmlChar *name, + const xmlChar *value); + xmlAttrPtr + xmlSetNsProp (xmlNodePtr node, + xmlNsPtr ns, + const xmlChar *name, + const xmlChar *value); + xmlChar * + xmlGetNoNsProp (xmlNodePtr node, + const xmlChar *name); + xmlChar * + xmlGetProp (xmlNodePtr node, + const xmlChar *name); + xmlAttrPtr + xmlHasProp (xmlNodePtr node, + const xmlChar *name); + xmlAttrPtr + xmlHasNsProp (xmlNodePtr node, + const xmlChar *name, + const xmlChar *nameSpace); + xmlChar * + xmlGetNsProp (xmlNodePtr node, + const xmlChar *name, + const xmlChar *nameSpace); + xmlNodePtr + xmlStringGetNodeList (xmlDocPtr doc, + const xmlChar *value); + xmlNodePtr + xmlStringLenGetNodeList (xmlDocPtr doc, + const xmlChar *value, + int len); + xmlChar * + xmlNodeListGetString (xmlDocPtr doc, + xmlNodePtr list, + int inLine); + xmlChar * + xmlNodeListGetRawString (xmlDocPtr doc, + xmlNodePtr list, + int inLine); + void + xmlNodeSetContent (xmlNodePtr cur, + const xmlChar *content); + void + xmlNodeSetContentLen (xmlNodePtr cur, + const xmlChar *content, + int len); + void + xmlNodeAddContent (xmlNodePtr cur, + const xmlChar *content); + void + xmlNodeAddContentLen (xmlNodePtr cur, + const xmlChar *content, + int len); + xmlChar * + xmlNodeGetContent (xmlNodePtr cur); + int + xmlNodeBufGetContent (xmlBufferPtr buffer, + xmlNodePtr cur); + xmlChar * + xmlNodeGetLang (xmlNodePtr cur); + int + xmlNodeGetSpacePreserve (xmlNodePtr cur); + void + xmlNodeSetLang (xmlNodePtr cur, + const xmlChar *lang); + void + xmlNodeSetSpacePreserve (xmlNodePtr cur, + int val); + xmlChar * + xmlNodeGetBase (xmlDocPtr doc, + xmlNodePtr cur); + void + xmlNodeSetBase (xmlNodePtr cur, + const xmlChar *uri); + int + xmlRemoveProp (xmlAttrPtr cur); + int + xmlUnsetNsProp (xmlNodePtr node, + xmlNsPtr ns, + const xmlChar *name); + int + xmlUnsetProp (xmlNodePtr node, + const xmlChar *name); + void + xmlBufferWriteCHAR (xmlBufferPtr buf, + const xmlChar *string); + void + xmlBufferWriteChar (xmlBufferPtr buf, + const char *string); + void + xmlBufferWriteQuotedString(xmlBufferPtr buf, + const xmlChar *string); + void xmlAttrSerializeTxtContent(xmlBufferPtr buf, + xmlDocPtr doc, + xmlAttrPtr attr, + const xmlChar *string); + int + xmlReconciliateNs (xmlDocPtr doc, + xmlNodePtr tree); + void + xmlDocDumpFormatMemory (xmlDocPtr cur, + xmlChar **mem, + int *size, + int format); + void + xmlDocDumpMemory (xmlDocPtr cur, + xmlChar **mem, + int *size); + void + xmlDocDumpMemoryEnc (xmlDocPtr out_doc, + xmlChar **doc_txt_ptr, + int * doc_txt_len, + const char *txt_encoding); + void + xmlDocDumpFormatMemoryEnc(xmlDocPtr out_doc, + xmlChar **doc_txt_ptr, + int * doc_txt_len, + const char *txt_encoding, + int format); + int + xmlDocFormatDump (FILE *f, + xmlDocPtr cur, + int format); + int + xmlDocDump (FILE *f, + xmlDocPtr cur); + void + xmlElemDump (FILE *f, + xmlDocPtr doc, + xmlNodePtr cur); + int + xmlSaveFile (const char *filename, + xmlDocPtr cur); + int + xmlSaveFormatFile (const char *filename, + xmlDocPtr cur, + int format); + int + xmlNodeDump (xmlBufferPtr buf, + xmlDocPtr doc, + xmlNodePtr cur, + int level, + int format); + int + xmlSaveFileTo (xmlOutputBufferPtr buf, + xmlDocPtr cur, + const char *encoding); + int + xmlSaveFormatFileTo (xmlOutputBufferPtr buf, + xmlDocPtr cur, + const char *encoding, + int format); + void + xmlNodeDumpOutput (xmlOutputBufferPtr buf, + xmlDocPtr doc, + xmlNodePtr cur, + int level, + int format, + const char *encoding); + int + xmlSaveFormatFileEnc (const char *filename, + xmlDocPtr cur, + const char *encoding, + int format); + int + xmlSaveFileEnc (const char *filename, + xmlDocPtr cur, + const char *encoding); + int + xmlIsXHTML (const xmlChar *systemID, + const xmlChar *publicID); + int + xmlGetDocCompressMode (xmlDocPtr doc); + void + xmlSetDocCompressMode (xmlDocPtr doc, + int mode); + int + xmlGetCompressMode (void); + void + xmlSetCompressMode (int mode); + xmlDOMWrapCtxtPtr + xmlDOMWrapNewCtxt (void); + void + xmlDOMWrapFreeCtxt (xmlDOMWrapCtxtPtr ctxt); + int + xmlDOMWrapReconcileNamespaces(xmlDOMWrapCtxtPtr ctxt, + xmlNodePtr elem, + int options); + int + xmlDOMWrapAdoptNode (xmlDOMWrapCtxtPtr ctxt, + xmlDocPtr sourceDoc, + xmlNodePtr node, + xmlDocPtr destDoc, + xmlNodePtr destParent, + int options); + int + xmlDOMWrapRemoveNode (xmlDOMWrapCtxtPtr ctxt, + xmlDocPtr doc, + xmlNodePtr node, + int options); + int + xmlDOMWrapCloneNode (xmlDOMWrapCtxtPtr ctxt, + xmlDocPtr sourceDoc, + xmlNodePtr node, + xmlNodePtr *clonedNode, + xmlDocPtr destDoc, + xmlNodePtr destParent, + int deep, + int options); + unsigned long + xmlChildElementCount (xmlNodePtr parent); + xmlNodePtr + xmlNextElementSibling (xmlNodePtr node); + xmlNodePtr + xmlFirstElementChild (xmlNodePtr parent); + xmlNodePtr + xmlLastElementChild (xmlNodePtr parent); + xmlNodePtr + xmlPreviousElementSibling (xmlNodePtr node); +typedef struct _xmlHashTable xmlHashTable; +typedef xmlHashTable *xmlHashTablePtr; +typedef void (*xmlHashDeallocator)(void *payload, xmlChar *name); +typedef void *(*xmlHashCopier)(void *payload, xmlChar *name); +typedef void (*xmlHashScanner)(void *payload, void *data, xmlChar *name); +typedef void (*xmlHashScannerFull)(void *payload, void *data, + const xmlChar *name, const xmlChar *name2, + const xmlChar *name3); + xmlHashTablePtr + xmlHashCreate (int size); + xmlHashTablePtr + xmlHashCreateDict(int size, + xmlDictPtr dict); + void + xmlHashFree (xmlHashTablePtr table, + xmlHashDeallocator f); + int + xmlHashAddEntry (xmlHashTablePtr table, + const xmlChar *name, + void *userdata); + int + xmlHashUpdateEntry(xmlHashTablePtr table, + const xmlChar *name, + void *userdata, + xmlHashDeallocator f); + int + xmlHashAddEntry2(xmlHashTablePtr table, + const xmlChar *name, + const xmlChar *name2, + void *userdata); + int + xmlHashUpdateEntry2(xmlHashTablePtr table, + const xmlChar *name, + const xmlChar *name2, + void *userdata, + xmlHashDeallocator f); + int + xmlHashAddEntry3(xmlHashTablePtr table, + const xmlChar *name, + const xmlChar *name2, + const xmlChar *name3, + void *userdata); + int + xmlHashUpdateEntry3(xmlHashTablePtr table, + const xmlChar *name, + const xmlChar *name2, + const xmlChar *name3, + void *userdata, + xmlHashDeallocator f); + int + xmlHashRemoveEntry(xmlHashTablePtr table, const xmlChar *name, + xmlHashDeallocator f); + int + xmlHashRemoveEntry2(xmlHashTablePtr table, const xmlChar *name, + const xmlChar *name2, xmlHashDeallocator f); + int + xmlHashRemoveEntry3(xmlHashTablePtr table, const xmlChar *name, + const xmlChar *name2, const xmlChar *name3, + xmlHashDeallocator f); + void * + xmlHashLookup (xmlHashTablePtr table, + const xmlChar *name); + void * + xmlHashLookup2 (xmlHashTablePtr table, + const xmlChar *name, + const xmlChar *name2); + void * + xmlHashLookup3 (xmlHashTablePtr table, + const xmlChar *name, + const xmlChar *name2, + const xmlChar *name3); + void * + xmlHashQLookup (xmlHashTablePtr table, + const xmlChar *name, + const xmlChar *prefix); + void * + xmlHashQLookup2 (xmlHashTablePtr table, + const xmlChar *name, + const xmlChar *prefix, + const xmlChar *name2, + const xmlChar *prefix2); + void * + xmlHashQLookup3 (xmlHashTablePtr table, + const xmlChar *name, + const xmlChar *prefix, + const xmlChar *name2, + const xmlChar *prefix2, + const xmlChar *name3, + const xmlChar *prefix3); + xmlHashTablePtr + xmlHashCopy (xmlHashTablePtr table, + xmlHashCopier f); + int + xmlHashSize (xmlHashTablePtr table); + void + xmlHashScan (xmlHashTablePtr table, + xmlHashScanner f, + void *data); + void + xmlHashScan3 (xmlHashTablePtr table, + const xmlChar *name, + const xmlChar *name2, + const xmlChar *name3, + xmlHashScanner f, + void *data); + void + xmlHashScanFull (xmlHashTablePtr table, + xmlHashScannerFull f, + void *data); + void + xmlHashScanFull3(xmlHashTablePtr table, + const xmlChar *name, + const xmlChar *name2, + const xmlChar *name3, + xmlHashScannerFull f, + void *data); +typedef enum { + XML_ERR_NONE = 0, + XML_ERR_WARNING = 1, + XML_ERR_ERROR = 2, + XML_ERR_FATAL = 3 +} xmlErrorLevel; +typedef enum { + XML_FROM_NONE = 0, + XML_FROM_PARSER, + XML_FROM_TREE, + XML_FROM_NAMESPACE, + XML_FROM_DTD, + XML_FROM_HTML, + XML_FROM_MEMORY, + XML_FROM_OUTPUT, + XML_FROM_IO, + XML_FROM_FTP, + XML_FROM_HTTP, + XML_FROM_XINCLUDE, + XML_FROM_XPATH, + XML_FROM_XPOINTER, + XML_FROM_REGEXP, + XML_FROM_DATATYPE, + XML_FROM_SCHEMASP, + XML_FROM_SCHEMASV, + XML_FROM_RELAXNGP, + XML_FROM_RELAXNGV, + XML_FROM_CATALOG, + XML_FROM_C14N, + XML_FROM_XSLT, + XML_FROM_VALID, + XML_FROM_CHECK, + XML_FROM_WRITER, + XML_FROM_MODULE, + XML_FROM_I18N, + XML_FROM_SCHEMATRONV +} xmlErrorDomain; +typedef struct _xmlError xmlError; +typedef xmlError *xmlErrorPtr; +struct _xmlError { + int domain; + int code; + char *message; + xmlErrorLevel level; + char *file; + int line; + char *str1; + char *str2; + char *str3; + int int1; + int int2; + void *ctxt; + void *node; +}; +typedef enum { + XML_ERR_OK = 0, + XML_ERR_INTERNAL_ERROR, + XML_ERR_NO_MEMORY, + XML_ERR_DOCUMENT_START, + XML_ERR_DOCUMENT_EMPTY, + XML_ERR_DOCUMENT_END, + XML_ERR_INVALID_HEX_CHARREF, + XML_ERR_INVALID_DEC_CHARREF, + XML_ERR_INVALID_CHARREF, + XML_ERR_INVALID_CHAR, + XML_ERR_CHARREF_AT_EOF, + XML_ERR_CHARREF_IN_PROLOG, + XML_ERR_CHARREF_IN_EPILOG, + XML_ERR_CHARREF_IN_DTD, + XML_ERR_ENTITYREF_AT_EOF, + XML_ERR_ENTITYREF_IN_PROLOG, + XML_ERR_ENTITYREF_IN_EPILOG, + XML_ERR_ENTITYREF_IN_DTD, + XML_ERR_PEREF_AT_EOF, + XML_ERR_PEREF_IN_PROLOG, + XML_ERR_PEREF_IN_EPILOG, + XML_ERR_PEREF_IN_INT_SUBSET, + XML_ERR_ENTITYREF_NO_NAME, + XML_ERR_ENTITYREF_SEMICOL_MISSING, + XML_ERR_PEREF_NO_NAME, + XML_ERR_PEREF_SEMICOL_MISSING, + XML_ERR_UNDECLARED_ENTITY, + XML_WAR_UNDECLARED_ENTITY, + XML_ERR_UNPARSED_ENTITY, + XML_ERR_ENTITY_IS_EXTERNAL, + XML_ERR_ENTITY_IS_PARAMETER, + XML_ERR_UNKNOWN_ENCODING, + XML_ERR_UNSUPPORTED_ENCODING, + XML_ERR_STRING_NOT_STARTED, + XML_ERR_STRING_NOT_CLOSED, + XML_ERR_NS_DECL_ERROR, + XML_ERR_ENTITY_NOT_STARTED, + XML_ERR_ENTITY_NOT_FINISHED, + XML_ERR_LT_IN_ATTRIBUTE, + XML_ERR_ATTRIBUTE_NOT_STARTED, + XML_ERR_ATTRIBUTE_NOT_FINISHED, + XML_ERR_ATTRIBUTE_WITHOUT_VALUE, + XML_ERR_ATTRIBUTE_REDEFINED, + XML_ERR_LITERAL_NOT_STARTED, + XML_ERR_LITERAL_NOT_FINISHED, + XML_ERR_COMMENT_NOT_FINISHED, + XML_ERR_PI_NOT_STARTED, + XML_ERR_PI_NOT_FINISHED, + XML_ERR_NOTATION_NOT_STARTED, + XML_ERR_NOTATION_NOT_FINISHED, + XML_ERR_ATTLIST_NOT_STARTED, + XML_ERR_ATTLIST_NOT_FINISHED, + XML_ERR_MIXED_NOT_STARTED, + XML_ERR_MIXED_NOT_FINISHED, + XML_ERR_ELEMCONTENT_NOT_STARTED, + XML_ERR_ELEMCONTENT_NOT_FINISHED, + XML_ERR_XMLDECL_NOT_STARTED, + XML_ERR_XMLDECL_NOT_FINISHED, + XML_ERR_CONDSEC_NOT_STARTED, + XML_ERR_CONDSEC_NOT_FINISHED, + XML_ERR_EXT_SUBSET_NOT_FINISHED, + XML_ERR_DOCTYPE_NOT_FINISHED, + XML_ERR_MISPLACED_CDATA_END, + XML_ERR_CDATA_NOT_FINISHED, + XML_ERR_RESERVED_XML_NAME, + XML_ERR_SPACE_REQUIRED, + XML_ERR_SEPARATOR_REQUIRED, + XML_ERR_NMTOKEN_REQUIRED, + XML_ERR_NAME_REQUIRED, + XML_ERR_PCDATA_REQUIRED, + XML_ERR_URI_REQUIRED, + XML_ERR_PUBID_REQUIRED, + XML_ERR_LT_REQUIRED, + XML_ERR_GT_REQUIRED, + XML_ERR_LTSLASH_REQUIRED, + XML_ERR_EQUAL_REQUIRED, + XML_ERR_TAG_NAME_MISMATCH, + XML_ERR_TAG_NOT_FINISHED, + XML_ERR_STANDALONE_VALUE, + XML_ERR_ENCODING_NAME, + XML_ERR_HYPHEN_IN_COMMENT, + XML_ERR_INVALID_ENCODING, + XML_ERR_EXT_ENTITY_STANDALONE, + XML_ERR_CONDSEC_INVALID, + XML_ERR_VALUE_REQUIRED, + XML_ERR_NOT_WELL_BALANCED, + XML_ERR_EXTRA_CONTENT, + XML_ERR_ENTITY_CHAR_ERROR, + XML_ERR_ENTITY_PE_INTERNAL, + XML_ERR_ENTITY_LOOP, + XML_ERR_ENTITY_BOUNDARY, + XML_ERR_INVALID_URI, + XML_ERR_URI_FRAGMENT, + XML_WAR_CATALOG_PI, + XML_ERR_NO_DTD, + XML_ERR_CONDSEC_INVALID_KEYWORD, + XML_ERR_VERSION_MISSING, + XML_WAR_UNKNOWN_VERSION, + XML_WAR_LANG_VALUE, + XML_WAR_NS_URI, + XML_WAR_NS_URI_RELATIVE, + XML_ERR_MISSING_ENCODING, + XML_WAR_SPACE_VALUE, + XML_ERR_NOT_STANDALONE, + XML_ERR_ENTITY_PROCESSING, + XML_ERR_NOTATION_PROCESSING, + XML_WAR_NS_COLUMN, + XML_WAR_ENTITY_REDEFINED, + XML_ERR_UNKNOWN_VERSION, + XML_ERR_VERSION_MISMATCH, + XML_NS_ERR_XML_NAMESPACE = 200, + XML_NS_ERR_UNDEFINED_NAMESPACE, + XML_NS_ERR_QNAME, + XML_NS_ERR_ATTRIBUTE_REDEFINED, + XML_NS_ERR_EMPTY, + XML_NS_ERR_COLON, + XML_DTD_ATTRIBUTE_DEFAULT = 500, + XML_DTD_ATTRIBUTE_REDEFINED, + XML_DTD_ATTRIBUTE_VALUE, + XML_DTD_CONTENT_ERROR, + XML_DTD_CONTENT_MODEL, + XML_DTD_CONTENT_NOT_DETERMINIST, + XML_DTD_DIFFERENT_PREFIX, + XML_DTD_ELEM_DEFAULT_NAMESPACE, + XML_DTD_ELEM_NAMESPACE, + XML_DTD_ELEM_REDEFINED, + XML_DTD_EMPTY_NOTATION, + XML_DTD_ENTITY_TYPE, + XML_DTD_ID_FIXED, + XML_DTD_ID_REDEFINED, + XML_DTD_ID_SUBSET, + XML_DTD_INVALID_CHILD, + XML_DTD_INVALID_DEFAULT, + XML_DTD_LOAD_ERROR, + XML_DTD_MISSING_ATTRIBUTE, + XML_DTD_MIXED_CORRUPT, + XML_DTD_MULTIPLE_ID, + XML_DTD_NO_DOC, + XML_DTD_NO_DTD, + XML_DTD_NO_ELEM_NAME, + XML_DTD_NO_PREFIX, + XML_DTD_NO_ROOT, + XML_DTD_NOTATION_REDEFINED, + XML_DTD_NOTATION_VALUE, + XML_DTD_NOT_EMPTY, + XML_DTD_NOT_PCDATA, + XML_DTD_NOT_STANDALONE, + XML_DTD_ROOT_NAME, + XML_DTD_STANDALONE_WHITE_SPACE, + XML_DTD_UNKNOWN_ATTRIBUTE, + XML_DTD_UNKNOWN_ELEM, + XML_DTD_UNKNOWN_ENTITY, + XML_DTD_UNKNOWN_ID, + XML_DTD_UNKNOWN_NOTATION, + XML_DTD_STANDALONE_DEFAULTED, + XML_DTD_XMLID_VALUE, + XML_DTD_XMLID_TYPE, + XML_DTD_DUP_TOKEN, + XML_HTML_STRUCURE_ERROR = 800, + XML_HTML_UNKNOWN_TAG, + XML_RNGP_ANYNAME_ATTR_ANCESTOR = 1000, + XML_RNGP_ATTR_CONFLICT, + XML_RNGP_ATTRIBUTE_CHILDREN, + XML_RNGP_ATTRIBUTE_CONTENT, + XML_RNGP_ATTRIBUTE_EMPTY, + XML_RNGP_ATTRIBUTE_NOOP, + XML_RNGP_CHOICE_CONTENT, + XML_RNGP_CHOICE_EMPTY, + XML_RNGP_CREATE_FAILURE, + XML_RNGP_DATA_CONTENT, + XML_RNGP_DEF_CHOICE_AND_INTERLEAVE, + XML_RNGP_DEFINE_CREATE_FAILED, + XML_RNGP_DEFINE_EMPTY, + XML_RNGP_DEFINE_MISSING, + XML_RNGP_DEFINE_NAME_MISSING, + XML_RNGP_ELEM_CONTENT_EMPTY, + XML_RNGP_ELEM_CONTENT_ERROR, + XML_RNGP_ELEMENT_EMPTY, + XML_RNGP_ELEMENT_CONTENT, + XML_RNGP_ELEMENT_NAME, + XML_RNGP_ELEMENT_NO_CONTENT, + XML_RNGP_ELEM_TEXT_CONFLICT, + XML_RNGP_EMPTY, + XML_RNGP_EMPTY_CONSTRUCT, + XML_RNGP_EMPTY_CONTENT, + XML_RNGP_EMPTY_NOT_EMPTY, + XML_RNGP_ERROR_TYPE_LIB, + XML_RNGP_EXCEPT_EMPTY, + XML_RNGP_EXCEPT_MISSING, + XML_RNGP_EXCEPT_MULTIPLE, + XML_RNGP_EXCEPT_NO_CONTENT, + XML_RNGP_EXTERNALREF_EMTPY, + XML_RNGP_EXTERNAL_REF_FAILURE, + XML_RNGP_EXTERNALREF_RECURSE, + XML_RNGP_FORBIDDEN_ATTRIBUTE, + XML_RNGP_FOREIGN_ELEMENT, + XML_RNGP_GRAMMAR_CONTENT, + XML_RNGP_GRAMMAR_EMPTY, + XML_RNGP_GRAMMAR_MISSING, + XML_RNGP_GRAMMAR_NO_START, + XML_RNGP_GROUP_ATTR_CONFLICT, + XML_RNGP_HREF_ERROR, + XML_RNGP_INCLUDE_EMPTY, + XML_RNGP_INCLUDE_FAILURE, + XML_RNGP_INCLUDE_RECURSE, + XML_RNGP_INTERLEAVE_ADD, + XML_RNGP_INTERLEAVE_CREATE_FAILED, + XML_RNGP_INTERLEAVE_EMPTY, + XML_RNGP_INTERLEAVE_NO_CONTENT, + XML_RNGP_INVALID_DEFINE_NAME, + XML_RNGP_INVALID_URI, + XML_RNGP_INVALID_VALUE, + XML_RNGP_MISSING_HREF, + XML_RNGP_NAME_MISSING, + XML_RNGP_NEED_COMBINE, + XML_RNGP_NOTALLOWED_NOT_EMPTY, + XML_RNGP_NSNAME_ATTR_ANCESTOR, + XML_RNGP_NSNAME_NO_NS, + XML_RNGP_PARAM_FORBIDDEN, + XML_RNGP_PARAM_NAME_MISSING, + XML_RNGP_PARENTREF_CREATE_FAILED, + XML_RNGP_PARENTREF_NAME_INVALID, + XML_RNGP_PARENTREF_NO_NAME, + XML_RNGP_PARENTREF_NO_PARENT, + XML_RNGP_PARENTREF_NOT_EMPTY, + XML_RNGP_PARSE_ERROR, + XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME, + XML_RNGP_PAT_ATTR_ATTR, + XML_RNGP_PAT_ATTR_ELEM, + XML_RNGP_PAT_DATA_EXCEPT_ATTR, + XML_RNGP_PAT_DATA_EXCEPT_ELEM, + XML_RNGP_PAT_DATA_EXCEPT_EMPTY, + XML_RNGP_PAT_DATA_EXCEPT_GROUP, + XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE, + XML_RNGP_PAT_DATA_EXCEPT_LIST, + XML_RNGP_PAT_DATA_EXCEPT_ONEMORE, + XML_RNGP_PAT_DATA_EXCEPT_REF, + XML_RNGP_PAT_DATA_EXCEPT_TEXT, + XML_RNGP_PAT_LIST_ATTR, + XML_RNGP_PAT_LIST_ELEM, + XML_RNGP_PAT_LIST_INTERLEAVE, + XML_RNGP_PAT_LIST_LIST, + XML_RNGP_PAT_LIST_REF, + XML_RNGP_PAT_LIST_TEXT, + XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME, + XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME, + XML_RNGP_PAT_ONEMORE_GROUP_ATTR, + XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR, + XML_RNGP_PAT_START_ATTR, + XML_RNGP_PAT_START_DATA, + XML_RNGP_PAT_START_EMPTY, + XML_RNGP_PAT_START_GROUP, + XML_RNGP_PAT_START_INTERLEAVE, + XML_RNGP_PAT_START_LIST, + XML_RNGP_PAT_START_ONEMORE, + XML_RNGP_PAT_START_TEXT, + XML_RNGP_PAT_START_VALUE, + XML_RNGP_PREFIX_UNDEFINED, + XML_RNGP_REF_CREATE_FAILED, + XML_RNGP_REF_CYCLE, + XML_RNGP_REF_NAME_INVALID, + XML_RNGP_REF_NO_DEF, + XML_RNGP_REF_NO_NAME, + XML_RNGP_REF_NOT_EMPTY, + XML_RNGP_START_CHOICE_AND_INTERLEAVE, + XML_RNGP_START_CONTENT, + XML_RNGP_START_EMPTY, + XML_RNGP_START_MISSING, + XML_RNGP_TEXT_EXPECTED, + XML_RNGP_TEXT_HAS_CHILD, + XML_RNGP_TYPE_MISSING, + XML_RNGP_TYPE_NOT_FOUND, + XML_RNGP_TYPE_VALUE, + XML_RNGP_UNKNOWN_ATTRIBUTE, + XML_RNGP_UNKNOWN_COMBINE, + XML_RNGP_UNKNOWN_CONSTRUCT, + XML_RNGP_UNKNOWN_TYPE_LIB, + XML_RNGP_URI_FRAGMENT, + XML_RNGP_URI_NOT_ABSOLUTE, + XML_RNGP_VALUE_EMPTY, + XML_RNGP_VALUE_NO_CONTENT, + XML_RNGP_XMLNS_NAME, + XML_RNGP_XML_NS, + XML_XPATH_EXPRESSION_OK = 1200, + XML_XPATH_NUMBER_ERROR, + XML_XPATH_UNFINISHED_LITERAL_ERROR, + XML_XPATH_START_LITERAL_ERROR, + XML_XPATH_VARIABLE_REF_ERROR, + XML_XPATH_UNDEF_VARIABLE_ERROR, + XML_XPATH_INVALID_PREDICATE_ERROR, + XML_XPATH_EXPR_ERROR, + XML_XPATH_UNCLOSED_ERROR, + XML_XPATH_UNKNOWN_FUNC_ERROR, + XML_XPATH_INVALID_OPERAND, + XML_XPATH_INVALID_TYPE, + XML_XPATH_INVALID_ARITY, + XML_XPATH_INVALID_CTXT_SIZE, + XML_XPATH_INVALID_CTXT_POSITION, + XML_XPATH_MEMORY_ERROR, + XML_XPTR_SYNTAX_ERROR, + XML_XPTR_RESOURCE_ERROR, + XML_XPTR_SUB_RESOURCE_ERROR, + XML_XPATH_UNDEF_PREFIX_ERROR, + XML_XPATH_ENCODING_ERROR, + XML_XPATH_INVALID_CHAR_ERROR, + XML_TREE_INVALID_HEX = 1300, + XML_TREE_INVALID_DEC, + XML_TREE_UNTERMINATED_ENTITY, + XML_TREE_NOT_UTF8, + XML_SAVE_NOT_UTF8 = 1400, + XML_SAVE_CHAR_INVALID, + XML_SAVE_NO_DOCTYPE, + XML_SAVE_UNKNOWN_ENCODING, + XML_REGEXP_COMPILE_ERROR = 1450, + XML_IO_UNKNOWN = 1500, + XML_IO_EACCES, + XML_IO_EAGAIN, + XML_IO_EBADF, + XML_IO_EBADMSG, + XML_IO_EBUSY, + XML_IO_ECANCELED, + XML_IO_ECHILD, + XML_IO_EDEADLK, + XML_IO_EDOM, + XML_IO_EEXIST, + XML_IO_EFAULT, + XML_IO_EFBIG, + XML_IO_EINPROGRESS, + XML_IO_EINTR, + XML_IO_EINVAL, + XML_IO_EIO, + XML_IO_EISDIR, + XML_IO_EMFILE, + XML_IO_EMLINK, + XML_IO_EMSGSIZE, + XML_IO_ENAMETOOLONG, + XML_IO_ENFILE, + XML_IO_ENODEV, + XML_IO_ENOENT, + XML_IO_ENOEXEC, + XML_IO_ENOLCK, + XML_IO_ENOMEM, + XML_IO_ENOSPC, + XML_IO_ENOSYS, + XML_IO_ENOTDIR, + XML_IO_ENOTEMPTY, + XML_IO_ENOTSUP, + XML_IO_ENOTTY, + XML_IO_ENXIO, + XML_IO_EPERM, + XML_IO_EPIPE, + XML_IO_ERANGE, + XML_IO_EROFS, + XML_IO_ESPIPE, + XML_IO_ESRCH, + XML_IO_ETIMEDOUT, + XML_IO_EXDEV, + XML_IO_NETWORK_ATTEMPT, + XML_IO_ENCODER, + XML_IO_FLUSH, + XML_IO_WRITE, + XML_IO_NO_INPUT, + XML_IO_BUFFER_FULL, + XML_IO_LOAD_ERROR, + XML_IO_ENOTSOCK, + XML_IO_EISCONN, + XML_IO_ECONNREFUSED, + XML_IO_ENETUNREACH, + XML_IO_EADDRINUSE, + XML_IO_EALREADY, + XML_IO_EAFNOSUPPORT, + XML_XINCLUDE_RECURSION=1600, + XML_XINCLUDE_PARSE_VALUE, + XML_XINCLUDE_ENTITY_DEF_MISMATCH, + XML_XINCLUDE_NO_HREF, + XML_XINCLUDE_NO_FALLBACK, + XML_XINCLUDE_HREF_URI, + XML_XINCLUDE_TEXT_FRAGMENT, + XML_XINCLUDE_TEXT_DOCUMENT, + XML_XINCLUDE_INVALID_CHAR, + XML_XINCLUDE_BUILD_FAILED, + XML_XINCLUDE_UNKNOWN_ENCODING, + XML_XINCLUDE_MULTIPLE_ROOT, + XML_XINCLUDE_XPTR_FAILED, + XML_XINCLUDE_XPTR_RESULT, + XML_XINCLUDE_INCLUDE_IN_INCLUDE, + XML_XINCLUDE_FALLBACKS_IN_INCLUDE, + XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE, + XML_XINCLUDE_DEPRECATED_NS, + XML_XINCLUDE_FRAGMENT_ID, + XML_CATALOG_MISSING_ATTR = 1650, + XML_CATALOG_ENTRY_BROKEN, + XML_CATALOG_PREFER_VALUE, + XML_CATALOG_NOT_CATALOG, + XML_CATALOG_RECURSION, + XML_SCHEMAP_PREFIX_UNDEFINED = 1700, + XML_SCHEMAP_ATTRFORMDEFAULT_VALUE, + XML_SCHEMAP_ATTRGRP_NONAME_NOREF, + XML_SCHEMAP_ATTR_NONAME_NOREF, + XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF, + XML_SCHEMAP_ELEMFORMDEFAULT_VALUE, + XML_SCHEMAP_ELEM_NONAME_NOREF, + XML_SCHEMAP_EXTENSION_NO_BASE, + XML_SCHEMAP_FACET_NO_VALUE, + XML_SCHEMAP_FAILED_BUILD_IMPORT, + XML_SCHEMAP_GROUP_NONAME_NOREF, + XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI, + XML_SCHEMAP_IMPORT_REDEFINE_NSNAME, + XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI, + XML_SCHEMAP_INVALID_BOOLEAN, + XML_SCHEMAP_INVALID_ENUM, + XML_SCHEMAP_INVALID_FACET, + XML_SCHEMAP_INVALID_FACET_VALUE, + XML_SCHEMAP_INVALID_MAXOCCURS, + XML_SCHEMAP_INVALID_MINOCCURS, + XML_SCHEMAP_INVALID_REF_AND_SUBTYPE, + XML_SCHEMAP_INVALID_WHITE_SPACE, + XML_SCHEMAP_NOATTR_NOREF, + XML_SCHEMAP_NOTATION_NO_NAME, + XML_SCHEMAP_NOTYPE_NOREF, + XML_SCHEMAP_REF_AND_SUBTYPE, + XML_SCHEMAP_RESTRICTION_NONAME_NOREF, + XML_SCHEMAP_SIMPLETYPE_NONAME, + XML_SCHEMAP_TYPE_AND_SUBTYPE, + XML_SCHEMAP_UNKNOWN_ALL_CHILD, + XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD, + XML_SCHEMAP_UNKNOWN_ATTR_CHILD, + XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD, + XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP, + XML_SCHEMAP_UNKNOWN_BASE_TYPE, + XML_SCHEMAP_UNKNOWN_CHOICE_CHILD, + XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD, + XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD, + XML_SCHEMAP_UNKNOWN_ELEM_CHILD, + XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD, + XML_SCHEMAP_UNKNOWN_FACET_CHILD, + XML_SCHEMAP_UNKNOWN_FACET_TYPE, + XML_SCHEMAP_UNKNOWN_GROUP_CHILD, + XML_SCHEMAP_UNKNOWN_IMPORT_CHILD, + XML_SCHEMAP_UNKNOWN_LIST_CHILD, + XML_SCHEMAP_UNKNOWN_NOTATION_CHILD, + XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD, + XML_SCHEMAP_UNKNOWN_REF, + XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD, + XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD, + XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD, + XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD, + XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD, + XML_SCHEMAP_UNKNOWN_TYPE, + XML_SCHEMAP_UNKNOWN_UNION_CHILD, + XML_SCHEMAP_ELEM_DEFAULT_FIXED, + XML_SCHEMAP_REGEXP_INVALID, + XML_SCHEMAP_FAILED_LOAD, + XML_SCHEMAP_NOTHING_TO_PARSE, + XML_SCHEMAP_NOROOT, + XML_SCHEMAP_REDEFINED_GROUP, + XML_SCHEMAP_REDEFINED_TYPE, + XML_SCHEMAP_REDEFINED_ELEMENT, + XML_SCHEMAP_REDEFINED_ATTRGROUP, + XML_SCHEMAP_REDEFINED_ATTR, + XML_SCHEMAP_REDEFINED_NOTATION, + XML_SCHEMAP_FAILED_PARSE, + XML_SCHEMAP_UNKNOWN_PREFIX, + XML_SCHEMAP_DEF_AND_PREFIX, + XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD, + XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI, + XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI, + XML_SCHEMAP_NOT_SCHEMA, + XML_SCHEMAP_UNKNOWN_MEMBER_TYPE, + XML_SCHEMAP_INVALID_ATTR_USE, + XML_SCHEMAP_RECURSIVE, + XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE, + XML_SCHEMAP_INVALID_ATTR_COMBINATION, + XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION, + XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD, + XML_SCHEMAP_INVALID_ATTR_NAME, + XML_SCHEMAP_REF_AND_CONTENT, + XML_SCHEMAP_CT_PROPS_CORRECT_1, + XML_SCHEMAP_CT_PROPS_CORRECT_2, + XML_SCHEMAP_CT_PROPS_CORRECT_3, + XML_SCHEMAP_CT_PROPS_CORRECT_4, + XML_SCHEMAP_CT_PROPS_CORRECT_5, + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1, + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1, + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2, + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2, + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3, + XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER, + XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE, + XML_SCHEMAP_UNION_NOT_EXPRESSIBLE, + XML_SCHEMAP_SRC_IMPORT_3_1, + XML_SCHEMAP_SRC_IMPORT_3_2, + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1, + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2, + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3, + XML_SCHEMAP_COS_CT_EXTENDS_1_3, + XML_SCHEMAV_NOROOT = 1801, + XML_SCHEMAV_UNDECLAREDELEM, + XML_SCHEMAV_NOTTOPLEVEL, + XML_SCHEMAV_MISSING, + XML_SCHEMAV_WRONGELEM, + XML_SCHEMAV_NOTYPE, + XML_SCHEMAV_NOROLLBACK, + XML_SCHEMAV_ISABSTRACT, + XML_SCHEMAV_NOTEMPTY, + XML_SCHEMAV_ELEMCONT, + XML_SCHEMAV_HAVEDEFAULT, + XML_SCHEMAV_NOTNILLABLE, + XML_SCHEMAV_EXTRACONTENT, + XML_SCHEMAV_INVALIDATTR, + XML_SCHEMAV_INVALIDELEM, + XML_SCHEMAV_NOTDETERMINIST, + XML_SCHEMAV_CONSTRUCT, + XML_SCHEMAV_INTERNAL, + XML_SCHEMAV_NOTSIMPLE, + XML_SCHEMAV_ATTRUNKNOWN, + XML_SCHEMAV_ATTRINVALID, + XML_SCHEMAV_VALUE, + XML_SCHEMAV_FACET, + XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1, + XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2, + XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3, + XML_SCHEMAV_CVC_TYPE_3_1_1, + XML_SCHEMAV_CVC_TYPE_3_1_2, + XML_SCHEMAV_CVC_FACET_VALID, + XML_SCHEMAV_CVC_LENGTH_VALID, + XML_SCHEMAV_CVC_MINLENGTH_VALID, + XML_SCHEMAV_CVC_MAXLENGTH_VALID, + XML_SCHEMAV_CVC_MININCLUSIVE_VALID, + XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID, + XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID, + XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID, + XML_SCHEMAV_CVC_TOTALDIGITS_VALID, + XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID, + XML_SCHEMAV_CVC_PATTERN_VALID, + XML_SCHEMAV_CVC_ENUMERATION_VALID, + XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1, + XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2, + XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3, + XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4, + XML_SCHEMAV_CVC_ELT_1, + XML_SCHEMAV_CVC_ELT_2, + XML_SCHEMAV_CVC_ELT_3_1, + XML_SCHEMAV_CVC_ELT_3_2_1, + XML_SCHEMAV_CVC_ELT_3_2_2, + XML_SCHEMAV_CVC_ELT_4_1, + XML_SCHEMAV_CVC_ELT_4_2, + XML_SCHEMAV_CVC_ELT_4_3, + XML_SCHEMAV_CVC_ELT_5_1_1, + XML_SCHEMAV_CVC_ELT_5_1_2, + XML_SCHEMAV_CVC_ELT_5_2_1, + XML_SCHEMAV_CVC_ELT_5_2_2_1, + XML_SCHEMAV_CVC_ELT_5_2_2_2_1, + XML_SCHEMAV_CVC_ELT_5_2_2_2_2, + XML_SCHEMAV_CVC_ELT_6, + XML_SCHEMAV_CVC_ELT_7, + XML_SCHEMAV_CVC_ATTRIBUTE_1, + XML_SCHEMAV_CVC_ATTRIBUTE_2, + XML_SCHEMAV_CVC_ATTRIBUTE_3, + XML_SCHEMAV_CVC_ATTRIBUTE_4, + XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1, + XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1, + XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2, + XML_SCHEMAV_CVC_COMPLEX_TYPE_4, + XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1, + XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2, + XML_SCHEMAV_ELEMENT_CONTENT, + XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING, + XML_SCHEMAV_CVC_COMPLEX_TYPE_1, + XML_SCHEMAV_CVC_AU, + XML_SCHEMAV_CVC_TYPE_1, + XML_SCHEMAV_CVC_TYPE_2, + XML_SCHEMAV_CVC_IDC, + XML_SCHEMAV_CVC_WILDCARD, + XML_SCHEMAV_MISC, + XML_XPTR_UNKNOWN_SCHEME = 1900, + XML_XPTR_CHILDSEQ_START, + XML_XPTR_EVAL_FAILED, + XML_XPTR_EXTRA_OBJECTS, + XML_C14N_CREATE_CTXT = 1950, + XML_C14N_REQUIRES_UTF8, + XML_C14N_CREATE_STACK, + XML_C14N_INVALID_NODE, + XML_C14N_UNKNOW_NODE, + XML_C14N_RELATIVE_NAMESPACE, + XML_FTP_PASV_ANSWER = 2000, + XML_FTP_EPSV_ANSWER, + XML_FTP_ACCNT, + XML_FTP_URL_SYNTAX, + XML_HTTP_URL_SYNTAX = 2020, + XML_HTTP_USE_IP, + XML_HTTP_UNKNOWN_HOST, + XML_SCHEMAP_SRC_SIMPLE_TYPE_1 = 3000, + XML_SCHEMAP_SRC_SIMPLE_TYPE_2, + XML_SCHEMAP_SRC_SIMPLE_TYPE_3, + XML_SCHEMAP_SRC_SIMPLE_TYPE_4, + XML_SCHEMAP_SRC_RESOLVE, + XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE, + XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE, + XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES, + XML_SCHEMAP_ST_PROPS_CORRECT_1, + XML_SCHEMAP_ST_PROPS_CORRECT_2, + XML_SCHEMAP_ST_PROPS_CORRECT_3, + XML_SCHEMAP_COS_ST_RESTRICTS_1_1, + XML_SCHEMAP_COS_ST_RESTRICTS_1_2, + XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1, + XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2, + XML_SCHEMAP_COS_ST_RESTRICTS_2_1, + XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1, + XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2, + XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1, + XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2, + XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3, + XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4, + XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5, + XML_SCHEMAP_COS_ST_RESTRICTS_3_1, + XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1, + XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2, + XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2, + XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1, + XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3, + XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4, + XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5, + XML_SCHEMAP_COS_ST_DERIVED_OK_2_1, + XML_SCHEMAP_COS_ST_DERIVED_OK_2_2, + XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED, + XML_SCHEMAP_S4S_ELEM_MISSING, + XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, + XML_SCHEMAP_S4S_ATTR_MISSING, + XML_SCHEMAP_S4S_ATTR_INVALID_VALUE, + XML_SCHEMAP_SRC_ELEMENT_1, + XML_SCHEMAP_SRC_ELEMENT_2_1, + XML_SCHEMAP_SRC_ELEMENT_2_2, + XML_SCHEMAP_SRC_ELEMENT_3, + XML_SCHEMAP_P_PROPS_CORRECT_1, + XML_SCHEMAP_P_PROPS_CORRECT_2_1, + XML_SCHEMAP_P_PROPS_CORRECT_2_2, + XML_SCHEMAP_E_PROPS_CORRECT_2, + XML_SCHEMAP_E_PROPS_CORRECT_3, + XML_SCHEMAP_E_PROPS_CORRECT_4, + XML_SCHEMAP_E_PROPS_CORRECT_5, + XML_SCHEMAP_E_PROPS_CORRECT_6, + XML_SCHEMAP_SRC_INCLUDE, + XML_SCHEMAP_SRC_ATTRIBUTE_1, + XML_SCHEMAP_SRC_ATTRIBUTE_2, + XML_SCHEMAP_SRC_ATTRIBUTE_3_1, + XML_SCHEMAP_SRC_ATTRIBUTE_3_2, + XML_SCHEMAP_SRC_ATTRIBUTE_4, + XML_SCHEMAP_NO_XMLNS, + XML_SCHEMAP_NO_XSI, + XML_SCHEMAP_COS_VALID_DEFAULT_1, + XML_SCHEMAP_COS_VALID_DEFAULT_2_1, + XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1, + XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2, + XML_SCHEMAP_CVC_SIMPLE_TYPE, + XML_SCHEMAP_COS_CT_EXTENDS_1_1, + XML_SCHEMAP_SRC_IMPORT_1_1, + XML_SCHEMAP_SRC_IMPORT_1_2, + XML_SCHEMAP_SRC_IMPORT_2, + XML_SCHEMAP_SRC_IMPORT_2_1, + XML_SCHEMAP_SRC_IMPORT_2_2, + XML_SCHEMAP_INTERNAL, + XML_SCHEMAP_NOT_DETERMINISTIC, + XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1, + XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2, + XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3, + XML_SCHEMAP_MG_PROPS_CORRECT_1, + XML_SCHEMAP_MG_PROPS_CORRECT_2, + XML_SCHEMAP_SRC_CT_1, + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3, + XML_SCHEMAP_AU_PROPS_CORRECT_2, + XML_SCHEMAP_A_PROPS_CORRECT_2, + XML_SCHEMAP_C_PROPS_CORRECT, + XML_SCHEMAP_SRC_REDEFINE, + XML_SCHEMAP_SRC_IMPORT, + XML_SCHEMAP_WARN_SKIP_SCHEMA, + XML_SCHEMAP_WARN_UNLOCATED_SCHEMA, + XML_SCHEMAP_WARN_ATTR_REDECL_PROH, + XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH, + XML_SCHEMAP_AG_PROPS_CORRECT, + XML_SCHEMAP_COS_CT_EXTENDS_1_2, + XML_SCHEMAP_AU_PROPS_CORRECT, + XML_SCHEMAP_A_PROPS_CORRECT_3, + XML_SCHEMAP_COS_ALL_LIMITED, + XML_SCHEMATRONV_ASSERT = 4000, + XML_SCHEMATRONV_REPORT, + XML_MODULE_OPEN = 4900, + XML_MODULE_CLOSE, + XML_CHECK_FOUND_ELEMENT = 5000, + XML_CHECK_FOUND_ATTRIBUTE, + XML_CHECK_FOUND_TEXT, + XML_CHECK_FOUND_CDATA, + XML_CHECK_FOUND_ENTITYREF, + XML_CHECK_FOUND_ENTITY, + XML_CHECK_FOUND_PI, + XML_CHECK_FOUND_COMMENT, + XML_CHECK_FOUND_DOCTYPE, + XML_CHECK_FOUND_FRAGMENT, + XML_CHECK_FOUND_NOTATION, + XML_CHECK_UNKNOWN_NODE, + XML_CHECK_ENTITY_TYPE, + XML_CHECK_NO_PARENT, + XML_CHECK_NO_DOC, + XML_CHECK_NO_NAME, + XML_CHECK_NO_ELEM, + XML_CHECK_WRONG_DOC, + XML_CHECK_NO_PREV, + XML_CHECK_WRONG_PREV, + XML_CHECK_NO_NEXT, + XML_CHECK_WRONG_NEXT, + XML_CHECK_NOT_DTD, + XML_CHECK_NOT_ATTR, + XML_CHECK_NOT_ATTR_DECL, + XML_CHECK_NOT_ELEM_DECL, + XML_CHECK_NOT_ENTITY_DECL, + XML_CHECK_NOT_NS_DECL, + XML_CHECK_NO_HREF, + XML_CHECK_WRONG_PARENT, + XML_CHECK_NS_SCOPE, + XML_CHECK_NS_ANCESTOR, + XML_CHECK_NOT_UTF8, + XML_CHECK_NO_DICT, + XML_CHECK_NOT_NCNAME, + XML_CHECK_OUTSIDE_DICT, + XML_CHECK_WRONG_NAME, + XML_CHECK_NAME_NOT_NULL, + XML_I18N_NO_NAME = 6000, + XML_I18N_NO_HANDLER, + XML_I18N_EXCESS_HANDLER, + XML_I18N_CONV_FAILED, + XML_I18N_NO_OUTPUT +} xmlParserErrors; +typedef void ( *xmlGenericErrorFunc) (void *ctx, + const char *msg, + ...) __attribute__((__format__(__printf__,2,3))); +typedef void ( *xmlStructuredErrorFunc) (void *userData, xmlErrorPtr error); + void + xmlSetGenericErrorFunc (void *ctx, + xmlGenericErrorFunc handler); + void + initGenericErrorDefaultFunc (xmlGenericErrorFunc *handler); + void + xmlSetStructuredErrorFunc (void *ctx, + xmlStructuredErrorFunc handler); + void + xmlParserError (void *ctx, + const char *msg, + ...) __attribute__((__format__(__printf__,2,3))); + void + xmlParserWarning (void *ctx, + const char *msg, + ...) __attribute__((__format__(__printf__,2,3))); + void + xmlParserValidityError (void *ctx, + const char *msg, + ...) __attribute__((__format__(__printf__,2,3))); + void + xmlParserValidityWarning (void *ctx, + const char *msg, + ...) __attribute__((__format__(__printf__,2,3))); + void + xmlParserPrintFileInfo (xmlParserInputPtr input); + void + xmlParserPrintFileContext (xmlParserInputPtr input); + xmlErrorPtr + xmlGetLastError (void); + void + xmlResetLastError (void); + xmlErrorPtr + xmlCtxtGetLastError (void *ctx); + void + xmlCtxtResetLastError (void *ctx); + void + xmlResetError (xmlErrorPtr err); + int + xmlCopyError (xmlErrorPtr from, + xmlErrorPtr to); +typedef struct _xmlLink xmlLink; +typedef xmlLink *xmlLinkPtr; +typedef struct _xmlList xmlList; +typedef xmlList *xmlListPtr; +typedef void (*xmlListDeallocator) (xmlLinkPtr lk); +typedef int (*xmlListDataCompare) (const void *data0, const void *data1); +typedef int (*xmlListWalker) (const void *data, const void *user); + xmlListPtr + xmlListCreate (xmlListDeallocator deallocator, + xmlListDataCompare compare); + void + xmlListDelete (xmlListPtr l); + void * + xmlListSearch (xmlListPtr l, + void *data); + void * + xmlListReverseSearch (xmlListPtr l, + void *data); + int + xmlListInsert (xmlListPtr l, + void *data) ; + int + xmlListAppend (xmlListPtr l, + void *data) ; + int + xmlListRemoveFirst (xmlListPtr l, + void *data); + int + xmlListRemoveLast (xmlListPtr l, + void *data); + int + xmlListRemoveAll (xmlListPtr l, + void *data); + void + xmlListClear (xmlListPtr l); + int + xmlListEmpty (xmlListPtr l); + xmlLinkPtr + xmlListFront (xmlListPtr l); + xmlLinkPtr + xmlListEnd (xmlListPtr l); + int + xmlListSize (xmlListPtr l); + void + xmlListPopFront (xmlListPtr l); + void + xmlListPopBack (xmlListPtr l); + int + xmlListPushFront (xmlListPtr l, + void *data); + int + xmlListPushBack (xmlListPtr l, + void *data); + void + xmlListReverse (xmlListPtr l); + void + xmlListSort (xmlListPtr l); + void + xmlListWalk (xmlListPtr l, + xmlListWalker walker, + const void *user); + void + xmlListReverseWalk (xmlListPtr l, + xmlListWalker walker, + const void *user); + void + xmlListMerge (xmlListPtr l1, + xmlListPtr l2); + xmlListPtr + xmlListDup (const xmlListPtr old); + int + xmlListCopy (xmlListPtr cur, + const xmlListPtr old); + void * + xmlLinkGetData (xmlLinkPtr lk); +typedef struct _xmlAutomata xmlAutomata; +typedef xmlAutomata *xmlAutomataPtr; +typedef struct _xmlAutomataState xmlAutomataState; +typedef xmlAutomataState *xmlAutomataStatePtr; + xmlAutomataPtr + xmlNewAutomata (void); + void + xmlFreeAutomata (xmlAutomataPtr am); + xmlAutomataStatePtr + xmlAutomataGetInitState (xmlAutomataPtr am); + int + xmlAutomataSetFinalState (xmlAutomataPtr am, + xmlAutomataStatePtr state); + xmlAutomataStatePtr + xmlAutomataNewState (xmlAutomataPtr am); + xmlAutomataStatePtr + xmlAutomataNewTransition (xmlAutomataPtr am, + xmlAutomataStatePtr from, + xmlAutomataStatePtr to, + const xmlChar *token, + void *data); + xmlAutomataStatePtr + xmlAutomataNewTransition2 (xmlAutomataPtr am, + xmlAutomataStatePtr from, + xmlAutomataStatePtr to, + const xmlChar *token, + const xmlChar *token2, + void *data); + xmlAutomataStatePtr + xmlAutomataNewNegTrans (xmlAutomataPtr am, + xmlAutomataStatePtr from, + xmlAutomataStatePtr to, + const xmlChar *token, + const xmlChar *token2, + void *data); + xmlAutomataStatePtr + xmlAutomataNewCountTrans (xmlAutomataPtr am, + xmlAutomataStatePtr from, + xmlAutomataStatePtr to, + const xmlChar *token, + int min, + int max, + void *data); + xmlAutomataStatePtr + xmlAutomataNewCountTrans2 (xmlAutomataPtr am, + xmlAutomataStatePtr from, + xmlAutomataStatePtr to, + const xmlChar *token, + const xmlChar *token2, + int min, + int max, + void *data); + xmlAutomataStatePtr + xmlAutomataNewOnceTrans (xmlAutomataPtr am, + xmlAutomataStatePtr from, + xmlAutomataStatePtr to, + const xmlChar *token, + int min, + int max, + void *data); + xmlAutomataStatePtr + xmlAutomataNewOnceTrans2 (xmlAutomataPtr am, + xmlAutomataStatePtr from, + xmlAutomataStatePtr to, + const xmlChar *token, + const xmlChar *token2, + int min, + int max, + void *data); + xmlAutomataStatePtr + xmlAutomataNewAllTrans (xmlAutomataPtr am, + xmlAutomataStatePtr from, + xmlAutomataStatePtr to, + int lax); + xmlAutomataStatePtr + xmlAutomataNewEpsilon (xmlAutomataPtr am, + xmlAutomataStatePtr from, + xmlAutomataStatePtr to); + xmlAutomataStatePtr + xmlAutomataNewCountedTrans (xmlAutomataPtr am, + xmlAutomataStatePtr from, + xmlAutomataStatePtr to, + int counter); + xmlAutomataStatePtr + xmlAutomataNewCounterTrans (xmlAutomataPtr am, + xmlAutomataStatePtr from, + xmlAutomataStatePtr to, + int counter); + int + xmlAutomataNewCounter (xmlAutomataPtr am, + int min, + int max); + xmlRegexpPtr + xmlAutomataCompile (xmlAutomataPtr am); + int + xmlAutomataIsDeterminist (xmlAutomataPtr am); +typedef struct _xmlValidState xmlValidState; +typedef xmlValidState *xmlValidStatePtr; +typedef void ( *xmlValidityErrorFunc) (void *ctx, + const char *msg, + ...) __attribute__((__format__(__printf__,2,3))); +typedef void ( *xmlValidityWarningFunc) (void *ctx, + const char *msg, + ...) __attribute__((__format__(__printf__,2,3))); +typedef struct _xmlValidCtxt xmlValidCtxt; +typedef xmlValidCtxt *xmlValidCtxtPtr; +struct _xmlValidCtxt { + void *userData; + xmlValidityErrorFunc error; + xmlValidityWarningFunc warning; + xmlNodePtr node; + int nodeNr; + int nodeMax; + xmlNodePtr *nodeTab; + unsigned int finishDtd; + xmlDocPtr doc; + int valid; + xmlValidState *vstate; + int vstateNr; + int vstateMax; + xmlValidState *vstateTab; + xmlAutomataPtr am; + xmlAutomataStatePtr state; +}; +typedef struct _xmlHashTable xmlNotationTable; +typedef xmlNotationTable *xmlNotationTablePtr; +typedef struct _xmlHashTable xmlElementTable; +typedef xmlElementTable *xmlElementTablePtr; +typedef struct _xmlHashTable xmlAttributeTable; +typedef xmlAttributeTable *xmlAttributeTablePtr; +typedef struct _xmlHashTable xmlIDTable; +typedef xmlIDTable *xmlIDTablePtr; +typedef struct _xmlHashTable xmlRefTable; +typedef xmlRefTable *xmlRefTablePtr; + xmlNotationPtr + xmlAddNotationDecl (xmlValidCtxtPtr ctxt, + xmlDtdPtr dtd, + const xmlChar *name, + const xmlChar *PublicID, + const xmlChar *SystemID); + xmlNotationTablePtr + xmlCopyNotationTable (xmlNotationTablePtr table); + void + xmlFreeNotationTable (xmlNotationTablePtr table); + void + xmlDumpNotationDecl (xmlBufferPtr buf, + xmlNotationPtr nota); + void + xmlDumpNotationTable (xmlBufferPtr buf, + xmlNotationTablePtr table); + xmlElementContentPtr + xmlNewElementContent (const xmlChar *name, + xmlElementContentType type); + xmlElementContentPtr + xmlCopyElementContent (xmlElementContentPtr content); + void + xmlFreeElementContent (xmlElementContentPtr cur); + xmlElementContentPtr + xmlNewDocElementContent (xmlDocPtr doc, + const xmlChar *name, + xmlElementContentType type); + xmlElementContentPtr + xmlCopyDocElementContent(xmlDocPtr doc, + xmlElementContentPtr content); + void + xmlFreeDocElementContent(xmlDocPtr doc, + xmlElementContentPtr cur); + void + xmlSnprintfElementContent(char *buf, + int size, + xmlElementContentPtr content, + int englob); + void + xmlSprintfElementContent(char *buf, + xmlElementContentPtr content, + int englob); + xmlElementPtr + xmlAddElementDecl (xmlValidCtxtPtr ctxt, + xmlDtdPtr dtd, + const xmlChar *name, + xmlElementTypeVal type, + xmlElementContentPtr content); + xmlElementTablePtr + xmlCopyElementTable (xmlElementTablePtr table); + void + xmlFreeElementTable (xmlElementTablePtr table); + void + xmlDumpElementTable (xmlBufferPtr buf, + xmlElementTablePtr table); + void + xmlDumpElementDecl (xmlBufferPtr buf, + xmlElementPtr elem); + xmlEnumerationPtr + xmlCreateEnumeration (const xmlChar *name); + void + xmlFreeEnumeration (xmlEnumerationPtr cur); + xmlEnumerationPtr + xmlCopyEnumeration (xmlEnumerationPtr cur); + xmlAttributePtr + xmlAddAttributeDecl (xmlValidCtxtPtr ctxt, + xmlDtdPtr dtd, + const xmlChar *elem, + const xmlChar *name, + const xmlChar *ns, + xmlAttributeType type, + xmlAttributeDefault def, + const xmlChar *defaultValue, + xmlEnumerationPtr tree); + xmlAttributeTablePtr + xmlCopyAttributeTable (xmlAttributeTablePtr table); + void + xmlFreeAttributeTable (xmlAttributeTablePtr table); + void + xmlDumpAttributeTable (xmlBufferPtr buf, + xmlAttributeTablePtr table); + void + xmlDumpAttributeDecl (xmlBufferPtr buf, + xmlAttributePtr attr); + xmlIDPtr + xmlAddID (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + const xmlChar *value, + xmlAttrPtr attr); + void + xmlFreeIDTable (xmlIDTablePtr table); + xmlAttrPtr + xmlGetID (xmlDocPtr doc, + const xmlChar *ID); + int + xmlIsID (xmlDocPtr doc, + xmlNodePtr elem, + xmlAttrPtr attr); + int + xmlRemoveID (xmlDocPtr doc, + xmlAttrPtr attr); + xmlRefPtr + xmlAddRef (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + const xmlChar *value, + xmlAttrPtr attr); + void + xmlFreeRefTable (xmlRefTablePtr table); + int + xmlIsRef (xmlDocPtr doc, + xmlNodePtr elem, + xmlAttrPtr attr); + int + xmlRemoveRef (xmlDocPtr doc, + xmlAttrPtr attr); + xmlListPtr + xmlGetRefs (xmlDocPtr doc, + const xmlChar *ID); + xmlValidCtxtPtr + xmlNewValidCtxt(void); + void + xmlFreeValidCtxt(xmlValidCtxtPtr); + int + xmlValidateRoot (xmlValidCtxtPtr ctxt, + xmlDocPtr doc); + int + xmlValidateElementDecl (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlElementPtr elem); + xmlChar * + xmlValidNormalizeAttributeValue(xmlDocPtr doc, + xmlNodePtr elem, + const xmlChar *name, + const xmlChar *value); + xmlChar * + xmlValidCtxtNormalizeAttributeValue(xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlNodePtr elem, + const xmlChar *name, + const xmlChar *value); + int + xmlValidateAttributeDecl(xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlAttributePtr attr); + int + xmlValidateAttributeValue(xmlAttributeType type, + const xmlChar *value); + int + xmlValidateNotationDecl (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlNotationPtr nota); + int + xmlValidateDtd (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlDtdPtr dtd); + int + xmlValidateDtdFinal (xmlValidCtxtPtr ctxt, + xmlDocPtr doc); + int + xmlValidateDocument (xmlValidCtxtPtr ctxt, + xmlDocPtr doc); + int + xmlValidateElement (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlNodePtr elem); + int + xmlValidateOneElement (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlNodePtr elem); + int + xmlValidateOneAttribute (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlNodePtr elem, + xmlAttrPtr attr, + const xmlChar *value); + int + xmlValidateOneNamespace (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlNodePtr elem, + const xmlChar *prefix, + xmlNsPtr ns, + const xmlChar *value); + int + xmlValidateDocumentFinal(xmlValidCtxtPtr ctxt, + xmlDocPtr doc); + int + xmlValidateNotationUse (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + const xmlChar *notationName); + int + xmlIsMixedElement (xmlDocPtr doc, + const xmlChar *name); + xmlAttributePtr + xmlGetDtdAttrDesc (xmlDtdPtr dtd, + const xmlChar *elem, + const xmlChar *name); + xmlAttributePtr + xmlGetDtdQAttrDesc (xmlDtdPtr dtd, + const xmlChar *elem, + const xmlChar *name, + const xmlChar *prefix); + xmlNotationPtr + xmlGetDtdNotationDesc (xmlDtdPtr dtd, + const xmlChar *name); + xmlElementPtr + xmlGetDtdQElementDesc (xmlDtdPtr dtd, + const xmlChar *name, + const xmlChar *prefix); + xmlElementPtr + xmlGetDtdElementDesc (xmlDtdPtr dtd, + const xmlChar *name); + int + xmlValidGetPotentialChildren(xmlElementContent *ctree, + const xmlChar **names, + int *len, + int max); + int + xmlValidGetValidElements(xmlNode *prev, + xmlNode *next, + const xmlChar **names, + int max); + int + xmlValidateNameValue (const xmlChar *value); + int + xmlValidateNamesValue (const xmlChar *value); + int + xmlValidateNmtokenValue (const xmlChar *value); + int + xmlValidateNmtokensValue(const xmlChar *value); + int + xmlValidBuildContentModel(xmlValidCtxtPtr ctxt, + xmlElementPtr elem); + int + xmlValidatePushElement (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlNodePtr elem, + const xmlChar *qname); + int + xmlValidatePushCData (xmlValidCtxtPtr ctxt, + const xmlChar *data, + int len); + int + xmlValidatePopElement (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlNodePtr elem, + const xmlChar *qname); +typedef enum { + XML_INTERNAL_GENERAL_ENTITY = 1, + XML_EXTERNAL_GENERAL_PARSED_ENTITY = 2, + XML_EXTERNAL_GENERAL_UNPARSED_ENTITY = 3, + XML_INTERNAL_PARAMETER_ENTITY = 4, + XML_EXTERNAL_PARAMETER_ENTITY = 5, + XML_INTERNAL_PREDEFINED_ENTITY = 6 +} xmlEntityType; +struct _xmlEntity { + void *_private; + xmlElementType type; + const xmlChar *name; + struct _xmlNode *children; + struct _xmlNode *last; + struct _xmlDtd *parent; + struct _xmlNode *next; + struct _xmlNode *prev; + struct _xmlDoc *doc; + xmlChar *orig; + xmlChar *content; + int length; + xmlEntityType etype; + const xmlChar *ExternalID; + const xmlChar *SystemID; + struct _xmlEntity *nexte; + const xmlChar *URI; + int owner; + int checked; +}; +typedef struct _xmlHashTable xmlEntitiesTable; +typedef xmlEntitiesTable *xmlEntitiesTablePtr; + void + xmlInitializePredefinedEntities (void); + xmlEntityPtr + xmlNewEntity (xmlDocPtr doc, + const xmlChar *name, + int type, + const xmlChar *ExternalID, + const xmlChar *SystemID, + const xmlChar *content); + xmlEntityPtr + xmlAddDocEntity (xmlDocPtr doc, + const xmlChar *name, + int type, + const xmlChar *ExternalID, + const xmlChar *SystemID, + const xmlChar *content); + xmlEntityPtr + xmlAddDtdEntity (xmlDocPtr doc, + const xmlChar *name, + int type, + const xmlChar *ExternalID, + const xmlChar *SystemID, + const xmlChar *content); + xmlEntityPtr + xmlGetPredefinedEntity (const xmlChar *name); + xmlEntityPtr + xmlGetDocEntity (xmlDocPtr doc, + const xmlChar *name); + xmlEntityPtr + xmlGetDtdEntity (xmlDocPtr doc, + const xmlChar *name); + xmlEntityPtr + xmlGetParameterEntity (xmlDocPtr doc, + const xmlChar *name); + const xmlChar * + xmlEncodeEntities (xmlDocPtr doc, + const xmlChar *input); + xmlChar * + xmlEncodeEntitiesReentrant(xmlDocPtr doc, + const xmlChar *input); + xmlChar * + xmlEncodeSpecialChars (xmlDocPtr doc, + const xmlChar *input); + xmlEntitiesTablePtr + xmlCreateEntitiesTable (void); + xmlEntitiesTablePtr + xmlCopyEntitiesTable (xmlEntitiesTablePtr table); + void + xmlFreeEntitiesTable (xmlEntitiesTablePtr table); + void + xmlDumpEntitiesTable (xmlBufferPtr buf, + xmlEntitiesTablePtr table); + void + xmlDumpEntityDecl (xmlBufferPtr buf, + xmlEntityPtr ent); + void + xmlCleanupPredefinedEntities(void); +typedef void (* xmlParserInputDeallocate)(xmlChar *str); +struct _xmlParserInput { + xmlParserInputBufferPtr buf; + const char *filename; + const char *directory; + const xmlChar *base; + const xmlChar *cur; + const xmlChar *end; + int length; + int line; + int col; + unsigned long consumed; + xmlParserInputDeallocate free; + const xmlChar *encoding; + const xmlChar *version; + int standalone; + int id; +}; +typedef struct _xmlParserNodeInfo xmlParserNodeInfo; +typedef xmlParserNodeInfo *xmlParserNodeInfoPtr; +struct _xmlParserNodeInfo { + const struct _xmlNode* node; + unsigned long begin_pos; + unsigned long begin_line; + unsigned long end_pos; + unsigned long end_line; +}; +typedef struct _xmlParserNodeInfoSeq xmlParserNodeInfoSeq; +typedef xmlParserNodeInfoSeq *xmlParserNodeInfoSeqPtr; +struct _xmlParserNodeInfoSeq { + unsigned long maximum; + unsigned long length; + xmlParserNodeInfo* buffer; +}; +typedef enum { + XML_PARSER_EOF = -1, + XML_PARSER_START = 0, + XML_PARSER_MISC, + XML_PARSER_PI, + XML_PARSER_DTD, + XML_PARSER_PROLOG, + XML_PARSER_COMMENT, + XML_PARSER_START_TAG, + XML_PARSER_CONTENT, + XML_PARSER_CDATA_SECTION, + XML_PARSER_END_TAG, + XML_PARSER_ENTITY_DECL, + XML_PARSER_ENTITY_VALUE, + XML_PARSER_ATTRIBUTE_VALUE, + XML_PARSER_SYSTEM_LITERAL, + XML_PARSER_EPILOG, + XML_PARSER_IGNORE, + XML_PARSER_PUBLIC_LITERAL +} xmlParserInputState; +typedef enum { + XML_PARSE_UNKNOWN = 0, + XML_PARSE_DOM = 1, + XML_PARSE_SAX = 2, + XML_PARSE_PUSH_DOM = 3, + XML_PARSE_PUSH_SAX = 4, + XML_PARSE_READER = 5 +} xmlParserMode; +struct _xmlParserCtxt { + struct _xmlSAXHandler *sax; + void *userData; + xmlDocPtr myDoc; + int wellFormed; + int replaceEntities; + const xmlChar *version; + const xmlChar *encoding; + int standalone; + int html; + xmlParserInputPtr input; + int inputNr; + int inputMax; + xmlParserInputPtr *inputTab; + xmlNodePtr node; + int nodeNr; + int nodeMax; + xmlNodePtr *nodeTab; + int record_info; + xmlParserNodeInfoSeq node_seq; + int errNo; + int hasExternalSubset; + int hasPErefs; + int external; + int valid; + int validate; + xmlValidCtxt vctxt; + xmlParserInputState instate; + int token; + char *directory; + const xmlChar *name; + int nameNr; + int nameMax; + const xmlChar * *nameTab; + long nbChars; + long checkIndex; + int keepBlanks; + int disableSAX; + int inSubset; + const xmlChar * intSubName; + xmlChar * extSubURI; + xmlChar * extSubSystem; + int * space; + int spaceNr; + int spaceMax; + int * spaceTab; + int depth; + xmlParserInputPtr entity; + int charset; + int nodelen; + int nodemem; + int pedantic; + void *_private; + int loadsubset; + int linenumbers; + void *catalogs; + int recovery; + int progressive; + xmlDictPtr dict; + const xmlChar * *atts; + int maxatts; + int docdict; + const xmlChar *str_xml; + const xmlChar *str_xmlns; + const xmlChar *str_xml_ns; + int sax2; + int nsNr; + int nsMax; + const xmlChar * *nsTab; + int *attallocs; + void * *pushTab; + xmlHashTablePtr attsDefault; + xmlHashTablePtr attsSpecial; + int nsWellFormed; + int options; + int dictNames; + int freeElemsNr; + xmlNodePtr freeElems; + int freeAttrsNr; + xmlAttrPtr freeAttrs; + xmlError lastError; + xmlParserMode parseMode; + unsigned long nbentities; + unsigned long sizeentities; +}; +struct _xmlSAXLocator { + const xmlChar *(*getPublicId)(void *ctx); + const xmlChar *(*getSystemId)(void *ctx); + int (*getLineNumber)(void *ctx); + int (*getColumnNumber)(void *ctx); +}; +typedef xmlParserInputPtr (*resolveEntitySAXFunc) (void *ctx, + const xmlChar *publicId, + const xmlChar *systemId); +typedef void (*internalSubsetSAXFunc) (void *ctx, + const xmlChar *name, + const xmlChar *ExternalID, + const xmlChar *SystemID); +typedef void (*externalSubsetSAXFunc) (void *ctx, + const xmlChar *name, + const xmlChar *ExternalID, + const xmlChar *SystemID); +typedef xmlEntityPtr (*getEntitySAXFunc) (void *ctx, + const xmlChar *name); +typedef xmlEntityPtr (*getParameterEntitySAXFunc) (void *ctx, + const xmlChar *name); +typedef void (*entityDeclSAXFunc) (void *ctx, + const xmlChar *name, + int type, + const xmlChar *publicId, + const xmlChar *systemId, + xmlChar *content); +typedef void (*notationDeclSAXFunc)(void *ctx, + const xmlChar *name, + const xmlChar *publicId, + const xmlChar *systemId); +typedef void (*attributeDeclSAXFunc)(void *ctx, + const xmlChar *elem, + const xmlChar *fullname, + int type, + int def, + const xmlChar *defaultValue, + xmlEnumerationPtr tree); +typedef void (*elementDeclSAXFunc)(void *ctx, + const xmlChar *name, + int type, + xmlElementContentPtr content); +typedef void (*unparsedEntityDeclSAXFunc)(void *ctx, + const xmlChar *name, + const xmlChar *publicId, + const xmlChar *systemId, + const xmlChar *notationName); +typedef void (*setDocumentLocatorSAXFunc) (void *ctx, + xmlSAXLocatorPtr loc); +typedef void (*startDocumentSAXFunc) (void *ctx); +typedef void (*endDocumentSAXFunc) (void *ctx); +typedef void (*startElementSAXFunc) (void *ctx, + const xmlChar *name, + const xmlChar **atts); +typedef void (*endElementSAXFunc) (void *ctx, + const xmlChar *name); +typedef void (*attributeSAXFunc) (void *ctx, + const xmlChar *name, + const xmlChar *value); +typedef void (*referenceSAXFunc) (void *ctx, + const xmlChar *name); +typedef void (*charactersSAXFunc) (void *ctx, + const xmlChar *ch, + int len); +typedef void (*ignorableWhitespaceSAXFunc) (void *ctx, + const xmlChar *ch, + int len); +typedef void (*processingInstructionSAXFunc) (void *ctx, + const xmlChar *target, + const xmlChar *data); +typedef void (*commentSAXFunc) (void *ctx, + const xmlChar *value); +typedef void (*cdataBlockSAXFunc) ( + void *ctx, + const xmlChar *value, + int len); +typedef void ( *warningSAXFunc) (void *ctx, + const char *msg, ...) __attribute__((__format__(__printf__,2,3))); +typedef void ( *errorSAXFunc) (void *ctx, + const char *msg, ...) __attribute__((__format__(__printf__,2,3))); +typedef void ( *fatalErrorSAXFunc) (void *ctx, + const char *msg, ...) __attribute__((__format__(__printf__,2,3))); +typedef int (*isStandaloneSAXFunc) (void *ctx); +typedef int (*hasInternalSubsetSAXFunc) (void *ctx); +typedef int (*hasExternalSubsetSAXFunc) (void *ctx); +typedef void (*startElementNsSAX2Func) (void *ctx, + const xmlChar *localname, + const xmlChar *prefix, + const xmlChar *URI, + int nb_namespaces, + const xmlChar **namespaces, + int nb_attributes, + int nb_defaulted, + const xmlChar **attributes); +typedef void (*endElementNsSAX2Func) (void *ctx, + const xmlChar *localname, + const xmlChar *prefix, + const xmlChar *URI); +struct _xmlSAXHandler { + internalSubsetSAXFunc internalSubset; + isStandaloneSAXFunc isStandalone; + hasInternalSubsetSAXFunc hasInternalSubset; + hasExternalSubsetSAXFunc hasExternalSubset; + resolveEntitySAXFunc resolveEntity; + getEntitySAXFunc getEntity; + entityDeclSAXFunc entityDecl; + notationDeclSAXFunc notationDecl; + attributeDeclSAXFunc attributeDecl; + elementDeclSAXFunc elementDecl; + unparsedEntityDeclSAXFunc unparsedEntityDecl; + setDocumentLocatorSAXFunc setDocumentLocator; + startDocumentSAXFunc startDocument; + endDocumentSAXFunc endDocument; + startElementSAXFunc startElement; + endElementSAXFunc endElement; + referenceSAXFunc reference; + charactersSAXFunc characters; + ignorableWhitespaceSAXFunc ignorableWhitespace; + processingInstructionSAXFunc processingInstruction; + commentSAXFunc comment; + warningSAXFunc warning; + errorSAXFunc error; + fatalErrorSAXFunc fatalError; + getParameterEntitySAXFunc getParameterEntity; + cdataBlockSAXFunc cdataBlock; + externalSubsetSAXFunc externalSubset; + unsigned int initialized; + void *_private; + startElementNsSAX2Func startElementNs; + endElementNsSAX2Func endElementNs; + xmlStructuredErrorFunc serror; +}; +typedef struct _xmlSAXHandlerV1 xmlSAXHandlerV1; +typedef xmlSAXHandlerV1 *xmlSAXHandlerV1Ptr; +struct _xmlSAXHandlerV1 { + internalSubsetSAXFunc internalSubset; + isStandaloneSAXFunc isStandalone; + hasInternalSubsetSAXFunc hasInternalSubset; + hasExternalSubsetSAXFunc hasExternalSubset; + resolveEntitySAXFunc resolveEntity; + getEntitySAXFunc getEntity; + entityDeclSAXFunc entityDecl; + notationDeclSAXFunc notationDecl; + attributeDeclSAXFunc attributeDecl; + elementDeclSAXFunc elementDecl; + unparsedEntityDeclSAXFunc unparsedEntityDecl; + setDocumentLocatorSAXFunc setDocumentLocator; + startDocumentSAXFunc startDocument; + endDocumentSAXFunc endDocument; + startElementSAXFunc startElement; + endElementSAXFunc endElement; + referenceSAXFunc reference; + charactersSAXFunc characters; + ignorableWhitespaceSAXFunc ignorableWhitespace; + processingInstructionSAXFunc processingInstruction; + commentSAXFunc comment; + warningSAXFunc warning; + errorSAXFunc error; + fatalErrorSAXFunc fatalError; + getParameterEntitySAXFunc getParameterEntity; + cdataBlockSAXFunc cdataBlock; + externalSubsetSAXFunc externalSubset; + unsigned int initialized; +}; +typedef xmlParserInputPtr (*xmlExternalEntityLoader) (const char *URL, + const char *ID, + xmlParserCtxtPtr context); +typedef void *iconv_t; +extern iconv_t iconv_open (__const char *__tocode, __const char *__fromcode); +extern size_t iconv (iconv_t __cd, char **__restrict __inbuf, + size_t *__restrict __inbytesleft, + char **__restrict __outbuf, + size_t *__restrict __outbytesleft); +extern int iconv_close (iconv_t __cd); +typedef enum { + XML_CHAR_ENCODING_ERROR= -1, + XML_CHAR_ENCODING_NONE= 0, + XML_CHAR_ENCODING_UTF8= 1, + XML_CHAR_ENCODING_UTF16LE= 2, + XML_CHAR_ENCODING_UTF16BE= 3, + XML_CHAR_ENCODING_UCS4LE= 4, + XML_CHAR_ENCODING_UCS4BE= 5, + XML_CHAR_ENCODING_EBCDIC= 6, + XML_CHAR_ENCODING_UCS4_2143=7, + XML_CHAR_ENCODING_UCS4_3412=8, + XML_CHAR_ENCODING_UCS2= 9, + XML_CHAR_ENCODING_8859_1= 10, + XML_CHAR_ENCODING_8859_2= 11, + XML_CHAR_ENCODING_8859_3= 12, + XML_CHAR_ENCODING_8859_4= 13, + XML_CHAR_ENCODING_8859_5= 14, + XML_CHAR_ENCODING_8859_6= 15, + XML_CHAR_ENCODING_8859_7= 16, + XML_CHAR_ENCODING_8859_8= 17, + XML_CHAR_ENCODING_8859_9= 18, + XML_CHAR_ENCODING_2022_JP= 19, + XML_CHAR_ENCODING_SHIFT_JIS=20, + XML_CHAR_ENCODING_EUC_JP= 21, + XML_CHAR_ENCODING_ASCII= 22 +} xmlCharEncoding; +typedef int (* xmlCharEncodingInputFunc)(unsigned char *out, int *outlen, + const unsigned char *in, int *inlen); +typedef int (* xmlCharEncodingOutputFunc)(unsigned char *out, int *outlen, + const unsigned char *in, int *inlen); +typedef struct _xmlCharEncodingHandler xmlCharEncodingHandler; +typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr; +struct _xmlCharEncodingHandler { + char *name; + xmlCharEncodingInputFunc input; + xmlCharEncodingOutputFunc output; + iconv_t iconv_in; + iconv_t iconv_out; +}; + void + xmlInitCharEncodingHandlers (void); + void + xmlCleanupCharEncodingHandlers (void); + void + xmlRegisterCharEncodingHandler (xmlCharEncodingHandlerPtr handler); + xmlCharEncodingHandlerPtr + xmlGetCharEncodingHandler (xmlCharEncoding enc); + xmlCharEncodingHandlerPtr + xmlFindCharEncodingHandler (const char *name); + xmlCharEncodingHandlerPtr + xmlNewCharEncodingHandler (const char *name, + xmlCharEncodingInputFunc input, + xmlCharEncodingOutputFunc output); + int + xmlAddEncodingAlias (const char *name, + const char *alias); + int + xmlDelEncodingAlias (const char *alias); + const char * + xmlGetEncodingAlias (const char *alias); + void + xmlCleanupEncodingAliases (void); + xmlCharEncoding + xmlParseCharEncoding (const char *name); + const char * + xmlGetCharEncodingName (xmlCharEncoding enc); + xmlCharEncoding + xmlDetectCharEncoding (const unsigned char *in, + int len); + int + xmlCharEncOutFunc (xmlCharEncodingHandler *handler, + xmlBufferPtr out, + xmlBufferPtr in); + int + xmlCharEncInFunc (xmlCharEncodingHandler *handler, + xmlBufferPtr out, + xmlBufferPtr in); + int + xmlCharEncFirstLine (xmlCharEncodingHandler *handler, + xmlBufferPtr out, + xmlBufferPtr in); + int + xmlCharEncCloseFunc (xmlCharEncodingHandler *handler); + int + UTF8Toisolat1 (unsigned char *out, + int *outlen, + const unsigned char *in, + int *inlen); + int + isolat1ToUTF8 (unsigned char *out, + int *outlen, + const unsigned char *in, + int *inlen); +typedef int ( *xmlInputMatchCallback) (char const *filename); +typedef void * ( *xmlInputOpenCallback) (char const *filename); +typedef int ( *xmlInputReadCallback) (void * context, char * buffer, int len); +typedef int ( *xmlInputCloseCallback) (void * context); +typedef int ( *xmlOutputMatchCallback) (char const *filename); +typedef void * ( *xmlOutputOpenCallback) (char const *filename); +typedef int ( *xmlOutputWriteCallback) (void * context, const char * buffer, + int len); +typedef int ( *xmlOutputCloseCallback) (void * context); +typedef xmlChar *xlinkHRef; +typedef xmlChar *xlinkRole; +typedef xmlChar *xlinkTitle; +typedef enum { + XLINK_TYPE_NONE = 0, + XLINK_TYPE_SIMPLE, + XLINK_TYPE_EXTENDED, + XLINK_TYPE_EXTENDED_SET +} xlinkType; +typedef enum { + XLINK_SHOW_NONE = 0, + XLINK_SHOW_NEW, + XLINK_SHOW_EMBED, + XLINK_SHOW_REPLACE +} xlinkShow; +typedef enum { + XLINK_ACTUATE_NONE = 0, + XLINK_ACTUATE_AUTO, + XLINK_ACTUATE_ONREQUEST +} xlinkActuate; +typedef void (*xlinkNodeDetectFunc) (void *ctx, xmlNodePtr node); +typedef void +(*xlinkSimpleLinkFunk) (void *ctx, + xmlNodePtr node, + const xlinkHRef href, + const xlinkRole role, + const xlinkTitle title); +typedef void +(*xlinkExtendedLinkFunk)(void *ctx, + xmlNodePtr node, + int nbLocators, + const xlinkHRef *hrefs, + const xlinkRole *roles, + int nbArcs, + const xlinkRole *from, + const xlinkRole *to, + xlinkShow *show, + xlinkActuate *actuate, + int nbTitles, + const xlinkTitle *titles, + const xmlChar **langs); +typedef void +(*xlinkExtendedLinkSetFunk) (void *ctx, + xmlNodePtr node, + int nbLocators, + const xlinkHRef *hrefs, + const xlinkRole *roles, + int nbTitles, + const xlinkTitle *titles, + const xmlChar **langs); +typedef struct _xlinkHandler xlinkHandler; +typedef xlinkHandler *xlinkHandlerPtr; +struct _xlinkHandler { + xlinkSimpleLinkFunk simple; + xlinkExtendedLinkFunk extended; + xlinkExtendedLinkSetFunk set; +}; + xlinkNodeDetectFunc + xlinkGetDefaultDetect (void); + void + xlinkSetDefaultDetect (xlinkNodeDetectFunc func); + xlinkHandlerPtr + xlinkGetDefaultHandler (void); + void + xlinkSetDefaultHandler (xlinkHandlerPtr handler); + xlinkType + xlinkIsLink (xmlDocPtr doc, + xmlNodePtr node); + const xmlChar * + getPublicId (void *ctx); + const xmlChar * + getSystemId (void *ctx); + void + setDocumentLocator (void *ctx, + xmlSAXLocatorPtr loc); + int + getLineNumber (void *ctx); + int + getColumnNumber (void *ctx); + int + isStandalone (void *ctx); + int + hasInternalSubset (void *ctx); + int + hasExternalSubset (void *ctx); + void + internalSubset (void *ctx, + const xmlChar *name, + const xmlChar *ExternalID, + const xmlChar *SystemID); + void + externalSubset (void *ctx, + const xmlChar *name, + const xmlChar *ExternalID, + const xmlChar *SystemID); + xmlEntityPtr + getEntity (void *ctx, + const xmlChar *name); + xmlEntityPtr + getParameterEntity (void *ctx, + const xmlChar *name); + xmlParserInputPtr + resolveEntity (void *ctx, + const xmlChar *publicId, + const xmlChar *systemId); + void + entityDecl (void *ctx, + const xmlChar *name, + int type, + const xmlChar *publicId, + const xmlChar *systemId, + xmlChar *content); + void + attributeDecl (void *ctx, + const xmlChar *elem, + const xmlChar *fullname, + int type, + int def, + const xmlChar *defaultValue, + xmlEnumerationPtr tree); + void + elementDecl (void *ctx, + const xmlChar *name, + int type, + xmlElementContentPtr content); + void + notationDecl (void *ctx, + const xmlChar *name, + const xmlChar *publicId, + const xmlChar *systemId); + void + unparsedEntityDecl (void *ctx, + const xmlChar *name, + const xmlChar *publicId, + const xmlChar *systemId, + const xmlChar *notationName); + void + startDocument (void *ctx); + void + endDocument (void *ctx); + void + attribute (void *ctx, + const xmlChar *fullname, + const xmlChar *value); + void + startElement (void *ctx, + const xmlChar *fullname, + const xmlChar **atts); + void + endElement (void *ctx, + const xmlChar *name); + void + reference (void *ctx, + const xmlChar *name); + void + characters (void *ctx, + const xmlChar *ch, + int len); + void + ignorableWhitespace (void *ctx, + const xmlChar *ch, + int len); + void + processingInstruction (void *ctx, + const xmlChar *target, + const xmlChar *data); + void + globalNamespace (void *ctx, + const xmlChar *href, + const xmlChar *prefix); + void + setNamespace (void *ctx, + const xmlChar *name); + xmlNsPtr + getNamespace (void *ctx); + int + checkNamespace (void *ctx, + xmlChar *nameSpace); + void + namespaceDecl (void *ctx, + const xmlChar *href, + const xmlChar *prefix); + void + comment (void *ctx, + const xmlChar *value); + void + cdataBlock (void *ctx, + const xmlChar *value, + int len); + void + initxmlDefaultSAXHandler (xmlSAXHandlerV1 *hdlr, + int warning); + void + inithtmlDefaultSAXHandler (xmlSAXHandlerV1 *hdlr); + void + initdocbDefaultSAXHandler (xmlSAXHandlerV1 *hdlr); + const xmlChar * + xmlSAX2GetPublicId (void *ctx); + const xmlChar * + xmlSAX2GetSystemId (void *ctx); + void + xmlSAX2SetDocumentLocator (void *ctx, + xmlSAXLocatorPtr loc); + int + xmlSAX2GetLineNumber (void *ctx); + int + xmlSAX2GetColumnNumber (void *ctx); + int + xmlSAX2IsStandalone (void *ctx); + int + xmlSAX2HasInternalSubset (void *ctx); + int + xmlSAX2HasExternalSubset (void *ctx); + void + xmlSAX2InternalSubset (void *ctx, + const xmlChar *name, + const xmlChar *ExternalID, + const xmlChar *SystemID); + void + xmlSAX2ExternalSubset (void *ctx, + const xmlChar *name, + const xmlChar *ExternalID, + const xmlChar *SystemID); + xmlEntityPtr + xmlSAX2GetEntity (void *ctx, + const xmlChar *name); + xmlEntityPtr + xmlSAX2GetParameterEntity (void *ctx, + const xmlChar *name); + xmlParserInputPtr + xmlSAX2ResolveEntity (void *ctx, + const xmlChar *publicId, + const xmlChar *systemId); + void + xmlSAX2EntityDecl (void *ctx, + const xmlChar *name, + int type, + const xmlChar *publicId, + const xmlChar *systemId, + xmlChar *content); + void + xmlSAX2AttributeDecl (void *ctx, + const xmlChar *elem, + const xmlChar *fullname, + int type, + int def, + const xmlChar *defaultValue, + xmlEnumerationPtr tree); + void + xmlSAX2ElementDecl (void *ctx, + const xmlChar *name, + int type, + xmlElementContentPtr content); + void + xmlSAX2NotationDecl (void *ctx, + const xmlChar *name, + const xmlChar *publicId, + const xmlChar *systemId); + void + xmlSAX2UnparsedEntityDecl (void *ctx, + const xmlChar *name, + const xmlChar *publicId, + const xmlChar *systemId, + const xmlChar *notationName); + void + xmlSAX2StartDocument (void *ctx); + void + xmlSAX2EndDocument (void *ctx); + void + xmlSAX2StartElement (void *ctx, + const xmlChar *fullname, + const xmlChar **atts); + void + xmlSAX2EndElement (void *ctx, + const xmlChar *name); + void + xmlSAX2StartElementNs (void *ctx, + const xmlChar *localname, + const xmlChar *prefix, + const xmlChar *URI, + int nb_namespaces, + const xmlChar **namespaces, + int nb_attributes, + int nb_defaulted, + const xmlChar **attributes); + void + xmlSAX2EndElementNs (void *ctx, + const xmlChar *localname, + const xmlChar *prefix, + const xmlChar *URI); + void + xmlSAX2Reference (void *ctx, + const xmlChar *name); + void + xmlSAX2Characters (void *ctx, + const xmlChar *ch, + int len); + void + xmlSAX2IgnorableWhitespace (void *ctx, + const xmlChar *ch, + int len); + void + xmlSAX2ProcessingInstruction (void *ctx, + const xmlChar *target, + const xmlChar *data); + void + xmlSAX2Comment (void *ctx, + const xmlChar *value); + void + xmlSAX2CDataBlock (void *ctx, + const xmlChar *value, + int len); + int + xmlSAXDefaultVersion (int version); + int + xmlSAXVersion (xmlSAXHandler *hdlr, + int version); + void + xmlSAX2InitDefaultSAXHandler (xmlSAXHandler *hdlr, + int warning); + void + xmlSAX2InitHtmlDefaultSAXHandler(xmlSAXHandler *hdlr); + void + htmlDefaultSAXHandlerInit (void); + void + xmlSAX2InitDocbDefaultSAXHandler(xmlSAXHandler *hdlr); + void + docbDefaultSAXHandlerInit (void); + void + xmlDefaultSAXHandlerInit (void); +typedef void ( *xmlFreeFunc)(void *mem); +typedef void *(__attribute__((alloc_size(1))) *xmlMallocFunc)(size_t size); +typedef void *( *xmlReallocFunc)(void *mem, size_t size); +typedef char *( *xmlStrdupFunc)(const char *str); + int + xmlMemSetup (xmlFreeFunc freeFunc, + xmlMallocFunc mallocFunc, + xmlReallocFunc reallocFunc, + xmlStrdupFunc strdupFunc); + int + xmlMemGet (xmlFreeFunc *freeFunc, + xmlMallocFunc *mallocFunc, + xmlReallocFunc *reallocFunc, + xmlStrdupFunc *strdupFunc); + int + xmlGcMemSetup (xmlFreeFunc freeFunc, + xmlMallocFunc mallocFunc, + xmlMallocFunc mallocAtomicFunc, + xmlReallocFunc reallocFunc, + xmlStrdupFunc strdupFunc); + int + xmlGcMemGet (xmlFreeFunc *freeFunc, + xmlMallocFunc *mallocFunc, + xmlMallocFunc *mallocAtomicFunc, + xmlReallocFunc *reallocFunc, + xmlStrdupFunc *strdupFunc); + int + xmlInitMemory (void); + void + xmlCleanupMemory (void); + int + xmlMemUsed (void); + int + xmlMemBlocks (void); + void + xmlMemDisplay (FILE *fp); + void + xmlMemDisplayLast(FILE *fp, long nbBytes); + void + xmlMemShow (FILE *fp, int nr); + void + xmlMemoryDump (void); + void * + xmlMemMalloc (size_t size) __attribute__((alloc_size(1))); + void * + xmlMemRealloc (void *ptr,size_t size); + void + xmlMemFree (void *ptr); + char * + xmlMemoryStrdup (const char *str); + void * + xmlMallocLoc (size_t size, const char *file, int line) __attribute__((alloc_size(1))); + void * + xmlReallocLoc (void *ptr, size_t size, const char *file, int line); + void * + xmlMallocAtomicLoc (size_t size, const char *file, int line) __attribute__((alloc_size(1))); + char * + xmlMemStrdupLoc (const char *str, const char *file, int line); + void xmlInitGlobals(void); + void xmlCleanupGlobals(void); +typedef xmlParserInputBufferPtr (*xmlParserInputBufferCreateFilenameFunc) (const char *URI, xmlCharEncoding enc); +typedef xmlOutputBufferPtr (*xmlOutputBufferCreateFilenameFunc) (const char *URI, xmlCharEncodingHandlerPtr encoder, int compression); + xmlParserInputBufferCreateFilenameFunc + xmlParserInputBufferCreateFilenameDefault (xmlParserInputBufferCreateFilenameFunc func); + xmlOutputBufferCreateFilenameFunc + xmlOutputBufferCreateFilenameDefault (xmlOutputBufferCreateFilenameFunc func); +typedef void (*xmlRegisterNodeFunc) (xmlNodePtr node); +typedef void (*xmlDeregisterNodeFunc) (xmlNodePtr node); +typedef struct _xmlGlobalState xmlGlobalState; +typedef xmlGlobalState *xmlGlobalStatePtr; +struct _xmlGlobalState +{ + const char *xmlParserVersion; + xmlSAXLocator xmlDefaultSAXLocator; + xmlSAXHandlerV1 xmlDefaultSAXHandler; + xmlSAXHandlerV1 docbDefaultSAXHandler; + xmlSAXHandlerV1 htmlDefaultSAXHandler; + xmlFreeFunc xmlFree; + xmlMallocFunc xmlMalloc; + xmlStrdupFunc xmlMemStrdup; + xmlReallocFunc xmlRealloc; + xmlGenericErrorFunc xmlGenericError; + xmlStructuredErrorFunc xmlStructuredError; + void *xmlGenericErrorContext; + int oldXMLWDcompatibility; + xmlBufferAllocationScheme xmlBufferAllocScheme; + int xmlDefaultBufferSize; + int xmlSubstituteEntitiesDefaultValue; + int xmlDoValidityCheckingDefaultValue; + int xmlGetWarningsDefaultValue; + int xmlKeepBlanksDefaultValue; + int xmlLineNumbersDefaultValue; + int xmlLoadExtDtdDefaultValue; + int xmlParserDebugEntities; + int xmlPedanticParserDefaultValue; + int xmlSaveNoEmptyTags; + int xmlIndentTreeOutput; + const char *xmlTreeIndentString; + xmlRegisterNodeFunc xmlRegisterNodeDefaultValue; + xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue; + xmlMallocFunc xmlMallocAtomic; + xmlError xmlLastError; + xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue; + xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue; + void *xmlStructuredErrorContext; +}; +typedef struct _xmlMutex xmlMutex; +typedef xmlMutex *xmlMutexPtr; +typedef struct _xmlRMutex xmlRMutex; +typedef xmlRMutex *xmlRMutexPtr; + xmlMutexPtr + xmlNewMutex (void); + void + xmlMutexLock (xmlMutexPtr tok); + void + xmlMutexUnlock (xmlMutexPtr tok); + void + xmlFreeMutex (xmlMutexPtr tok); + xmlRMutexPtr + xmlNewRMutex (void); + void + xmlRMutexLock (xmlRMutexPtr tok); + void + xmlRMutexUnlock (xmlRMutexPtr tok); + void + xmlFreeRMutex (xmlRMutexPtr tok); + void + xmlInitThreads (void); + void + xmlLockLibrary (void); + void + xmlUnlockLibrary(void); + int + xmlGetThreadId (void); + int + xmlIsMainThread (void); + void + xmlCleanupThreads(void); + xmlGlobalStatePtr + xmlGetGlobalState(void); + void xmlInitializeGlobalState(xmlGlobalStatePtr gs); + void xmlThrDefSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler); + void xmlThrDefSetStructuredErrorFunc(void *ctx, xmlStructuredErrorFunc handler); + xmlRegisterNodeFunc xmlRegisterNodeDefault(xmlRegisterNodeFunc func); + xmlRegisterNodeFunc xmlThrDefRegisterNodeDefault(xmlRegisterNodeFunc func); + xmlDeregisterNodeFunc xmlDeregisterNodeDefault(xmlDeregisterNodeFunc func); + xmlDeregisterNodeFunc xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func); + xmlOutputBufferCreateFilenameFunc + xmlThrDefOutputBufferCreateFilenameDefault(xmlOutputBufferCreateFilenameFunc func); + xmlParserInputBufferCreateFilenameFunc + xmlThrDefParserInputBufferCreateFilenameDefault(xmlParserInputBufferCreateFilenameFunc func); +extern xmlMallocFunc xmlMalloc; +extern xmlMallocFunc xmlMallocAtomic; +extern xmlReallocFunc xmlRealloc; +extern xmlFreeFunc xmlFree; +extern xmlStrdupFunc xmlMemStrdup; + xmlSAXHandlerV1 * __docbDefaultSAXHandler(void); + xmlSAXHandlerV1 * __htmlDefaultSAXHandler(void); + xmlError * __xmlLastError(void); + int * __oldXMLWDcompatibility(void); + xmlBufferAllocationScheme * __xmlBufferAllocScheme(void); + xmlBufferAllocationScheme xmlThrDefBufferAllocScheme(xmlBufferAllocationScheme v); + int * __xmlDefaultBufferSize(void); + int xmlThrDefDefaultBufferSize(int v); + xmlSAXHandlerV1 * __xmlDefaultSAXHandler(void); + xmlSAXLocator * __xmlDefaultSAXLocator(void); + int * __xmlDoValidityCheckingDefaultValue(void); + int xmlThrDefDoValidityCheckingDefaultValue(int v); + xmlGenericErrorFunc * __xmlGenericError(void); + xmlStructuredErrorFunc * __xmlStructuredError(void); + void * * __xmlGenericErrorContext(void); + void * * __xmlStructuredErrorContext(void); + int * __xmlGetWarningsDefaultValue(void); + int xmlThrDefGetWarningsDefaultValue(int v); + int * __xmlIndentTreeOutput(void); + int xmlThrDefIndentTreeOutput(int v); + const char * * __xmlTreeIndentString(void); + const char * xmlThrDefTreeIndentString(const char * v); + int * __xmlKeepBlanksDefaultValue(void); + int xmlThrDefKeepBlanksDefaultValue(int v); + int * __xmlLineNumbersDefaultValue(void); + int xmlThrDefLineNumbersDefaultValue(int v); + int * __xmlLoadExtDtdDefaultValue(void); + int xmlThrDefLoadExtDtdDefaultValue(int v); + int * __xmlParserDebugEntities(void); + int xmlThrDefParserDebugEntities(int v); + const char * * __xmlParserVersion(void); + int * __xmlPedanticParserDefaultValue(void); + int xmlThrDefPedanticParserDefaultValue(int v); + int * __xmlSaveNoEmptyTags(void); + int xmlThrDefSaveNoEmptyTags(int v); + int * __xmlSubstituteEntitiesDefaultValue(void); + int xmlThrDefSubstituteEntitiesDefaultValue(int v); + xmlRegisterNodeFunc * __xmlRegisterNodeDefaultValue(void); + xmlDeregisterNodeFunc * __xmlDeregisterNodeDefaultValue(void); + xmlParserInputBufferCreateFilenameFunc * __xmlParserInputBufferCreateFilenameValue(void); + xmlOutputBufferCreateFilenameFunc * __xmlOutputBufferCreateFilenameValue(void); +struct _xmlParserInputBuffer { + void* context; + xmlInputReadCallback readcallback; + xmlInputCloseCallback closecallback; + xmlCharEncodingHandlerPtr encoder; + xmlBufferPtr buffer; + xmlBufferPtr raw; + int compressed; + int error; + unsigned long rawconsumed; +}; +struct _xmlOutputBuffer { + void* context; + xmlOutputWriteCallback writecallback; + xmlOutputCloseCallback closecallback; + xmlCharEncodingHandlerPtr encoder; + xmlBufferPtr buffer; + xmlBufferPtr conv; + int written; + int error; +}; + void + xmlCleanupInputCallbacks (void); + int + xmlPopInputCallbacks (void); + void + xmlRegisterDefaultInputCallbacks (void); + xmlParserInputBufferPtr + xmlAllocParserInputBuffer (xmlCharEncoding enc); + xmlParserInputBufferPtr + xmlParserInputBufferCreateFilename (const char *URI, + xmlCharEncoding enc); + xmlParserInputBufferPtr + xmlParserInputBufferCreateFile (FILE *file, + xmlCharEncoding enc); + xmlParserInputBufferPtr + xmlParserInputBufferCreateFd (int fd, + xmlCharEncoding enc); + xmlParserInputBufferPtr + xmlParserInputBufferCreateMem (const char *mem, int size, + xmlCharEncoding enc); + xmlParserInputBufferPtr + xmlParserInputBufferCreateStatic (const char *mem, int size, + xmlCharEncoding enc); + xmlParserInputBufferPtr + xmlParserInputBufferCreateIO (xmlInputReadCallback ioread, + xmlInputCloseCallback ioclose, + void *ioctx, + xmlCharEncoding enc); + int + xmlParserInputBufferRead (xmlParserInputBufferPtr in, + int len); + int + xmlParserInputBufferGrow (xmlParserInputBufferPtr in, + int len); + int + xmlParserInputBufferPush (xmlParserInputBufferPtr in, + int len, + const char *buf); + void + xmlFreeParserInputBuffer (xmlParserInputBufferPtr in); + char * + xmlParserGetDirectory (const char *filename); + int + xmlRegisterInputCallbacks (xmlInputMatchCallback matchFunc, + xmlInputOpenCallback openFunc, + xmlInputReadCallback readFunc, + xmlInputCloseCallback closeFunc); +xmlParserInputBufferPtr + __xmlParserInputBufferCreateFilename(const char *URI, + xmlCharEncoding enc); + void + xmlCleanupOutputCallbacks (void); + void + xmlRegisterDefaultOutputCallbacks(void); + xmlOutputBufferPtr + xmlAllocOutputBuffer (xmlCharEncodingHandlerPtr encoder); + xmlOutputBufferPtr + xmlOutputBufferCreateFilename (const char *URI, + xmlCharEncodingHandlerPtr encoder, + int compression); + xmlOutputBufferPtr + xmlOutputBufferCreateFile (FILE *file, + xmlCharEncodingHandlerPtr encoder); + xmlOutputBufferPtr + xmlOutputBufferCreateBuffer (xmlBufferPtr buffer, + xmlCharEncodingHandlerPtr encoder); + xmlOutputBufferPtr + xmlOutputBufferCreateFd (int fd, + xmlCharEncodingHandlerPtr encoder); + xmlOutputBufferPtr + xmlOutputBufferCreateIO (xmlOutputWriteCallback iowrite, + xmlOutputCloseCallback ioclose, + void *ioctx, + xmlCharEncodingHandlerPtr encoder); + int + xmlOutputBufferWrite (xmlOutputBufferPtr out, + int len, + const char *buf); + int + xmlOutputBufferWriteString (xmlOutputBufferPtr out, + const char *str); + int + xmlOutputBufferWriteEscape (xmlOutputBufferPtr out, + const xmlChar *str, + xmlCharEncodingOutputFunc escaping); + int + xmlOutputBufferFlush (xmlOutputBufferPtr out); + int + xmlOutputBufferClose (xmlOutputBufferPtr out); + int + xmlRegisterOutputCallbacks (xmlOutputMatchCallback matchFunc, + xmlOutputOpenCallback openFunc, + xmlOutputWriteCallback writeFunc, + xmlOutputCloseCallback closeFunc); +xmlOutputBufferPtr + __xmlOutputBufferCreateFilename(const char *URI, + xmlCharEncodingHandlerPtr encoder, + int compression); + void + xmlRegisterHTTPPostCallbacks (void ); + xmlParserInputPtr + xmlCheckHTTPInput (xmlParserCtxtPtr ctxt, + xmlParserInputPtr ret); + xmlParserInputPtr + xmlNoNetExternalEntityLoader (const char *URL, + const char *ID, + xmlParserCtxtPtr ctxt); + xmlChar * + xmlNormalizeWindowsPath (const xmlChar *path); + int + xmlCheckFilename (const char *path); + int + xmlFileMatch (const char *filename); + void * + xmlFileOpen (const char *filename); + int + xmlFileRead (void * context, + char * buffer, + int len); + int + xmlFileClose (void * context); + int + xmlIOHTTPMatch (const char *filename); + void * + xmlIOHTTPOpen (const char *filename); + void * + xmlIOHTTPOpenW (const char * post_uri, + int compression ); + int + xmlIOHTTPRead (void * context, + char * buffer, + int len); + int + xmlIOHTTPClose (void * context); + int + xmlIOFTPMatch (const char *filename); + void * + xmlIOFTPOpen (const char *filename); + int + xmlIOFTPRead (void * context, + char * buffer, + int len); + int + xmlIOFTPClose (void * context); + void + xmlInitParser (void); + void + xmlCleanupParser (void); + int + xmlParserInputRead (xmlParserInputPtr in, + int len); + int + xmlParserInputGrow (xmlParserInputPtr in, + int len); + xmlDocPtr + xmlParseDoc (const xmlChar *cur); + xmlDocPtr + xmlParseFile (const char *filename); + xmlDocPtr + xmlParseMemory (const char *buffer, + int size); + int + xmlSubstituteEntitiesDefault(int val); + int + xmlKeepBlanksDefault (int val); + void + xmlStopParser (xmlParserCtxtPtr ctxt); + int + xmlPedanticParserDefault(int val); + int + xmlLineNumbersDefault (int val); + xmlDocPtr + xmlRecoverDoc (const xmlChar *cur); + xmlDocPtr + xmlRecoverMemory (const char *buffer, + int size); + xmlDocPtr + xmlRecoverFile (const char *filename); + int + xmlParseDocument (xmlParserCtxtPtr ctxt); + int + xmlParseExtParsedEnt (xmlParserCtxtPtr ctxt); + int + xmlSAXUserParseFile (xmlSAXHandlerPtr sax, + void *user_data, + const char *filename); + int + xmlSAXUserParseMemory (xmlSAXHandlerPtr sax, + void *user_data, + const char *buffer, + int size); + xmlDocPtr + xmlSAXParseDoc (xmlSAXHandlerPtr sax, + const xmlChar *cur, + int recovery); + xmlDocPtr + xmlSAXParseMemory (xmlSAXHandlerPtr sax, + const char *buffer, + int size, + int recovery); + xmlDocPtr + xmlSAXParseMemoryWithData (xmlSAXHandlerPtr sax, + const char *buffer, + int size, + int recovery, + void *data); + xmlDocPtr + xmlSAXParseFile (xmlSAXHandlerPtr sax, + const char *filename, + int recovery); + xmlDocPtr + xmlSAXParseFileWithData (xmlSAXHandlerPtr sax, + const char *filename, + int recovery, + void *data); + xmlDocPtr + xmlSAXParseEntity (xmlSAXHandlerPtr sax, + const char *filename); + xmlDocPtr + xmlParseEntity (const char *filename); + xmlDtdPtr + xmlSAXParseDTD (xmlSAXHandlerPtr sax, + const xmlChar *ExternalID, + const xmlChar *SystemID); + xmlDtdPtr + xmlParseDTD (const xmlChar *ExternalID, + const xmlChar *SystemID); + xmlDtdPtr + xmlIOParseDTD (xmlSAXHandlerPtr sax, + xmlParserInputBufferPtr input, + xmlCharEncoding enc); + int + xmlParseBalancedChunkMemory(xmlDocPtr doc, + xmlSAXHandlerPtr sax, + void *user_data, + int depth, + const xmlChar *string, + xmlNodePtr *lst); + xmlParserErrors + xmlParseInNodeContext (xmlNodePtr node, + const char *data, + int datalen, + int options, + xmlNodePtr *lst); + int + xmlParseBalancedChunkMemoryRecover(xmlDocPtr doc, + xmlSAXHandlerPtr sax, + void *user_data, + int depth, + const xmlChar *string, + xmlNodePtr *lst, + int recover); + int + xmlParseExternalEntity (xmlDocPtr doc, + xmlSAXHandlerPtr sax, + void *user_data, + int depth, + const xmlChar *URL, + const xmlChar *ID, + xmlNodePtr *lst); + int + xmlParseCtxtExternalEntity(xmlParserCtxtPtr ctx, + const xmlChar *URL, + const xmlChar *ID, + xmlNodePtr *lst); + xmlParserCtxtPtr + xmlNewParserCtxt (void); + int + xmlInitParserCtxt (xmlParserCtxtPtr ctxt); + void + xmlClearParserCtxt (xmlParserCtxtPtr ctxt); + void + xmlFreeParserCtxt (xmlParserCtxtPtr ctxt); + void + xmlSetupParserForBuffer (xmlParserCtxtPtr ctxt, + const xmlChar* buffer, + const char *filename); + xmlParserCtxtPtr + xmlCreateDocParserCtxt (const xmlChar *cur); + int + xmlGetFeaturesList (int *len, + const char **result); + int + xmlGetFeature (xmlParserCtxtPtr ctxt, + const char *name, + void *result); + int + xmlSetFeature (xmlParserCtxtPtr ctxt, + const char *name, + void *value); + xmlParserCtxtPtr + xmlCreatePushParserCtxt(xmlSAXHandlerPtr sax, + void *user_data, + const char *chunk, + int size, + const char *filename); + int + xmlParseChunk (xmlParserCtxtPtr ctxt, + const char *chunk, + int size, + int terminate); + xmlParserCtxtPtr + xmlCreateIOParserCtxt (xmlSAXHandlerPtr sax, + void *user_data, + xmlInputReadCallback ioread, + xmlInputCloseCallback ioclose, + void *ioctx, + xmlCharEncoding enc); + xmlParserInputPtr + xmlNewIOInputStream (xmlParserCtxtPtr ctxt, + xmlParserInputBufferPtr input, + xmlCharEncoding enc); + const xmlParserNodeInfo* + xmlParserFindNodeInfo (const xmlParserCtxtPtr ctxt, + const xmlNodePtr node); + void + xmlInitNodeInfoSeq (xmlParserNodeInfoSeqPtr seq); + void + xmlClearNodeInfoSeq (xmlParserNodeInfoSeqPtr seq); + unsigned long + xmlParserFindNodeInfoIndex(const xmlParserNodeInfoSeqPtr seq, + const xmlNodePtr node); + void + xmlParserAddNodeInfo (xmlParserCtxtPtr ctxt, + const xmlParserNodeInfoPtr info); + void + xmlSetExternalEntityLoader(xmlExternalEntityLoader f); + xmlExternalEntityLoader + xmlGetExternalEntityLoader(void); + xmlParserInputPtr + xmlLoadExternalEntity (const char *URL, + const char *ID, + xmlParserCtxtPtr ctxt); + long + xmlByteConsumed (xmlParserCtxtPtr ctxt); +typedef enum { + XML_PARSE_RECOVER = 1<<0, + XML_PARSE_NOENT = 1<<1, + XML_PARSE_DTDLOAD = 1<<2, + XML_PARSE_DTDATTR = 1<<3, + XML_PARSE_DTDVALID = 1<<4, + XML_PARSE_NOERROR = 1<<5, + XML_PARSE_NOWARNING = 1<<6, + XML_PARSE_PEDANTIC = 1<<7, + XML_PARSE_NOBLANKS = 1<<8, + XML_PARSE_SAX1 = 1<<9, + XML_PARSE_XINCLUDE = 1<<10, + XML_PARSE_NONET = 1<<11, + XML_PARSE_NODICT = 1<<12, + XML_PARSE_NSCLEAN = 1<<13, + XML_PARSE_NOCDATA = 1<<14, + XML_PARSE_NOXINCNODE= 1<<15, + XML_PARSE_COMPACT = 1<<16, + XML_PARSE_OLD10 = 1<<17, + XML_PARSE_NOBASEFIX = 1<<18, + XML_PARSE_HUGE = 1<<19, + XML_PARSE_OLDSAX = 1<<20 +} xmlParserOption; + void + xmlCtxtReset (xmlParserCtxtPtr ctxt); + int + xmlCtxtResetPush (xmlParserCtxtPtr ctxt, + const char *chunk, + int size, + const char *filename, + const char *encoding); + int + xmlCtxtUseOptions (xmlParserCtxtPtr ctxt, + int options); + xmlDocPtr + xmlReadDoc (const xmlChar *cur, + const char *URL, + const char *encoding, + int options); + xmlDocPtr + xmlReadFile (const char *URL, + const char *encoding, + int options); + xmlDocPtr + xmlReadMemory (const char *buffer, + int size, + const char *URL, + const char *encoding, + int options); + xmlDocPtr + xmlReadFd (int fd, + const char *URL, + const char *encoding, + int options); + xmlDocPtr + xmlReadIO (xmlInputReadCallback ioread, + xmlInputCloseCallback ioclose, + void *ioctx, + const char *URL, + const char *encoding, + int options); + xmlDocPtr + xmlCtxtReadDoc (xmlParserCtxtPtr ctxt, + const xmlChar *cur, + const char *URL, + const char *encoding, + int options); + xmlDocPtr + xmlCtxtReadFile (xmlParserCtxtPtr ctxt, + const char *filename, + const char *encoding, + int options); + xmlDocPtr + xmlCtxtReadMemory (xmlParserCtxtPtr ctxt, + const char *buffer, + int size, + const char *URL, + const char *encoding, + int options); + xmlDocPtr + xmlCtxtReadFd (xmlParserCtxtPtr ctxt, + int fd, + const char *URL, + const char *encoding, + int options); + xmlDocPtr + xmlCtxtReadIO (xmlParserCtxtPtr ctxt, + xmlInputReadCallback ioread, + xmlInputCloseCallback ioclose, + void *ioctx, + const char *URL, + const char *encoding, + int options); +typedef enum { + XML_WITH_THREAD = 1, + XML_WITH_TREE = 2, + XML_WITH_OUTPUT = 3, + XML_WITH_PUSH = 4, + XML_WITH_READER = 5, + XML_WITH_PATTERN = 6, + XML_WITH_WRITER = 7, + XML_WITH_SAX1 = 8, + XML_WITH_FTP = 9, + XML_WITH_HTTP = 10, + XML_WITH_VALID = 11, + XML_WITH_HTML = 12, + XML_WITH_LEGACY = 13, + XML_WITH_C14N = 14, + XML_WITH_CATALOG = 15, + XML_WITH_XPATH = 16, + XML_WITH_XPTR = 17, + XML_WITH_XINCLUDE = 18, + XML_WITH_ICONV = 19, + XML_WITH_ISO8859X = 20, + XML_WITH_UNICODE = 21, + XML_WITH_REGEXP = 22, + XML_WITH_AUTOMATA = 23, + XML_WITH_EXPR = 24, + XML_WITH_SCHEMAS = 25, + XML_WITH_SCHEMATRON = 26, + XML_WITH_MODULES = 27, + XML_WITH_DEBUG = 28, + XML_WITH_DEBUG_MEM = 29, + XML_WITH_DEBUG_RUN = 30, + XML_WITH_ZLIB = 31, + XML_WITH_NONE = 99999 +} xmlFeature; + int + xmlHasFeature (xmlFeature feature); +typedef enum +{ + GST_OBJECT_DISPOSING = (1<<0), + GST_OBJECT_FLOATING = (1<<1), + GST_OBJECT_FLAG_LAST = (1<<4) +} GstObjectFlags; +typedef struct _GstObject GstObject; +typedef struct _GstObjectClass GstObjectClass; +struct _GstObject { + GObject object; + gint refcount; + GMutex *lock; + gchar *name; + gchar *name_prefix; + GstObject *parent; + guint32 flags; + gpointer _gst_reserved; +}; +struct _GstObjectClass { + GObjectClass parent_class; + gchar *path_string_separator; + GObject *signal_object; + GStaticRecMutex *lock; + void (*parent_set) (GstObject * object, GstObject * parent); + void (*parent_unset) (GstObject * object, GstObject * parent); + void (*object_saved) (GstObject * object, xmlNodePtr parent); + void (*deep_notify) (GstObject * object, GstObject * orig, GParamSpec * pspec); + xmlNodePtr (*save_thyself) (GstObject * object, xmlNodePtr parent); + void (*restore_thyself) (GstObject * object, xmlNodePtr self); + gpointer _gst_reserved[4]; +}; +GType gst_object_get_type (void); +gboolean gst_object_set_name (GstObject *object, const gchar *name); +gchar* gst_object_get_name (GstObject *object); +void gst_object_set_name_prefix (GstObject *object, const gchar *name_prefix); +gchar* gst_object_get_name_prefix (GstObject *object); +gboolean gst_object_set_parent (GstObject *object, GstObject *parent); +GstObject* gst_object_get_parent (GstObject *object); +void gst_object_unparent (GstObject *object); +gboolean gst_object_has_ancestor (GstObject *object, GstObject *ancestor); +void gst_object_default_deep_notify (GObject *object, GstObject *orig, + GParamSpec *pspec, gchar **excluded_props); +gpointer gst_object_ref (gpointer object); +void gst_object_unref (gpointer object); +void gst_object_ref_sink (gpointer object); +void gst_object_sink (gpointer object); +void gst_object_replace (GstObject **oldobj, GstObject *newobj); +gchar * gst_object_get_path_string (GstObject *object); +gboolean gst_object_check_uniqueness (GList *list, const gchar *name); +xmlNodePtr gst_object_save_thyself (GstObject *object, xmlNodePtr parent); +void gst_object_restore_thyself (GstObject *object, xmlNodePtr self); +guint gst_class_signal_connect (GstObjectClass *klass, + const gchar *name, + gpointer func, + gpointer func_data); +void gst_class_signal_emit_by_name (GstObject * object, + const gchar * name, + xmlNodePtr self); +typedef struct _GstMiniObject GstMiniObject; +typedef struct _GstMiniObjectClass GstMiniObjectClass; +typedef GstMiniObject * (*GstMiniObjectCopyFunction) (const GstMiniObject *obj); +typedef void (*GstMiniObjectFinalizeFunction) (GstMiniObject *obj); +typedef enum +{ + GST_MINI_OBJECT_FLAG_READONLY = (1<<0), + GST_MINI_OBJECT_FLAG_LAST = (1<<4) +} GstMiniObjectFlags; +struct _GstMiniObject { + GTypeInstance instance; + gint refcount; + guint flags; + gpointer _gst_reserved; +}; +struct _GstMiniObjectClass { + GTypeClass type_class; + GstMiniObjectCopyFunction copy; + GstMiniObjectFinalizeFunction finalize; + gpointer _gst_reserved; +}; +GType gst_mini_object_get_type (void); +GstMiniObject* gst_mini_object_new (GType type); +GstMiniObject* gst_mini_object_copy (const GstMiniObject *mini_object); +gboolean gst_mini_object_is_writable (const GstMiniObject *mini_object); +GstMiniObject* gst_mini_object_make_writable (GstMiniObject *mini_object); +GstMiniObject* gst_mini_object_ref (GstMiniObject *mini_object); +void gst_mini_object_unref (GstMiniObject *mini_object); +void gst_mini_object_replace (GstMiniObject **olddata, GstMiniObject *newdata); +typedef struct _GstParamSpecMiniObject GstParamSpecMiniObject; +struct _GstParamSpecMiniObject +{ + GParamSpec parent_instance; +}; +GType gst_param_spec_mini_object_get_type (void); +GParamSpec* gst_param_spec_mini_object (const char *name, const char *nick, + const char *blurb, GType object_type, + GParamFlags flags); +void gst_value_set_mini_object (GValue *value, GstMiniObject *mini_object); +void gst_value_take_mini_object (GValue *value, GstMiniObject *mini_object); +GstMiniObject* gst_value_get_mini_object (const GValue *value); +GstMiniObject* gst_value_dup_mini_object (const GValue *value); +typedef guint64 GstClockTime; +typedef gint64 GstClockTimeDiff; +typedef gpointer GstClockID; +typedef struct _GstClockEntry GstClockEntry; +typedef struct _GstClock GstClock; +typedef struct _GstClockClass GstClockClass; +typedef struct _GstClockPrivate GstClockPrivate; +typedef gboolean (*GstClockCallback) (GstClock *clock, GstClockTime time, + GstClockID id, gpointer user_data); +typedef enum +{ + GST_CLOCK_OK = 0, + GST_CLOCK_EARLY = 1, + GST_CLOCK_UNSCHEDULED = 2, + GST_CLOCK_BUSY = 3, + GST_CLOCK_BADTIME = 4, + GST_CLOCK_ERROR = 5, + GST_CLOCK_UNSUPPORTED = 6 +} GstClockReturn; +typedef enum { + GST_CLOCK_ENTRY_SINGLE, + GST_CLOCK_ENTRY_PERIODIC +} GstClockEntryType; +struct _GstClockEntry { + gint refcount; + GstClock *clock; + GstClockEntryType type; + GstClockTime time; + GstClockTime interval; + GstClockReturn status; + GstClockCallback func; + gpointer user_data; +}; +typedef enum { + GST_CLOCK_FLAG_CAN_DO_SINGLE_SYNC = (GST_OBJECT_FLAG_LAST << 0), + GST_CLOCK_FLAG_CAN_DO_SINGLE_ASYNC = (GST_OBJECT_FLAG_LAST << 1), + GST_CLOCK_FLAG_CAN_DO_PERIODIC_SYNC = (GST_OBJECT_FLAG_LAST << 2), + GST_CLOCK_FLAG_CAN_DO_PERIODIC_ASYNC = (GST_OBJECT_FLAG_LAST << 3), + GST_CLOCK_FLAG_CAN_SET_RESOLUTION = (GST_OBJECT_FLAG_LAST << 4), + GST_CLOCK_FLAG_CAN_SET_MASTER = (GST_OBJECT_FLAG_LAST << 5), + GST_CLOCK_FLAG_LAST = (GST_OBJECT_FLAG_LAST << 8) +} GstClockFlags; +struct _GstClock { + GstObject object; + GMutex *slave_lock; + GstClockTime internal_calibration; + GstClockTime external_calibration; + GstClockTime rate_numerator; + GstClockTime rate_denominator; + GstClockTime last_time; + GList *entries; + GCond *entries_changed; + GstClockTime resolution; + gboolean stats; + GstClock *master; + gboolean filling; + gint window_size; + gint window_threshold; + gint time_index; + GstClockTime timeout; + GstClockTime *times; + GstClockID clockid; + union { + GstClockPrivate *priv; + GstClockTime _gst_reserved[4]; + } ABI; +}; +struct _GstClockClass { + GstObjectClass parent_class; + GstClockTime (*change_resolution) (GstClock *clock, + GstClockTime old_resolution, + GstClockTime new_resolution); + GstClockTime (*get_resolution) (GstClock *clock); + GstClockTime (*get_internal_time) (GstClock *clock); + GstClockReturn (*wait) (GstClock *clock, GstClockEntry *entry); + GstClockReturn (*wait_async) (GstClock *clock, GstClockEntry *entry); + void (*unschedule) (GstClock *clock, GstClockEntry *entry); + GstClockReturn (*wait_jitter) (GstClock *clock, GstClockEntry *entry, + GstClockTimeDiff *jitter); + gpointer _gst_reserved[4 - 1]; +}; +GType gst_clock_get_type (void); +GstClockTime gst_clock_set_resolution (GstClock *clock, + GstClockTime resolution); +GstClockTime gst_clock_get_resolution (GstClock *clock); +GstClockTime gst_clock_get_time (GstClock *clock); +void gst_clock_set_calibration (GstClock *clock, GstClockTime internal, + GstClockTime external, + GstClockTime rate_num, + GstClockTime rate_denom); +void gst_clock_get_calibration (GstClock *clock, GstClockTime *internal, + GstClockTime *external, + GstClockTime *rate_num, + GstClockTime *rate_denom); +gboolean gst_clock_set_master (GstClock *clock, GstClock *master); +GstClock* gst_clock_get_master (GstClock *clock); +gboolean gst_clock_add_observation (GstClock *clock, GstClockTime slave, + GstClockTime master, gdouble *r_squared); +GstClockTime gst_clock_get_internal_time (GstClock *clock); +GstClockTime gst_clock_adjust_unlocked (GstClock *clock, GstClockTime internal); +GstClockTime gst_clock_unadjust_unlocked (GstClock * clock, GstClockTime external); +GstClockID gst_clock_new_single_shot_id (GstClock *clock, + GstClockTime time); +GstClockID gst_clock_new_periodic_id (GstClock *clock, + GstClockTime start_time, + GstClockTime interval); +GstClockID gst_clock_id_ref (GstClockID id); +void gst_clock_id_unref (GstClockID id); +gint gst_clock_id_compare_func (gconstpointer id1, gconstpointer id2); +GstClockTime gst_clock_id_get_time (GstClockID id); +GstClockReturn gst_clock_id_wait (GstClockID id, + GstClockTimeDiff *jitter); +GstClockReturn gst_clock_id_wait_async (GstClockID id, + GstClockCallback func, + gpointer user_data); +void gst_clock_id_unschedule (GstClockID id); +typedef struct _GstStructure GstStructure; +typedef gboolean (*GstStructureForeachFunc) (GQuark field_id, + const GValue * value, + gpointer user_data); +typedef gboolean (*GstStructureMapFunc) (GQuark field_id, + GValue * value, + gpointer user_data); +struct _GstStructure { + GType type; + GQuark name; + gint *parent_refcount; + GArray *fields; + gpointer _gst_reserved; +}; +GType gst_structure_get_type (void); +GstStructure * gst_structure_empty_new (const gchar * name); +GstStructure * gst_structure_id_empty_new (GQuark quark); +GstStructure * gst_structure_new (const gchar * name, + const gchar * firstfield, + ...); +GstStructure * gst_structure_new_valist (const gchar * name, + const gchar * firstfield, + va_list varargs); +GstStructure * gst_structure_id_new (GQuark name_quark, + GQuark field_quark, + ...); +GstStructure * gst_structure_copy (const GstStructure *structure); +void gst_structure_set_parent_refcount (GstStructure *structure, + gint *refcount); +void gst_structure_free (GstStructure *structure); +const gchar * gst_structure_get_name (const GstStructure *structure); +GQuark gst_structure_get_name_id (const GstStructure *structure); +gboolean gst_structure_has_name (const GstStructure *structure, + const gchar *name); +void gst_structure_set_name (GstStructure *structure, + const gchar *name); +void gst_structure_id_set_value (GstStructure *structure, + GQuark field, + const GValue *value); +void gst_structure_set_value (GstStructure *structure, + const gchar *fieldname, + const GValue *value); +void gst_structure_set (GstStructure *structure, + const gchar *fieldname, + ...) __attribute__((__sentinel__)); +void gst_structure_set_valist (GstStructure *structure, + const gchar *fieldname, + va_list varargs); +void gst_structure_id_set (GstStructure *structure, + GQuark fieldname, + ...) __attribute__((__sentinel__)); +void gst_structure_id_set_valist (GstStructure *structure, + GQuark fieldname, + va_list varargs); +gboolean gst_structure_get_valist (GstStructure *structure, + const char *first_fieldname, + va_list args); +gboolean gst_structure_get (GstStructure *structure, + const char *first_fieldname, + ...) __attribute__((__sentinel__)); +gboolean gst_structure_id_get_valist (GstStructure *structure, + GQuark first_field_id, + va_list args); +gboolean gst_structure_id_get (GstStructure *structure, + GQuark first_field_id, + ...) __attribute__((__sentinel__)); +const GValue * gst_structure_id_get_value (const GstStructure *structure, + GQuark field); +const GValue * gst_structure_get_value (const GstStructure *structure, + const gchar *fieldname); +void gst_structure_remove_field (GstStructure *structure, + const gchar *fieldname); +void gst_structure_remove_fields (GstStructure *structure, + const gchar *fieldname, + ...) __attribute__((__sentinel__)); +void gst_structure_remove_fields_valist (GstStructure *structure, + const gchar *fieldname, + va_list varargs); +void gst_structure_remove_all_fields (GstStructure *structure); +GType gst_structure_get_field_type (const GstStructure *structure, + const gchar *fieldname); +gboolean gst_structure_foreach (const GstStructure *structure, + GstStructureForeachFunc func, + gpointer user_data); +gboolean gst_structure_map_in_place (GstStructure *structure, + GstStructureMapFunc func, + gpointer user_data); +gint gst_structure_n_fields (const GstStructure *structure); +const gchar * gst_structure_nth_field_name (const GstStructure *structure, guint index); +gboolean gst_structure_has_field (const GstStructure *structure, + const gchar *fieldname); +gboolean gst_structure_has_field_typed (const GstStructure *structure, + const gchar *fieldname, + GType type); +gboolean gst_structure_get_boolean (const GstStructure *structure, + const gchar *fieldname, + gboolean *value); +gboolean gst_structure_get_int (const GstStructure *structure, + const gchar *fieldname, + gint *value); +gboolean gst_structure_get_uint (const GstStructure *structure, + const gchar *fieldname, + guint *value); +gboolean gst_structure_get_fourcc (const GstStructure *structure, + const gchar *fieldname, + guint32 *value); +gboolean gst_structure_get_double (const GstStructure *structure, + const gchar *fieldname, + gdouble *value); +gboolean gst_structure_get_date (const GstStructure *structure, + const gchar *fieldname, + GDate **value); +gboolean gst_structure_get_clock_time (const GstStructure *structure, + const gchar *fieldname, + GstClockTime *value); +const gchar * gst_structure_get_string (const GstStructure *structure, + const gchar *fieldname); +gboolean gst_structure_get_enum (const GstStructure *structure, + const gchar *fieldname, + GType enumtype, + gint *value); +gboolean gst_structure_get_fraction (const GstStructure *structure, + const gchar *fieldname, + gint *value_numerator, + gint *value_denominator); +gchar * gst_structure_to_string (const GstStructure *structure); +GstStructure * gst_structure_from_string (const gchar *string, + gchar **end); +gboolean gst_structure_fixate_field_nearest_int (GstStructure *structure, + const char *field_name, + int target); +gboolean gst_structure_fixate_field_nearest_double (GstStructure *structure, + const char *field_name, + double target); +gboolean gst_structure_fixate_field_boolean (GstStructure *structure, + const char *field_name, + gboolean target); +gboolean gst_structure_fixate_field_nearest_fraction (GstStructure *structure, + const char *field_name, + const gint target_numerator, + const gint target_denominator); +typedef enum { + GST_CAPS_FLAGS_ANY = (1 << 0) +} GstCapsFlags; +typedef struct _GstCaps GstCaps; +typedef struct _GstStaticCaps GstStaticCaps; +struct _GstCaps { + GType type; + gint refcount; + GstCapsFlags flags; + GPtrArray *structs; + gpointer _gst_reserved[4]; +}; +struct _GstStaticCaps { + GstCaps caps; + const char *string; + gpointer _gst_reserved[4]; +}; +GType gst_caps_get_type (void); +GstCaps * gst_caps_new_empty (void); +GstCaps * gst_caps_new_any (void); +GstCaps * gst_caps_new_simple (const char *media_type, + const char *fieldname, + ...); +GstCaps * gst_caps_new_full (GstStructure *struct1, ...); +GstCaps * gst_caps_new_full_valist (GstStructure *structure, + va_list var_args); +GstCaps * gst_caps_ref (GstCaps *caps); +GstCaps * gst_caps_copy (const GstCaps *caps); +GstCaps * gst_caps_make_writable (GstCaps *caps); +void gst_caps_unref (GstCaps *caps); +GType gst_static_caps_get_type (void); +GstCaps * gst_static_caps_get (GstStaticCaps *static_caps); +void gst_caps_append (GstCaps *caps1, + GstCaps *caps2); +void gst_caps_merge (GstCaps *caps1, + GstCaps *caps2); +void gst_caps_append_structure (GstCaps *caps, + GstStructure *structure); +void gst_caps_remove_structure (GstCaps *caps, guint idx); +void gst_caps_merge_structure (GstCaps *caps, + GstStructure *structure); +guint gst_caps_get_size (const GstCaps *caps); +GstStructure * gst_caps_get_structure (const GstCaps *caps, + guint index); +GstCaps * gst_caps_copy_nth (const GstCaps *caps, guint nth); +void gst_caps_truncate (GstCaps *caps); +void gst_caps_set_simple (GstCaps *caps, + const char *field, ...) __attribute__((__sentinel__)); +void gst_caps_set_simple_valist (GstCaps *caps, + const char *field, + va_list varargs); +gboolean gst_caps_is_any (const GstCaps *caps); +gboolean gst_caps_is_empty (const GstCaps *caps); +gboolean gst_caps_is_fixed (const GstCaps *caps); +gboolean gst_caps_is_always_compatible (const GstCaps *caps1, + const GstCaps *caps2); +gboolean gst_caps_is_subset (const GstCaps *subset, + const GstCaps *superset); +gboolean gst_caps_is_equal (const GstCaps *caps1, + const GstCaps *caps2); +gboolean gst_caps_is_equal_fixed (const GstCaps *caps1, + const GstCaps *caps2); +GstCaps * gst_caps_intersect (const GstCaps *caps1, + const GstCaps *caps2); +GstCaps * gst_caps_subtract (const GstCaps *minuend, + const GstCaps *subtrahend); +GstCaps * gst_caps_union (const GstCaps *caps1, + const GstCaps *caps2); +GstCaps * gst_caps_normalize (const GstCaps *caps); +gboolean gst_caps_do_simplify (GstCaps *caps); +xmlNodePtr gst_caps_save_thyself (const GstCaps *caps, + xmlNodePtr parent); +GstCaps * gst_caps_load_thyself (xmlNodePtr parent); +void gst_caps_replace (GstCaps **caps, + GstCaps *newcaps); +gchar * gst_caps_to_string (const GstCaps *caps); +GstCaps * gst_caps_from_string (const gchar *string); +typedef struct _GstBuffer GstBuffer; +typedef struct _GstBufferClass GstBufferClass; +typedef enum { + GST_BUFFER_FLAG_READONLY = GST_MINI_OBJECT_FLAG_READONLY, + GST_BUFFER_FLAG_PREROLL = (GST_MINI_OBJECT_FLAG_LAST << 0), + GST_BUFFER_FLAG_DISCONT = (GST_MINI_OBJECT_FLAG_LAST << 1), + GST_BUFFER_FLAG_IN_CAPS = (GST_MINI_OBJECT_FLAG_LAST << 2), + GST_BUFFER_FLAG_GAP = (GST_MINI_OBJECT_FLAG_LAST << 3), + GST_BUFFER_FLAG_DELTA_UNIT = (GST_MINI_OBJECT_FLAG_LAST << 4), + GST_BUFFER_FLAG_MEDIA1 = (GST_MINI_OBJECT_FLAG_LAST << 5), + GST_BUFFER_FLAG_MEDIA2 = (GST_MINI_OBJECT_FLAG_LAST << 6), + GST_BUFFER_FLAG_MEDIA3 = (GST_MINI_OBJECT_FLAG_LAST << 7), + GST_BUFFER_FLAG_LAST = (GST_MINI_OBJECT_FLAG_LAST << 8) +} GstBufferFlag; +struct _GstBuffer { + GstMiniObject mini_object; + guint8 *data; + guint size; + GstClockTime timestamp; + GstClockTime duration; + GstCaps *caps; + guint64 offset; + guint64 offset_end; + guint8 *malloc_data; + GFreeFunc free_func; + gpointer _gst_reserved[4 - 1]; +}; +struct _GstBufferClass { + GstMiniObjectClass mini_object_class; +}; +GType gst_buffer_get_type (void); +GstBuffer * gst_buffer_new (void); +GstBuffer * gst_buffer_new_and_alloc (guint size); +GstBuffer * gst_buffer_try_new_and_alloc (guint size); +static inline GstBuffer * +gst_buffer_ref (GstBuffer * buf) +{ + return (GstBuffer *) gst_mini_object_ref (((GstMiniObject*)(buf))); +} +static inline void +gst_buffer_unref (GstBuffer * buf) +{ + gst_mini_object_unref (((GstMiniObject*)(buf))); +} +static inline GstBuffer * +gst_buffer_copy (const GstBuffer * buf) +{ + return ((((GstBuffer*) g_type_check_instance_cast ((GTypeInstance*) ((gst_mini_object_copy (((GstMiniObject*)(buf))))), ((gst_buffer_get_type())))))); +} +typedef enum { + GST_BUFFER_COPY_FLAGS = (1 << 0), + GST_BUFFER_COPY_TIMESTAMPS = (1 << 1), + GST_BUFFER_COPY_CAPS = (1 << 2) +} GstBufferCopyFlags; +void gst_buffer_copy_metadata (GstBuffer *dest, const GstBuffer *src, + GstBufferCopyFlags flags); +gboolean gst_buffer_is_metadata_writable (GstBuffer *buf); +GstBuffer* gst_buffer_make_metadata_writable (GstBuffer *buf); +GstCaps* gst_buffer_get_caps (GstBuffer *buffer); +void gst_buffer_set_caps (GstBuffer *buffer, GstCaps *caps); +GstBuffer* gst_buffer_create_sub (GstBuffer *parent, guint offset, guint size); +gboolean gst_buffer_is_span_fast (GstBuffer *buf1, GstBuffer *buf2); +GstBuffer* gst_buffer_span (GstBuffer *buf1, guint32 offset, GstBuffer *buf2, guint32 len); +typedef struct _GstBufferList GstBufferList; +typedef struct _GstBufferListClass GstBufferListClass; +typedef struct _GstBufferListIterator GstBufferListIterator; +typedef GstBuffer* (*GstBufferListDoFunction) (GstBuffer * buffer, gpointer user_data); +typedef enum { + GST_BUFFER_LIST_CONTINUE, + GST_BUFFER_LIST_SKIP_GROUP, + GST_BUFFER_LIST_END +} GstBufferListItem; +typedef GstBufferListItem (*GstBufferListFunc) (GstBuffer **buffer, guint group, guint idx, + gpointer user_data); +GType gst_buffer_list_get_type (void); +GstBufferList *gst_buffer_list_new (void); +static inline GstBufferList * +gst_buffer_list_ref (GstBufferList * list) +{ + return ((GstBufferList *)gst_mini_object_ref (((GstMiniObject*)(list)))); +} +static inline void +gst_buffer_list_unref (GstBufferList * list) +{ + gst_mini_object_unref (((GstMiniObject*)(list))); +} +static inline GstBufferList * +gst_buffer_list_copy (const GstBufferList * list) +{ + return ((((GstBufferList*) g_type_check_instance_cast ((GTypeInstance*) ((gst_mini_object_copy (((GstMiniObject*)(list))))), ((gst_buffer_list_get_type ())))))); +} +guint gst_buffer_list_n_groups (GstBufferList *list); +void gst_buffer_list_foreach (GstBufferList *list, + GstBufferListFunc func, + gpointer user_data); +GstBuffer * gst_buffer_list_get (GstBufferList *list, guint group, guint idx); +GstBufferListIterator * gst_buffer_list_iterate (GstBufferList *list); +void gst_buffer_list_iterator_free (GstBufferListIterator *it); +guint gst_buffer_list_iterator_n_buffers (const GstBufferListIterator *it); +GstBuffer * gst_buffer_list_iterator_next (GstBufferListIterator *it); +gboolean gst_buffer_list_iterator_next_group (GstBufferListIterator *it); +void gst_buffer_list_iterator_add (GstBufferListIterator *it, GstBuffer *buffer); +void gst_buffer_list_iterator_add_group (GstBufferListIterator *it); +void gst_buffer_list_iterator_remove (GstBufferListIterator *it); +GstBuffer * gst_buffer_list_iterator_steal (GstBufferListIterator *it); +void gst_buffer_list_iterator_take (GstBufferListIterator *it, GstBuffer *buffer); +GstBuffer * gst_buffer_list_iterator_do (GstBufferListIterator *it, GstBufferListDoFunction do_func, + gpointer user_data); +GstBuffer * gst_buffer_list_iterator_merge_group (const GstBufferListIterator *it); +typedef enum { + GST_ITERATOR_DONE = 0, + GST_ITERATOR_OK = 1, + GST_ITERATOR_RESYNC = 2, + GST_ITERATOR_ERROR = 3 +} GstIteratorResult; +typedef struct _GstIterator GstIterator; +typedef enum { + GST_ITERATOR_ITEM_SKIP = 0, + GST_ITERATOR_ITEM_PASS = 1, + GST_ITERATOR_ITEM_END = 2 +} GstIteratorItem; +typedef void (*GstIteratorDisposeFunction) (gpointer owner); +typedef GstIteratorResult (*GstIteratorNextFunction) (GstIterator *it, gpointer *result); +typedef GstIteratorItem (*GstIteratorItemFunction) (GstIterator *it, gpointer item); +typedef void (*GstIteratorResyncFunction) (GstIterator *it); +typedef void (*GstIteratorFreeFunction) (GstIterator *it); +typedef gboolean (*GstIteratorFoldFunction) (gpointer item, GValue *ret, gpointer user_data); +struct _GstIterator { + GstIteratorNextFunction next; + GstIteratorItemFunction item; + GstIteratorResyncFunction resync; + GstIteratorFreeFunction free; + GstIterator *pushed; + GType type; + GMutex *lock; + guint32 cookie; + guint32 *master_cookie; + gpointer _gst_reserved[4]; +}; +GstIterator* gst_iterator_new (guint size, + GType type, + GMutex *lock, + guint32 *master_cookie, + GstIteratorNextFunction next, + GstIteratorItemFunction item, + GstIteratorResyncFunction resync, + GstIteratorFreeFunction free); +GstIterator* gst_iterator_new_list (GType type, + GMutex *lock, + guint32 *master_cookie, + GList **list, + gpointer owner, + GstIteratorItemFunction item, + GstIteratorDisposeFunction free); +GstIteratorResult gst_iterator_next (GstIterator *it, gpointer *elem); +void gst_iterator_resync (GstIterator *it); +void gst_iterator_free (GstIterator *it); +void gst_iterator_push (GstIterator *it, GstIterator *other); +GstIterator* gst_iterator_filter (GstIterator *it, GCompareFunc func, + gpointer user_data); +GstIteratorResult gst_iterator_fold (GstIterator *it, + GstIteratorFoldFunction func, + GValue *ret, gpointer user_data); +GstIteratorResult gst_iterator_foreach (GstIterator *it, + GFunc func, gpointer user_data); +gpointer gst_iterator_find_custom (GstIterator *it, GCompareFunc func, + gpointer user_data); +typedef enum { + GST_FORMAT_UNDEFINED = 0, + GST_FORMAT_DEFAULT = 1, + GST_FORMAT_BYTES = 2, + GST_FORMAT_TIME = 3, + GST_FORMAT_BUFFERS = 4, + GST_FORMAT_PERCENT = 5 +} GstFormat; +typedef struct _GstFormatDefinition GstFormatDefinition; +struct _GstFormatDefinition +{ + GstFormat value; + gchar *nick; + gchar *description; + GQuark quark; +}; +const gchar* gst_format_get_name (GstFormat format); +GQuark gst_format_to_quark (GstFormat format); +GstFormat gst_format_register (const gchar *nick, + const gchar *description); +GstFormat gst_format_get_by_nick (const gchar *nick); +gboolean gst_formats_contains (const GstFormat *formats, GstFormat format); +const GstFormatDefinition* + gst_format_get_details (GstFormat format); +GstIterator* gst_format_iterate_definitions (void); +typedef enum { + GST_TAG_MERGE_UNDEFINED, + GST_TAG_MERGE_REPLACE_ALL, + GST_TAG_MERGE_REPLACE, + GST_TAG_MERGE_APPEND, + GST_TAG_MERGE_PREPEND, + GST_TAG_MERGE_KEEP, + GST_TAG_MERGE_KEEP_ALL, + GST_TAG_MERGE_COUNT +} GstTagMergeMode; +typedef enum { + GST_TAG_FLAG_UNDEFINED, + GST_TAG_FLAG_META, + GST_TAG_FLAG_ENCODED, + GST_TAG_FLAG_DECODED, + GST_TAG_FLAG_COUNT +} GstTagFlag; +typedef GstStructure GstTagList; +typedef void (*GstTagForeachFunc) (const GstTagList * list, + const gchar * tag, + gpointer user_data); +typedef void (* GstTagMergeFunc) (GValue *dest, const GValue *src); +GType gst_tag_list_get_type (void); +void gst_tag_register (const gchar * name, + GstTagFlag flag, + GType type, + const gchar * nick, + const gchar * blurb, + GstTagMergeFunc func); +void gst_tag_merge_use_first (GValue * dest, const GValue * src); +void gst_tag_merge_strings_with_comma (GValue * dest, const GValue * src); +gboolean gst_tag_exists (const gchar * tag); +GType gst_tag_get_type (const gchar * tag); +const gchar * gst_tag_get_nick (const gchar * tag); +const gchar * gst_tag_get_description (const gchar * tag); +GstTagFlag gst_tag_get_flag (const gchar * tag); +gboolean gst_tag_is_fixed (const gchar * tag); +GstTagList * gst_tag_list_new (void); +GstTagList * gst_tag_list_new_full (const gchar * tag, ...); +GstTagList * gst_tag_list_new_full_valist (va_list var_args); +gboolean gst_is_tag_list (gconstpointer p); +GstTagList * gst_tag_list_copy (const GstTagList * list); +gboolean gst_tag_list_is_empty (const GstTagList * list); +void gst_tag_list_insert (GstTagList * into, + const GstTagList * from, + GstTagMergeMode mode); +GstTagList * gst_tag_list_merge (const GstTagList * list1, + const GstTagList * list2, + GstTagMergeMode mode); +void gst_tag_list_free (GstTagList * list); +guint gst_tag_list_get_tag_size (const GstTagList * list, + const gchar * tag); +void gst_tag_list_add (GstTagList * list, + GstTagMergeMode mode, + const gchar * tag, + ...) __attribute__((__sentinel__)); +void gst_tag_list_add_values (GstTagList * list, + GstTagMergeMode mode, + const gchar * tag, + ...) __attribute__((__sentinel__)); +void gst_tag_list_add_valist (GstTagList * list, + GstTagMergeMode mode, + const gchar * tag, + va_list var_args); +void gst_tag_list_add_valist_values (GstTagList * list, + GstTagMergeMode mode, + const gchar * tag, + va_list var_args); +void gst_tag_list_add_value (GstTagList * list, + GstTagMergeMode mode, + const gchar * tag, + const GValue * value); +void gst_tag_list_remove_tag (GstTagList * list, + const gchar * tag); +void gst_tag_list_foreach (const GstTagList * list, + GstTagForeachFunc func, + gpointer user_data); +const GValue * + gst_tag_list_get_value_index (const GstTagList * list, + const gchar * tag, + guint index); +gboolean gst_tag_list_copy_value (GValue * dest, + const GstTagList * list, + const gchar * tag); +gboolean gst_tag_list_get_char (const GstTagList * list, + const gchar * tag, + gchar * value); +gboolean gst_tag_list_get_char_index (const GstTagList * list, + const gchar * tag, + guint index, + gchar * value); +gboolean gst_tag_list_get_uchar (const GstTagList * list, + const gchar * tag, + guchar * value); +gboolean gst_tag_list_get_uchar_index (const GstTagList * list, + const gchar * tag, + guint index, + guchar * value); +gboolean gst_tag_list_get_boolean (const GstTagList * list, + const gchar * tag, + gboolean * value); +gboolean gst_tag_list_get_boolean_index (const GstTagList * list, + const gchar * tag, + guint index, + gboolean * value); +gboolean gst_tag_list_get_int (const GstTagList * list, + const gchar * tag, + gint * value); +gboolean gst_tag_list_get_int_index (const GstTagList * list, + const gchar * tag, + guint index, + gint * value); +gboolean gst_tag_list_get_uint (const GstTagList * list, + const gchar * tag, + guint * value); +gboolean gst_tag_list_get_uint_index (const GstTagList * list, + const gchar * tag, + guint index, + guint * value); +gboolean gst_tag_list_get_long (const GstTagList * list, + const gchar * tag, + glong * value); +gboolean gst_tag_list_get_long_index (const GstTagList * list, + const gchar * tag, + guint index, + glong * value); +gboolean gst_tag_list_get_ulong (const GstTagList * list, + const gchar * tag, + gulong * value); +gboolean gst_tag_list_get_ulong_index (const GstTagList * list, + const gchar * tag, + guint index, + gulong * value); +gboolean gst_tag_list_get_int64 (const GstTagList * list, + const gchar * tag, + gint64 * value); +gboolean gst_tag_list_get_int64_index (const GstTagList * list, + const gchar * tag, + guint index, + gint64 * value); +gboolean gst_tag_list_get_uint64 (const GstTagList * list, + const gchar * tag, + guint64 * value); +gboolean gst_tag_list_get_uint64_index (const GstTagList * list, + const gchar * tag, + guint index, + guint64 * value); +gboolean gst_tag_list_get_float (const GstTagList * list, + const gchar * tag, + gfloat * value); +gboolean gst_tag_list_get_float_index (const GstTagList * list, + const gchar * tag, + guint index, + gfloat * value); +gboolean gst_tag_list_get_double (const GstTagList * list, + const gchar * tag, + gdouble * value); +gboolean gst_tag_list_get_double_index (const GstTagList * list, + const gchar * tag, + guint index, + gdouble * value); +gboolean gst_tag_list_get_string (const GstTagList * list, + const gchar * tag, + gchar ** value); +gboolean gst_tag_list_get_string_index (const GstTagList * list, + const gchar * tag, + guint index, + gchar ** value); +gboolean gst_tag_list_get_pointer (const GstTagList * list, + const gchar * tag, + gpointer * value); +gboolean gst_tag_list_get_pointer_index (const GstTagList * list, + const gchar * tag, + guint index, + gpointer * value); +gboolean gst_tag_list_get_date (const GstTagList * list, + const gchar * tag, + GDate ** value); +gboolean gst_tag_list_get_date_index (const GstTagList * list, + const gchar * tag, + guint index, + GDate ** value); +gboolean gst_tag_list_get_buffer (const GstTagList * list, + const gchar * tag, + GstBuffer ** value); +gboolean gst_tag_list_get_buffer_index (const GstTagList * list, + const gchar * tag, + guint index, + GstBuffer ** value); +typedef enum { + GST_EVENT_TYPE_UPSTREAM = 1 << 0, + GST_EVENT_TYPE_DOWNSTREAM = 1 << 1, + GST_EVENT_TYPE_SERIALIZED = 1 << 2 +} GstEventTypeFlags; +typedef enum { + GST_EVENT_UNKNOWN = (((0) << 4) | (0)), + GST_EVENT_FLUSH_START = (((1) << 4) | ((GST_EVENT_TYPE_UPSTREAM | GST_EVENT_TYPE_DOWNSTREAM))), + GST_EVENT_FLUSH_STOP = (((2) << 4) | ((GST_EVENT_TYPE_UPSTREAM | GST_EVENT_TYPE_DOWNSTREAM) | GST_EVENT_TYPE_SERIALIZED)), + GST_EVENT_EOS = (((5) << 4) | (GST_EVENT_TYPE_DOWNSTREAM | GST_EVENT_TYPE_SERIALIZED)), + GST_EVENT_NEWSEGMENT = (((6) << 4) | (GST_EVENT_TYPE_DOWNSTREAM | GST_EVENT_TYPE_SERIALIZED)), + GST_EVENT_TAG = (((7) << 4) | (GST_EVENT_TYPE_DOWNSTREAM | GST_EVENT_TYPE_SERIALIZED)), + GST_EVENT_BUFFERSIZE = (((8) << 4) | (GST_EVENT_TYPE_DOWNSTREAM | GST_EVENT_TYPE_SERIALIZED)), + GST_EVENT_QOS = (((15) << 4) | (GST_EVENT_TYPE_UPSTREAM)), + GST_EVENT_SEEK = (((16) << 4) | (GST_EVENT_TYPE_UPSTREAM)), + GST_EVENT_NAVIGATION = (((17) << 4) | (GST_EVENT_TYPE_UPSTREAM)), + GST_EVENT_LATENCY = (((18) << 4) | (GST_EVENT_TYPE_UPSTREAM)), + GST_EVENT_STEP = (((19) << 4) | (GST_EVENT_TYPE_UPSTREAM)), + GST_EVENT_CUSTOM_UPSTREAM = (((32) << 4) | (GST_EVENT_TYPE_UPSTREAM)), + GST_EVENT_CUSTOM_DOWNSTREAM = (((32) << 4) | (GST_EVENT_TYPE_DOWNSTREAM | GST_EVENT_TYPE_SERIALIZED)), + GST_EVENT_CUSTOM_DOWNSTREAM_OOB = (((32) << 4) | (GST_EVENT_TYPE_DOWNSTREAM)), + GST_EVENT_CUSTOM_BOTH = (((32) << 4) | ((GST_EVENT_TYPE_UPSTREAM | GST_EVENT_TYPE_DOWNSTREAM) | GST_EVENT_TYPE_SERIALIZED)), + GST_EVENT_CUSTOM_BOTH_OOB = (((32) << 4) | ((GST_EVENT_TYPE_UPSTREAM | GST_EVENT_TYPE_DOWNSTREAM))) +} GstEventType; +typedef struct _GstEvent GstEvent; +typedef struct _GstEventClass GstEventClass; +typedef enum { + GST_SEEK_TYPE_NONE = 0, + GST_SEEK_TYPE_CUR = 1, + GST_SEEK_TYPE_SET = 2, + GST_SEEK_TYPE_END = 3 +} GstSeekType; +typedef enum { + GST_SEEK_FLAG_NONE = 0, + GST_SEEK_FLAG_FLUSH = (1 << 0), + GST_SEEK_FLAG_ACCURATE = (1 << 1), + GST_SEEK_FLAG_KEY_UNIT = (1 << 2), + GST_SEEK_FLAG_SEGMENT = (1 << 3), + GST_SEEK_FLAG_SKIP = (1 << 4) +} GstSeekFlags; +struct _GstEvent { + GstMiniObject mini_object; + GstEventType type; + guint64 timestamp; + GstObject *src; + GstStructure *structure; + union { + guint32 seqnum; + gpointer _gst_reserved; + } abidata; +}; +struct _GstEventClass { + GstMiniObjectClass mini_object_class; + gpointer _gst_reserved[4]; +}; +const gchar* gst_event_type_get_name (GstEventType type); +GQuark gst_event_type_to_quark (GstEventType type); +GstEventTypeFlags + gst_event_type_get_flags (GstEventType type); +GType gst_event_get_type (void); +static inline GstEvent * +gst_event_ref (GstEvent * event) +{ + return (GstEvent *) gst_mini_object_ref (((((GstMiniObject*) g_type_check_instance_cast ((GTypeInstance*) ((event)), ((gst_mini_object_get_type()))))))); +} +static inline void +gst_event_unref (GstEvent * event) +{ + gst_mini_object_unref (((((GstMiniObject*) g_type_check_instance_cast ((GTypeInstance*) ((event)), ((gst_mini_object_get_type()))))))); +} +static inline GstEvent * +gst_event_copy (const GstEvent * event) +{ + return ((GstEvent *)(gst_mini_object_copy (((((GstMiniObject*) g_type_check_instance_cast ((GTypeInstance*) ((event)), ((gst_mini_object_get_type()))))))))); +} +GstEvent* gst_event_new_custom (GstEventType type, GstStructure *structure); +const GstStructure * + gst_event_get_structure (GstEvent *event); +gboolean gst_event_has_name (GstEvent *event, const gchar *name); +guint32 gst_event_get_seqnum (GstEvent *event); +void gst_event_set_seqnum (GstEvent *event, guint32 seqnum); +GstEvent * gst_event_new_flush_start (void); +GstEvent * gst_event_new_flush_stop (void); +GstEvent * gst_event_new_eos (void); +GstEvent* gst_event_new_new_segment (gboolean update, gdouble rate, + GstFormat format, + gint64 start, gint64 stop, + gint64 position); +GstEvent* gst_event_new_new_segment_full (gboolean update, gdouble rate, + gdouble applied_rate, + GstFormat format, + gint64 start, gint64 stop, + gint64 position); +void gst_event_parse_new_segment (GstEvent *event, + gboolean *update, + gdouble *rate, + GstFormat *format, + gint64 *start, gint64 *stop, + gint64 *position); +void gst_event_parse_new_segment_full (GstEvent *event, + gboolean *update, + gdouble *rate, + gdouble *applied_rate, + GstFormat *format, + gint64 *start, gint64 *stop, + gint64 *position); +GstEvent* gst_event_new_tag (GstTagList *taglist); +void gst_event_parse_tag (GstEvent *event, GstTagList **taglist); +GstEvent * gst_event_new_buffer_size (GstFormat format, gint64 minsize, gint64 maxsize, + gboolean async); +void gst_event_parse_buffer_size (GstEvent *event, GstFormat *format, gint64 *minsize, + gint64 *maxsize, gboolean *async); +GstEvent* gst_event_new_qos (gdouble proportion, GstClockTimeDiff diff, + GstClockTime timestamp); +void gst_event_parse_qos (GstEvent *event, gdouble *proportion, GstClockTimeDiff *diff, + GstClockTime *timestamp); +GstEvent* gst_event_new_seek (gdouble rate, GstFormat format, GstSeekFlags flags, + GstSeekType start_type, gint64 start, + GstSeekType stop_type, gint64 stop); +void gst_event_parse_seek (GstEvent *event, gdouble *rate, GstFormat *format, + GstSeekFlags *flags, + GstSeekType *start_type, gint64 *start, + GstSeekType *stop_type, gint64 *stop); +GstEvent* gst_event_new_navigation (GstStructure *structure); +GstEvent* gst_event_new_latency (GstClockTime latency); +void gst_event_parse_latency (GstEvent *event, GstClockTime *latency); +GstEvent* gst_event_new_step (GstFormat format, guint64 amount, gdouble rate, + gboolean flush, gboolean intermediate); +void gst_event_parse_step (GstEvent *event, GstFormat *format, guint64 *amount, + gdouble *rate, gboolean *flush, gboolean *intermediate); +typedef enum { + GST_QUERY_NONE = 0, + GST_QUERY_POSITION, + GST_QUERY_DURATION, + GST_QUERY_LATENCY, + GST_QUERY_JITTER, + GST_QUERY_RATE, + GST_QUERY_SEEKING, + GST_QUERY_SEGMENT, + GST_QUERY_CONVERT, + GST_QUERY_FORMATS, + GST_QUERY_BUFFERING, + GST_QUERY_CUSTOM, + GST_QUERY_URI +} GstQueryType; +typedef enum { + GST_BUFFERING_STREAM, + GST_BUFFERING_DOWNLOAD, + GST_BUFFERING_TIMESHIFT, + GST_BUFFERING_LIVE +} GstBufferingMode; +typedef struct _GstQueryTypeDefinition GstQueryTypeDefinition; +typedef struct _GstQuery GstQuery; +typedef struct _GstQueryClass GstQueryClass; +struct _GstQueryTypeDefinition +{ + GstQueryType value; + gchar *nick; + gchar *description; + GQuark quark; +}; +struct _GstQuery +{ + GstMiniObject mini_object; + GstQueryType type; + GstStructure *structure; + gpointer _gst_reserved; +}; +struct _GstQueryClass { + GstMiniObjectClass mini_object_class; + gpointer _gst_reserved[4]; +}; +const gchar* gst_query_type_get_name (GstQueryType query); +GQuark gst_query_type_to_quark (GstQueryType query); +GType gst_query_get_type (void); +GstQueryType gst_query_type_register (const gchar *nick, + const gchar *description); +GstQueryType gst_query_type_get_by_nick (const gchar *nick); +gboolean gst_query_types_contains (const GstQueryType *types, + GstQueryType type); +const GstQueryTypeDefinition* + gst_query_type_get_details (GstQueryType type); +GstIterator* gst_query_type_iterate_definitions (void); +static inline GstQuery * +gst_query_ref (GstQuery * q) +{ + return ((((GstQuery*) g_type_check_instance_cast ((GTypeInstance*) ((gst_mini_object_ref (((GstMiniObject*)(q))))), ((gst_query_get_type())))))); +} +static inline void +gst_query_unref (GstQuery * q) +{ + gst_mini_object_unref (((GstMiniObject*)(q))); +} +static inline GstQuery * +gst_query_copy (const GstQuery * q) +{ + return ((((GstQuery*) g_type_check_instance_cast ((GTypeInstance*) ((gst_mini_object_copy (((GstMiniObject*)(q))))), ((gst_query_get_type())))))); +} +GstQuery* gst_query_new_position (GstFormat format); +void gst_query_set_position (GstQuery *query, GstFormat format, gint64 cur); +void gst_query_parse_position (GstQuery *query, GstFormat *format, gint64 *cur); +GstQuery* gst_query_new_duration (GstFormat format); +void gst_query_set_duration (GstQuery *query, GstFormat format, gint64 duration); +void gst_query_parse_duration (GstQuery *query, GstFormat *format, gint64 *duration); +GstQuery* gst_query_new_latency (void); +void gst_query_set_latency (GstQuery *query, gboolean live, GstClockTime min_latency, + GstClockTime max_latency); +void gst_query_parse_latency (GstQuery *query, gboolean *live, GstClockTime *min_latency, + GstClockTime *max_latency); +GstQuery* gst_query_new_convert (GstFormat src_format, gint64 value, GstFormat dest_format); +void gst_query_set_convert (GstQuery *query, GstFormat src_format, gint64 src_value, + GstFormat dest_format, gint64 dest_value); +void gst_query_parse_convert (GstQuery *query, GstFormat *src_format, gint64 *src_value, + GstFormat *dest_format, gint64 *dest_value); +GstQuery* gst_query_new_segment (GstFormat format); +void gst_query_set_segment (GstQuery *query, gdouble rate, GstFormat format, + gint64 start_value, gint64 stop_value); +void gst_query_parse_segment (GstQuery *query, gdouble *rate, GstFormat *format, + gint64 *start_value, gint64 *stop_value); +GstQuery * gst_query_new_application (GstQueryType type, + GstStructure *structure); +GstStructure * gst_query_get_structure (GstQuery *query); +GstQuery* gst_query_new_seeking (GstFormat format); +void gst_query_set_seeking (GstQuery *query, GstFormat format, + gboolean seekable, + gint64 segment_start, + gint64 segment_end); +void gst_query_parse_seeking (GstQuery *query, GstFormat *format, + gboolean *seekable, + gint64 *segment_start, + gint64 *segment_end); +GstQuery* gst_query_new_formats (void); +void gst_query_set_formats (GstQuery *query, gint n_formats, ...); +void gst_query_set_formatsv (GstQuery *query, gint n_formats, GstFormat *formats); +void gst_query_parse_formats_length (GstQuery *query, guint *n_formats); +void gst_query_parse_formats_nth (GstQuery *query, guint nth, GstFormat *format); +GstQuery* gst_query_new_buffering (GstFormat format); +void gst_query_set_buffering_percent (GstQuery *query, gboolean busy, gint percent); +void gst_query_parse_buffering_percent (GstQuery *query, gboolean *busy, gint *percent); +void gst_query_set_buffering_stats (GstQuery *query, GstBufferingMode mode, + gint avg_in, gint avg_out, + gint64 buffering_left); +void gst_query_parse_buffering_stats (GstQuery *query, GstBufferingMode *mode, + gint *avg_in, gint *avg_out, + gint64 *buffering_left); +void gst_query_set_buffering_range (GstQuery *query, GstFormat format, + gint64 start, gint64 stop, + gint64 estimated_total); +void gst_query_parse_buffering_range (GstQuery *query, GstFormat *format, + gint64 *start, gint64 *stop, + gint64 *estimated_total); +GstQuery * gst_query_new_uri (void); +void gst_query_parse_uri (GstQuery *query, gchar **uri); +void gst_query_set_uri (GstQuery *query, const gchar *uri); +typedef struct _GstTaskPool GstTaskPool; +typedef struct _GstTaskPoolClass GstTaskPoolClass; +typedef void (*GstTaskPoolFunction) (void *data); +struct _GstTaskPool { + GstObject object; + GThreadPool *pool; + gpointer _gst_reserved[4]; +}; +struct _GstTaskPoolClass { + GstObjectClass parent_class; + void (*prepare) (GstTaskPool *pool, GError **error); + void (*cleanup) (GstTaskPool *pool); + gpointer (*push) (GstTaskPool *pool, GstTaskPoolFunction func, + gpointer user_data, GError **error); + void (*join) (GstTaskPool *pool, gpointer id); + gpointer _gst_reserved[4]; +}; +GType gst_task_pool_get_type (void); +GstTaskPool * gst_task_pool_new (void); +void gst_task_pool_prepare (GstTaskPool *pool, GError **error); +gpointer gst_task_pool_push (GstTaskPool *pool, GstTaskPoolFunction func, + gpointer user_data, GError **error); +void gst_task_pool_join (GstTaskPool *pool, gpointer id); +void gst_task_pool_cleanup (GstTaskPool *pool); +typedef void (*GstTaskFunction) (void *data); +typedef struct _GstTask GstTask; +typedef struct _GstTaskClass GstTaskClass; +typedef struct _GstTaskPrivate GstTaskPrivate; +typedef enum { + GST_TASK_STARTED, + GST_TASK_STOPPED, + GST_TASK_PAUSED +} GstTaskState; +typedef struct { + void (*enter_thread) (GstTask *task, GThread *thread, gpointer user_data); + void (*leave_thread) (GstTask *task, GThread *thread, gpointer user_data); + gpointer _gst_reserved[4]; +} GstTaskThreadCallbacks; +struct _GstTask { + GstObject object; + GstTaskState state; + GCond *cond; + GStaticRecMutex *lock; + GstTaskFunction func; + gpointer data; + gboolean running; + union { + struct { + GThread *thread; + } ABI; + gpointer _gst_reserved[4 - 1]; + } abidata; + GstTaskPrivate *priv; +}; +struct _GstTaskClass { + GstObjectClass parent_class; + GstTaskPool *pool; + gpointer _gst_reserved[4]; +}; +void gst_task_cleanup_all (void); +GType gst_task_get_type (void); +GstTask* gst_task_create (GstTaskFunction func, gpointer data); +void gst_task_set_lock (GstTask *task, GStaticRecMutex *mutex); +void gst_task_set_priority (GstTask *task, GThreadPriority priority); +GstTaskPool * gst_task_get_pool (GstTask *task); +void gst_task_set_pool (GstTask *task, GstTaskPool *pool); +void gst_task_set_thread_callbacks (GstTask *task, + GstTaskThreadCallbacks *callbacks, + gpointer user_data, + GDestroyNotify notify); +GstTaskState gst_task_get_state (GstTask *task); +gboolean gst_task_set_state (GstTask *task, GstTaskState state); +gboolean gst_task_start (GstTask *task); +gboolean gst_task_stop (GstTask *task); +gboolean gst_task_pause (GstTask *task); +gboolean gst_task_join (GstTask *task); +typedef struct _GstPad GstPad; +typedef struct _GstPadPrivate GstPadPrivate; +typedef struct _GstPadClass GstPadClass; +typedef enum { + GST_PAD_LINK_OK = 0, + GST_PAD_LINK_WRONG_HIERARCHY = -1, + GST_PAD_LINK_WAS_LINKED = -2, + GST_PAD_LINK_WRONG_DIRECTION = -3, + GST_PAD_LINK_NOFORMAT = -4, + GST_PAD_LINK_NOSCHED = -5, + GST_PAD_LINK_REFUSED = -6 +} GstPadLinkReturn; +typedef enum { + GST_FLOW_CUSTOM_SUCCESS = 100, + GST_FLOW_RESEND = 1, + GST_FLOW_OK = 0, + GST_FLOW_NOT_LINKED = -1, + GST_FLOW_WRONG_STATE = -2, + GST_FLOW_UNEXPECTED = -3, + GST_FLOW_NOT_NEGOTIATED = -4, + GST_FLOW_ERROR = -5, + GST_FLOW_NOT_SUPPORTED = -6, + GST_FLOW_CUSTOM_ERROR = -100 +} GstFlowReturn; +const gchar* gst_flow_get_name (GstFlowReturn ret); +GQuark gst_flow_to_quark (GstFlowReturn ret); +typedef enum { + GST_ACTIVATE_NONE, + GST_ACTIVATE_PUSH, + GST_ACTIVATE_PULL +} GstActivateMode; +typedef gboolean (*GstPadActivateFunction) (GstPad *pad); +typedef gboolean (*GstPadActivateModeFunction) (GstPad *pad, gboolean active); +typedef GstFlowReturn (*GstPadChainFunction) (GstPad *pad, GstBuffer *buffer); +typedef GstFlowReturn (*GstPadChainListFunction) (GstPad *pad, GstBufferList *list); +typedef GstFlowReturn (*GstPadGetRangeFunction) (GstPad *pad, guint64 offset, + guint length, GstBuffer **buffer); +typedef gboolean (*GstPadEventFunction) (GstPad *pad, GstEvent *event); +typedef gboolean (*GstPadCheckGetRangeFunction) (GstPad *pad); +typedef GList* (*GstPadIntLinkFunction) (GstPad *pad); +typedef GstIterator* (*GstPadIterIntLinkFunction) (GstPad *pad); +typedef const GstQueryType* (*GstPadQueryTypeFunction) (GstPad *pad); +typedef gboolean (*GstPadQueryFunction) (GstPad *pad, GstQuery *query); +typedef GstPadLinkReturn (*GstPadLinkFunction) (GstPad *pad, GstPad *peer); +typedef void (*GstPadUnlinkFunction) (GstPad *pad); +typedef GstCaps* (*GstPadGetCapsFunction) (GstPad *pad); +typedef gboolean (*GstPadSetCapsFunction) (GstPad *pad, GstCaps *caps); +typedef gboolean (*GstPadAcceptCapsFunction) (GstPad *pad, GstCaps *caps); +typedef void (*GstPadFixateCapsFunction) (GstPad *pad, GstCaps *caps); +typedef GstFlowReturn (*GstPadBufferAllocFunction) (GstPad *pad, guint64 offset, guint size, + GstCaps *caps, GstBuffer **buf); +typedef gboolean (*GstPadDispatcherFunction) (GstPad *pad, gpointer data); +typedef void (*GstPadBlockCallback) (GstPad *pad, gboolean blocked, gpointer user_data); +typedef enum { + GST_PAD_UNKNOWN, + GST_PAD_SRC, + GST_PAD_SINK +} GstPadDirection; +typedef enum { + GST_PAD_BLOCKED = (GST_OBJECT_FLAG_LAST << 0), + GST_PAD_FLUSHING = (GST_OBJECT_FLAG_LAST << 1), + GST_PAD_IN_GETCAPS = (GST_OBJECT_FLAG_LAST << 2), + GST_PAD_IN_SETCAPS = (GST_OBJECT_FLAG_LAST << 3), + GST_PAD_BLOCKING = (GST_OBJECT_FLAG_LAST << 4), + GST_PAD_FLAG_LAST = (GST_OBJECT_FLAG_LAST << 8) +} GstPadFlags; +typedef struct _GstPadTemplate GstPadTemplate; +struct _GstPad { + GstObject object; + gpointer element_private; + GstPadTemplate *padtemplate; + GstPadDirection direction; + GStaticRecMutex *stream_rec_lock; + GstTask *task; + GMutex *preroll_lock; + GCond *preroll_cond; + GCond *block_cond; + GstPadBlockCallback block_callback; + gpointer block_data; + GstCaps *caps; + GstPadGetCapsFunction getcapsfunc; + GstPadSetCapsFunction setcapsfunc; + GstPadAcceptCapsFunction acceptcapsfunc; + GstPadFixateCapsFunction fixatecapsfunc; + GstPadActivateFunction activatefunc; + GstPadActivateModeFunction activatepushfunc; + GstPadActivateModeFunction activatepullfunc; + GstPadLinkFunction linkfunc; + GstPadUnlinkFunction unlinkfunc; + GstPad *peer; + gpointer sched_private; + GstPadChainFunction chainfunc; + GstPadCheckGetRangeFunction checkgetrangefunc; + GstPadGetRangeFunction getrangefunc; + GstPadEventFunction eventfunc; + GstActivateMode mode; + GstPadQueryTypeFunction querytypefunc; + GstPadQueryFunction queryfunc; + GstPadIntLinkFunction intlinkfunc; + GstPadBufferAllocFunction bufferallocfunc; + gint do_buffer_signals; + gint do_event_signals; + GstPadIterIntLinkFunction iterintlinkfunc; + GDestroyNotify block_destroy_data; + union { + struct { + gboolean block_callback_called; + GstPadPrivate *priv; + } ABI; + gpointer _gst_reserved[4 - 2]; + } abidata; +}; +struct _GstPadClass { + GstObjectClass parent_class; + void (*linked) (GstPad *pad, GstPad *peer); + void (*unlinked) (GstPad *pad, GstPad *peer); + void (*request_link) (GstPad *pad); + gboolean (*have_data) (GstPad *pad, GstMiniObject *data); + gpointer _gst_reserved[4]; +}; +typedef struct _GstPadTemplateClass GstPadTemplateClass; +typedef struct _GstStaticPadTemplate GstStaticPadTemplate; +typedef enum { + GST_PAD_ALWAYS, + GST_PAD_SOMETIMES, + GST_PAD_REQUEST +} GstPadPresence; +typedef enum { + GST_PAD_TEMPLATE_FIXED = (GST_OBJECT_FLAG_LAST << 0), + GST_PAD_TEMPLATE_FLAG_LAST = (GST_OBJECT_FLAG_LAST << 4) +} GstPadTemplateFlags; +struct _GstPadTemplate { + GstObject object; + gchar *name_template; + GstPadDirection direction; + GstPadPresence presence; + GstCaps *caps; + gpointer _gst_reserved[4]; +}; +struct _GstPadTemplateClass { + GstObjectClass parent_class; + void (*pad_created) (GstPadTemplate *templ, GstPad *pad); + gpointer _gst_reserved[4]; +}; +struct _GstStaticPadTemplate { + const gchar *name_template; + GstPadDirection direction; + GstPadPresence presence; + GstStaticCaps static_caps; +}; +GType gst_pad_template_get_type (void); +GType gst_static_pad_template_get_type (void); +GstPadTemplate* gst_pad_template_new (const gchar *name_template, + GstPadDirection direction, GstPadPresence presence, + GstCaps *caps); +GstPadTemplate * gst_static_pad_template_get (GstStaticPadTemplate *pad_template); +GstCaps* gst_static_pad_template_get_caps (GstStaticPadTemplate *templ); +GstCaps* gst_pad_template_get_caps (GstPadTemplate *templ); +void gst_pad_template_pad_created (GstPadTemplate * templ, GstPad * pad); +GType gst_pad_get_type (void); +GstPad* gst_pad_new (const gchar *name, GstPadDirection direction); +GstPad* gst_pad_new_from_template (GstPadTemplate *templ, const gchar *name); +GstPad* gst_pad_new_from_static_template (GstStaticPadTemplate *templ, const gchar *name); +GstPadDirection gst_pad_get_direction (GstPad *pad); +gboolean gst_pad_set_active (GstPad *pad, gboolean active); +gboolean gst_pad_is_active (GstPad *pad); +gboolean gst_pad_activate_pull (GstPad *pad, gboolean active); +gboolean gst_pad_activate_push (GstPad *pad, gboolean active); +gboolean gst_pad_set_blocked (GstPad *pad, gboolean blocked); +gboolean gst_pad_set_blocked_async (GstPad *pad, gboolean blocked, + GstPadBlockCallback callback, gpointer user_data); +gboolean gst_pad_set_blocked_async_full (GstPad *pad, gboolean blocked, + GstPadBlockCallback callback, gpointer user_data, + GDestroyNotify destroy_data); +gboolean gst_pad_is_blocked (GstPad *pad); +gboolean gst_pad_is_blocking (GstPad *pad); +void gst_pad_set_element_private (GstPad *pad, gpointer priv); +gpointer gst_pad_get_element_private (GstPad *pad); +GstPadTemplate* gst_pad_get_pad_template (GstPad *pad); +void gst_pad_set_bufferalloc_function (GstPad *pad, GstPadBufferAllocFunction bufalloc); +GstFlowReturn gst_pad_alloc_buffer (GstPad *pad, guint64 offset, gint size, + GstCaps *caps, GstBuffer **buf); +GstFlowReturn gst_pad_alloc_buffer_and_set_caps (GstPad *pad, guint64 offset, gint size, + GstCaps *caps, GstBuffer **buf); +void gst_pad_set_activate_function (GstPad *pad, GstPadActivateFunction activate); +void gst_pad_set_activatepull_function (GstPad *pad, GstPadActivateModeFunction activatepull); +void gst_pad_set_activatepush_function (GstPad *pad, GstPadActivateModeFunction activatepush); +void gst_pad_set_chain_function (GstPad *pad, GstPadChainFunction chain); +void gst_pad_set_chain_list_function (GstPad *pad, GstPadChainListFunction chainlist); +void gst_pad_set_getrange_function (GstPad *pad, GstPadGetRangeFunction get); +void gst_pad_set_checkgetrange_function (GstPad *pad, GstPadCheckGetRangeFunction check); +void gst_pad_set_event_function (GstPad *pad, GstPadEventFunction event); +void gst_pad_set_link_function (GstPad *pad, GstPadLinkFunction link); +void gst_pad_set_unlink_function (GstPad *pad, GstPadUnlinkFunction unlink); +gboolean gst_pad_can_link (GstPad *srcpad, GstPad *sinkpad); +GstPadLinkReturn gst_pad_link (GstPad *srcpad, GstPad *sinkpad); +gboolean gst_pad_unlink (GstPad *srcpad, GstPad *sinkpad); +gboolean gst_pad_is_linked (GstPad *pad); +GstPad* gst_pad_get_peer (GstPad *pad); +void gst_pad_set_getcaps_function (GstPad *pad, GstPadGetCapsFunction getcaps); +void gst_pad_set_acceptcaps_function (GstPad *pad, GstPadAcceptCapsFunction acceptcaps); +void gst_pad_set_fixatecaps_function (GstPad *pad, GstPadFixateCapsFunction fixatecaps); +void gst_pad_set_setcaps_function (GstPad *pad, GstPadSetCapsFunction setcaps); +const GstCaps* gst_pad_get_pad_template_caps (GstPad *pad); +GstCaps * gst_pad_get_caps (GstPad * pad); +void gst_pad_fixate_caps (GstPad * pad, GstCaps *caps); +gboolean gst_pad_accept_caps (GstPad * pad, GstCaps *caps); +gboolean gst_pad_set_caps (GstPad * pad, GstCaps *caps); +GstCaps * gst_pad_peer_get_caps (GstPad * pad); +gboolean gst_pad_peer_accept_caps (GstPad * pad, GstCaps *caps); +GstCaps * gst_pad_get_allowed_caps (GstPad * pad); +GstCaps * gst_pad_get_negotiated_caps (GstPad * pad); +GstFlowReturn gst_pad_push (GstPad *pad, GstBuffer *buffer); +GstFlowReturn gst_pad_push_list (GstPad *pad, GstBufferList *list); +gboolean gst_pad_check_pull_range (GstPad *pad); +GstFlowReturn gst_pad_pull_range (GstPad *pad, guint64 offset, guint size, + GstBuffer **buffer); +gboolean gst_pad_push_event (GstPad *pad, GstEvent *event); +gboolean gst_pad_event_default (GstPad *pad, GstEvent *event); +GstFlowReturn gst_pad_chain (GstPad *pad, GstBuffer *buffer); +GstFlowReturn gst_pad_chain_list (GstPad *pad, GstBufferList *list); +GstFlowReturn gst_pad_get_range (GstPad *pad, guint64 offset, guint size, + GstBuffer **buffer); +gboolean gst_pad_send_event (GstPad *pad, GstEvent *event); +gboolean gst_pad_start_task (GstPad *pad, GstTaskFunction func, + gpointer data); +gboolean gst_pad_pause_task (GstPad *pad); +gboolean gst_pad_stop_task (GstPad *pad); +void gst_pad_set_internal_link_function (GstPad *pad, GstPadIntLinkFunction intlink); +GList* gst_pad_get_internal_links (GstPad *pad); +GList* gst_pad_get_internal_links_default (GstPad *pad); +void gst_pad_set_iterate_internal_links_function (GstPad * pad, + GstPadIterIntLinkFunction iterintlink); +GstIterator * gst_pad_iterate_internal_links (GstPad * pad); +GstIterator * gst_pad_iterate_internal_links_default (GstPad * pad); +void gst_pad_set_query_type_function (GstPad *pad, GstPadQueryTypeFunction type_func); +const GstQueryType* + gst_pad_get_query_types (GstPad *pad); +const GstQueryType* + gst_pad_get_query_types_default (GstPad *pad); +gboolean gst_pad_query (GstPad *pad, GstQuery *query); +gboolean gst_pad_peer_query (GstPad *pad, GstQuery *query); +void gst_pad_set_query_function (GstPad *pad, GstPadQueryFunction query); +gboolean gst_pad_query_default (GstPad *pad, GstQuery *query); +gboolean gst_pad_dispatcher (GstPad *pad, GstPadDispatcherFunction dispatch, + gpointer data); +void gst_pad_load_and_link (xmlNodePtr self, GstObject *parent); +typedef struct _GstBus GstBus; +typedef struct _GstBusPrivate GstBusPrivate; +typedef struct _GstBusClass GstBusClass; +typedef struct _GstMessage GstMessage; +typedef struct _GstMessageClass GstMessageClass; +typedef enum +{ + GST_MESSAGE_UNKNOWN = 0, + GST_MESSAGE_EOS = (1 << 0), + GST_MESSAGE_ERROR = (1 << 1), + GST_MESSAGE_WARNING = (1 << 2), + GST_MESSAGE_INFO = (1 << 3), + GST_MESSAGE_TAG = (1 << 4), + GST_MESSAGE_BUFFERING = (1 << 5), + GST_MESSAGE_STATE_CHANGED = (1 << 6), + GST_MESSAGE_STATE_DIRTY = (1 << 7), + GST_MESSAGE_STEP_DONE = (1 << 8), + GST_MESSAGE_CLOCK_PROVIDE = (1 << 9), + GST_MESSAGE_CLOCK_LOST = (1 << 10), + GST_MESSAGE_NEW_CLOCK = (1 << 11), + GST_MESSAGE_STRUCTURE_CHANGE = (1 << 12), + GST_MESSAGE_STREAM_STATUS = (1 << 13), + GST_MESSAGE_APPLICATION = (1 << 14), + GST_MESSAGE_ELEMENT = (1 << 15), + GST_MESSAGE_SEGMENT_START = (1 << 16), + GST_MESSAGE_SEGMENT_DONE = (1 << 17), + GST_MESSAGE_DURATION = (1 << 18), + GST_MESSAGE_LATENCY = (1 << 19), + GST_MESSAGE_ASYNC_START = (1 << 20), + GST_MESSAGE_ASYNC_DONE = (1 << 21), + GST_MESSAGE_REQUEST_STATE = (1 << 22), + GST_MESSAGE_STEP_START = (1 << 23), + GST_MESSAGE_ANY = ~0 +} GstMessageType; +typedef enum { + GST_STRUCTURE_CHANGE_TYPE_PAD_LINK = 0, + GST_STRUCTURE_CHANGE_TYPE_PAD_UNLINK = 1 +} GstStructureChangeType; +typedef enum { + GST_STREAM_STATUS_TYPE_CREATE = 0, + GST_STREAM_STATUS_TYPE_ENTER = 1, + GST_STREAM_STATUS_TYPE_LEAVE = 2, + GST_STREAM_STATUS_TYPE_DESTROY = 3, + GST_STREAM_STATUS_TYPE_START = 8, + GST_STREAM_STATUS_TYPE_PAUSE = 9, + GST_STREAM_STATUS_TYPE_STOP = 10 +} GstStreamStatusType; +struct _GstMessage +{ + GstMiniObject mini_object; + GMutex *lock; + GCond *cond; + GstMessageType type; + guint64 timestamp; + GstObject *src; + GstStructure *structure; + union { + struct { + guint32 seqnum; + } ABI; + gpointer _gst_reserved[4 + 0]; + } abidata; +}; +struct _GstMessageClass { + GstMiniObjectClass mini_object_class; + gpointer _gst_reserved[4]; +}; +GType gst_message_get_type (void); +const gchar* gst_message_type_get_name (GstMessageType type); +GQuark gst_message_type_to_quark (GstMessageType type); +static inline GstMessage * +gst_message_ref (GstMessage * msg) +{ + return (GstMessage *) gst_mini_object_ref (((((GstMiniObject*) g_type_check_instance_cast ((GTypeInstance*) ((msg)), ((gst_mini_object_get_type()))))))); +} +static inline void +gst_message_unref (GstMessage * msg) +{ + gst_mini_object_unref (((GstMiniObject*)(msg))); +} +static inline GstMessage * +gst_message_copy (const GstMessage * msg) +{ + return ((((GstMessage*) g_type_check_instance_cast ((GTypeInstance*) ((gst_mini_object_copy (((GstMiniObject*)(msg))))), ((gst_message_get_type())))))); +} +guint32 gst_message_get_seqnum (GstMessage *message); +void gst_message_set_seqnum (GstMessage *message, guint32 seqnum); +GstMessage * gst_message_new_eos (GstObject * src); +GstMessage * gst_message_new_error (GstObject * src, GError * error, const gchar * debug); +void gst_message_parse_error (GstMessage *message, GError **gerror, gchar **debug); +GstMessage * gst_message_new_warning (GstObject * src, GError * error, const gchar * debug); +void gst_message_parse_warning (GstMessage *message, GError **gerror, gchar **debug); +GstMessage * gst_message_new_info (GstObject * src, GError * error, const gchar * debug); +void gst_message_parse_info (GstMessage *message, GError **gerror, gchar **debug); +GstMessage * gst_message_new_tag (GstObject * src, GstTagList * tag_list); +GstMessage * gst_message_new_tag_full (GstObject * src, GstPad *pad, GstTagList * tag_list); +void gst_message_parse_tag (GstMessage *message, GstTagList **tag_list); +void gst_message_parse_tag_full (GstMessage *message, GstPad **pad, GstTagList **tag_list); +GstMessage * gst_message_new_buffering (GstObject * src, gint percent); +void gst_message_parse_buffering (GstMessage *message, gint *percent); +void gst_message_set_buffering_stats (GstMessage *message, GstBufferingMode mode, + gint avg_in, gint avg_out, + gint64 buffering_left); +void gst_message_parse_buffering_stats (GstMessage *message, GstBufferingMode *mode, + gint *avg_in, gint *avg_out, + gint64 *buffering_left); +GstMessage * gst_message_new_state_changed (GstObject * src, GstState oldstate, + GstState newstate, GstState pending); +void gst_message_parse_state_changed (GstMessage *message, GstState *oldstate, + GstState *newstate, GstState *pending); +GstMessage * gst_message_new_state_dirty (GstObject * src); +GstMessage * gst_message_new_step_done (GstObject * src, GstFormat format, guint64 amount, + gdouble rate, gboolean flush, gboolean intermediate, + guint64 duration, gboolean eos); +void gst_message_parse_step_done (GstMessage * message, GstFormat *format, guint64 *amount, + gdouble *rate, gboolean *flush, gboolean *intermediate, + guint64 *duration, gboolean *eos); +GstMessage * gst_message_new_clock_provide (GstObject * src, GstClock *clock, gboolean ready); +void gst_message_parse_clock_provide (GstMessage *message, GstClock **clock, + gboolean *ready); +GstMessage * gst_message_new_clock_lost (GstObject * src, GstClock *clock); +void gst_message_parse_clock_lost (GstMessage *message, GstClock **clock); +GstMessage * gst_message_new_new_clock (GstObject * src, GstClock *clock); +void gst_message_parse_new_clock (GstMessage *message, GstClock **clock); +GstMessage * gst_message_new_application (GstObject * src, GstStructure * structure); +GstMessage * gst_message_new_element (GstObject * src, GstStructure * structure); +GstMessage * gst_message_new_segment_start (GstObject * src, GstFormat format, gint64 position); +void gst_message_parse_segment_start (GstMessage *message, GstFormat *format, + gint64 *position); +GstMessage * gst_message_new_segment_done (GstObject * src, GstFormat format, gint64 position); +void gst_message_parse_segment_done (GstMessage *message, GstFormat *format, + gint64 *position); +GstMessage * gst_message_new_duration (GstObject * src, GstFormat format, gint64 duration); +void gst_message_parse_duration (GstMessage *message, GstFormat *format, + gint64 *duration); +GstMessage * gst_message_new_latency (GstObject * src); +GstMessage * gst_message_new_async_start (GstObject * src, gboolean new_base_time); +void gst_message_parse_async_start (GstMessage *message, gboolean *new_base_time); +GstMessage * gst_message_new_async_done (GstObject * src); +GstMessage * gst_message_new_structure_change (GstObject * src, GstStructureChangeType type, + GstElement *owner, gboolean busy); +void gst_message_parse_structure_change (GstMessage *message, GstStructureChangeType *type, + GstElement **owner, gboolean *busy); +GstMessage * gst_message_new_stream_status (GstObject * src, GstStreamStatusType type, + GstElement *owner); +void gst_message_parse_stream_status (GstMessage *message, GstStreamStatusType *type, + GstElement **owner); +void gst_message_set_stream_status_object (GstMessage *message, const GValue *object); +const GValue * gst_message_get_stream_status_object (GstMessage *message); +GstMessage * gst_message_new_request_state (GstObject * src, GstState state); +void gst_message_parse_request_state (GstMessage * message, GstState *state); +GstMessage * gst_message_new_step_start (GstObject * src, gboolean active, GstFormat format, + guint64 amount, gdouble rate, gboolean flush, + gboolean intermediate); +void gst_message_parse_step_start (GstMessage * message, gboolean *active, GstFormat *format, + guint64 *amount, gdouble *rate, gboolean *flush, + gboolean *intermediate); +GstMessage * gst_message_new_custom (GstMessageType type, + GstObject * src, + GstStructure * structure); +const GstStructure * gst_message_get_structure (GstMessage *message); +typedef enum { + GST_BUS_FLUSHING = (GST_OBJECT_FLAG_LAST << 0), + GST_BUS_FLAG_LAST = (GST_OBJECT_FLAG_LAST << 1) +} GstBusFlags; +typedef enum +{ + GST_BUS_DROP = 0, + GST_BUS_PASS = 1, + GST_BUS_ASYNC = 2 +} GstBusSyncReply; +typedef GstBusSyncReply (*GstBusSyncHandler) (GstBus * bus, GstMessage * message, gpointer data); +typedef gboolean (*GstBusFunc) (GstBus * bus, GstMessage * message, gpointer data); +struct _GstBus +{ + GstObject object; + GQueue *queue; + GMutex *queue_lock; + GstBusSyncHandler sync_handler; + gpointer sync_handler_data; + guint signal_watch_id; + guint num_signal_watchers; + GstBusPrivate *priv; + gpointer _gst_reserved[4 - 1]; +}; +struct _GstBusClass +{ + GstObjectClass parent_class; + void (*message) (GstBus *bus, GstMessage *message); + void (*sync_message) (GstBus *bus, GstMessage *message); + gpointer _gst_reserved[4]; +}; +GType gst_bus_get_type (void); +GstBus* gst_bus_new (void); +gboolean gst_bus_post (GstBus * bus, GstMessage * message); +gboolean gst_bus_have_pending (GstBus * bus); +GstMessage * gst_bus_peek (GstBus * bus); +GstMessage * gst_bus_pop (GstBus * bus); +GstMessage * gst_bus_pop_filtered (GstBus * bus, GstMessageType types); +GstMessage * gst_bus_timed_pop (GstBus * bus, GstClockTime timeout); +GstMessage * gst_bus_timed_pop_filtered (GstBus * bus, GstClockTime timeout, GstMessageType types); +void gst_bus_set_flushing (GstBus * bus, gboolean flushing); +void gst_bus_set_sync_handler (GstBus * bus, GstBusSyncHandler func, + gpointer data); +GSource * gst_bus_create_watch (GstBus * bus); +guint gst_bus_add_watch_full (GstBus * bus, + gint priority, + GstBusFunc func, + gpointer user_data, + GDestroyNotify notify); +guint gst_bus_add_watch (GstBus * bus, + GstBusFunc func, + gpointer user_data); +GstMessage* gst_bus_poll (GstBus *bus, GstMessageType events, + GstClockTimeDiff timeout); +gboolean gst_bus_async_signal_func (GstBus *bus, GstMessage *message, + gpointer data); +GstBusSyncReply gst_bus_sync_signal_handler (GstBus *bus, GstMessage *message, + gpointer data); +void gst_bus_add_signal_watch (GstBus * bus); +void gst_bus_add_signal_watch_full (GstBus * bus, gint priority); +void gst_bus_remove_signal_watch (GstBus * bus); +void gst_bus_enable_sync_message_emission (GstBus * bus); +void gst_bus_disable_sync_message_emission (GstBus * bus); +typedef struct _GstElementFactory GstElementFactory; +typedef struct _GstElementFactoryClass GstElementFactoryClass; +typedef enum +{ + G_MODULE_BIND_LAZY = 1 << 0, + G_MODULE_BIND_LOCAL = 1 << 1, + G_MODULE_BIND_MASK = 0x03 +} GModuleFlags; +typedef struct _GModule GModule; +typedef const gchar* (*GModuleCheckInit) (GModule *module); +typedef void (*GModuleUnload) (GModule *module); +gboolean g_module_supported (void) __attribute__((__const__)); +GModule* g_module_open (const gchar *file_name, + GModuleFlags flags); +gboolean g_module_close (GModule *module); +void g_module_make_resident (GModule *module); +const gchar* g_module_error (void); +gboolean g_module_symbol (GModule *module, + const gchar *symbol_name, + gpointer *symbol); +const gchar* g_module_name (GModule *module); +gchar* g_module_build_path (const gchar *directory, + const gchar *module_name); +typedef struct _GstPlugin GstPlugin; +typedef struct _GstPluginClass GstPluginClass; +typedef struct _GstPluginPrivate GstPluginPrivate; +typedef struct _GstPluginDesc GstPluginDesc; +GQuark gst_plugin_error_quark (void); +typedef enum +{ + GST_PLUGIN_ERROR_MODULE, + GST_PLUGIN_ERROR_DEPENDENCIES, + GST_PLUGIN_ERROR_NAME_MISMATCH +} GstPluginError; +typedef enum +{ + GST_PLUGIN_FLAG_CACHED = (1<<0) +} GstPluginFlags; +typedef enum { + GST_PLUGIN_DEPENDENCY_FLAG_NONE = 0, + GST_PLUGIN_DEPENDENCY_FLAG_RECURSE = (1 << 0), + GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_DEFAULT_ONLY = (1 << 1), + GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_SUFFIX = (1 << 2) +} GstPluginDependencyFlags; +typedef gboolean (*GstPluginInitFunc) (GstPlugin *plugin); +typedef gboolean (*GstPluginInitFullFunc) (GstPlugin *plugin, gpointer user_data); +struct _GstPluginDesc { + gint major_version; + gint minor_version; + const gchar *name; + gchar *description; + GstPluginInitFunc plugin_init; + const gchar *version; + const gchar *license; + const gchar *source; + const gchar *package; + const gchar *origin; + gpointer _gst_reserved[4]; +}; +struct _GstPlugin { + GstObject object; + GstPluginDesc desc; + GstPluginDesc *orig_desc; + unsigned int flags; + gchar * filename; + gchar * basename; + GModule * module; + off_t file_size; + time_t file_mtime; + gboolean registered; + GstPluginPrivate *priv; + gpointer _gst_reserved[4 - 1]; +}; +struct _GstPluginClass { + GstObjectClass object_class; + gpointer _gst_reserved[4]; +}; +typedef gboolean (*GstPluginFilter) (GstPlugin *plugin, + gpointer user_data); +GType gst_plugin_get_type (void); +void _gst_plugin_register_static (GstPluginDesc *desc); +gboolean gst_plugin_register_static (gint major_version, + gint minor_version, + const gchar *name, + gchar *description, + GstPluginInitFunc init_func, + const gchar *version, + const gchar *license, + const gchar *source, + const gchar *package, + const gchar *origin); +gboolean gst_plugin_register_static_full (gint major_version, + gint minor_version, + const gchar *name, + gchar *description, + GstPluginInitFullFunc init_full_func, + const gchar *version, + const gchar *license, + const gchar *source, + const gchar *package, + const gchar *origin, + gpointer user_data); +const gchar* gst_plugin_get_name (GstPlugin *plugin); +const gchar* gst_plugin_get_description (GstPlugin *plugin); +const gchar* gst_plugin_get_filename (GstPlugin *plugin); +const gchar* gst_plugin_get_version (GstPlugin *plugin); +const gchar* gst_plugin_get_license (GstPlugin *plugin); +const gchar* gst_plugin_get_source (GstPlugin *plugin); +const gchar* gst_plugin_get_package (GstPlugin *plugin); +const gchar* gst_plugin_get_origin (GstPlugin *plugin); +const GstStructure* gst_plugin_get_cache_data (GstPlugin * plugin); +void gst_plugin_set_cache_data (GstPlugin * plugin, GstStructure *cache_data); +GModule * gst_plugin_get_module (GstPlugin *plugin); +gboolean gst_plugin_is_loaded (GstPlugin *plugin); +gboolean gst_plugin_name_filter (GstPlugin *plugin, const gchar *name); +GstPlugin * gst_plugin_load_file (const gchar *filename, GError** error); +GstPlugin * gst_plugin_load (GstPlugin *plugin); +GstPlugin * gst_plugin_load_by_name (const gchar *name); +void gst_plugin_add_dependency (GstPlugin * plugin, + const gchar ** env_vars, + const gchar ** paths, + const gchar ** names, + GstPluginDependencyFlags flags); +void gst_plugin_add_dependency_simple (GstPlugin * plugin, + const gchar * env_vars, + const gchar * paths, + const gchar * names, + GstPluginDependencyFlags flags); +void gst_plugin_list_free (GList *list); +typedef struct _GstPluginFeature GstPluginFeature; +typedef struct _GstPluginFeatureClass GstPluginFeatureClass; +typedef enum { + GST_RANK_NONE = 0, + GST_RANK_MARGINAL = 64, + GST_RANK_SECONDARY = 128, + GST_RANK_PRIMARY = 256 +} GstRank; +struct _GstPluginFeature { + GstObject object; + gboolean loaded; + gchar *name; + guint rank; + const gchar *plugin_name; + gpointer _gst_reserved[4]; +}; +struct _GstPluginFeatureClass { + GstObjectClass parent_class; + gpointer _gst_reserved[4]; +}; +typedef struct { + const gchar *name; + GType type; +} GstTypeNameData; +typedef gboolean (*GstPluginFeatureFilter) (GstPluginFeature *feature, + gpointer user_data); +GType gst_plugin_feature_get_type (void); +GstPluginFeature * + gst_plugin_feature_load (GstPluginFeature *feature); +gboolean gst_plugin_feature_type_name_filter (GstPluginFeature *feature, + GstTypeNameData *data); +void gst_plugin_feature_set_rank (GstPluginFeature *feature, guint rank); +void gst_plugin_feature_set_name (GstPluginFeature *feature, const gchar *name); +guint gst_plugin_feature_get_rank (GstPluginFeature *feature); +const gchar *gst_plugin_feature_get_name (GstPluginFeature *feature); +void gst_plugin_feature_list_free (GList *list); +gboolean gst_plugin_feature_check_version (GstPluginFeature *feature, + guint min_major, + guint min_minor, + guint min_micro); +typedef struct _GstElementDetails GstElementDetails; +struct _GstElementDetails +{ + gchar *longname; + gchar *klass; + gchar *description; + gchar *author; + gpointer _gst_reserved[4]; +}; +struct _GstElementFactory { + GstPluginFeature parent; + GType type; + GstElementDetails details; + GList * staticpadtemplates; + guint numpadtemplates; + guint uri_type; + gchar ** uri_protocols; + GList * interfaces; + gpointer _gst_reserved[4]; +}; +struct _GstElementFactoryClass { + GstPluginFeatureClass parent_class; + gpointer _gst_reserved[4]; +}; +GType gst_element_factory_get_type (void); +GstElementFactory * gst_element_factory_find (const gchar *name); +GType gst_element_factory_get_element_type (GstElementFactory *factory); +const gchar * gst_element_factory_get_longname (GstElementFactory *factory); +const gchar * gst_element_factory_get_klass (GstElementFactory *factory); +const gchar * gst_element_factory_get_description (GstElementFactory *factory); +const gchar * gst_element_factory_get_author (GstElementFactory *factory); +guint gst_element_factory_get_num_pad_templates (GstElementFactory *factory); +const GList * gst_element_factory_get_static_pad_templates (GstElementFactory *factory); +gint gst_element_factory_get_uri_type (GstElementFactory *factory); +gchar ** gst_element_factory_get_uri_protocols (GstElementFactory *factory); +gboolean gst_element_factory_has_interface (GstElementFactory *factory, + const gchar *interfacename); +GstElement* gst_element_factory_create (GstElementFactory *factory, + const gchar *name); +GstElement* gst_element_factory_make (const gchar *factoryname, const gchar *name); +void __gst_element_factory_add_static_pad_template (GstElementFactory *elementfactory, + GstStaticPadTemplate *templ); +void __gst_element_factory_add_interface (GstElementFactory *elementfactory, + const gchar *interfacename); +gboolean gst_element_register (GstPlugin *plugin, const gchar *name, + guint rank, GType type); +typedef struct _GstIndexEntry GstIndexEntry; +typedef struct _GstIndexGroup GstIndexGroup; +typedef struct _GstIndex GstIndex; +typedef struct _GstIndexClass GstIndexClass; +typedef enum { + GST_INDEX_UNKNOWN, + GST_INDEX_CERTAIN, + GST_INDEX_FUZZY +} GstIndexCertainty; +typedef enum { + GST_INDEX_ENTRY_ID, + GST_INDEX_ENTRY_ASSOCIATION, + GST_INDEX_ENTRY_OBJECT, + GST_INDEX_ENTRY_FORMAT +} GstIndexEntryType; +typedef enum { + GST_INDEX_LOOKUP_EXACT, + GST_INDEX_LOOKUP_BEFORE, + GST_INDEX_LOOKUP_AFTER +} GstIndexLookupMethod; +typedef struct _GstIndexAssociation GstIndexAssociation; +struct _GstIndexAssociation { + GstFormat format; + gint64 value; +}; +typedef enum { + GST_ASSOCIATION_FLAG_NONE = 0, + GST_ASSOCIATION_FLAG_KEY_UNIT = (1 << 0), + GST_ASSOCIATION_FLAG_DELTA_UNIT = (1 << 1), + GST_ASSOCIATION_FLAG_LAST = (1 << 8) +} GstAssocFlags; +struct _GstIndexEntry { + GstIndexEntryType type; + gint id; + union { + struct { + gchar *description; + } id; + struct { + gint nassocs; + GstIndexAssociation + *assocs; + GstAssocFlags flags; + } assoc; + struct { + gchar *key; + GType type; + gpointer object; + } object; + struct { + GstFormat format; + const gchar *key; + } format; + } data; +}; +struct _GstIndexGroup { + gint groupnum; + GList *entries; + GstIndexCertainty certainty; + gint peergroup; +}; +typedef gboolean (*GstIndexFilter) (GstIndex *index, + GstIndexEntry *entry, + gpointer user_data); +typedef enum { + GST_INDEX_RESOLVER_CUSTOM, + GST_INDEX_RESOLVER_GTYPE, + GST_INDEX_RESOLVER_PATH +} GstIndexResolverMethod; +typedef gboolean (*GstIndexResolver) (GstIndex *index, + GstObject *writer, + gchar **writer_string, + gpointer user_data); +typedef enum { + GST_INDEX_WRITABLE = (GST_OBJECT_FLAG_LAST << 0), + GST_INDEX_READABLE = (GST_OBJECT_FLAG_LAST << 1), + GST_INDEX_FLAG_LAST = (GST_OBJECT_FLAG_LAST << 8) +} GstIndexFlags; +struct _GstIndex { + GstObject object; + GList *groups; + GstIndexGroup *curgroup; + gint maxgroup; + GstIndexResolverMethod method; + GstIndexResolver resolver; + gpointer resolver_user_data; + GstIndexFilter filter; + gpointer filter_user_data; + GDestroyNotify filter_user_data_destroy; + GHashTable *writers; + gint last_id; + GDestroyNotify resolver_user_data_destroy; + gpointer _gst_reserved[4 - 1]; +}; +struct _GstIndexClass { + GstObjectClass parent_class; + gboolean (*get_writer_id) (GstIndex *index, gint *writer_id, gchar *writer_string); + void (*commit) (GstIndex *index, gint id); + void (*add_entry) (GstIndex *index, GstIndexEntry *entry); + GstIndexEntry* (*get_assoc_entry) (GstIndex *index, gint id, + GstIndexLookupMethod method, GstAssocFlags flags, + GstFormat format, gint64 value, + GCompareDataFunc func, + gpointer user_data); + void (*entry_added) (GstIndex *index, GstIndexEntry *entry); + gpointer _gst_reserved[4]; +}; +GType gst_index_get_type (void); +GstIndex* gst_index_new (void); +void gst_index_commit (GstIndex *index, gint id); +gint gst_index_get_group (GstIndex *index); +gint gst_index_new_group (GstIndex *index); +gboolean gst_index_set_group (GstIndex *index, gint groupnum); +void gst_index_set_certainty (GstIndex *index, + GstIndexCertainty certainty); +GstIndexCertainty gst_index_get_certainty (GstIndex *index); +void gst_index_set_filter (GstIndex *index, + GstIndexFilter filter, gpointer user_data); +void gst_index_set_filter_full (GstIndex *index, + GstIndexFilter filter, gpointer user_data, + GDestroyNotify user_data_destroy); +void gst_index_set_resolver (GstIndex *index, + GstIndexResolver resolver, gpointer user_data); +void gst_index_set_resolver_full (GstIndex *index, GstIndexResolver resolver, + gpointer user_data, + GDestroyNotify user_data_destroy); +gboolean gst_index_get_writer_id (GstIndex *index, GstObject *writer, gint *id); +GstIndexEntry* gst_index_add_format (GstIndex *index, gint id, GstFormat format); +GstIndexEntry* gst_index_add_associationv (GstIndex * index, gint id, GstAssocFlags flags, + gint n, const GstIndexAssociation * list); +GstIndexEntry* gst_index_add_association (GstIndex *index, gint id, GstAssocFlags flags, + GstFormat format, gint64 value, ...); +GstIndexEntry* gst_index_add_object (GstIndex *index, gint id, gchar *key, + GType type, gpointer object); +GstIndexEntry* gst_index_add_id (GstIndex *index, gint id, + gchar *description); +GstIndexEntry* gst_index_get_assoc_entry (GstIndex *index, gint id, + GstIndexLookupMethod method, GstAssocFlags flags, + GstFormat format, gint64 value); +GstIndexEntry* gst_index_get_assoc_entry_full (GstIndex *index, gint id, + GstIndexLookupMethod method, GstAssocFlags flags, + GstFormat format, gint64 value, + GCompareDataFunc func, + gpointer user_data); +GType gst_index_entry_get_type (void); +GstIndexEntry * gst_index_entry_copy (GstIndexEntry *entry); +void gst_index_entry_free (GstIndexEntry *entry); +gboolean gst_index_entry_assoc_map (GstIndexEntry *entry, + GstFormat format, gint64 *value); +typedef struct _GstIndexFactory GstIndexFactory; +typedef struct _GstIndexFactoryClass GstIndexFactoryClass; +struct _GstIndexFactory { + GstPluginFeature feature; + gchar *longdesc; + GType type; + gpointer _gst_reserved[4]; +}; +struct _GstIndexFactoryClass { + GstPluginFeatureClass parent; + gpointer _gst_reserved[4]; +}; +GType gst_index_factory_get_type (void); +GstIndexFactory* gst_index_factory_new (const gchar *name, + const gchar *longdesc, GType type); +void gst_index_factory_destroy (GstIndexFactory *factory); +GstIndexFactory* gst_index_factory_find (const gchar *name); +GstIndex* gst_index_factory_create (GstIndexFactory *factory); +GstIndex* gst_index_factory_make (const gchar *name); +typedef enum { + GST_STATE_CHANGE_FAILURE = 0, + GST_STATE_CHANGE_SUCCESS = 1, + GST_STATE_CHANGE_ASYNC = 2, + GST_STATE_CHANGE_NO_PREROLL = 3 +} GstStateChangeReturn; +typedef enum +{ + GST_STATE_CHANGE_NULL_TO_READY = (GST_STATE_NULL<<3) | GST_STATE_READY, + GST_STATE_CHANGE_READY_TO_PAUSED = (GST_STATE_READY<<3) | GST_STATE_PAUSED, + GST_STATE_CHANGE_PAUSED_TO_PLAYING = (GST_STATE_PAUSED<<3) | GST_STATE_PLAYING, + GST_STATE_CHANGE_PLAYING_TO_PAUSED = (GST_STATE_PLAYING<<3) | GST_STATE_PAUSED, + GST_STATE_CHANGE_PAUSED_TO_READY = (GST_STATE_PAUSED<<3) | GST_STATE_READY, + GST_STATE_CHANGE_READY_TO_NULL = (GST_STATE_READY<<3) | GST_STATE_NULL +} GstStateChange; +typedef enum +{ + GST_ELEMENT_LOCKED_STATE = (GST_OBJECT_FLAG_LAST << 0), + GST_ELEMENT_IS_SINK = (GST_OBJECT_FLAG_LAST << 1), + GST_ELEMENT_UNPARENTING = (GST_OBJECT_FLAG_LAST << 2), + GST_ELEMENT_FLAG_LAST = (GST_OBJECT_FLAG_LAST << 16) +} GstElementFlags; +struct _GstElement +{ + GstObject object; + GStaticRecMutex *state_lock; + GCond *state_cond; + guint32 state_cookie; + GstState current_state; + GstState next_state; + GstState pending_state; + GstStateChangeReturn last_return; + GstBus *bus; + GstClock *clock; + GstClockTimeDiff base_time; + guint16 numpads; + GList *pads; + guint16 numsrcpads; + GList *srcpads; + guint16 numsinkpads; + GList *sinkpads; + guint32 pads_cookie; + union { + struct { + GstState target_state; + GstClockTime start_time; + } ABI; + gpointer _gst_reserved[4 + 0]; + } abidata; +}; +struct _GstElementClass +{ + GstObjectClass parent_class; + GstElementDetails details; + GstElementFactory *elementfactory; + GList *padtemplates; + gint numpadtemplates; + guint32 pad_templ_cookie; + void (*pad_added) (GstElement *element, GstPad *pad); + void (*pad_removed) (GstElement *element, GstPad *pad); + void (*no_more_pads) (GstElement *element); + GstPad* (*request_new_pad) (GstElement *element, GstPadTemplate *templ, const gchar* name); + void (*release_pad) (GstElement *element, GstPad *pad); + GstStateChangeReturn (*get_state) (GstElement * element, GstState * state, + GstState * pending, GstClockTime timeout); + GstStateChangeReturn (*set_state) (GstElement *element, GstState state); + GstStateChangeReturn (*change_state) (GstElement *element, GstStateChange transition); + void (*set_bus) (GstElement * element, GstBus * bus); + GstClock* (*provide_clock) (GstElement *element); + gboolean (*set_clock) (GstElement *element, GstClock *clock); + GstIndex* (*get_index) (GstElement *element); + void (*set_index) (GstElement *element, GstIndex *index); + gboolean (*send_event) (GstElement *element, GstEvent *event); + const GstQueryType* (*get_query_types) (GstElement *element); + gboolean (*query) (GstElement *element, GstQuery *query); + gpointer _gst_reserved[4]; +}; +void gst_element_class_add_pad_template (GstElementClass *klass, GstPadTemplate *templ); +GstPadTemplate* gst_element_class_get_pad_template (GstElementClass *element_class, const gchar *name); +GList* gst_element_class_get_pad_template_list (GstElementClass *element_class); +void gst_element_class_set_details (GstElementClass *klass, const GstElementDetails *details); +void gst_element_class_set_details_simple (GstElementClass *klass, + const gchar *longname, + const gchar *classification, + const gchar *description, + const gchar *author); +GType gst_element_get_type (void); +gboolean gst_element_requires_clock (GstElement *element); +gboolean gst_element_provides_clock (GstElement *element); +GstClock* gst_element_provide_clock (GstElement *element); +GstClock* gst_element_get_clock (GstElement *element); +gboolean gst_element_set_clock (GstElement *element, GstClock *clock); +void gst_element_set_base_time (GstElement *element, GstClockTime time); +GstClockTime gst_element_get_base_time (GstElement *element); +void gst_element_set_start_time (GstElement *element, GstClockTime time); +GstClockTime gst_element_get_start_time (GstElement *element); +gboolean gst_element_is_indexable (GstElement *element); +void gst_element_set_index (GstElement *element, GstIndex *index); +GstIndex* gst_element_get_index (GstElement *element); +void gst_element_set_bus (GstElement * element, GstBus * bus); +GstBus * gst_element_get_bus (GstElement * element); +gboolean gst_element_add_pad (GstElement *element, GstPad *pad); +gboolean gst_element_remove_pad (GstElement *element, GstPad *pad); +void gst_element_no_more_pads (GstElement *element); +GstPad* gst_element_get_pad (GstElement *element, const gchar *name); +GstPad* gst_element_get_static_pad (GstElement *element, const gchar *name); +GstPad* gst_element_get_request_pad (GstElement *element, const gchar *name); +void gst_element_release_request_pad (GstElement *element, GstPad *pad); +GstIterator * gst_element_iterate_pads (GstElement * element); +GstIterator * gst_element_iterate_src_pads (GstElement * element); +GstIterator * gst_element_iterate_sink_pads (GstElement * element); +gboolean gst_element_send_event (GstElement *element, GstEvent *event); +gboolean gst_element_seek (GstElement *element, gdouble rate, + GstFormat format, GstSeekFlags flags, + GstSeekType cur_type, gint64 cur, + GstSeekType stop_type, gint64 stop); +const GstQueryType* + gst_element_get_query_types (GstElement *element); +gboolean gst_element_query (GstElement *element, GstQuery *query); +gboolean gst_element_post_message (GstElement * element, GstMessage * message); +gchar * _gst_element_error_printf (const gchar *format, ...); +void gst_element_message_full (GstElement * element, GstMessageType type, + GQuark domain, gint code, gchar * text, + gchar * debug, const gchar * file, + const gchar * function, gint line); +gboolean gst_element_is_locked_state (GstElement *element); +gboolean gst_element_set_locked_state (GstElement *element, gboolean locked_state); +gboolean gst_element_sync_state_with_parent (GstElement *element); +GstStateChangeReturn gst_element_get_state (GstElement * element, + GstState * state, + GstState * pending, + GstClockTime timeout); +GstStateChangeReturn gst_element_set_state (GstElement *element, GstState state); +void gst_element_abort_state (GstElement * element); +GstStateChangeReturn gst_element_change_state (GstElement * element, + GstStateChange transition); +GstStateChangeReturn gst_element_continue_state (GstElement * element, + GstStateChangeReturn ret); +void gst_element_lost_state (GstElement * element); +void gst_element_lost_state_full (GstElement * element, gboolean new_base_time); +GstElementFactory* gst_element_get_factory (GstElement *element); +typedef enum { + GST_BIN_FLAG_LAST = (GST_ELEMENT_FLAG_LAST << 5) +} GstBinFlags; +typedef struct _GstBin GstBin; +typedef struct _GstBinClass GstBinClass; +typedef struct _GstBinPrivate GstBinPrivate; +struct _GstBin { + GstElement element; + gint numchildren; + GList *children; + guint32 children_cookie; + GstBus *child_bus; + GList *messages; + gboolean polling; + gboolean state_dirty; + gboolean clock_dirty; + GstClock *provided_clock; + GstElement *clock_provider; + GstBinPrivate *priv; + gpointer _gst_reserved[4 - 1]; +}; +struct _GstBinClass { + GstElementClass parent_class; + GThreadPool *pool; + void (*element_added) (GstBin *bin, GstElement *child); + void (*element_removed) (GstBin *bin, GstElement *child); + gboolean (*add_element) (GstBin *bin, GstElement *element); + gboolean (*remove_element) (GstBin *bin, GstElement *element); + void (*handle_message) (GstBin *bin, GstMessage *message); + gboolean (*do_latency) (GstBin *bin); + gpointer _gst_reserved[4 -1]; +}; +GType gst_bin_get_type (void); +GstElement* gst_bin_new (const gchar *name); +gboolean gst_bin_add (GstBin *bin, GstElement *element); +gboolean gst_bin_remove (GstBin *bin, GstElement *element); +GstElement* gst_bin_get_by_name (GstBin *bin, const gchar *name); +GstElement* gst_bin_get_by_name_recurse_up (GstBin *bin, const gchar *name); +GstElement* gst_bin_get_by_interface (GstBin *bin, GType iface); +GstIterator* gst_bin_iterate_elements (GstBin *bin); +GstIterator* gst_bin_iterate_sorted (GstBin *bin); +GstIterator* gst_bin_iterate_recurse (GstBin *bin); +GstIterator* gst_bin_iterate_sinks (GstBin *bin); +GstIterator* gst_bin_iterate_sources (GstBin *bin); +GstIterator* gst_bin_iterate_all_by_interface (GstBin *bin, GType iface); +gboolean gst_bin_recalculate_latency (GstBin * bin); +typedef struct _GstChildProxy GstChildProxy; +typedef struct _GstChildProxyInterface GstChildProxyInterface; +struct _GstChildProxyInterface +{ + GTypeInterface parent; + GstObject *(*get_child_by_index) (GstChildProxy * parent, guint index); + guint (*get_children_count) (GstChildProxy * parent); + void (*child_added) (GstChildProxy * parent, GstObject * child); + void (*child_removed) (GstChildProxy * parent, GstObject * child); + gpointer _gst_reserved[4]; +}; +GType gst_child_proxy_get_type (void); +GstObject *gst_child_proxy_get_child_by_name (GstChildProxy * parent, const gchar * name); +GstObject *gst_child_proxy_get_child_by_index (GstChildProxy * parent, guint index); +guint gst_child_proxy_get_children_count (GstChildProxy * parent); +gboolean gst_child_proxy_lookup (GstObject *object, const gchar *name, + GstObject **target, GParamSpec **pspec); +void gst_child_proxy_get_property (GstObject * object, const gchar *name, GValue *value); +void gst_child_proxy_get_valist (GstObject * object, + const gchar * first_property_name, va_list var_args); +void gst_child_proxy_get (GstObject * object, const gchar * first_property_name, + ...) __attribute__((__sentinel__)); +void gst_child_proxy_set_property (GstObject * object, const gchar *name, const GValue *value); +void gst_child_proxy_set_valist (GstObject* object, + const gchar * first_property_name, va_list var_args); +void gst_child_proxy_set (GstObject * object, const gchar * first_property_name, + ...) __attribute__((__sentinel__)); +void gst_child_proxy_child_added (GstObject * object, GstObject * child); +void gst_child_proxy_child_removed (GstObject * object, GstObject * child); +typedef enum { + GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE = (1<<0), + GST_DEBUG_GRAPH_SHOW_CAPS_DETAILS = (1<<1), + GST_DEBUG_GRAPH_SHOW_NON_DEFAULT_PARAMS = (1<<2), + GST_DEBUG_GRAPH_SHOW_STATES = (1<<3), + GST_DEBUG_GRAPH_SHOW_ALL = ((1<<4)-1) +} GstDebugGraphDetails; +void _gst_debug_bin_to_dot_file (GstBin *bin, GstDebugGraphDetails details, const gchar *file_name); +void _gst_debug_bin_to_dot_file_with_ts (GstBin *bin, GstDebugGraphDetails details, const gchar *file_name); +typedef enum +{ + GST_CORE_ERROR_FAILED = 1, + GST_CORE_ERROR_TOO_LAZY, + GST_CORE_ERROR_NOT_IMPLEMENTED, + GST_CORE_ERROR_STATE_CHANGE, + GST_CORE_ERROR_PAD, + GST_CORE_ERROR_THREAD, + GST_CORE_ERROR_NEGOTIATION, + GST_CORE_ERROR_EVENT, + GST_CORE_ERROR_SEEK, + GST_CORE_ERROR_CAPS, + GST_CORE_ERROR_TAG, + GST_CORE_ERROR_MISSING_PLUGIN, + GST_CORE_ERROR_CLOCK, + GST_CORE_ERROR_DISABLED, + GST_CORE_ERROR_NUM_ERRORS +} GstCoreError; +typedef enum +{ + GST_LIBRARY_ERROR_FAILED = 1, + GST_LIBRARY_ERROR_TOO_LAZY, + GST_LIBRARY_ERROR_INIT, + GST_LIBRARY_ERROR_SHUTDOWN, + GST_LIBRARY_ERROR_SETTINGS, + GST_LIBRARY_ERROR_ENCODE, + GST_LIBRARY_ERROR_NUM_ERRORS +} GstLibraryError; +typedef enum +{ + GST_RESOURCE_ERROR_FAILED = 1, + GST_RESOURCE_ERROR_TOO_LAZY, + GST_RESOURCE_ERROR_NOT_FOUND, + GST_RESOURCE_ERROR_BUSY, + GST_RESOURCE_ERROR_OPEN_READ, + GST_RESOURCE_ERROR_OPEN_WRITE, + GST_RESOURCE_ERROR_OPEN_READ_WRITE, + GST_RESOURCE_ERROR_CLOSE, + GST_RESOURCE_ERROR_READ, + GST_RESOURCE_ERROR_WRITE, + GST_RESOURCE_ERROR_SEEK, + GST_RESOURCE_ERROR_SYNC, + GST_RESOURCE_ERROR_SETTINGS, + GST_RESOURCE_ERROR_NO_SPACE_LEFT, + GST_RESOURCE_ERROR_NUM_ERRORS +} GstResourceError; +typedef enum +{ + GST_STREAM_ERROR_FAILED = 1, + GST_STREAM_ERROR_TOO_LAZY, + GST_STREAM_ERROR_NOT_IMPLEMENTED, + GST_STREAM_ERROR_TYPE_NOT_FOUND, + GST_STREAM_ERROR_WRONG_TYPE, + GST_STREAM_ERROR_CODEC_NOT_FOUND, + GST_STREAM_ERROR_DECODE, + GST_STREAM_ERROR_ENCODE, + GST_STREAM_ERROR_DEMUX, + GST_STREAM_ERROR_MUX, + GST_STREAM_ERROR_FORMAT, + GST_STREAM_ERROR_DECRYPT, + GST_STREAM_ERROR_DECRYPT_NOKEY, + GST_STREAM_ERROR_NUM_ERRORS +} GstStreamError; +GType gst_g_error_get_type (void); +gchar *gst_error_get_message (GQuark domain, gint code); +GQuark gst_stream_error_quark (void); +GQuark gst_core_error_quark (void); +GQuark gst_resource_error_quark (void); +GQuark gst_library_error_quark (void); +typedef struct _GstProxyPad GstProxyPad; +typedef struct _GstProxyPadPrivate GstProxyPadPrivate; +typedef struct _GstProxyPadClass GstProxyPadClass; +struct _GstProxyPad +{ + GstPad pad; + GstProxyPadPrivate *priv; +}; +struct _GstProxyPadClass +{ + GstPadClass parent_class; + gpointer _gst_reserved[1]; +}; +GType gst_proxy_pad_get_type (void); +typedef struct _GstGhostPad GstGhostPad; +typedef struct _GstGhostPadPrivate GstGhostPadPrivate; +typedef struct _GstGhostPadClass GstGhostPadClass; +struct _GstGhostPad +{ + GstProxyPad pad; + GstGhostPadPrivate *priv; +}; +struct _GstGhostPadClass +{ + GstProxyPadClass parent_class; + gpointer _gst_reserved[4]; +}; +GType gst_ghost_pad_get_type (void); +GstPad* gst_ghost_pad_new (const gchar *name, GstPad *target); +GstPad* gst_ghost_pad_new_no_target (const gchar *name, GstPadDirection dir); +GstPad* gst_ghost_pad_new_from_template (const gchar *name, GstPad * target, GstPadTemplate * templ); +GstPad* gst_ghost_pad_new_no_target_from_template (const gchar *name, GstPadTemplate * templ); +GstPad* gst_ghost_pad_get_target (GstGhostPad *gpad); +gboolean gst_ghost_pad_set_target (GstGhostPad *gpad, GstPad *newtarget); +gboolean gst_ghost_pad_construct (GstGhostPad *gpad); +typedef enum { + GST_LEVEL_NONE = 0, + GST_LEVEL_ERROR, + GST_LEVEL_WARNING, + GST_LEVEL_INFO, + GST_LEVEL_DEBUG, + GST_LEVEL_LOG, + GST_LEVEL_FIXME = 6, + GST_LEVEL_MEMDUMP = 9, + GST_LEVEL_COUNT +} GstDebugLevel; +typedef enum { + GST_DEBUG_FG_BLACK = 0x0000, + GST_DEBUG_FG_RED = 0x0001, + GST_DEBUG_FG_GREEN = 0x0002, + GST_DEBUG_FG_YELLOW = 0x0003, + GST_DEBUG_FG_BLUE = 0x0004, + GST_DEBUG_FG_MAGENTA = 0x0005, + GST_DEBUG_FG_CYAN = 0x0006, + GST_DEBUG_FG_WHITE = 0x0007, + GST_DEBUG_BG_BLACK = 0x0000, + GST_DEBUG_BG_RED = 0x0010, + GST_DEBUG_BG_GREEN = 0x0020, + GST_DEBUG_BG_YELLOW = 0x0030, + GST_DEBUG_BG_BLUE = 0x0040, + GST_DEBUG_BG_MAGENTA = 0x0050, + GST_DEBUG_BG_CYAN = 0x0060, + GST_DEBUG_BG_WHITE = 0x0070, + GST_DEBUG_BOLD = 0x0100, + GST_DEBUG_UNDERLINE = 0x0200 +} GstDebugColorFlags; +typedef struct _GstDebugCategory GstDebugCategory; +struct _GstDebugCategory { + gint threshold; + guint color; + const gchar * name; + const gchar * description; +}; +typedef struct _GstDebugMessage GstDebugMessage; +typedef void (*GstLogFunction) (GstDebugCategory * category, + GstDebugLevel level, + const gchar * file, + const gchar * function, + gint line, + GObject * object, + GstDebugMessage * message, + gpointer data); +void _gst_debug_init (void); +void gst_debug_log (GstDebugCategory * category, + GstDebugLevel level, + const gchar * file, + const gchar * function, + gint line, + GObject * object, + const gchar * format, + ...) __attribute__((__no_instrument_function__)); +void gst_debug_log_valist (GstDebugCategory * category, + GstDebugLevel level, + const gchar * file, + const gchar * function, + gint line, + GObject * object, + const gchar * format, + va_list args) __attribute__((__no_instrument_function__)); +const gchar * gst_debug_message_get (GstDebugMessage * message); +void gst_debug_log_default (GstDebugCategory * category, + GstDebugLevel level, + const gchar * file, + const gchar * function, + gint line, + GObject * object, + GstDebugMessage * message, + gpointer unused) __attribute__((__no_instrument_function__)); +const gchar * + gst_debug_level_get_name (GstDebugLevel level); +void gst_debug_add_log_function (GstLogFunction func, + gpointer data); +guint gst_debug_remove_log_function (GstLogFunction func); +guint gst_debug_remove_log_function_by_data (gpointer data); +void gst_debug_set_active (gboolean active); +gboolean gst_debug_is_active (void); +void gst_debug_set_colored (gboolean colored); +gboolean gst_debug_is_colored (void); +void gst_debug_set_default_threshold (GstDebugLevel level); +GstDebugLevel gst_debug_get_default_threshold (void); +void gst_debug_set_threshold_for_name (const gchar * name, + GstDebugLevel level); +void gst_debug_unset_threshold_for_name (const gchar * name); +GstDebugCategory *_gst_debug_category_new (const gchar * name, + guint color, + const gchar * description); +void gst_debug_category_free (GstDebugCategory * category); +void gst_debug_category_set_threshold (GstDebugCategory * category, + GstDebugLevel level); +void gst_debug_category_reset_threshold(GstDebugCategory * category); +GstDebugLevel + gst_debug_category_get_threshold (GstDebugCategory * category); +const gchar * + gst_debug_category_get_name (GstDebugCategory * category); +guint gst_debug_category_get_color (GstDebugCategory * category); +const gchar * + gst_debug_category_get_description (GstDebugCategory * category); +GSList * + gst_debug_get_all_categories (void); +GstDebugCategory *_gst_debug_get_category (const gchar *name); +gchar * gst_debug_construct_term_color (guint colorinfo); +gint gst_debug_construct_win_color (guint colorinfo); +extern GstDebugCategory * GST_CAT_DEFAULT; +extern gboolean __gst_debug_enabled; +extern GstDebugLevel __gst_debug_min; +void _gst_debug_dump_mem (GstDebugCategory * cat, const gchar * file, + const gchar * func, gint line, GObject * obj, const gchar * msg, + const guint8 * data, guint length); +typedef void (* GstDebugFuncPtr) (void); +void _gst_debug_register_funcptr (GstDebugFuncPtr func, + const gchar * ptrname); +const gchar * + _gst_debug_nameof_funcptr (GstDebugFuncPtr func); +void gst_debug_print_stack_trace (void); +typedef struct _GstImplementsInterface GstImplementsInterface; +typedef struct _GstImplementsInterfaceClass GstImplementsInterfaceClass; +struct _GstImplementsInterfaceClass { + GTypeInterface parent; + gboolean (* supported) (GstImplementsInterface *iface, + GType iface_type); + gpointer _gst_reserved[4]; +}; +GType gst_implements_interface_get_type (void); +gboolean gst_element_implements_interface (GstElement *element, + GType iface_type); +gpointer gst_implements_interface_cast (gpointer from, + GType type); +gboolean gst_implements_interface_check (gpointer from, + GType type); +extern void gst_marshal_VOID__BOXED_OBJECT (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +extern void gst_marshal_VOID__POINTER_OBJECT (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +extern void gst_marshal_VOID__OBJECT_OBJECT (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +extern void gst_marshal_VOID__OBJECT_PARAM (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +extern void gst_marshal_VOID__OBJECT_POINTER (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +extern void gst_marshal_VOID__OBJECT_BOXED (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +extern void gst_marshal_VOID__OBJECT_BOXED_STRING (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +extern void gst_marshal_VOID__OBJECT_OBJECT_STRING (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +extern void gst_marshal_VOID__OBJECT_STRING (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +extern void gst_marshal_VOID__INT_INT (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +extern void gst_marshal_VOID__INT64 (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +extern void gst_marshal_VOID__UINT_BOXED (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +extern void gst_marshal_BOOLEAN__VOID (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +extern void gst_marshal_BOOLEAN__POINTER (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +extern void gst_marshal_POINTER__POINTER (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +extern void gst_marshal_BOXED__BOXED (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +typedef gint (* GstValueCompareFunc) (const GValue *value1, + const GValue *value2); +typedef gchar * (* GstValueSerializeFunc) (const GValue *value1); +typedef gboolean (* GstValueDeserializeFunc) (GValue *dest, + const gchar *s); +typedef gboolean (* GstValueUnionFunc) (GValue *dest, + const GValue *value1, + const GValue *value2); +typedef gboolean (* GstValueIntersectFunc) (GValue *dest, + const GValue *value1, + const GValue *value2); +typedef gboolean (* GstValueSubtractFunc) (GValue *dest, + const GValue *minuend, + const GValue *subtrahend); +typedef struct _GstValueTable GstValueTable; +struct _GstValueTable { + GType type; + GstValueCompareFunc compare; + GstValueSerializeFunc serialize; + GstValueDeserializeFunc deserialize; + void *_gst_reserved [4]; +}; +GType gst_int_range_get_type (void); +GType gst_double_range_get_type (void); +GType gst_fraction_range_get_type (void); +GType gst_fourcc_get_type (void); +GType gst_fraction_get_type (void); +GType gst_value_list_get_type (void); +GType gst_value_array_get_type (void); +GType gst_date_get_type (void); +void gst_value_register (const GstValueTable *table); +void gst_value_init_and_copy (GValue *dest, + const GValue *src); +gchar * gst_value_serialize (const GValue *value); +gboolean gst_value_deserialize (GValue *dest, + const gchar *src); +void gst_value_list_append_value (GValue *value, + const GValue *append_value); +void gst_value_list_prepend_value (GValue *value, + const GValue *prepend_value); +void gst_value_list_concat (GValue *dest, + const GValue *value1, + const GValue *value2); +guint gst_value_list_get_size (const GValue *value); +const GValue * + gst_value_list_get_value (const GValue *value, + guint index); +void gst_value_array_append_value (GValue *value, + const GValue *append_value); +void gst_value_array_prepend_value (GValue *value, + const GValue *prepend_value); +guint gst_value_array_get_size (const GValue *value); +const GValue * + gst_value_array_get_value (const GValue *value, + guint index); +void gst_value_set_fourcc (GValue *value, + guint32 fourcc); +guint32 gst_value_get_fourcc (const GValue *value); +void gst_value_set_int_range (GValue *value, + gint start, + gint end); +gint gst_value_get_int_range_min (const GValue *value); +gint gst_value_get_int_range_max (const GValue *value); +void gst_value_set_double_range (GValue *value, + gdouble start, + gdouble end); +gdouble gst_value_get_double_range_min (const GValue *value); +gdouble gst_value_get_double_range_max (const GValue *value); +const GstCaps * + gst_value_get_caps (const GValue *value); +void gst_value_set_caps (GValue *value, + const GstCaps *caps); +const GstStructure * + gst_value_get_structure (const GValue *value); +void gst_value_set_structure (GValue *value, + const GstStructure *structure); +void gst_value_set_fraction (GValue *value, + gint numerator, + gint denominator); +gint gst_value_get_fraction_numerator (const GValue *value); +gint gst_value_get_fraction_denominator(const GValue *value); +gboolean gst_value_fraction_multiply (GValue *product, + const GValue *factor1, + const GValue *factor2); +gboolean gst_value_fraction_subtract (GValue * dest, + const GValue * minuend, + const GValue * subtrahend); +void gst_value_set_fraction_range (GValue *value, + const GValue *start, + const GValue *end); +void gst_value_set_fraction_range_full (GValue *value, + gint numerator_start, + gint denominator_start, + gint numerator_end, + gint denominator_end); +const GValue *gst_value_get_fraction_range_min (const GValue *value); +const GValue *gst_value_get_fraction_range_max (const GValue *value); +const GDate * + gst_value_get_date (const GValue *value); +void gst_value_set_date (GValue *value, + const GDate *date); +gint gst_value_compare (const GValue *value1, + const GValue *value2); +gboolean gst_value_can_compare (const GValue *value1, + const GValue *value2); +gboolean gst_value_union (GValue *dest, + const GValue *value1, + const GValue *value2); +gboolean gst_value_can_union (const GValue *value1, + const GValue *value2); +void gst_value_register_union_func (GType type1, + GType type2, + GstValueUnionFunc func); +gboolean gst_value_intersect (GValue *dest, + const GValue *value1, + const GValue *value2); +gboolean gst_value_can_intersect (const GValue *value1, + const GValue *value2); +void gst_value_register_intersect_func (GType type1, + GType type2, + GstValueIntersectFunc func); +gboolean gst_value_subtract (GValue *dest, + const GValue *minuend, + const GValue *subtrahend); +gboolean gst_value_can_subtract (const GValue *minuend, + const GValue *subtrahend); +void gst_value_register_subtract_func (GType minuend_type, + GType subtrahend_type, + GstValueSubtractFunc func); +gboolean gst_value_is_fixed (const GValue *value); +GType gst_param_spec_fraction_get_type (void); +typedef struct _GstParamSpecFraction GstParamSpecFraction; +struct _GstParamSpecFraction { + GParamSpec parent_instance; + gint min_num, min_den; + gint max_num, max_den; + gint def_num, def_den; +}; +GParamSpec * gst_param_spec_fraction (const gchar * name, + const gchar * nick, + const gchar * blurb, + gint min_num, gint min_denom, + gint max_num, gint max_denom, + gint default_num, gint default_denom, + GParamFlags flags); +typedef struct _GstPipeline GstPipeline; +typedef struct _GstPipelineClass GstPipelineClass; +typedef struct _GstPipelinePrivate GstPipelinePrivate; +typedef enum { + GST_PIPELINE_FLAG_FIXED_CLOCK = (GST_BIN_FLAG_LAST << 0), + GST_PIPELINE_FLAG_LAST = (GST_BIN_FLAG_LAST << 4) +} GstPipelineFlags; +struct _GstPipeline { + GstBin bin; + GstClock *fixed_clock; + GstClockTime stream_time; + GstClockTime delay; + GstPipelinePrivate *priv; + gpointer _gst_reserved[4 -1]; +}; +struct _GstPipelineClass { + GstBinClass parent_class; + gpointer _gst_reserved[4]; +}; +GType gst_pipeline_get_type (void); +GstElement* gst_pipeline_new (const gchar *name); +GstBus* gst_pipeline_get_bus (GstPipeline *pipeline); +void gst_pipeline_set_new_stream_time (GstPipeline *pipeline, GstClockTime time); +GstClockTime gst_pipeline_get_last_stream_time (GstPipeline *pipeline); +void gst_pipeline_use_clock (GstPipeline *pipeline, GstClock *clock); +gboolean gst_pipeline_set_clock (GstPipeline *pipeline, GstClock *clock); +GstClock* gst_pipeline_get_clock (GstPipeline *pipeline); +void gst_pipeline_auto_clock (GstPipeline *pipeline); +void gst_pipeline_set_delay (GstPipeline *pipeline, GstClockTime delay); +GstClockTime gst_pipeline_get_delay (GstPipeline *pipeline); +void gst_pipeline_set_auto_flush_bus (GstPipeline *pipeline, gboolean auto_flush); +gboolean gst_pipeline_get_auto_flush_bus (GstPipeline *pipeline); +typedef struct _GstPoll GstPoll; +typedef struct { + int fd; + gint idx; +} GstPollFD; +GstPoll* gst_poll_new (gboolean controllable); +GstPoll* gst_poll_new_timer (void); +void gst_poll_free (GstPoll *set); +void gst_poll_fd_init (GstPollFD *fd); +gboolean gst_poll_add_fd (GstPoll *set, GstPollFD *fd); +gboolean gst_poll_remove_fd (GstPoll *set, GstPollFD *fd); +gboolean gst_poll_fd_ctl_write (GstPoll *set, GstPollFD *fd, gboolean active); +gboolean gst_poll_fd_ctl_read (GstPoll *set, GstPollFD *fd, gboolean active); +void gst_poll_fd_ignored (GstPoll *set, GstPollFD *fd); +gboolean gst_poll_fd_has_closed (const GstPoll *set, GstPollFD *fd); +gboolean gst_poll_fd_has_error (const GstPoll *set, GstPollFD *fd); +gboolean gst_poll_fd_can_read (const GstPoll *set, GstPollFD *fd); +gboolean gst_poll_fd_can_write (const GstPoll *set, GstPollFD *fd); +gint gst_poll_wait (GstPoll *set, GstClockTime timeout); +gboolean gst_poll_set_controllable (GstPoll *set, gboolean controllable); +void gst_poll_restart (GstPoll *set); +void gst_poll_set_flushing (GstPoll *set, gboolean flushing); +gboolean gst_poll_write_control (GstPoll *set); +gboolean gst_poll_read_control (GstPoll *set); +typedef struct _GstPreset GstPreset; +typedef struct _GstPresetInterface GstPresetInterface; +struct _GstPresetInterface +{ + GTypeInterface parent; + gchar** (*get_preset_names) (GstPreset *preset); + gchar** (*get_property_names) (GstPreset *preset); + gboolean (*load_preset) (GstPreset *preset, const gchar *name); + gboolean (*save_preset) (GstPreset *preset, const gchar *name); + gboolean (*rename_preset) (GstPreset *preset, const gchar *old_name, + const gchar *new_name); + gboolean (*delete_preset) (GstPreset *preset, const gchar *name); + gboolean (*set_meta) (GstPreset *preset, const gchar *name, + const gchar *tag, const gchar *value); + gboolean (*get_meta) (GstPreset *preset, const gchar *name, + const gchar *tag, gchar **value); + gpointer _gst_reserved[4]; +}; +GType gst_preset_get_type(void); +gchar** gst_preset_get_preset_names (GstPreset *preset); +gchar** gst_preset_get_property_names (GstPreset *preset); +gboolean gst_preset_load_preset (GstPreset *preset, const gchar *name); +gboolean gst_preset_save_preset (GstPreset *preset, const gchar *name); +gboolean gst_preset_rename_preset (GstPreset *preset, const gchar *old_name, + const gchar *new_name); +gboolean gst_preset_delete_preset (GstPreset *preset, const gchar *name); +gboolean gst_preset_set_meta (GstPreset *preset, const gchar *name, + const gchar *tag, const gchar *value); +gboolean gst_preset_get_meta (GstPreset *preset, const gchar *name, + const gchar *tag, gchar **value); +typedef struct _GstRegistry GstRegistry; +typedef struct _GstRegistryClass GstRegistryClass; +struct _GstRegistry { + GstObject object; + GList *plugins; + GList *features; + GList *paths; + int cache_file; + GHashTable *feature_hash; + gpointer _gst_reserved[4 -1]; +}; +struct _GstRegistryClass { + GstObjectClass parent_class; + void (*plugin_added) (GstRegistry *registry, GstPlugin *plugin); + void (*feature_added) (GstRegistry *registry, GstPluginFeature *feature); + gpointer _gst_reserved[4]; +}; +GType gst_registry_get_type (void); +GstRegistry * gst_registry_get_default (void); +gboolean gst_registry_scan_path (GstRegistry *registry, const gchar *path); +void gst_registry_add_path (GstRegistry * registry, const gchar * path); +GList* gst_registry_get_path_list (GstRegistry *registry); +gboolean gst_registry_add_plugin (GstRegistry *registry, GstPlugin *plugin); +void gst_registry_remove_plugin (GstRegistry *registry, GstPlugin *plugin); +gboolean gst_registry_add_feature (GstRegistry * registry, GstPluginFeature * feature); +void gst_registry_remove_feature (GstRegistry * registry, GstPluginFeature * feature); +GList* gst_registry_get_plugin_list (GstRegistry *registry); +GList* gst_registry_plugin_filter (GstRegistry *registry, + GstPluginFilter filter, + gboolean first, + gpointer user_data); +GList* gst_registry_feature_filter (GstRegistry *registry, + GstPluginFeatureFilter filter, + gboolean first, + gpointer user_data); +GList * gst_registry_get_feature_list (GstRegistry *registry, + GType type); +GList * gst_registry_get_feature_list_by_plugin (GstRegistry *registry, const gchar *name); +GstPlugin* gst_registry_find_plugin (GstRegistry *registry, const gchar *name); +GstPluginFeature* gst_registry_find_feature (GstRegistry *registry, const gchar *name, GType type); +GstPlugin * gst_registry_lookup (GstRegistry *registry, const char *filename); +GstPluginFeature * gst_registry_lookup_feature (GstRegistry *registry, const char *name); +gboolean gst_registry_xml_read_cache (GstRegistry * registry, const char *location); +gboolean gst_registry_xml_write_cache (GstRegistry * registry, const char *location); +gboolean gst_default_registry_check_feature_version (const gchar *feature_name, + guint min_major, + guint min_minor, + guint min_micro); +typedef struct _GstSegment GstSegment; +struct _GstSegment { + gdouble rate; + gdouble abs_rate; + GstFormat format; + GstSeekFlags flags; + gint64 start; + gint64 stop; + gint64 time; + gint64 accum; + gint64 last_stop; + gint64 duration; + gdouble applied_rate; + guint8 _gst_reserved[(sizeof (gpointer) * 4) - sizeof (gdouble)]; +}; +GType gst_segment_get_type (void); +GstSegment * gst_segment_new (void); +GstSegment * gst_segment_copy (GstSegment *segment); +void gst_segment_free (GstSegment *segment); +void gst_segment_init (GstSegment *segment, GstFormat format); +void gst_segment_set_duration (GstSegment *segment, GstFormat format, gint64 duration); +void gst_segment_set_last_stop (GstSegment *segment, GstFormat format, gint64 position); +void gst_segment_set_seek (GstSegment *segment, gdouble rate, + GstFormat format, GstSeekFlags flags, + GstSeekType start_type, gint64 start, + GstSeekType stop_type, gint64 stop, + gboolean *update); +void gst_segment_set_newsegment (GstSegment *segment, gboolean update, gdouble rate, + GstFormat format, gint64 start, gint64 stop, gint64 time); +void gst_segment_set_newsegment_full (GstSegment *segment, gboolean update, gdouble rate, + gdouble applied_rate, GstFormat format, gint64 start, + gint64 stop, gint64 time); +gint64 gst_segment_to_stream_time (GstSegment *segment, GstFormat format, gint64 position); +gint64 gst_segment_to_running_time (GstSegment *segment, GstFormat format, gint64 position); +gint64 gst_segment_to_position (GstSegment *segment, GstFormat format, gint64 running_time); +gboolean gst_segment_clip (GstSegment *segment, GstFormat format, gint64 start, + gint64 stop, gint64 *clip_start, gint64 *clip_stop); +gboolean gst_segment_set_running_time (GstSegment *segment, GstFormat format, gint64 running_time); +typedef struct _GstSystemClock GstSystemClock; +typedef struct _GstSystemClockClass GstSystemClockClass; +typedef struct _GstSystemClockPrivate GstSystemClockPrivate; +typedef enum { + GST_CLOCK_TYPE_REALTIME = 0, + GST_CLOCK_TYPE_MONOTONIC = 1 +} GstClockType; +struct _GstSystemClock { + GstClock clock; + GThread *thread; + gboolean stopping; + GstSystemClockPrivate *priv; + gpointer _gst_reserved[4 - 1]; +}; +struct _GstSystemClockClass { + GstClockClass parent_class; + gpointer _gst_reserved[4]; +}; +GType gst_system_clock_get_type (void); +GstClock* gst_system_clock_obtain (void); +typedef struct _GstTagSetter GstTagSetter; +typedef struct _GstTagSetterIFace GstTagSetterIFace; +struct _GstTagSetterIFace +{ + GTypeInterface g_iface; +}; +GType gst_tag_setter_get_type (void); +void gst_tag_setter_reset_tags (GstTagSetter * setter); +void gst_tag_setter_merge_tags (GstTagSetter * setter, + const GstTagList * list, + GstTagMergeMode mode); +void gst_tag_setter_add_tags (GstTagSetter * setter, + GstTagMergeMode mode, + const gchar * tag, + ...) __attribute__((__sentinel__)); +void gst_tag_setter_add_tag_values (GstTagSetter * setter, + GstTagMergeMode mode, + const gchar * tag, + ...) __attribute__((__sentinel__)); +void gst_tag_setter_add_tag_valist (GstTagSetter * setter, + GstTagMergeMode mode, + const gchar * tag, + va_list var_args); +void gst_tag_setter_add_tag_valist_values(GstTagSetter * setter, + GstTagMergeMode mode, + const gchar * tag, + va_list var_args); +void gst_tag_setter_add_tag_value (GstTagSetter * setter, + GstTagMergeMode mode, + const gchar * tag, + const GValue * value); +const GstTagList * + gst_tag_setter_get_tag_list (GstTagSetter * setter); +void gst_tag_setter_set_tag_merge_mode (GstTagSetter * setter, + GstTagMergeMode mode); +GstTagMergeMode gst_tag_setter_get_tag_merge_mode (GstTagSetter * setter); +typedef enum { + GST_ALLOC_TRACE_LIVE = (1 << 0), + GST_ALLOC_TRACE_MEM_LIVE = (1 << 1) +} GstAllocTraceFlags; +typedef struct _GstAllocTrace GstAllocTrace; +struct _GstAllocTrace { + gchar *name; + gint flags; + gint live; + GSList *mem_live; +}; +typedef struct _GstTrace GstTrace; +typedef struct _GstTraceEntry GstTraceEntry; +struct _GstTrace { + gchar *filename; + int fd; + GstTraceEntry *buf; + gint bufsize; + gint bufoffset; +}; +struct _GstTraceEntry { + gint64 timestamp; + guint32 sequence; + guint32 data; + gchar message[112]; +}; +GstTrace* gst_trace_new (gchar *filename, gint size); +void gst_trace_destroy (GstTrace *trace); +void gst_trace_flush (GstTrace *trace); +void gst_trace_text_flush (GstTrace *trace); +void gst_trace_set_default (GstTrace *trace); +void _gst_trace_add_entry (GstTrace *trace, guint32 seq, + guint32 data, gchar *msg); +void gst_trace_read_tsc (gint64 *dst); +extern GStaticMutex _gst_trace_mutex; +gboolean gst_alloc_trace_available (void); +const GList* gst_alloc_trace_list (void); +GstAllocTrace* _gst_alloc_trace_register (const gchar *name); +int gst_alloc_trace_live_all (void); +void gst_alloc_trace_print_all (void); +void gst_alloc_trace_print_live (void); +void gst_alloc_trace_set_flags_all (GstAllocTraceFlags flags); +GstAllocTrace* gst_alloc_trace_get (const gchar *name); +void gst_alloc_trace_print (const GstAllocTrace *trace); +void gst_alloc_trace_set_flags (GstAllocTrace *trace, GstAllocTraceFlags flags); +extern gint _gst_trace_on; +typedef struct _GstTypeFind GstTypeFind; +typedef void (* GstTypeFindFunction) (GstTypeFind *find, gpointer data); +typedef enum { + GST_TYPE_FIND_MINIMUM = 1, + GST_TYPE_FIND_POSSIBLE = 50, + GST_TYPE_FIND_LIKELY = 80, + GST_TYPE_FIND_NEARLY_CERTAIN = 99, + GST_TYPE_FIND_MAXIMUM = 100 +} GstTypeFindProbability; +struct _GstTypeFind { + guint8 * (* peek) (gpointer data, + gint64 offset, + guint size); + void (* suggest) (gpointer data, + guint probability, + const GstCaps * caps); + gpointer data; + guint64 (* get_length) (gpointer data); + gpointer _gst_reserved[4]; +}; +GType gst_type_find_get_type (void); +guint8 * gst_type_find_peek (GstTypeFind * find, + gint64 offset, + guint size); +void gst_type_find_suggest (GstTypeFind * find, + guint probability, + const GstCaps * caps); +void gst_type_find_suggest_simple (GstTypeFind * find, + guint probability, + const char * media_type, + const char * fieldname, ...); +guint64 gst_type_find_get_length (GstTypeFind * find); +gboolean gst_type_find_register (GstPlugin * plugin, + const gchar * name, + guint rank, + GstTypeFindFunction func, + gchar ** extensions, + const GstCaps * possible_caps, + gpointer data, + GDestroyNotify data_notify); +typedef struct _GstTypeFindFactory GstTypeFindFactory; +typedef struct _GstTypeFindFactoryClass GstTypeFindFactoryClass; +struct _GstTypeFindFactory { + GstPluginFeature feature; + GstTypeFindFunction function; + gchar ** extensions; + GstCaps * caps; + gpointer user_data; + GDestroyNotify user_data_notify; + gpointer _gst_reserved[4]; +}; +struct _GstTypeFindFactoryClass { + GstPluginFeatureClass parent; + gpointer _gst_reserved[4]; +}; +GType gst_type_find_factory_get_type (void); +GList * gst_type_find_factory_get_list (void); +gchar ** gst_type_find_factory_get_extensions (GstTypeFindFactory *factory); +GstCaps * gst_type_find_factory_get_caps (GstTypeFindFactory *factory); +void gst_type_find_factory_call_function (GstTypeFindFactory *factory, + GstTypeFind *find); +typedef enum { + GST_URI_UNKNOWN, + GST_URI_SINK, + GST_URI_SRC +} GstURIType; +typedef struct _GstURIHandler GstURIHandler; +typedef struct _GstURIHandlerInterface GstURIHandlerInterface; +struct _GstURIHandlerInterface { + GTypeInterface parent; + void (* new_uri) (GstURIHandler * handler, + const gchar * uri); + GstURIType (* get_type) (void); + gchar ** (* get_protocols) (void); + const gchar *(* get_uri) (GstURIHandler * handler); + gboolean (* set_uri) (GstURIHandler * handler, + const gchar * uri); + GstURIType (* get_type_full) (GType type); + gchar ** (* get_protocols_full) (GType type); + gpointer _gst_reserved[4 - 2]; +}; +gboolean gst_uri_protocol_is_valid (const gchar * protocol); +gboolean gst_uri_protocol_is_supported (const GstURIType type, + const gchar *protocol); +gboolean gst_uri_is_valid (const gchar * uri); +gchar * gst_uri_get_protocol (const gchar * uri); +gboolean gst_uri_has_protocol (const gchar * uri, + const gchar * protocol); +gchar * gst_uri_get_location (const gchar * uri); +gchar * gst_uri_construct (const gchar * protocol, + const gchar * location); +GstElement * gst_element_make_from_uri (const GstURIType type, + const gchar * uri, + const gchar * elementname); +GType gst_uri_handler_get_type (void); +guint gst_uri_handler_get_uri_type (GstURIHandler * handler); +gchar ** gst_uri_handler_get_protocols (GstURIHandler * handler); +const +gchar * gst_uri_handler_get_uri (GstURIHandler * handler); +gboolean gst_uri_handler_set_uri (GstURIHandler * handler, + const gchar * uri); +void gst_uri_handler_new_uri (GstURIHandler * handler, + const gchar * uri); +GQuark gst_parse_error_quark (void); +typedef enum +{ + GST_PARSE_ERROR_SYNTAX, + GST_PARSE_ERROR_NO_SUCH_ELEMENT, + GST_PARSE_ERROR_NO_SUCH_PROPERTY, + GST_PARSE_ERROR_LINK, + GST_PARSE_ERROR_COULD_NOT_SET_PROPERTY, + GST_PARSE_ERROR_EMPTY_BIN, + GST_PARSE_ERROR_EMPTY +} GstParseError; +typedef enum +{ + GST_PARSE_FLAG_NONE = 0, + GST_PARSE_FLAG_FATAL_ERRORS = (1 << 0) +} GstParseFlags; +typedef struct _GstParseContext GstParseContext; +GstParseContext * gst_parse_context_new (void); +gchar ** gst_parse_context_get_missing_elements (GstParseContext * context); +void gst_parse_context_free (GstParseContext * context); +GstElement * gst_parse_launch (const gchar * pipeline_description, + GError ** error); +GstElement * gst_parse_launchv (const gchar ** argv, + GError ** error); +GstElement * gst_parse_launch_full (const gchar * pipeline_description, + GstParseContext * context, + GstParseFlags flags, + GError ** error); +GstElement * gst_parse_launchv_full (const gchar ** argv, + GstParseContext * context, + GstParseFlags flags, + GError ** error); +void gst_util_set_value_from_string (GValue *value, const gchar *value_str); +void gst_util_set_object_arg (GObject *object, const gchar *name, const gchar *value); +void gst_util_dump_mem (const guchar *mem, guint size); +guint64 gst_util_gdouble_to_guint64 (gdouble value) __attribute__((__pure__)); +gdouble gst_util_guint64_to_gdouble (guint64 value) __attribute__((__pure__)); +guint64 gst_util_uint64_scale (guint64 val, guint64 num, guint64 denom) __attribute__((__pure__)); +guint64 gst_util_uint64_scale_int (guint64 val, gint num, gint denom) __attribute__((__pure__)); +guint32 gst_util_seqnum_next (void); +gint32 gst_util_seqnum_compare (guint32 s1, guint32 s2); +void gst_print_pad_caps (GString *buf, gint indent, GstPad *pad); +void gst_print_element_args (GString *buf, gint indent, GstElement *element); +GType gst_type_register_static_full (GType parent_type, + const gchar *type_name, + guint class_size, + GBaseInitFunc base_init, + GBaseFinalizeFunc base_finalize, + GClassInitFunc class_init, + GClassFinalizeFunc class_finalize, + gconstpointer class_data, + guint instance_size, + guint16 n_preallocs, + GInstanceInitFunc instance_init, + const GTypeValueTable *value_table, + GTypeFlags flags); +inline static gfloat +GFLOAT_SWAP_LE_BE(gfloat in) +{ + union + { + guint32 i; + gfloat f; + } u; + u.f = in; + 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)))); + return u.f; +} +inline static gdouble +GDOUBLE_SWAP_LE_BE(gdouble in) +{ + union + { + guint64 i; + gdouble d; + } u; + u.d = in; + 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)))); + return u.d; +} +inline static gfloat +GST_READ_FLOAT_LE(const guint8 *data) +{ + union + { + guint32 i; + gfloat f; + } u; + u.i = ((((guint32) (((guint8 *) (data))[3])) << (24)) | (((guint32) (((guint8 *) (data))[2])) << (16)) | (((guint32) (((guint8 *) (data))[1])) << (8)) | (((guint32) (((guint8 *) (data))[0])) << (0))); + return u.f; +} +inline static gfloat +GST_READ_FLOAT_BE(const guint8 *data) +{ + union + { + guint32 i; + gfloat f; + } u; + u.i = ((((guint32) (((guint8 *) (data))[0])) << (24)) | (((guint32) (((guint8 *) (data))[1])) << (16)) | (((guint32) (((guint8 *) (data))[2])) << (8)) | (((guint32) (((guint8 *) (data))[3])) << (0))); + return u.f; +} +inline static gdouble +GST_READ_DOUBLE_LE(const guint8 *data) +{ + union + { + guint64 i; + gdouble d; + } u; + 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))); + return u.d; +} +inline static gdouble +GST_READ_DOUBLE_BE(const guint8 *data) +{ + union + { + guint64 i; + gdouble d; + } u; + 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))); + return u.d; +} +inline static void +GST_WRITE_FLOAT_LE(guint8 *data, gfloat num) +{ + union + { + guint32 i; + gfloat f; + } u; + u.f = num; + 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); +} +inline static void +GST_WRITE_FLOAT_BE(guint8 *data, gfloat num) +{ + union + { + guint32 i; + gfloat f; + } u; + u.f = num; + 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); +} +inline static void +GST_WRITE_DOUBLE_LE(guint8 *data, gdouble num) +{ + union + { + guint64 i; + gdouble d; + } u; + u.d = num; + 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); +} +inline static void +GST_WRITE_DOUBLE_BE(guint8 *data, gdouble num) +{ + union + { + guint64 i; + gdouble d; + } u; + u.d = num; + 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); +} +void gst_object_default_error (GstObject * source, + GError * error, gchar * debug); +void gst_element_create_all_pads (GstElement *element); +GstPad* gst_element_get_compatible_pad (GstElement *element, GstPad *pad, + const GstCaps *caps); +GstPadTemplate* gst_element_get_compatible_pad_template (GstElement *element, GstPadTemplate *compattempl); +const gchar* gst_element_state_get_name (GstState state); +const gchar * gst_element_state_change_return_get_name (GstStateChangeReturn state_ret); +gboolean gst_element_link (GstElement *src, GstElement *dest); +gboolean gst_element_link_many (GstElement *element_1, + GstElement *element_2, ...) __attribute__((__sentinel__)); +gboolean gst_element_link_filtered (GstElement * src, + GstElement * dest, + GstCaps *filter); +void gst_element_unlink (GstElement *src, GstElement *dest); +void gst_element_unlink_many (GstElement *element_1, + GstElement *element_2, ...) __attribute__((__sentinel__)); +gboolean gst_element_link_pads (GstElement *src, const gchar *srcpadname, + GstElement *dest, const gchar *destpadname); +void gst_element_unlink_pads (GstElement *src, const gchar *srcpadname, + GstElement *dest, const gchar *destpadname); +gboolean gst_element_link_pads_filtered (GstElement * src, const gchar * srcpadname, + GstElement * dest, const gchar * destpadname, + GstCaps *filter); +gboolean gst_element_seek_simple (GstElement *element, + GstFormat format, + GstSeekFlags seek_flags, + gint64 seek_pos); +gboolean gst_element_factory_can_src_caps(GstElementFactory *factory, const GstCaps *caps); +gboolean gst_element_factory_can_sink_caps(GstElementFactory *factory, const GstCaps *caps); +gboolean gst_element_query_position (GstElement *element, GstFormat *format, + gint64 *cur); +gboolean gst_element_query_duration (GstElement *element, GstFormat *format, + gint64 *duration); +gboolean gst_element_query_convert (GstElement *element, GstFormat src_format, gint64 src_val, + GstFormat *dest_format, gint64 *dest_val); +void gst_element_class_install_std_props (GstElementClass * klass, + const gchar * first_name, ...) __attribute__((__sentinel__)); +void gst_pad_use_fixed_caps (GstPad *pad); +GstCaps* gst_pad_get_fixed_caps_func (GstPad *pad); +GstCaps* gst_pad_proxy_getcaps (GstPad * pad); +gboolean gst_pad_proxy_setcaps (GstPad * pad, GstCaps * caps); +GstElement* gst_pad_get_parent_element (GstPad *pad); +gboolean gst_pad_query_position (GstPad *pad, GstFormat *format, + gint64 *cur); +gboolean gst_pad_query_duration (GstPad *pad, GstFormat *format, + gint64 *duration); +gboolean gst_pad_query_convert (GstPad *pad, GstFormat src_format, gint64 src_val, + GstFormat *dest_format, gint64 *dest_val); +gboolean gst_pad_query_peer_position (GstPad *pad, GstFormat *format, + gint64 *cur); +gboolean gst_pad_query_peer_duration (GstPad *pad, GstFormat *format, + gint64 *duration); +gboolean gst_pad_query_peer_convert (GstPad *pad, GstFormat src_format, gint64 src_val, + GstFormat *dest_format, gint64 *dest_val); +void gst_bin_add_many (GstBin *bin, GstElement *element_1, ...) __attribute__((__sentinel__)); +void gst_bin_remove_many (GstBin *bin, GstElement *element_1, ...) __attribute__((__sentinel__)); +GstPad * gst_bin_find_unlinked_pad (GstBin *bin, GstPadDirection direction); +GstPad * gst_bin_find_unconnected_pad (GstBin *bin, GstPadDirection direction); +GstBuffer * gst_buffer_merge (GstBuffer * buf1, GstBuffer * buf2); +GstBuffer * gst_buffer_join (GstBuffer * buf1, GstBuffer * buf2); +void gst_buffer_stamp (GstBuffer * dest, const GstBuffer * src); +void gst_atomic_int_set (gint * atomic_int, gint value); +gulong gst_pad_add_data_probe (GstPad * pad, + GCallback handler, + gpointer data); +gulong gst_pad_add_data_probe_full (GstPad * pad, + GCallback handler, + gpointer data, + GDestroyNotify notify); +void gst_pad_remove_data_probe (GstPad * pad, guint handler_id); +gulong gst_pad_add_event_probe (GstPad * pad, + GCallback handler, + gpointer data); +gulong gst_pad_add_event_probe_full (GstPad * pad, + GCallback handler, + gpointer data, + GDestroyNotify notify); +void gst_pad_remove_event_probe (GstPad * pad, guint handler_id); +gulong gst_pad_add_buffer_probe (GstPad * pad, + GCallback handler, + gpointer data); +gulong gst_pad_add_buffer_probe_full (GstPad * pad, + GCallback handler, + gpointer data, + GDestroyNotify notify); +void gst_pad_remove_buffer_probe (GstPad * pad, guint handler_id); +void gst_element_found_tags_for_pad (GstElement * element, + GstPad * pad, + GstTagList * list); +void gst_element_found_tags (GstElement * element, + GstTagList * list); +GstElement * gst_parse_bin_from_description (const gchar * bin_description, + gboolean ghost_unlinked_pads, + GError ** err); +GstElement * gst_parse_bin_from_description_full (const gchar * bin_description, + gboolean ghost_unlinked_pads, + GstParseContext * context, + GstParseFlags flags, + GError ** err); +GstClockTime gst_util_get_timestamp (void); +typedef enum { + GST_SEARCH_MODE_EXACT = 0, + GST_SEARCH_MODE_BEFORE, + GST_SEARCH_MODE_AFTER +} GstSearchMode; +gpointer gst_util_array_binary_search (gpointer array, guint num_elements, + gsize element_size, GCompareDataFunc search_func, + GstSearchMode mode, gconstpointer search_data, + gpointer user_data); +typedef struct _GstXML GstXML; +typedef struct _GstXMLClass GstXMLClass; +struct _GstXML { + GstObject object; + GList *topelements; + xmlNsPtr ns; + gpointer _gst_reserved[4]; +}; +struct _GstXMLClass { + GstObjectClass parent_class; + void (*object_loaded) (GstXML *xml, GstObject *object, xmlNodePtr self); + void (*object_saved) (GstXML *xml, GstObject *object, xmlNodePtr self); + gpointer _gst_reserved[4]; +}; +GType gst_xml_get_type (void); +xmlDocPtr gst_xml_write (GstElement *element); +gint gst_xml_write_file (GstElement *element, FILE *out); +GstXML* gst_xml_new (void); +gboolean gst_xml_parse_doc (GstXML *xml, xmlDocPtr doc, const guchar *root); +gboolean gst_xml_parse_file (GstXML *xml, const guchar *fname, const guchar *root); +gboolean gst_xml_parse_memory (GstXML *xml, guchar *buffer, guint size, const gchar *root); +GstElement* gst_xml_get_element (GstXML *xml, const guchar *name); +GList* gst_xml_get_topelements (GstXML *xml); +GstElement* gst_xml_make_element (xmlNodePtr cur, GstObject *parent); +void gst_init (int *argc, char **argv[]); +gboolean gst_init_check (int *argc, char **argv[], + GError ** err); +GOptionGroup * gst_init_get_option_group (void); +void gst_deinit (void); +void gst_version (guint *major, guint *minor, + guint *micro, guint *nano); +gchar * gst_version_string (void); +gboolean gst_segtrap_is_enabled (void); +void gst_segtrap_set_enabled (gboolean enabled); +gboolean gst_registry_fork_is_enabled (void); +void gst_registry_fork_set_enabled (gboolean enabled); +gboolean gst_update_registry (void); +extern obj_t BGl_readz00zz__readerz00(obj_t, obj_t); +extern obj_t BGl_mainz00zzrecettez00(obj_t); +static obj_t BGl_cnstzd2initzd2zzrecettez00(); +extern obj_t BGl_exitz00zz__errorz00(obj_t); +extern obj_t BGl_modulezd2initializa7ationz75zzrecettez00(long, char *); +extern obj_t BGl_modulezd2initializa7ationz75zz__gstreamer_gstreamerz00(long, char *); +extern obj_t BGl_modulezd2initializa7ationz75zz__pth_threadz00(long, char *); +extern obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *); +extern obj_t BGl_modulezd2initializa7ationz75zz__errorz00(long, char *); +static obj_t BGl_toplevelzd2initzd2zzrecettez00(); +extern obj_t BGl_modulezd2initzd2errorz00zz__errorz00(char *, char *); +extern obj_t bigloo_main(obj_t); +static obj_t BGl_methodzd2initzd2zzrecettez00(); +static obj_t BGl__mainz00zzrecettez00(obj_t, obj_t); +extern obj_t BGl_bigloozd2typezd2errorz00zz__errorz00(obj_t, obj_t, obj_t); +static obj_t BGl_requirezd2initializa7ationz75zzrecettez00 = ((obj_t)(obj_t)((long)(((long)(3) << 3) | 2))); +static obj_t BGl_genericzd2initzd2zzrecettez00(); +extern obj_t BGl_bigloozd2initializa7edz12z67zz__paramz00(); +extern long BGl_bitzd2andzd2zz__bitz00(long, long); +extern obj_t bgl_open_input_string(obj_t, int); +extern bool_t BGl_zd3fxzd3zz__r4_numbers_6_5_fixnumz00(long, long); +static obj_t BGl_libraryzd2moduleszd2initz00zzrecettez00(); +static obj_t __cnst[ 1 ] ; +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)); +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)); +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)); +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))); +extern void bglpth_setup(int, char *[], char *[]); +long bigloo_abort(long n) { return n; } +int main(int argc, char *argv[], char *env[]) +{ +bglpth_setup(argc, argv, env); +return _bigloo_main(argc, argv, env, &bigloo_main);} + obj_t BGl_modulezd2initializa7ationz75zzrecettez00(long BgL_checksumz00_509, char * BgL_fromz00_510) +{ ; +{ +{ +bool_t BgL_test2176z00_511; +{ +obj_t BgL_arg2181z00_513; +BgL_arg2181z00_513 = +(obj_t)((long)(((long)(BGl_bitzd2andzd2zz__bitz00(BgL_checksumz00_509, ((long)67281932))) << 3) | 1)); +BgL_test2176z00_511 = +BGl_zd3fxzd3zz__r4_numbers_6_5_fixnumz00( +(long)(long)((long)((long)(BgL_arg2181z00_513) >> 3)), BgL_checksumz00_509); } +if(BgL_test2176z00_511) +{ +if( +(BGl_requirezd2initializa7ationz75zzrecettez00 != ((obj_t)(obj_t)((long)(((long)(1) << 3) | 2))))) +{ +BGl_requirezd2initializa7ationz75zzrecettez00 = +(((bool_t)0) ? ((obj_t)(obj_t)((long)(((long)(2) << 3) | 2))) : ((obj_t)(obj_t)((long)(((long)(1) << 3) | 2)))); +BGl_libraryzd2moduleszd2initz00zzrecettez00(); +BGl_cnstzd2initzd2zzrecettez00(); +BGl_genericzd2initzd2zzrecettez00(); +BGl_methodzd2initzd2zzrecettez00(); +BGl_toplevelzd2initzd2zzrecettez00(); +return ((obj_t)(obj_t)((long)(((long)(3) << 3) | 2)));} else +{ +return ((obj_t)(obj_t)((long)(((long)(3) << 3) | 2)));} } else +{ +char * BgL_sz00_512; +BgL_sz00_512 = +"recette"; +return +BGl_modulezd2initzd2errorz00zz__errorz00(BgL_sz00_512, BgL_fromz00_510);} } } +} + obj_t bigloo_main(obj_t BgL_argvz00_514) +{ ; +{ +BGl_modulezd2initializa7ationz75zzrecettez00(((long)0), "recette"); +BGl_bigloozd2initializa7edz12z67zz__paramz00(); +{ +obj_t BgL_arg2188z00_515; +BgL_arg2188z00_515 = +BGl_mainz00zzrecettez00(BgL_argvz00_514); +return +bigloo_exit(BgL_arg2188z00_515);} } +} +obj_t BGl_libraryzd2moduleszd2initz00zzrecettez00() +{ ; +{ +BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "recette"); +BGl_modulezd2initializa7ationz75zz__errorz00(((long)0), "recette"); +BGl_modulezd2initializa7ationz75zz__gstreamer_gstreamerz00(((long)0), "recette"); +BGl_modulezd2initializa7ationz75zz__pth_threadz00(((long)0), "recette"); +return ((obj_t)(obj_t)((long)(((long)(3) << 3) | 2)));} +} +obj_t BGl_cnstzd2initzd2zzrecettez00() +{ ; +{ +{ +obj_t BgL_cportz00_501; +BgL_cportz00_501 = +bgl_open_input_string(BGl_string2168z00zzrecettez00, +(int)(((long)0))); +{ +long BgL_iz00_502; +BgL_iz00_502 = ((long)0); +BgL_loopz00_503: +{ +bool_t BgL_test2169z00_504; +BgL_test2169z00_504 = +(BgL_iz00_502==((long)-1)); +if(BgL_test2169z00_504) +{ +return ((obj_t)(obj_t)((long)(((long)(3) << 3) | 2)));} else +{ +{ +obj_t BgL_arg2175z00_505; +{ +{ +obj_t BgL_iportz00_506; +BgL_iportz00_506 = BgL_cportz00_501; +{ +obj_t BgL_locationz00_507; +BgL_locationz00_507 = +(((bool_t)0) ? ((obj_t)(obj_t)((long)(((long)(2) << 3) | 2))) : ((obj_t)(obj_t)((long)(((long)(1) << 3) | 2)))); +{ +BgL_arg2175z00_505 = +BGl_readz00zz__readerz00(BgL_iportz00_506, BgL_locationz00_507); } } } } +{ +int BgL_auxz00_545; +BgL_auxz00_545 = +(int)(BgL_iz00_502); +( __cnst[ BgL_auxz00_545 ] = BgL_arg2175z00_505, ((obj_t)(obj_t)((long)(((long)(3) << 3) | 2))) ); } } +{ +int BgL_auxz00_508; +BgL_auxz00_508 = +(int)( +(BgL_iz00_502-((long)1))); +{ +long BgL_iz00_550; +BgL_iz00_550 = +(long)(BgL_auxz00_508); +BgL_iz00_502 = BgL_iz00_550; +goto BgL_loopz00_503;} } } } } } } +} +obj_t BGl_toplevelzd2initzd2zzrecettez00() +{ ; +{ +BGl_modulezd2initializa7ationz75zz__gstreamer_gstreamerz00(((long)0), +((char *)(&((((obj_t)((long)BGl_string2166z00zzrecettez00 - 7))->string_t).char0)))); +BGl_modulezd2initializa7ationz75zz__pth_threadz00(((long)0), +((char *)(&((((obj_t)((long)BGl_string2166z00zzrecettez00 - 7))->string_t).char0)))); +return ((obj_t)(obj_t)((long)(((long)(1) << 3) | 2)));} +} + obj_t BGl_mainz00zzrecettez00(obj_t BgL_argvz00_1) +{ ; +{ +{ +obj_t BgL_list2163z00_496; +BgL_list2163z00_496 = +({ 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)) ); }); +return +BGl_exitz00zz__errorz00(BgL_list2163z00_496);} } +} +obj_t BGl__mainz00zzrecettez00(obj_t BgL_envz00_497, obj_t BgL_argvz00_498) +{ ; +{ +{ +obj_t BgL_auxz00_559; +{ +obj_t BgL_aux2164z00_499; +BgL_aux2164z00_499 = BgL_argvz00_498; +{ +bool_t BgL_test2165z00_500; +BgL_test2165z00_500 = +((((long)BgL_aux2164z00_499) & ((1 << 3) - 1)) == 3); +if(BgL_test2165z00_500) +{ +BgL_auxz00_559 = BgL_aux2164z00_499 +; } else +{ +BGl_bigloozd2typezd2errorz00zz__errorz00( +__cnst[ ((long)0) ], BGl_string2167z00zzrecettez00, BgL_aux2164z00_499); +exit( -1 );} } } +return +BGl_mainz00zzrecettez00(BgL_auxz00_559);} } +} +obj_t BGl_genericzd2initzd2zzrecettez00() +{ ; +{ +return ((obj_t)(obj_t)((long)(((long)(3) << 3) | 2)));} +} +obj_t BGl_methodzd2initzd2zzrecettez00() +{ ; +{ +return ((obj_t)(obj_t)((long)(((long)(3) << 3) | 2)));} +}