Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 35509 Details for
Bug 55900
gimp 2.0.0 fails to compile on PIII w/hardened gcc 3.3.3 in two ways (50% fixed)
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
Preprocessed source stored into /var/tmp/portage/gimp-2.0.0/temp/ccR6W29W.out fi le, please attach this to your bugreport.
gimp (text/plain), 269.71 KB, created by
Seth Robertson
on 2004-07-15 15:44:41 UTC
(
hide
)
Description:
Preprocessed source stored into /var/tmp/portage/gimp-2.0.0/temp/ccR6W29W.out fi le, please attach this to your bugreport.
Filename:
MIME Type:
Creator:
Seth Robertson
Created:
2004-07-15 15:44:41 UTC
Size:
269.71 KB
patch
obsolete
>// /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/cc1 -quiet -I. -I. -I../.. -I../.. -I../../app -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include -MD gimp-composite-sse.d -MF .deps/gimp-composite-sse.Tpo -MP -MT gimp-composite-sse.o -MQ gimp-composite-sse.o -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=3 -DHAVE_CONFIG_H -DG_LOG_DOMAIN="Gimp-Composite" -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE gimp-composite-sse.c -fPIE -fstack-protector -fstack-protector-all -quiet -dumpbase gimp-composite-sse.c -march=pentium3 -auxbase-strip gimp-composite-sse.o -O2 -Wall -fomit-frame-pointer -o - -frandom-seed=0 ># 1 "gimp-composite-sse.c" ># 1 "<built-in>" ># 1 "<command line>" ># 1 "gimp-composite-sse.c" ># 33 "gimp-composite-sse.c" ># 1 "../../config.h" 1 ># 34 "gimp-composite-sse.c" 2 > ># 1 "/usr/include/stdio.h" 1 3 4 ># 28 "/usr/include/stdio.h" 3 4 ># 1 "/usr/include/features.h" 1 3 4 ># 295 "/usr/include/features.h" 3 4 ># 1 "/usr/include/sys/cdefs.h" 1 3 4 ># 296 "/usr/include/features.h" 2 3 4 ># 318 "/usr/include/features.h" 3 4 ># 1 "/usr/include/gnu/stubs.h" 1 3 4 ># 319 "/usr/include/features.h" 2 3 4 ># 29 "/usr/include/stdio.h" 2 3 4 > > > > > ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 ># 213 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 3 4 >typedef unsigned int size_t; ># 35 "/usr/include/stdio.h" 2 3 4 > ># 1 "/usr/include/bits/types.h" 1 3 4 ># 28 "/usr/include/bits/types.h" 3 4 ># 1 "/usr/include/bits/wordsize.h" 1 3 4 ># 29 "/usr/include/bits/types.h" 2 3 4 > > ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 ># 32 "/usr/include/bits/types.h" 2 3 4 > > >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; > > > > >__extension__ typedef signed long long int __int64_t; >__extension__ typedef unsigned long long int __uint64_t; > > > > > > > >__extension__ typedef long long int __quad_t; >__extension__ typedef unsigned long long int __u_quad_t; ># 129 "/usr/include/bits/types.h" 3 4 ># 1 "/usr/include/bits/typesizes.h" 1 3 4 ># 130 "/usr/include/bits/types.h" 2 3 4 > > > > > > >__extension__ typedef unsigned long long int __dev_t; >__extension__ typedef unsigned int __uid_t; >__extension__ typedef unsigned int __gid_t; >__extension__ typedef unsigned long int __ino_t; >__extension__ typedef unsigned long long int __ino64_t; >__extension__ typedef unsigned int __mode_t; >__extension__ typedef unsigned int __nlink_t; >__extension__ typedef long int __off_t; >__extension__ typedef long long int __off64_t; >__extension__ typedef int __pid_t; >__extension__ typedef struct { int __val[2]; } __fsid_t; >__extension__ typedef long int __clock_t; >__extension__ typedef unsigned long int __rlim_t; >__extension__ typedef unsigned long long int __rlim64_t; >__extension__ typedef unsigned int __id_t; >__extension__ typedef long int __time_t; >__extension__ typedef unsigned int __useconds_t; >__extension__ typedef long int __suseconds_t; > >__extension__ typedef int __daddr_t; >__extension__ typedef long int __swblk_t; >__extension__ typedef int __key_t; > > >__extension__ typedef int __clockid_t; > > >__extension__ typedef int __timer_t; > > >__extension__ typedef long int __blksize_t; > > > > >__extension__ typedef long int __blkcnt_t; >__extension__ typedef long long int __blkcnt64_t; > > >__extension__ typedef unsigned long int __fsblkcnt_t; >__extension__ typedef unsigned long long int __fsblkcnt64_t; > > >__extension__ typedef unsigned long int __fsfilcnt_t; >__extension__ typedef unsigned long long int __fsfilcnt64_t; > >__extension__ typedef int __ssize_t; > > > >typedef __off64_t __loff_t; >typedef __quad_t *__qaddr_t; >typedef char *__caddr_t; > > >__extension__ typedef int __intptr_t; > > >__extension__ typedef unsigned int __socklen_t; ># 37 "/usr/include/stdio.h" 2 3 4 > > > > > > > > > >typedef struct _IO_FILE FILE; > > > > > ># 62 "/usr/include/stdio.h" 3 4 >typedef struct _IO_FILE __FILE; ># 72 "/usr/include/stdio.h" 3 4 ># 1 "/usr/include/libio.h" 1 3 4 ># 32 "/usr/include/libio.h" 3 4 ># 1 "/usr/include/_G_config.h" 1 3 4 ># 14 "/usr/include/_G_config.h" 3 4 ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 ># 325 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 3 4 >typedef long int wchar_t; ># 354 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 3 4 >typedef unsigned int wint_t; ># 15 "/usr/include/_G_config.h" 2 3 4 ># 24 "/usr/include/_G_config.h" 3 4 ># 1 "/usr/include/wchar.h" 1 3 4 ># 48 "/usr/include/wchar.h" 3 4 ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 ># 49 "/usr/include/wchar.h" 2 3 4 > ># 1 "/usr/include/bits/wchar.h" 1 3 4 ># 51 "/usr/include/wchar.h" 2 3 4 ># 76 "/usr/include/wchar.h" 3 4 >typedef struct >{ > int __count; > union > { > wint_t __wch; > char __wchb[4]; > } __value; >} __mbstate_t; ># 25 "/usr/include/_G_config.h" 2 3 4 > >typedef struct >{ > __off_t __pos; > __mbstate_t __state; >} _G_fpos_t; >typedef struct >{ > __off64_t __pos; > __mbstate_t __state; >} _G_fpos64_t; ># 44 "/usr/include/_G_config.h" 3 4 ># 1 "/usr/include/gconv.h" 1 3 4 ># 28 "/usr/include/gconv.h" 3 4 ># 1 "/usr/include/wchar.h" 1 3 4 ># 48 "/usr/include/wchar.h" 3 4 ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 ># 49 "/usr/include/wchar.h" 2 3 4 ># 29 "/usr/include/gconv.h" 2 3 4 > > ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 ># 32 "/usr/include/gconv.h" 2 3 4 > > > > > >enum >{ > __GCONV_OK = 0, > __GCONV_NOCONV, > __GCONV_NODB, > __GCONV_NOMEM, > > __GCONV_EMPTY_INPUT, > __GCONV_FULL_OUTPUT, > __GCONV_ILLEGAL_INPUT, > __GCONV_INCOMPLETE_INPUT, > > __GCONV_ILLEGAL_DESCRIPTOR, > __GCONV_INTERNAL_ERROR >}; > > > >enum >{ > __GCONV_IS_LAST = 0x0001, > __GCONV_IGNORE_ERRORS = 0x0002 >}; > > > >struct __gconv_step; >struct __gconv_step_data; >struct __gconv_loaded_object; >struct __gconv_trans_data; > > > >typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *, > __const unsigned char **, __const unsigned char *, > unsigned char **, size_t *, int, int); > > >typedef wint_t (*__gconv_btowc_fct) (struct __gconv_step *, unsigned char); > > >typedef int (*__gconv_init_fct) (struct __gconv_step *); >typedef void (*__gconv_end_fct) (struct __gconv_step *); > > > >typedef int (*__gconv_trans_fct) (struct __gconv_step *, > struct __gconv_step_data *, void *, > __const unsigned char *, > __const unsigned char **, > __const unsigned char *, unsigned char **, > size_t *); > > >typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *, > __const unsigned char *, > unsigned char *, unsigned char *); > > >typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***, > size_t *); > > >typedef int (*__gconv_trans_init_fct) (void **, const char *); >typedef void (*__gconv_trans_end_fct) (void *); > >struct __gconv_trans_data >{ > > __gconv_trans_fct __trans_fct; > __gconv_trans_context_fct __trans_context_fct; > __gconv_trans_end_fct __trans_end_fct; > void *__data; > struct __gconv_trans_data *__next; >}; > > > >struct __gconv_step >{ > struct __gconv_loaded_object *__shlib_handle; > __const char *__modname; > > int __counter; > > char *__from_name; > char *__to_name; > > __gconv_fct __fct; > __gconv_btowc_fct __btowc_fct; > __gconv_init_fct __init_fct; > __gconv_end_fct __end_fct; > > > > int __min_needed_from; > int __max_needed_from; > int __min_needed_to; > int __max_needed_to; > > > int __stateful; > > void *__data; >}; > > > >struct __gconv_step_data >{ > unsigned char *__outbuf; > unsigned char *__outbufend; > > > > int __flags; > > > > int __invocation_counter; > > > > int __internal_use; > > __mbstate_t *__statep; > __mbstate_t __state; > > > > struct __gconv_trans_data *__trans; >}; > > > >typedef struct __gconv_info >{ > size_t __nsteps; > struct __gconv_step *__steps; > __extension__ struct __gconv_step_data __data []; >} *__gconv_t; ># 45 "/usr/include/_G_config.h" 2 3 4 >typedef union >{ > struct __gconv_info __cd; > struct > { > struct __gconv_info __cd; > struct __gconv_step_data __data; > } __combined; >} _G_iconv_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__))); ># 33 "/usr/include/libio.h" 2 3 4 ># 53 "/usr/include/libio.h" 3 4 ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stdarg.h" 1 3 4 ># 43 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stdarg.h" 3 4 >typedef __builtin_va_list __gnuc_va_list; ># 54 "/usr/include/libio.h" 2 3 4 ># 163 "/usr/include/libio.h" 3 4 >struct _IO_jump_t; struct _IO_FILE; ># 173 "/usr/include/libio.h" 3 4 >typedef void _IO_lock_t; > > > > > >struct _IO_marker { > struct _IO_marker *_next; > struct _IO_FILE *_sbuf; > > > > int _pos; ># 196 "/usr/include/libio.h" 3 4 >}; > > >enum __codecvt_result >{ > __codecvt_ok, > __codecvt_partial, > __codecvt_error, > __codecvt_noconv >}; ># 264 "/usr/include/libio.h" 3 4 >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; ># 312 "/usr/include/libio.h" 3 4 > __off64_t _offset; > > > > > > void *__pad1; > void *__pad2; > > int _mode; > > char _unused2[15 * sizeof (int) - 2 * sizeof (void *)]; > >}; > > >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_; ># 351 "/usr/include/libio.h" 3 4 >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); ># 403 "/usr/include/libio.h" 3 4 >extern int __underflow (_IO_FILE *) ; >extern int __uflow (_IO_FILE *) ; >extern int __overflow (_IO_FILE *, int) ; >extern wint_t __wunderflow (_IO_FILE *) ; >extern wint_t __wuflow (_IO_FILE *) ; >extern wint_t __woverflow (_IO_FILE *, wint_t) ; ># 441 "/usr/include/libio.h" 3 4 >extern int _IO_getc (_IO_FILE *__fp) ; >extern int _IO_putc (int __c, _IO_FILE *__fp) ; >extern int _IO_feof (_IO_FILE *__fp) ; >extern int _IO_ferror (_IO_FILE *__fp) ; > >extern int _IO_peekc_locked (_IO_FILE *__fp) ; > > > > > >extern void _IO_flockfile (_IO_FILE *) ; >extern void _IO_funlockfile (_IO_FILE *) ; >extern int _IO_ftrylockfile (_IO_FILE *) ; ># 471 "/usr/include/libio.h" 3 4 >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 *) ; ># 73 "/usr/include/stdio.h" 2 3 4 ># 86 "/usr/include/stdio.h" 3 4 > > > > >typedef _G_fpos64_t fpos_t; > > ># 138 "/usr/include/stdio.h" 3 4 ># 1 "/usr/include/bits/stdio_lim.h" 1 3 4 ># 139 "/usr/include/stdio.h" 2 3 4 > > > >extern struct _IO_FILE *stdin; >extern struct _IO_FILE *stdout; >extern struct _IO_FILE *stderr; > > > > > > > >extern int remove (__const char *__filename) ; > >extern int rename (__const char *__old, __const char *__new) ; > > > > ># 167 "/usr/include/stdio.h" 3 4 >extern FILE *tmpfile (void) __asm__ ("" "tmpfile64"); ># 178 "/usr/include/stdio.h" 3 4 >extern char *tmpnam (char *__s) ; > > > > > >extern char *tmpnam_r (char *__s) ; ># 196 "/usr/include/stdio.h" 3 4 >extern char *tempnam (__const char *__dir, __const char *__pfx) > __attribute__ ((__malloc__)); > > > > > > > > >extern int fclose (FILE *__stream); > > > > >extern int fflush (FILE *__stream); > ># 221 "/usr/include/stdio.h" 3 4 >extern int fflush_unlocked (FILE *__stream); ># 235 "/usr/include/stdio.h" 3 4 > ># 252 "/usr/include/stdio.h" 3 4 >extern FILE *fopen (__const char *__restrict __filename, __const char *__restrict __modes) __asm__ ("" "fopen64"); > >extern FILE *freopen (__const char *__restrict __filename, __const char *__restrict __modes, FILE *__restrict __stream) __asm__ ("" "freopen64"); > > > > > > > > ># 273 "/usr/include/stdio.h" 3 4 >extern FILE *fdopen (int __fd, __const char *__modes) ; ># 294 "/usr/include/stdio.h" 3 4 > > > >extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) ; > > > >extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, > int __modes, size_t __n) ; > > > > > >extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, > size_t __size) ; > > >extern void setlinebuf (FILE *__stream) ; > > > > > > > > >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, ...) ; > > > > > >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) ; > > > > > >extern int snprintf (char *__restrict __s, size_t __maxlen, > __const char *__restrict __format, ...) > __attribute__ ((__format__ (__printf__, 3, 4))); > >extern int vsnprintf (char *__restrict __s, size_t __maxlen, > __const char *__restrict __format, __gnuc_va_list __arg) > __attribute__ ((__format__ (__printf__, 3, 0))); > ># 388 "/usr/include/stdio.h" 3 4 > > > > > >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, ...) ; > ># 430 "/usr/include/stdio.h" 3 4 > > > > > >extern int fgetc (FILE *__stream); >extern int getc (FILE *__stream); > > > > > >extern int getchar (void); > ># 454 "/usr/include/stdio.h" 3 4 >extern int getc_unlocked (FILE *__stream); >extern int getchar_unlocked (void); ># 465 "/usr/include/stdio.h" 3 4 >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); > ># 498 "/usr/include/stdio.h" 3 4 >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); > ># 578 "/usr/include/stdio.h" 3 4 > > > > > >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); > ># 631 "/usr/include/stdio.h" 3 4 >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); > ># 686 "/usr/include/stdio.h" 3 4 > ># 700 "/usr/include/stdio.h" 3 4 >extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos) __asm__ ("" "fgetpos64"); > >extern int fsetpos (FILE *__stream, __const fpos_t *__pos) __asm__ ("" "fsetpos64"); > > > > > > > ># 718 "/usr/include/stdio.h" 3 4 > > >extern void clearerr (FILE *__stream) ; > >extern int feof (FILE *__stream) ; > >extern int ferror (FILE *__stream) ; > > > > >extern void clearerr_unlocked (FILE *__stream) ; >extern int feof_unlocked (FILE *__stream) ; >extern int ferror_unlocked (FILE *__stream) ; > > > > > > > > >extern void perror (__const char *__s); > > > > > > ># 1 "/usr/include/bits/sys_errlist.h" 1 3 4 ># 27 "/usr/include/bits/sys_errlist.h" 3 4 >extern int sys_nerr; >extern __const char *__const sys_errlist[]; ># 748 "/usr/include/stdio.h" 2 3 4 > > > > >extern int fileno (FILE *__stream) ; > > > > >extern int fileno_unlocked (FILE *__stream) ; ># 767 "/usr/include/stdio.h" 3 4 >extern FILE *popen (__const char *__command, __const char *__modes); > > > > > >extern int pclose (FILE *__stream); > > > > > >extern char *ctermid (char *__s) ; ># 807 "/usr/include/stdio.h" 3 4 >extern void flockfile (FILE *__stream) ; > > > >extern int ftrylockfile (FILE *__stream) ; > > >extern void funlockfile (FILE *__stream) ; ># 828 "/usr/include/stdio.h" 3 4 ># 1 "/usr/include/bits/stdio.h" 1 3 4 ># 33 "/usr/include/bits/stdio.h" 3 4 >extern __inline int >vprintf (__const char *__restrict __fmt, __gnuc_va_list __arg) >{ > return vfprintf (stdout, __fmt, __arg); >} > > >extern __inline int >getchar (void) >{ > return _IO_getc (stdin); >} > > > > >extern __inline int >getc_unlocked (FILE *__fp) >{ > return (__builtin_expect ((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end, 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); >} > > >extern __inline int >getchar_unlocked (void) >{ > return (__builtin_expect ((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end, 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); >} > > > > >extern __inline int >putchar (int __c) >{ > return _IO_putc (__c, stdout); >} > > > > >extern __inline int >fputc_unlocked (int __c, FILE *__stream) >{ > return (__builtin_expect ((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end, 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); >} > > > > > >extern __inline int >putc_unlocked (int __c, FILE *__stream) >{ > return (__builtin_expect ((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end, 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); >} > > >extern __inline int >putchar_unlocked (int __c) >{ > return (__builtin_expect ((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end, 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); >} ># 111 "/usr/include/bits/stdio.h" 3 4 >extern __inline int >feof_unlocked (FILE *__stream) >{ > return (((__stream)->_flags & 0x10) != 0); >} > > >extern __inline int >ferror_unlocked (FILE *__stream) >{ > return (((__stream)->_flags & 0x20) != 0); >} ># 829 "/usr/include/stdio.h" 2 3 4 > > > ># 36 "gimp-composite-sse.c" 2 > ># 1 "/usr/include/glib-2.0/glib-object.h" 1 ># 25 "/usr/include/glib-2.0/glib-object.h" ># 1 "/usr/include/glib-2.0/gobject/gboxed.h" 1 ># 26 "/usr/include/glib-2.0/gobject/gboxed.h" ># 1 "/usr/include/glib-2.0/gobject/gtype.h" 1 ># 26 "/usr/include/glib-2.0/gobject/gtype.h" ># 1 "/usr/include/glib-2.0/glib.h" 1 ># 30 "/usr/include/glib-2.0/glib.h" ># 1 "/usr/include/glib-2.0/glib/galloca.h" 1 ># 30 "/usr/include/glib-2.0/glib/galloca.h" ># 1 "/usr/include/glib-2.0/glib/gtypes.h" 1 ># 30 "/usr/include/glib-2.0/glib/gtypes.h" ># 1 "/usr/lib/glib-2.0/include/glibconfig.h" 1 ># 9 "/usr/lib/glib-2.0/include/glibconfig.h" ># 1 "/usr/include/glib-2.0/glib/gmacros.h" 1 ># 36 "/usr/include/glib-2.0/glib/gmacros.h" ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 ># 151 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 3 4 >typedef int ptrdiff_t; ># 37 "/usr/include/glib-2.0/glib/gmacros.h" 2 ># 10 "/usr/lib/glib-2.0/include/glibconfig.h" 2 > ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/limits.h" 1 3 4 ># 11 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/limits.h" 3 4 ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/syslimits.h" 1 3 4 > > > > > > ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/limits.h" 1 3 4 ># 122 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/limits.h" 3 4 ># 1 "/usr/include/limits.h" 1 3 4 ># 144 "/usr/include/limits.h" 3 4 ># 1 "/usr/include/bits/posix1_lim.h" 1 3 4 ># 130 "/usr/include/bits/posix1_lim.h" 3 4 ># 1 "/usr/include/bits/local_lim.h" 1 3 4 ># 36 "/usr/include/bits/local_lim.h" 3 4 ># 1 "/usr/include/linux/limits.h" 1 3 4 ># 37 "/usr/include/bits/local_lim.h" 2 3 4 ># 131 "/usr/include/bits/posix1_lim.h" 2 3 4 ># 145 "/usr/include/limits.h" 2 3 4 > > > ># 1 "/usr/include/bits/posix2_lim.h" 1 3 4 ># 149 "/usr/include/limits.h" 2 3 4 ># 123 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/limits.h" 2 3 4 ># 8 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/syslimits.h" 2 3 4 ># 12 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/limits.h" 2 3 4 ># 12 "/usr/lib/glib-2.0/include/glibconfig.h" 2 ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/float.h" 1 3 4 ># 13 "/usr/lib/glib-2.0/include/glibconfig.h" 2 > > > > ># 32 "/usr/lib/glib-2.0/include/glibconfig.h" >typedef signed char gint8; >typedef unsigned char guint8; >typedef signed short gint16; >typedef unsigned short guint16; > > > >typedef signed int gint32; >typedef unsigned int guint32; > > > > > >__extension__ typedef signed long long gint64; >__extension__ typedef unsigned long long guint64; ># 58 "/usr/lib/glib-2.0/include/glibconfig.h" >typedef signed int gssize; >typedef unsigned int gsize; ># 117 "/usr/lib/glib-2.0/include/glibconfig.h" >typedef struct _GStaticMutex GStaticMutex; >struct _GStaticMutex >{ > struct _GMutex *runtime_mutex; > union { > char pad[24]; > double dummy_double; > void *dummy_pointer; > long dummy_long; > } static_mutex; >}; ># 136 "/usr/lib/glib-2.0/include/glibconfig.h" >typedef union _GSystemThread GSystemThread; >union _GSystemThread >{ > char data[4]; > double dummy_double; > void *dummy_pointer; > long dummy_long; >}; ># 176 "/usr/lib/glib-2.0/include/glibconfig.h" >typedef int GPid; > > ># 31 "/usr/include/glib-2.0/glib/gtypes.h" 2 > > ># 41 "/usr/include/glib-2.0/glib/gtypes.h" >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; ># 72 "/usr/include/glib-2.0/glib/gtypes.h" >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); ># 335 "/usr/include/glib-2.0/glib/gtypes.h" >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; >}; ># 385 "/usr/include/glib-2.0/glib/gtypes.h" >typedef struct _GTimeVal GTimeVal; > >struct _GTimeVal >{ > glong tv_sec; > glong tv_usec; >}; > > ># 31 "/usr/include/glib-2.0/glib/galloca.h" 2 ># 31 "/usr/include/glib-2.0/glib.h" 2 ># 1 "/usr/include/glib-2.0/glib/garray.h" 1 ># 32 "/usr/include/glib-2.0/glib/garray.h" > > >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; >}; ># 66 "/usr/include/glib-2.0/glib/garray.h" >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); > > > ># 32 "/usr/include/glib-2.0/glib.h" 2 ># 1 "/usr/include/glib-2.0/glib/gasyncqueue.h" 1 ># 30 "/usr/include/glib-2.0/glib/gasyncqueue.h" ># 1 "/usr/include/glib-2.0/glib/gthread.h" 1 ># 30 "/usr/include/glib-2.0/glib/gthread.h" ># 1 "/usr/include/glib-2.0/glib/gerror.h" 1 ># 24 "/usr/include/glib-2.0/glib/gerror.h" ># 1 "/usr/include/glib-2.0/glib/gquark.h" 1 ># 32 "/usr/include/glib-2.0/glib/gquark.h" > > >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__)); > > ># 25 "/usr/include/glib-2.0/glib/gerror.h" 2 > > > >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_propagate_error (GError **dest, > GError *src); > > >void g_clear_error (GError **err); > > > ># 31 "/usr/include/glib-2.0/glib/gthread.h" 2 > ># 1 "/usr/include/glib-2.0/glib/gatomic.h" 1 ># 35 "/usr/include/glib-2.0/glib/gatomic.h" > > >gint g_atomic_int_exchange_and_add (gint *atomic, > gint val); >void g_atomic_int_add (gint *atomic, > gint val); >gboolean g_atomic_int_compare_and_exchange (gint *atomic, > gint oldval, > gint newval); >gboolean g_atomic_pointer_compare_and_exchange (gpointer *atomic, > gpointer oldval, > gpointer newval); ># 60 "/usr/include/glib-2.0/glib/gatomic.h" > ># 33 "/usr/include/glib-2.0/glib/gthread.h" 2 > > > > > > >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; > > > > > >void g_thread_init (GThreadFunctions *vtable); ># 128 "/usr/include/glib-2.0/glib/gthread.h" >void g_thread_init_with_errorcheck_mutexes (GThreadFunctions* vtable); ># 138 "/usr/include/glib-2.0/glib/gthread.h" >GMutex* g_static_mutex_get_mutex_impl (GMutex **mutex); ># 208 "/usr/include/glib-2.0/glib/gthread.h" >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); ># 233 "/usr/include/glib-2.0/glib/gthread.h" >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); > >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); ># 328 "/usr/include/glib-2.0/glib/gthread.h" >extern void glib_dummy_decl (void); ># 370 "/usr/include/glib-2.0/glib/gthread.h" > ># 31 "/usr/include/glib-2.0/glib/gasyncqueue.h" 2 > > > >typedef struct _GAsyncQueue GAsyncQueue; > > > > > >GAsyncQueue* g_async_queue_new (void); > > > > > >void g_async_queue_lock (GAsyncQueue *queue); >void g_async_queue_unlock (GAsyncQueue *queue); > > >void 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); > > > >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); > > ># 33 "/usr/include/glib-2.0/glib.h" 2 > ># 1 "/usr/include/glib-2.0/glib/gbacktrace.h" 1 ># 32 "/usr/include/glib-2.0/glib/gbacktrace.h" > ># 43 "/usr/include/glib-2.0/glib/gbacktrace.h" >void g_on_error_query (const gchar *prg_name); >void g_on_error_stack_trace (const gchar *prg_name); ># 59 "/usr/include/glib-2.0/glib/gbacktrace.h" > ># 35 "/usr/include/glib-2.0/glib.h" 2 ># 1 "/usr/include/glib-2.0/glib/gcache.h" 1 ># 30 "/usr/include/glib-2.0/glib/gcache.h" ># 1 "/usr/include/glib-2.0/glib/glist.h" 1 ># 30 "/usr/include/glib-2.0/glib/glist.h" ># 1 "/usr/include/glib-2.0/glib/gmem.h" 1 ># 32 "/usr/include/glib-2.0/glib/gmem.h" > > >typedef struct _GAllocator GAllocator; >typedef struct _GMemChunk GMemChunk; >typedef struct _GMemVTable GMemVTable; ># 48 "/usr/include/glib-2.0/glib/gmem.h" >gpointer g_malloc (gulong n_bytes); >gpointer g_malloc0 (gulong n_bytes); >gpointer g_realloc (gpointer mem, > gulong n_bytes); >void g_free (gpointer mem); >gpointer g_try_malloc (gulong n_bytes); >gpointer g_try_realloc (gpointer mem, > gulong n_bytes); ># 72 "/usr/include/glib-2.0/glib/gmem.h" >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 GMemVTable *glib_mem_profiler_table; >void g_mem_profile (void); ># 135 "/usr/include/glib-2.0/glib/gmem.h" >GMemChunk* g_mem_chunk_new (const gchar *name, > gint atom_size, > gulong 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); ># 157 "/usr/include/glib-2.0/glib/gmem.h" >void g_blow_chunks (void); > > > > >GAllocator* g_allocator_new (const gchar *name, > guint n_preallocs); >void g_allocator_free (GAllocator *allocator); > > > > > > > > ># 31 "/usr/include/glib-2.0/glib/glist.h" 2 > > > >typedef struct _GList GList; > >struct _GList >{ > gpointer data; > GList *next; > GList *prev; >}; > > > >void g_list_push_allocator (GAllocator *allocator); >void g_list_pop_allocator (void); >GList* g_list_alloc (void); >void g_list_free (GList *list); >void g_list_free_1 (GList *list); >GList* g_list_append (GList *list, > gpointer data); >GList* g_list_prepend (GList *list, > gpointer data); >GList* g_list_insert (GList *list, > gpointer data, > gint position); >GList* g_list_insert_sorted (GList *list, > gpointer data, > GCompareFunc func); >GList* g_list_insert_before (GList *list, > GList *sibling, > gpointer data); >GList* g_list_concat (GList *list1, > GList *list2); >GList* g_list_remove (GList *list, > gconstpointer data); >GList* g_list_remove_all (GList *list, > gconstpointer data); >GList* g_list_remove_link (GList *list, > GList *llink); >GList* g_list_delete_link (GList *list, > GList *link_); >GList* g_list_reverse (GList *list); >GList* g_list_copy (GList *list); >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); >GList* g_list_sort_with_data (GList *list, > GCompareDataFunc compare_func, > gpointer user_data); >gpointer g_list_nth_data (GList *list, > guint n); > > > > > ># 31 "/usr/include/glib-2.0/glib/gcache.h" 2 > > > >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); > > ># 36 "/usr/include/glib-2.0/glib.h" 2 ># 1 "/usr/include/glib-2.0/glib/gcompletion.h" 1 ># 32 "/usr/include/glib-2.0/glib/gcompletion.h" > > >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); > > ># 37 "/usr/include/glib-2.0/glib.h" 2 ># 1 "/usr/include/glib-2.0/glib/gconvert.h" 1 ># 30 "/usr/include/glib-2.0/glib/gconvert.h" ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 ># 31 "/usr/include/glib-2.0/glib/gconvert.h" 2 > > > > >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); >size_t 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); >gchar* g_convert_with_iconv (const gchar *str, > gssize len, > GIConv converter, > gsize *bytes_read, > gsize *bytes_written, > GError **error); >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); > > > > >gchar* g_locale_to_utf8 (const gchar *opsysstring, > gssize len, > gsize *bytes_read, > gsize *bytes_written, > GError **error); >gchar* g_locale_from_utf8 (const gchar *utf8string, > gssize len, > gsize *bytes_read, > gsize *bytes_written, > GError **error); > > > > >gchar* g_filename_to_utf8 (const gchar *opsysstring, > gssize len, > gsize *bytes_read, > gsize *bytes_written, > GError **error); >gchar* g_filename_from_utf8 (const gchar *utf8string, > gssize len, > gsize *bytes_read, > gsize *bytes_written, > GError **error); > >gchar *g_filename_from_uri (const gchar *uri, > gchar **hostname, > GError **error); > >gchar *g_filename_to_uri (const gchar *filename, > const gchar *hostname, > GError **error); > > > ># 38 "/usr/include/glib-2.0/glib.h" 2 ># 1 "/usr/include/glib-2.0/glib/gdataset.h" 1 ># 32 "/usr/include/glib-2.0/glib/gdataset.h" > > >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); ># 73 "/usr/include/glib-2.0/glib/gdataset.h" >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); ># 100 "/usr/include/glib-2.0/glib/gdataset.h" > ># 39 "/usr/include/glib-2.0/glib.h" 2 ># 1 "/usr/include/glib-2.0/glib/gdate.h" 1 ># 32 "/usr/include/glib-2.0/glib/gdate.h" > ># 43 "/usr/include/glib-2.0/glib/gdate.h" >typedef gint32 GTime; >typedef guint16 GDateYear; >typedef guint8 GDateDay; >typedef struct _GDate GDate; > >struct tm; > > >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; ># 96 "/usr/include/glib-2.0/glib/gdate.h" >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); > > > > > >void g_date_clear (GDate *date, > guint n_dates); > > > > > >void g_date_set_parse (GDate *date, > const gchar *str); >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); ># 249 "/usr/include/glib-2.0/glib/gdate.h" > ># 40 "/usr/include/glib-2.0/glib.h" 2 ># 1 "/usr/include/glib-2.0/glib/gdir.h" 1 ># 28 "/usr/include/glib-2.0/glib/gdir.h" > > >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); > > ># 41 "/usr/include/glib-2.0/glib.h" 2 > ># 1 "/usr/include/glib-2.0/glib/gfileutils.h" 1 ># 26 "/usr/include/glib-2.0/glib/gfileutils.h" > > > > >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_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); >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); > >gchar *g_build_path (const gchar *separator, > const gchar *first_element, > ...); >gchar *g_build_filename (const gchar *first_element, > ...); > > ># 43 "/usr/include/glib-2.0/glib.h" 2 ># 1 "/usr/include/glib-2.0/glib/ghash.h" 1 ># 32 "/usr/include/glib-2.0/glib/ghash.h" > > >typedef struct _GHashTable GHashTable; > >typedef gboolean (*GHRFunc) (gpointer key, > gpointer value, > gpointer user_data); > > > >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); >gboolean g_hash_table_steal (GHashTable *hash_table, > gconstpointer key); >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); ># 90 "/usr/include/glib-2.0/glib/ghash.h" >gboolean g_str_equal (gconstpointer v, > gconstpointer v2); >guint g_str_hash (gconstpointer v); > >gboolean g_int_equal (gconstpointer v, > gconstpointer v2); >guint g_int_hash (gconstpointer v); > > > > > > > >guint g_direct_hash (gconstpointer v) __attribute__((__const__)); >gboolean g_direct_equal (gconstpointer v, > gconstpointer v2) __attribute__((__const__)); > > ># 44 "/usr/include/glib-2.0/glib.h" 2 ># 1 "/usr/include/glib-2.0/glib/ghook.h" 1 ># 32 "/usr/include/glib-2.0/glib/ghook.h" > > > > >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; > GMemChunk *hook_memchunk; > 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; >}; ># 102 "/usr/include/glib-2.0/glib/ghook.h" >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); >void 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); > > ># 45 "/usr/include/glib-2.0/glib.h" 2 ># 1 "/usr/include/glib-2.0/glib/giochannel.h" 1 ># 31 "/usr/include/glib-2.0/glib/giochannel.h" ># 1 "/usr/include/glib-2.0/glib/gmain.h" 1 ># 23 "/usr/include/glib-2.0/glib/gmain.h" ># 1 "/usr/include/glib-2.0/glib/gslist.h" 1 ># 32 "/usr/include/glib-2.0/glib/gslist.h" > > >typedef struct _GSList GSList; > >struct _GSList >{ > gpointer data; > GSList *next; >}; > > > >void g_slist_push_allocator (GAllocator *allocator); >void g_slist_pop_allocator (void); >GSList* g_slist_alloc (void); >void g_slist_free (GSList *list); >void g_slist_free_1 (GSList *list); >GSList* g_slist_append (GSList *list, > gpointer data); >GSList* g_slist_prepend (GSList *list, > gpointer data); >GSList* g_slist_insert (GSList *list, > gpointer data, > gint position); >GSList* g_slist_insert_sorted (GSList *list, > gpointer data, > GCompareFunc func); >GSList* g_slist_insert_before (GSList *slist, > GSList *sibling, > gpointer data); >GSList* g_slist_concat (GSList *list1, > GSList *list2); >GSList* g_slist_remove (GSList *list, > gconstpointer data); >GSList* g_slist_remove_all (GSList *list, > gconstpointer data); >GSList* g_slist_remove_link (GSList *list, > GSList *link_); >GSList* g_slist_delete_link (GSList *list, > GSList *link_); >GSList* g_slist_reverse (GSList *list); >GSList* g_slist_copy (GSList *list); >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); >GSList* g_slist_sort_with_data (GSList *list, > GCompareDataFunc compare_func, > gpointer user_data); >gpointer g_slist_nth_data (GSList *list, > guint n); > > > ># 24 "/usr/include/glib-2.0/glib/gmain.h" 2 > > > > >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; >}; ># 116 "/usr/include/glib-2.0/glib/gmain.h" >typedef struct _GPollFD GPollFD; >typedef gint (*GPollFunc) (GPollFD *ufds, > guint nfsd, > gint timeout_); > >struct _GPollFD >{ > gint fd; > gushort events; > gushort revents; >}; ># 138 "/usr/include/glib-2.0/glib/gmain.h" >GMainContext *g_main_context_new (void); >void 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_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); > >int g_main_depth (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_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); > > > >void g_get_current_time (GTimeVal *result); ># 281 "/usr/include/glib-2.0/glib/gmain.h" >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_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; > > ># 32 "/usr/include/glib-2.0/glib/giochannel.h" 2 ># 1 "/usr/include/glib-2.0/glib/gstring.h" 1 ># 31 "/usr/include/glib-2.0/glib/gstring.h" ># 1 "/usr/include/glib-2.0/glib/gunicode.h" 1 ># 28 "/usr/include/glib-2.0/glib/gunicode.h" > > >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 >} GUnicodeBreakType; > > > > > > > >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__)); > > > >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__)); > > > > > >void g_unicode_canonical_ordering (gunichar *string, > gsize len); > > > > >gunichar *g_unicode_canonical_decomposition (gunichar ch, > gsize *result_len); > > > >extern const gchar * const g_utf8_skip; > > > >gunichar g_utf8_get_char (const gchar *p); >gunichar g_utf8_get_char_validated (const gchar *p, > gssize max_len); > >gchar* g_utf8_offset_to_pointer (const gchar *str, > glong offset); >glong g_utf8_pointer_to_offset (const gchar *str, > const gchar *pos); >gchar* g_utf8_prev_char (const gchar *p); >gchar* g_utf8_find_next_char (const gchar *p, > const gchar *end); >gchar* g_utf8_find_prev_char (const gchar *str, > const gchar *p); > >glong g_utf8_strlen (const gchar *p, > gssize max); > > >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); >gunichar * g_utf8_to_ucs4 (const gchar *str, > glong len, > glong *items_read, > glong *items_written, > GError **error); >gunichar * g_utf8_to_ucs4_fast (const gchar *str, > glong len, > glong *items_written); >gunichar * g_utf16_to_ucs4 (const gunichar2 *str, > glong len, > glong *items_read, > glong *items_written, > GError **error); >gchar* g_utf16_to_utf8 (const gunichar2 *str, > glong len, > glong *items_read, > glong *items_written, > GError **error); >gunichar2 *g_ucs4_to_utf16 (const gunichar *str, > glong len, > glong *items_read, > glong *items_written, > GError **error); >gchar* g_ucs4_to_utf8 (const gunichar *str, > glong len, > glong *items_read, > glong *items_written, > GError **error); > > > > > >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); > >gchar *g_utf8_strup (const gchar *str, > gssize len); >gchar *g_utf8_strdown (const gchar *str, > gssize len); >gchar *g_utf8_casefold (const gchar *str, > gssize len); > >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); > >gint g_utf8_collate (const gchar *str1, > const gchar *str2); >gchar *g_utf8_collate_key (const gchar *str, > gssize len); > >gboolean g_unichar_get_mirror_char (gunichar ch, > gunichar *mirrored_ch); > > ># 32 "/usr/include/glib-2.0/glib/gstring.h" 2 ># 1 "/usr/include/glib-2.0/glib/gutils.h" 1 ># 31 "/usr/include/glib-2.0/glib/gutils.h" ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stdarg.h" 1 3 4 ># 105 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stdarg.h" 3 4 >typedef __gnuc_va_list va_list; ># 32 "/usr/include/glib-2.0/glib/gutils.h" 2 > > ># 116 "/usr/include/glib-2.0/glib/gutils.h" >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); >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); > > >typedef struct _GDebugKey GDebugKey; >struct _GDebugKey >{ > 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); >gchar* g_path_get_dirname (const gchar *file_name); > > > >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); > > > > > > >typedef void (*GVoidFunc) (void); ># 201 "/usr/include/glib-2.0/glib/gutils.h" >void g_atexit (GVoidFunc func); > > >gchar* g_find_program_in_path (const gchar *program); > > > >extern inline gint g_bit_nth_lsf (gulong mask, > gint nth_bit); >extern inline gint g_bit_nth_msf (gulong mask, > gint nth_bit); >extern inline guint g_bit_storage (gulong number); > > > > >typedef struct _GTrashStack GTrashStack; >struct _GTrashStack >{ > GTrashStack *next; >}; > >extern inline void g_trash_stack_push (GTrashStack **stack_p, > gpointer data_p); >extern inline gpointer g_trash_stack_pop (GTrashStack **stack_p); >extern inline gpointer g_trash_stack_peek (GTrashStack **stack_p); >extern inline guint g_trash_stack_height (GTrashStack **stack_p); > > > > >extern inline gint >g_bit_nth_lsf (gulong mask, > gint nth_bit) >{ > do > { > nth_bit++; > if (mask & (1UL << nth_bit)) > return nth_bit; > } > while (nth_bit < ((4 * 8) - 1)); > return -1; >} >extern inline gint >g_bit_nth_msf (gulong mask, > gint nth_bit) >{ > if (nth_bit < 0) > nth_bit = 4 * 8; > do > { > nth_bit--; > if (mask & (1UL << nth_bit)) > return nth_bit; > } > while (nth_bit > 0); > return -1; >} >extern inline guint >g_bit_storage (gulong number) >{ > register guint n_bits = 0; > > do > { > n_bits++; > number >>= 1; > } > while (number); > return n_bits; >} >extern inline void >g_trash_stack_push (GTrashStack **stack_p, > gpointer data_p) >{ > GTrashStack *data = (GTrashStack *) data_p; > > data->next = *stack_p; > *stack_p = data; >} >extern inline 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; >} >extern inline gpointer >g_trash_stack_peek (GTrashStack **stack_p) >{ > GTrashStack *data; > > data = *stack_p; > > return data; >} >extern inline 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; > > > > > > > > ># 33 "/usr/include/glib-2.0/glib/gstring.h" 2 > > > >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); >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_erase (GString *string, > gssize pos, > gssize len); >GString* g_string_ascii_down (GString *string); >GString* g_string_ascii_up (GString *string); >void g_string_printf (GString *string, > const gchar *format, > ...) __attribute__((__format__ (__printf__, 2, 3))); >void g_string_append_printf (GString *string, > const gchar *format, > ...) __attribute__((__format__ (__printf__, 2, 3))); > > > >static inline GString* >g_string_append_c_inline (GString *gstring, > gchar c) >{ > if (gstring->len < gstring->allocated_len && 0) > { > gstring->str[gstring->len++] = c; > gstring->str[gstring->len] = 0; > } > else > g_string_insert_c (gstring, -1, c); > return gstring; >} ># 145 "/usr/include/glib-2.0/glib/gstring.h" >GString* g_string_down (GString *string); >GString* g_string_up (GString *string); > > > > > > > > ># 33 "/usr/include/glib-2.0/glib/giochannel.h" 2 > > > > > > >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 >{ > > guint 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); >void 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); ># 290 "/usr/include/glib-2.0/glib/giochannel.h" >GIOChannel* g_io_channel_unix_new (int fd); >gint g_io_channel_unix_get_fd (GIOChannel *channel); > > > >extern GSourceFuncs g_io_watch_funcs; ># 348 "/usr/include/glib-2.0/glib/giochannel.h" > ># 46 "/usr/include/glib-2.0/glib.h" 2 > > > ># 1 "/usr/include/glib-2.0/glib/gmarkup.h" 1 ># 28 "/usr/include/glib-2.0/glib/gmarkup.h" > > >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 >} GMarkupError; > > > >GQuark g_markup_error_quark (void); > >typedef enum >{ > > G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG = 1 << 0 > >} 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); > >gboolean g_markup_parse_context_end_parse (GMarkupParseContext *context, > GError **error); >const gchar *g_markup_parse_context_get_element (GMarkupParseContext *context); > > >void g_markup_parse_context_get_position (GMarkupParseContext *context, > gint *line_number, > gint *char_number); > > >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); > > ># 50 "/usr/include/glib-2.0/glib.h" 2 > ># 1 "/usr/include/glib-2.0/glib/gmessages.h" 1 ># 37 "/usr/include/glib-2.0/glib/gmessages.h" > ># 38 "/usr/include/glib-2.0/glib/gmessages.h" 3 > > > > > > >gsize g_printf_string_upper_bound (const gchar* format, > va_list args); ># 54 "/usr/include/glib-2.0/glib/gmessages.h" 3 >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); >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); > > >void _g_log_fallback_handler (const gchar *log_domain, > GLogLevelFlags log_level, > const gchar *message, > gpointer unused_data); ># 178 "/usr/include/glib-2.0/glib/gmessages.h" 3 >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); ># 345 "/usr/include/glib-2.0/glib/gmessages.h" 3 > ># 52 "/usr/include/glib-2.0/glib.h" 2 ># 1 "/usr/include/glib-2.0/glib/gnode.h" 1 ># 32 "/usr/include/glib-2.0/glib/gnode.h" > > >typedef struct _GNode GNode; > > >typedef enum >{ > G_TRAVERSE_LEAFS = 1 << 0, > G_TRAVERSE_NON_LEAFS = 1 << 1, > G_TRAVERSE_ALL = G_TRAVERSE_LEAFS | G_TRAVERSE_NON_LEAFS, > G_TRAVERSE_MASK = 0x03 >} 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; >}; > > > > > > >void g_node_push_allocator (GAllocator *allocator); >void g_node_pop_allocator (void); >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); ># 125 "/usr/include/glib-2.0/glib/gnode.h" >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); ># 166 "/usr/include/glib-2.0/glib/gnode.h" > ># 53 "/usr/include/glib-2.0/glib.h" 2 ># 1 "/usr/include/glib-2.0/glib/gpattern.h" 1 ># 24 "/usr/include/glib-2.0/glib/gpattern.h" > > > >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); > > ># 54 "/usr/include/glib-2.0/glib.h" 2 ># 1 "/usr/include/glib-2.0/glib/gprimes.h" 1 ># 32 "/usr/include/glib-2.0/glib/gprimes.h" > ># 43 "/usr/include/glib-2.0/glib/gprimes.h" >guint g_spaced_primes_closest (guint num) __attribute__((__const__)); > > ># 55 "/usr/include/glib-2.0/glib.h" 2 ># 1 "/usr/include/glib-2.0/glib/gqsort.h" 1 ># 33 "/usr/include/glib-2.0/glib/gqsort.h" > > >void g_qsort_with_data (gconstpointer pbase, > gint total_elems, > gsize size, > GCompareDataFunc compare_func, > gpointer user_data); > > ># 56 "/usr/include/glib-2.0/glib.h" 2 > ># 1 "/usr/include/glib-2.0/glib/gqueue.h" 1 ># 32 "/usr/include/glib-2.0/glib/gqueue.h" > > >typedef struct _GQueue GQueue; > >struct _GQueue >{ > GList *head; > GList *tail; > guint length; >}; > > > >GQueue* g_queue_new (void); >void g_queue_free (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_); > > ># 58 "/usr/include/glib-2.0/glib.h" 2 ># 1 "/usr/include/glib-2.0/glib/grand.h" 1 ># 32 "/usr/include/glib-2.0/glib/grand.h" > > >typedef struct _GRand GRand; ># 45 "/usr/include/glib-2.0/glib/grand.h" >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); > > > ># 59 "/usr/include/glib-2.0/glib.h" 2 ># 1 "/usr/include/glib-2.0/glib/grel.h" 1 ># 32 "/usr/include/glib-2.0/glib/grel.h" > > >typedef struct _GRelation GRelation; >typedef struct _GTuples GTuples; > >struct _GTuples >{ > guint len; >}; ># 65 "/usr/include/glib-2.0/glib/grel.h" >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); > > ># 60 "/usr/include/glib-2.0/glib.h" 2 ># 1 "/usr/include/glib-2.0/glib/gscanner.h" 1 ># 32 "/usr/include/glib-2.0/glib/gscanner.h" > > >typedef struct _GScanner GScanner; >typedef struct _GScannerConfig GScannerConfig; >typedef union _GTokenValue GTokenValue; > >typedef void (*GScannerMsgFunc) (GScanner *scanner, > gchar *message, > gboolean error); ># 59 "/usr/include/glib-2.0/glib/gscanner.h" >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))); ># 271 "/usr/include/glib-2.0/glib/gscanner.h" > ># 61 "/usr/include/glib-2.0/glib.h" 2 ># 1 "/usr/include/glib-2.0/glib/gshell.h" 1 ># 26 "/usr/include/glib-2.0/glib/gshell.h" > > > > >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); > > ># 62 "/usr/include/glib-2.0/glib.h" 2 > ># 1 "/usr/include/glib-2.0/glib/gspawn.h" 1 ># 26 "/usr/include/glib-2.0/glib/gspawn.h" > > > > > >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); > > > ># 64 "/usr/include/glib-2.0/glib.h" 2 ># 1 "/usr/include/glib-2.0/glib/gstrfuncs.h" 1 ># 33 "/usr/include/glib-2.0/glib/gstrfuncs.h" > > > >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; ># 85 "/usr/include/glib-2.0/glib/gstrfuncs.h" >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); > > > > >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); >gchar* g_ascii_strup (const gchar *str, > gssize len); ># 169 "/usr/include/glib-2.0/glib/gstrfuncs.h" >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); >gchar* g_strdup_printf (const gchar *format, > ...) __attribute__((__format__ (__printf__, 1, 2))); >gchar* g_strdup_vprintf (const gchar *format, > va_list args); >gchar* g_strndup (const gchar *str, > gsize n); >gchar* g_strnfill (gsize length, > gchar fill_char); >gchar* g_strconcat (const gchar *string1, > ...); >gchar* g_strjoin (const gchar *separator, > ...); > > > > >gchar* g_strcompress (const gchar *source); ># 209 "/usr/include/glib-2.0/glib/gstrfuncs.h" >gchar* g_strescape (const gchar *source, > const gchar *exceptions); > >gpointer g_memdup (gconstpointer mem, > guint byte_size); ># 223 "/usr/include/glib-2.0/glib/gstrfuncs.h" >gchar** g_strsplit (const gchar *string, > const gchar *delimiter, > gint max_tokens); >gchar ** g_strsplit_set (const gchar *string, > const gchar *delimiters, > gint max_tokens); >gchar* g_strjoinv (const gchar *separator, > gchar **str_array); >void g_strfreev (gchar **str_array); >gchar** g_strdupv (gchar **str_array); > >gchar* g_stpcpy (gchar *dest, > const char *src); > >const gchar *g_strip_context (const gchar *msgid, > const gchar *msgval); > > ># 65 "/usr/include/glib-2.0/glib.h" 2 > > ># 1 "/usr/include/glib-2.0/glib/gthreadpool.h" 1 ># 32 "/usr/include/glib-2.0/glib/gthreadpool.h" > > >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); > > ># 68 "/usr/include/glib-2.0/glib.h" 2 ># 1 "/usr/include/glib-2.0/glib/gtimer.h" 1 ># 32 "/usr/include/glib-2.0/glib/gtimer.h" > > > > > > >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); > > ># 69 "/usr/include/glib-2.0/glib.h" 2 ># 1 "/usr/include/glib-2.0/glib/gtree.h" 1 ># 32 "/usr/include/glib-2.0/glib/gtree.h" > > >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); >void g_tree_remove (GTree *tree, > gconstpointer key); >void 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); > > > > ># 70 "/usr/include/glib-2.0/glib.h" 2 ># 27 "/usr/include/glib-2.0/gobject/gtype.h" 2 > > ># 92 "/usr/include/glib-2.0/gobject/gtype.h" >typedef gulong 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; >}; ># 157 "/usr/include/glib-2.0/gobject/gtype.h" >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 func_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_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); ># 384 "/usr/include/glib-2.0/gobject/gtype.h" >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 chec_func); > >GTypeValueTable* g_type_value_table_peek (GType type); > > > >gboolean g_type_check_instance (GTypeInstance *instance); >GTypeInstance* g_type_check_instance_cast (GTypeInstance *instance, > GType iface_type); >gboolean g_type_check_instance_is_a (GTypeInstance *instance, > GType iface_type); >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); >gboolean g_type_check_is_value_type (GType type); >gboolean g_type_check_value (GValue *value); >gboolean g_type_check_value_holds (GValue *value, > GType type); >gboolean g_type_test_flags (GType type, > guint flags); > > > >const gchar* g_type_name_from_instance (GTypeInstance *instance); >const gchar* g_type_name_from_class (GTypeClass *g_class); ># 474 "/usr/include/glib-2.0/gobject/gtype.h" >extern GTypeDebugFlags _g_type_debug_flags; > > ># 27 "/usr/include/glib-2.0/gobject/gboxed.h" 2 > > > > > > > > > >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); ># 67 "/usr/include/glib-2.0/gobject/gboxed.h" >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_strv_get_type (void) __attribute__((__const__)); >GType g_gstring_get_type (void) __attribute__((__const__)); > >typedef gchar** GStrv; > > ># 26 "/usr/include/glib-2.0/glib-object.h" 2 ># 1 "/usr/include/glib-2.0/gobject/genums.h" 1 ># 26 "/usr/include/glib-2.0/gobject/genums.h" ># 1 "/usr/include/glib-2.0/gobject/gtype.h" 1 ># 27 "/usr/include/glib-2.0/gobject/genums.h" 2 > > ># 46 "/usr/include/glib-2.0/gobject/genums.h" >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; > gchar *value_name; > gchar *value_nick; >}; >struct _GFlagsValue >{ > guint value; > gchar *value_name; > 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); > > ># 27 "/usr/include/glib-2.0/glib-object.h" 2 ># 1 "/usr/include/glib-2.0/gobject/gobject.h" 1 ># 26 "/usr/include/glib-2.0/gobject/gobject.h" ># 1 "/usr/include/glib-2.0/gobject/gtype.h" 1 ># 27 "/usr/include/glib-2.0/gobject/gobject.h" 2 ># 1 "/usr/include/glib-2.0/gobject/gvalue.h" 1 ># 28 "/usr/include/glib-2.0/gobject/gvalue.h" ># 1 "/usr/include/glib-2.0/gobject/gtype.h" 1 ># 29 "/usr/include/glib-2.0/gobject/gvalue.h" 2 > > ># 41 "/usr/include/glib-2.0/gobject/gvalue.h" >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); > > > > ># 28 "/usr/include/glib-2.0/gobject/gobject.h" 2 ># 1 "/usr/include/glib-2.0/gobject/gparam.h" 1 ># 28 "/usr/include/glib-2.0/gobject/gparam.h" ># 1 "/usr/include/glib-2.0/gobject/gvalue.h" 1 ># 29 "/usr/include/glib-2.0/gobject/gparam.h" 2 > > ># 49 "/usr/include/glib-2.0/gobject/gparam.h" >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_PRIVATE = 1 << 5 >} 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); >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); ># 226 "/usr/include/glib-2.0/gobject/gparam.h" > ># 29 "/usr/include/glib-2.0/gobject/gobject.h" 2 ># 1 "/usr/include/glib-2.0/gobject/gclosure.h" 1 ># 26 "/usr/include/glib-2.0/gobject/gclosure.h" ># 1 "/usr/include/glib-2.0/gobject/gtype.h" 1 ># 27 "/usr/include/glib-2.0/gobject/gclosure.h" 2 > > ># 39 "/usr/include/glib-2.0/gobject/gclosure.h" >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 >{ > guint ref_count : 15; > guint meta_marshal : 1; > guint n_guards : 1; > guint n_fnotifiers : 2; > guint n_inotifiers : 8; > guint in_inotify : 1; > guint floating : 1; > guint derivative_flag : 1; > guint in_marshal : 1; > 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; ># 92 "/usr/include/glib-2.0/gobject/gclosure.h" >}; > > >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); ># 160 "/usr/include/glib-2.0/gobject/gclosure.h" > ># 30 "/usr/include/glib-2.0/gobject/gobject.h" 2 ># 1 "/usr/include/glib-2.0/gobject/gsignal.h" 1 ># 26 "/usr/include/glib-2.0/gobject/gsignal.h" ># 1 "/usr/include/glib-2.0/gobject/gclosure.h" 1 ># 27 "/usr/include/glib-2.0/gobject/gsignal.h" 2 ># 1 "/usr/include/glib-2.0/gobject/gvalue.h" 1 ># 28 "/usr/include/glib-2.0/gobject/gsignal.h" 2 ># 1 "/usr/include/glib-2.0/gobject/gparam.h" 1 ># 29 "/usr/include/glib-2.0/gobject/gsignal.h" 2 ># 1 "/usr/include/glib-2.0/gobject/gmarshal.h" 1 > > > > > > >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); > > ># 30 "/usr/include/glib-2.0/gobject/gsignal.h" 2 > > > > >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, > ...); >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_chain_from_overridden (const GValue *instance_and_params, > GValue *return_value); ># 259 "/usr/include/glib-2.0/gobject/gsignal.h" >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); > > ># 31 "/usr/include/glib-2.0/gobject/gobject.h" 2 > > ># 49 "/usr/include/glib-2.0/gobject/gobject.h" >typedef struct _GObject GObject; >typedef struct _GObjectClass GObjectClass; >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; > > > 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); > > > gpointer pdummy[8]; >}; >struct _GObjectConstructParam >{ > GParamSpec *pspec; > GValue *value; >}; > > > >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); > >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, > ...); >void g_object_get (gpointer object, > const gchar *first_property_name, > ...); >gpointer g_object_connect (gpointer object, > const gchar *signal_spec, > ...); >void g_object_disconnect (gpointer object, > const gchar *signal_spec, > ...); >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); >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); >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); >GObject* 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_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); ># 250 "/usr/include/glib-2.0/gobject/gobject.h" > ># 28 "/usr/include/glib-2.0/glib-object.h" 2 ># 1 "/usr/include/glib-2.0/gobject/gparam.h" 1 ># 29 "/usr/include/glib-2.0/glib-object.h" 2 ># 1 "/usr/include/glib-2.0/gobject/gparamspecs.h" 1 ># 28 "/usr/include/glib-2.0/gobject/gparamspecs.h" ># 1 "/usr/include/glib-2.0/gobject/gvalue.h" 1 ># 29 "/usr/include/glib-2.0/gobject/gparamspecs.h" 2 ># 1 "/usr/include/glib-2.0/gobject/genums.h" 1 ># 30 "/usr/include/glib-2.0/gobject/gparamspecs.h" 2 ># 1 "/usr/include/glib-2.0/gobject/gboxed.h" 1 ># 31 "/usr/include/glib-2.0/gobject/gparamspecs.h" 2 ># 1 "/usr/include/glib-2.0/gobject/gobject.h" 1 ># 32 "/usr/include/glib-2.0/gobject/gparamspecs.h" 2 > > ># 102 "/usr/include/glib-2.0/gobject/gparamspecs.h" >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; > >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; >}; > > >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); ># 422 "/usr/include/glib-2.0/gobject/gparamspecs.h" >extern GType *g_param_spec_types; > > ># 30 "/usr/include/glib-2.0/glib-object.h" 2 ># 1 "/usr/include/glib-2.0/gobject/gsignal.h" 1 ># 31 "/usr/include/glib-2.0/glib-object.h" 2 ># 1 "/usr/include/glib-2.0/gobject/gsourceclosure.h" 1 ># 25 "/usr/include/glib-2.0/gobject/gsourceclosure.h" ># 1 "/usr/include/glib-2.0/gobject/gclosure.h" 1 ># 26 "/usr/include/glib-2.0/gobject/gsourceclosure.h" 2 > > > >void g_source_set_closure (GSource *source, > GClosure *closure); > >GType g_io_channel_get_type (void); >GType g_io_condition_get_type (void); > > > > > ># 32 "/usr/include/glib-2.0/glib-object.h" 2 ># 1 "/usr/include/glib-2.0/gobject/gtype.h" 1 ># 33 "/usr/include/glib-2.0/glib-object.h" 2 ># 1 "/usr/include/glib-2.0/gobject/gtypemodule.h" 1 ># 26 "/usr/include/glib-2.0/gobject/gtypemodule.h" ># 1 "/usr/include/glib-2.0/gobject/gobject.h" 1 ># 27 "/usr/include/glib-2.0/gobject/gtypemodule.h" 2 > > > >typedef struct _GTypeModule GTypeModule; >typedef struct _GTypeModuleClass GTypeModuleClass; ># 40 "/usr/include/glib-2.0/gobject/gtypemodule.h" >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); >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); > > ># 34 "/usr/include/glib-2.0/glib-object.h" 2 ># 1 "/usr/include/glib-2.0/gobject/gtypeplugin.h" 1 ># 26 "/usr/include/glib-2.0/gobject/gtypeplugin.h" ># 1 "/usr/include/glib-2.0/gobject/gtype.h" 1 ># 27 "/usr/include/glib-2.0/gobject/gtypeplugin.h" 2 > > ># 40 "/usr/include/glib-2.0/gobject/gtypeplugin.h" >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); > > ># 35 "/usr/include/glib-2.0/glib-object.h" 2 ># 1 "/usr/include/glib-2.0/gobject/gvalue.h" 1 ># 36 "/usr/include/glib-2.0/glib-object.h" 2 ># 1 "/usr/include/glib-2.0/gobject/gvaluearray.h" 1 ># 28 "/usr/include/glib-2.0/gobject/gvaluearray.h" ># 1 "/usr/include/glib-2.0/gobject/gvalue.h" 1 ># 29 "/usr/include/glib-2.0/gobject/gvaluearray.h" 2 ># 37 "/usr/include/glib-2.0/gobject/gvaluearray.h" >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); ># 37 "/usr/include/glib-2.0/glib-object.h" 2 ># 1 "/usr/include/glib-2.0/gobject/gvaluetypes.h" 1 ># 28 "/usr/include/glib-2.0/gobject/gvaluetypes.h" ># 1 "/usr/include/glib-2.0/gobject/gvalue.h" 1 ># 29 "/usr/include/glib-2.0/gobject/gvaluetypes.h" 2 > > ># 49 "/usr/include/glib-2.0/gobject/gvaluetypes.h" >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_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; > > > ># 38 "/usr/include/glib-2.0/glib-object.h" 2 ># 38 "gimp-composite-sse.c" 2 > ># 1 "../../app/base/base-types.h" 1 ># 23 "../../app/base/base-types.h" ># 1 "../../libgimpbase/gimpbasetypes.h" 1 ># 24 "../../libgimpbase/gimpbasetypes.h" ># 1 "../../libgimpcolor/gimpcolortypes.h" 1 ># 23 "../../libgimpcolor/gimpcolortypes.h" > ># 32 "../../libgimpcolor/gimpcolortypes.h" >typedef struct _GimpRGB GimpRGB; >typedef struct _GimpHSV GimpHSV; >typedef struct _GimpHSL GimpHSL; >typedef struct _GimpCMYK GimpCMYK; > >struct _GimpRGB >{ > gdouble r, g, b, a; >}; > >struct _GimpHSV >{ > gdouble h, s, v, a; >}; > >struct _GimpHSL >{ > gdouble h, s, l, a; >}; > >struct _GimpCMYK >{ > gdouble c, m, y, k, a; >}; > > >typedef void (* GimpRenderFunc) (gdouble x, > gdouble y, > GimpRGB *color, > gpointer data); >typedef void (* GimpPutPixelFunc) (gint x, > gint y, > GimpRGB *color, > gpointer data); >typedef void (* GimpProgressFunc) (gint min, > gint max, > gint current, > gpointer data); > > > ># 25 "../../libgimpbase/gimpbasetypes.h" 2 ># 1 "../../libgimpmath/gimpmathtypes.h" 1 ># 25 "../../libgimpmath/gimpmathtypes.h" > > >typedef struct _GimpMatrix2 GimpMatrix2; >typedef struct _GimpMatrix3 GimpMatrix3; >typedef struct _GimpMatrix4 GimpMatrix4; > >typedef struct _GimpVector2 GimpVector2; >typedef struct _GimpVector3 GimpVector3; >typedef struct _GimpVector4 GimpVector4; > > ># 26 "../../libgimpbase/gimpbasetypes.h" 2 > > > > > > > >typedef struct _GimpParasite GimpParasite; >typedef struct _GimpDatafileData GimpDatafileData; > > >typedef void (* GimpDatafileLoaderFunc) (const GimpDatafileData *file_data, > gpointer user_data); > > >typedef enum >{ > GIMP_UNIT_PIXEL = 0, > > GIMP_UNIT_INCH = 1, > GIMP_UNIT_MM = 2, > GIMP_UNIT_POINT = 3, > GIMP_UNIT_PICA = 4, > > GIMP_UNIT_END = 5, > > GIMP_UNIT_PERCENT = 65536 >} GimpUnit; > >typedef enum >{ > GIMP_PDB_INT32, > GIMP_PDB_INT16, > GIMP_PDB_INT8, > GIMP_PDB_FLOAT, > GIMP_PDB_STRING, > GIMP_PDB_INT32ARRAY, > GIMP_PDB_INT16ARRAY, > GIMP_PDB_INT8ARRAY, > GIMP_PDB_FLOATARRAY, > GIMP_PDB_STRINGARRAY, > GIMP_PDB_COLOR, > GIMP_PDB_REGION, > GIMP_PDB_DISPLAY, > GIMP_PDB_IMAGE, > GIMP_PDB_LAYER, > GIMP_PDB_CHANNEL, > GIMP_PDB_DRAWABLE, > GIMP_PDB_SELECTION, > GIMP_PDB_BOUNDARY, > GIMP_PDB_PATH, > GIMP_PDB_PARASITE, > GIMP_PDB_STATUS, > GIMP_PDB_END >} GimpPDBArgType; > >typedef enum >{ > GIMP_INTERNAL, > GIMP_PLUGIN, > GIMP_EXTENSION, > GIMP_TEMPORARY >} GimpPDBProcType; > >typedef enum >{ > GIMP_PDB_EXECUTION_ERROR, > GIMP_PDB_CALLING_ERROR, > GIMP_PDB_PASS_THROUGH, > GIMP_PDB_SUCCESS, > GIMP_PDB_CANCEL >} GimpPDBStatusType; > >typedef enum >{ > GIMP_MESSAGE_BOX, > GIMP_CONSOLE, > GIMP_ERROR_CONSOLE >} GimpMessageHandlerType; > >typedef enum >{ > GIMP_STACK_TRACE_NEVER, > GIMP_STACK_TRACE_QUERY, > GIMP_STACK_TRACE_ALWAYS >} GimpStackTraceMode; > > > ># 24 "../../app/base/base-types.h" 2 > ># 1 "../../app/paint-funcs/paint-funcs-types.h" 1 ># 23 "../../app/paint-funcs/paint-funcs-types.h" ># 1 "../../app/base/base-types.h" 1 ># 24 "../../app/paint-funcs/paint-funcs-types.h" 2 ># 36 "../../app/paint-funcs/paint-funcs-types.h" >typedef enum >{ > INITIAL_CHANNEL_MASK = 0, > INITIAL_CHANNEL_SELECTION, > INITIAL_INDEXED, > INITIAL_INDEXED_ALPHA, > INITIAL_INTENSITY, > INITIAL_INTENSITY_ALPHA >} InitialMode; > > > > > >typedef enum >{ > NO_COMBINATION = 0, > COMBINE_INDEXED_INDEXED, > COMBINE_INDEXED_INDEXED_A, > COMBINE_INDEXED_A_INDEXED_A, > COMBINE_INTEN_A_INDEXED_A, > COMBINE_INTEN_A_CHANNEL_MASK, > COMBINE_INTEN_A_CHANNEL_SELECTION, > COMBINE_INTEN_INTEN, > COMBINE_INTEN_INTEN_A, > COMBINE_INTEN_A_INTEN, > COMBINE_INTEN_A_INTEN_A, > > > BEHIND_INTEN, > BEHIND_INDEXED, > REPLACE_INTEN, > REPLACE_INDEXED, > ERASE_INTEN, > ERASE_INDEXED, > ANTI_ERASE_INTEN, > ANTI_ERASE_INDEXED, > COLOR_ERASE_INTEN >} CombinationMode; ># 26 "../../app/base/base-types.h" 2 > ># 1 "../../app/base/base-enums.h" 1 ># 40 "../../app/base/base-enums.h" >GType gimp_check_size_get_type (void) __attribute__((__const__)); > >typedef enum >{ > GIMP_SMALL_CHECKS = 0, > GIMP_MEDIUM_CHECKS = 1, > GIMP_LARGE_CHECKS = 2 >} GimpCheckSize; > > > > >GType gimp_check_type_get_type (void) __attribute__((__const__)); > >typedef enum >{ > GIMP_LIGHT_CHECKS = 0, > GIMP_GRAY_CHECKS = 1, > GIMP_DARK_CHECKS = 2, > GIMP_WHITE_ONLY = 3, > GIMP_GRAY_ONLY = 4, > GIMP_BLACK_ONLY = 5 >} GimpCheckType; > > > > >GType gimp_curve_type_get_type (void) __attribute__((__const__)); > >typedef enum >{ > GIMP_CURVE_SMOOTH, > GIMP_CURVE_FREE >} GimpCurveType; > > > > >GType gimp_histogram_channel_get_type (void) __attribute__((__const__)); > >typedef enum >{ > GIMP_HISTOGRAM_VALUE = 0, > GIMP_HISTOGRAM_RED = 1, > GIMP_HISTOGRAM_GREEN = 2, > GIMP_HISTOGRAM_BLUE = 3, > GIMP_HISTOGRAM_ALPHA = 4 >} GimpHistogramChannel; > > > > >GType gimp_interpolation_type_get_type (void) __attribute__((__const__)); > >typedef enum >{ > GIMP_INTERPOLATION_NONE, > GIMP_INTERPOLATION_LINEAR, > GIMP_INTERPOLATION_CUBIC >} GimpInterpolationType; > > > > >GType gimp_layer_mode_effects_get_type (void) __attribute__((__const__)); > >typedef enum >{ > GIMP_NORMAL_MODE, > GIMP_DISSOLVE_MODE, > GIMP_BEHIND_MODE, > GIMP_MULTIPLY_MODE, > GIMP_SCREEN_MODE, > GIMP_OVERLAY_MODE, > GIMP_DIFFERENCE_MODE, > GIMP_ADDITION_MODE, > GIMP_SUBTRACT_MODE, > GIMP_DARKEN_ONLY_MODE, > GIMP_LIGHTEN_ONLY_MODE, > GIMP_HUE_MODE, > GIMP_SATURATION_MODE, > GIMP_COLOR_MODE, > GIMP_VALUE_MODE, > GIMP_DIVIDE_MODE, > GIMP_DODGE_MODE, > GIMP_BURN_MODE, > GIMP_HARDLIGHT_MODE, > GIMP_SOFTLIGHT_MODE, > GIMP_GRAIN_EXTRACT_MODE, > GIMP_GRAIN_MERGE_MODE, > GIMP_COLOR_ERASE_MODE, > GIMP_ERASE_MODE, > GIMP_REPLACE_MODE, > GIMP_ANTI_ERASE_MODE >} GimpLayerModeEffects; > > > > >GType gimp_transfer_mode_get_type (void) __attribute__((__const__)); > >typedef enum >{ > GIMP_SHADOWS, > GIMP_MIDTONES, > GIMP_HIGHLIGHTS >} GimpTransferMode; > > > > > > >typedef enum >{ > GIMP_NORMAL_CONVOL, > GIMP_ABSOLUTE_CONVOL, > GIMP_NEGATIVE_CONVOL >} GimpConvolutionType; > >typedef enum >{ > GIMP_ALL_HUES, > GIMP_RED_HUES, > GIMP_YELLOW_HUES, > GIMP_GREEN_HUES, > GIMP_CYAN_HUES, > GIMP_BLUE_HUES, > GIMP_MAGENTA_HUES >} GimpHueRange; ># 28 "../../app/base/base-types.h" 2 > ># 1 "../../app/config/config-types.h" 1 ># 26 "../../app/config/config-types.h" >typedef struct _GimpConfig GimpConfig; >typedef struct _GimpConfigInterface GimpConfigInterface; > >typedef struct _GimpBaseConfig GimpBaseConfig; >typedef struct _GimpCoreConfig GimpCoreConfig; >typedef struct _GimpDisplayConfig GimpDisplayConfig; >typedef struct _GimpGuiConfig GimpGuiConfig; >typedef struct _GimpPluginConfig GimpPluginConfig; >typedef struct _GimpRc GimpRc; > >typedef struct _GimpConfigWriter GimpConfigWriter; >typedef struct _GimpXmlParser GimpXmlParser; > >typedef struct _GimpDisplayOptions GimpDisplayOptions; >typedef struct _GimpGrid GimpGrid; >typedef struct _GimpTemplate GimpTemplate; ># 30 "../../app/base/base-types.h" 2 ># 48 "../../app/base/base-types.h" >typedef struct _BoundSeg BoundSeg; > >typedef struct _GimpHistogram GimpHistogram; >typedef struct _GimpLut GimpLut; > >typedef struct _ColorBalance ColorBalance; >typedef struct _Colorize Colorize; >typedef struct _Curves Curves; >typedef struct _HueSaturation HueSaturation; >typedef struct _Levels Levels; >typedef struct _Threshold Threshold; > >typedef struct _PixelRegionIterator PixelRegionIterator; >typedef struct _PixelRegion PixelRegion; >typedef struct _PixelRegionHolder PixelRegionHolder; > >typedef struct _TempBuf TempBuf; >typedef struct _TempBuf MaskBuf; > >typedef struct _Tile Tile; >typedef struct _TileManager TileManager; > >typedef struct _PixelDataHandle PixelDataHandle; > > > >typedef void (* TileValidateProc) (TileManager *tm, > Tile *tile); ># 40 "gimp-composite-sse.c" 2 ># 1 "../../app/base/cpu-accel.h" 1 ># 41 "../../app/base/cpu-accel.h" >guint32 cpu_accel (void) __attribute__((__const__)); > >void cpu_accel_print_results (void); ># 41 "gimp-composite-sse.c" 2 > ># 1 "gimp-composite.h" 1 ># 26 "gimp-composite.h" >typedef enum >{ > GIMP_PIXELFORMAT_V8, > GIMP_PIXELFORMAT_VA8, > GIMP_PIXELFORMAT_RGB8, > GIMP_PIXELFORMAT_RGBA8, > GIMP_PIXELFORMAT_ANY, > GIMP_PIXELFORMAT_N >} GimpPixelFormat; ># 55 "gimp-composite.h" >extern const guchar gimp_composite_pixel_bpp[]; > > >extern const guchar gimp_composite_pixel_alphap[]; > > >extern const GimpPixelFormat gimp_composite_pixel_alpha[]; ># 75 "gimp-composite.h" >typedef enum >{ > GIMP_COMPOSITE_NORMAL = GIMP_NORMAL_MODE, > GIMP_COMPOSITE_DISSOLVE = GIMP_DISSOLVE_MODE, > GIMP_COMPOSITE_BEHIND = GIMP_BEHIND_MODE, > GIMP_COMPOSITE_MULTIPLY = GIMP_MULTIPLY_MODE, > GIMP_COMPOSITE_SCREEN = GIMP_SCREEN_MODE, > GIMP_COMPOSITE_OVERLAY = GIMP_OVERLAY_MODE, > GIMP_COMPOSITE_DIFFERENCE = GIMP_DIFFERENCE_MODE, > GIMP_COMPOSITE_ADDITION = GIMP_ADDITION_MODE, > GIMP_COMPOSITE_SUBTRACT = GIMP_SUBTRACT_MODE, > GIMP_COMPOSITE_DARKEN = GIMP_DARKEN_ONLY_MODE, > GIMP_COMPOSITE_LIGHTEN = GIMP_LIGHTEN_ONLY_MODE, > GIMP_COMPOSITE_HUE = GIMP_HUE_MODE, > GIMP_COMPOSITE_SATURATION = GIMP_SATURATION_MODE, > GIMP_COMPOSITE_COLOR_ONLY = GIMP_COLOR_MODE, > GIMP_COMPOSITE_VALUE = GIMP_VALUE_MODE, > GIMP_COMPOSITE_DIVIDE = GIMP_DIVIDE_MODE, > GIMP_COMPOSITE_DODGE = GIMP_DODGE_MODE, > GIMP_COMPOSITE_BURN = GIMP_BURN_MODE, > GIMP_COMPOSITE_HARDLIGHT = GIMP_HARDLIGHT_MODE, > GIMP_COMPOSITE_SOFTLIGHT = GIMP_SOFTLIGHT_MODE, > GIMP_COMPOSITE_GRAIN_EXTRACT = GIMP_GRAIN_EXTRACT_MODE, > GIMP_COMPOSITE_GRAIN_MERGE = GIMP_GRAIN_MERGE_MODE, > GIMP_COMPOSITE_COLOR_ERASE = GIMP_COLOR_ERASE_MODE, > GIMP_COMPOSITE_ERASE = GIMP_ERASE_MODE, > GIMP_COMPOSITE_REPLACE = GIMP_REPLACE_MODE, > GIMP_COMPOSITE_ANTI_ERASE = GIMP_ANTI_ERASE_MODE, > GIMP_COMPOSITE_BLEND, > GIMP_COMPOSITE_SHADE, > GIMP_COMPOSITE_SWAP, > GIMP_COMPOSITE_SCALE, > GIMP_COMPOSITE_CONVERT, > GIMP_COMPOSITE_XOR, > GIMP_COMPOSITE_N >} GimpCompositeOperation; > >struct GimpCompositeOperationEffects >{ > guchar affect_opacity; > guchar increase_opacity; > guchar decrease_opacity; >}; > >extern struct GimpCompositeOperationEffects gimp_composite_operation_effects[]; > > > > > >typedef struct >{ > guchar *A; > guchar *B; > guchar *D; > guchar *M; > gulong n_pixels; > > GimpPixelFormat pixelformat_A; > GimpPixelFormat pixelformat_B; > GimpPixelFormat pixelformat_D; > GimpPixelFormat pixelformat_M; > > struct { gint opacity; gchar affect; } replace; > struct { gint scale; } scale; > struct { gint blend; } blend; > struct { gint x; gint y; gint opacity; } dissolve; > > CombinationMode combine; > GimpCompositeOperation op; >} GimpCompositeContext; > > >struct GimpCompositeOptions >{ > gulong bits; >}; > > > > > > >extern struct GimpCompositeOptions gimp_composite_options; > >extern void gimp_composite_init (gboolean use_cpu_accel); >extern void gimp_composite_dispatch (GimpCompositeContext *ctx); > >extern void gimp_composite_context_print (GimpCompositeContext *ctx); >extern const gchar * gimp_composite_mode_astext (GimpCompositeOperation op); >extern const gchar * gimp_composite_pixelformat_astext (GimpPixelFormat format); > >extern gchar *gimp_composite_function_name[GIMP_COMPOSITE_N][GIMP_PIXELFORMAT_N][GIMP_PIXELFORMAT_N][GIMP_PIXELFORMAT_N]; >extern void (*gimp_composite_function[GIMP_COMPOSITE_N][GIMP_PIXELFORMAT_N][GIMP_PIXELFORMAT_N][GIMP_PIXELFORMAT_N])(GimpCompositeContext *); ># 43 "gimp-composite-sse.c" 2 ># 1 "gimp-composite-sse.h" 1 > > > >extern gboolean gimp_composite_sse_init (void); > > > > > >extern gboolean gimp_composite_sse_install (void); > > > > > > > >extern void gimp_composite_addition_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx); >extern void gimp_composite_burn_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx); >extern void gimp_composite_coloronly_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx); >extern void gimp_composite_darken_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx); >extern void gimp_composite_difference_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx); >extern void gimp_composite_dissolve_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx); >extern void gimp_composite_divide_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx); >extern void gimp_composite_dodge_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx); >extern void gimp_composite_grain_extract_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx); >extern void gimp_composite_grain_merge_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx); >extern void gimp_composite_hardlight_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx); >extern void gimp_composite_hueonly_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx); >extern void gimp_composite_lighten_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx); >extern void gimp_composite_multiply_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx); >extern void gimp_composite_overlay_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx); >extern void gimp_composite_replace_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx); >extern void gimp_composite_saturationonly_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx); >extern void gimp_composite_screen_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx); >extern void gimp_composite_softlight_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx); >extern void gimp_composite_subtract_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx); >extern void gimp_composite_swap_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx); >extern void gimp_composite_valueonly_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx); >extern void gimp_composite_scale_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx); ># 44 "gimp-composite-sse.c" 2 ># 1 "gimp-composite-x86.h" 1 ># 45 "gimp-composite-sse.c" 2 ># 142 "gimp-composite-sse.c" >static const guint32 rgba8_alpha_mask_64[2] = { 0xFF000000, 0xFF000000 }; >static const guint32 rgba8_b1_64[2] = { 0x01010101, 0x01010101 }; >static const guint32 rgba8_b255_64[2] = { 0xFFFFFFFF, 0xFFFFFFFF }; >static const guint32 rgba8_w1_64[2] = { 0x00010001, 0x00010001 }; >static const guint32 rgba8_w2_64[2] = { 0x00020002, 0x00020002 }; >static const guint32 rgba8_w128_64[2] = { 0x00800080, 0x00800080 }; >static const guint32 rgba8_w256_64[2] = { 0x01000100, 0x01000100 }; >static const guint32 rgba8_w255_64[2] = { 0X00FF00FF, 0X00FF00FF }; > >static const guint32 va8_alpha_mask[2] = { 0xFF00FF00, 0xFF00FF00 }; >static const guint32 va8_b255[2] = { 0xFFFFFFFF, 0xFFFFFFFF }; >static const guint32 va8_w1[2] = { 0x00010001, 0x00010001 }; >static const guint32 va8_w255[2] = { 0x00FF00FF, 0x00FF00FF }; > > > > >void >gimp_composite_addition_rgba8_rgba8_rgba8_sse (GimpCompositeContext *_op) >{ > GimpCompositeContext op = *_op; > > asm volatile ("movq %0,%%mm0" > : > : "m" (*rgba8_alpha_mask_64) > : "%mm0"); > > for (; op.n_pixels >= 2; op.n_pixels -= 2) > { > asm (" movq %1, %%mm2\n" > "\tmovq %2, %%mm3\n" > "\tmovq %%mm2, %%mm4\n" > "\tpaddusb %%mm3, %%mm4\n" > "\tmovq %%mm0, %%mm1\n" > "\tpandn %%mm4, %%mm1\n" > "\tpminub %%mm3, %%mm2\n" > "\tpand %%mm0, %%mm2\n" > "\tpor %%mm2, %%mm1\n" > "\tmovq %%mm1, %0\n" > : "=m" (*op.D) > : "m" (*op.A), "m" (*op.B) > : "%mm0", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5", "%mm6", "%mm7"); > op.A += 8; > op.B += 8; > op.D += 8; > } > > if (op.n_pixels) > { > asm volatile (" movd %1, %%mm2\n" > "\tmovd %2, %%mm3\n" > "\tmovq %%mm2, %%mm4\n" > "\tpaddusb %%mm3, %%mm4\n" > "\tmovq %%mm0, %%mm1\n" > "\tpandn %%mm4, %%mm1\n" > "\tpminub %%mm3, %%mm2\n" > "\tpand %%mm0, %%mm2\n" > "\tpor %%mm2, %%mm1\n" > "\tmovd %%mm1, %0\n" > : "=m" (*op.D) > : "m" (*op.A), "m" (*op.B) > : "%mm0", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5", "%mm6", "%mm7"); > } > > asm("emms"); >} > > >void >gimp_composite_burn_rgba8_rgba8_rgba8_sse (GimpCompositeContext *_op) >{ > GimpCompositeContext op = *_op; > > for (; op.n_pixels >= 2; op.n_pixels -= 2) > { > asm (" movq %1,%%mm0\n" > "\tmovq %2,%%mm1\n" > > "\tmovq %3,%%mm2\n" > "\tpsubb %%mm0,%%mm2\n" > "\tpxor %%mm4,%%mm4\n" > "\tpunpcklbw %%mm2,%%mm4\n" > > "\tmovq %%mm1,%%mm3\n" > "\tpxor %%mm5,%%mm5\n" > "\tpunpcklbw %%mm5,%%mm3\n" > "\tmovq %4,%%mm5\n" > "\tpaddusw %%mm3,%%mm5\n" > > "\t" "movd %%" "mm4" ",%%eax; " "movd %%" "mm5" ",%%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "roll $16, %%eax; " "roll $16, %%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "roll $16, %%eax; " "movd %%eax,%%" "mm7" "; " "psrlq $32,%%" "mm4" ";" "psrlq $32,%%" "mm5" ";" "movd %%" "mm4" ",%%eax; " "movd %%" "mm5" ",%%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "roll $16, %%eax; " "roll $16, %%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "roll $16, %%eax; " "movd %%eax,%%" "mm5" ";" "psllq $32,%%" "mm5" ";" "por %%" "mm5" ",%%" "mm7" ";" "\n" > > "\tmovq %3,%%mm2\n" > "\tpsubb %%mm0,%%mm2\n" > "\tpxor %%mm4,%%mm4\n" > "\tpunpckhbw %%mm2,%%mm4\n" > > "\tmovq %%mm1,%%mm3\n" > "\tpxor %%mm5,%%mm5\n" > "\tpunpckhbw %%mm5,%%mm3\n" > "\tmovq %4,%%mm5\n" > "\tpaddusw %%mm3,%%mm5\n" > "\t" "movd %%" "mm4" ",%%eax; " "movd %%" "mm5" ",%%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "roll $16, %%eax; " "roll $16, %%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "roll $16, %%eax; " "movd %%eax,%%" "mm6" "; " "psrlq $32,%%" "mm4" ";" "psrlq $32,%%" "mm5" ";" "movd %%" "mm4" ",%%eax; " "movd %%" "mm5" ",%%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "roll $16, %%eax; " "roll $16, %%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "roll $16, %%eax; " "movd %%eax,%%" "mm5" ";" "psllq $32,%%" "mm5" ";" "por %%" "mm5" ",%%" "mm6" ";" "\n" > > "\tmovq %5,%%mm4\n" > "\tmovq %%mm4,%%mm5\n" > "\tpsubusw %%mm6,%%mm4\n" > "\tpsubusw %%mm7,%%mm5\n" > > "\tpackuswb %%mm4,%%mm5\n" > > "\tpminub %%mm0,%%mm1\n" > > "\tmovq %6,%%mm7\n" > "\tpand %%mm7,%%mm1\n" > > "\tpandn %%mm5,%%mm7\n" > "\tpor %%mm1,%%mm7\n" > > "\tmovq %%mm7,%0\n" > : "=m" (*op.D) > : "m" (*op.A), "m" (*op.B), "m" (*rgba8_b255_64), "m" (*rgba8_w1_64), "m" (*rgba8_w255_64), "m" (*rgba8_alpha_mask_64) > : "0", "1", "2", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5", "%mm6", "%mm7"); > op.A += 8; > op.B += 8; > op.D += 8; > } > > if (op.n_pixels) > { > asm volatile (" movd %1,%%mm0\n" > "\tmovd %2,%%mm1\n" > > "\tmovq %3,%%mm2\n" > "\tpsubb %%mm0,%%mm2\n" > "\tpxor %%mm4,%%mm4\n" > "\tpunpcklbw %%mm2,%%mm4\n" > > "\tmovq %%mm1,%%mm3\n" > "\tpxor %%mm5,%%mm5\n" > "\tpunpcklbw %%mm5,%%mm3\n" > "\tmovq %4,%%mm5\n" > "\tpaddusw %%mm3,%%mm5\n" > > "\t" "movd %%" "mm4" ",%%eax; " "movd %%" "mm5" ",%%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "roll $16, %%eax; " "roll $16, %%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "roll $16, %%eax; " "movd %%eax,%%" "mm7" "; " "psrlq $32,%%" "mm4" ";" "psrlq $32,%%" "mm5" ";" "movd %%" "mm4" ",%%eax; " "movd %%" "mm5" ",%%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "roll $16, %%eax; " "roll $16, %%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "roll $16, %%eax; " "movd %%eax,%%" "mm5" ";" "psllq $32,%%" "mm5" ";" "por %%" "mm5" ",%%" "mm7" ";" "\n" > > "\tmovq %3,%%mm2\n" > "\tpsubb %%mm0,%%mm2\n" > "\tpxor %%mm4,%%mm4\n" > "\tpunpckhbw %%mm2,%%mm4\n" > > "\tmovq %%mm1,%%mm3\n" > "\tpxor %%mm5,%%mm5\n" > "\tpunpckhbw %%mm5,%%mm3\n" > "\tmovq %4,%%mm5\n" > "\tpaddusw %%mm3,%%mm5\n" > "\t" "movd %%" "mm4" ",%%eax; " "movd %%" "mm5" ",%%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "roll $16, %%eax; " "roll $16, %%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "roll $16, %%eax; " "movd %%eax,%%" "mm6" "; " "psrlq $32,%%" "mm4" ";" "psrlq $32,%%" "mm5" ";" "movd %%" "mm4" ",%%eax; " "movd %%" "mm5" ",%%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "roll $16, %%eax; " "roll $16, %%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "roll $16, %%eax; " "movd %%eax,%%" "mm5" ";" "psllq $32,%%" "mm5" ";" "por %%" "mm5" ",%%" "mm6" ";" "\n" > > "\tmovq %5,%%mm4\n" > "\tmovq %%mm4,%%mm5\n" > "\tpsubusw %%mm6,%%mm4\n" > "\tpsubusw %%mm7,%%mm5\n" > > "\tpackuswb %%mm4,%%mm5\n" > > "\tpminub %%mm0,%%mm1\n" > > "\tmovq %6,%%mm7\n" > "\tpand %%mm7,%%mm1\n" > > "\tpandn %%mm5,%%mm7\n" > "\tpor %%mm1,%%mm7\n" > > "\tmovd %%mm7,%0\n" > : "=m" (*op.D) > : "m" (*op.A), "m" (*op.B), "m" (*rgba8_b255_64), "m" (*rgba8_w1_64), "m" (*rgba8_w255_64), "m" (*rgba8_alpha_mask_64) > : "0", "1", "2", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5", "%mm6", "%mm7"); > } > > asm("emms"); >} > > >void >gimp_composite_darken_rgba8_rgba8_rgba8_sse (GimpCompositeContext *_op) >{ > GimpCompositeContext op = *_op; > > for (; op.n_pixels >= 2; op.n_pixels -= 2) > { > asm volatile (" movq %1, %%mm2\n" > "\tpminub %2, %%mm2\n" > "\tmovq %%mm2, %0\n" > : "=m" (*op.D) > : "m" (*op.A), "m" (*op.B) > : "%mm1", "%mm2", "%mm3", "%mm4"); > op.A += 8; > op.B += 8; > op.D += 8; > } > > if (op.n_pixels) > { > asm volatile (" movd %1, %%mm2\n" > "\tmovd %2, %%mm3\n" > "\tpminub %%mm3, %%mm2\n" > "\tmovd %%mm2, %0\n" > : "=m" (*op.D) > : "m" (*op.A), "m" (*op.B) > : "%mm2", "%mm3", "%mm4"); > } > > asm("emms"); >} > >void >gimp_composite_difference_rgba8_rgba8_rgba8_sse (GimpCompositeContext *_op) >{ > GimpCompositeContext op = *_op; > > asm volatile ("movq %0,%%mm0" : : "m" (*rgba8_alpha_mask_64) : "%mm0"); > > for (; op.n_pixels >= 2; op.n_pixels -= 2) > { > asm volatile (" movq %1, %%mm2\n" > "\tmovq %2, %%mm3\n" > "\tmovq %%mm2, %%mm4\n" > "\tmovq %%mm3, %%mm5\n" > "\tpsubusb %%mm3, %%mm4\n" > "\tpsubusb %%mm2, %%mm5\n" > "\tpaddb %%mm5, %%mm4\n" > "\tmovq %%mm0, %%mm1\n" > "\tpandn %%mm4, %%mm1\n" > "\tpminub %%mm3, %%mm2\n" > "\tpand %%mm0, %%mm2\n" > "\tpor %%mm2, %%mm1\n" > "\tmovq %%mm1, %0\n" > : "=m" (*op.D) > : "m" (*op.A), "m" (*op.B) > : "%mm1", "%mm2", "%mm3", "%mm4"); > op.A += 8; > op.B += 8; > op.D += 8; > } > > if (op.n_pixels) > { > asm volatile (" movd %1, %%mm2\n" > "\tmovd %2, %%mm3\n" > "\tmovq %%mm2, %%mm4\n" > "\tmovq %%mm3, %%mm5\n" > "\tpsubusb %%mm3, %%mm4\n" > "\tpsubusb %%mm2, %%mm5\n" > "\tpaddb %%mm5, %%mm4\n" > "\tmovq %%mm0, %%mm1\n" > "\tpandn %%mm4, %%mm1\n" > "\tpminub %%mm3, %%mm2\n" > "\tpand %%mm0, %%mm2\n" > "\tpor %%mm2, %%mm1\n" > "\tmovd %%mm1, %0\n" > : "=m" (*op.D) > : "m" (*op.A), "m" (*op.B), "m" (*op.D) > : "%mm1", "%mm2", "%mm3", "%mm4"); > } > > asm("emms"); >} > >void >xxxgimp_composite_divide_rgba8_rgba8_rgba8_sse (GimpCompositeContext *_op) >{ > GimpCompositeContext op = *_op; > > asm volatile (" movq %0, %%mm0\n" > "\tmovq %1, %%mm7\n" > : > : "m" (*rgba8_alpha_mask_64), "m" (*rgba8_w1_64) > : "%mm0", "%mm7"); > > for (; op.n_pixels >= 2; op.n_pixels -= 2) > { > asm volatile (" movq %0,%%mm0\n" > "\tmovq %1,%%mm1\n" > "\tpxor %%mm2,%%mm2\n" > "\tpunpcklbw %%mm0,%%mm2\n" > > "\tmovq %%mm1,%%mm3\n" > "\tpxor %%mm5,%%mm5\n" > "\tpunpcklbw %%mm5,%%mm3\n" > "\tpaddw %%mm7,%%mm3\n" > > "\t" "movd %%" "mm2" ",%%eax; " "movd %%" "mm3" ",%%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "roll $16, %%eax; " "roll $16, %%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "btr $15, %%eax; " "roll $16, %%eax; " "btr $15, %%eax; " "movd %%eax,%%" "mm5" ";" "psrlq $32,%%" "mm2" ";" "psrlq $32,%%" "mm3" ";" "movd %%" "mm2" ",%%eax; " "movd %%" "mm3" ",%%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "roll $16, %%eax; " "roll $16, %%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "btr $15, %%eax; " "roll $16, %%eax; " "btr $15, %%eax; " "movd %%eax,%%" "mm5" ";" "movd %%eax,%%" "mm3" ";" "psllq $32,%%" "mm3" ";" "por %%" "mm3" ",%%" "mm5" ";" "\n" > > "\tpxor %%mm2,%%mm2\n" > "\tpunpckhbw %%mm0,%%mm2\n" > > "\tmovq %%mm1,%%mm3\n" > "\tpxor %%mm6,%%mm6\n" > "\tpunpckhbw %%mm6,%%mm3\n" > "\tpaddw %%mm7,%%mm3\n" > > "\t" "movd %%" "mm2" ",%%eax; " "movd %%" "mm3" ",%%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "roll $16, %%eax; " "roll $16, %%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "btr $15, %%eax; " "roll $16, %%eax; " "btr $15, %%eax; " "movd %%eax,%%" "mm4" ";" "psrlq $32,%%" "mm2" ";" "psrlq $32,%%" "mm3" ";" "movd %%" "mm2" ",%%eax; " "movd %%" "mm3" ",%%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "roll $16, %%eax; " "roll $16, %%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "btr $15, %%eax; " "roll $16, %%eax; " "btr $15, %%eax; " "movd %%eax,%%" "mm4" ";" "movd %%eax,%%" "mm3" ";" "psllq $32,%%" "mm3" ";" "por %%" "mm3" ",%%" "mm4" ";" "\n" > > "\tpackuswb %%mm4,%%mm5\n" > > "\tpminub %%mm0,%%mm1\n" > "\tmovq %3,%%mm3\n" > "\tmovq %%mm3,%%mm2\n" > > "\tpandn %%mm5,%%mm3\n" > > "\tpand %%mm2,%%mm1\n" > "\tpor %%mm1,%%mm3\n" > > "\tmovq %%mm3,%2\n" > : > : "m" (*op.A), "m" (*op.B), "m" (*op.D), "m" (*rgba8_alpha_mask_64) > : "%eax", "%ecx", "%edx", "0", "1", "2", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5"); > op.A += 8; > op.B += 8; > op.D += 8; > } > > if (op.n_pixels) > { > asm volatile (" movd %0,%%mm0\n" > "\tmovd %1,%%mm1\n" > > "\tpxor %%mm2,%%mm2\n" > "\tpunpcklbw %%mm0,%%mm2\n" > > "\tmovq %%mm1,%%mm3\n" > "\tpxor %%mm5,%%mm5\n" > "\tpunpcklbw %%mm5,%%mm3\n" > "\tpaddw %%mm7,%%mm3\n" > > "\t" "movd %%" "mm2" ",%%eax; " "movd %%" "mm3" ",%%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "roll $16, %%eax; " "roll $16, %%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "btr $15, %%eax; " "roll $16, %%eax; " "btr $15, %%eax; " "movd %%eax,%%" "mm5" ";" "psrlq $32,%%" "mm2" ";" "psrlq $32,%%" "mm3" ";" "movd %%" "mm2" ",%%eax; " "movd %%" "mm3" ",%%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "roll $16, %%eax; " "roll $16, %%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "btr $15, %%eax; " "roll $16, %%eax; " "btr $15, %%eax; " "movd %%eax,%%" "mm5" ";" "movd %%eax,%%" "mm3" ";" "psllq $32,%%" "mm3" ";" "por %%" "mm3" ",%%" "mm5" ";" "\n" > > "\tpxor %%mm2,%%mm2\n" > "\tpunpckhbw %%mm0,%%mm2\n" > > "\tmovq %%mm1,%%mm3\n" > "\tpxor %%mm6,%%mm6\n" > "\tpunpckhbw %%mm6,%%mm3\n" > "\tpaddw %%mm7,%%mm3\n" > > "\t" "movd %%" "mm2" ",%%eax; " "movd %%" "mm3" ",%%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "roll $16, %%eax; " "roll $16, %%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "btr $15, %%eax; " "roll $16, %%eax; " "btr $15, %%eax; " "movd %%eax,%%" "mm4" ";" "psrlq $32,%%" "mm2" ";" "psrlq $32,%%" "mm3" ";" "movd %%" "mm2" ",%%eax; " "movd %%" "mm3" ",%%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "roll $16, %%eax; " "roll $16, %%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "btr $15, %%eax; " "roll $16, %%eax; " "btr $15, %%eax; " "movd %%eax,%%" "mm4" ";" "movd %%eax,%%" "mm3" ";" "psllq $32,%%" "mm3" ";" "por %%" "mm3" ",%%" "mm4" ";" "\n" > > "\tpackuswb %%mm4,%%mm5\n" > > "\tpminub %%mm0,%%mm1\n" > "\tmovq %3,%%mm3\n" > "\tmovq %%mm3,%%mm2\n" > > "\tpandn %%mm5,%%mm3\n" > > "\tpand %%mm2,%%mm1\n" > "\tpor %%mm1,%%mm3\n" > > "\tmovd %%mm3,%2\n" > : > : "m" (*op.A), "m" (*op.B), "m" (*op.D), "m" (*rgba8_alpha_mask_64) > : "%eax", "%ecx", "%edx", "0", "1", "2", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5"); > } > > asm("emms"); >} > >void >xxxgimp_composite_dodge_rgba8_rgba8_rgba8_sse (GimpCompositeContext *_op) >{ > GimpCompositeContext op = *_op; > > for (; op.n_pixels >= 2; op.n_pixels -= 2) > { > asm volatile (" movq %0,%%mm0\n" > "\tmovq %1,%%mm1\n" > "\tmovq %%mm1,%%mm3\n" > "\tpxor %%mm2,%%mm2\n" > "\tpunpcklbw %%mm2,%%mm3\n" > "\tpunpcklbw %%mm0,%%mm2\n" > > "\tmovq %3,%%mm4\n" > "\tpsubw %%mm3,%%mm4\n" > > "\t" "movd %%" "mm2" ",%%eax; " "movd %%" "mm4" ",%%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "roll $16, %%eax; " "roll $16, %%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "btr $15, %%eax; " "roll $16, %%eax; " "btr $15, %%eax; " "movd %%eax,%%" "mm5" ";" "psrlq $32,%%" "mm2" ";" "psrlq $32,%%" "mm4" ";" "movd %%" "mm2" ",%%eax; " "movd %%" "mm4" ",%%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "roll $16, %%eax; " "roll $16, %%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "btr $15, %%eax; " "roll $16, %%eax; " "btr $15, %%eax; " "movd %%eax,%%" "mm5" ";" "movd %%eax,%%" "mm4" ";" "psllq $32,%%" "mm4" ";" "por %%" "mm4" ",%%" "mm5" ";" "\n" > > "\tmovq %%mm1,%%mm3\n" > "\tpxor %%mm2,%%mm2\n" > "\tpunpckhbw %%mm2,%%mm3\n" > "\tpunpckhbw %%mm0,%%mm2\n" > > "\tmovq %3,%%mm4\n" > "\tpsubw %%mm3,%%mm4\n" > > "\t" "movd %%" "mm2" ",%%eax; " "movd %%" "mm4" ",%%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "roll $16, %%eax; " "roll $16, %%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "btr $15, %%eax; " "roll $16, %%eax; " "btr $15, %%eax; " "movd %%eax,%%" "mm6" ";" "psrlq $32,%%" "mm2" ";" "psrlq $32,%%" "mm4" ";" "movd %%" "mm2" ",%%eax; " "movd %%" "mm4" ",%%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "roll $16, %%eax; " "roll $16, %%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "btr $15, %%eax; " "roll $16, %%eax; " "btr $15, %%eax; " "movd %%eax,%%" "mm6" ";" "movd %%eax,%%" "mm4" ";" "psllq $32,%%" "mm4" ";" "por %%" "mm4" ",%%" "mm6" ";" "\n" > > "\tpackuswb %%mm6,%%mm5\n" > > "\tmovq %4,%%mm6\n" > "\tmovq %%mm1,%%mm7\n" > "\t" "pminub " "%%" "mm0" ", %%" "mm7" "\n" > "\tpand %%mm6,%%mm7\n" > "\tpandn %%mm5,%%mm6\n" > > "\tpor %%mm6,%%mm7\n" > > "\tmovq %%mm7,%2\n" > : > : "m" (*op.A), "m" (*op.B), "m" (*op.D), "m" (*rgba8_w256_64), "m" (*rgba8_alpha_mask_64) > : "0", "1", "2", "%eax", "%ecx", "%edx", "%mm0", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5", "%mm6", "%mm7"); > op.A += 8; > op.B += 8; > op.D += 8; > } > > if (op.n_pixels) > { > asm volatile (" movd %0,%%mm0\n" > "\tmovq %1,%%mm1\n" > "\tmovq %%mm1,%%mm3\n" > "\tpxor %%mm2,%%mm2\n" > "\tpunpcklbw %%mm2,%%mm3\n" > "\tpunpcklbw %%mm0,%%mm2\n" > > "\tmovq %3,%%mm4\n" > "\tpsubw %%mm3,%%mm4\n" > > "\t" "movd %%" "mm2" ",%%eax; " "movd %%" "mm4" ",%%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "roll $16, %%eax; " "roll $16, %%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "btr $15, %%eax; " "roll $16, %%eax; " "btr $15, %%eax; " "movd %%eax,%%" "mm5" ";" "psrlq $32,%%" "mm2" ";" "psrlq $32,%%" "mm4" ";" "movd %%" "mm2" ",%%eax; " "movd %%" "mm4" ",%%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "roll $16, %%eax; " "roll $16, %%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "btr $15, %%eax; " "roll $16, %%eax; " "btr $15, %%eax; " "movd %%eax,%%" "mm5" ";" "movd %%eax,%%" "mm4" ";" "psllq $32,%%" "mm4" ";" "por %%" "mm4" ",%%" "mm5" ";" "\n" > > "\tmovq %%mm1,%%mm3\n" > "\tpxor %%mm2,%%mm2\n" > "\tpunpckhbw %%mm2,%%mm3\n" > "\tpunpckhbw %%mm0,%%mm2\n" > > "\tmovq %3,%%mm4\n" > "\tpsubw %%mm3,%%mm4\n" > > "\t" "movd %%" "mm2" ",%%eax; " "movd %%" "mm4" ",%%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "roll $16, %%eax; " "roll $16, %%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "btr $15, %%eax; " "roll $16, %%eax; " "btr $15, %%eax; " "movd %%eax,%%" "mm6" ";" "psrlq $32,%%" "mm2" ";" "psrlq $32,%%" "mm4" ";" "movd %%" "mm2" ",%%eax; " "movd %%" "mm4" ",%%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "roll $16, %%eax; " "roll $16, %%ecx; " "xorl %%edx,%%edx; " "divw %%cx; " "btr $15, %%eax; " "roll $16, %%eax; " "btr $15, %%eax; " "movd %%eax,%%" "mm6" ";" "movd %%eax,%%" "mm4" ";" "psllq $32,%%" "mm4" ";" "por %%" "mm4" ",%%" "mm6" ";" "\n" > > "\tpackuswb %%mm6,%%mm5\n" > > "\tmovq %4,%%mm6\n" > "\tmovq %%mm1,%%mm7\n" > "\tpminub %%mm0,%%mm7\n" > "\tpand %%mm6,%%mm7\n" > "\tpandn %%mm5,%%mm6\n" > > "\tpor %%mm6,%%mm7\n" > > "\tmovd %%mm7,%2\n" > : > : "m" (*op.A), "m" (*op.B), "m" (*op.D), "m" (*rgba8_w256_64), "m" (*rgba8_alpha_mask_64) > : "0", "1", "2", "%eax", "%ecx", "%edx", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5"); > } > > asm("emms"); >} > >void >gimp_composite_grain_extract_rgba8_rgba8_rgba8_sse (GimpCompositeContext *_op) >{ > GimpCompositeContext op = *_op; > > asm volatile (" movq %0,%%mm0\n" > "\tpxor %%mm6,%%mm6\n" > "\tmovq %1,%%mm7\n" > : > : "m" (*rgba8_alpha_mask_64), "m" (*rgba8_w128_64) > : "%mm0", "%mm6", "%mm7"); > > > for (; op.n_pixels >= 2; op.n_pixels -= 2) > { > asm volatile (" movq %1,%%mm2\n" > "\tmovq %2,%%mm3\n" > "\tmovq %%""mm2"", %%""mm4""; " "\tpunpcklbw %%""mm6"", %%""mm4""\n" > "\tmovq %%""mm3"", %%""mm5""; " "\tpunpcklbw %%""mm6"", %%""mm5""\n" > "\tpsubw %%mm5,%%mm4\n" > "\tpaddw %%mm7,%%mm4\n" > "\tmovq %%mm4,%%mm1\n" > > "\tmovq %%""mm2"", %%""mm4""; " "\tpunpckhbw %%""mm6"", %%""mm4""\n" > "\tmovq %%""mm3"", %%""mm5""; " "\tpunpckhbw %%""mm6"", %%""mm5""\n" > > "\tpsubw %%mm5,%%mm4\n" > "\tpaddw %%mm7,%%mm4\n" > > "\tpackuswb %%mm4,%%mm1\n" > "\tmovq %%mm1,%%mm4\n" > > "\tmovq %%mm0,%%mm1\n" > "\tpandn %%mm4,%%mm1\n" > > "\tpminub %%mm3,%%mm2\n" > "\tpand %%mm0,%%mm2\n" > > "\tpor %%mm2,%%mm1\n" > "\tmovq %%mm1,%0\n" > : "+m" (*op.D) > : "m" (*op.A), "m" (*op.B) > : "%mm1", "%mm2", "%mm3", "%mm4"); > op.A += 8; > op.B += 8; > op.D += 8; > } > > if (op.n_pixels) > { > asm volatile (" movd %1, %%mm2\n" > "\tmovd %2, %%mm3\n" > > "\tmovq %%""mm2"", %%""mm4""; " "\tpunpcklbw %%""mm6"", %%""mm4""\n" > "\tmovq %%""mm3"", %%""mm5""; " "\tpunpcklbw %%""mm6"", %%""mm5""\n" > > "\tpsubw %%mm5, %%mm4\n" > "\tpaddw %%mm7, %%mm4\n" > "\tmovq %%mm4, %%mm1\n" > > "\tpackuswb %%mm6, %%mm1\n" > > "\tmovq %%mm1, %%mm4\n" > > "\tmovq %%mm0, %%mm1\n" > "\tpandn %%mm4, %%mm1\n" > > "\tpminub %%mm3, %%mm2\n" > "\tpand %%mm0, %%mm2\n" > > "\tpor %%mm2, %%mm1\n" > "\tmovd %%mm1, %0\n" > : "+m" (*op.D) > : "m" (*op.A), "m" (*op.B) > : "%mm1", "%mm2", "%mm3", "%mm4"); > } > > asm("emms"); >} > >void >gimp_composite_grain_merge_rgba8_rgba8_rgba8_sse (GimpCompositeContext *_op) >{ > GimpCompositeContext op = *_op; > > asm volatile ("movq %0, %%mm0\n" > "pxor %%mm6, %%mm6\n" > "movq %1, %%mm7\n" > : > : "m" (*rgba8_alpha_mask_64), "m" (*rgba8_w128_64) > : "%mm0", "%mm6", "%mm7"); > > for (; op.n_pixels >= 2; op.n_pixels -= 2) > { > asm volatile (" movq %1, %%mm2\n" > "\tmovq %2, %%mm3\n" > > "\tmovq %%""mm2"", %%""mm4""; " "\tpunpcklbw %%""mm6"", %%""mm4""\n" > "\tmovq %%""mm3"", %%""mm5""; " "\tpunpcklbw %%""mm6"", %%""mm5""\n" > "\tpaddw %%mm5, %%mm4\n" > "\tpsubw %%mm7, %%mm4\n" > > "\tmovq %%""mm2"", %%""mm1""; " "\tpunpckhbw %%""mm6"", %%""mm1""\n" > "\tmovq %%""mm3"", %%""mm5""; " "\tpunpckhbw %%""mm6"", %%""mm5""\n" > "\tpaddw %%mm5, %%mm1\n" > "\tpsubw %%mm7, %%mm1\n" > > "\tpackuswb %%mm1, %%mm4\n" > > "\t" "pminub " "%%" "mm3" ", %%" "mm2" "\n" > "\tpand %%mm0, %%mm2\n" > > "\tmovq %%mm0, %%mm1\n" > "\tpandn %%mm4, %%mm1\n" > "\tpor %%mm2, %%mm1\n" > "\tmovq %%mm1, %0\n" > : "+m" (*op.D) > : "m" (*op.A), "m" (*op.B) > : "0", "1", "2", "%mm1", "%mm2", "%mm3", "%mm4"); > op.A += 8; > op.B += 8; > op.D += 8; > } > > if (op.n_pixels) > { > asm volatile (" movd %1, %%mm2\n" > "\tmovd %2, %%mm3\n" > > "\tmovq %%""mm2"", %%""mm4""; " "\tpunpcklbw %%""mm6"", %%""mm4""\n" > "\tmovq %%""mm3"", %%""mm5""; " "\tpunpcklbw %%""mm6"", %%""mm5""\n" > > "\tpaddw %%mm5, %%mm4\n" > "\tpsubw %%mm7, %%mm4\n" > "\tmovq %%mm4, %%mm1\n" > "\tpackuswb %%mm6, %%mm1\n" > > "\tmovq %%mm1, %%mm4\n" > > "\tmovq %%mm0, %%mm1\n" > "\tpandn %%mm4, %%mm1\n" > > "\tpminub %%mm3, %%mm2\n" > "\tpand %%mm0, %%mm2\n" > > "\tpor %%mm2, %%mm1\n" > "\tmovd %%mm1, %0\n" > : "+m" (*op.D) > : "m" (*op.A), "m" (*op.B) > : "0", "1", "2", "%mm1", "%mm2", "%mm3", "%mm4"); > } > > asm("emms"); >} > >void >gimp_composite_lighten_rgba8_rgba8_rgba8_sse (GimpCompositeContext *_op) >{ > GimpCompositeContext op = *_op; > > asm volatile ("movq %0,%%mm0" : : "m" (*rgba8_alpha_mask_64) : "%mm0"); > > for (; op.n_pixels >= 2; op.n_pixels -= 2) > { > asm volatile (" movq %1, %%mm2\n" > "\tmovq %2, %%mm3\n" > "\tmovq %%mm2, %%mm4\n" > "\tpmaxub %%mm3, %%mm4\n" > "\tmovq %%mm0, %%mm1\n" > "\tpandn %%mm4, %%mm1\n" > "\tpminub %%mm2, %%mm3\n" > "\tpand %%mm0, %%mm3\n" > "\tpor %%mm3, %%mm1\n" > "\tmovq %%mm1, %0\n" > : "=m" (*op.D) > : "m" (*op.A), "m" (*op.B) > : "%mm1", "%mm2", "%mm3", "%mm4", "%mm5"); > op.A += 8; > op.B += 8; > op.D += 8; > } > > if (op.n_pixels) > { > asm volatile (" movd %1, %%mm2\n" > "\tmovd %2, %%mm3\n" > "\tmovq %%mm2, %%mm4\n" > "\tpmaxub %%mm3, %%mm4\n" > > "\tmovq %%mm0, %%mm1\n" > "\tpandn %%mm4, %%mm1\n" > > "\tpminub %%mm2,%%mm3\n" > > "\tpand %%mm0, %%mm3\n" > "\tpor %%mm3, %%mm1\n" > "\tmovd %%mm1, %0\n" > : "=m" (*op.D) > : "m" (*op.A), "m" (*op.B) > : "%mm1", "%mm2", "%mm3", "%mm4", "%mm5"); > } > > asm("emms"); >} > >void >gimp_composite_multiply_rgba8_rgba8_rgba8_sse (GimpCompositeContext *_op) >{ > GimpCompositeContext op = *_op; > > asm volatile ("movq %0,%%mm0" : : "m" (*rgba8_alpha_mask_64) : "%mm0"); > asm volatile ("movq %0,%%mm7" : : "m" (*rgba8_w128_64) : "%mm7"); > asm volatile ("pxor %%mm6,%%mm6" : : : "%mm6"); > > for (; op.n_pixels >= 2; op.n_pixels -= 2) > { > asm volatile (" movq %0, %%mm2\n" > "\tmovq %1, %%mm3\n" > > "\tmovq %%""mm2"", %%""mm1""; " "\tpunpcklbw %%""mm6"", %%""mm1""\n" > "\tmovq %%""mm3"", %%""mm5""; " "\tpunpcklbw %%""mm6"", %%""mm5""\n" > "\tpmullw %%""mm1"", %%""mm5""; " "\tpaddw %%""mm7"", %%""mm5""; " "\tmovq %%""mm5"", %%""mm1""; " "\tpsrlw $8, %%""mm1""; " "\tpaddw %%""mm5"", %%""mm1""; " "\tpsrlw $8, %%""mm1""\n" > > "\tmovq %%""mm2"", %%""mm4""; " "\tpunpckhbw %%""mm6"", %%""mm4""\n" > "\tmovq %%""mm3"", %%""mm5""; " "\tpunpckhbw %%""mm6"", %%""mm5""\n" > "\tpmullw %%""mm4"", %%""mm5""; " "\tpaddw %%""mm7"", %%""mm5""; " "\tmovq %%""mm5"", %%""mm4""; " "\tpsrlw $8, %%""mm4""; " "\tpaddw %%""mm5"", %%""mm4""; " "\tpsrlw $8, %%""mm4""\n" > > "\tpackuswb %%mm4, %%mm1\n" > > "\tmovq %%mm0, %%mm4\n" > "\tpandn %%mm1, %%mm4\n" > "\tmovq %%mm4, %%mm1\n" > "\t" "pminub " "%%" "mm3" ", %%" "mm2" "\n" > "\tpand %%mm0, %%mm2\n" > "\tpor %%mm2, %%mm1\n" > > "\tmovq %%mm1, %2\n" > : > : "m" (*op.A), "m" (*op.B), "m" (*op.D) > : "0", "1", "2", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5"); > op.A += 8; > op.B += 8; > op.D += 8; > } > > if (op.n_pixels) > { > asm volatile (" movd %0, %%mm2\n" > "\tmovd %1, %%mm3\n" > > "\tmovq %%""mm2"", %%""mm1""; " "\tpunpcklbw %%""mm6"", %%""mm1""\n" > "\tmovq %%""mm3"", %%""mm5""; " "\tpunpcklbw %%""mm6"", %%""mm5""\n" > "\tpmullw %%""mm1"", %%""mm5""; " "\tpaddw %%""mm7"", %%""mm5""; " "\tmovq %%""mm5"", %%""mm1""; " "\tpsrlw $8, %%""mm1""; " "\tpaddw %%""mm5"", %%""mm1""; " "\tpsrlw $8, %%""mm1""\n" > > "\tpackuswb %%mm6, %%mm1\n" > > "\tmovq %%mm0, %%mm4\n" > "\tpandn %%mm1, %%mm4\n" > "\tmovq %%mm4, %%mm1\n" > "\t" "pminub " "%%" "mm3" ", %%" "mm2" "\n" > "\tpand %%mm0, %%mm2\n" > "\tpor %%mm2, %%mm1\n" > > "\tmovd %%mm1, %2\n" > : > : "m" (*op.A), "m" (*op.B), "m" (*op.D) > : "0", "1", "2", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5"); > } > > asm("emms"); >} > >static void >sse_op_overlay(void) >{ > asm volatile ( > > "\tmovq %%""mm3"", %%""mm5""; " "\tpunpcklbw %%""mm0"", %%""mm5""\n" > "\tpcmpeqb %%mm4,%%mm4\n" > "\tpsubb %%mm2,%%mm4\n" > "\tpunpcklbw %%mm0,%%mm4\n" > "\tmovq %0,%%mm6\n" > "\tpmullw %%mm5,%%mm6\n" > "\tpmullw %%""mm4"", %%""mm6""; " "\tpaddw %%""mm7"", %%""mm6""; " "\tmovq %%""mm6"", %%""mm4""; " "\tpsrlw $8, %%""mm4""; " "\tpaddw %%""mm6"", %%""mm4""; " "\tpsrlw $8, %%""mm4""\n" > > > "\tmovq %%""mm3"", %%""mm5""; " "\tpunpckhbw %%""mm0"", %%""mm5""\n" > "\tpcmpeqb %%mm1,%%mm1\n" > "\tpsubb %%mm2,%%mm1\n" > "\tpunpckhbw %%mm0,%%mm1\n" > "\tmovq %0,%%mm6\n" > "\tpmullw %%mm5,%%mm6\n" > "\tpmullw %%""mm1"", %%""mm6""; " "\tpaddw %%""mm7"", %%""mm6""; " "\tmovq %%""mm6"", %%""mm1""; " "\tpsrlw $8, %%""mm1""; " "\tpaddw %%""mm6"", %%""mm1""; " "\tpsrlw $8, %%""mm1""\n" > > "\tpackuswb %%mm1,%%mm4\n" > > "\tmovq %%""mm4"", %%""mm5""; " "\tpunpcklbw %%""mm0"", %%""mm5""\n" > "\tmovq %%""mm2"", %%""mm6""; " "\tpunpcklbw %%""mm0"", %%""mm6""\n" > "\tpaddw %%mm6,%%mm5\n" > "\tpmullw %%""mm5"", %%""mm6""; " "\tpaddw %%""mm7"", %%""mm6""; " "\tmovq %%""mm6"", %%""mm5""; " "\tpsrlw $8, %%""mm5""; " "\tpaddw %%""mm6"", %%""mm5""; " "\tpsrlw $8, %%""mm5""\n" > > "\tmovq %%""mm4"", %%""mm1""; " "\tpunpckhbw %%""mm0"", %%""mm1""\n" > "\tmovq %%""mm2"", %%""mm6""; " "\tpunpckhbw %%""mm0"", %%""mm6""\n" > "\tpaddw %%mm6,%%mm1\n" > "\tpmullw %%""mm1"", %%""mm6""; " "\tpaddw %%""mm7"", %%""mm6""; " "\tmovq %%""mm6"", %%""mm1""; " "\tpsrlw $8, %%""mm1""; " "\tpaddw %%""mm6"", %%""mm1""; " "\tpsrlw $8, %%""mm1""\n" > > "\tpackuswb %%mm1,%%mm5\n" > > "\tmovq %1,%%mm0\n" > "\tmovq %%mm0,%%mm1\n" > "\tpandn %%mm5,%%mm1\n" > > "\t" "pminub " "%%" "mm2" ", %%" "mm3" "\n" > "\tpand %%mm0,%%mm3\n" > > "\tpor %%mm3,%%mm1\n" > > : > : "m" (*rgba8_w2_64), "m" (*rgba8_alpha_mask_64) > ); >} > >void >xxxgimp_composite_overlay_rgba8_rgba8_rgba8_sse (GimpCompositeContext *_op) >{ > GimpCompositeContext op = *_op; > > asm volatile ("pxor %%mm0,%%mm0\n" > "movq %0,%%mm7" > : > : "m" (*rgba8_w128_64) : "%mm0"); > > for (; op.n_pixels >= 2; op.n_pixels -= 2) > { > asm volatile (" movq %0,%%mm2\n" > "\tmovq %1,%%mm3\n" > > > "\tmovq %%""mm3"", %%""mm5""; " "\tpunpcklbw %%""mm0"", %%""mm5""\n" > "\tpcmpeqb %%mm4,%%mm4\n" > "\tpsubb %%mm2,%%mm4\n" > "\tpunpcklbw %%mm0,%%mm4\n" > "\tmovq %3,%%mm6\n" > "\tpmullw %%mm5,%%mm6\n" > "\tpmullw %%""mm4"", %%""mm6""; " "\tpaddw %%""mm7"", %%""mm6""; " "\tmovq %%""mm6"", %%""mm4""; " "\tpsrlw $8, %%""mm4""; " "\tpaddw %%""mm6"", %%""mm4""; " "\tpsrlw $8, %%""mm4""\n" > > > "\tmovq %%""mm3"", %%""mm5""; " "\tpunpckhbw %%""mm0"", %%""mm5""\n" > "\tpcmpeqb %%mm1,%%mm1\n" > "\tpsubb %%mm2,%%mm1\n" > "\tpunpckhbw %%mm0,%%mm1\n" > "\tmovq %3,%%mm6\n" > "\tpmullw %%mm5,%%mm6\n" > "\tpmullw %%""mm1"", %%""mm6""; " "\tpaddw %%""mm7"", %%""mm6""; " "\tmovq %%""mm6"", %%""mm1""; " "\tpsrlw $8, %%""mm1""; " "\tpaddw %%""mm6"", %%""mm1""; " "\tpsrlw $8, %%""mm1""\n" > "\tpackuswb %%mm1,%%mm4\n" > "\tmovq %%""mm4"", %%""mm5""; " "\tpunpcklbw %%""mm0"", %%""mm5""\n" > "\tmovq %%""mm2"", %%""mm6""; " "\tpunpcklbw %%""mm0"", %%""mm6""\n" > "\tpaddw %%mm6,%%mm5\n" > "\tpmullw %%""mm5"", %%""mm6""; " "\tpaddw %%""mm7"", %%""mm6""; " "\tmovq %%""mm6"", %%""mm5""; " "\tpsrlw $8, %%""mm5""; " "\tpaddw %%""mm6"", %%""mm5""; " "\tpsrlw $8, %%""mm5""\n" > "\tmovq %%""mm4"", %%""mm1""; " "\tpunpckhbw %%""mm0"", %%""mm1""\n" > "\tmovq %%""mm2"", %%""mm6""; " "\tpunpckhbw %%""mm0"", %%""mm6""\n" > "\tpaddw %%mm6,%%mm1\n" > "\tpmullw %%""mm1"", %%""mm6""; " "\tpaddw %%""mm7"", %%""mm6""; " "\tmovq %%""mm6"", %%""mm1""; " "\tpsrlw $8, %%""mm1""; " "\tpaddw %%""mm6"", %%""mm1""; " "\tpsrlw $8, %%""mm1""\n" > > "\tpackuswb %%mm1,%%mm5\n" > > "\tmovq %4,%%mm0\n" > "\tmovq %%mm0,%%mm1\n" > "\tpandn %%mm5,%%mm1\n" > > "\t" "pminub " "%%" "mm2" ", %%" "mm3" "\n" > "\tpand %%mm0,%%mm3\n" > > "\tpor %%mm3,%%mm1\n" > > "\tmovq %%mm1,%2\n" > : "+m" (*op.A), "+m" (*op.B), "+m" (*op.D) > : "m" (*rgba8_w2_64), "m" (*rgba8_alpha_mask_64) > : "0", "1", "2", "%mm1", "%mm2", "%mm3", "%mm4"); > op.A += 8; > op.B += 8; > op.D += 8; > } > > if (op.n_pixels) > { > asm volatile (" movd %0,%%mm2\n" > "\tmovd %1,%%mm3\n" > > > "\tmovq %%""mm3"", %%""mm5""; " "\tpunpcklbw %%""mm0"", %%""mm5""\n" > "\tpcmpeqb %%mm4,%%mm4\n" > "\tpsubb %%mm2,%%mm4\n" > "\tpunpcklbw %%mm0,%%mm4\n" > "\tmovq %3,%%mm6\n" > "\tpmullw %%mm5,%%mm6\n" > "\tpmullw %%""mm4"", %%""mm6""; " "\tpaddw %%""mm7"", %%""mm6""; " "\tmovq %%""mm6"", %%""mm4""; " "\tpsrlw $8, %%""mm4""; " "\tpaddw %%""mm6"", %%""mm4""; " "\tpsrlw $8, %%""mm4""\n" > > > "\tmovq %%""mm3"", %%""mm5""; " "\tpunpckhbw %%""mm0"", %%""mm5""\n" > "\tpcmpeqb %%mm1,%%mm1\n" > "\tpsubb %%mm2,%%mm1\n" > "\tpunpckhbw %%mm0,%%mm1\n" > "\tmovq %3,%%mm6\n" > "\tpmullw %%mm5,%%mm6\n" > "\tpmullw %%""mm1"", %%""mm6""; " "\tpaddw %%""mm7"", %%""mm6""; " "\tmovq %%""mm6"", %%""mm1""; " "\tpsrlw $8, %%""mm1""; " "\tpaddw %%""mm6"", %%""mm1""; " "\tpsrlw $8, %%""mm1""\n" > > "\tpackuswb %%mm1,%%mm4\n" > > "\tmovq %%""mm4"", %%""mm5""; " "\tpunpcklbw %%""mm0"", %%""mm5""\n" > "\tmovq %%""mm2"", %%""mm6""; " "\tpunpcklbw %%""mm0"", %%""mm6""\n" > "\tpaddw %%mm6,%%mm5\n" > "\tpmullw %%""mm5"", %%""mm6""; " "\tpaddw %%""mm7"", %%""mm6""; " "\tmovq %%""mm6"", %%""mm5""; " "\tpsrlw $8, %%""mm5""; " "\tpaddw %%""mm6"", %%""mm5""; " "\tpsrlw $8, %%""mm5""\n" > > "\tmovq %%""mm4"", %%""mm1""; " "\tpunpckhbw %%""mm0"", %%""mm1""\n" > "\tmovq %%""mm2"", %%""mm6""; " "\tpunpckhbw %%""mm0"", %%""mm6""\n" > "\tpaddw %%mm6,%%mm1\n" > "\tpmullw %%""mm1"", %%""mm6""; " "\tpaddw %%""mm7"", %%""mm6""; " "\tmovq %%""mm6"", %%""mm1""; " "\tpsrlw $8, %%""mm1""; " "\tpaddw %%""mm6"", %%""mm1""; " "\tpsrlw $8, %%""mm1""\n" > > "\tpackuswb %%mm1,%%mm5\n" > > "\tmovq %4,%%mm0\n" > "\tmovq %%mm0,%%mm1\n" > "\tpandn %%mm5,%%mm1\n" > > "\t" "pminub " "%%" "mm2" ", %%" "mm3" "\n" > "\tpand %%mm0,%%mm3\n" > > "\tpor %%mm3,%%mm1\n" > > "\tmovd %%mm1,%2\n" > : > : "m" (*op.A), "m" (*op.B), "m" (*op.D), "m" (*rgba8_w2_64), "m" (*rgba8_alpha_mask_64) > : "0", "1", "2", "%mm1", "%mm2", "%mm3", "%mm4"); > } > > asm("emms"); >} > > >void >gimp_composite_scale_rgba8_rgba8_rgba8_sse (GimpCompositeContext *_op) >{ > GimpCompositeContext op = *_op; > > asm volatile ("pxor %%mm0,%%mm0\n" > "\tmovl %0,%%eax\n" > "\tmovl %%eax,%%ebx\n" > "\tshl $16,%%ebx\n" > "\torl %%ebx,%%eax\n" > "\tmovd %%eax,%%mm5\n" > "\tmovd %%eax,%%mm3\n" > "\tpsllq $32,%%mm5\n" > "\tpor %%mm5,%%mm3\n" > "\tmovq %1,%%mm7\n" > : > : "m" (op.scale.scale), "m" (*rgba8_w128_64) > : "%eax", "%ebx", "%mm0", "%mm3", "%mm5", "%mm6", "%mm7"); > > for (; op.n_pixels >= 2; op.n_pixels -= 2) > { > asm volatile ("movq %1,%%mm2\n" > "\tmovq %%mm2,%%mm1\n" > "\tpunpcklbw %%mm0,%%mm1\n" > "\tmovq %%mm3,%%mm5\n" > > "\t" "\tpmullw %%""mm1"", %%""mm5""; " "\tpaddw %%""mm7"", %%""mm5""; " "\tmovq %%""mm5"", %%""mm1""; " "\tpsrlw $8, %%""mm1""; " "\tpaddw %%""mm5"", %%""mm1""; " "\tpsrlw $8, %%""mm1""\n" "\n" > > "\tmovq %%mm2,%%mm4\n" > "\tpunpckhbw %%mm0,%%mm4\n" > "\tmovq %%mm3,%%mm5\n" > > "\t" "\tpmullw %%""mm4"", %%""mm5""; " "\tpaddw %%""mm7"", %%""mm5""; " "\tmovq %%""mm5"", %%""mm4""; " "\tpsrlw $8, %%""mm4""; " "\tpaddw %%""mm5"", %%""mm4""; " "\tpsrlw $8, %%""mm4""\n" "\n" > > "\tpackuswb %%mm4,%%mm1\n" > > "\tmovq %%mm1,%0\n" > : "+m" (*op.D) > : "m" (*op.A) > : "%mm1", "%mm2", "%mm4", "%mm5", "%mm7"); > op.A += 8; > op.D += 8; > } > > if (op.n_pixels) > { > asm volatile (" movd %1,%%mm2\n" > "\tmovq %%mm2,%%mm1\n" > "\tpunpcklbw %%mm0,%%mm1\n" > "\tmovq %%mm3,%%mm5\n" > > "\t" "\tpmullw %%""mm1"", %%""mm5""; " "\tpaddw %%""mm7"", %%""mm5""; " "\tmovq %%""mm5"", %%""mm1""; " "\tpsrlw $8, %%""mm1""; " "\tpaddw %%""mm5"", %%""mm1""; " "\tpsrlw $8, %%""mm1""\n" "\n" > > "\tpackuswb %%mm0,%%mm1\n" > "\tmovd %%mm1,%0\n" > : "+m" (*op.D) > : "m" (*op.A) > : "%mm1", "%mm2", "%mm4", "%mm5", "%mm6", "%mm7"); > } > > asm("emms"); >} > >void >gimp_composite_screen_rgba8_rgba8_rgba8_sse (GimpCompositeContext *_op) >{ > GimpCompositeContext op = *_op; > > asm volatile ("movq %0,%%mm0" : : "m" (*rgba8_alpha_mask_64) : "%mm0"); > asm volatile ("movq %0,%%mm7" : : "m" (*rgba8_w128_64) : "%mm7"); > asm volatile ("pxor %mm6, %mm6"); > > for (; op.n_pixels >= 2; op.n_pixels -= 2) > { > asm volatile (" movq %0,%%mm2\n" > "\tmovq %1,%%mm3\n" > > "\tpcmpeqb %%mm4,%%mm4\n" > "\tpsubb %%mm2,%%mm4\n" > "\tpcmpeqb %%mm5,%%mm5\n" > "\tpsubb %%mm3,%%mm5\n" > > "\tpunpcklbw %%mm6,%%mm4\n" > "\tpunpcklbw %%mm6,%%mm5\n" > "\tpmullw %%mm4,%%mm5\n" > "\tpaddw %%mm7,%%mm5\n" > "\tmovq %%mm5,%%mm1\n" > "\tpsrlw $ 8,%%mm1\n" > "\tpaddw %%mm5,%%mm1\n" > "\tpsrlw $ 8,%%mm1\n" > > "\tpcmpeqb %%mm4,%%mm4\n" > "\tpsubb %%mm2,%%mm4\n" > "\tpcmpeqb %%mm5,%%mm5\n" > "\tpsubb %%mm3,%%mm5\n" > > "\tpunpckhbw %%mm6,%%mm4\n" > "\tpunpckhbw %%mm6,%%mm5\n" > "\tpmullw %%mm4,%%mm5\n" > "\tpaddw %%mm7,%%mm5\n" > "\tmovq %%mm5,%%mm4\n" > "\tpsrlw $ 8,%%mm4\n" > "\tpaddw %%mm5,%%mm4\n" > "\tpsrlw $ 8,%%mm4\n" > > "\tpackuswb %%mm4,%%mm1\n" > > "\tpcmpeqb %%mm4,%%mm4\n" > "\tpsubb %%mm1,%%mm4\n" > > "\tmovq %%mm0,%%mm1\n" > "\tpandn %%mm4,%%mm1\n" > > "\t" "pminub " "%%" "mm2" ", %%" "mm3" "\n" > "\tpand %%mm0,%%mm3\n" > > "\tpor %%mm3,%%mm1\n" > > "\tmovq %%mm1,%2\n" > : > : "m" (*op.A), "m" (*op.B), "m" (*op.D) > : "0", "1", "2", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5"); > op.A += 8; > op.B += 8; > op.D += 8; > } > > if (op.n_pixels) > { > asm volatile (" movd %0,%%mm2\n" > "\tmovd %1,%%mm3\n" > > "\tpcmpeqb %%mm4,%%mm4\n" > "\tpsubb %%mm2,%%mm4\n" > "\tpcmpeqb %%mm5,%%mm5\n" > "\tpsubb %%mm3,%%mm5\n" > > "\tpunpcklbw %%mm6,%%mm4\n" > "\tpunpcklbw %%mm6,%%mm5\n" > "\tpmullw %%mm4,%%mm5\n" > "\tpaddw %%mm7,%%mm5\n" > "\tmovq %%mm5,%%mm1\n" > "\tpsrlw $ 8,%%mm1\n" > "\tpaddw %%mm5,%%mm1\n" > "\tpsrlw $ 8,%%mm1\n" > > "\tpcmpeqb %%mm4,%%mm4\n" > "\tpsubb %%mm2,%%mm4\n" > "\tpcmpeqb %%mm5,%%mm5\n" > "\tpsubb %%mm3,%%mm5\n" > > "\tpunpckhbw %%mm6,%%mm4\n" > "\tpunpckhbw %%mm6,%%mm5\n" > "\tpmullw %%mm4,%%mm5\n" > "\tpaddw %%mm7,%%mm5\n" > "\tmovq %%mm5,%%mm4\n" > "\tpsrlw $ 8,%%mm4\n" > "\tpaddw %%mm5,%%mm4\n" > "\tpsrlw $ 8,%%mm4\n" > > "\tpackuswb %%mm4,%%mm1\n" > > "\tpcmpeqb %%mm4,%%mm4\n" > "\tpsubb %%mm1,%%mm4\n" > > "\tmovq %%mm0,%%mm1\n" > "\tpandn %%mm4,%%mm1\n" > > "\t" "pminub " "%%" "mm2" ", %%" "mm3" "\n" > "\tpand %%mm0,%%mm3\n" > > "\tpor %%mm3,%%mm1\n" > > "\tmovd %%mm1,%2\n" > : > : "m" (*op.A), "m" (*op.B), "m" (*op.D) > : "0", "1", "2", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5"); > } > > asm("emms"); >} > > >void >gimp_composite_subtract_rgba8_rgba8_rgba8_sse (GimpCompositeContext *_op) >{ > GimpCompositeContext op = *_op; > > asm volatile ("movq %0,%%mm0" : : "m" (*rgba8_alpha_mask_64) : "%mm0"); > > for (; op.n_pixels >= 2; op.n_pixels -= 2) > { > asm volatile (" movq %1,%%mm2\n" > "\tmovq %2,%%mm3\n" > "\tmovq %%mm2,%%mm4\n" > "\tpsubusb %%mm3,%%mm4\n" > "\tmovq %%mm0,%%mm1\n" > "\tpandn %%mm4,%%mm1\n" > "\tpminub %%mm3,%%mm2\n" > "\tpand %%mm0,%%mm2\n" > "\tpor %%mm2,%%mm1\n" > "\tmovq %%mm1,%0\n" > : "+m" (*op.D) > : "m" (*op.A), "m" (*op.B) > : "%mm1", "%mm2", "%mm3", "%mm4"); > op.A += 8; > op.B += 8; > op.D += 8; > } > > if (op.n_pixels) > { > asm volatile (" movd %1,%%mm2\n" > "\tmovd %2,%%mm3\n" > "\tmovq %%mm2,%%mm4\n" > "\tpsubusb %%mm3,%%mm4\n" > "\tmovq %%mm0,%%mm1\n" > "\tpandn %%mm4,%%mm1\n" > "\tpminub %%mm3,%%mm2\n" > "\tpand %%mm0,%%mm2\n" > "\tpor %%mm2,%%mm1\n" > "\tmovd %%mm1,%0\n" > : "+m" (*op.D) > : "m" (*op.A), "m" (*op.B) > : "%mm1", "%mm2", "%mm3", "%mm4"); > } > > asm("emms"); >} > >void >gimp_composite_swap_rgba8_rgba8_rgba8_sse (GimpCompositeContext *_op) >{ > GimpCompositeContext op = *_op; > > for (; op.n_pixels >= 2; op.n_pixels -= 2) > { > asm volatile (" movq %0,%%mm2\n" > "\tmovq %1,%%mm3\n" > "\tmovq %%mm3,%0\n" > "\tmovq %%mm2,%1\n" > : "+m" (*op.A), "+m" (*op.B) > : > : "%mm1", "%mm2", "%mm3", "%mm4"); > op.A += 8; > op.B += 8; > } > > if (op.n_pixels) > { > asm volatile (" movd %0,%%mm2\n" > "\tmovd %1,%%mm3\n" > "\tmovd %%mm3,%0\n" > "\tmovd %%mm2,%1\n" > : "+m" (*op.A), "+m" (*op.B) > : > : "%mm1", "%mm2", "%mm3", "%mm4"); > } > > asm("emms"); >} ># 2287 "gimp-composite-sse.c" >gboolean >gimp_composite_sse_init (void) >{ > > guint32 cpu = cpu_accel (); > > if (cpu & 0x10000000 || cpu & 0x20000000) > { > return ((!(0))); > } > > > return ((0)); >}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 55900
: 35509 |
35513
|
41503