1 // /usr/libexec/gcc/powerpc64-unknown-linux-gnu/4.1.1/cc1 -quiet -I. -I. -I../../.. -I../../.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -MD scheme.d -MF .deps/scheme.Tpo -MP -MT scheme.o -MQ scheme.o -D__unix__ -D__gnu_linux__ -D__linux__ -Dunix -D__unix -Dlinux -D__linux -Asystem=linux -Asystem=unix -Asystem=posix -DHAVE_CONFIG_H -DGIMP_DISABLE_DEPRECATED -DG_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DPANGO_DISABLE_DEPRECATED -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE -DSTANDALONE=0 -DUSE_INTERFACE=1 -DUSE_MATH=1 -DUSE_ASCII_NAMES=0 -DUSE_STRLWR=0 scheme.c -quiet -dumpbase scheme.c -mcpu=970 -mtune=970 -maltivec -mabi=altivec -mpowerpc64 -auxbase-strip scheme.o -O2 -Wall -Wdeclaration-after-statement -Wmissing-prototypes -Wmissing-declarations -Winit-self -Wpointer-arith -fno-strict-aliasing -fomit-frame-pointer -o - -frandom-seed=0
7 # 1 "../../../config.h" 1
12 # 1 "/usr/include/unistd.h" 1 3 4
20 # 1 "/usr/include/gentoo-multilib/ppc64/unistd.h" 1 3 4
21 # 26 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4
22 # 1 "/usr/include/features.h" 1 3 4
30 # 1 "/usr/include/gentoo-multilib/ppc64/features.h" 1 3 4
31 # 323 "/usr/include/gentoo-multilib/ppc64/features.h" 3 4
32 # 1 "/usr/include/sys/cdefs.h" 1 3 4
40 # 1 "/usr/include/gentoo-multilib/ppc64/sys/cdefs.h" 1 3 4
41 # 313 "/usr/include/gentoo-multilib/ppc64/sys/cdefs.h" 3 4
42 # 1 "/usr/include/bits/wordsize.h" 1 3 4
50 # 1 "/usr/include/gentoo-multilib/ppc64/bits/wordsize.h" 1 3 4
51 # 9 "/usr/include/bits/wordsize.h" 2 3 4
52 # 314 "/usr/include/gentoo-multilib/ppc64/sys/cdefs.h" 2 3 4
53 # 9 "/usr/include/sys/cdefs.h" 2 3 4
54 # 324 "/usr/include/gentoo-multilib/ppc64/features.h" 2 3 4
55 # 346 "/usr/include/gentoo-multilib/ppc64/features.h" 3 4
56 # 1 "/usr/include/gnu/stubs.h" 1 3 4
64 # 1 "/usr/include/gentoo-multilib/ppc64/gnu/stubs.h" 1 3 4
68 # 1 "/usr/include/bits/wordsize.h" 1 3 4
76 # 1 "/usr/include/gentoo-multilib/ppc64/bits/wordsize.h" 1 3 4
77 # 9 "/usr/include/bits/wordsize.h" 2 3 4
78 # 5 "/usr/include/gentoo-multilib/ppc64/gnu/stubs.h" 2 3 4
83 # 1 "/usr/include/gnu/stubs-64.h" 1 3 4
87 # 1 "/usr/include/gentoo-multilib/ppc64/gnu/stubs-64.h" 1 3 4
88 # 5 "/usr/include/gnu/stubs-64.h" 2 3 4
89 # 10 "/usr/include/gentoo-multilib/ppc64/gnu/stubs.h" 2 3 4
90 # 9 "/usr/include/gnu/stubs.h" 2 3 4
91 # 347 "/usr/include/gentoo-multilib/ppc64/features.h" 2 3 4
92 # 9 "/usr/include/features.h" 2 3 4
93 # 27 "/usr/include/gentoo-multilib/ppc64/unistd.h" 2 3 4
96 # 171 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4
97 # 1 "/usr/include/bits/posix_opt.h" 1 3 4
105 # 1 "/usr/include/gentoo-multilib/ppc64/bits/posix_opt.h" 1 3 4
106 # 9 "/usr/include/bits/posix_opt.h" 2 3 4
107 # 172 "/usr/include/gentoo-multilib/ppc64/unistd.h" 2 3 4
108 # 186 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4
109 # 1 "/usr/include/bits/types.h" 1 3 4
117 # 1 "/usr/include/gentoo-multilib/ppc64/bits/types.h" 1 3 4
118 # 27 "/usr/include/gentoo-multilib/ppc64/bits/types.h" 3 4
119 # 1 "/usr/include/features.h" 1 3 4
120 # 28 "/usr/include/gentoo-multilib/ppc64/bits/types.h" 2 3 4
121 # 1 "/usr/include/bits/wordsize.h" 1 3 4
129 # 1 "/usr/include/gentoo-multilib/ppc64/bits/wordsize.h" 1 3 4
130 # 9 "/usr/include/bits/wordsize.h" 2 3 4
131 # 29 "/usr/include/gentoo-multilib/ppc64/bits/types.h" 2 3 4
134 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 1 3 4
135 # 214 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 3 4
136 typedef long unsigned int size_t;
137 # 32 "/usr/include/gentoo-multilib/ppc64/bits/types.h" 2 3 4
140 typedef unsigned char __u_char;
141 typedef unsigned short int __u_short;
142 typedef unsigned int __u_int;
143 typedef unsigned long int __u_long;
146 typedef signed char __int8_t;
147 typedef unsigned char __uint8_t;
148 typedef signed short int __int16_t;
149 typedef unsigned short int __uint16_t;
150 typedef signed int __int32_t;
151 typedef unsigned int __uint32_t;
153 typedef signed long int __int64_t;
154 typedef unsigned long int __uint64_t;
162 typedef long int __quad_t;
163 typedef unsigned long int __u_quad_t;
164 # 134 "/usr/include/gentoo-multilib/ppc64/bits/types.h" 3 4
165 # 1 "/usr/include/bits/typesizes.h" 1 3 4
173 # 1 "/usr/include/gentoo-multilib/ppc64/bits/typesizes.h" 1 3 4
174 # 9 "/usr/include/bits/typesizes.h" 2 3 4
175 # 135 "/usr/include/gentoo-multilib/ppc64/bits/types.h" 2 3 4
178 typedef unsigned long int __dev_t;
179 typedef unsigned int __uid_t;
180 typedef unsigned int __gid_t;
181 typedef unsigned long int __ino_t;
182 typedef unsigned long int __ino64_t;
183 typedef unsigned int __mode_t;
184 typedef unsigned long int __nlink_t;
185 typedef long int __off_t;
186 typedef long int __off64_t;
188 typedef struct { int __val[2]; } __fsid_t;
189 typedef long int __clock_t;
190 typedef unsigned long int __rlim_t;
191 typedef unsigned long int __rlim64_t;
192 typedef unsigned int __id_t;
193 typedef long int __time_t;
194 typedef unsigned int __useconds_t;
195 typedef long int __suseconds_t;
197 typedef int __daddr_t;
198 typedef long int __swblk_t;
202 typedef int __clockid_t;
205 typedef void * __timer_t;
208 typedef long int __blksize_t;
213 typedef long int __blkcnt_t;
214 typedef long int __blkcnt64_t;
217 typedef unsigned long int __fsblkcnt_t;
218 typedef unsigned long int __fsblkcnt64_t;
221 typedef unsigned long int __fsfilcnt_t;
222 typedef unsigned long int __fsfilcnt64_t;
224 typedef long int __ssize_t;
228 typedef __off64_t __loff_t;
229 typedef __quad_t *__qaddr_t;
230 typedef char *__caddr_t;
233 typedef long int __intptr_t;
236 typedef unsigned int __socklen_t;
237 # 9 "/usr/include/bits/types.h" 2 3 4
238 # 187 "/usr/include/gentoo-multilib/ppc64/unistd.h" 2 3 4
241 typedef __ssize_t ssize_t;
247 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 1 3 4
248 # 196 "/usr/include/gentoo-multilib/ppc64/unistd.h" 2 3 4
254 typedef __gid_t gid_t;
259 typedef __uid_t uid_t;
265 typedef __off_t off_t;
266 # 224 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4
267 typedef __useconds_t useconds_t;
272 typedef __pid_t pid_t;
279 typedef __intptr_t intptr_t;
286 typedef __socklen_t socklen_t;
287 # 256 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4
288 extern int access (__const char *__name, int __type) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
289 # 299 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4
290 extern __off_t lseek (int __fd, __off_t __offset, int __whence) __attribute__ ((__nothrow__));
291 # 318 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4
292 extern int close (int __fd);
299 extern ssize_t read (int __fd, void *__buf, size_t __nbytes) ;
305 extern ssize_t write (int __fd, __const void *__buf, size_t __n) ;
306 # 382 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4
307 extern int pipe (int __pipedes[2]) __attribute__ ((__nothrow__)) ;
308 # 391 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4
309 extern unsigned int alarm (unsigned int __seconds) __attribute__ ((__nothrow__));
310 # 403 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4
311 extern unsigned int sleep (unsigned int __seconds);
318 extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval)
319 __attribute__ ((__nothrow__));
326 extern int usleep (__useconds_t __useconds);
327 # 427 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4
328 extern int pause (void);
332 extern int chown (__const char *__file, __uid_t __owner, __gid_t __group)
333 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
337 extern int fchown (int __fd, __uid_t __owner, __gid_t __group) __attribute__ ((__nothrow__)) ;
342 extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group)
343 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
344 # 455 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4
345 extern int chdir (__const char *__path) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
349 extern int fchdir (int __fd) __attribute__ ((__nothrow__)) ;
350 # 469 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4
351 extern char *getcwd (char *__buf, size_t __size) __attribute__ ((__nothrow__)) ;
352 # 482 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4
353 extern char *getwd (char *__buf)
354 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)) ;
359 extern int dup (int __fd) __attribute__ ((__nothrow__)) ;
362 extern int dup2 (int __fd, int __fd2) __attribute__ ((__nothrow__));
365 extern char **__environ;
373 extern int execve (__const char *__path, char *__const __argv[],
374 char *__const __envp[]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
375 # 514 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4
376 extern int execv (__const char *__path, char *__const __argv[])
377 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
381 extern int execle (__const char *__path, __const char *__arg, ...)
382 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
386 extern int execl (__const char *__path, __const char *__arg, ...)
387 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
391 extern int execvp (__const char *__file, char *__const __argv[])
392 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
397 extern int execlp (__const char *__file, __const char *__arg, ...)
398 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
403 extern int nice (int __inc) __attribute__ ((__nothrow__)) ;
408 extern void _exit (int __status) __attribute__ ((__noreturn__));
414 # 1 "/usr/include/bits/confname.h" 1 3 4
422 # 1 "/usr/include/gentoo-multilib/ppc64/bits/confname.h" 1 3 4
423 # 26 "/usr/include/gentoo-multilib/ppc64/bits/confname.h" 3 4
438 _PC_CHOWN_RESTRICTED,
454 _PC_REC_INCR_XFER_SIZE,
456 _PC_REC_MAX_XFER_SIZE,
458 _PC_REC_MIN_XFER_SIZE,
491 _SC_REALTIME_SIGNALS,
493 _SC_PRIORITY_SCHEDULING,
511 _SC_MEMORY_PROTECTION,
517 _SC_SHARED_MEMORY_OBJECTS,
523 _SC_AIO_PRIO_DELTA_MAX,
557 _SC_COLL_WEIGHTS_MAX,
567 _SC_CHARCLASS_NAME_MAX,
601 _SC_IOV_MAX = _SC_UIO_MAXIOV,
603 _SC_PII_INTERNET_STREAM,
605 _SC_PII_INTERNET_DGRAM,
619 _SC_THREAD_SAFE_FUNCTIONS,
621 _SC_GETGR_R_SIZE_MAX,
623 _SC_GETPW_R_SIZE_MAX,
629 _SC_THREAD_DESTRUCTOR_ITERATIONS,
633 _SC_THREAD_STACK_MIN,
635 _SC_THREAD_THREADS_MAX,
637 _SC_THREAD_ATTR_STACKADDR,
639 _SC_THREAD_ATTR_STACKSIZE,
641 _SC_THREAD_PRIORITY_SCHEDULING,
643 _SC_THREAD_PRIO_INHERIT,
645 _SC_THREAD_PRIO_PROTECT,
647 _SC_THREAD_PROCESS_SHARED,
650 _SC_NPROCESSORS_CONF,
652 _SC_NPROCESSORS_ONLN,
665 _SC_XOPEN_XCU_VERSION,
740 _SC_XBS5_ILP32_OFF32,
742 _SC_XBS5_ILP32_OFFBIG,
746 _SC_XBS5_LPBIG_OFFBIG,
753 _SC_XOPEN_REALTIME_THREADS,
764 _SC_C_LANG_SUPPORT_R,
776 _SC_DEVICE_SPECIFIC_R,
798 _SC_READER_WRITER_LOCKS,
814 _SC_THREAD_SPORADIC_SERVER,
818 _SC_SYSTEM_DATABASE_R,
822 _SC_TYPED_MEMORY_OBJECTS,
830 _SC_2_PBS_ACCOUNTING,
842 _SC_2_PBS_CHECKPOINT,
858 _SC_TRACE_EVENT_FILTER,
865 _SC_LEVEL1_ICACHE_SIZE,
867 _SC_LEVEL1_ICACHE_ASSOC,
869 _SC_LEVEL1_ICACHE_LINESIZE,
871 _SC_LEVEL1_DCACHE_SIZE,
873 _SC_LEVEL1_DCACHE_ASSOC,
875 _SC_LEVEL1_DCACHE_LINESIZE,
877 _SC_LEVEL2_CACHE_SIZE,
879 _SC_LEVEL2_CACHE_ASSOC,
881 _SC_LEVEL2_CACHE_LINESIZE,
883 _SC_LEVEL3_CACHE_SIZE,
885 _SC_LEVEL3_CACHE_ASSOC,
887 _SC_LEVEL3_CACHE_LINESIZE,
889 _SC_LEVEL4_CACHE_SIZE,
891 _SC_LEVEL4_CACHE_ASSOC,
893 _SC_LEVEL4_CACHE_LINESIZE,
897 _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50,
909 _CS_V6_WIDTH_RESTRICTED_ENVS,
912 _CS_GNU_LIBC_VERSION,
914 _CS_GNU_LIBPTHREAD_VERSION,
917 _CS_LFS_CFLAGS = 1000,
934 _CS_XBS5_ILP32_OFF32_CFLAGS = 1100,
936 _CS_XBS5_ILP32_OFF32_LDFLAGS,
938 _CS_XBS5_ILP32_OFF32_LIBS,
940 _CS_XBS5_ILP32_OFF32_LINTFLAGS,
942 _CS_XBS5_ILP32_OFFBIG_CFLAGS,
944 _CS_XBS5_ILP32_OFFBIG_LDFLAGS,
946 _CS_XBS5_ILP32_OFFBIG_LIBS,
948 _CS_XBS5_ILP32_OFFBIG_LINTFLAGS,
950 _CS_XBS5_LP64_OFF64_CFLAGS,
952 _CS_XBS5_LP64_OFF64_LDFLAGS,
954 _CS_XBS5_LP64_OFF64_LIBS,
956 _CS_XBS5_LP64_OFF64_LINTFLAGS,
958 _CS_XBS5_LPBIG_OFFBIG_CFLAGS,
960 _CS_XBS5_LPBIG_OFFBIG_LDFLAGS,
962 _CS_XBS5_LPBIG_OFFBIG_LIBS,
964 _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS,
967 _CS_POSIX_V6_ILP32_OFF32_CFLAGS,
969 _CS_POSIX_V6_ILP32_OFF32_LDFLAGS,
971 _CS_POSIX_V6_ILP32_OFF32_LIBS,
973 _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS,
975 _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS,
977 _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS,
979 _CS_POSIX_V6_ILP32_OFFBIG_LIBS,
981 _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS,
983 _CS_POSIX_V6_LP64_OFF64_CFLAGS,
985 _CS_POSIX_V6_LP64_OFF64_LDFLAGS,
987 _CS_POSIX_V6_LP64_OFF64_LIBS,
989 _CS_POSIX_V6_LP64_OFF64_LINTFLAGS,
991 _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS,
993 _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS,
995 _CS_POSIX_V6_LPBIG_OFFBIG_LIBS,
997 _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
1000 # 9 "/usr/include/bits/confname.h" 2 3 4
1001 # 553 "/usr/include/gentoo-multilib/ppc64/unistd.h" 2 3 4
1004 extern long int pathconf (__const char *__path, int __name)
1005 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1008 extern long int fpathconf (int __fd, int __name) __attribute__ ((__nothrow__));
1011 extern long int sysconf (int __name) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1015 extern size_t confstr (int __name, char *__buf, size_t __len) __attribute__ ((__nothrow__));
1020 extern __pid_t getpid (void) __attribute__ ((__nothrow__));
1023 extern __pid_t getppid (void) __attribute__ ((__nothrow__));
1028 extern __pid_t getpgrp (void) __attribute__ ((__nothrow__));
1029 # 589 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4
1030 extern __pid_t __getpgid (__pid_t __pid) __attribute__ ((__nothrow__));
1031 # 598 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4
1032 extern int setpgid (__pid_t __pid, __pid_t __pgid) __attribute__ ((__nothrow__));
1033 # 615 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4
1034 extern int setpgrp (void) __attribute__ ((__nothrow__));
1035 # 632 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4
1036 extern __pid_t setsid (void) __attribute__ ((__nothrow__));
1044 extern __uid_t getuid (void) __attribute__ ((__nothrow__));
1047 extern __uid_t geteuid (void) __attribute__ ((__nothrow__));
1050 extern __gid_t getgid (void) __attribute__ ((__nothrow__));
1053 extern __gid_t getegid (void) __attribute__ ((__nothrow__));
1058 extern int getgroups (int __size, __gid_t __list[]) __attribute__ ((__nothrow__)) ;
1059 # 665 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4
1060 extern int setuid (__uid_t __uid) __attribute__ ((__nothrow__));
1065 extern int setreuid (__uid_t __ruid, __uid_t __euid) __attribute__ ((__nothrow__));
1070 extern int seteuid (__uid_t __uid) __attribute__ ((__nothrow__));
1077 extern int setgid (__gid_t __gid) __attribute__ ((__nothrow__));
1082 extern int setregid (__gid_t __rgid, __gid_t __egid) __attribute__ ((__nothrow__));
1087 extern int setegid (__gid_t __gid) __attribute__ ((__nothrow__));
1088 # 721 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4
1089 extern __pid_t fork (void) __attribute__ ((__nothrow__));
1096 extern __pid_t vfork (void) __attribute__ ((__nothrow__));
1102 extern char *ttyname (int __fd) __attribute__ ((__nothrow__));
1106 extern int ttyname_r (int __fd, char *__buf, size_t __buflen)
1107 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))) ;
1111 extern int isatty (int __fd) __attribute__ ((__nothrow__));
1117 extern int ttyslot (void) __attribute__ ((__nothrow__));
1122 extern int link (__const char *__from, __const char *__to)
1123 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))) ;
1124 # 767 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4
1125 extern int symlink (__const char *__from, __const char *__to)
1126 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))) ;
1131 extern ssize_t readlink (__const char *__restrict __path,
1132 char *__restrict __buf, size_t __len)
1133 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))) ;
1134 # 790 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4
1135 extern int unlink (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1136 # 799 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4
1137 extern int rmdir (__const char *__path) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1141 extern __pid_t tcgetpgrp (int __fd) __attribute__ ((__nothrow__));
1144 extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) __attribute__ ((__nothrow__));
1151 extern char *getlogin (void);
1159 extern int getlogin_r (char *__name, size_t __name_len) __attribute__ ((__nonnull__ (1)));
1164 extern int setlogin (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1165 # 835 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4
1166 # 1 "/usr/include/getopt.h" 1 3 4
1174 # 1 "/usr/include/gentoo-multilib/ppc64/getopt.h" 1 3 4
1175 # 59 "/usr/include/gentoo-multilib/ppc64/getopt.h" 3 4
1176 extern char *optarg;
1177 # 73 "/usr/include/gentoo-multilib/ppc64/getopt.h" 3 4
1188 # 152 "/usr/include/gentoo-multilib/ppc64/getopt.h" 3 4
1189 extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
1190 __attribute__ ((__nothrow__));
1191 # 9 "/usr/include/getopt.h" 2 3 4
1192 # 836 "/usr/include/gentoo-multilib/ppc64/unistd.h" 2 3 4
1200 extern int gethostname (char *__name, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1207 extern int sethostname (__const char *__name, size_t __len)
1208 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1212 extern int sethostid (long int __id) __attribute__ ((__nothrow__)) ;
1218 extern int getdomainname (char *__name, size_t __len)
1219 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1220 extern int setdomainname (__const char *__name, size_t __len)
1221 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1227 extern int vhangup (void) __attribute__ ((__nothrow__));
1230 extern int revoke (__const char *__file) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1238 extern int profil (unsigned short int *__sample_buffer, size_t __size,
1239 size_t __offset, unsigned int __scale)
1240 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1246 extern int acct (__const char *__name) __attribute__ ((__nothrow__));
1250 extern char *getusershell (void) __attribute__ ((__nothrow__));
1251 extern void endusershell (void) __attribute__ ((__nothrow__));
1252 extern void setusershell (void) __attribute__ ((__nothrow__));
1258 extern int daemon (int __nochdir, int __noclose) __attribute__ ((__nothrow__)) ;
1265 extern int chroot (__const char *__path) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1269 extern char *getpass (__const char *__prompt) __attribute__ ((__nonnull__ (1)));
1270 # 921 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4
1271 extern int fsync (int __fd);
1278 extern long int gethostid (void);
1281 extern void sync (void) __attribute__ ((__nothrow__));
1286 extern int getpagesize (void) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1291 extern int getdtablesize (void) __attribute__ ((__nothrow__));
1296 extern int truncate (__const char *__file, __off_t __length)
1297 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1298 # 968 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4
1299 extern int ftruncate (int __fd, __off_t __length) __attribute__ ((__nothrow__)) ;
1300 # 988 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4
1301 extern int brk (void *__addr) __attribute__ ((__nothrow__)) ;
1307 extern void *sbrk (intptr_t __delta) __attribute__ ((__nothrow__));
1308 # 1009 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4
1309 extern long int syscall (long int __sysno, ...) __attribute__ ((__nothrow__));
1310 # 1032 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4
1311 extern int lockf (int __fd, int __cmd, __off_t __len) ;
1312 # 1063 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4
1313 extern int fdatasync (int __fildes) __attribute__ ((__nothrow__));
1314 # 1101 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4
1316 # 9 "/usr/include/unistd.h" 2 3 4
1319 # 1 "/usr/include/math.h" 1 3 4
1327 # 1 "/usr/include/gentoo-multilib/ppc64/math.h" 1 3 4
1328 # 28 "/usr/include/gentoo-multilib/ppc64/math.h" 3 4
1329 # 1 "/usr/include/features.h" 1 3 4
1330 # 29 "/usr/include/gentoo-multilib/ppc64/math.h" 2 3 4
1336 # 1 "/usr/include/bits/huge_val.h" 1 3 4
1344 # 1 "/usr/include/gentoo-multilib/ppc64/bits/huge_val.h" 1 3 4
1345 # 9 "/usr/include/bits/huge_val.h" 2 3 4
1346 # 35 "/usr/include/gentoo-multilib/ppc64/math.h" 2 3 4
1347 # 47 "/usr/include/gentoo-multilib/ppc64/math.h" 3 4
1348 # 1 "/usr/include/bits/mathdef.h" 1 3 4
1356 # 1 "/usr/include/gentoo-multilib/ppc64/bits/mathdef.h" 1 3 4
1357 # 9 "/usr/include/bits/mathdef.h" 2 3 4
1358 # 48 "/usr/include/gentoo-multilib/ppc64/math.h" 2 3 4
1359 # 71 "/usr/include/gentoo-multilib/ppc64/math.h" 3 4
1360 # 1 "/usr/include/bits/mathcalls.h" 1 3 4
1368 # 1 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 1 3 4
1369 # 53 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4
1372 extern double acos (double __x) __attribute__ ((__nothrow__)); extern double __acos (double __x) __attribute__ ((__nothrow__));
1374 extern double asin (double __x) __attribute__ ((__nothrow__)); extern double __asin (double __x) __attribute__ ((__nothrow__));
1376 extern double atan (double __x) __attribute__ ((__nothrow__)); extern double __atan (double __x) __attribute__ ((__nothrow__));
1378 extern double atan2 (double __y, double __x) __attribute__ ((__nothrow__)); extern double __atan2 (double __y, double __x) __attribute__ ((__nothrow__));
1381 extern double cos (double __x) __attribute__ ((__nothrow__)); extern double __cos (double __x) __attribute__ ((__nothrow__));
1383 extern double sin (double __x) __attribute__ ((__nothrow__)); extern double __sin (double __x) __attribute__ ((__nothrow__));
1385 extern double tan (double __x) __attribute__ ((__nothrow__)); extern double __tan (double __x) __attribute__ ((__nothrow__));
1390 extern double cosh (double __x) __attribute__ ((__nothrow__)); extern double __cosh (double __x) __attribute__ ((__nothrow__));
1392 extern double sinh (double __x) __attribute__ ((__nothrow__)); extern double __sinh (double __x) __attribute__ ((__nothrow__));
1394 extern double tanh (double __x) __attribute__ ((__nothrow__)); extern double __tanh (double __x) __attribute__ ((__nothrow__));
1396 # 87 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4
1399 extern double acosh (double __x) __attribute__ ((__nothrow__)); extern double __acosh (double __x) __attribute__ ((__nothrow__));
1401 extern double asinh (double __x) __attribute__ ((__nothrow__)); extern double __asinh (double __x) __attribute__ ((__nothrow__));
1403 extern double atanh (double __x) __attribute__ ((__nothrow__)); extern double __atanh (double __x) __attribute__ ((__nothrow__));
1411 extern double exp (double __x) __attribute__ ((__nothrow__)); extern double __exp (double __x) __attribute__ ((__nothrow__));
1414 extern double frexp (double __x, int *__exponent) __attribute__ ((__nothrow__)); extern double __frexp (double __x, int *__exponent) __attribute__ ((__nothrow__));
1417 extern double ldexp (double __x, int __exponent) __attribute__ ((__nothrow__)); extern double __ldexp (double __x, int __exponent) __attribute__ ((__nothrow__));
1420 extern double log (double __x) __attribute__ ((__nothrow__)); extern double __log (double __x) __attribute__ ((__nothrow__));
1423 extern double log10 (double __x) __attribute__ ((__nothrow__)); extern double __log10 (double __x) __attribute__ ((__nothrow__));
1426 extern double modf (double __x, double *__iptr) __attribute__ ((__nothrow__)); extern double __modf (double __x, double *__iptr) __attribute__ ((__nothrow__));
1428 # 127 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4
1431 extern double expm1 (double __x) __attribute__ ((__nothrow__)); extern double __expm1 (double __x) __attribute__ ((__nothrow__));
1434 extern double log1p (double __x) __attribute__ ((__nothrow__)); extern double __log1p (double __x) __attribute__ ((__nothrow__));
1437 extern double logb (double __x) __attribute__ ((__nothrow__)); extern double __logb (double __x) __attribute__ ((__nothrow__));
1439 # 152 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4
1442 extern double pow (double __x, double __y) __attribute__ ((__nothrow__)); extern double __pow (double __x, double __y) __attribute__ ((__nothrow__));
1445 extern double sqrt (double __x) __attribute__ ((__nothrow__)); extern double __sqrt (double __x) __attribute__ ((__nothrow__));
1451 extern double hypot (double __x, double __y) __attribute__ ((__nothrow__)); extern double __hypot (double __x, double __y) __attribute__ ((__nothrow__));
1458 extern double cbrt (double __x) __attribute__ ((__nothrow__)); extern double __cbrt (double __x) __attribute__ ((__nothrow__));
1467 extern double ceil (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __ceil (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1470 extern double fabs (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __fabs (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1473 extern double floor (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __floor (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1476 extern double fmod (double __x, double __y) __attribute__ ((__nothrow__)); extern double __fmod (double __x, double __y) __attribute__ ((__nothrow__));
1481 extern int __isinf (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1484 extern int __finite (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1490 extern int isinf (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1493 extern int finite (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1496 extern double drem (double __x, double __y) __attribute__ ((__nothrow__)); extern double __drem (double __x, double __y) __attribute__ ((__nothrow__));
1500 extern double significand (double __x) __attribute__ ((__nothrow__)); extern double __significand (double __x) __attribute__ ((__nothrow__));
1506 extern double copysign (double __x, double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __copysign (double __x, double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1508 # 231 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4
1509 extern int __isnan (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1513 extern int isnan (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1516 extern double j0 (double) __attribute__ ((__nothrow__)); extern double __j0 (double) __attribute__ ((__nothrow__));
1517 extern double j1 (double) __attribute__ ((__nothrow__)); extern double __j1 (double) __attribute__ ((__nothrow__));
1518 extern double jn (int, double) __attribute__ ((__nothrow__)); extern double __jn (int, double) __attribute__ ((__nothrow__));
1519 extern double y0 (double) __attribute__ ((__nothrow__)); extern double __y0 (double) __attribute__ ((__nothrow__));
1520 extern double y1 (double) __attribute__ ((__nothrow__)); extern double __y1 (double) __attribute__ ((__nothrow__));
1521 extern double yn (int, double) __attribute__ ((__nothrow__)); extern double __yn (int, double) __attribute__ ((__nothrow__));
1528 extern double erf (double) __attribute__ ((__nothrow__)); extern double __erf (double) __attribute__ ((__nothrow__));
1529 extern double erfc (double) __attribute__ ((__nothrow__)); extern double __erfc (double) __attribute__ ((__nothrow__));
1530 extern double lgamma (double) __attribute__ ((__nothrow__)); extern double __lgamma (double) __attribute__ ((__nothrow__));
1532 # 265 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4
1533 extern double gamma (double) __attribute__ ((__nothrow__)); extern double __gamma (double) __attribute__ ((__nothrow__));
1540 extern double lgamma_r (double, int *__signgamp) __attribute__ ((__nothrow__)); extern double __lgamma_r (double, int *__signgamp) __attribute__ ((__nothrow__));
1548 extern double rint (double __x) __attribute__ ((__nothrow__)); extern double __rint (double __x) __attribute__ ((__nothrow__));
1551 extern double nextafter (double __x, double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __nextafter (double __x, double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1557 extern double remainder (double __x, double __y) __attribute__ ((__nothrow__)); extern double __remainder (double __x, double __y) __attribute__ ((__nothrow__));
1561 extern double scalbn (double __x, int __n) __attribute__ ((__nothrow__)); extern double __scalbn (double __x, int __n) __attribute__ ((__nothrow__));
1565 extern int ilogb (double __x) __attribute__ ((__nothrow__)); extern int __ilogb (double __x) __attribute__ ((__nothrow__));
1566 # 359 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4
1572 extern double scalb (double __x, double __n) __attribute__ ((__nothrow__)); extern double __scalb (double __x, double __n) __attribute__ ((__nothrow__));
1573 # 9 "/usr/include/bits/mathcalls.h" 2 3 4
1574 # 72 "/usr/include/gentoo-multilib/ppc64/math.h" 2 3 4
1575 # 94 "/usr/include/gentoo-multilib/ppc64/math.h" 3 4
1576 # 1 "/usr/include/bits/mathcalls.h" 1 3 4
1584 # 1 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 1 3 4
1585 # 53 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4
1588 extern float acosf (float __x) __attribute__ ((__nothrow__)); extern float __acosf (float __x) __attribute__ ((__nothrow__));
1590 extern float asinf (float __x) __attribute__ ((__nothrow__)); extern float __asinf (float __x) __attribute__ ((__nothrow__));
1592 extern float atanf (float __x) __attribute__ ((__nothrow__)); extern float __atanf (float __x) __attribute__ ((__nothrow__));
1594 extern float atan2f (float __y, float __x) __attribute__ ((__nothrow__)); extern float __atan2f (float __y, float __x) __attribute__ ((__nothrow__));
1597 extern float cosf (float __x) __attribute__ ((__nothrow__)); extern float __cosf (float __x) __attribute__ ((__nothrow__));
1599 extern float sinf (float __x) __attribute__ ((__nothrow__)); extern float __sinf (float __x) __attribute__ ((__nothrow__));
1601 extern float tanf (float __x) __attribute__ ((__nothrow__)); extern float __tanf (float __x) __attribute__ ((__nothrow__));
1606 extern float coshf (float __x) __attribute__ ((__nothrow__)); extern float __coshf (float __x) __attribute__ ((__nothrow__));
1608 extern float sinhf (float __x) __attribute__ ((__nothrow__)); extern float __sinhf (float __x) __attribute__ ((__nothrow__));
1610 extern float tanhf (float __x) __attribute__ ((__nothrow__)); extern float __tanhf (float __x) __attribute__ ((__nothrow__));
1612 # 87 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4
1615 extern float acoshf (float __x) __attribute__ ((__nothrow__)); extern float __acoshf (float __x) __attribute__ ((__nothrow__));
1617 extern float asinhf (float __x) __attribute__ ((__nothrow__)); extern float __asinhf (float __x) __attribute__ ((__nothrow__));
1619 extern float atanhf (float __x) __attribute__ ((__nothrow__)); extern float __atanhf (float __x) __attribute__ ((__nothrow__));
1627 extern float expf (float __x) __attribute__ ((__nothrow__)); extern float __expf (float __x) __attribute__ ((__nothrow__));
1630 extern float frexpf (float __x, int *__exponent) __attribute__ ((__nothrow__)); extern float __frexpf (float __x, int *__exponent) __attribute__ ((__nothrow__));
1633 extern float ldexpf (float __x, int __exponent) __attribute__ ((__nothrow__)); extern float __ldexpf (float __x, int __exponent) __attribute__ ((__nothrow__));
1636 extern float logf (float __x) __attribute__ ((__nothrow__)); extern float __logf (float __x) __attribute__ ((__nothrow__));
1639 extern float log10f (float __x) __attribute__ ((__nothrow__)); extern float __log10f (float __x) __attribute__ ((__nothrow__));
1642 extern float modff (float __x, float *__iptr) __attribute__ ((__nothrow__)); extern float __modff (float __x, float *__iptr) __attribute__ ((__nothrow__));
1644 # 127 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4
1647 extern float expm1f (float __x) __attribute__ ((__nothrow__)); extern float __expm1f (float __x) __attribute__ ((__nothrow__));
1650 extern float log1pf (float __x) __attribute__ ((__nothrow__)); extern float __log1pf (float __x) __attribute__ ((__nothrow__));
1653 extern float logbf (float __x) __attribute__ ((__nothrow__)); extern float __logbf (float __x) __attribute__ ((__nothrow__));
1655 # 152 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4
1658 extern float powf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __powf (float __x, float __y) __attribute__ ((__nothrow__));
1661 extern float sqrtf (float __x) __attribute__ ((__nothrow__)); extern float __sqrtf (float __x) __attribute__ ((__nothrow__));
1667 extern float hypotf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __hypotf (float __x, float __y) __attribute__ ((__nothrow__));
1674 extern float cbrtf (float __x) __attribute__ ((__nothrow__)); extern float __cbrtf (float __x) __attribute__ ((__nothrow__));
1683 extern float ceilf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __ceilf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1686 extern float fabsf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __fabsf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1689 extern float floorf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __floorf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1692 extern float fmodf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __fmodf (float __x, float __y) __attribute__ ((__nothrow__));
1697 extern int __isinff (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1700 extern int __finitef (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1706 extern int isinff (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1709 extern int finitef (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1712 extern float dremf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __dremf (float __x, float __y) __attribute__ ((__nothrow__));
1716 extern float significandf (float __x) __attribute__ ((__nothrow__)); extern float __significandf (float __x) __attribute__ ((__nothrow__));
1722 extern float copysignf (float __x, float __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __copysignf (float __x, float __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1724 # 231 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4
1725 extern int __isnanf (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1729 extern int isnanf (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1732 extern float j0f (float) __attribute__ ((__nothrow__)); extern float __j0f (float) __attribute__ ((__nothrow__));
1733 extern float j1f (float) __attribute__ ((__nothrow__)); extern float __j1f (float) __attribute__ ((__nothrow__));
1734 extern float jnf (int, float) __attribute__ ((__nothrow__)); extern float __jnf (int, float) __attribute__ ((__nothrow__));
1735 extern float y0f (float) __attribute__ ((__nothrow__)); extern float __y0f (float) __attribute__ ((__nothrow__));
1736 extern float y1f (float) __attribute__ ((__nothrow__)); extern float __y1f (float) __attribute__ ((__nothrow__));
1737 extern float ynf (int, float) __attribute__ ((__nothrow__)); extern float __ynf (int, float) __attribute__ ((__nothrow__));
1744 extern float erff (float) __attribute__ ((__nothrow__)); extern float __erff (float) __attribute__ ((__nothrow__));
1745 extern float erfcf (float) __attribute__ ((__nothrow__)); extern float __erfcf (float) __attribute__ ((__nothrow__));
1746 extern float lgammaf (float) __attribute__ ((__nothrow__)); extern float __lgammaf (float) __attribute__ ((__nothrow__));
1748 # 265 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4
1749 extern float gammaf (float) __attribute__ ((__nothrow__)); extern float __gammaf (float) __attribute__ ((__nothrow__));
1756 extern float lgammaf_r (float, int *__signgamp) __attribute__ ((__nothrow__)); extern float __lgammaf_r (float, int *__signgamp) __attribute__ ((__nothrow__));
1764 extern float rintf (float __x) __attribute__ ((__nothrow__)); extern float __rintf (float __x) __attribute__ ((__nothrow__));
1767 extern float nextafterf (float __x, float __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __nextafterf (float __x, float __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1773 extern float remainderf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __remainderf (float __x, float __y) __attribute__ ((__nothrow__));
1777 extern float scalbnf (float __x, int __n) __attribute__ ((__nothrow__)); extern float __scalbnf (float __x, int __n) __attribute__ ((__nothrow__));
1781 extern int ilogbf (float __x) __attribute__ ((__nothrow__)); extern int __ilogbf (float __x) __attribute__ ((__nothrow__));
1782 # 359 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4
1788 extern float scalbf (float __x, float __n) __attribute__ ((__nothrow__)); extern float __scalbf (float __x, float __n) __attribute__ ((__nothrow__));
1789 # 9 "/usr/include/bits/mathcalls.h" 2 3 4
1790 # 95 "/usr/include/gentoo-multilib/ppc64/math.h" 2 3 4
1791 # 141 "/usr/include/gentoo-multilib/ppc64/math.h" 3 4
1792 # 1 "/usr/include/bits/mathcalls.h" 1 3 4
1800 # 1 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 1 3 4
1801 # 53 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4
1804 extern long double acosl (long double __x) __asm__ ("" "acos") __attribute__ ((__nothrow__)); extern long double __acosl (long double __x) __asm__ ("" "__acos") __attribute__ ((__nothrow__));
1806 extern long double asinl (long double __x) __asm__ ("" "asin") __attribute__ ((__nothrow__)); extern long double __asinl (long double __x) __asm__ ("" "__asin") __attribute__ ((__nothrow__));
1808 extern long double atanl (long double __x) __asm__ ("" "atan") __attribute__ ((__nothrow__)); extern long double __atanl (long double __x) __asm__ ("" "__atan") __attribute__ ((__nothrow__));
1810 extern long double atan2l (long double __y, long double __x) __asm__ ("" "atan2") __attribute__ ((__nothrow__)); extern long double __atan2l (long double __y, long double __x) __asm__ ("" "__atan2") __attribute__ ((__nothrow__));
1813 extern long double cosl (long double __x) __asm__ ("" "cos") __attribute__ ((__nothrow__)); extern long double __cosl (long double __x) __asm__ ("" "__cos") __attribute__ ((__nothrow__));
1815 extern long double sinl (long double __x) __asm__ ("" "sin") __attribute__ ((__nothrow__)); extern long double __sinl (long double __x) __asm__ ("" "__sin") __attribute__ ((__nothrow__));
1817 extern long double tanl (long double __x) __asm__ ("" "tan") __attribute__ ((__nothrow__)); extern long double __tanl (long double __x) __asm__ ("" "__tan") __attribute__ ((__nothrow__));
1822 extern long double coshl (long double __x) __asm__ ("" "cosh") __attribute__ ((__nothrow__)); extern long double __coshl (long double __x) __asm__ ("" "__cosh") __attribute__ ((__nothrow__));
1824 extern long double sinhl (long double __x) __asm__ ("" "sinh") __attribute__ ((__nothrow__)); extern long double __sinhl (long double __x) __asm__ ("" "__sinh") __attribute__ ((__nothrow__));
1826 extern long double tanhl (long double __x) __asm__ ("" "tanh") __attribute__ ((__nothrow__)); extern long double __tanhl (long double __x) __asm__ ("" "__tanh") __attribute__ ((__nothrow__));
1828 # 87 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4
1831 extern long double acoshl (long double __x) __asm__ ("" "acosh") __attribute__ ((__nothrow__)); extern long double __acoshl (long double __x) __asm__ ("" "__acosh") __attribute__ ((__nothrow__));
1833 extern long double asinhl (long double __x) __asm__ ("" "asinh") __attribute__ ((__nothrow__)); extern long double __asinhl (long double __x) __asm__ ("" "__asinh") __attribute__ ((__nothrow__));
1835 extern long double atanhl (long double __x) __asm__ ("" "atanh") __attribute__ ((__nothrow__)); extern long double __atanhl (long double __x) __asm__ ("" "__atanh") __attribute__ ((__nothrow__));
1843 extern long double expl (long double __x) __asm__ ("" "exp") __attribute__ ((__nothrow__)); extern long double __expl (long double __x) __asm__ ("" "__exp") __attribute__ ((__nothrow__));
1846 extern long double frexpl (long double __x, int *__exponent) __asm__ ("" "frexp") __attribute__ ((__nothrow__)); extern long double __frexpl (long double __x, int *__exponent) __asm__ ("" "__frexp") __attribute__ ((__nothrow__));
1849 extern long double ldexpl (long double __x, int __exponent) __asm__ ("" "ldexp") __attribute__ ((__nothrow__)); extern long double __ldexpl (long double __x, int __exponent) __asm__ ("" "__ldexp") __attribute__ ((__nothrow__));
1852 extern long double logl (long double __x) __asm__ ("" "log") __attribute__ ((__nothrow__)); extern long double __logl (long double __x) __asm__ ("" "__log") __attribute__ ((__nothrow__));
1855 extern long double log10l (long double __x) __asm__ ("" "log10") __attribute__ ((__nothrow__)); extern long double __log10l (long double __x) __asm__ ("" "__log10") __attribute__ ((__nothrow__));
1858 extern long double modfl (long double __x, long double *__iptr) __asm__ ("" "modf") __attribute__ ((__nothrow__)); extern long double __modfl (long double __x, long double *__iptr) __asm__ ("" "__modf") __attribute__ ((__nothrow__));
1860 # 127 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4
1863 extern long double expm1l (long double __x) __asm__ ("" "expm1") __attribute__ ((__nothrow__)); extern long double __expm1l (long double __x) __asm__ ("" "__expm1") __attribute__ ((__nothrow__));
1866 extern long double log1pl (long double __x) __asm__ ("" "log1p") __attribute__ ((__nothrow__)); extern long double __log1pl (long double __x) __asm__ ("" "__log1p") __attribute__ ((__nothrow__));
1869 extern long double logbl (long double __x) __asm__ ("" "logb") __attribute__ ((__nothrow__)); extern long double __logbl (long double __x) __asm__ ("" "__logb") __attribute__ ((__nothrow__));
1871 # 152 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4
1874 extern long double powl (long double __x, long double __y) __asm__ ("" "pow") __attribute__ ((__nothrow__)); extern long double __powl (long double __x, long double __y) __asm__ ("" "__pow") __attribute__ ((__nothrow__));
1877 extern long double sqrtl (long double __x) __asm__ ("" "sqrt") __attribute__ ((__nothrow__)); extern long double __sqrtl (long double __x) __asm__ ("" "__sqrt") __attribute__ ((__nothrow__));
1883 extern long double hypotl (long double __x, long double __y) __asm__ ("" "hypot") __attribute__ ((__nothrow__)); extern long double __hypotl (long double __x, long double __y) __asm__ ("" "__hypot") __attribute__ ((__nothrow__));
1890 extern long double cbrtl (long double __x) __asm__ ("" "cbrt") __attribute__ ((__nothrow__)); extern long double __cbrtl (long double __x) __asm__ ("" "__cbrt") __attribute__ ((__nothrow__));
1899 extern long double ceill (long double __x) __asm__ ("" "ceil") __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __ceill (long double __x) __asm__ ("" "__ceil") __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1902 extern long double fabsl (long double __x) __asm__ ("" "fabs") __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __fabsl (long double __x) __asm__ ("" "__fabs") __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1905 extern long double floorl (long double __x) __asm__ ("" "floor") __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __floorl (long double __x) __asm__ ("" "__floor") __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1908 extern long double fmodl (long double __x, long double __y) __asm__ ("" "fmod") __attribute__ ((__nothrow__)); extern long double __fmodl (long double __x, long double __y) __asm__ ("" "__fmod") __attribute__ ((__nothrow__));
1913 extern int __isinfl (long double __value) __asm__ ("" "__isinf") __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1916 extern int __finitel (long double __value) __asm__ ("" "__finite") __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1922 extern int isinfl (long double __value) __asm__ ("" "isinf") __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1925 extern int finitel (long double __value) __asm__ ("" "finite") __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1928 extern long double dreml (long double __x, long double __y) __asm__ ("" "drem") __attribute__ ((__nothrow__)); extern long double __dreml (long double __x, long double __y) __asm__ ("" "__drem") __attribute__ ((__nothrow__));
1932 extern long double significandl (long double __x) __asm__ ("" "significand") __attribute__ ((__nothrow__)); extern long double __significandl (long double __x) __asm__ ("" "__significand") __attribute__ ((__nothrow__));
1938 extern long double copysignl (long double __x, long double __y) __asm__ ("" "copysign") __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __copysignl (long double __x, long double __y) __asm__ ("" "__copysign") __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1940 # 231 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4
1941 extern int __isnanl (long double __value) __asm__ ("" "__isnan") __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1945 extern int isnanl (long double __value) __asm__ ("" "isnan") __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1948 extern long double j0l (long double) __asm__ ("" "j0") __attribute__ ((__nothrow__)); extern long double __j0l (long double) __asm__ ("" "__j0") __attribute__ ((__nothrow__));
1949 extern long double j1l (long double) __asm__ ("" "j1") __attribute__ ((__nothrow__)); extern long double __j1l (long double) __asm__ ("" "__j1") __attribute__ ((__nothrow__));
1950 extern long double jnl (int, long double) __asm__ ("" "jn") __attribute__ ((__nothrow__)); extern long double __jnl (int, long double) __asm__ ("" "__jn") __attribute__ ((__nothrow__));
1951 extern long double y0l (long double) __asm__ ("" "y0") __attribute__ ((__nothrow__)); extern long double __y0l (long double) __asm__ ("" "__y0") __attribute__ ((__nothrow__));
1952 extern long double y1l (long double) __asm__ ("" "y1") __attribute__ ((__nothrow__)); extern long double __y1l (long double) __asm__ ("" "__y1") __attribute__ ((__nothrow__));
1953 extern long double ynl (int, long double) __asm__ ("" "yn") __attribute__ ((__nothrow__)); extern long double __ynl (int, long double) __asm__ ("" "__yn") __attribute__ ((__nothrow__));
1960 extern long double erfl (long double) __asm__ ("" "erf") __attribute__ ((__nothrow__)); extern long double __erfl (long double) __asm__ ("" "__erf") __attribute__ ((__nothrow__));
1961 extern long double erfcl (long double) __asm__ ("" "erfc") __attribute__ ((__nothrow__)); extern long double __erfcl (long double) __asm__ ("" "__erfc") __attribute__ ((__nothrow__));
1962 extern long double lgammal (long double) __asm__ ("" "lgamma") __attribute__ ((__nothrow__)); extern long double __lgammal (long double) __asm__ ("" "__lgamma") __attribute__ ((__nothrow__));
1964 # 265 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4
1965 extern long double gammal (long double) __asm__ ("" "gamma") __attribute__ ((__nothrow__)); extern long double __gammal (long double) __asm__ ("" "__gamma") __attribute__ ((__nothrow__));
1972 extern long double lgammal_r (long double, int *__signgamp) __asm__ ("" "lgamma_r") __attribute__ ((__nothrow__)); extern long double __lgammal_r (long double, int *__signgamp) __asm__ ("" "__lgamma_r") __attribute__ ((__nothrow__));
1980 extern long double rintl (long double __x) __asm__ ("" "rint") __attribute__ ((__nothrow__)); extern long double __rintl (long double __x) __asm__ ("" "__rint") __attribute__ ((__nothrow__));
1983 extern long double nextafterl (long double __x, long double __y) __asm__ ("" "nextafter") __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __nextafterl (long double __x, long double __y) __asm__ ("" "__nextafter") __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1989 extern long double remainderl (long double __x, long double __y) __asm__ ("" "remainder") __attribute__ ((__nothrow__)); extern long double __remainderl (long double __x, long double __y) __asm__ ("" "__remainder") __attribute__ ((__nothrow__));
1993 extern long double scalbnl (long double __x, int __n) __asm__ ("" "scalbn") __attribute__ ((__nothrow__)); extern long double __scalbnl (long double __x, int __n) __asm__ ("" "__scalbn") __attribute__ ((__nothrow__));
1997 extern int ilogbl (long double __x) __asm__ ("" "ilogb") __attribute__ ((__nothrow__)); extern int __ilogbl (long double __x) __asm__ ("" "__ilogb") __attribute__ ((__nothrow__));
1998 # 359 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4
2004 extern long double scalbl (long double __x, long double __n) __asm__ ("" "scalb") __attribute__ ((__nothrow__)); extern long double __scalbl (long double __x, long double __n) __asm__ ("" "__scalb") __attribute__ ((__nothrow__));
2005 # 9 "/usr/include/bits/mathcalls.h" 2 3 4
2006 # 142 "/usr/include/gentoo-multilib/ppc64/math.h" 2 3 4
2007 # 157 "/usr/include/gentoo-multilib/ppc64/math.h" 3 4
2009 # 284 "/usr/include/gentoo-multilib/ppc64/math.h" 3 4
2017 } _LIB_VERSION_TYPE;
2022 extern _LIB_VERSION_TYPE _LIB_VERSION;
2023 # 309 "/usr/include/gentoo-multilib/ppc64/math.h" 3 4
2037 extern int matherr (struct exception *__exc);
2038 # 409 "/usr/include/gentoo-multilib/ppc64/math.h" 3 4
2039 # 1 "/usr/include/bits/mathinline.h" 1 3 4
2047 # 1 "/usr/include/gentoo-multilib/ppc64/bits/mathinline.h" 1 3 4
2048 # 9 "/usr/include/bits/mathinline.h" 2 3 4
2049 # 410 "/usr/include/gentoo-multilib/ppc64/math.h" 2 3 4
2050 # 465 "/usr/include/gentoo-multilib/ppc64/math.h" 3 4
2052 # 9 "/usr/include/math.h" 2 3 4
2055 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/limits.h" 1 3 4
2056 # 11 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/limits.h" 3 4
2057 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/syslimits.h" 1 3 4
2064 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/limits.h" 1 3 4
2065 # 122 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/limits.h" 3 4
2066 # 1 "/usr/include/limits.h" 1 3 4
2074 # 1 "/usr/include/gentoo-multilib/ppc64/limits.h" 1 3 4
2075 # 27 "/usr/include/gentoo-multilib/ppc64/limits.h" 3 4
2076 # 1 "/usr/include/features.h" 1 3 4
2077 # 28 "/usr/include/gentoo-multilib/ppc64/limits.h" 2 3 4
2078 # 145 "/usr/include/gentoo-multilib/ppc64/limits.h" 3 4
2079 # 1 "/usr/include/bits/posix1_lim.h" 1 3 4
2087 # 1 "/usr/include/gentoo-multilib/ppc64/bits/posix1_lim.h" 1 3 4
2088 # 153 "/usr/include/gentoo-multilib/ppc64/bits/posix1_lim.h" 3 4
2089 # 1 "/usr/include/bits/local_lim.h" 1 3 4
2097 # 1 "/usr/include/gentoo-multilib/ppc64/bits/local_lim.h" 1 3 4
2098 # 36 "/usr/include/gentoo-multilib/ppc64/bits/local_lim.h" 3 4
2099 # 1 "/usr/include/linux/limits.h" 1 3 4
2100 # 37 "/usr/include/gentoo-multilib/ppc64/bits/local_lim.h" 2 3 4
2101 # 9 "/usr/include/bits/local_lim.h" 2 3 4
2102 # 154 "/usr/include/gentoo-multilib/ppc64/bits/posix1_lim.h" 2 3 4
2103 # 9 "/usr/include/bits/posix1_lim.h" 2 3 4
2104 # 146 "/usr/include/gentoo-multilib/ppc64/limits.h" 2 3 4
2108 # 1 "/usr/include/bits/posix2_lim.h" 1 3 4
2116 # 1 "/usr/include/gentoo-multilib/ppc64/bits/posix2_lim.h" 1 3 4
2117 # 9 "/usr/include/bits/posix2_lim.h" 2 3 4
2118 # 150 "/usr/include/gentoo-multilib/ppc64/limits.h" 2 3 4
2119 # 9 "/usr/include/limits.h" 2 3 4
2120 # 123 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/limits.h" 2 3 4
2121 # 8 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/syslimits.h" 2 3 4
2122 # 12 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/limits.h" 2 3 4
2124 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/float.h" 1 3 4
2126 # 1 "/usr/include/ctype.h" 1 3 4
2134 # 1 "/usr/include/gentoo-multilib/ppc64/ctype.h" 1 3 4
2135 # 27 "/usr/include/gentoo-multilib/ppc64/ctype.h" 3 4
2136 # 1 "/usr/include/features.h" 1 3 4
2137 # 28 "/usr/include/gentoo-multilib/ppc64/ctype.h" 2 3 4
2138 # 1 "/usr/include/bits/types.h" 1 3 4
2139 # 29 "/usr/include/gentoo-multilib/ppc64/ctype.h" 2 3 4
2142 # 41 "/usr/include/gentoo-multilib/ppc64/ctype.h" 3 4
2143 # 1 "/usr/include/endian.h" 1 3 4
2151 # 1 "/usr/include/gentoo-multilib/ppc64/endian.h" 1 3 4
2152 # 22 "/usr/include/gentoo-multilib/ppc64/endian.h" 3 4
2153 # 1 "/usr/include/features.h" 1 3 4
2154 # 23 "/usr/include/gentoo-multilib/ppc64/endian.h" 2 3 4
2155 # 37 "/usr/include/gentoo-multilib/ppc64/endian.h" 3 4
2156 # 1 "/usr/include/bits/endian.h" 1 3 4
2164 # 1 "/usr/include/gentoo-multilib/ppc64/bits/endian.h" 1 3 4
2165 # 9 "/usr/include/bits/endian.h" 2 3 4
2166 # 38 "/usr/include/gentoo-multilib/ppc64/endian.h" 2 3 4
2167 # 9 "/usr/include/endian.h" 2 3 4
2168 # 42 "/usr/include/gentoo-multilib/ppc64/ctype.h" 2 3 4
2177 _ISupper = (1 << (0)),
2178 _ISlower = (1 << (1)),
2179 _ISalpha = (1 << (2)),
2180 _ISdigit = (1 << (3)),
2181 _ISxdigit = (1 << (4)),
2182 _ISspace = (1 << (5)),
2183 _ISprint = (1 << (6)),
2184 _ISgraph = (1 << (7)),
2185 _ISblank = (1 << (8)),
2186 _IScntrl = (1 << (9)),
2187 _ISpunct = (1 << (10)),
2188 _ISalnum = (1 << (11))
2190 # 81 "/usr/include/gentoo-multilib/ppc64/ctype.h" 3 4
2191 extern __const unsigned short int **__ctype_b_loc (void)
2192 __attribute__ ((__const));
2193 extern __const __int32_t **__ctype_tolower_loc (void)
2194 __attribute__ ((__const));
2195 extern __const __int32_t **__ctype_toupper_loc (void)
2196 __attribute__ ((__const));
2197 # 96 "/usr/include/gentoo-multilib/ppc64/ctype.h" 3 4
2204 extern int isalnum (int) __attribute__ ((__nothrow__));
2205 extern int isalpha (int) __attribute__ ((__nothrow__));
2206 extern int iscntrl (int) __attribute__ ((__nothrow__));
2207 extern int isdigit (int) __attribute__ ((__nothrow__));
2208 extern int islower (int) __attribute__ ((__nothrow__));
2209 extern int isgraph (int) __attribute__ ((__nothrow__));
2210 extern int isprint (int) __attribute__ ((__nothrow__));
2211 extern int ispunct (int) __attribute__ ((__nothrow__));
2212 extern int isspace (int) __attribute__ ((__nothrow__));
2213 extern int isupper (int) __attribute__ ((__nothrow__));
2214 extern int isxdigit (int) __attribute__ ((__nothrow__));
2218 extern int tolower (int __c) __attribute__ ((__nothrow__));
2221 extern int toupper (int __c) __attribute__ ((__nothrow__));
2224 # 142 "/usr/include/gentoo-multilib/ppc64/ctype.h" 3 4
2225 extern int isascii (int __c) __attribute__ ((__nothrow__));
2229 extern int toascii (int __c) __attribute__ ((__nothrow__));
2233 extern int _toupper (int) __attribute__ ((__nothrow__));
2234 extern int _tolower (int) __attribute__ ((__nothrow__));
2235 # 190 "/usr/include/gentoo-multilib/ppc64/ctype.h" 3 4
2237 __attribute__ ((__nothrow__)) tolower (int __c)
2239 return __c >= -128 && __c < 256 ? (*__ctype_tolower_loc ())[__c] : __c;
2243 __attribute__ ((__nothrow__)) toupper (int __c)
2245 return __c >= -128 && __c < 256 ? (*__ctype_toupper_loc ())[__c] : __c;
2247 # 323 "/usr/include/gentoo-multilib/ppc64/ctype.h" 3 4
2249 # 9 "/usr/include/ctype.h" 2 3 4
2252 # 1 "/usr/include/libintl.h" 1 3 4
2260 # 1 "/usr/include/gentoo-multilib/ppc64/libintl.h" 1 3 4
2261 # 24 "/usr/include/gentoo-multilib/ppc64/libintl.h" 3 4
2262 # 1 "/usr/include/features.h" 1 3 4
2263 # 25 "/usr/include/gentoo-multilib/ppc64/libintl.h" 2 3 4
2264 # 35 "/usr/include/gentoo-multilib/ppc64/libintl.h" 3 4
2270 extern char *gettext (__const char *__msgid)
2271 __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (1)));
2275 extern char *dgettext (__const char *__domainname, __const char *__msgid)
2276 __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (2)));
2277 extern char *__dgettext (__const char *__domainname, __const char *__msgid)
2278 __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (2)));
2282 extern char *dcgettext (__const char *__domainname,
2283 __const char *__msgid, int __category)
2284 __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (2)));
2285 extern char *__dcgettext (__const char *__domainname,
2286 __const char *__msgid, int __category)
2287 __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (2)));
2292 extern char *ngettext (__const char *__msgid1, __const char *__msgid2,
2293 unsigned long int __n)
2294 __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (1))) __attribute__ ((__format_arg__ (2)));
2298 extern char *dngettext (__const char *__domainname, __const char *__msgid1,
2299 __const char *__msgid2, unsigned long int __n)
2300 __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3)));
2304 extern char *dcngettext (__const char *__domainname, __const char *__msgid1,
2305 __const char *__msgid2, unsigned long int __n,
2307 __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3)));
2313 extern char *textdomain (__const char *__domainname) __attribute__ ((__nothrow__));
2317 extern char *bindtextdomain (__const char *__domainname,
2318 __const char *__dirname) __attribute__ ((__nothrow__));
2322 extern char *bind_textdomain_codeset (__const char *__domainname,
2323 __const char *__codeset) __attribute__ ((__nothrow__));
2331 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 1 3 4
2332 # 102 "/usr/include/gentoo-multilib/ppc64/libintl.h" 2 3 4
2335 # 1 "/usr/include/locale.h" 1 3 4
2343 # 1 "/usr/include/gentoo-multilib/ppc64/locale.h" 1 3 4
2344 # 26 "/usr/include/gentoo-multilib/ppc64/locale.h" 3 4
2345 # 1 "/usr/include/features.h" 1 3 4
2346 # 27 "/usr/include/gentoo-multilib/ppc64/locale.h" 2 3 4
2349 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 1 3 4
2350 # 30 "/usr/include/gentoo-multilib/ppc64/locale.h" 2 3 4
2351 # 1 "/usr/include/bits/locale.h" 1 3 4
2359 # 1 "/usr/include/gentoo-multilib/ppc64/bits/locale.h" 1 3 4
2360 # 27 "/usr/include/gentoo-multilib/ppc64/bits/locale.h" 3 4
2373 __LC_TELEPHONE = 10,
2374 __LC_MEASUREMENT = 11,
2375 __LC_IDENTIFICATION = 12
2377 # 9 "/usr/include/bits/locale.h" 2 3 4
2378 # 31 "/usr/include/gentoo-multilib/ppc64/locale.h" 2 3 4
2381 # 52 "/usr/include/gentoo-multilib/ppc64/locale.h" 3 4
2386 char *decimal_point;
2387 char *thousands_sep;
2399 char *int_curr_symbol;
2400 char *currency_symbol;
2401 char *mon_decimal_point;
2402 char *mon_thousands_sep;
2404 char *positive_sign;
2405 char *negative_sign;
2406 char int_frac_digits;
2411 char p_sep_by_space;
2415 char n_sep_by_space;
2424 # 112 "/usr/include/gentoo-multilib/ppc64/locale.h" 3 4
2425 char __int_p_cs_precedes;
2426 char __int_p_sep_by_space;
2427 char __int_n_cs_precedes;
2428 char __int_n_sep_by_space;
2429 char __int_p_sign_posn;
2430 char __int_n_sign_posn;
2438 extern char *setlocale (int __category, __const char *__locale) __attribute__ ((__nothrow__));
2441 extern struct lconv *localeconv (void) __attribute__ ((__nothrow__));
2444 # 208 "/usr/include/gentoo-multilib/ppc64/locale.h" 3 4
2446 # 9 "/usr/include/locale.h" 2 3 4
2447 # 105 "/usr/include/gentoo-multilib/ppc64/libintl.h" 2 3 4
2448 # 122 "/usr/include/gentoo-multilib/ppc64/libintl.h" 3 4
2450 # 9 "/usr/include/libintl.h" 2 3 4
2453 # 1 "scheme-private.h" 1
2465 # 1 "/usr/include/stdio.h" 1 3 4
2473 # 1 "/usr/include/gentoo-multilib/ppc64/stdio.h" 1 3 4
2474 # 28 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4
2475 # 1 "/usr/include/features.h" 1 3 4
2476 # 29 "/usr/include/gentoo-multilib/ppc64/stdio.h" 2 3 4
2482 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 1 3 4
2483 # 35 "/usr/include/gentoo-multilib/ppc64/stdio.h" 2 3 4
2485 # 1 "/usr/include/bits/types.h" 1 3 4
2486 # 37 "/usr/include/gentoo-multilib/ppc64/stdio.h" 2 3 4
2496 typedef struct _IO_FILE FILE;
2502 # 62 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4
2503 typedef struct _IO_FILE __FILE;
2504 # 72 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4
2505 # 1 "/usr/include/libio.h" 1 3 4
2513 # 1 "/usr/include/gentoo-multilib/ppc64/libio.h" 1 3 4
2514 # 32 "/usr/include/gentoo-multilib/ppc64/libio.h" 3 4
2515 # 1 "/usr/include/_G_config.h" 1 3 4
2523 # 1 "/usr/include/gentoo-multilib/ppc64/_G_config.h" 1 3 4
2524 # 9 "/usr/include/gentoo-multilib/ppc64/_G_config.h" 3 4
2525 # 1 "/usr/include/bits/types.h" 1 3 4
2526 # 10 "/usr/include/gentoo-multilib/ppc64/_G_config.h" 2 3 4
2531 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 1 3 4
2532 # 326 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 3 4
2533 typedef int wchar_t;
2534 # 355 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 3 4
2535 typedef unsigned int wint_t;
2536 # 15 "/usr/include/gentoo-multilib/ppc64/_G_config.h" 2 3 4
2537 # 24 "/usr/include/gentoo-multilib/ppc64/_G_config.h" 3 4
2538 # 1 "/usr/include/wchar.h" 1 3 4
2546 # 1 "/usr/include/gentoo-multilib/ppc64/wchar.h" 1 3 4
2547 # 48 "/usr/include/gentoo-multilib/ppc64/wchar.h" 3 4
2548 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 1 3 4
2549 # 49 "/usr/include/gentoo-multilib/ppc64/wchar.h" 2 3 4
2551 # 1 "/usr/include/bits/wchar.h" 1 3 4
2559 # 1 "/usr/include/gentoo-multilib/ppc64/bits/wchar.h" 1 3 4
2560 # 9 "/usr/include/bits/wchar.h" 2 3 4
2561 # 51 "/usr/include/gentoo-multilib/ppc64/wchar.h" 2 3 4
2562 # 76 "/usr/include/gentoo-multilib/ppc64/wchar.h" 3 4
2572 # 9 "/usr/include/wchar.h" 2 3 4
2573 # 25 "/usr/include/gentoo-multilib/ppc64/_G_config.h" 2 3 4
2578 __mbstate_t __state;
2583 __mbstate_t __state;
2585 # 44 "/usr/include/gentoo-multilib/ppc64/_G_config.h" 3 4
2586 # 1 "/usr/include/gconv.h" 1 3 4
2594 # 1 "/usr/include/gentoo-multilib/ppc64/gconv.h" 1 3 4
2595 # 26 "/usr/include/gentoo-multilib/ppc64/gconv.h" 3 4
2596 # 1 "/usr/include/features.h" 1 3 4
2597 # 27 "/usr/include/gentoo-multilib/ppc64/gconv.h" 2 3 4
2599 # 1 "/usr/include/wchar.h" 1 3 4
2607 # 1 "/usr/include/gentoo-multilib/ppc64/wchar.h" 1 3 4
2608 # 48 "/usr/include/gentoo-multilib/ppc64/wchar.h" 3 4
2609 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 1 3 4
2610 # 49 "/usr/include/gentoo-multilib/ppc64/wchar.h" 2 3 4
2612 # 1 "/usr/include/bits/wchar.h" 1 3 4
2613 # 51 "/usr/include/gentoo-multilib/ppc64/wchar.h" 2 3 4
2614 # 9 "/usr/include/wchar.h" 2 3 4
2615 # 29 "/usr/include/gentoo-multilib/ppc64/gconv.h" 2 3 4
2618 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 1 3 4
2619 # 32 "/usr/include/gentoo-multilib/ppc64/gconv.h" 2 3 4
2632 __GCONV_EMPTY_INPUT,
2633 __GCONV_FULL_OUTPUT,
2634 __GCONV_ILLEGAL_INPUT,
2635 __GCONV_INCOMPLETE_INPUT,
2637 __GCONV_ILLEGAL_DESCRIPTOR,
2638 __GCONV_INTERNAL_ERROR
2645 __GCONV_IS_LAST = 0x0001,
2646 __GCONV_IGNORE_ERRORS = 0x0002
2651 struct __gconv_step;
2652 struct __gconv_step_data;
2653 struct __gconv_loaded_object;
2654 struct __gconv_trans_data;
2658 typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *,
2659 __const unsigned char **, __const unsigned char *,
2660 unsigned char **, size_t *, int, int);
2663 typedef wint_t (*__gconv_btowc_fct) (struct __gconv_step *, unsigned char);
2666 typedef int (*__gconv_init_fct) (struct __gconv_step *);
2667 typedef void (*__gconv_end_fct) (struct __gconv_step *);
2671 typedef int (*__gconv_trans_fct) (struct __gconv_step *,
2672 struct __gconv_step_data *, void *,
2673 __const unsigned char *,
2674 __const unsigned char **,
2675 __const unsigned char *, unsigned char **,
2679 typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *,
2680 __const unsigned char *,
2681 unsigned char *, unsigned char *);
2684 typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***,
2688 typedef int (*__gconv_trans_init_fct) (void **, const char *);
2689 typedef void (*__gconv_trans_end_fct) (void *);
2691 struct __gconv_trans_data
2694 __gconv_trans_fct __trans_fct;
2695 __gconv_trans_context_fct __trans_context_fct;
2696 __gconv_trans_end_fct __trans_end_fct;
2698 struct __gconv_trans_data *__next;
2705 struct __gconv_loaded_object *__shlib_handle;
2706 __const char *__modname;
2714 __gconv_btowc_fct __btowc_fct;
2715 __gconv_init_fct __init_fct;
2716 __gconv_end_fct __end_fct;
2720 int __min_needed_from;
2721 int __max_needed_from;
2722 int __min_needed_to;
2723 int __max_needed_to;
2733 struct __gconv_step_data
2735 unsigned char *__outbuf;
2736 unsigned char *__outbufend;
2744 int __invocation_counter;
2750 __mbstate_t *__statep;
2751 __mbstate_t __state;
2755 struct __gconv_trans_data *__trans;
2760 typedef struct __gconv_info
2763 struct __gconv_step *__steps;
2764 __extension__ struct __gconv_step_data __data [];
2766 # 9 "/usr/include/gconv.h" 2 3 4
2767 # 45 "/usr/include/gentoo-multilib/ppc64/_G_config.h" 2 3 4
2770 struct __gconv_info __cd;
2773 struct __gconv_info __cd;
2774 struct __gconv_step_data __data;
2778 typedef int _G_int16_t __attribute__ ((__mode__ (__HI__)));
2779 typedef int _G_int32_t __attribute__ ((__mode__ (__SI__)));
2780 typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__)));
2781 typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__)));
2782 # 9 "/usr/include/_G_config.h" 2 3 4
2783 # 33 "/usr/include/gentoo-multilib/ppc64/libio.h" 2 3 4
2784 # 53 "/usr/include/gentoo-multilib/ppc64/libio.h" 3 4
2785 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stdarg.h" 1 3 4
2786 # 43 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stdarg.h" 3 4
2787 typedef __builtin_va_list __gnuc_va_list;
2788 # 54 "/usr/include/gentoo-multilib/ppc64/libio.h" 2 3 4
2789 # 166 "/usr/include/gentoo-multilib/ppc64/libio.h" 3 4
2790 struct _IO_jump_t; struct _IO_FILE;
2791 # 176 "/usr/include/gentoo-multilib/ppc64/libio.h" 3 4
2792 typedef void _IO_lock_t;
2799 struct _IO_marker *_next;
2800 struct _IO_FILE *_sbuf;
2805 # 199 "/usr/include/gentoo-multilib/ppc64/libio.h" 3 4
2809 enum __codecvt_result
2816 # 267 "/usr/include/gentoo-multilib/ppc64/libio.h" 3 4
2825 char* _IO_read_base;
2826 char* _IO_write_base;
2827 char* _IO_write_ptr;
2828 char* _IO_write_end;
2832 char *_IO_save_base;
2833 char *_IO_backup_base;
2836 struct _IO_marker *_markers;
2838 struct _IO_FILE *_chain;
2846 __off_t _old_offset;
2850 unsigned short _cur_column;
2851 signed char _vtable_offset;
2857 # 315 "/usr/include/gentoo-multilib/ppc64/libio.h" 3 4
2859 # 324 "/usr/include/gentoo-multilib/ppc64/libio.h" 3 4
2868 char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)];
2873 typedef struct _IO_FILE _IO_FILE;
2876 struct _IO_FILE_plus;
2878 extern struct _IO_FILE_plus _IO_2_1_stdin_;
2879 extern struct _IO_FILE_plus _IO_2_1_stdout_;
2880 extern struct _IO_FILE_plus _IO_2_1_stderr_;
2881 # 360 "/usr/include/gentoo-multilib/ppc64/libio.h" 3 4
2882 typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes);
2890 typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf,
2899 typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w);
2902 typedef int __io_close_fn (void *__cookie);
2903 # 412 "/usr/include/gentoo-multilib/ppc64/libio.h" 3 4
2904 extern int __underflow (_IO_FILE *) __attribute__ ((__nothrow__));
2905 extern int __uflow (_IO_FILE *) __attribute__ ((__nothrow__));
2906 extern int __overflow (_IO_FILE *, int) __attribute__ ((__nothrow__));
2907 extern wint_t __wunderflow (_IO_FILE *) __attribute__ ((__nothrow__));
2908 extern wint_t __wuflow (_IO_FILE *) __attribute__ ((__nothrow__));
2909 extern wint_t __woverflow (_IO_FILE *, wint_t) __attribute__ ((__nothrow__));
2910 # 450 "/usr/include/gentoo-multilib/ppc64/libio.h" 3 4
2911 extern int _IO_getc (_IO_FILE *__fp) __attribute__ ((__nothrow__));
2912 extern int _IO_putc (int __c, _IO_FILE *__fp) __attribute__ ((__nothrow__));
2913 extern int _IO_feof (_IO_FILE *__fp) __attribute__ ((__nothrow__));
2914 extern int _IO_ferror (_IO_FILE *__fp) __attribute__ ((__nothrow__));
2916 extern int _IO_peekc_locked (_IO_FILE *__fp) __attribute__ ((__nothrow__));
2922 extern void _IO_flockfile (_IO_FILE *) __attribute__ ((__nothrow__));
2923 extern void _IO_funlockfile (_IO_FILE *) __attribute__ ((__nothrow__));
2924 extern int _IO_ftrylockfile (_IO_FILE *) __attribute__ ((__nothrow__));
2925 # 480 "/usr/include/gentoo-multilib/ppc64/libio.h" 3 4
2926 extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict,
2927 __gnuc_va_list, int *__restrict);
2928 extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict,
2930 extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t) __attribute__ ((__nothrow__));
2931 extern size_t _IO_sgetn (_IO_FILE *, void *, size_t) __attribute__ ((__nothrow__));
2933 extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int) __attribute__ ((__nothrow__));
2934 extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int) __attribute__ ((__nothrow__));
2936 extern void _IO_free_backup_area (_IO_FILE *) __attribute__ ((__nothrow__));
2937 # 538 "/usr/include/gentoo-multilib/ppc64/libio.h" 3 4
2938 # 1 "/usr/include/bits/libio-ldbl.h" 1 3 4
2946 # 1 "/usr/include/gentoo-multilib/ppc64/bits/libio-ldbl.h" 1 3 4
2947 # 24 "/usr/include/gentoo-multilib/ppc64/bits/libio-ldbl.h" 3 4
2948 extern __typeof (_IO_vfscanf) _IO_vfscanf __asm ("" "__nldbl_" "_IO_vfscanf");
2949 extern __typeof (_IO_vfprintf) _IO_vfprintf __asm ("" "__nldbl_" "_IO_vfprintf");
2950 # 9 "/usr/include/bits/libio-ldbl.h" 2 3 4
2951 # 539 "/usr/include/gentoo-multilib/ppc64/libio.h" 2 3 4
2952 # 9 "/usr/include/libio.h" 2 3 4
2953 # 73 "/usr/include/gentoo-multilib/ppc64/stdio.h" 2 3 4
2954 # 86 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4
2957 typedef _G_fpos_t fpos_t;
2962 # 138 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4
2963 # 1 "/usr/include/bits/stdio_lim.h" 1 3 4
2971 # 1 "/usr/include/gentoo-multilib/ppc64/bits/stdio_lim.h" 1 3 4
2972 # 9 "/usr/include/bits/stdio_lim.h" 2 3 4
2973 # 139 "/usr/include/gentoo-multilib/ppc64/stdio.h" 2 3 4
2977 extern struct _IO_FILE *stdin;
2978 extern struct _IO_FILE *stdout;
2979 extern struct _IO_FILE *stderr;
2987 extern int remove (__const char *__filename) __attribute__ ((__nothrow__));
2989 extern int rename (__const char *__old, __const char *__new) __attribute__ ((__nothrow__));
3004 extern FILE *tmpfile (void);
3005 # 183 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4
3006 extern char *tmpnam (char *__s) __attribute__ ((__nothrow__));
3012 extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__));
3013 # 201 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4
3014 extern char *tempnam (__const char *__dir, __const char *__pfx)
3015 __attribute__ ((__nothrow__)) __attribute__ ((__malloc__));
3024 extern int fclose (FILE *__stream);
3029 extern int fflush (FILE *__stream);
3031 # 226 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4
3032 extern int fflush_unlocked (FILE *__stream);
3033 # 240 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4
3040 extern FILE *fopen (__const char *__restrict __filename,
3041 __const char *__restrict __modes);
3046 extern FILE *freopen (__const char *__restrict __filename,
3047 __const char *__restrict __modes,
3048 FILE *__restrict __stream);
3049 # 267 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4
3051 # 278 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4
3052 extern FILE *fdopen (int __fd, __const char *__modes) __attribute__ ((__nothrow__));
3053 # 298 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4
3057 extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__));
3061 extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
3062 int __modes, size_t __n) __attribute__ ((__nothrow__));
3068 extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
3069 size_t __size) __attribute__ ((__nothrow__));
3072 extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__));
3081 extern int fprintf (FILE *__restrict __stream,
3082 __const char *__restrict __format, ...);
3087 extern int printf (__const char *__restrict __format, ...);
3089 extern int sprintf (char *__restrict __s,
3090 __const char *__restrict __format, ...) __attribute__ ((__nothrow__));
3096 extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format,
3097 __gnuc_va_list __arg);
3102 extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg);
3104 extern int vsprintf (char *__restrict __s, __const char *__restrict __format,
3105 __gnuc_va_list __arg) __attribute__ ((__nothrow__));
3111 extern int snprintf (char *__restrict __s, size_t __maxlen,
3112 __const char *__restrict __format, ...)
3113 __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4)));
3115 extern int vsnprintf (char *__restrict __s, size_t __maxlen,
3116 __const char *__restrict __format, __gnuc_va_list __arg)
3117 __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0)));
3119 # 392 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4
3125 extern int fscanf (FILE *__restrict __stream,
3126 __const char *__restrict __format, ...) ;
3131 extern int scanf (__const char *__restrict __format, ...) ;
3133 extern int sscanf (__const char *__restrict __s,
3134 __const char *__restrict __format, ...) __attribute__ ((__nothrow__));
3136 # 434 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4
3142 extern int fgetc (FILE *__stream);
3143 extern int getc (FILE *__stream);
3149 extern int getchar (void);
3151 # 458 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4
3152 extern int getc_unlocked (FILE *__stream);
3153 extern int getchar_unlocked (void);
3154 # 469 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4
3155 extern int fgetc_unlocked (FILE *__stream);
3167 extern int fputc (int __c, FILE *__stream);
3168 extern int putc (int __c, FILE *__stream);
3174 extern int putchar (int __c);
3176 # 502 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4
3177 extern int fputc_unlocked (int __c, FILE *__stream);
3185 extern int putc_unlocked (int __c, FILE *__stream);
3186 extern int putchar_unlocked (int __c);
3193 extern int getw (FILE *__stream);
3196 extern int putw (int __w, FILE *__stream);
3205 extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
3213 extern char *gets (char *__s) ;
3215 # 583 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4
3221 extern int fputs (__const char *__restrict __s, FILE *__restrict __stream);
3227 extern int puts (__const char *__s);
3234 extern int ungetc (int __c, FILE *__stream);
3241 extern size_t fread (void *__restrict __ptr, size_t __size,
3242 size_t __n, FILE *__restrict __stream) ;
3247 extern size_t fwrite (__const void *__restrict __ptr, size_t __size,
3248 size_t __n, FILE *__restrict __s) ;
3250 # 636 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4
3251 extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
3252 size_t __n, FILE *__restrict __stream) ;
3253 extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size,
3254 size_t __n, FILE *__restrict __stream) ;
3263 extern int fseek (FILE *__stream, long int __off, int __whence);
3268 extern long int ftell (FILE *__stream) ;
3273 extern void rewind (FILE *__stream);
3275 # 672 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4
3276 extern int fseeko (FILE *__stream, __off_t __off, int __whence);
3281 extern __off_t ftello (FILE *__stream) ;
3282 # 691 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4
3289 extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos);
3294 extern int fsetpos (FILE *__stream, __const fpos_t *__pos);
3295 # 714 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4
3297 # 723 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4
3300 extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__));
3302 extern int feof (FILE *__stream) __attribute__ ((__nothrow__)) ;
3304 extern int ferror (FILE *__stream) __attribute__ ((__nothrow__)) ;
3309 extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__));
3310 extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ;
3311 extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ;
3320 extern void perror (__const char *__s);
3327 # 1 "/usr/include/bits/sys_errlist.h" 1 3 4
3335 # 1 "/usr/include/gentoo-multilib/ppc64/bits/sys_errlist.h" 1 3 4
3336 # 27 "/usr/include/gentoo-multilib/ppc64/bits/sys_errlist.h" 3 4
3337 extern int sys_nerr;
3338 extern __const char *__const sys_errlist[];
3339 # 9 "/usr/include/bits/sys_errlist.h" 2 3 4
3340 # 753 "/usr/include/gentoo-multilib/ppc64/stdio.h" 2 3 4
3345 extern int fileno (FILE *__stream) __attribute__ ((__nothrow__)) ;
3350 extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ;
3351 # 772 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4
3352 extern FILE *popen (__const char *__command, __const char *__modes) ;
3358 extern int pclose (FILE *__stream);
3364 extern char *ctermid (char *__s) __attribute__ ((__nothrow__));
3365 # 812 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4
3366 extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__));
3370 extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__)) ;
3373 extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__));
3374 # 833 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4
3375 # 1 "/usr/include/bits/stdio.h" 1 3 4
3383 # 1 "/usr/include/gentoo-multilib/ppc64/bits/stdio.h" 1 3 4
3384 # 33 "/usr/include/gentoo-multilib/ppc64/bits/stdio.h" 3 4
3386 vprintf (__const char *__restrict __fmt, __gnuc_va_list __arg)
3388 return vfprintf (stdout, __fmt, __arg);
3395 return _IO_getc (stdin);
3402 getc_unlocked (FILE *__fp)
3404 return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++);
3409 getchar_unlocked (void)
3411 return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++);
3420 return _IO_putc (__c, stdout);
3427 fputc_unlocked (int __c, FILE *__stream)
3429 return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
3437 putc_unlocked (int __c, FILE *__stream)
3439 return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
3444 putchar_unlocked (int __c)
3446 return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c)));
3448 # 111 "/usr/include/gentoo-multilib/ppc64/bits/stdio.h" 3 4
3450 __attribute__ ((__nothrow__)) feof_unlocked (FILE *__stream)
3452 return (((__stream)->_flags & 0x10) != 0);
3457 __attribute__ ((__nothrow__)) ferror_unlocked (FILE *__stream)
3459 return (((__stream)->_flags & 0x20) != 0);
3461 # 9 "/usr/include/bits/stdio.h" 2 3 4
3462 # 834 "/usr/include/gentoo-multilib/ppc64/stdio.h" 2 3 4
3468 # 1 "/usr/include/bits/stdio-ldbl.h" 1 3 4
3476 # 1 "/usr/include/gentoo-multilib/ppc64/bits/stdio-ldbl.h" 1 3 4
3477 # 24 "/usr/include/gentoo-multilib/ppc64/bits/stdio-ldbl.h" 3 4
3479 extern __typeof (fprintf) fprintf __asm ("" "__nldbl_" "fprintf");
3480 extern __typeof (printf) printf __asm ("" "__nldbl_" "printf");
3481 extern __typeof (sprintf) sprintf __asm ("" "__nldbl_" "sprintf");
3482 extern __typeof (vfprintf) vfprintf __asm ("" "__nldbl_" "vfprintf");
3483 extern __typeof (vprintf) vprintf __asm ("" "__nldbl_" "vprintf");
3484 extern __typeof (vsprintf) vsprintf __asm ("" "__nldbl_" "vsprintf");
3485 extern __typeof (fscanf) fscanf __asm ("" "__nldbl_" "fscanf");
3486 extern __typeof (scanf) scanf __asm ("" "__nldbl_" "scanf");
3487 extern __typeof (sscanf) sscanf __asm ("" "__nldbl_" "sscanf");
3492 extern __typeof (snprintf) snprintf __asm ("" "__nldbl_" "snprintf");
3493 extern __typeof (vsnprintf) vsnprintf __asm ("" "__nldbl_" "vsnprintf");
3495 # 9 "/usr/include/bits/stdio-ldbl.h" 2 3 4
3496 # 840 "/usr/include/gentoo-multilib/ppc64/stdio.h" 2 3 4
3500 # 9 "/usr/include/stdio.h" 2 3 4
3502 # 1 "/usr/include/glib-2.0/glib.h" 1
3503 # 30 "/usr/include/glib-2.0/glib.h"
3504 # 1 "/usr/include/glib-2.0/glib/galloca.h" 1
3505 # 30 "/usr/include/glib-2.0/glib/galloca.h"
3506 # 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
3507 # 30 "/usr/include/glib-2.0/glib/gtypes.h"
3508 # 1 "/usr/lib64/glib-2.0/include/glibconfig.h" 1
3509 # 9 "/usr/lib64/glib-2.0/include/glibconfig.h"
3510 # 1 "/usr/include/glib-2.0/glib/gmacros.h" 1
3511 # 36 "/usr/include/glib-2.0/glib/gmacros.h"
3512 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 1 3 4
3513 # 152 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 3 4
3514 typedef long int ptrdiff_t;
3515 # 37 "/usr/include/glib-2.0/glib/gmacros.h" 2
3516 # 10 "/usr/lib64/glib-2.0/include/glibconfig.h" 2
3518 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/limits.h" 1 3 4
3519 # 12 "/usr/lib64/glib-2.0/include/glibconfig.h" 2
3525 # 32 "/usr/lib64/glib-2.0/include/glibconfig.h"
3526 typedef signed char gint8;
3527 typedef unsigned char guint8;
3528 typedef signed short gint16;
3529 typedef unsigned short guint16;
3533 typedef signed int gint32;
3534 typedef unsigned int guint32;
3540 typedef signed long gint64;
3541 typedef unsigned long guint64;
3542 # 59 "/usr/lib64/glib-2.0/include/glibconfig.h"
3543 typedef signed long gssize;
3544 typedef unsigned long gsize;
3545 # 126 "/usr/lib64/glib-2.0/include/glibconfig.h"
3546 typedef struct _GStaticMutex GStaticMutex;
3547 struct _GStaticMutex
3549 struct _GMutex *runtime_mutex;
3552 double dummy_double;
3553 void *dummy_pointer;
3557 # 145 "/usr/lib64/glib-2.0/include/glibconfig.h"
3558 typedef union _GSystemThread GSystemThread;
3559 union _GSystemThread
3562 double dummy_double;
3563 void *dummy_pointer;
3566 # 187 "/usr/lib64/glib-2.0/include/glibconfig.h"
3570 # 31 "/usr/include/glib-2.0/glib/gtypes.h" 2
3573 # 41 "/usr/include/glib-2.0/glib/gtypes.h"
3575 typedef short gshort;
3578 typedef gint gboolean;
3580 typedef unsigned char guchar;
3581 typedef unsigned short gushort;
3582 typedef unsigned long gulong;
3583 typedef unsigned int guint;
3585 typedef float gfloat;
3586 typedef double gdouble;
3587 # 72 "/usr/include/glib-2.0/glib/gtypes.h"
3588 typedef void* gpointer;
3589 typedef const void *gconstpointer;
3591 typedef gint (*GCompareFunc) (gconstpointer a,
3593 typedef gint (*GCompareDataFunc) (gconstpointer a,
3595 gpointer user_data);
3596 typedef gboolean (*GEqualFunc) (gconstpointer a,
3598 typedef void (*GDestroyNotify) (gpointer data);
3599 typedef void (*GFunc) (gpointer data,
3600 gpointer user_data);
3601 typedef guint (*GHashFunc) (gconstpointer key);
3602 typedef void (*GHFunc) (gpointer key,
3604 gpointer user_data);
3605 typedef void (*GFreeFunc) (gpointer data);
3606 typedef const gchar * (*GTranslateFunc) (const gchar *str,
3608 # 338 "/usr/include/glib-2.0/glib/gtypes.h"
3609 typedef union _GDoubleIEEE754 GDoubleIEEE754;
3610 typedef union _GFloatIEEE754 GFloatIEEE754;
3611 # 365 "/usr/include/glib-2.0/glib/gtypes.h"
3612 union _GFloatIEEE754
3617 guint biased_exponent : 8;
3618 guint mantissa : 23;
3621 union _GDoubleIEEE754
3626 guint biased_exponent : 11;
3627 guint mantissa_high : 20;
3628 guint mantissa_low : 32;
3635 typedef struct _GTimeVal GTimeVal;
3644 # 31 "/usr/include/glib-2.0/glib/galloca.h" 2
3645 # 31 "/usr/include/glib-2.0/glib.h" 2
3646 # 1 "/usr/include/glib-2.0/glib/garray.h" 1
3647 # 32 "/usr/include/glib-2.0/glib/garray.h"
3650 typedef struct _GArray GArray;
3651 typedef struct _GByteArray GByteArray;
3652 typedef struct _GPtrArray GPtrArray;
3671 # 66 "/usr/include/glib-2.0/glib/garray.h"
3672 GArray* g_array_new (gboolean zero_terminated,
3674 guint element_size);
3675 GArray* g_array_sized_new (gboolean zero_terminated,
3678 guint reserved_size);
3679 gchar* g_array_free (GArray *array,
3680 gboolean free_segment);
3681 GArray* g_array_append_vals (GArray *array,
3684 GArray* g_array_prepend_vals (GArray *array,
3687 GArray* g_array_insert_vals (GArray *array,
3691 GArray* g_array_set_size (GArray *array,
3693 GArray* g_array_remove_index (GArray *array,
3695 GArray* g_array_remove_index_fast (GArray *array,
3697 GArray* g_array_remove_range (GArray *array,
3700 void g_array_sort (GArray *array,
3701 GCompareFunc compare_func);
3702 void g_array_sort_with_data (GArray *array,
3703 GCompareDataFunc compare_func,
3704 gpointer user_data);
3711 GPtrArray* g_ptr_array_new (void);
3712 GPtrArray* g_ptr_array_sized_new (guint reserved_size);
3713 gpointer* g_ptr_array_free (GPtrArray *array,
3715 void g_ptr_array_set_size (GPtrArray *array,
3717 gpointer g_ptr_array_remove_index (GPtrArray *array,
3719 gpointer g_ptr_array_remove_index_fast (GPtrArray *array,
3721 gboolean g_ptr_array_remove (GPtrArray *array,
3723 gboolean g_ptr_array_remove_fast (GPtrArray *array,
3725 void g_ptr_array_remove_range (GPtrArray *array,
3728 void g_ptr_array_add (GPtrArray *array,
3730 void g_ptr_array_sort (GPtrArray *array,
3731 GCompareFunc compare_func);
3732 void g_ptr_array_sort_with_data (GPtrArray *array,
3733 GCompareDataFunc compare_func,
3734 gpointer user_data);
3735 void g_ptr_array_foreach (GPtrArray *array,
3737 gpointer user_data);
3744 GByteArray* g_byte_array_new (void);
3745 GByteArray* g_byte_array_sized_new (guint reserved_size);
3746 guint8* g_byte_array_free (GByteArray *array,
3747 gboolean free_segment);
3748 GByteArray* g_byte_array_append (GByteArray *array,
3751 GByteArray* g_byte_array_prepend (GByteArray *array,
3754 GByteArray* g_byte_array_set_size (GByteArray *array,
3756 GByteArray* g_byte_array_remove_index (GByteArray *array,
3758 GByteArray* g_byte_array_remove_index_fast (GByteArray *array,
3760 GByteArray* g_byte_array_remove_range (GByteArray *array,
3763 void g_byte_array_sort (GByteArray *array,
3764 GCompareFunc compare_func);
3765 void g_byte_array_sort_with_data (GByteArray *array,
3766 GCompareDataFunc compare_func,
3767 gpointer user_data);
3771 # 32 "/usr/include/glib-2.0/glib.h" 2
3772 # 1 "/usr/include/glib-2.0/glib/gasyncqueue.h" 1
3773 # 30 "/usr/include/glib-2.0/glib/gasyncqueue.h"
3774 # 1 "/usr/include/glib-2.0/glib/gthread.h" 1
3775 # 30 "/usr/include/glib-2.0/glib/gthread.h"
3776 # 1 "/usr/include/glib-2.0/glib/gerror.h" 1
3777 # 24 "/usr/include/glib-2.0/glib/gerror.h"
3778 # 1 "/usr/include/glib-2.0/glib/gquark.h" 1
3779 # 32 "/usr/include/glib-2.0/glib/gquark.h"
3782 typedef guint32 GQuark;
3786 GQuark g_quark_try_string (const gchar *string);
3787 GQuark g_quark_from_static_string (const gchar *string);
3788 GQuark g_quark_from_string (const gchar *string);
3789 const gchar* g_quark_to_string (GQuark quark) __attribute__((__const__));
3791 const gchar* g_intern_string (const gchar *string);
3792 const gchar* g_intern_static_string (const gchar *string);
3796 # 25 "/usr/include/glib-2.0/glib/gerror.h" 2
3800 typedef struct _GError GError;
3809 GError* g_error_new (GQuark domain,
3811 const gchar *format,
3812 ...) __attribute__((__format__ (__printf__, 3, 4)));
3814 GError* g_error_new_literal (GQuark domain,
3816 const gchar *message);
3818 void g_error_free (GError *error);
3819 GError* g_error_copy (const GError *error);
3821 gboolean g_error_matches (const GError *error,
3828 void g_set_error (GError **err,
3831 const gchar *format,
3832 ...) __attribute__((__format__ (__printf__, 4, 5)));
3836 void g_propagate_error (GError **dest,
3840 void g_clear_error (GError **err);
3844 # 31 "/usr/include/glib-2.0/glib/gthread.h" 2
3846 # 1 "/usr/include/glib-2.0/glib/gatomic.h" 1
3847 # 35 "/usr/include/glib-2.0/glib/gatomic.h"
3850 gint g_atomic_int_exchange_and_add (volatile gint *atomic,
3852 void g_atomic_int_add (volatile gint *atomic,
3854 gboolean g_atomic_int_compare_and_exchange (volatile gint *atomic,
3857 gboolean g_atomic_pointer_compare_and_exchange (volatile gpointer *atomic,
3861 gint g_atomic_int_get (volatile gint *atomic);
3862 void g_atomic_int_set (volatile gint *atomic,
3864 gpointer g_atomic_pointer_get (volatile gpointer *atomic);
3865 void g_atomic_pointer_set (volatile gpointer *atomic,
3867 # 66 "/usr/include/glib-2.0/glib/gatomic.h"
3869 # 33 "/usr/include/glib-2.0/glib/gthread.h" 2
3876 extern GQuark g_thread_error_quark (void);
3881 G_THREAD_ERROR_AGAIN
3884 typedef gpointer (*GThreadFunc) (gpointer data);
3888 G_THREAD_PRIORITY_LOW,
3889 G_THREAD_PRIORITY_NORMAL,
3890 G_THREAD_PRIORITY_HIGH,
3891 G_THREAD_PRIORITY_URGENT
3894 typedef struct _GThread GThread;
3901 GThreadPriority priority;
3904 typedef struct _GMutex GMutex;
3905 typedef struct _GCond GCond;
3906 typedef struct _GPrivate GPrivate;
3907 typedef struct _GStaticPrivate GStaticPrivate;
3909 typedef struct _GThreadFunctions GThreadFunctions;
3910 struct _GThreadFunctions
3912 GMutex* (*mutex_new) (void);
3913 void (*mutex_lock) (GMutex *mutex);
3914 gboolean (*mutex_trylock) (GMutex *mutex);
3915 void (*mutex_unlock) (GMutex *mutex);
3916 void (*mutex_free) (GMutex *mutex);
3917 GCond* (*cond_new) (void);
3918 void (*cond_signal) (GCond *cond);
3919 void (*cond_broadcast) (GCond *cond);
3920 void (*cond_wait) (GCond *cond,
3922 gboolean (*cond_timed_wait) (GCond *cond,
3924 GTimeVal *end_time);
3925 void (*cond_free) (GCond *cond);
3926 GPrivate* (*private_new) (GDestroyNotify destructor);
3927 gpointer (*private_get) (GPrivate *private_key);
3928 void (*private_set) (GPrivate *private_key,
3930 void (*thread_create) (GThreadFunc func,
3935 GThreadPriority priority,
3938 void (*thread_yield) (void);
3939 void (*thread_join) (gpointer thread);
3940 void (*thread_exit) (void);
3941 void (*thread_set_priority)(gpointer thread,
3942 GThreadPriority priority);
3943 void (*thread_self) (gpointer thread);
3944 gboolean (*thread_equal) (gpointer thread1,
3948 extern GThreadFunctions g_thread_functions_for_glib_use;
3949 extern gboolean g_thread_use_default_impl;
3950 extern gboolean g_threads_got_initialized;
3956 void g_thread_init (GThreadFunctions *vtable);
3957 # 128 "/usr/include/glib-2.0/glib/gthread.h"
3958 void g_thread_init_with_errorcheck_mutexes (GThreadFunctions* vtable);
3959 # 138 "/usr/include/glib-2.0/glib/gthread.h"
3960 GMutex* g_static_mutex_get_mutex_impl (GMutex **mutex);
3961 # 209 "/usr/include/glib-2.0/glib/gthread.h"
3962 GThread* g_thread_create_full (GThreadFunc func,
3967 GThreadPriority priority,
3969 GThread* g_thread_self (void);
3970 void g_thread_exit (gpointer retval);
3971 gpointer g_thread_join (GThread *thread);
3973 void g_thread_set_priority (GThread *thread,
3974 GThreadPriority priority);
3975 # 234 "/usr/include/glib-2.0/glib/gthread.h"
3976 void g_static_mutex_init (GStaticMutex *mutex);
3977 void g_static_mutex_free (GStaticMutex *mutex);
3979 struct _GStaticPrivate
3985 void g_static_private_init (GStaticPrivate *private_key);
3986 gpointer g_static_private_get (GStaticPrivate *private_key);
3987 void g_static_private_set (GStaticPrivate *private_key,
3989 GDestroyNotify notify);
3990 void g_static_private_free (GStaticPrivate *private_key);
3992 typedef struct _GStaticRecMutex GStaticRecMutex;
3993 struct _GStaticRecMutex
3998 GSystemThread owner;
4002 void g_static_rec_mutex_init (GStaticRecMutex *mutex);
4003 void g_static_rec_mutex_lock (GStaticRecMutex *mutex);
4004 gboolean g_static_rec_mutex_trylock (GStaticRecMutex *mutex);
4005 void g_static_rec_mutex_unlock (GStaticRecMutex *mutex);
4006 void g_static_rec_mutex_lock_full (GStaticRecMutex *mutex,
4008 guint g_static_rec_mutex_unlock_full (GStaticRecMutex *mutex);
4009 void g_static_rec_mutex_free (GStaticRecMutex *mutex);
4011 typedef struct _GStaticRWLock GStaticRWLock;
4012 struct _GStaticRWLock
4019 gboolean have_writer;
4021 guint want_to_write;
4026 void g_static_rw_lock_init (GStaticRWLock* lock);
4027 void g_static_rw_lock_reader_lock (GStaticRWLock* lock);
4028 gboolean g_static_rw_lock_reader_trylock (GStaticRWLock* lock);
4029 void g_static_rw_lock_reader_unlock (GStaticRWLock* lock);
4030 void g_static_rw_lock_writer_lock (GStaticRWLock* lock);
4031 gboolean g_static_rw_lock_writer_trylock (GStaticRWLock* lock);
4032 void g_static_rw_lock_writer_unlock (GStaticRWLock* lock);
4033 void g_static_rw_lock_free (GStaticRWLock* lock);
4035 void g_thread_foreach (GFunc thread_func,
4036 gpointer user_data);
4040 G_ONCE_STATUS_NOTCALLED,
4041 G_ONCE_STATUS_PROGRESS,
4045 typedef struct _GOnce GOnce;
4048 volatile GOnceStatus status;
4049 volatile gpointer retval;
4054 gpointer g_once_impl (GOnce *once, GThreadFunc func, gpointer arg);
4055 # 332 "/usr/include/glib-2.0/glib/gthread.h"
4056 extern void glib_dummy_decl (void);
4057 # 375 "/usr/include/glib-2.0/glib/gthread.h"
4059 # 31 "/usr/include/glib-2.0/glib/gasyncqueue.h" 2
4063 typedef struct _GAsyncQueue GAsyncQueue;
4068 GAsyncQueue* g_async_queue_new (void);
4074 void g_async_queue_lock (GAsyncQueue *queue);
4075 void g_async_queue_unlock (GAsyncQueue *queue);
4078 GAsyncQueue* g_async_queue_ref (GAsyncQueue *queue);
4079 void g_async_queue_unref (GAsyncQueue *queue);
4080 # 59 "/usr/include/glib-2.0/glib/gasyncqueue.h"
4081 void g_async_queue_push (GAsyncQueue *queue,
4083 void g_async_queue_push_unlocked (GAsyncQueue *queue,
4086 void g_async_queue_push_sorted (GAsyncQueue *queue,
4088 GCompareDataFunc func,
4089 gpointer user_data);
4090 void g_async_queue_push_sorted_unlocked (GAsyncQueue *queue,
4092 GCompareDataFunc func,
4093 gpointer user_data);
4098 gpointer g_async_queue_pop (GAsyncQueue *queue);
4099 gpointer g_async_queue_pop_unlocked (GAsyncQueue *queue);
4102 gpointer g_async_queue_try_pop (GAsyncQueue *queue);
4103 gpointer g_async_queue_try_pop_unlocked (GAsyncQueue *queue);
4110 gpointer g_async_queue_timed_pop (GAsyncQueue *queue,
4111 GTimeVal *end_time);
4112 gpointer g_async_queue_timed_pop_unlocked (GAsyncQueue *queue,
4113 GTimeVal *end_time);
4114 # 100 "/usr/include/glib-2.0/glib/gasyncqueue.h"
4115 gint g_async_queue_length (GAsyncQueue *queue);
4116 gint g_async_queue_length_unlocked (GAsyncQueue *queue);
4117 void g_async_queue_sort (GAsyncQueue *queue,
4118 GCompareDataFunc func,
4119 gpointer user_data);
4120 void g_async_queue_sort_unlocked (GAsyncQueue *queue,
4121 GCompareDataFunc func,
4122 gpointer user_data);
4125 GMutex* _g_async_queue_get_mutex (GAsyncQueue *queue);
4128 # 33 "/usr/include/glib-2.0/glib.h" 2
4130 # 1 "/usr/include/glib-2.0/glib/gbacktrace.h" 1
4131 # 32 "/usr/include/glib-2.0/glib/gbacktrace.h"
4133 # 43 "/usr/include/glib-2.0/glib/gbacktrace.h"
4134 void g_on_error_query (const gchar *prg_name);
4135 void g_on_error_stack_trace (const gchar *prg_name);
4136 # 59 "/usr/include/glib-2.0/glib/gbacktrace.h"
4138 # 35 "/usr/include/glib-2.0/glib.h" 2
4139 # 1 "/usr/include/glib-2.0/glib/gbase64.h" 1
4140 # 26 "/usr/include/glib-2.0/glib/gbase64.h"
4143 gsize g_base64_encode_step (const guchar *in,
4145 gboolean break_lines,
4149 gsize g_base64_encode_close (gboolean break_lines,
4153 gchar* g_base64_encode (const guchar *data,
4154 gsize len) __attribute__((__malloc__));
4155 gsize g_base64_decode_step (const gchar *in,
4160 guchar *g_base64_decode (const gchar *text,
4161 gsize *out_len) __attribute__((__malloc__));
4164 # 36 "/usr/include/glib-2.0/glib.h" 2
4165 # 1 "/usr/include/glib-2.0/glib/gbookmarkfile.h" 1
4166 # 24 "/usr/include/glib-2.0/glib/gbookmarkfile.h"
4167 # 1 "/usr/include/time.h" 1 3 4
4175 # 1 "/usr/include/gentoo-multilib/ppc64/time.h" 1 3 4
4176 # 29 "/usr/include/gentoo-multilib/ppc64/time.h" 3 4
4177 # 1 "/usr/include/features.h" 1 3 4
4178 # 30 "/usr/include/gentoo-multilib/ppc64/time.h" 2 3 4
4188 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 1 3 4
4189 # 40 "/usr/include/gentoo-multilib/ppc64/time.h" 2 3 4
4193 # 1 "/usr/include/bits/time.h" 1 3 4
4201 # 1 "/usr/include/gentoo-multilib/ppc64/bits/time.h" 1 3 4
4202 # 9 "/usr/include/bits/time.h" 2 3 4
4203 # 44 "/usr/include/gentoo-multilib/ppc64/time.h" 2 3 4
4204 # 57 "/usr/include/gentoo-multilib/ppc64/time.h" 3 4
4205 # 1 "/usr/include/bits/types.h" 1 3 4
4206 # 58 "/usr/include/gentoo-multilib/ppc64/time.h" 2 3 4
4210 typedef __clock_t clock_t;
4214 # 73 "/usr/include/gentoo-multilib/ppc64/time.h" 3 4
4215 # 1 "/usr/include/bits/types.h" 1 3 4
4216 # 74 "/usr/include/gentoo-multilib/ppc64/time.h" 2 3 4
4220 typedef __time_t time_t;
4224 # 90 "/usr/include/gentoo-multilib/ppc64/time.h" 3 4
4225 # 1 "/usr/include/bits/types.h" 1 3 4
4226 # 91 "/usr/include/gentoo-multilib/ppc64/time.h" 2 3 4
4229 typedef __clockid_t clockid_t;
4230 # 102 "/usr/include/gentoo-multilib/ppc64/time.h" 3 4
4231 # 1 "/usr/include/bits/types.h" 1 3 4
4232 # 103 "/usr/include/gentoo-multilib/ppc64/time.h" 2 3 4
4235 typedef __timer_t timer_t;
4236 # 117 "/usr/include/gentoo-multilib/ppc64/time.h" 3 4
4237 # 1 "/usr/include/bits/types.h" 1 3 4
4238 # 118 "/usr/include/gentoo-multilib/ppc64/time.h" 2 3 4
4269 __const char *tm_zone;
4285 struct timespec it_interval;
4286 struct timespec it_value;
4291 # 181 "/usr/include/gentoo-multilib/ppc64/time.h" 3 4
4295 extern clock_t clock (void) __attribute__ ((__nothrow__));
4298 extern time_t time (time_t *__timer) __attribute__ ((__nothrow__));
4301 extern double difftime (time_t __time1, time_t __time0)
4302 __attribute__ ((__nothrow__)) __attribute__ ((__const__));
4305 extern time_t mktime (struct tm *__tp) __attribute__ ((__nothrow__));
4311 extern size_t strftime (char *__restrict __s, size_t __maxsize,
4312 __const char *__restrict __format,
4313 __const struct tm *__restrict __tp) __attribute__ ((__nothrow__));
4315 # 229 "/usr/include/gentoo-multilib/ppc64/time.h" 3 4
4319 extern struct tm *gmtime (__const time_t *__timer) __attribute__ ((__nothrow__));
4323 extern struct tm *localtime (__const time_t *__timer) __attribute__ ((__nothrow__));
4329 extern struct tm *gmtime_r (__const time_t *__restrict __timer,
4330 struct tm *__restrict __tp) __attribute__ ((__nothrow__));
4334 extern struct tm *localtime_r (__const time_t *__restrict __timer,
4335 struct tm *__restrict __tp) __attribute__ ((__nothrow__));
4341 extern char *asctime (__const struct tm *__tp) __attribute__ ((__nothrow__));
4344 extern char *ctime (__const time_t *__timer) __attribute__ ((__nothrow__));
4352 extern char *asctime_r (__const struct tm *__restrict __tp,
4353 char *__restrict __buf) __attribute__ ((__nothrow__));
4356 extern char *ctime_r (__const time_t *__restrict __timer,
4357 char *__restrict __buf) __attribute__ ((__nothrow__));
4362 extern char *__tzname[2];
4363 extern int __daylight;
4364 extern long int __timezone;
4369 extern char *tzname[2];
4373 extern void tzset (void) __attribute__ ((__nothrow__));
4377 extern int daylight;
4378 extern long int timezone;
4384 extern int stime (__const time_t *__when) __attribute__ ((__nothrow__));
4385 # 312 "/usr/include/gentoo-multilib/ppc64/time.h" 3 4
4386 extern time_t timegm (struct tm *__tp) __attribute__ ((__nothrow__));
4389 extern time_t timelocal (struct tm *__tp) __attribute__ ((__nothrow__));
4392 extern int dysize (int __year) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
4393 # 327 "/usr/include/gentoo-multilib/ppc64/time.h" 3 4
4394 extern int nanosleep (__const struct timespec *__requested_time,
4395 struct timespec *__remaining);
4399 extern int clock_getres (clockid_t __clock_id, struct timespec *__res) __attribute__ ((__nothrow__));
4402 extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) __attribute__ ((__nothrow__));
4405 extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp)
4406 __attribute__ ((__nothrow__));
4413 extern int clock_nanosleep (clockid_t __clock_id, int __flags,
4414 __const struct timespec *__req,
4415 struct timespec *__rem);
4418 extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) __attribute__ ((__nothrow__));
4423 extern int timer_create (clockid_t __clock_id,
4424 struct sigevent *__restrict __evp,
4425 timer_t *__restrict __timerid) __attribute__ ((__nothrow__));
4428 extern int timer_delete (timer_t __timerid) __attribute__ ((__nothrow__));
4431 extern int timer_settime (timer_t __timerid, int __flags,
4432 __const struct itimerspec *__restrict __value,
4433 struct itimerspec *__restrict __ovalue) __attribute__ ((__nothrow__));
4436 extern int timer_gettime (timer_t __timerid, struct itimerspec *__value)
4437 __attribute__ ((__nothrow__));
4440 extern int timer_getoverrun (timer_t __timerid) __attribute__ ((__nothrow__));
4441 # 416 "/usr/include/gentoo-multilib/ppc64/time.h" 3 4
4443 # 9 "/usr/include/time.h" 2 3 4
4444 # 25 "/usr/include/glib-2.0/glib/gbookmarkfile.h" 2
4454 G_BOOKMARK_FILE_ERROR_INVALID_URI,
4455 G_BOOKMARK_FILE_ERROR_INVALID_VALUE,
4456 G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED,
4457 G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND,
4458 G_BOOKMARK_FILE_ERROR_READ,
4459 G_BOOKMARK_FILE_ERROR_UNKNOWN_ENCODING,
4460 G_BOOKMARK_FILE_ERROR_WRITE,
4461 G_BOOKMARK_FILE_ERROR_FILE_NOT_FOUND
4462 } GBookmarkFileError;
4464 GQuark g_bookmark_file_error_quark (void);
4469 typedef struct _GBookmarkFile GBookmarkFile;
4471 GBookmarkFile *g_bookmark_file_new (void);
4472 void g_bookmark_file_free (GBookmarkFile *bookmark);
4474 gboolean g_bookmark_file_load_from_file (GBookmarkFile *bookmark,
4475 const gchar *filename,
4477 gboolean g_bookmark_file_load_from_data (GBookmarkFile *bookmark,
4481 gboolean g_bookmark_file_load_from_data_dirs (GBookmarkFile *bookmark,
4485 gchar * g_bookmark_file_to_data (GBookmarkFile *bookmark,
4487 GError **error) __attribute__((__malloc__));
4488 gboolean g_bookmark_file_to_file (GBookmarkFile *bookmark,
4489 const gchar *filename,
4492 void g_bookmark_file_set_title (GBookmarkFile *bookmark,
4494 const gchar *title);
4495 gchar * g_bookmark_file_get_title (GBookmarkFile *bookmark,
4497 GError **error) __attribute__((__malloc__));
4498 void g_bookmark_file_set_description (GBookmarkFile *bookmark,
4500 const gchar *description);
4501 gchar * g_bookmark_file_get_description (GBookmarkFile *bookmark,
4503 GError **error) __attribute__((__malloc__));
4504 void g_bookmark_file_set_mime_type (GBookmarkFile *bookmark,
4506 const gchar *mime_type);
4507 gchar * g_bookmark_file_get_mime_type (GBookmarkFile *bookmark,
4509 GError **error) __attribute__((__malloc__));
4510 void g_bookmark_file_set_groups (GBookmarkFile *bookmark,
4512 const gchar **groups,
4514 void g_bookmark_file_add_group (GBookmarkFile *bookmark,
4516 const gchar *group);
4517 gboolean g_bookmark_file_has_group (GBookmarkFile *bookmark,
4521 gchar ** g_bookmark_file_get_groups (GBookmarkFile *bookmark,
4524 GError **error) __attribute__((__malloc__));
4525 void g_bookmark_file_add_application (GBookmarkFile *bookmark,
4529 gboolean g_bookmark_file_has_application (GBookmarkFile *bookmark,
4533 gchar ** g_bookmark_file_get_applications (GBookmarkFile *bookmark,
4536 GError **error) __attribute__((__malloc__));
4537 gboolean g_bookmark_file_set_app_info (GBookmarkFile *bookmark,
4544 gboolean g_bookmark_file_get_app_info (GBookmarkFile *bookmark,
4551 void g_bookmark_file_set_is_private (GBookmarkFile *bookmark,
4553 gboolean is_private);
4554 gboolean g_bookmark_file_get_is_private (GBookmarkFile *bookmark,
4557 void g_bookmark_file_set_icon (GBookmarkFile *bookmark,
4560 const gchar *mime_type);
4561 gboolean g_bookmark_file_get_icon (GBookmarkFile *bookmark,
4566 void g_bookmark_file_set_added (GBookmarkFile *bookmark,
4569 time_t g_bookmark_file_get_added (GBookmarkFile *bookmark,
4572 void g_bookmark_file_set_modified (GBookmarkFile *bookmark,
4575 time_t g_bookmark_file_get_modified (GBookmarkFile *bookmark,
4578 void g_bookmark_file_set_visited (GBookmarkFile *bookmark,
4581 time_t g_bookmark_file_get_visited (GBookmarkFile *bookmark,
4584 gboolean g_bookmark_file_has_item (GBookmarkFile *bookmark,
4586 gint g_bookmark_file_get_size (GBookmarkFile *bookmark);
4587 gchar ** g_bookmark_file_get_uris (GBookmarkFile *bookmark,
4588 gsize *length) __attribute__((__malloc__));
4589 gboolean g_bookmark_file_remove_group (GBookmarkFile *bookmark,
4593 gboolean g_bookmark_file_remove_application (GBookmarkFile *bookmark,
4597 gboolean g_bookmark_file_remove_item (GBookmarkFile *bookmark,
4600 gboolean g_bookmark_file_move_item (GBookmarkFile *bookmark,
4601 const gchar *old_uri,
4602 const gchar *new_uri,
4606 # 37 "/usr/include/glib-2.0/glib.h" 2
4607 # 1 "/usr/include/glib-2.0/glib/gcache.h" 1
4608 # 30 "/usr/include/glib-2.0/glib/gcache.h"
4609 # 1 "/usr/include/glib-2.0/glib/glist.h" 1
4610 # 30 "/usr/include/glib-2.0/glib/glist.h"
4611 # 1 "/usr/include/glib-2.0/glib/gmem.h" 1
4612 # 30 "/usr/include/glib-2.0/glib/gmem.h"
4613 # 1 "/usr/include/glib-2.0/glib/gslice.h" 1
4614 # 28 "/usr/include/glib-2.0/glib/gslice.h"
4619 gpointer g_slice_alloc (gsize block_size) __attribute__((__malloc__));
4620 gpointer g_slice_alloc0 (gsize block_size) __attribute__((__malloc__));
4621 void g_slice_free1 (gsize block_size,
4622 gpointer mem_block);
4623 void g_slice_free_chain_with_offset (gsize block_size,
4626 # 63 "/usr/include/glib-2.0/glib/gslice.h"
4628 G_SLICE_CONFIG_ALWAYS_MALLOC = 1,
4629 G_SLICE_CONFIG_BYPASS_MAGAZINES,
4630 G_SLICE_CONFIG_WORKING_SET_MSECS,
4631 G_SLICE_CONFIG_COLOR_INCREMENT,
4632 G_SLICE_CONFIG_CHUNK_SIZES,
4633 G_SLICE_CONFIG_CONTENTION_COUNTER
4635 void g_slice_set_config (GSliceConfig ckey, gint64 value);
4636 gint64 g_slice_get_config (GSliceConfig ckey);
4637 gint64* g_slice_get_config_state (GSliceConfig ckey, gint64 address, guint *n_values);
4640 # 31 "/usr/include/glib-2.0/glib/gmem.h" 2
4645 typedef struct _GMemVTable GMemVTable;
4646 # 47 "/usr/include/glib-2.0/glib/gmem.h"
4647 gpointer g_malloc (gulong n_bytes) __attribute__((__malloc__));
4648 gpointer g_malloc0 (gulong n_bytes) __attribute__((__malloc__));
4649 gpointer g_realloc (gpointer mem,
4650 gulong n_bytes) __attribute__((warn_unused_result));
4651 void g_free (gpointer mem);
4652 gpointer g_try_malloc (gulong n_bytes) __attribute__((__malloc__));
4653 gpointer g_try_malloc0 (gulong n_bytes) __attribute__((__malloc__));
4654 gpointer g_try_realloc (gpointer mem,
4655 gulong n_bytes) __attribute__((warn_unused_result));
4656 # 79 "/usr/include/glib-2.0/glib/gmem.h"
4659 gpointer (*malloc) (gsize n_bytes);
4660 gpointer (*realloc) (gpointer mem,
4662 void (*free) (gpointer mem);
4664 gpointer (*calloc) (gsize n_blocks,
4665 gsize n_block_bytes);
4666 gpointer (*try_malloc) (gsize n_bytes);
4667 gpointer (*try_realloc) (gpointer mem,
4670 void g_mem_set_vtable (GMemVTable *vtable);
4671 gboolean g_mem_is_system_malloc (void);
4673 extern gboolean g_mem_gc_friendly;
4677 extern GMemVTable *glib_mem_profiler_table;
4678 void g_mem_profile (void);
4679 # 146 "/usr/include/glib-2.0/glib/gmem.h"
4681 # 31 "/usr/include/glib-2.0/glib/glist.h" 2
4685 typedef struct _GList GList;
4696 GList* g_list_alloc (void) __attribute__((warn_unused_result));
4697 void g_list_free (GList *list);
4698 void g_list_free_1 (GList *list);
4700 GList* g_list_append (GList *list,
4701 gpointer data) __attribute__((warn_unused_result));
4702 GList* g_list_prepend (GList *list,
4703 gpointer data) __attribute__((warn_unused_result));
4704 GList* g_list_insert (GList *list,
4706 gint position) __attribute__((warn_unused_result));
4707 GList* g_list_insert_sorted (GList *list,
4709 GCompareFunc func) __attribute__((warn_unused_result));
4710 GList* g_list_insert_sorted_with_data (GList *list,
4712 GCompareDataFunc func,
4713 gpointer user_data) __attribute__((warn_unused_result));
4714 GList* g_list_insert_before (GList *list,
4716 gpointer data) __attribute__((warn_unused_result));
4717 GList* g_list_concat (GList *list1,
4718 GList *list2) __attribute__((warn_unused_result));
4719 GList* g_list_remove (GList *list,
4720 gconstpointer data) __attribute__((warn_unused_result));
4721 GList* g_list_remove_all (GList *list,
4722 gconstpointer data) __attribute__((warn_unused_result));
4723 GList* g_list_remove_link (GList *list,
4724 GList *llink) __attribute__((warn_unused_result));
4725 GList* g_list_delete_link (GList *list,
4726 GList *link_) __attribute__((warn_unused_result));
4727 GList* g_list_reverse (GList *list) __attribute__((warn_unused_result));
4728 GList* g_list_copy (GList *list) __attribute__((warn_unused_result));
4729 GList* g_list_nth (GList *list,
4731 GList* g_list_nth_prev (GList *list,
4733 GList* g_list_find (GList *list,
4734 gconstpointer data);
4735 GList* g_list_find_custom (GList *list,
4738 gint g_list_position (GList *list,
4740 gint g_list_index (GList *list,
4741 gconstpointer data);
4742 GList* g_list_last (GList *list);
4743 GList* g_list_first (GList *list);
4744 guint g_list_length (GList *list);
4745 void g_list_foreach (GList *list,
4747 gpointer user_data);
4748 GList* g_list_sort (GList *list,
4749 GCompareFunc compare_func) __attribute__((warn_unused_result));
4750 GList* g_list_sort_with_data (GList *list,
4751 GCompareDataFunc compare_func,
4752 gpointer user_data) __attribute__((warn_unused_result));
4753 gpointer g_list_nth_data (GList *list,
4755 # 113 "/usr/include/glib-2.0/glib/glist.h"
4757 # 31 "/usr/include/glib-2.0/glib/gcache.h" 2
4761 typedef struct _GCache GCache;
4763 typedef gpointer (*GCacheNewFunc) (gpointer key);
4764 typedef gpointer (*GCacheDupFunc) (gpointer value);
4765 typedef void (*GCacheDestroyFunc) (gpointer value);
4769 GCache* g_cache_new (GCacheNewFunc value_new_func,
4770 GCacheDestroyFunc value_destroy_func,
4771 GCacheDupFunc key_dup_func,
4772 GCacheDestroyFunc key_destroy_func,
4773 GHashFunc hash_key_func,
4774 GHashFunc hash_value_func,
4775 GEqualFunc key_equal_func);
4776 void g_cache_destroy (GCache *cache);
4777 gpointer g_cache_insert (GCache *cache,
4779 void g_cache_remove (GCache *cache,
4780 gconstpointer value);
4781 void g_cache_key_foreach (GCache *cache,
4783 gpointer user_data);
4791 # 38 "/usr/include/glib-2.0/glib.h" 2
4792 # 1 "/usr/include/glib-2.0/glib/gcompletion.h" 1
4793 # 32 "/usr/include/glib-2.0/glib/gcompletion.h"
4796 typedef struct _GCompletion GCompletion;
4798 typedef gchar* (*GCompletionFunc) (gpointer);
4803 typedef gint (*GCompletionStrncmpFunc) (const gchar *s1,
4810 GCompletionFunc func;
4814 GCompletionStrncmpFunc strncmp_func;
4817 GCompletion* g_completion_new (GCompletionFunc func);
4818 void g_completion_add_items (GCompletion* cmp,
4820 void g_completion_remove_items (GCompletion* cmp,
4822 void g_completion_clear_items (GCompletion* cmp);
4823 GList* g_completion_complete (GCompletion* cmp,
4824 const gchar* prefix,
4825 gchar** new_prefix);
4826 GList* g_completion_complete_utf8 (GCompletion *cmp,
4827 const gchar* prefix,
4828 gchar** new_prefix);
4829 void g_completion_set_compare (GCompletion *cmp,
4830 GCompletionStrncmpFunc strncmp_func);
4831 void g_completion_free (GCompletion* cmp);
4834 # 39 "/usr/include/glib-2.0/glib.h" 2
4835 # 1 "/usr/include/glib-2.0/glib/gconvert.h" 1
4836 # 30 "/usr/include/glib-2.0/glib/gconvert.h"
4837 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 1 3 4
4838 # 31 "/usr/include/glib-2.0/glib/gconvert.h" 2
4845 G_CONVERT_ERROR_NO_CONVERSION,
4846 G_CONVERT_ERROR_ILLEGAL_SEQUENCE,
4847 G_CONVERT_ERROR_FAILED,
4848 G_CONVERT_ERROR_PARTIAL_INPUT,
4849 G_CONVERT_ERROR_BAD_URI,
4850 G_CONVERT_ERROR_NOT_ABSOLUTE_PATH
4854 GQuark g_convert_error_quark (void);
4858 typedef struct _GIConv *GIConv;
4860 GIConv g_iconv_open (const gchar *to_codeset,
4861 const gchar *from_codeset);
4862 size_t g_iconv (GIConv converter,
4864 gsize *inbytes_left,
4866 gsize *outbytes_left);
4867 gint g_iconv_close (GIConv converter);
4870 gchar* g_convert (const gchar *str,
4872 const gchar *to_codeset,
4873 const gchar *from_codeset,
4875 gsize *bytes_written,
4876 GError **error) __attribute__((__malloc__));
4877 gchar* g_convert_with_iconv (const gchar *str,
4881 gsize *bytes_written,
4882 GError **error) __attribute__((__malloc__));
4883 gchar* g_convert_with_fallback (const gchar *str,
4885 const gchar *to_codeset,
4886 const gchar *from_codeset,
4889 gsize *bytes_written,
4890 GError **error) __attribute__((__malloc__));
4895 gchar* g_locale_to_utf8 (const gchar *opsysstring,
4898 gsize *bytes_written,
4899 GError **error) __attribute__((__malloc__));
4900 gchar* g_locale_from_utf8 (const gchar *utf8string,
4903 gsize *bytes_written,
4904 GError **error) __attribute__((__malloc__));
4905 # 108 "/usr/include/glib-2.0/glib/gconvert.h"
4906 gchar* g_filename_to_utf8 (const gchar *opsysstring,
4909 gsize *bytes_written,
4910 GError **error) __attribute__((__malloc__));
4911 gchar* g_filename_from_utf8 (const gchar *utf8string,
4914 gsize *bytes_written,
4915 GError **error) __attribute__((__malloc__));
4917 gchar *g_filename_from_uri (const gchar *uri,
4919 GError **error) __attribute__((__malloc__));
4921 gchar *g_filename_to_uri (const gchar *filename,
4922 const gchar *hostname,
4923 GError **error) __attribute__((__malloc__));
4924 gchar *g_filename_display_name (const gchar *filename) __attribute__((__malloc__));
4925 gboolean g_get_filename_charsets (const gchar ***charsets);
4927 gchar *g_filename_display_basename (const gchar *filename) __attribute__((__malloc__));
4929 gchar **g_uri_list_extract_uris (const gchar *uri_list) __attribute__((__malloc__));
4932 # 40 "/usr/include/glib-2.0/glib.h" 2
4933 # 1 "/usr/include/glib-2.0/glib/gdataset.h" 1
4934 # 32 "/usr/include/glib-2.0/glib/gdataset.h"
4937 typedef struct _GData GData;
4939 typedef void (*GDataForeachFunc) (GQuark key_id,
4941 gpointer user_data);
4945 void g_datalist_init (GData **datalist);
4946 void g_datalist_clear (GData **datalist);
4947 gpointer g_datalist_id_get_data (GData **datalist,
4949 void g_datalist_id_set_data_full (GData **datalist,
4952 GDestroyNotify destroy_func);
4953 gpointer g_datalist_id_remove_no_notify (GData **datalist,
4955 void g_datalist_foreach (GData **datalist,
4956 GDataForeachFunc func,
4957 gpointer user_data);
4958 # 65 "/usr/include/glib-2.0/glib/gdataset.h"
4959 void g_datalist_set_flags (GData **datalist,
4961 void g_datalist_unset_flags (GData **datalist,
4963 guint g_datalist_get_flags (GData **datalist);
4964 # 89 "/usr/include/glib-2.0/glib/gdataset.h"
4965 void g_dataset_destroy (gconstpointer dataset_location);
4966 gpointer g_dataset_id_get_data (gconstpointer dataset_location,
4968 void g_dataset_id_set_data_full (gconstpointer dataset_location,
4971 GDestroyNotify destroy_func);
4972 gpointer g_dataset_id_remove_no_notify (gconstpointer dataset_location,
4974 void g_dataset_foreach (gconstpointer dataset_location,
4975 GDataForeachFunc func,
4976 gpointer user_data);
4977 # 116 "/usr/include/glib-2.0/glib/gdataset.h"
4979 # 41 "/usr/include/glib-2.0/glib.h" 2
4980 # 1 "/usr/include/glib-2.0/glib/gdate.h" 1
4981 # 30 "/usr/include/glib-2.0/glib/gdate.h"
4982 # 1 "/usr/include/time.h" 1 3 4
4983 # 31 "/usr/include/glib-2.0/glib/gdate.h" 2
4989 # 46 "/usr/include/glib-2.0/glib/gdate.h"
4990 typedef gint32 GTime;
4991 typedef guint16 GDateYear;
4992 typedef guint8 GDateDay;
4993 typedef struct _GDate GDate;
5008 G_DATE_BAD_WEEKDAY = 0,
5011 G_DATE_WEDNESDAY = 3,
5012 G_DATE_THURSDAY = 4,
5014 G_DATE_SATURDAY = 6,
5019 G_DATE_BAD_MONTH = 0,
5021 G_DATE_FEBRUARY = 2,
5028 G_DATE_SEPTEMBER = 9,
5029 G_DATE_OCTOBER = 10,
5030 G_DATE_NOVEMBER = 11,
5031 G_DATE_DECEMBER = 12
5033 # 99 "/usr/include/glib-2.0/glib/gdate.h"
5036 guint julian_days : 32;
5055 GDate* g_date_new (void);
5056 GDate* g_date_new_dmy (GDateDay day,
5059 GDate* g_date_new_julian (guint32 julian_day);
5060 void g_date_free (GDate *date);
5067 gboolean g_date_valid (const GDate *date);
5068 gboolean g_date_valid_day (GDateDay day) __attribute__((__const__));
5069 gboolean g_date_valid_month (GDateMonth month) __attribute__((__const__));
5070 gboolean g_date_valid_year (GDateYear year) __attribute__((__const__));
5071 gboolean g_date_valid_weekday (GDateWeekday weekday) __attribute__((__const__));
5072 gboolean g_date_valid_julian (guint32 julian_date) __attribute__((__const__));
5073 gboolean g_date_valid_dmy (GDateDay day,
5075 GDateYear year) __attribute__((__const__));
5077 GDateWeekday g_date_get_weekday (const GDate *date);
5078 GDateMonth g_date_get_month (const GDate *date);
5079 GDateYear g_date_get_year (const GDate *date);
5080 GDateDay g_date_get_day (const GDate *date);
5081 guint32 g_date_get_julian (const GDate *date);
5082 guint g_date_get_day_of_year (const GDate *date);
5089 guint g_date_get_monday_week_of_year (const GDate *date);
5090 guint g_date_get_sunday_week_of_year (const GDate *date);
5091 guint g_date_get_iso8601_week_of_year (const GDate *date);
5097 void g_date_clear (GDate *date,
5104 void g_date_set_parse (GDate *date,
5106 void g_date_set_time_t (GDate *date,
5108 void g_date_set_time_val (GDate *date,
5114 void g_date_set_month (GDate *date,
5116 void g_date_set_day (GDate *date,
5118 void g_date_set_year (GDate *date,
5120 void g_date_set_dmy (GDate *date,
5124 void g_date_set_julian (GDate *date,
5125 guint32 julian_date);
5126 gboolean g_date_is_first_of_month (const GDate *date);
5127 gboolean g_date_is_last_of_month (const GDate *date);
5130 void g_date_add_days (GDate *date,
5132 void g_date_subtract_days (GDate *date,
5136 void g_date_add_months (GDate *date,
5138 void g_date_subtract_months (GDate *date,
5142 void g_date_add_years (GDate *date,
5144 void g_date_subtract_years (GDate *date,
5146 gboolean g_date_is_leap_year (GDateYear year) __attribute__((__const__));
5147 guint8 g_date_get_days_in_month (GDateMonth month,
5148 GDateYear year) __attribute__((__const__));
5149 guint8 g_date_get_monday_weeks_in_year (GDateYear year) __attribute__((__const__));
5150 guint8 g_date_get_sunday_weeks_in_year (GDateYear year) __attribute__((__const__));
5154 gint g_date_days_between (const GDate *date1,
5155 const GDate *date2);
5158 gint g_date_compare (const GDate *lhs,
5160 void g_date_to_struct_tm (const GDate *date,
5163 void g_date_clamp (GDate *date,
5164 const GDate *min_date,
5165 const GDate *max_date);
5168 void g_date_order (GDate *date1, GDate *date2);
5173 gsize g_date_strftime (gchar *s,
5175 const gchar *format,
5177 # 259 "/usr/include/glib-2.0/glib/gdate.h"
5179 # 42 "/usr/include/glib-2.0/glib.h" 2
5180 # 1 "/usr/include/glib-2.0/glib/gdir.h" 1
5181 # 28 "/usr/include/glib-2.0/glib/gdir.h"
5184 typedef struct _GDir GDir;
5192 GDir * g_dir_open (const gchar *path,
5195 const gchar *g_dir_read_name (GDir *dir);
5196 void g_dir_rewind (GDir *dir);
5197 void g_dir_close (GDir *dir);
5200 # 43 "/usr/include/glib-2.0/glib.h" 2
5202 # 1 "/usr/include/glib-2.0/glib/gfileutils.h" 1
5203 # 26 "/usr/include/glib-2.0/glib/gfileutils.h"
5213 G_FILE_ERROR_NAMETOOLONG,
5215 G_FILE_ERROR_NOTDIR,
5219 G_FILE_ERROR_TXTBSY,
5243 G_FILE_TEST_IS_REGULAR = 1 << 0,
5244 G_FILE_TEST_IS_SYMLINK = 1 << 1,
5245 G_FILE_TEST_IS_DIR = 1 << 2,
5246 G_FILE_TEST_IS_EXECUTABLE = 1 << 3,
5247 G_FILE_TEST_EXISTS = 1 << 4
5250 GQuark g_file_error_quark (void);
5252 GFileError g_file_error_from_errno (gint err_no);
5253 # 83 "/usr/include/glib-2.0/glib/gfileutils.h"
5254 gboolean g_file_test (const gchar *filename,
5256 gboolean g_file_get_contents (const gchar *filename,
5260 gboolean g_file_set_contents (const gchar *filename,
5261 const gchar *contents,
5264 gchar *g_file_read_link (const gchar *filename,
5268 gint g_mkstemp (gchar *tmpl);
5271 gint g_file_open_tmp (const gchar *tmpl,
5275 gchar *g_build_path (const gchar *separator,
5276 const gchar *first_element,
5277 ...) __attribute__((__malloc__)) __attribute__((__sentinel__));
5278 gchar *g_build_pathv (const gchar *separator,
5279 gchar **args) __attribute__((__malloc__));
5281 gchar *g_build_filename (const gchar *first_element,
5282 ...) __attribute__((__malloc__)) __attribute__((__sentinel__));
5283 gchar *g_build_filenamev (gchar **args) __attribute__((__malloc__));
5285 int g_mkdir_with_parents (const gchar *pathname,
5289 # 45 "/usr/include/glib-2.0/glib.h" 2
5290 # 1 "/usr/include/glib-2.0/glib/ghash.h" 1
5291 # 32 "/usr/include/glib-2.0/glib/ghash.h"
5294 typedef struct _GHashTable GHashTable;
5296 typedef gboolean (*GHRFunc) (gpointer key,
5298 gpointer user_data);
5302 GHashTable* g_hash_table_new (GHashFunc hash_func,
5303 GEqualFunc key_equal_func);
5304 GHashTable* g_hash_table_new_full (GHashFunc hash_func,
5305 GEqualFunc key_equal_func,
5306 GDestroyNotify key_destroy_func,
5307 GDestroyNotify value_destroy_func);
5308 void g_hash_table_destroy (GHashTable *hash_table);
5309 void g_hash_table_insert (GHashTable *hash_table,
5312 void g_hash_table_replace (GHashTable *hash_table,
5315 gboolean g_hash_table_remove (GHashTable *hash_table,
5317 void g_hash_table_remove_all (GHashTable *hash_table);
5318 gboolean g_hash_table_steal (GHashTable *hash_table,
5320 void g_hash_table_steal_all (GHashTable *hash_table);
5321 gpointer g_hash_table_lookup (GHashTable *hash_table,
5323 gboolean g_hash_table_lookup_extended (GHashTable *hash_table,
5324 gconstpointer lookup_key,
5327 void g_hash_table_foreach (GHashTable *hash_table,
5329 gpointer user_data);
5330 gpointer g_hash_table_find (GHashTable *hash_table,
5332 gpointer user_data);
5333 guint g_hash_table_foreach_remove (GHashTable *hash_table,
5335 gpointer user_data);
5336 guint g_hash_table_foreach_steal (GHashTable *hash_table,
5338 gpointer user_data);
5339 guint g_hash_table_size (GHashTable *hash_table);
5342 GHashTable* g_hash_table_ref (GHashTable *hash_table);
5343 void g_hash_table_unref (GHashTable *hash_table);
5344 # 96 "/usr/include/glib-2.0/glib/ghash.h"
5345 gboolean g_str_equal (gconstpointer v1,
5347 guint g_str_hash (gconstpointer v);
5349 gboolean g_int_equal (gconstpointer v1,
5351 guint g_int_hash (gconstpointer v);
5359 guint g_direct_hash (gconstpointer v) __attribute__((__const__));
5360 gboolean g_direct_equal (gconstpointer v1,
5361 gconstpointer v2) __attribute__((__const__));
5364 # 46 "/usr/include/glib-2.0/glib.h" 2
5365 # 1 "/usr/include/glib-2.0/glib/ghook.h" 1
5366 # 32 "/usr/include/glib-2.0/glib/ghook.h"
5371 typedef struct _GHook GHook;
5372 typedef struct _GHookList GHookList;
5374 typedef gint (*GHookCompareFunc) (GHook *new_hook,
5376 typedef gboolean (*GHookFindFunc) (GHook *hook,
5378 typedef void (*GHookMarshaller) (GHook *hook,
5379 gpointer marshal_data);
5380 typedef gboolean (*GHookCheckMarshaller) (GHook *hook,
5381 gpointer marshal_data);
5382 typedef void (*GHookFunc) (gpointer data);
5383 typedef gboolean (*GHookCheckFunc) (gpointer data);
5384 typedef void (*GHookFinalizeFunc) (GHookList *hook_list,
5388 G_HOOK_FLAG_ACTIVE = 1 << 0,
5389 G_HOOK_FLAG_IN_CALL = 1 << 1,
5390 G_HOOK_FLAG_MASK = 0x0f
5399 guint hook_size : 16;
5403 GHookFinalizeFunc finalize_hook;
5415 GDestroyNotify destroy;
5417 # 102 "/usr/include/glib-2.0/glib/ghook.h"
5418 void g_hook_list_init (GHookList *hook_list,
5420 void g_hook_list_clear (GHookList *hook_list);
5421 GHook* g_hook_alloc (GHookList *hook_list);
5422 void g_hook_free (GHookList *hook_list,
5424 GHook * g_hook_ref (GHookList *hook_list,
5426 void g_hook_unref (GHookList *hook_list,
5428 gboolean g_hook_destroy (GHookList *hook_list,
5430 void g_hook_destroy_link (GHookList *hook_list,
5432 void g_hook_prepend (GHookList *hook_list,
5434 void g_hook_insert_before (GHookList *hook_list,
5437 void g_hook_insert_sorted (GHookList *hook_list,
5439 GHookCompareFunc func);
5440 GHook* g_hook_get (GHookList *hook_list,
5442 GHook* g_hook_find (GHookList *hook_list,
5443 gboolean need_valids,
5446 GHook* g_hook_find_data (GHookList *hook_list,
5447 gboolean need_valids,
5449 GHook* g_hook_find_func (GHookList *hook_list,
5450 gboolean need_valids,
5452 GHook* g_hook_find_func_data (GHookList *hook_list,
5453 gboolean need_valids,
5457 GHook* g_hook_first_valid (GHookList *hook_list,
5458 gboolean may_be_in_call);
5462 GHook* g_hook_next_valid (GHookList *hook_list,
5464 gboolean may_be_in_call);
5466 gint g_hook_compare_ids (GHook *new_hook,
5473 void g_hook_list_invoke (GHookList *hook_list,
5474 gboolean may_recurse);
5478 void g_hook_list_invoke_check (GHookList *hook_list,
5479 gboolean may_recurse);
5482 void g_hook_list_marshal (GHookList *hook_list,
5483 gboolean may_recurse,
5484 GHookMarshaller marshaller,
5485 gpointer marshal_data);
5486 void g_hook_list_marshal_check (GHookList *hook_list,
5487 gboolean may_recurse,
5488 GHookCheckMarshaller marshaller,
5489 gpointer marshal_data);
5492 # 47 "/usr/include/glib-2.0/glib.h" 2
5493 # 1 "/usr/include/glib-2.0/glib/giochannel.h" 1
5494 # 31 "/usr/include/glib-2.0/glib/giochannel.h"
5495 # 1 "/usr/include/glib-2.0/glib/gmain.h" 1
5496 # 23 "/usr/include/glib-2.0/glib/gmain.h"
5497 # 1 "/usr/include/glib-2.0/glib/gslist.h" 1
5498 # 32 "/usr/include/glib-2.0/glib/gslist.h"
5501 typedef struct _GSList GSList;
5511 GSList* g_slist_alloc (void) __attribute__((warn_unused_result));
5512 void g_slist_free (GSList *list);
5513 void g_slist_free_1 (GSList *list);
5515 GSList* g_slist_append (GSList *list,
5516 gpointer data) __attribute__((warn_unused_result));
5517 GSList* g_slist_prepend (GSList *list,
5518 gpointer data) __attribute__((warn_unused_result));
5519 GSList* g_slist_insert (GSList *list,
5521 gint position) __attribute__((warn_unused_result));
5522 GSList* g_slist_insert_sorted (GSList *list,
5524 GCompareFunc func) __attribute__((warn_unused_result));
5525 GSList* g_slist_insert_sorted_with_data (GSList *list,
5527 GCompareDataFunc func,
5528 gpointer user_data) __attribute__((warn_unused_result));
5529 GSList* g_slist_insert_before (GSList *slist,
5531 gpointer data) __attribute__((warn_unused_result));
5532 GSList* g_slist_concat (GSList *list1,
5533 GSList *list2) __attribute__((warn_unused_result));
5534 GSList* g_slist_remove (GSList *list,
5535 gconstpointer data) __attribute__((warn_unused_result));
5536 GSList* g_slist_remove_all (GSList *list,
5537 gconstpointer data) __attribute__((warn_unused_result));
5538 GSList* g_slist_remove_link (GSList *list,
5539 GSList *link_) __attribute__((warn_unused_result));
5540 GSList* g_slist_delete_link (GSList *list,
5541 GSList *link_) __attribute__((warn_unused_result));
5542 GSList* g_slist_reverse (GSList *list) __attribute__((warn_unused_result));
5543 GSList* g_slist_copy (GSList *list) __attribute__((warn_unused_result));
5544 GSList* g_slist_nth (GSList *list,
5546 GSList* g_slist_find (GSList *list,
5547 gconstpointer data);
5548 GSList* g_slist_find_custom (GSList *list,
5551 gint g_slist_position (GSList *list,
5553 gint g_slist_index (GSList *list,
5554 gconstpointer data);
5555 GSList* g_slist_last (GSList *list);
5556 guint g_slist_length (GSList *list);
5557 void g_slist_foreach (GSList *list,
5559 gpointer user_data);
5560 GSList* g_slist_sort (GSList *list,
5561 GCompareFunc compare_func) __attribute__((warn_unused_result));
5562 GSList* g_slist_sort_with_data (GSList *list,
5563 GCompareDataFunc compare_func,
5564 gpointer user_data) __attribute__((warn_unused_result));
5565 gpointer g_slist_nth_data (GSList *list,
5575 # 24 "/usr/include/glib-2.0/glib/gmain.h" 2
5580 typedef struct _GMainContext GMainContext;
5581 typedef struct _GMainLoop GMainLoop;
5582 typedef struct _GSource GSource;
5583 typedef struct _GSourceCallbackFuncs GSourceCallbackFuncs;
5584 typedef struct _GSourceFuncs GSourceFuncs;
5586 typedef gboolean (*GSourceFunc) (gpointer data);
5587 typedef void (*GChildWatchFunc) (GPid pid,
5593 gpointer callback_data;
5594 GSourceCallbackFuncs *callback_funcs;
5596 GSourceFuncs *source_funcs;
5599 GMainContext *context;
5614 struct _GSourceCallbackFuncs
5616 void (*ref) (gpointer cb_data);
5617 void (*unref) (gpointer cb_data);
5618 void (*get) (gpointer cb_data,
5624 typedef void (*GSourceDummyMarshal) (void);
5626 struct _GSourceFuncs
5628 gboolean (*prepare) (GSource *source,
5630 gboolean (*check) (GSource *source);
5631 gboolean (*dispatch) (GSource *source,
5632 GSourceFunc callback,
5633 gpointer user_data);
5634 void (*finalize) (GSource *source);
5637 GSourceFunc closure_callback;
5638 GSourceDummyMarshal closure_marshal;
5640 # 116 "/usr/include/glib-2.0/glib/gmain.h"
5641 typedef struct _GPollFD GPollFD;
5642 typedef gint (*GPollFunc) (GPollFD *ufds,
5652 # 138 "/usr/include/glib-2.0/glib/gmain.h"
5653 GMainContext *g_main_context_new (void);
5654 GMainContext *g_main_context_ref (GMainContext *context);
5655 void g_main_context_unref (GMainContext *context);
5656 GMainContext *g_main_context_default (void);
5658 gboolean g_main_context_iteration (GMainContext *context,
5659 gboolean may_block);
5660 gboolean g_main_context_pending (GMainContext *context);
5664 GSource *g_main_context_find_source_by_id (GMainContext *context,
5666 GSource *g_main_context_find_source_by_user_data (GMainContext *context,
5667 gpointer user_data);
5668 GSource *g_main_context_find_source_by_funcs_user_data (GMainContext *context,
5669 GSourceFuncs *funcs,
5670 gpointer user_data);
5674 void g_main_context_wakeup (GMainContext *context);
5675 gboolean g_main_context_acquire (GMainContext *context);
5676 void g_main_context_release (GMainContext *context);
5677 gboolean g_main_context_is_owner (GMainContext *context);
5678 gboolean g_main_context_wait (GMainContext *context,
5682 gboolean g_main_context_prepare (GMainContext *context,
5684 gint g_main_context_query (GMainContext *context,
5689 gint g_main_context_check (GMainContext *context,
5693 void g_main_context_dispatch (GMainContext *context);
5695 void g_main_context_set_poll_func (GMainContext *context,
5697 GPollFunc g_main_context_get_poll_func (GMainContext *context);
5701 void g_main_context_add_poll (GMainContext *context,
5704 void g_main_context_remove_poll (GMainContext *context,
5707 gint g_main_depth (void);
5708 GSource *g_main_current_source (void);
5713 GMainLoop *g_main_loop_new (GMainContext *context,
5714 gboolean is_running);
5715 void g_main_loop_run (GMainLoop *loop);
5716 void g_main_loop_quit (GMainLoop *loop);
5717 GMainLoop *g_main_loop_ref (GMainLoop *loop);
5718 void g_main_loop_unref (GMainLoop *loop);
5719 gboolean g_main_loop_is_running (GMainLoop *loop);
5720 GMainContext *g_main_loop_get_context (GMainLoop *loop);
5724 GSource *g_source_new (GSourceFuncs *source_funcs,
5726 GSource *g_source_ref (GSource *source);
5727 void g_source_unref (GSource *source);
5729 guint g_source_attach (GSource *source,
5730 GMainContext *context);
5731 void g_source_destroy (GSource *source);
5733 void g_source_set_priority (GSource *source,
5735 gint g_source_get_priority (GSource *source);
5736 void g_source_set_can_recurse (GSource *source,
5737 gboolean can_recurse);
5738 gboolean g_source_get_can_recurse (GSource *source);
5739 guint g_source_get_id (GSource *source);
5741 GMainContext *g_source_get_context (GSource *source);
5743 void g_source_set_callback (GSource *source,
5746 GDestroyNotify notify);
5748 void g_source_set_funcs (GSource *source,
5749 GSourceFuncs *funcs);
5750 gboolean g_source_is_destroyed (GSource *source);
5753 void g_source_set_callback_indirect (GSource *source,
5754 gpointer callback_data,
5755 GSourceCallbackFuncs *callback_funcs);
5757 void g_source_add_poll (GSource *source,
5759 void g_source_remove_poll (GSource *source,
5762 void g_source_get_current_time (GSource *source,
5771 GSource *g_idle_source_new (void);
5772 GSource *g_child_watch_source_new (GPid pid);
5773 GSource *g_timeout_source_new (guint interval);
5777 void g_get_current_time (GTimeVal *result);
5778 # 287 "/usr/include/glib-2.0/glib/gmain.h"
5779 gboolean g_source_remove (guint tag);
5780 gboolean g_source_remove_by_user_data (gpointer user_data);
5781 gboolean g_source_remove_by_funcs_user_data (GSourceFuncs *funcs,
5782 gpointer user_data);
5785 guint g_timeout_add_full (gint priority,
5787 GSourceFunc function,
5789 GDestroyNotify notify);
5790 guint g_timeout_add (guint interval,
5791 GSourceFunc function,
5793 guint g_child_watch_add_full (gint priority,
5795 GChildWatchFunc function,
5797 GDestroyNotify notify);
5798 guint g_child_watch_add (GPid pid,
5799 GChildWatchFunc function,
5801 guint g_idle_add (GSourceFunc function,
5803 guint g_idle_add_full (gint priority,
5804 GSourceFunc function,
5806 GDestroyNotify notify);
5807 gboolean g_idle_remove_by_data (gpointer data);
5810 extern GSourceFuncs g_timeout_funcs;
5811 extern GSourceFuncs g_child_watch_funcs;
5812 extern GSourceFuncs g_idle_funcs;
5815 # 32 "/usr/include/glib-2.0/glib/giochannel.h" 2
5816 # 1 "/usr/include/glib-2.0/glib/gstring.h" 1
5817 # 31 "/usr/include/glib-2.0/glib/gstring.h"
5818 # 1 "/usr/include/glib-2.0/glib/gunicode.h" 1
5819 # 28 "/usr/include/glib-2.0/glib/gunicode.h"
5822 typedef guint32 gunichar;
5823 typedef guint16 gunichar2;
5832 G_UNICODE_UNASSIGNED,
5833 G_UNICODE_PRIVATE_USE,
5834 G_UNICODE_SURROGATE,
5835 G_UNICODE_LOWERCASE_LETTER,
5836 G_UNICODE_MODIFIER_LETTER,
5837 G_UNICODE_OTHER_LETTER,
5838 G_UNICODE_TITLECASE_LETTER,
5839 G_UNICODE_UPPERCASE_LETTER,
5840 G_UNICODE_COMBINING_MARK,
5841 G_UNICODE_ENCLOSING_MARK,
5842 G_UNICODE_NON_SPACING_MARK,
5843 G_UNICODE_DECIMAL_NUMBER,
5844 G_UNICODE_LETTER_NUMBER,
5845 G_UNICODE_OTHER_NUMBER,
5846 G_UNICODE_CONNECT_PUNCTUATION,
5847 G_UNICODE_DASH_PUNCTUATION,
5848 G_UNICODE_CLOSE_PUNCTUATION,
5849 G_UNICODE_FINAL_PUNCTUATION,
5850 G_UNICODE_INITIAL_PUNCTUATION,
5851 G_UNICODE_OTHER_PUNCTUATION,
5852 G_UNICODE_OPEN_PUNCTUATION,
5853 G_UNICODE_CURRENCY_SYMBOL,
5854 G_UNICODE_MODIFIER_SYMBOL,
5855 G_UNICODE_MATH_SYMBOL,
5856 G_UNICODE_OTHER_SYMBOL,
5857 G_UNICODE_LINE_SEPARATOR,
5858 G_UNICODE_PARAGRAPH_SEPARATOR,
5859 G_UNICODE_SPACE_SEPARATOR
5869 G_UNICODE_BREAK_MANDATORY,
5870 G_UNICODE_BREAK_CARRIAGE_RETURN,
5871 G_UNICODE_BREAK_LINE_FEED,
5872 G_UNICODE_BREAK_COMBINING_MARK,
5873 G_UNICODE_BREAK_SURROGATE,
5874 G_UNICODE_BREAK_ZERO_WIDTH_SPACE,
5875 G_UNICODE_BREAK_INSEPARABLE,
5876 G_UNICODE_BREAK_NON_BREAKING_GLUE,
5877 G_UNICODE_BREAK_CONTINGENT,
5878 G_UNICODE_BREAK_SPACE,
5879 G_UNICODE_BREAK_AFTER,
5880 G_UNICODE_BREAK_BEFORE,
5881 G_UNICODE_BREAK_BEFORE_AND_AFTER,
5882 G_UNICODE_BREAK_HYPHEN,
5883 G_UNICODE_BREAK_NON_STARTER,
5884 G_UNICODE_BREAK_OPEN_PUNCTUATION,
5885 G_UNICODE_BREAK_CLOSE_PUNCTUATION,
5886 G_UNICODE_BREAK_QUOTATION,
5887 G_UNICODE_BREAK_EXCLAMATION,
5888 G_UNICODE_BREAK_IDEOGRAPHIC,
5889 G_UNICODE_BREAK_NUMERIC,
5890 G_UNICODE_BREAK_INFIX_SEPARATOR,
5891 G_UNICODE_BREAK_SYMBOL,
5892 G_UNICODE_BREAK_ALPHABETIC,
5893 G_UNICODE_BREAK_PREFIX,
5894 G_UNICODE_BREAK_POSTFIX,
5895 G_UNICODE_BREAK_COMPLEX_CONTEXT,
5896 G_UNICODE_BREAK_AMBIGUOUS,
5897 G_UNICODE_BREAK_UNKNOWN,
5898 G_UNICODE_BREAK_NEXT_LINE,
5899 G_UNICODE_BREAK_WORD_JOINER,
5900 G_UNICODE_BREAK_HANGUL_L_JAMO,
5901 G_UNICODE_BREAK_HANGUL_V_JAMO,
5902 G_UNICODE_BREAK_HANGUL_T_JAMO,
5903 G_UNICODE_BREAK_HANGUL_LV_SYLLABLE,
5904 G_UNICODE_BREAK_HANGUL_LVT_SYLLABLE
5905 } GUnicodeBreakType;
5913 gboolean g_get_charset (const char **charset);
5917 gboolean g_unichar_isalnum (gunichar c) __attribute__((__const__));
5918 gboolean g_unichar_isalpha (gunichar c) __attribute__((__const__));
5919 gboolean g_unichar_iscntrl (gunichar c) __attribute__((__const__));
5920 gboolean g_unichar_isdigit (gunichar c) __attribute__((__const__));
5921 gboolean g_unichar_isgraph (gunichar c) __attribute__((__const__));
5922 gboolean g_unichar_islower (gunichar c) __attribute__((__const__));
5923 gboolean g_unichar_isprint (gunichar c) __attribute__((__const__));
5924 gboolean g_unichar_ispunct (gunichar c) __attribute__((__const__));
5925 gboolean g_unichar_isspace (gunichar c) __attribute__((__const__));
5926 gboolean g_unichar_isupper (gunichar c) __attribute__((__const__));
5927 gboolean g_unichar_isxdigit (gunichar c) __attribute__((__const__));
5928 gboolean g_unichar_istitle (gunichar c) __attribute__((__const__));
5929 gboolean g_unichar_isdefined (gunichar c) __attribute__((__const__));
5930 gboolean g_unichar_iswide (gunichar c) __attribute__((__const__));
5931 gboolean g_unichar_iswide_cjk(gunichar c) __attribute__((__const__));
5935 gunichar g_unichar_toupper (gunichar c) __attribute__((__const__));
5936 gunichar g_unichar_tolower (gunichar c) __attribute__((__const__));
5937 gunichar g_unichar_totitle (gunichar c) __attribute__((__const__));
5941 gint g_unichar_digit_value (gunichar c) __attribute__((__const__));
5943 gint g_unichar_xdigit_value (gunichar c) __attribute__((__const__));
5946 GUnicodeType g_unichar_type (gunichar c) __attribute__((__const__));
5949 GUnicodeBreakType g_unichar_break_type (gunichar c) __attribute__((__const__));
5955 void g_unicode_canonical_ordering (gunichar *string,
5961 gunichar *g_unicode_canonical_decomposition (gunichar ch,
5962 gsize *result_len) __attribute__((__malloc__));
5966 extern const gchar * const g_utf8_skip;
5970 gunichar g_utf8_get_char (const gchar *p);
5971 gunichar g_utf8_get_char_validated (const gchar *p,
5974 gchar* g_utf8_offset_to_pointer (const gchar *str,
5976 glong g_utf8_pointer_to_offset (const gchar *str,
5978 gchar* g_utf8_prev_char (const gchar *p);
5979 gchar* g_utf8_find_next_char (const gchar *p,
5981 gchar* g_utf8_find_prev_char (const gchar *str,
5984 glong g_utf8_strlen (const gchar *p,
5988 gchar* g_utf8_strncpy (gchar *dest,
5994 gchar* g_utf8_strchr (const gchar *p,
5997 gchar* g_utf8_strrchr (const gchar *p,
6000 gchar* g_utf8_strreverse (const gchar *str,
6003 gunichar2 *g_utf8_to_utf16 (const gchar *str,
6006 glong *items_written,
6007 GError **error) __attribute__((__malloc__));
6008 gunichar * g_utf8_to_ucs4 (const gchar *str,
6011 glong *items_written,
6012 GError **error) __attribute__((__malloc__));
6013 gunichar * g_utf8_to_ucs4_fast (const gchar *str,
6015 glong *items_written) __attribute__((__malloc__));
6016 gunichar * g_utf16_to_ucs4 (const gunichar2 *str,
6019 glong *items_written,
6020 GError **error) __attribute__((__malloc__));
6021 gchar* g_utf16_to_utf8 (const gunichar2 *str,
6024 glong *items_written,
6025 GError **error) __attribute__((__malloc__));
6026 gunichar2 *g_ucs4_to_utf16 (const gunichar *str,
6029 glong *items_written,
6030 GError **error) __attribute__((__malloc__));
6031 gchar* g_ucs4_to_utf8 (const gunichar *str,
6034 glong *items_written,
6035 GError **error) __attribute__((__malloc__));
6041 gint g_unichar_to_utf8 (gunichar c,
6048 gboolean g_utf8_validate (const gchar *str,
6053 gboolean g_unichar_validate (gunichar ch);
6055 gchar *g_utf8_strup (const gchar *str,
6056 gssize len) __attribute__((__malloc__));
6057 gchar *g_utf8_strdown (const gchar *str,
6058 gssize len) __attribute__((__malloc__));
6059 gchar *g_utf8_casefold (const gchar *str,
6060 gssize len) __attribute__((__malloc__));
6063 G_NORMALIZE_DEFAULT,
6064 G_NORMALIZE_NFD = G_NORMALIZE_DEFAULT,
6065 G_NORMALIZE_DEFAULT_COMPOSE,
6066 G_NORMALIZE_NFC = G_NORMALIZE_DEFAULT_COMPOSE,
6068 G_NORMALIZE_NFKD = G_NORMALIZE_ALL,
6069 G_NORMALIZE_ALL_COMPOSE,
6070 G_NORMALIZE_NFKC = G_NORMALIZE_ALL_COMPOSE
6073 gchar *g_utf8_normalize (const gchar *str,
6075 GNormalizeMode mode) __attribute__((__malloc__));
6077 gint g_utf8_collate (const gchar *str1,
6079 gchar *g_utf8_collate_key (const gchar *str,
6080 gssize len) __attribute__((__malloc__));
6081 gchar *g_utf8_collate_key_for_filename (const gchar *str,
6082 gssize len) __attribute__((__malloc__));
6084 gboolean g_unichar_get_mirror_char (gunichar ch,
6085 gunichar *mirrored_ch);
6089 gchar *_g_utf8_make_valid (const gchar *name);
6093 # 32 "/usr/include/glib-2.0/glib/gstring.h" 2
6094 # 1 "/usr/include/glib-2.0/glib/gutils.h" 1
6095 # 31 "/usr/include/glib-2.0/glib/gutils.h"
6096 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stdarg.h" 1 3 4
6097 # 105 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stdarg.h" 3 4
6098 typedef __gnuc_va_list va_list;
6099 # 32 "/usr/include/glib-2.0/glib/gutils.h" 2
6102 # 116 "/usr/include/glib-2.0/glib/gutils.h"
6103 const gchar* g_get_user_name (void);
6104 const gchar* g_get_real_name (void);
6105 const gchar* g_get_home_dir (void);
6106 const gchar* g_get_tmp_dir (void);
6107 const gchar* g_get_host_name (void);
6108 gchar* g_get_prgname (void);
6109 void g_set_prgname (const gchar *prgname);
6110 const gchar* g_get_application_name (void);
6111 void g_set_application_name (const gchar *application_name);
6113 const gchar* g_get_user_data_dir (void);
6114 const gchar* g_get_user_config_dir (void);
6115 const gchar* g_get_user_cache_dir (void);
6116 const gchar* const * g_get_system_data_dirs (void);
6117 # 144 "/usr/include/glib-2.0/glib/gutils.h"
6118 const gchar* const * g_get_system_config_dirs (void);
6120 const gchar* const * g_get_language_names (void);
6122 typedef struct _GDebugKey GDebugKey;
6131 guint g_parse_debug_string (const gchar *string,
6132 const GDebugKey *keys,
6135 gint g_snprintf (gchar *string,
6137 gchar const *format,
6138 ...) __attribute__((__format__ (__printf__, 3, 4)));
6139 gint g_vsnprintf (gchar *string,
6141 gchar const *format,
6145 gboolean g_path_is_absolute (const gchar *file_name);
6148 const gchar* g_path_skip_root (const gchar *file_name);
6149 # 192 "/usr/include/glib-2.0/glib/gutils.h"
6150 gchar* g_get_current_dir (void);
6151 gchar* g_path_get_basename (const gchar *file_name) __attribute__((__malloc__));
6152 gchar* g_path_get_dirname (const gchar *file_name) __attribute__((__malloc__));
6155 void g_nullify_pointer (gpointer *nullify_location);
6156 # 208 "/usr/include/glib-2.0/glib/gutils.h"
6157 const gchar* g_getenv (const gchar *variable);
6158 gboolean g_setenv (const gchar *variable,
6160 gboolean overwrite);
6161 void g_unsetenv (const gchar *variable);
6162 gchar** g_listenv (void);
6163 const gchar* _g_getenv_nomalloc (const gchar *variable,
6164 gchar buffer[1024]);
6170 typedef void (*GVoidFunc) (void);
6171 # 232 "/usr/include/glib-2.0/glib/gutils.h"
6172 void g_atexit (GVoidFunc func);
6173 # 246 "/usr/include/glib-2.0/glib/gutils.h"
6174 gchar* g_find_program_in_path (const gchar *program);
6178 extern inline gint g_bit_nth_lsf (gulong mask,
6180 extern inline gint g_bit_nth_msf (gulong mask,
6182 extern inline guint g_bit_storage (gulong number);
6187 typedef struct _GTrashStack GTrashStack;
6193 extern inline void g_trash_stack_push (GTrashStack **stack_p,
6195 extern inline gpointer g_trash_stack_pop (GTrashStack **stack_p);
6196 extern inline gpointer g_trash_stack_peek (GTrashStack **stack_p);
6197 extern inline guint g_trash_stack_height (GTrashStack **stack_p);
6203 g_bit_nth_lsf (gulong mask,
6209 if (mask & (1UL << nth_bit))
6212 while (nth_bit < ((8 * 8) - 1));
6216 g_bit_nth_msf (gulong mask,
6224 if (mask & (1UL << nth_bit))
6227 while (nth_bit > 0);
6231 g_bit_storage (gulong number)
6233 register guint n_bits = 0;
6244 g_trash_stack_push (GTrashStack **stack_p,
6247 GTrashStack *data = (GTrashStack *) data_p;
6249 data->next = *stack_p;
6252 extern inline gpointer
6253 g_trash_stack_pop (GTrashStack **stack_p)
6260 *stack_p = data->next;
6264 data->next = ((void *)0);
6269 extern inline gpointer
6270 g_trash_stack_peek (GTrashStack **stack_p)
6279 g_trash_stack_height (GTrashStack **stack_p)
6284 for (data = *stack_p; data; data = data->next)
6295 extern const guint glib_major_version;
6296 extern const guint glib_minor_version;
6297 extern const guint glib_micro_version;
6298 extern const guint glib_interface_age;
6299 extern const guint glib_binary_age;
6301 const gchar * glib_check_version (guint required_major,
6302 guint required_minor,
6303 guint required_micro);
6312 # 33 "/usr/include/glib-2.0/glib/gstring.h" 2
6316 typedef struct _GString GString;
6317 typedef struct _GStringChunk GStringChunk;
6323 gsize allocated_len;
6328 GStringChunk* g_string_chunk_new (gsize size);
6329 void g_string_chunk_free (GStringChunk *chunk);
6330 gchar* g_string_chunk_insert (GStringChunk *chunk,
6331 const gchar *string);
6332 gchar* g_string_chunk_insert_len (GStringChunk *chunk,
6333 const gchar *string,
6335 gchar* g_string_chunk_insert_const (GStringChunk *chunk,
6336 const gchar *string);
6341 GString* g_string_new (const gchar *init);
6342 GString* g_string_new_len (const gchar *init,
6344 GString* g_string_sized_new (gsize dfl_size);
6345 gchar* g_string_free (GString *string,
6346 gboolean free_segment);
6347 gboolean g_string_equal (const GString *v,
6349 guint g_string_hash (const GString *str);
6350 GString* g_string_assign (GString *string,
6352 GString* g_string_truncate (GString *string,
6354 GString* g_string_set_size (GString *string,
6356 GString* g_string_insert_len (GString *string,
6360 GString* g_string_append (GString *string,
6362 GString* g_string_append_len (GString *string,
6365 GString* g_string_append_c (GString *string,
6367 GString* g_string_append_unichar (GString *string,
6369 GString* g_string_prepend (GString *string,
6371 GString* g_string_prepend_c (GString *string,
6373 GString* g_string_prepend_unichar (GString *string,
6375 GString* g_string_prepend_len (GString *string,
6378 GString* g_string_insert (GString *string,
6381 GString* g_string_insert_c (GString *string,
6384 GString* g_string_insert_unichar (GString *string,
6387 GString* g_string_erase (GString *string,
6390 GString* g_string_ascii_down (GString *string);
6391 GString* g_string_ascii_up (GString *string);
6392 void g_string_printf (GString *string,
6393 const gchar *format,
6394 ...) __attribute__((__format__ (__printf__, 2, 3)));
6395 void g_string_append_printf (GString *string,
6396 const gchar *format,
6397 ...) __attribute__((__format__ (__printf__, 2, 3)));
6401 static inline GString*
6402 g_string_append_c_inline (GString *gstring,
6405 if (gstring->len + 1 < gstring->allocated_len)
6407 gstring->str[gstring->len++] = c;
6408 gstring->str[gstring->len] = 0;
6411 g_string_insert_c (gstring, -1, c);
6414 # 154 "/usr/include/glib-2.0/glib/gstring.h"
6416 # 33 "/usr/include/glib-2.0/glib/giochannel.h" 2
6423 typedef struct _GIOChannel GIOChannel;
6424 typedef struct _GIOFuncs GIOFuncs;
6439 G_IO_CHANNEL_ERROR_FBIG,
6440 G_IO_CHANNEL_ERROR_INVAL,
6441 G_IO_CHANNEL_ERROR_IO,
6442 G_IO_CHANNEL_ERROR_ISDIR,
6443 G_IO_CHANNEL_ERROR_NOSPC,
6444 G_IO_CHANNEL_ERROR_NXIO,
6445 G_IO_CHANNEL_ERROR_OVERFLOW,
6446 G_IO_CHANNEL_ERROR_PIPE,
6448 G_IO_CHANNEL_ERROR_FAILED
6478 G_IO_FLAG_APPEND = 1 << 0,
6479 G_IO_FLAG_NONBLOCK = 1 << 1,
6480 G_IO_FLAG_IS_READABLE = 1 << 2,
6481 G_IO_FLAG_IS_WRITEABLE = 1 << 3,
6482 G_IO_FLAG_IS_SEEKABLE = 1 << 4,
6483 G_IO_FLAG_MASK = (1 << 5) - 1,
6484 G_IO_FLAG_GET_MASK = G_IO_FLAG_MASK,
6485 G_IO_FLAG_SET_MASK = G_IO_FLAG_APPEND | G_IO_FLAG_NONBLOCK
6498 guint line_term_len;
6502 GString *encoded_read_buf;
6504 gchar partial_write_buf[6];
6508 guint use_buffer : 1;
6509 guint do_encode : 1;
6510 guint close_on_unref : 1;
6511 guint is_readable : 1;
6512 guint is_writeable : 1;
6513 guint is_seekable : 1;
6519 typedef gboolean (*GIOFunc) (GIOChannel *source,
6520 GIOCondition condition,
6524 GIOStatus (*io_read) (GIOChannel *channel,
6529 GIOStatus (*io_write) (GIOChannel *channel,
6532 gsize *bytes_written,
6534 GIOStatus (*io_seek) (GIOChannel *channel,
6538 GIOStatus (*io_close) (GIOChannel *channel,
6540 GSource* (*io_create_watch) (GIOChannel *channel,
6541 GIOCondition condition);
6542 void (*io_free) (GIOChannel *channel);
6543 GIOStatus (*io_set_flags) (GIOChannel *channel,
6546 GIOFlags (*io_get_flags) (GIOChannel *channel);
6549 void g_io_channel_init (GIOChannel *channel);
6550 GIOChannel *g_io_channel_ref (GIOChannel *channel);
6551 void g_io_channel_unref (GIOChannel *channel);
6552 # 184 "/usr/include/glib-2.0/glib/giochannel.h"
6553 GIOStatus g_io_channel_shutdown (GIOChannel *channel,
6556 guint g_io_add_watch_full (GIOChannel *channel,
6558 GIOCondition condition,
6561 GDestroyNotify notify);
6562 GSource * g_io_create_watch (GIOChannel *channel,
6563 GIOCondition condition);
6564 guint g_io_add_watch (GIOChannel *channel,
6565 GIOCondition condition,
6567 gpointer user_data);
6572 void g_io_channel_set_buffer_size (GIOChannel *channel,
6574 gsize g_io_channel_get_buffer_size (GIOChannel *channel);
6575 GIOCondition g_io_channel_get_buffer_condition (GIOChannel *channel);
6576 GIOStatus g_io_channel_set_flags (GIOChannel *channel,
6579 GIOFlags g_io_channel_get_flags (GIOChannel *channel);
6580 void g_io_channel_set_line_term (GIOChannel *channel,
6581 const gchar *line_term,
6583 const gchar* g_io_channel_get_line_term (GIOChannel *channel,
6585 void g_io_channel_set_buffered (GIOChannel *channel,
6587 gboolean g_io_channel_get_buffered (GIOChannel *channel);
6588 GIOStatus g_io_channel_set_encoding (GIOChannel *channel,
6589 const gchar *encoding,
6591 const gchar* g_io_channel_get_encoding (GIOChannel *channel);
6592 void g_io_channel_set_close_on_unref (GIOChannel *channel,
6594 gboolean g_io_channel_get_close_on_unref (GIOChannel *channel);
6597 GIOStatus g_io_channel_flush (GIOChannel *channel,
6599 GIOStatus g_io_channel_read_line (GIOChannel *channel,
6602 gsize *terminator_pos,
6604 GIOStatus g_io_channel_read_line_string (GIOChannel *channel,
6606 gsize *terminator_pos,
6608 GIOStatus g_io_channel_read_to_end (GIOChannel *channel,
6612 GIOStatus g_io_channel_read_chars (GIOChannel *channel,
6617 GIOStatus g_io_channel_read_unichar (GIOChannel *channel,
6620 GIOStatus g_io_channel_write_chars (GIOChannel *channel,
6623 gsize *bytes_written,
6625 GIOStatus g_io_channel_write_unichar (GIOChannel *channel,
6628 GIOStatus g_io_channel_seek_position (GIOChannel *channel,
6636 GIOChannel* g_io_channel_new_file (const gchar *filename,
6642 GQuark g_io_channel_error_quark (void);
6643 GIOChannelError g_io_channel_error_from_errno (gint en);
6644 # 294 "/usr/include/glib-2.0/glib/giochannel.h"
6645 GIOChannel* g_io_channel_unix_new (int fd);
6646 gint g_io_channel_unix_get_fd (GIOChannel *channel);
6650 extern GSourceFuncs g_io_watch_funcs;
6651 # 352 "/usr/include/glib-2.0/glib/giochannel.h"
6653 # 48 "/usr/include/glib-2.0/glib.h" 2
6654 # 1 "/usr/include/glib-2.0/glib/gkeyfile.h" 1
6655 # 28 "/usr/include/glib-2.0/glib/gkeyfile.h"
6660 G_KEY_FILE_ERROR_UNKNOWN_ENCODING,
6661 G_KEY_FILE_ERROR_PARSE,
6662 G_KEY_FILE_ERROR_NOT_FOUND,
6663 G_KEY_FILE_ERROR_KEY_NOT_FOUND,
6664 G_KEY_FILE_ERROR_GROUP_NOT_FOUND,
6665 G_KEY_FILE_ERROR_INVALID_VALUE
6670 GQuark g_key_file_error_quark (void);
6672 typedef struct _GKeyFile GKeyFile;
6676 G_KEY_FILE_NONE = 0,
6677 G_KEY_FILE_KEEP_COMMENTS = 1 << 0,
6678 G_KEY_FILE_KEEP_TRANSLATIONS = 1 << 1
6681 GKeyFile *g_key_file_new (void);
6682 void g_key_file_free (GKeyFile *key_file);
6683 void g_key_file_set_list_separator (GKeyFile *key_file,
6685 gboolean g_key_file_load_from_file (GKeyFile *key_file,
6687 GKeyFileFlags flags,
6689 gboolean g_key_file_load_from_data (GKeyFile *key_file,
6692 GKeyFileFlags flags,
6694 gboolean g_key_file_load_from_data_dirs (GKeyFile *key_file,
6697 GKeyFileFlags flags,
6699 gchar *g_key_file_to_data (GKeyFile *key_file,
6701 GError **error) __attribute__((__malloc__));
6702 gchar *g_key_file_get_start_group (GKeyFile *key_file) __attribute__((__malloc__));
6703 gchar **g_key_file_get_groups (GKeyFile *key_file,
6704 gsize *length) __attribute__((__malloc__));
6705 gchar **g_key_file_get_keys (GKeyFile *key_file,
6706 const gchar *group_name,
6708 GError **error) __attribute__((__malloc__));
6709 gboolean g_key_file_has_group (GKeyFile *key_file,
6710 const gchar *group_name);
6711 gboolean g_key_file_has_key (GKeyFile *key_file,
6712 const gchar *group_name,
6715 gchar *g_key_file_get_value (GKeyFile *key_file,
6716 const gchar *group_name,
6718 GError **error) __attribute__((__malloc__));
6719 void g_key_file_set_value (GKeyFile *key_file,
6720 const gchar *group_name,
6722 const gchar *value);
6723 gchar *g_key_file_get_string (GKeyFile *key_file,
6724 const gchar *group_name,
6726 GError **error) __attribute__((__malloc__));
6727 void g_key_file_set_string (GKeyFile *key_file,
6728 const gchar *group_name,
6730 const gchar *string);
6731 gchar *g_key_file_get_locale_string (GKeyFile *key_file,
6732 const gchar *group_name,
6734 const gchar *locale,
6735 GError **error) __attribute__((__malloc__));
6736 void g_key_file_set_locale_string (GKeyFile *key_file,
6737 const gchar *group_name,
6739 const gchar *locale,
6740 const gchar *string);
6741 gboolean g_key_file_get_boolean (GKeyFile *key_file,
6742 const gchar *group_name,
6745 void g_key_file_set_boolean (GKeyFile *key_file,
6746 const gchar *group_name,
6749 gint g_key_file_get_integer (GKeyFile *key_file,
6750 const gchar *group_name,
6753 void g_key_file_set_integer (GKeyFile *key_file,
6754 const gchar *group_name,
6757 gdouble g_key_file_get_double (GKeyFile *key_file,
6758 const gchar *group_name,
6761 void g_key_file_set_double (GKeyFile *key_file,
6762 const gchar *group_name,
6765 gchar **g_key_file_get_string_list (GKeyFile *key_file,
6766 const gchar *group_name,
6769 GError **error) __attribute__((__malloc__));
6770 void g_key_file_set_string_list (GKeyFile *key_file,
6771 const gchar *group_name,
6773 const gchar * const list[],
6775 gchar **g_key_file_get_locale_string_list (GKeyFile *key_file,
6776 const gchar *group_name,
6778 const gchar *locale,
6780 GError **error) __attribute__((__malloc__));
6781 void g_key_file_set_locale_string_list (GKeyFile *key_file,
6782 const gchar *group_name,
6784 const gchar *locale,
6785 const gchar * const list[],
6787 gboolean *g_key_file_get_boolean_list (GKeyFile *key_file,
6788 const gchar *group_name,
6791 GError **error) __attribute__((__malloc__));
6792 void g_key_file_set_boolean_list (GKeyFile *key_file,
6793 const gchar *group_name,
6797 gint *g_key_file_get_integer_list (GKeyFile *key_file,
6798 const gchar *group_name,
6801 GError **error) __attribute__((__malloc__));
6802 void g_key_file_set_double_list (GKeyFile *key_file,
6803 const gchar *group_name,
6807 gdouble *g_key_file_get_double_list (GKeyFile *key_file,
6808 const gchar *group_name,
6811 GError **error) __attribute__((__malloc__));
6812 void g_key_file_set_integer_list (GKeyFile *key_file,
6813 const gchar *group_name,
6817 void g_key_file_set_comment (GKeyFile *key_file,
6818 const gchar *group_name,
6820 const gchar *comment,
6822 gchar *g_key_file_get_comment (GKeyFile *key_file,
6823 const gchar *group_name,
6825 GError **error) __attribute__((__malloc__));
6827 void g_key_file_remove_comment (GKeyFile *key_file,
6828 const gchar *group_name,
6831 void g_key_file_remove_key (GKeyFile *key_file,
6832 const gchar *group_name,
6835 void g_key_file_remove_group (GKeyFile *key_file,
6836 const gchar *group_name,
6840 # 49 "/usr/include/glib-2.0/glib.h" 2
6844 # 1 "/usr/include/glib-2.0/glib/gmappedfile.h" 1
6845 # 26 "/usr/include/glib-2.0/glib/gmappedfile.h"
6848 typedef struct _GMappedFile GMappedFile;
6850 GMappedFile *g_mapped_file_new (const gchar *filename,
6852 GError **error) __attribute__((__malloc__));
6853 gsize g_mapped_file_get_length (GMappedFile *file);
6854 gchar *g_mapped_file_get_contents (GMappedFile *file);
6855 void g_mapped_file_free (GMappedFile *file);
6858 # 53 "/usr/include/glib-2.0/glib.h" 2
6859 # 1 "/usr/include/glib-2.0/glib/gmarkup.h" 1
6860 # 28 "/usr/include/glib-2.0/glib/gmarkup.h"
6865 G_MARKUP_ERROR_BAD_UTF8,
6866 G_MARKUP_ERROR_EMPTY,
6867 G_MARKUP_ERROR_PARSE,
6871 G_MARKUP_ERROR_UNKNOWN_ELEMENT,
6872 G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE,
6873 G_MARKUP_ERROR_INVALID_CONTENT
6878 GQuark g_markup_error_quark (void);
6882 G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG = 1 << 0,
6883 G_MARKUP_TREAT_CDATA_AS_TEXT = 1 << 1
6884 } GMarkupParseFlags;
6886 typedef struct _GMarkupParseContext GMarkupParseContext;
6887 typedef struct _GMarkupParser GMarkupParser;
6889 struct _GMarkupParser
6892 void (*start_element) (GMarkupParseContext *context,
6893 const gchar *element_name,
6894 const gchar **attribute_names,
6895 const gchar **attribute_values,
6900 void (*end_element) (GMarkupParseContext *context,
6901 const gchar *element_name,
6907 void (*text) (GMarkupParseContext *context,
6918 void (*passthrough) (GMarkupParseContext *context,
6919 const gchar *passthrough_text,
6927 void (*error) (GMarkupParseContext *context,
6929 gpointer user_data);
6932 GMarkupParseContext *g_markup_parse_context_new (const GMarkupParser *parser,
6933 GMarkupParseFlags flags,
6935 GDestroyNotify user_data_dnotify);
6936 void g_markup_parse_context_free (GMarkupParseContext *context);
6937 gboolean g_markup_parse_context_parse (GMarkupParseContext *context,
6942 gboolean g_markup_parse_context_end_parse (GMarkupParseContext *context,
6944 const gchar *g_markup_parse_context_get_element (GMarkupParseContext *context);
6947 void g_markup_parse_context_get_position (GMarkupParseContext *context,
6952 gchar* g_markup_escape_text (const gchar *text,
6955 gchar *g_markup_printf_escaped (const char *format,
6956 ...) __attribute__((__format__ (__printf__, 1, 2)));
6957 gchar *g_markup_vprintf_escaped (const char *format,
6961 # 54 "/usr/include/glib-2.0/glib.h" 2
6963 # 1 "/usr/include/glib-2.0/glib/gmessages.h" 1
6964 # 37 "/usr/include/glib-2.0/glib/gmessages.h"
6966 # 38 "/usr/include/glib-2.0/glib/gmessages.h" 3
6973 gsize g_printf_string_upper_bound (const gchar* format,
6975 # 54 "/usr/include/glib-2.0/glib/gmessages.h" 3
6979 G_LOG_FLAG_RECURSION = 1 << 0,
6980 G_LOG_FLAG_FATAL = 1 << 1,
6983 G_LOG_LEVEL_ERROR = 1 << 2,
6984 G_LOG_LEVEL_CRITICAL = 1 << 3,
6985 G_LOG_LEVEL_WARNING = 1 << 4,
6986 G_LOG_LEVEL_MESSAGE = 1 << 5,
6987 G_LOG_LEVEL_INFO = 1 << 6,
6988 G_LOG_LEVEL_DEBUG = 1 << 7,
6990 G_LOG_LEVEL_MASK = ~(G_LOG_FLAG_RECURSION | G_LOG_FLAG_FATAL)
6996 typedef void (*GLogFunc) (const gchar *log_domain,
6997 GLogLevelFlags log_level,
6998 const gchar *message,
6999 gpointer user_data);
7003 guint g_log_set_handler (const gchar *log_domain,
7004 GLogLevelFlags log_levels,
7006 gpointer user_data);
7007 void g_log_remove_handler (const gchar *log_domain,
7009 void g_log_default_handler (const gchar *log_domain,
7010 GLogLevelFlags log_level,
7011 const gchar *message,
7012 gpointer unused_data);
7013 GLogFunc g_log_set_default_handler (GLogFunc log_func,
7014 gpointer user_data);
7015 void g_log (const gchar *log_domain,
7016 GLogLevelFlags log_level,
7017 const gchar *format,
7018 ...) __attribute__((__format__ (__printf__, 3, 4)));
7019 void g_logv (const gchar *log_domain,
7020 GLogLevelFlags log_level,
7021 const gchar *format,
7023 GLogLevelFlags g_log_set_fatal_mask (const gchar *log_domain,
7024 GLogLevelFlags fatal_mask);
7025 GLogLevelFlags g_log_set_always_fatal (GLogLevelFlags fatal_mask);
7028 void _g_log_fallback_handler (const gchar *log_domain,
7029 GLogLevelFlags log_level,
7030 const gchar *message,
7031 gpointer unused_data) __attribute__((visibility("hidden")));
7034 void g_return_if_fail_warning (const char *log_domain,
7035 const char *pretty_function,
7036 const char *expression);
7037 void g_assert_warning (const char *log_domain,
7040 const char *pretty_function,
7041 const char *expression) __attribute__((__noreturn__));
7042 # 205 "/usr/include/glib-2.0/glib/gmessages.h" 3
7043 typedef void (*GPrintFunc) (const gchar *string);
7044 void g_print (const gchar *format,
7045 ...) __attribute__((__format__ (__printf__, 1, 2)));
7046 GPrintFunc g_set_print_handler (GPrintFunc func);
7047 void g_printerr (const gchar *format,
7048 ...) __attribute__((__format__ (__printf__, 1, 2)));
7049 GPrintFunc g_set_printerr_handler (GPrintFunc func);
7050 # 361 "/usr/include/glib-2.0/glib/gmessages.h" 3
7052 # 56 "/usr/include/glib-2.0/glib.h" 2
7053 # 1 "/usr/include/glib-2.0/glib/gnode.h" 1
7054 # 32 "/usr/include/glib-2.0/glib/gnode.h"
7057 typedef struct _GNode GNode;
7062 G_TRAVERSE_LEAVES = 1 << 0,
7063 G_TRAVERSE_NON_LEAVES = 1 << 1,
7064 G_TRAVERSE_ALL = G_TRAVERSE_LEAVES | G_TRAVERSE_NON_LEAVES,
7065 G_TRAVERSE_MASK = 0x03,
7066 G_TRAVERSE_LEAFS = G_TRAVERSE_LEAVES,
7067 G_TRAVERSE_NON_LEAFS = G_TRAVERSE_NON_LEAVES
7079 typedef gboolean (*GNodeTraverseFunc) (GNode *node,
7081 typedef void (*GNodeForeachFunc) (GNode *node,
7083 typedef gpointer (*GCopyFunc) (gconstpointer src,
7102 GNode* g_node_new (gpointer data);
7103 void g_node_destroy (GNode *root);
7104 void g_node_unlink (GNode *node);
7105 GNode* g_node_copy_deep (GNode *node,
7106 GCopyFunc copy_func,
7108 GNode* g_node_copy (GNode *node);
7109 GNode* g_node_insert (GNode *parent,
7112 GNode* g_node_insert_before (GNode *parent,
7115 GNode* g_node_insert_after (GNode *parent,
7118 GNode* g_node_prepend (GNode *parent,
7120 guint g_node_n_nodes (GNode *root,
7121 GTraverseFlags flags);
7122 GNode* g_node_get_root (GNode *node);
7123 gboolean g_node_is_ancestor (GNode *node,
7125 guint g_node_depth (GNode *node);
7126 GNode* g_node_find (GNode *root,
7127 GTraverseType order,
7128 GTraverseFlags flags,
7130 # 125 "/usr/include/glib-2.0/glib/gnode.h"
7131 void g_node_traverse (GNode *root,
7132 GTraverseType order,
7133 GTraverseFlags flags,
7135 GNodeTraverseFunc func,
7143 guint g_node_max_height (GNode *root);
7145 void g_node_children_foreach (GNode *node,
7146 GTraverseFlags flags,
7147 GNodeForeachFunc func,
7149 void g_node_reverse_children (GNode *node);
7150 guint g_node_n_children (GNode *node);
7151 GNode* g_node_nth_child (GNode *node,
7153 GNode* g_node_last_child (GNode *node);
7154 GNode* g_node_find_child (GNode *node,
7155 GTraverseFlags flags,
7157 gint g_node_child_position (GNode *node,
7159 gint g_node_child_index (GNode *node,
7162 GNode* g_node_first_sibling (GNode *node);
7163 GNode* g_node_last_sibling (GNode *node);
7164 # 170 "/usr/include/glib-2.0/glib/gnode.h"
7166 # 57 "/usr/include/glib-2.0/glib.h" 2
7167 # 1 "/usr/include/glib-2.0/glib/goption.h" 1
7168 # 27 "/usr/include/glib-2.0/glib/goption.h"
7171 typedef struct _GOptionContext GOptionContext;
7172 typedef struct _GOptionGroup GOptionGroup;
7173 typedef struct _GOptionEntry GOptionEntry;
7177 G_OPTION_FLAG_HIDDEN = 1 << 0,
7178 G_OPTION_FLAG_IN_MAIN = 1 << 1,
7179 G_OPTION_FLAG_REVERSE = 1 << 2,
7180 G_OPTION_FLAG_NO_ARG = 1 << 3,
7181 G_OPTION_FLAG_FILENAME = 1 << 4,
7182 G_OPTION_FLAG_OPTIONAL_ARG = 1 << 5,
7183 G_OPTION_FLAG_NOALIAS = 1 << 6
7189 G_OPTION_ARG_STRING,
7191 G_OPTION_ARG_CALLBACK,
7192 G_OPTION_ARG_FILENAME,
7193 G_OPTION_ARG_STRING_ARRAY,
7194 G_OPTION_ARG_FILENAME_ARRAY,
7195 G_OPTION_ARG_DOUBLE,
7199 typedef gboolean (*GOptionArgFunc) (const gchar *option_name,
7204 typedef gboolean (*GOptionParseFunc) (GOptionContext *context,
7205 GOptionGroup *group,
7209 typedef void (*GOptionErrorFunc) (GOptionContext *context,
7210 GOptionGroup *group,
7218 G_OPTION_ERROR_UNKNOWN_OPTION,
7219 G_OPTION_ERROR_BAD_VALUE,
7220 G_OPTION_ERROR_FAILED
7223 GQuark g_option_error_quark (void);
7226 struct _GOptionEntry
7228 const gchar *long_name;
7235 const gchar *description;
7236 const gchar *arg_description;
7241 GOptionContext *g_option_context_new (const gchar *parameter_string);
7242 void g_option_context_set_summary (GOptionContext *context,
7243 const gchar *summary);
7244 const gchar *g_option_context_get_summary (GOptionContext *context);
7245 void g_option_context_set_description (GOptionContext *context,
7246 const gchar *description);
7247 const gchar *g_option_context_get_description (GOptionContext *context);
7248 void g_option_context_free (GOptionContext *context);
7249 void g_option_context_set_help_enabled (GOptionContext *context,
7250 gboolean help_enabled);
7251 gboolean g_option_context_get_help_enabled (GOptionContext *context);
7252 void g_option_context_set_ignore_unknown_options (GOptionContext *context,
7253 gboolean ignore_unknown);
7254 gboolean g_option_context_get_ignore_unknown_options (GOptionContext *context);
7256 void g_option_context_add_main_entries (GOptionContext *context,
7257 const GOptionEntry *entries,
7258 const gchar *translation_domain);
7259 gboolean g_option_context_parse (GOptionContext *context,
7263 void g_option_context_set_translate_func (GOptionContext *context,
7264 GTranslateFunc func,
7266 GDestroyNotify destroy_notify);
7267 void g_option_context_set_translation_domain (GOptionContext *context,
7268 const gchar *domain);
7270 void g_option_context_add_group (GOptionContext *context,
7271 GOptionGroup *group);
7272 void g_option_context_set_main_group (GOptionContext *context,
7273 GOptionGroup *group);
7274 GOptionGroup *g_option_context_get_main_group (GOptionContext *context);
7277 GOptionGroup *g_option_group_new (const gchar *name,
7278 const gchar *description,
7279 const gchar *help_description,
7281 GDestroyNotify destroy);
7282 void g_option_group_set_parse_hooks (GOptionGroup *group,
7283 GOptionParseFunc pre_parse_func,
7284 GOptionParseFunc post_parse_func);
7285 void g_option_group_set_error_hook (GOptionGroup *group,
7286 GOptionErrorFunc error_func);
7287 void g_option_group_free (GOptionGroup *group);
7288 void g_option_group_add_entries (GOptionGroup *group,
7289 const GOptionEntry *entries);
7290 void g_option_group_set_translate_func (GOptionGroup *group,
7291 GTranslateFunc func,
7293 GDestroyNotify destroy_notify);
7294 void g_option_group_set_translation_domain (GOptionGroup *group,
7295 const gchar *domain);
7299 # 58 "/usr/include/glib-2.0/glib.h" 2
7300 # 1 "/usr/include/glib-2.0/glib/gpattern.h" 1
7301 # 24 "/usr/include/glib-2.0/glib/gpattern.h"
7305 typedef struct _GPatternSpec GPatternSpec;
7307 GPatternSpec* g_pattern_spec_new (const gchar *pattern);
7308 void g_pattern_spec_free (GPatternSpec *pspec);
7309 gboolean g_pattern_spec_equal (GPatternSpec *pspec1,
7310 GPatternSpec *pspec2);
7311 gboolean g_pattern_match (GPatternSpec *pspec,
7312 guint string_length,
7313 const gchar *string,
7314 const gchar *string_reversed);
7315 gboolean g_pattern_match_string (GPatternSpec *pspec,
7316 const gchar *string);
7317 gboolean g_pattern_match_simple (const gchar *pattern,
7318 const gchar *string);
7321 # 59 "/usr/include/glib-2.0/glib.h" 2
7322 # 1 "/usr/include/glib-2.0/glib/gprimes.h" 1
7323 # 32 "/usr/include/glib-2.0/glib/gprimes.h"
7325 # 43 "/usr/include/glib-2.0/glib/gprimes.h"
7326 guint g_spaced_primes_closest (guint num) __attribute__((__const__));
7329 # 60 "/usr/include/glib-2.0/glib.h" 2
7330 # 1 "/usr/include/glib-2.0/glib/gqsort.h" 1
7331 # 33 "/usr/include/glib-2.0/glib/gqsort.h"
7334 void g_qsort_with_data (gconstpointer pbase,
7337 GCompareDataFunc compare_func,
7338 gpointer user_data);
7341 # 61 "/usr/include/glib-2.0/glib.h" 2
7343 # 1 "/usr/include/glib-2.0/glib/gqueue.h" 1
7344 # 32 "/usr/include/glib-2.0/glib/gqueue.h"
7347 typedef struct _GQueue GQueue;
7358 GQueue* g_queue_new (void);
7359 void g_queue_free (GQueue *queue);
7360 gboolean g_queue_is_empty (GQueue *queue);
7361 guint g_queue_get_length (GQueue *queue);
7362 void g_queue_reverse (GQueue *queue);
7363 GQueue * g_queue_copy (GQueue *queue);
7364 void g_queue_foreach (GQueue *queue,
7366 gpointer user_data);
7367 GList * g_queue_find (GQueue *queue,
7368 gconstpointer data);
7369 GList * g_queue_find_custom (GQueue *queue,
7372 void g_queue_sort (GQueue *queue,
7373 GCompareDataFunc compare_func,
7374 gpointer user_data);
7376 void g_queue_push_head (GQueue *queue,
7378 void g_queue_push_tail (GQueue *queue,
7380 void g_queue_push_nth (GQueue *queue,
7383 gpointer g_queue_pop_head (GQueue *queue);
7384 gpointer g_queue_pop_tail (GQueue *queue);
7385 gpointer g_queue_pop_nth (GQueue *queue,
7387 gpointer g_queue_peek_head (GQueue *queue);
7388 gpointer g_queue_peek_tail (GQueue *queue);
7389 gpointer g_queue_peek_nth (GQueue *queue,
7391 gint g_queue_index (GQueue *queue,
7392 gconstpointer data);
7393 void g_queue_remove (GQueue *queue,
7394 gconstpointer data);
7395 void g_queue_remove_all (GQueue *queue,
7396 gconstpointer data);
7397 void g_queue_insert_before (GQueue *queue,
7400 void g_queue_insert_after (GQueue *queue,
7403 void g_queue_insert_sorted (GQueue *queue,
7405 GCompareDataFunc func,
7406 gpointer user_data);
7408 void g_queue_push_head_link (GQueue *queue,
7410 void g_queue_push_tail_link (GQueue *queue,
7412 void g_queue_push_nth_link (GQueue *queue,
7415 GList* g_queue_pop_head_link (GQueue *queue);
7416 GList* g_queue_pop_tail_link (GQueue *queue);
7417 GList* g_queue_pop_nth_link (GQueue *queue,
7419 GList* g_queue_peek_head_link (GQueue *queue);
7420 GList* g_queue_peek_tail_link (GQueue *queue);
7421 GList* g_queue_peek_nth_link (GQueue *queue,
7423 gint g_queue_link_index (GQueue *queue,
7425 void g_queue_unlink (GQueue *queue,
7427 void g_queue_delete_link (GQueue *queue,
7431 # 63 "/usr/include/glib-2.0/glib.h" 2
7432 # 1 "/usr/include/glib-2.0/glib/grand.h" 1
7433 # 32 "/usr/include/glib-2.0/glib/grand.h"
7436 typedef struct _GRand GRand;
7437 # 45 "/usr/include/glib-2.0/glib/grand.h"
7438 GRand* g_rand_new_with_seed (guint32 seed);
7439 GRand* g_rand_new_with_seed_array (const guint32 *seed,
7441 GRand* g_rand_new (void);
7442 void g_rand_free (GRand *rand_);
7443 GRand* g_rand_copy (GRand *rand_);
7444 void g_rand_set_seed (GRand *rand_,
7446 void g_rand_set_seed_array (GRand *rand_,
7447 const guint32 *seed,
7452 guint32 g_rand_int (GRand *rand_);
7453 gint32 g_rand_int_range (GRand *rand_,
7456 gdouble g_rand_double (GRand *rand_);
7457 gdouble g_rand_double_range (GRand *rand_,
7460 void g_random_set_seed (guint32 seed);
7464 guint32 g_random_int (void);
7465 gint32 g_random_int_range (gint32 begin,
7467 gdouble g_random_double (void);
7468 gdouble g_random_double_range (gdouble begin,
7473 # 64 "/usr/include/glib-2.0/glib.h" 2
7474 # 1 "/usr/include/glib-2.0/glib/grel.h" 1
7475 # 32 "/usr/include/glib-2.0/glib/grel.h"
7478 typedef struct _GRelation GRelation;
7479 typedef struct _GTuples GTuples;
7485 # 65 "/usr/include/glib-2.0/glib/grel.h"
7486 GRelation* g_relation_new (gint fields);
7487 void g_relation_destroy (GRelation *relation);
7488 void g_relation_index (GRelation *relation,
7490 GHashFunc hash_func,
7491 GEqualFunc key_equal_func);
7492 void g_relation_insert (GRelation *relation,
7494 gint g_relation_delete (GRelation *relation,
7497 GTuples* g_relation_select (GRelation *relation,
7500 gint g_relation_count (GRelation *relation,
7503 gboolean g_relation_exists (GRelation *relation,
7505 void g_relation_print (GRelation *relation);
7507 void g_tuples_destroy (GTuples *tuples);
7508 gpointer g_tuples_index (GTuples *tuples,
7513 # 65 "/usr/include/glib-2.0/glib.h" 2
7514 # 1 "/usr/include/glib-2.0/glib/gscanner.h" 1
7515 # 33 "/usr/include/glib-2.0/glib/gscanner.h"
7518 typedef struct _GScanner GScanner;
7519 typedef struct _GScannerConfig GScannerConfig;
7520 typedef union _GTokenValue GTokenValue;
7522 typedef void (*GScannerMsgFunc) (GScanner *scanner,
7525 # 60 "/usr/include/glib-2.0/glib/gscanner.h"
7530 G_ERR_UNEXP_EOF_IN_STRING,
7531 G_ERR_UNEXP_EOF_IN_COMMENT,
7532 G_ERR_NON_DIGIT_IN_CONST,
7535 G_ERR_FLOAT_MALFORMED
7543 G_TOKEN_LEFT_PAREN = '(',
7544 G_TOKEN_RIGHT_PAREN = ')',
7545 G_TOKEN_LEFT_CURLY = '{',
7546 G_TOKEN_RIGHT_CURLY = '}',
7547 G_TOKEN_LEFT_BRACE = '[',
7548 G_TOKEN_RIGHT_BRACE = ']',
7549 G_TOKEN_EQUAL_SIGN = '=',
7550 G_TOKEN_COMMA = ',',
7566 G_TOKEN_IDENTIFIER_NULL,
7568 G_TOKEN_COMMENT_SINGLE,
7569 G_TOKEN_COMMENT_MULTI,
7576 gchar *v_identifier;
7589 struct _GScannerConfig
7593 gchar *cset_skip_characters;
7594 gchar *cset_identifier_first;
7595 gchar *cset_identifier_nth;
7596 gchar *cpair_comment_single;
7600 guint case_sensitive : 1;
7605 guint skip_comment_multi : 1;
7606 guint skip_comment_single : 1;
7607 guint scan_comment_multi : 1;
7608 guint scan_identifier : 1;
7609 guint scan_identifier_1char : 1;
7610 guint scan_identifier_NULL : 1;
7611 guint scan_symbols : 1;
7612 guint scan_binary : 1;
7613 guint scan_octal : 1;
7614 guint scan_float : 1;
7616 guint scan_hex_dollar : 1;
7617 guint scan_string_sq : 1;
7618 guint scan_string_dq : 1;
7619 guint numbers_2_int : 1;
7620 guint int_2_float : 1;
7621 guint identifier_2_string : 1;
7622 guint char_2_token : 1;
7623 guint symbol_2_token : 1;
7624 guint scope_0_fallback : 1;
7625 guint store_int64 : 1;
7626 guint padding_dummy;
7633 guint max_parse_errors;
7639 const gchar *input_name;
7645 GScannerConfig *config;
7654 GTokenType next_token;
7655 GTokenValue next_value;
7657 guint next_position;
7660 GHashTable *symbol_table;
7663 const gchar *text_end;
7668 GScannerMsgFunc msg_handler;
7671 GScanner* g_scanner_new (const GScannerConfig *config_templ);
7672 void g_scanner_destroy (GScanner *scanner);
7673 void g_scanner_input_file (GScanner *scanner,
7675 void g_scanner_sync_file_offset (GScanner *scanner);
7676 void g_scanner_input_text (GScanner *scanner,
7679 GTokenType g_scanner_get_next_token (GScanner *scanner);
7680 GTokenType g_scanner_peek_next_token (GScanner *scanner);
7681 GTokenType g_scanner_cur_token (GScanner *scanner);
7682 GTokenValue g_scanner_cur_value (GScanner *scanner);
7683 guint g_scanner_cur_line (GScanner *scanner);
7684 guint g_scanner_cur_position (GScanner *scanner);
7685 gboolean g_scanner_eof (GScanner *scanner);
7686 guint g_scanner_set_scope (GScanner *scanner,
7688 void g_scanner_scope_add_symbol (GScanner *scanner,
7690 const gchar *symbol,
7692 void g_scanner_scope_remove_symbol (GScanner *scanner,
7694 const gchar *symbol);
7695 gpointer g_scanner_scope_lookup_symbol (GScanner *scanner,
7697 const gchar *symbol);
7698 void g_scanner_scope_foreach_symbol (GScanner *scanner,
7701 gpointer user_data);
7702 gpointer g_scanner_lookup_symbol (GScanner *scanner,
7703 const gchar *symbol);
7704 void g_scanner_unexp_token (GScanner *scanner,
7705 GTokenType expected_token,
7706 const gchar *identifier_spec,
7707 const gchar *symbol_spec,
7708 const gchar *symbol_name,
7709 const gchar *message,
7711 void g_scanner_error (GScanner *scanner,
7712 const gchar *format,
7713 ...) __attribute__((__format__ (__printf__, 2, 3)));
7714 void g_scanner_warn (GScanner *scanner,
7715 const gchar *format,
7716 ...) __attribute__((__format__ (__printf__, 2, 3)));
7717 # 272 "/usr/include/glib-2.0/glib/gscanner.h"
7719 # 66 "/usr/include/glib-2.0/glib.h" 2
7720 # 1 "/usr/include/glib-2.0/glib/gshell.h" 1
7721 # 26 "/usr/include/glib-2.0/glib/gshell.h"
7729 G_SHELL_ERROR_BAD_QUOTING,
7731 G_SHELL_ERROR_EMPTY_STRING,
7732 G_SHELL_ERROR_FAILED
7735 GQuark g_shell_error_quark (void);
7737 gchar* g_shell_quote (const gchar *unquoted_string);
7738 gchar* g_shell_unquote (const gchar *quoted_string,
7740 gboolean g_shell_parse_argv (const gchar *command_line,
7746 # 67 "/usr/include/glib-2.0/glib.h" 2
7748 # 1 "/usr/include/glib-2.0/glib/gspawn.h" 1
7749 # 26 "/usr/include/glib-2.0/glib/gspawn.h"
7759 G_SPAWN_ERROR_CHDIR,
7760 G_SPAWN_ERROR_ACCES,
7763 G_SPAWN_ERROR_NOEXEC,
7764 G_SPAWN_ERROR_NAMETOOLONG,
7765 G_SPAWN_ERROR_NOENT,
7766 G_SPAWN_ERROR_NOMEM,
7767 G_SPAWN_ERROR_NOTDIR,
7769 G_SPAWN_ERROR_TXTBUSY,
7771 G_SPAWN_ERROR_NFILE,
7772 G_SPAWN_ERROR_MFILE,
7773 G_SPAWN_ERROR_INVAL,
7774 G_SPAWN_ERROR_ISDIR,
7775 G_SPAWN_ERROR_LIBBAD,
7776 G_SPAWN_ERROR_FAILED
7781 typedef void (* GSpawnChildSetupFunc) (gpointer user_data);
7785 G_SPAWN_LEAVE_DESCRIPTORS_OPEN = 1 << 0,
7786 G_SPAWN_DO_NOT_REAP_CHILD = 1 << 1,
7788 G_SPAWN_SEARCH_PATH = 1 << 2,
7790 G_SPAWN_STDOUT_TO_DEV_NULL = 1 << 3,
7791 G_SPAWN_STDERR_TO_DEV_NULL = 1 << 4,
7792 G_SPAWN_CHILD_INHERITS_STDIN = 1 << 5,
7793 G_SPAWN_FILE_AND_ARGV_ZERO = 1 << 6
7796 GQuark g_spawn_error_quark (void);
7797 # 82 "/usr/include/glib-2.0/glib/gspawn.h"
7798 gboolean g_spawn_async (const gchar *working_directory,
7802 GSpawnChildSetupFunc child_setup,
7811 gboolean g_spawn_async_with_pipes (const gchar *working_directory,
7815 GSpawnChildSetupFunc child_setup,
7818 gint *standard_input,
7819 gint *standard_output,
7820 gint *standard_error,
7828 gboolean g_spawn_sync (const gchar *working_directory,
7832 GSpawnChildSetupFunc child_setup,
7834 gchar **standard_output,
7835 gchar **standard_error,
7839 gboolean g_spawn_command_line_sync (const gchar *command_line,
7840 gchar **standard_output,
7841 gchar **standard_error,
7844 gboolean g_spawn_command_line_async (const gchar *command_line,
7847 void g_spawn_close_pid (GPid pid);
7851 # 69 "/usr/include/glib-2.0/glib.h" 2
7852 # 1 "/usr/include/glib-2.0/glib/gstrfuncs.h" 1
7853 # 33 "/usr/include/glib-2.0/glib/gstrfuncs.h"
7858 G_ASCII_ALNUM = 1 << 0,
7859 G_ASCII_ALPHA = 1 << 1,
7860 G_ASCII_CNTRL = 1 << 2,
7861 G_ASCII_DIGIT = 1 << 3,
7862 G_ASCII_GRAPH = 1 << 4,
7863 G_ASCII_LOWER = 1 << 5,
7864 G_ASCII_PRINT = 1 << 6,
7865 G_ASCII_PUNCT = 1 << 7,
7866 G_ASCII_SPACE = 1 << 8,
7867 G_ASCII_UPPER = 1 << 9,
7868 G_ASCII_XDIGIT = 1 << 10
7871 extern const guint16 * const g_ascii_table;
7872 # 85 "/usr/include/glib-2.0/glib/gstrfuncs.h"
7873 gchar g_ascii_tolower (gchar c) __attribute__((__const__));
7874 gchar g_ascii_toupper (gchar c) __attribute__((__const__));
7876 gint g_ascii_digit_value (gchar c) __attribute__((__const__));
7877 gint g_ascii_xdigit_value (gchar c) __attribute__((__const__));
7883 gchar* g_strdelimit (gchar *string,
7884 const gchar *delimiters,
7885 gchar new_delimiter);
7886 gchar* g_strcanon (gchar *string,
7887 const gchar *valid_chars,
7889 const gchar* g_strerror (gint errnum) __attribute__((__const__));
7890 const gchar* g_strsignal (gint signum) __attribute__((__const__));
7891 gchar* g_strreverse (gchar *string);
7892 gsize g_strlcpy (gchar *dest,
7895 gsize g_strlcat (gchar *dest,
7898 gchar * g_strstr_len (const gchar *haystack,
7899 gssize haystack_len,
7900 const gchar *needle);
7901 gchar * g_strrstr (const gchar *haystack,
7902 const gchar *needle);
7903 gchar * g_strrstr_len (const gchar *haystack,
7904 gssize haystack_len,
7905 const gchar *needle);
7907 gboolean g_str_has_suffix (const gchar *str,
7908 const gchar *suffix);
7909 gboolean g_str_has_prefix (const gchar *str,
7910 const gchar *prefix);
7914 gdouble g_strtod (const gchar *nptr,
7916 gdouble g_ascii_strtod (const gchar *nptr,
7918 guint64 g_ascii_strtoull (const gchar *nptr,
7921 gint64 g_ascii_strtoll (const gchar *nptr,
7928 gchar * g_ascii_dtostr (gchar *buffer,
7931 gchar * g_ascii_formatd (gchar *buffer,
7933 const gchar *format,
7937 gchar* g_strchug (gchar *string);
7939 gchar* g_strchomp (gchar *string);
7943 gint g_ascii_strcasecmp (const gchar *s1,
7945 gint g_ascii_strncasecmp (const gchar *s1,
7948 gchar* g_ascii_strdown (const gchar *str,
7949 gssize len) __attribute__((__malloc__));
7950 gchar* g_ascii_strup (const gchar *str,
7951 gssize len) __attribute__((__malloc__));
7952 # 185 "/usr/include/glib-2.0/glib/gstrfuncs.h"
7953 gchar* g_strdup (const gchar *str) __attribute__((__malloc__));
7954 gchar* g_strdup_printf (const gchar *format,
7955 ...) __attribute__((__format__ (__printf__, 1, 2))) __attribute__((__malloc__));
7956 gchar* g_strdup_vprintf (const gchar *format,
7957 va_list args) __attribute__((__malloc__));
7958 gchar* g_strndup (const gchar *str,
7959 gsize n) __attribute__((__malloc__));
7960 gchar* g_strnfill (gsize length,
7961 gchar fill_char) __attribute__((__malloc__));
7962 gchar* g_strconcat (const gchar *string1,
7963 ...) __attribute__((__malloc__)) __attribute__((__sentinel__));
7964 gchar* g_strjoin (const gchar *separator,
7965 ...) __attribute__((__malloc__)) __attribute__((__sentinel__));
7971 gchar* g_strcompress (const gchar *source) __attribute__((__malloc__));
7972 # 213 "/usr/include/glib-2.0/glib/gstrfuncs.h"
7973 gchar* g_strescape (const gchar *source,
7974 const gchar *exceptions) __attribute__((__malloc__));
7976 gpointer g_memdup (gconstpointer mem,
7977 guint byte_size) __attribute__((__malloc__));
7978 # 228 "/usr/include/glib-2.0/glib/gstrfuncs.h"
7979 gchar** g_strsplit (const gchar *string,
7980 const gchar *delimiter,
7981 gint max_tokens) __attribute__((__malloc__));
7982 gchar ** g_strsplit_set (const gchar *string,
7983 const gchar *delimiters,
7984 gint max_tokens) __attribute__((__malloc__));
7985 gchar* g_strjoinv (const gchar *separator,
7986 gchar **str_array) __attribute__((__malloc__));
7987 void g_strfreev (gchar **str_array);
7988 gchar** g_strdupv (gchar **str_array) __attribute__((__malloc__));
7989 guint g_strv_length (gchar **str_array);
7991 gchar* g_stpcpy (gchar *dest,
7994 const gchar *g_strip_context (const gchar *msgid,
7995 const gchar *msgval);
7998 # 70 "/usr/include/glib-2.0/glib.h" 2
8001 # 1 "/usr/include/glib-2.0/glib/gthreadpool.h" 1
8002 # 32 "/usr/include/glib-2.0/glib/gthreadpool.h"
8005 typedef struct _GThreadPool GThreadPool;
8024 GThreadPool* g_thread_pool_new (GFunc func,
8034 void g_thread_pool_push (GThreadPool *pool,
8041 void g_thread_pool_set_max_threads (GThreadPool *pool,
8044 gint g_thread_pool_get_max_threads (GThreadPool *pool);
8048 guint g_thread_pool_get_num_threads (GThreadPool *pool);
8051 guint g_thread_pool_unprocessed (GThreadPool *pool);
8057 void g_thread_pool_free (GThreadPool *pool,
8063 void g_thread_pool_set_max_unused_threads (gint max_threads);
8064 gint g_thread_pool_get_max_unused_threads (void);
8065 guint g_thread_pool_get_num_unused_threads (void);
8068 void g_thread_pool_stop_unused_threads (void);
8071 void g_thread_pool_set_sort_function (GThreadPool *pool,
8072 GCompareDataFunc func,
8073 gpointer user_data);
8076 void g_thread_pool_set_max_idle_time (guint interval);
8077 guint g_thread_pool_get_max_idle_time (void);
8080 # 73 "/usr/include/glib-2.0/glib.h" 2
8081 # 1 "/usr/include/glib-2.0/glib/gtimer.h" 1
8082 # 32 "/usr/include/glib-2.0/glib/gtimer.h"
8089 typedef struct _GTimer GTimer;
8093 GTimer* g_timer_new (void);
8094 void g_timer_destroy (GTimer *timer);
8095 void g_timer_start (GTimer *timer);
8096 void g_timer_stop (GTimer *timer);
8097 void g_timer_reset (GTimer *timer);
8098 void g_timer_continue (GTimer *timer);
8099 gdouble g_timer_elapsed (GTimer *timer,
8100 gulong *microseconds);
8102 void g_usleep (gulong microseconds);
8104 void g_time_val_add (GTimeVal *time_,
8105 glong microseconds);
8106 gboolean g_time_val_from_iso8601 (const gchar *iso_date,
8108 gchar* g_time_val_to_iso8601 (GTimeVal *time_) __attribute__((__malloc__));
8111 # 74 "/usr/include/glib-2.0/glib.h" 2
8112 # 1 "/usr/include/glib-2.0/glib/gtree.h" 1
8113 # 32 "/usr/include/glib-2.0/glib/gtree.h"
8116 typedef struct _GTree GTree;
8118 typedef gboolean (*GTraverseFunc) (gpointer key,
8124 GTree* g_tree_new (GCompareFunc key_compare_func);
8125 GTree* g_tree_new_with_data (GCompareDataFunc key_compare_func,
8126 gpointer key_compare_data);
8127 GTree* g_tree_new_full (GCompareDataFunc key_compare_func,
8128 gpointer key_compare_data,
8129 GDestroyNotify key_destroy_func,
8130 GDestroyNotify value_destroy_func);
8131 void g_tree_destroy (GTree *tree);
8132 void g_tree_insert (GTree *tree,
8135 void g_tree_replace (GTree *tree,
8138 gboolean g_tree_remove (GTree *tree,
8140 gboolean g_tree_steal (GTree *tree,
8142 gpointer g_tree_lookup (GTree *tree,
8144 gboolean g_tree_lookup_extended (GTree *tree,
8145 gconstpointer lookup_key,
8148 void g_tree_foreach (GTree *tree,
8150 gpointer user_data);
8151 # 77 "/usr/include/glib-2.0/glib/gtree.h"
8152 gpointer g_tree_search (GTree *tree,
8153 GCompareFunc search_func,
8154 gconstpointer user_data);
8155 gint g_tree_height (GTree *tree);
8156 gint g_tree_nnodes (GTree *tree);
8161 # 75 "/usr/include/glib-2.0/glib.h" 2
8164 typedef struct scheme scheme;
8165 typedef struct cell *pointer;
8167 typedef void * (*func_alloc)(size_t);
8168 typedef void (*func_dealloc)(void *);
8171 typedef struct num {
8179 scheme *scheme_init_new();
8180 scheme *scheme_init_new_custom_alloc(func_alloc malloc, func_dealloc free);
8181 int scheme_init(scheme *sc);
8182 int scheme_init_custom_alloc(scheme *sc, func_alloc, func_dealloc);
8183 void scheme_deinit(scheme *sc);
8184 void scheme_set_input_port_file(scheme *sc, FILE *fin);
8185 void scheme_set_input_port_string(scheme *sc, char *start, char *past_the_end);
8186 void scheme_set_output_port_file(scheme *sc, FILE *fin);
8187 void scheme_set_output_port_string(scheme *sc, char *start, char *past_the_end);
8188 void scheme_load_file(scheme *sc, FILE *fin);
8189 void scheme_load_string(scheme *sc, const char *cmd);
8190 void scheme_apply0(scheme *sc, const char *procname);
8191 pointer scheme_apply1(scheme *sc, const char *procname, pointer);
8192 void scheme_set_external_data(scheme *sc, void *p);
8193 void scheme_define(scheme *sc, pointer env, pointer symbol, pointer value);
8195 typedef pointer (*foreign_func)(scheme *, pointer);
8197 pointer _cons(scheme *sc, pointer a, pointer b, int immutable);
8198 pointer mk_integer(scheme *sc, long num);
8199 pointer mk_real(scheme *sc, double num);
8200 pointer mk_symbol(scheme *sc, const char *name);
8201 pointer gensym(scheme *sc);
8202 pointer mk_string(scheme *sc, const char *str);
8203 pointer mk_counted_string(scheme *sc, const char *str, int len);
8204 pointer mk_character(scheme *sc, gunichar c);
8205 pointer mk_foreign_func(scheme *sc, foreign_func f);
8206 void putstr(scheme *sc, const char *s);
8208 void set_safe_foreign (scheme *sc, pointer data);
8211 struct scheme_interface {
8212 void (*scheme_define)(scheme *sc, pointer env, pointer symbol, pointer value);
8213 pointer (*cons)(scheme *sc, pointer a, pointer b);
8214 pointer (*immutable_cons)(scheme *sc, pointer a, pointer b);
8215 pointer (*reserve_cells)(scheme *sc, int n);
8216 pointer (*mk_integer)(scheme *sc, long num);
8217 pointer (*mk_real)(scheme *sc, double num);
8218 pointer (*mk_symbol)(scheme *sc, const char *name);
8219 pointer (*gensym)(scheme *sc);
8220 pointer (*mk_string)(scheme *sc, const char *str);
8221 pointer (*mk_counted_string)(scheme *sc, const char *str, int len);
8222 pointer (*mk_character)(scheme *sc, gunichar c);
8223 pointer (*mk_vector)(scheme *sc, int len);
8224 pointer (*mk_foreign_func)(scheme *sc, foreign_func f);
8225 pointer (*mk_closure)(scheme *sc, pointer c, pointer e);
8226 void (*putstr)(scheme *sc, const char *s);
8227 void (*putcharacter)(scheme *sc, gunichar c);
8229 int (*is_string)(pointer p);
8230 int (*string_length)(pointer p);
8231 char *(*string_value)(pointer p);
8232 int (*is_number)(pointer p);
8233 num (*nvalue)(pointer p);
8234 long (*ivalue)(pointer p);
8235 double (*rvalue)(pointer p);
8236 int (*is_integer)(pointer p);
8237 int (*is_real)(pointer p);
8238 int (*is_character)(pointer p);
8239 gunichar (*charvalue)(pointer p);
8240 int (*is_list)(scheme *sc, pointer p);
8241 int (*is_vector)(pointer p);
8242 int (*list_length)(scheme *sc, pointer a);
8243 long (*vector_length)(pointer vec);
8244 void (*fill_vector)(pointer vec, pointer elem);
8245 pointer (*vector_elem)(pointer vec, int ielem);
8246 pointer (*set_vector_elem)(pointer vec, int ielem, pointer newel);
8248 int (*is_port)(pointer p);
8250 int (*is_pair)(pointer p);
8251 pointer (*pair_car)(pointer p);
8252 pointer (*pair_cdr)(pointer p);
8253 pointer (*set_car)(pointer p, pointer q);
8254 pointer (*set_cdr)(pointer p, pointer q);
8256 int (*is_symbol)(pointer p);
8257 char *(*symname)(pointer p);
8259 int (*is_syntax)(pointer p);
8260 int (*is_proc)(pointer p);
8261 int (*is_foreign)(pointer p);
8262 char *(*syntaxname)(pointer p);
8263 int (*is_closure)(pointer p);
8264 int (*is_macro)(pointer p);
8265 pointer (*closure_code)(pointer p);
8266 pointer (*closure_env)(pointer p);
8268 int (*is_continuation)(pointer p);
8269 int (*is_promise)(pointer p);
8270 int (*is_environment)(pointer p);
8271 int (*is_immutable)(pointer p);
8272 void (*setimmutable)(pointer p);
8274 void (*load_file)(scheme *sc, FILE *fin);
8275 void (*load_string)(scheme *sc, const char *input);
8277 # 7 "scheme-private.h" 2
8281 enum scheme_port_kind {
8289 typedef struct port {
8333 char *alloc_seg[20];
8334 pointer cell_seg[20];
8342 pointer safe_foreign;
8344 int interactive_repl;
8356 struct cell _EOF_OBJ;
8378 pointer save_inport;
8382 port load_stack[64];
8383 int nesting_stack[64];
8391 char linebuff[1024];
8403 struct scheme_interface *vptr;
8412 enum scheme_opcodes {
8577 OP_OPEN_INOUTSTRING,
8606 # 144 "scheme-private.h" 2
8614 int is_string(pointer p);
8615 char *string_value(pointer p);
8616 int is_number(pointer p);
8617 num nvalue(pointer p);
8618 long ivalue(pointer p);
8619 double rvalue(pointer p);
8620 int is_integer(pointer p);
8621 int is_real(pointer p);
8622 int is_character(pointer p);
8623 int string_length(pointer p);
8624 gunichar charvalue(pointer p);
8625 int is_vector(pointer p);
8627 int is_port(pointer p);
8629 int is_pair(pointer p);
8630 pointer pair_car(pointer p);
8631 pointer pair_cdr(pointer p);
8632 pointer set_car(pointer p, pointer q);
8633 pointer set_cdr(pointer p, pointer q);
8635 int is_symbol(pointer p);
8636 char *symname(pointer p);
8637 int hasprop(pointer p);
8639 int is_syntax(pointer p);
8640 int is_proc(pointer p);
8641 int is_foreign(pointer p);
8642 char *syntaxname(pointer p);
8643 int is_closure(pointer p);
8644 int is_macro(pointer p);
8645 pointer closure_code(pointer p);
8646 pointer closure_env(pointer p);
8648 int is_continuation(pointer p);
8649 int is_promise(pointer p);
8650 int is_environment(pointer p);
8651 int is_immutable(pointer p);
8652 void setimmutable(pointer p);
8655 # 1 "/usr/include/string.h" 1 3 4
8663 # 1 "/usr/include/gentoo-multilib/ppc64/string.h" 1 3 4
8664 # 26 "/usr/include/gentoo-multilib/ppc64/string.h" 3 4
8665 # 1 "/usr/include/features.h" 1 3 4
8666 # 27 "/usr/include/gentoo-multilib/ppc64/string.h" 2 3 4
8673 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 1 3 4
8674 # 34 "/usr/include/gentoo-multilib/ppc64/string.h" 2 3 4
8679 extern void *memcpy (void *__restrict __dest,
8680 __const void *__restrict __src, size_t __n)
8681 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
8684 extern void *memmove (void *__dest, __const void *__src, size_t __n)
8685 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
8692 extern void *memccpy (void *__restrict __dest, __const void *__restrict __src,
8693 int __c, size_t __n)
8694 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
8700 extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
8703 extern int memcmp (__const void *__s1, __const void *__s2, size_t __n)
8704 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
8707 extern void *memchr (__const void *__s, int __c, size_t __n)
8708 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
8710 # 82 "/usr/include/gentoo-multilib/ppc64/string.h" 3 4
8713 extern char *strcpy (char *__restrict __dest, __const char *__restrict __src)
8714 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
8716 extern char *strncpy (char *__restrict __dest,
8717 __const char *__restrict __src, size_t __n)
8718 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
8721 extern char *strcat (char *__restrict __dest, __const char *__restrict __src)
8722 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
8724 extern char *strncat (char *__restrict __dest, __const char *__restrict __src,
8725 size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
8728 extern int strcmp (__const char *__s1, __const char *__s2)
8729 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
8731 extern int strncmp (__const char *__s1, __const char *__s2, size_t __n)
8732 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
8735 extern int strcoll (__const char *__s1, __const char *__s2)
8736 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
8738 extern size_t strxfrm (char *__restrict __dest,
8739 __const char *__restrict __src, size_t __n)
8740 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
8742 # 130 "/usr/include/gentoo-multilib/ppc64/string.h" 3 4
8743 extern char *strdup (__const char *__s)
8744 __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
8745 # 165 "/usr/include/gentoo-multilib/ppc64/string.h" 3 4
8748 extern char *strchr (__const char *__s, int __c)
8749 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
8751 extern char *strrchr (__const char *__s, int __c)
8752 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
8754 # 181 "/usr/include/gentoo-multilib/ppc64/string.h" 3 4
8758 extern size_t strcspn (__const char *__s, __const char *__reject)
8759 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
8762 extern size_t strspn (__const char *__s, __const char *__accept)
8763 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
8765 extern char *strpbrk (__const char *__s, __const char *__accept)
8766 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
8768 extern char *strstr (__const char *__haystack, __const char *__needle)
8769 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
8773 extern char *strtok (char *__restrict __s, __const char *__restrict __delim)
8774 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
8779 extern char *__strtok_r (char *__restrict __s,
8780 __const char *__restrict __delim,
8781 char **__restrict __save_ptr)
8782 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3)));
8784 extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim,
8785 char **__restrict __save_ptr)
8786 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3)));
8787 # 240 "/usr/include/gentoo-multilib/ppc64/string.h" 3 4
8790 extern size_t strlen (__const char *__s)
8791 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
8793 # 254 "/usr/include/gentoo-multilib/ppc64/string.h" 3 4
8796 extern char *strerror (int __errnum) __attribute__ ((__nothrow__));
8798 # 270 "/usr/include/gentoo-multilib/ppc64/string.h" 3 4
8799 extern int strerror_r (int __errnum, char *__buf, size_t __buflen) __asm__ ("" "__xpg_strerror_r") __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
8800 # 288 "/usr/include/gentoo-multilib/ppc64/string.h" 3 4
8801 extern void __bzero (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
8805 extern void bcopy (__const void *__src, void *__dest, size_t __n)
8806 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
8809 extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
8812 extern int bcmp (__const void *__s1, __const void *__s2, size_t __n)
8813 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
8816 extern char *index (__const char *__s, int __c)
8817 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
8820 extern char *rindex (__const char *__s, int __c)
8821 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
8825 extern int ffs (int __i) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
8826 # 325 "/usr/include/gentoo-multilib/ppc64/string.h" 3 4
8827 extern int strcasecmp (__const char *__s1, __const char *__s2)
8828 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
8831 extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
8832 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
8833 # 348 "/usr/include/gentoo-multilib/ppc64/string.h" 3 4
8834 extern char *strsep (char **__restrict __stringp,
8835 __const char *__restrict __delim)
8836 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
8837 # 414 "/usr/include/gentoo-multilib/ppc64/string.h" 3 4
8838 # 1 "/usr/include/bits/string.h" 1 3 4
8846 # 1 "/usr/include/gentoo-multilib/ppc64/bits/string.h" 1 3 4
8847 # 9 "/usr/include/bits/string.h" 2 3 4
8848 # 415 "/usr/include/gentoo-multilib/ppc64/string.h" 2 3 4
8851 # 1 "/usr/include/bits/string2.h" 1 3 4
8859 # 1 "/usr/include/gentoo-multilib/ppc64/bits/string2.h" 1 3 4
8860 # 80 "/usr/include/gentoo-multilib/ppc64/bits/string2.h" 3 4
8861 typedef struct { unsigned char __arr[2]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR2;
8862 typedef struct { unsigned char __arr[3]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR3;
8863 typedef struct { unsigned char __arr[4]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR4;
8864 typedef struct { unsigned char __arr[5]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR5;
8865 typedef struct { unsigned char __arr[6]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR6;
8866 typedef struct { unsigned char __arr[7]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR7;
8867 typedef struct { unsigned char __arr[8]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR8;
8868 # 394 "/usr/include/gentoo-multilib/ppc64/bits/string2.h" 3 4
8869 extern void *__rawmemchr (const void *__s, int __c);
8870 # 969 "/usr/include/gentoo-multilib/ppc64/bits/string2.h" 3 4
8871 extern __inline size_t __strcspn_c1 (__const char *__s, int __reject);
8872 extern __inline size_t
8873 __strcspn_c1 (__const char *__s, int __reject)
8875 register size_t __result = 0;
8876 while (__s[__result] != '\0' && __s[__result] != __reject)
8881 extern __inline size_t __strcspn_c2 (__const char *__s, int __reject1,
8883 extern __inline size_t
8884 __strcspn_c2 (__const char *__s, int __reject1, int __reject2)
8886 register size_t __result = 0;
8887 while (__s[__result] != '\0' && __s[__result] != __reject1
8888 && __s[__result] != __reject2)
8893 extern __inline size_t __strcspn_c3 (__const char *__s, int __reject1,
8894 int __reject2, int __reject3);
8895 extern __inline size_t
8896 __strcspn_c3 (__const char *__s, int __reject1, int __reject2,
8899 register size_t __result = 0;
8900 while (__s[__result] != '\0' && __s[__result] != __reject1
8901 && __s[__result] != __reject2 && __s[__result] != __reject3)
8905 # 1045 "/usr/include/gentoo-multilib/ppc64/bits/string2.h" 3 4
8906 extern __inline size_t __strspn_c1 (__const char *__s, int __accept);
8907 extern __inline size_t
8908 __strspn_c1 (__const char *__s, int __accept)
8910 register size_t __result = 0;
8912 while (__s[__result] == __accept)
8917 extern __inline size_t __strspn_c2 (__const char *__s, int __accept1,
8919 extern __inline size_t
8920 __strspn_c2 (__const char *__s, int __accept1, int __accept2)
8922 register size_t __result = 0;
8924 while (__s[__result] == __accept1 || __s[__result] == __accept2)
8929 extern __inline size_t __strspn_c3 (__const char *__s, int __accept1,
8930 int __accept2, int __accept3);
8931 extern __inline size_t
8932 __strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3)
8934 register size_t __result = 0;
8936 while (__s[__result] == __accept1 || __s[__result] == __accept2
8937 || __s[__result] == __accept3)
8941 # 1121 "/usr/include/gentoo-multilib/ppc64/bits/string2.h" 3 4
8942 extern __inline char *__strpbrk_c2 (__const char *__s, int __accept1,
8944 extern __inline char *
8945 __strpbrk_c2 (__const char *__s, int __accept1, int __accept2)
8948 while (*__s != '\0' && *__s != __accept1 && *__s != __accept2)
8950 return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s;
8953 extern __inline char *__strpbrk_c3 (__const char *__s, int __accept1,
8954 int __accept2, int __accept3);
8955 extern __inline char *
8956 __strpbrk_c3 (__const char *__s, int __accept1, int __accept2,
8960 while (*__s != '\0' && *__s != __accept1 && *__s != __accept2
8961 && *__s != __accept3)
8963 return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s;
8965 # 1173 "/usr/include/gentoo-multilib/ppc64/bits/string2.h" 3 4
8966 extern __inline char *__strtok_r_1c (char *__s, char __sep, char **__nextp);
8967 extern __inline char *
8968 __strtok_r_1c (char *__s, char __sep, char **__nextp)
8971 if (__s == ((void *)0))
8973 while (*__s == __sep)
8975 __result = ((void *)0);
8979 while (*__s != '\0')
8980 if (*__s++ == __sep)
8989 # 1205 "/usr/include/gentoo-multilib/ppc64/bits/string2.h" 3 4
8990 extern char *__strsep_g (char **__stringp, __const char *__delim);
8991 # 1223 "/usr/include/gentoo-multilib/ppc64/bits/string2.h" 3 4
8992 extern __inline char *__strsep_1c (char **__s, char __reject);
8993 extern __inline char *
8994 __strsep_1c (char **__s, char __reject)
8996 register char *__retval = *__s;
8997 if (__retval != ((void *)0) && (*__s = (__extension__ (__builtin_constant_p (__reject) && !__builtin_constant_p (__retval) && (__reject) == '\0' ? (char *) __rawmemchr (__retval, __reject) : __builtin_strchr (__retval, __reject)))) != ((void *)0))
9002 extern __inline char *__strsep_2c (char **__s, char __reject1, char __reject2);
9003 extern __inline char *
9004 __strsep_2c (char **__s, char __reject1, char __reject2)
9006 register char *__retval = *__s;
9007 if (__retval != ((void *)0))
9009 register char *__cp = __retval;
9017 if (*__cp == __reject1 || *__cp == __reject2)
9029 extern __inline char *__strsep_3c (char **__s, char __reject1, char __reject2,
9031 extern __inline char *
9032 __strsep_3c (char **__s, char __reject1, char __reject2, char __reject3)
9034 register char *__retval = *__s;
9035 if (__retval != ((void *)0))
9037 register char *__cp = __retval;
9045 if (*__cp == __reject1 || *__cp == __reject2 || *__cp == __reject3)
9056 # 1299 "/usr/include/gentoo-multilib/ppc64/bits/string2.h" 3 4
9057 # 1 "/usr/include/stdlib.h" 1 3 4
9065 # 1 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 1 3 4
9066 # 25 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4
9067 # 1 "/usr/include/features.h" 1 3 4
9068 # 26 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 2 3 4
9076 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 1 3 4
9077 # 34 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 2 3 4
9080 # 587 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4
9083 extern void *malloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
9085 extern void *calloc (size_t __nmemb, size_t __size)
9086 __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
9088 # 978 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4
9090 # 9 "/usr/include/stdlib.h" 2 3 4
9091 # 1300 "/usr/include/gentoo-multilib/ppc64/bits/string2.h" 2 3 4
9096 extern char *__strdup (__const char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__));
9097 # 1323 "/usr/include/gentoo-multilib/ppc64/bits/string2.h" 3 4
9098 extern char *__strndup (__const char *__string, size_t __n)
9099 __attribute__ ((__nothrow__)) __attribute__ ((__malloc__));
9100 # 9 "/usr/include/bits/string2.h" 2 3 4
9101 # 418 "/usr/include/gentoo-multilib/ppc64/string.h" 2 3 4
9102 # 426 "/usr/include/gentoo-multilib/ppc64/string.h" 3 4
9104 # 9 "/usr/include/string.h" 2 3 4
9106 # 1 "/usr/include/stdlib.h" 1 3 4
9114 # 1 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 1 3 4
9115 # 25 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4
9116 # 1 "/usr/include/features.h" 1 3 4
9117 # 26 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 2 3 4
9125 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 1 3 4
9126 # 34 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 2 3 4
9129 # 96 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4
9148 # 140 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4
9149 extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__)) ;
9154 extern double atof (__const char *__nptr)
9155 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
9157 extern int atoi (__const char *__nptr)
9158 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
9160 extern long int atol (__const char *__nptr)
9161 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
9167 __extension__ extern long long int atoll (__const char *__nptr)
9168 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
9174 extern double strtod (__const char *__restrict __nptr,
9175 char **__restrict __endptr)
9176 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
9178 # 182 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4
9181 extern long int strtol (__const char *__restrict __nptr,
9182 char **__restrict __endptr, int __base)
9183 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
9185 extern unsigned long int strtoul (__const char *__restrict __nptr,
9186 char **__restrict __endptr, int __base)
9187 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
9193 extern long long int strtoq (__const char *__restrict __nptr,
9194 char **__restrict __endptr, int __base)
9195 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
9198 extern unsigned long long int strtouq (__const char *__restrict __nptr,
9199 char **__restrict __endptr, int __base)
9200 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
9207 extern long long int strtoll (__const char *__restrict __nptr,
9208 char **__restrict __endptr, int __base)
9209 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
9212 extern unsigned long long int strtoull (__const char *__restrict __nptr,
9213 char **__restrict __endptr, int __base)
9214 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
9216 # 279 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4
9217 extern double __strtod_internal (__const char *__restrict __nptr,
9218 char **__restrict __endptr, int __group)
9219 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
9220 extern float __strtof_internal (__const char *__restrict __nptr,
9221 char **__restrict __endptr, int __group)
9222 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
9223 extern long double __strtold_internal (__const char *__restrict __nptr,
9224 char **__restrict __endptr,
9226 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
9228 extern long int __strtol_internal (__const char *__restrict __nptr,
9229 char **__restrict __endptr,
9230 int __base, int __group)
9231 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
9235 extern unsigned long int __strtoul_internal (__const char *__restrict __nptr,
9236 char **__restrict __endptr,
9237 int __base, int __group)
9238 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
9244 extern long long int __strtoll_internal (__const char *__restrict __nptr,
9245 char **__restrict __endptr,
9246 int __base, int __group)
9247 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
9252 extern unsigned long long int __strtoull_internal (__const char *
9254 char **__restrict __endptr,
9255 int __base, int __group)
9256 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
9265 extern __inline double
9266 __attribute__ ((__nothrow__)) strtod (__const char *__restrict __nptr, char **__restrict __endptr)
9268 return __strtod_internal (__nptr, __endptr, 0);
9270 extern __inline long int
9271 __attribute__ ((__nothrow__)) strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base)
9274 return __strtol_internal (__nptr, __endptr, __base, 0);
9276 extern __inline unsigned long int
9277 __attribute__ ((__nothrow__)) strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base)
9280 return __strtoul_internal (__nptr, __endptr, __base, 0);
9283 # 364 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4
9284 __extension__ extern __inline long long int
9285 __attribute__ ((__nothrow__)) strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base)
9288 return __strtoll_internal (__nptr, __endptr, __base, 0);
9290 __extension__ extern __inline unsigned long long int
9291 __attribute__ ((__nothrow__)) strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base)
9294 return __strtoull_internal (__nptr, __endptr, __base, 0);
9300 __extension__ extern __inline long long int
9301 __attribute__ ((__nothrow__)) strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base)
9304 return __strtoll_internal (__nptr, __endptr, __base, 0);
9306 __extension__ extern __inline unsigned long long int
9307 __attribute__ ((__nothrow__)) strtoull (__const char * __restrict __nptr, char **__restrict __endptr, int __base)
9310 return __strtoull_internal (__nptr, __endptr, __base, 0);
9316 extern __inline double
9317 __attribute__ ((__nothrow__)) atof (__const char *__nptr)
9319 return strtod (__nptr, (char **) ((void *)0));
9322 __attribute__ ((__nothrow__)) atoi (__const char *__nptr)
9324 return (int) strtol (__nptr, (char **) ((void *)0), 10);
9326 extern __inline long int
9327 __attribute__ ((__nothrow__)) atol (__const char *__nptr)
9329 return strtol (__nptr, (char **) ((void *)0), 10);
9335 __extension__ extern __inline long long int
9336 __attribute__ ((__nothrow__)) atoll (__const char *__nptr)
9338 return strtoll (__nptr, (char **) ((void *)0), 10);
9341 # 429 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4
9342 extern char *l64a (long int __n) __attribute__ ((__nothrow__)) ;
9345 extern long int a64l (__const char *__s)
9346 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
9351 # 1 "/usr/include/sys/types.h" 1 3 4
9359 # 1 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 1 3 4
9360 # 27 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 3 4
9361 # 1 "/usr/include/features.h" 1 3 4
9362 # 28 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 2 3 4
9366 # 1 "/usr/include/bits/types.h" 1 3 4
9367 # 32 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 2 3 4
9371 typedef __u_char u_char;
9372 typedef __u_short u_short;
9373 typedef __u_int u_int;
9374 typedef __u_long u_long;
9375 typedef __quad_t quad_t;
9376 typedef __u_quad_t u_quad_t;
9377 typedef __fsid_t fsid_t;
9382 typedef __loff_t loff_t;
9386 typedef __ino_t ino_t;
9387 # 62 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 3 4
9388 typedef __dev_t dev_t;
9389 # 72 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 3 4
9390 typedef __mode_t mode_t;
9395 typedef __nlink_t nlink_t;
9396 # 105 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 3 4
9397 typedef __id_t id_t;
9398 # 116 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 3 4
9399 typedef __daddr_t daddr_t;
9400 typedef __caddr_t caddr_t;
9406 typedef __key_t key_t;
9407 # 133 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 3 4
9408 # 1 "/usr/include/time.h" 1 3 4
9409 # 134 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 2 3 4
9410 # 147 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 3 4
9411 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 1 3 4
9412 # 148 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 2 3 4
9416 typedef unsigned long int ulong;
9417 typedef unsigned short int ushort;
9418 typedef unsigned int uint;
9419 # 195 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 3 4
9420 typedef int int8_t __attribute__ ((__mode__ (__QI__)));
9421 typedef int int16_t __attribute__ ((__mode__ (__HI__)));
9422 typedef int int32_t __attribute__ ((__mode__ (__SI__)));
9423 typedef int int64_t __attribute__ ((__mode__ (__DI__)));
9426 typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
9427 typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__)));
9428 typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
9429 typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));
9431 typedef int register_t __attribute__ ((__mode__ (__word__)));
9432 # 217 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 3 4
9433 # 1 "/usr/include/endian.h" 1 3 4
9434 # 218 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 2 3 4
9437 # 1 "/usr/include/sys/select.h" 1 3 4
9445 # 1 "/usr/include/gentoo-multilib/ppc64/sys/select.h" 1 3 4
9446 # 25 "/usr/include/gentoo-multilib/ppc64/sys/select.h" 3 4
9447 # 1 "/usr/include/features.h" 1 3 4
9448 # 26 "/usr/include/gentoo-multilib/ppc64/sys/select.h" 2 3 4
9451 # 1 "/usr/include/bits/types.h" 1 3 4
9452 # 29 "/usr/include/gentoo-multilib/ppc64/sys/select.h" 2 3 4
9455 # 1 "/usr/include/bits/select.h" 1 3 4
9463 # 1 "/usr/include/gentoo-multilib/ppc64/bits/select.h" 1 3 4
9464 # 9 "/usr/include/bits/select.h" 2 3 4
9465 # 32 "/usr/include/gentoo-multilib/ppc64/sys/select.h" 2 3 4
9468 # 1 "/usr/include/bits/sigset.h" 1 3 4
9476 # 1 "/usr/include/gentoo-multilib/ppc64/bits/sigset.h" 1 3 4
9477 # 23 "/usr/include/gentoo-multilib/ppc64/bits/sigset.h" 3 4
9478 typedef int __sig_atomic_t;
9485 unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
9487 # 9 "/usr/include/bits/sigset.h" 2 3 4
9488 # 35 "/usr/include/gentoo-multilib/ppc64/sys/select.h" 2 3 4
9492 typedef __sigset_t sigset_t;
9498 # 1 "/usr/include/time.h" 1 3 4
9499 # 45 "/usr/include/gentoo-multilib/ppc64/sys/select.h" 2 3 4
9501 # 1 "/usr/include/bits/time.h" 1 3 4
9509 # 1 "/usr/include/gentoo-multilib/ppc64/bits/time.h" 1 3 4
9510 # 65 "/usr/include/gentoo-multilib/ppc64/bits/time.h" 3 4
9511 # 1 "/usr/include/bits/types.h" 1 3 4
9512 # 66 "/usr/include/gentoo-multilib/ppc64/bits/time.h" 2 3 4
9519 __suseconds_t tv_usec;
9521 # 9 "/usr/include/bits/time.h" 2 3 4
9522 # 47 "/usr/include/gentoo-multilib/ppc64/sys/select.h" 2 3 4
9525 typedef __suseconds_t suseconds_t;
9531 typedef long int __fd_mask;
9532 # 67 "/usr/include/gentoo-multilib/ppc64/sys/select.h" 3 4
9541 __fd_mask __fds_bits[1024 / (8 * sizeof (__fd_mask))];
9551 typedef __fd_mask fd_mask;
9552 # 99 "/usr/include/gentoo-multilib/ppc64/sys/select.h" 3 4
9554 # 109 "/usr/include/gentoo-multilib/ppc64/sys/select.h" 3 4
9555 extern int select (int __nfds, fd_set *__restrict __readfds,
9556 fd_set *__restrict __writefds,
9557 fd_set *__restrict __exceptfds,
9558 struct timeval *__restrict __timeout);
9559 # 121 "/usr/include/gentoo-multilib/ppc64/sys/select.h" 3 4
9560 extern int pselect (int __nfds, fd_set *__restrict __readfds,
9561 fd_set *__restrict __writefds,
9562 fd_set *__restrict __exceptfds,
9563 const struct timespec *__restrict __timeout,
9564 const __sigset_t *__restrict __sigmask);
9568 # 9 "/usr/include/sys/select.h" 2 3 4
9569 # 221 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 2 3 4
9572 # 1 "/usr/include/sys/sysmacros.h" 1 3 4
9580 # 1 "/usr/include/gentoo-multilib/ppc64/sys/sysmacros.h" 1 3 4
9581 # 23 "/usr/include/gentoo-multilib/ppc64/sys/sysmacros.h" 3 4
9582 # 1 "/usr/include/features.h" 1 3 4
9583 # 24 "/usr/include/gentoo-multilib/ppc64/sys/sysmacros.h" 2 3 4
9590 extern __inline unsigned int gnu_dev_major (unsigned long long int __dev)
9591 __attribute__ ((__nothrow__));
9593 extern __inline unsigned int gnu_dev_minor (unsigned long long int __dev)
9594 __attribute__ ((__nothrow__));
9596 extern __inline unsigned long long int gnu_dev_makedev (unsigned int __major,
9597 unsigned int __minor)
9598 __attribute__ ((__nothrow__));
9601 __extension__ extern __inline unsigned int
9602 __attribute__ ((__nothrow__)) gnu_dev_major (unsigned long long int __dev)
9604 return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff);
9607 __extension__ extern __inline unsigned int
9608 __attribute__ ((__nothrow__)) gnu_dev_minor (unsigned long long int __dev)
9610 return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff);
9613 __extension__ extern __inline unsigned long long int
9614 __attribute__ ((__nothrow__)) gnu_dev_makedev (unsigned int __major, unsigned int __minor)
9616 return ((__minor & 0xff) | ((__major & 0xfff) << 8)
9617 | (((unsigned long long int) (__minor & ~0xff)) << 12)
9618 | (((unsigned long long int) (__major & ~0xfff)) << 32));
9620 # 9 "/usr/include/sys/sysmacros.h" 2 3 4
9621 # 224 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 2 3 4
9622 # 235 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 3 4
9623 typedef __blkcnt_t blkcnt_t;
9627 typedef __fsblkcnt_t fsblkcnt_t;
9631 typedef __fsfilcnt_t fsfilcnt_t;
9632 # 270 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 3 4
9633 # 1 "/usr/include/bits/pthreadtypes.h" 1 3 4
9641 # 1 "/usr/include/gentoo-multilib/ppc64/bits/pthreadtypes.h" 1 3 4
9642 # 24 "/usr/include/gentoo-multilib/ppc64/bits/pthreadtypes.h" 3 4
9643 # 1 "/usr/include/bits/wordsize.h" 1 3 4
9651 # 1 "/usr/include/gentoo-multilib/ppc64/bits/wordsize.h" 1 3 4
9652 # 9 "/usr/include/bits/wordsize.h" 2 3 4
9653 # 25 "/usr/include/gentoo-multilib/ppc64/bits/pthreadtypes.h" 2 3 4
9654 # 51 "/usr/include/gentoo-multilib/ppc64/bits/pthreadtypes.h" 3 4
9655 typedef unsigned long int pthread_t;
9666 typedef struct __pthread_internal_list
9668 struct __pthread_internal_list *__prev;
9669 struct __pthread_internal_list *__next;
9671 # 77 "/usr/include/gentoo-multilib/ppc64/bits/pthreadtypes.h" 3 4
9674 struct __pthread_mutex_s
9677 unsigned int __count;
9680 unsigned int __nusers;
9687 __pthread_list_t __list;
9688 # 102 "/usr/include/gentoo-multilib/ppc64/bits/pthreadtypes.h" 3 4
9698 } pthread_mutexattr_t;
9708 unsigned int __futex;
9709 __extension__ unsigned long long int __total_seq;
9710 __extension__ unsigned long long int __wakeup_seq;
9711 __extension__ unsigned long long int __woken_seq;
9713 unsigned int __nwaiters;
9714 unsigned int __broadcast_seq;
9717 __extension__ long long int __align;
9724 } pthread_condattr_t;
9728 typedef unsigned int pthread_key_t;
9732 typedef int pthread_once_t;
9744 unsigned int __nr_readers;
9745 unsigned int __readers_wakeup;
9746 unsigned int __writer_wakeup;
9747 unsigned int __nr_readers_queued;
9748 unsigned int __nr_writers_queued;
9751 unsigned long int __pad2;
9752 unsigned long int __pad3;
9755 unsigned int __flags;
9757 # 185 "/usr/include/gentoo-multilib/ppc64/bits/pthreadtypes.h" 3 4
9766 } pthread_rwlockattr_t;
9772 typedef volatile int pthread_spinlock_t;
9781 } pthread_barrier_t;
9787 } pthread_barrierattr_t;
9788 # 9 "/usr/include/bits/pthreadtypes.h" 2 3 4
9789 # 271 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 2 3 4
9793 # 9 "/usr/include/sys/types.h" 2 3 4
9794 # 439 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 2 3 4
9801 extern long int random (void) __attribute__ ((__nothrow__));
9804 extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__));
9810 extern char *initstate (unsigned int __seed, char *__statebuf,
9811 size_t __statelen) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
9815 extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
9834 extern int random_r (struct random_data *__restrict __buf,
9835 int32_t *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
9837 extern int srandom_r (unsigned int __seed, struct random_data *__buf)
9838 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
9840 extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
9842 struct random_data *__restrict __buf)
9843 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4)));
9845 extern int setstate_r (char *__restrict __statebuf,
9846 struct random_data *__restrict __buf)
9847 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
9854 extern int rand (void) __attribute__ ((__nothrow__));
9856 extern void srand (unsigned int __seed) __attribute__ ((__nothrow__));
9861 extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__));
9869 extern double drand48 (void) __attribute__ ((__nothrow__));
9870 extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
9873 extern long int lrand48 (void) __attribute__ ((__nothrow__));
9874 extern long int nrand48 (unsigned short int __xsubi[3])
9875 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
9878 extern long int mrand48 (void) __attribute__ ((__nothrow__));
9879 extern long int jrand48 (unsigned short int __xsubi[3])
9880 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
9883 extern void srand48 (long int __seedval) __attribute__ ((__nothrow__));
9884 extern unsigned short int *seed48 (unsigned short int __seed16v[3])
9885 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
9886 extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
9894 unsigned short int __x[3];
9895 unsigned short int __old_x[3];
9896 unsigned short int __c;
9897 unsigned short int __init;
9898 unsigned long long int __a;
9902 extern int drand48_r (struct drand48_data *__restrict __buffer,
9903 double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
9904 extern int erand48_r (unsigned short int __xsubi[3],
9905 struct drand48_data *__restrict __buffer,
9906 double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
9909 extern int lrand48_r (struct drand48_data *__restrict __buffer,
9910 long int *__restrict __result)
9911 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
9912 extern int nrand48_r (unsigned short int __xsubi[3],
9913 struct drand48_data *__restrict __buffer,
9914 long int *__restrict __result)
9915 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
9918 extern int mrand48_r (struct drand48_data *__restrict __buffer,
9919 long int *__restrict __result)
9920 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
9921 extern int jrand48_r (unsigned short int __xsubi[3],
9922 struct drand48_data *__restrict __buffer,
9923 long int *__restrict __result)
9924 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
9927 extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
9928 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
9930 extern int seed48_r (unsigned short int __seed16v[3],
9931 struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
9933 extern int lcong48_r (unsigned short int __param[7],
9934 struct drand48_data *__buffer)
9935 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
9936 # 597 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4
9940 extern void *realloc (void *__ptr, size_t __size)
9941 __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__));
9943 extern void free (void *__ptr) __attribute__ ((__nothrow__));
9948 extern void cfree (void *__ptr) __attribute__ ((__nothrow__));
9952 # 1 "/usr/include/alloca.h" 1 3 4
9960 # 1 "/usr/include/gentoo-multilib/ppc64/alloca.h" 1 3 4
9961 # 22 "/usr/include/gentoo-multilib/ppc64/alloca.h" 3 4
9962 # 1 "/usr/include/features.h" 1 3 4
9963 # 23 "/usr/include/gentoo-multilib/ppc64/alloca.h" 2 3 4
9966 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 1 3 4
9967 # 26 "/usr/include/gentoo-multilib/ppc64/alloca.h" 2 3 4
9975 extern void *alloca (size_t __size) __attribute__ ((__nothrow__));
9982 # 9 "/usr/include/alloca.h" 2 3 4
9983 # 613 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 2 3 4
9988 extern void *valloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
9993 extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
9994 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
9999 extern void abort (void) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
10003 extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
10009 extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
10010 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
10017 extern void exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
10019 # 658 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4
10022 extern char *getenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
10027 extern char *__secure_getenv (__const char *__name)
10028 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
10034 extern int putenv (char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
10040 extern int setenv (__const char *__name, __const char *__value, int __replace)
10041 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
10044 extern int unsetenv (__const char *__name) __attribute__ ((__nothrow__));
10051 extern int clearenv (void) __attribute__ ((__nothrow__));
10052 # 698 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4
10053 extern char *mktemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
10054 # 709 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4
10055 extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ;
10056 # 729 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4
10057 extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
10066 extern int system (__const char *__command) ;
10068 # 757 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4
10069 extern char *realpath (__const char *__restrict __name,
10070 char *__restrict __resolved) __attribute__ ((__nothrow__)) ;
10077 typedef int (*__compar_fn_t) (__const void *, __const void *);
10087 extern void *bsearch (__const void *__key, __const void *__base,
10088 size_t __nmemb, size_t __size, __compar_fn_t __compar)
10089 __attribute__ ((__nonnull__ (1, 2, 5))) ;
10093 extern void qsort (void *__base, size_t __nmemb, size_t __size,
10094 __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4)));
10098 extern int abs (int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
10099 extern long int labs (long int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
10112 extern div_t div (int __numer, int __denom)
10113 __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
10114 extern ldiv_t ldiv (long int __numer, long int __denom)
10115 __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
10117 # 822 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4
10118 extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt,
10119 int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
10124 extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt,
10125 int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
10130 extern char *gcvt (double __value, int __ndigit, char *__buf)
10131 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ;
10136 extern char *qecvt (long double __value, int __ndigit,
10137 int *__restrict __decpt, int *__restrict __sign)
10138 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
10139 extern char *qfcvt (long double __value, int __ndigit,
10140 int *__restrict __decpt, int *__restrict __sign)
10141 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
10142 extern char *qgcvt (long double __value, int __ndigit, char *__buf)
10143 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ;
10148 extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt,
10149 int *__restrict __sign, char *__restrict __buf,
10150 size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
10151 extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt,
10152 int *__restrict __sign, char *__restrict __buf,
10153 size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
10155 extern int qecvt_r (long double __value, int __ndigit,
10156 int *__restrict __decpt, int *__restrict __sign,
10157 char *__restrict __buf, size_t __len)
10158 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
10159 extern int qfcvt_r (long double __value, int __ndigit,
10160 int *__restrict __decpt, int *__restrict __sign,
10161 char *__restrict __buf, size_t __len)
10162 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
10170 extern int mblen (__const char *__s, size_t __n) __attribute__ ((__nothrow__)) ;
10173 extern int mbtowc (wchar_t *__restrict __pwc,
10174 __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__)) ;
10177 extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__)) ;
10181 extern size_t mbstowcs (wchar_t *__restrict __pwcs,
10182 __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__));
10184 extern size_t wcstombs (char *__restrict __s,
10185 __const wchar_t *__restrict __pwcs, size_t __n)
10186 __attribute__ ((__nothrow__));
10195 extern int rpmatch (__const char *__response) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
10196 # 927 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4
10197 extern int posix_openpt (int __oflag) ;
10198 # 962 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4
10199 extern int getloadavg (double __loadavg[], int __nelem)
10200 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
10201 # 972 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4
10202 # 1 "/usr/include/bits/stdlib-ldbl.h" 1 3 4
10210 # 1 "/usr/include/gentoo-multilib/ppc64/bits/stdlib-ldbl.h" 1 3 4
10211 # 34 "/usr/include/gentoo-multilib/ppc64/bits/stdlib-ldbl.h" 3 4
10212 extern __typeof (__strtold_internal) __strtold_internal __asm ("" "__strtod_internal");
10216 extern __typeof (qecvt) qecvt __asm ("" "ecvt");
10217 extern __typeof (qfcvt) qfcvt __asm ("" "fcvt");
10218 extern __typeof (qgcvt) qgcvt __asm ("" "gcvt");
10219 extern __typeof (qecvt_r) qecvt_r __asm ("" "ecvt_r");
10220 extern __typeof (qfcvt_r) qfcvt_r __asm ("" "fcvt_r");
10221 # 9 "/usr/include/bits/stdlib-ldbl.h" 2 3 4
10222 # 973 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 2 3 4
10229 # 9 "/usr/include/stdlib.h" 2 3 4
10234 static int utf8_stricmp(const char *s1, const char *s2)
10239 s1a = g_utf8_casefold(s1, -1);
10240 s2a = g_utf8_casefold(s2, -1);
10242 result = g_utf8_collate(s1a, s2a);
10249 enum scheme_types {
10264 T_LAST_SYSTEM_TYPE=14
10267 void (*ts_output_routine) (FILE *, char *, int);
10269 static num num_add(num a, num b);
10270 static num num_mul(num a, num b);
10271 static num num_div(num a, num b);
10272 static num num_intdiv(num a, num b);
10273 static num num_sub(num a, num b);
10274 static num num_rem(num a, num b);
10275 static num num_mod(num a, num b);
10276 static int num_eq(num a, num b);
10277 static int num_gt(num a, num b);
10278 static int num_ge(num a, num b);
10279 static int num_lt(num a, num b);
10280 static int num_le(num a, num b);
10283 static double round_per_R5RS(double x);
10285 static int is_zero_double(double x);
10287 static num num_zero;
10288 static num num_one;
10294 int is_string(pointer p) { return ((((p)->_flag)&31)==T_STRING); }
10298 static int is_list(scheme *sc, pointer p);
10299 int is_vector(pointer p) { return ((((p)->_flag)&31)==T_VECTOR); }
10300 static void fill_vector(pointer vec, pointer obj);
10301 static pointer vector_elem(pointer vec, int ielem);
10302 static pointer set_vector_elem(pointer vec, int ielem, pointer a);
10303 int is_number(pointer p) { return ((((p)->_flag)&31)==T_NUMBER); }
10304 int is_integer(pointer p) {
10305 return ((p)->_object._number.is_fixnum);
10307 int is_real(pointer p) {
10308 return (!(p)->_object._number.is_fixnum);
10311 int is_character(pointer p) { return ((((p)->_flag)&31)==T_CHARACTER); }
10312 int string_length(pointer p) { return ((p)->_object._string._length); }
10313 char *string_value(pointer p) { return ((p)->_object._string._svalue); }
10314 num nvalue(pointer p) { return ((p)->_object._number); }
10315 long ivalue(pointer p) { return (is_integer(p)?(p)->_object._number.value.ivalue:(long)(p)->_object._number.value.rvalue); }
10316 double rvalue(pointer p) { return (!is_integer(p)?(p)->_object._number.value.rvalue:(double)(p)->_object._number.value.ivalue); }
10321 gunichar charvalue(pointer p) { return (gunichar)((p)->_object._number.value.ivalue); }
10323 int is_port(pointer p) { return ((((p)->_flag)&31)==T_PORT); }
10327 int is_pair(pointer p) { return ((((p)->_flag)&31)==T_PAIR); }
10330 pointer pair_car(pointer p) { return ((p)->_object._cons._car); }
10331 pointer pair_cdr(pointer p) { return ((p)->_object._cons._cdr); }
10332 pointer set_car(pointer p, pointer q) { return ((p)->_object._cons._car)=q; }
10333 pointer set_cdr(pointer p, pointer q) { return ((p)->_object._cons._cdr)=q; }
10335 int is_symbol(pointer p) { return ((((p)->_flag)&31)==T_SYMBOL); }
10336 char *symname(pointer p) { return ((((p)->_object._cons._car))->_object._string._svalue); }
10342 int is_syntax(pointer p) { return (((p)->_flag)&4096); }
10343 int is_proc(pointer p) { return ((((p)->_flag)&31)==T_PROC); }
10344 int is_foreign(pointer p) { return ((((p)->_flag)&31)==T_FOREIGN); }
10345 char *syntaxname(pointer p) { return ((((p)->_object._cons._car))->_object._string._svalue); }
10347 static const char *procname(pointer x);
10349 int is_closure(pointer p) { return ((((p)->_flag)&31)==T_CLOSURE); }
10350 int is_macro(pointer p) { return ((((p)->_flag)&31)==T_MACRO); }
10351 pointer closure_code(pointer p) { return ((p)->_object._cons._car); }
10352 pointer closure_env(pointer p) { return ((p)->_object._cons._cdr); }
10354 int is_continuation(pointer p) { return ((((p)->_flag)&31)==T_CONTINUATION); }
10358 int is_promise(pointer p) { return ((((p)->_flag)&31)==T_PROMISE); }
10360 int is_environment(pointer p) { return ((((p)->_flag)&31)==T_ENVIRONMENT); }
10362 int is_immutable(pointer p) { return (((p)->_flag)&8192); }
10364 void setimmutable(pointer p) { ((p)->_flag) |= 8192; }
10366 static int Cisalpha(gunichar c) { return g_unichar_isalpha(c); }
10367 static int Cisdigit(gunichar c) { return g_unichar_isdigit(c); }
10368 static int Cisspace(gunichar c) { return g_unichar_isspace(c); }
10369 static int Cisupper(gunichar c) { return g_unichar_isupper(c); }
10370 static int Cislower(gunichar c) { return g_unichar_islower(c); }
10372 static const char utf8_length[128] =
10374 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
10375 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
10376 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
10377 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
10378 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
10379 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
10380 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
10381 3,3,3,3,3,3,3,3,4,4,4,4,5,5,0,0
10384 static int file_push(scheme *sc, const char *fname);
10385 static void file_pop(scheme *sc);
10386 static int file_interactive(scheme *sc);
10387 static int is_one_of(char *s, gunichar c);
10388 static int alloc_cellseg(scheme *sc, int n);
10389 static long binary_decode(const char *s);
10390 static pointer get_cell(scheme *sc, pointer a, pointer b);
10391 static pointer _get_cell(scheme *sc, pointer a, pointer b);
10392 static pointer reserve_cells(scheme *sc, int n);
10393 static pointer get_consecutive_cells(scheme *sc, int n);
10394 static pointer find_consecutive_cells(scheme *sc, int n);
10395 static void finalize_cell(scheme *sc, pointer a);
10396 static int count_consecutive_cells(pointer x, int needed);
10397 static pointer find_slot_in_env(scheme *sc, pointer env, pointer sym, int all);
10398 static pointer mk_number(scheme *sc, num n);
10399 static pointer mk_empty_string(scheme *sc, int len, gunichar fill);
10400 static char *store_string(scheme *sc, int len, const char *str, gunichar fill);
10401 static pointer mk_vector(scheme *sc, int len);
10402 static pointer mk_atom(scheme *sc, char *q);
10403 static pointer mk_sharp_const(scheme *sc, char *name);
10404 static pointer mk_port(scheme *sc, port *p);
10405 static pointer port_from_filename(scheme *sc, const char *fn, int prop);
10406 static pointer port_from_file(scheme *sc, FILE *, int prop);
10407 static pointer port_from_string(scheme *sc, char *start, char *past_the_end, int prop);
10408 static port *port_rep_from_filename(scheme *sc, const char *fn, int prop);
10409 static port *port_rep_from_file(scheme *sc, FILE *, int prop);
10410 static port *port_rep_from_string(scheme *sc, char *start, char *past_the_end, int prop);
10411 static void port_close(scheme *sc, pointer p, int flag);
10412 static void mark(pointer a);
10413 static void gc(scheme *sc, pointer a, pointer b);
10414 static gunichar inchar(scheme *sc);
10415 static void backchar(scheme *sc, gunichar c);
10416 static char *readstr_upto(scheme *sc, char *delim);
10417 static pointer readstrexp(scheme *sc);
10418 static void skipspace(scheme *sc);
10419 static int token(scheme *sc);
10420 static void printslashstring(scheme *sc, char *s, int len);
10421 static void atom2str(scheme *sc, pointer l, int f, char **pp, int *plen);
10422 static void printatom(scheme *sc, pointer l, int f);
10423 static pointer mk_proc(scheme *sc, enum scheme_opcodes op);
10424 static pointer mk_closure(scheme *sc, pointer c, pointer e);
10425 static pointer mk_continuation(scheme *sc, pointer d);
10426 static pointer reverse(scheme *sc, pointer a);
10427 static pointer reverse_in_place(scheme *sc, pointer term, pointer list);
10428 static pointer append(scheme *sc, pointer a, pointer b);
10429 static int list_length(scheme *sc, pointer a);
10430 static int eqv(pointer a, pointer b);
10431 static void dump_stack_mark(scheme *);
10432 static pointer opexe_0(scheme *sc, enum scheme_opcodes op);
10433 static pointer opexe_1(scheme *sc, enum scheme_opcodes op);
10434 static pointer opexe_2(scheme *sc, enum scheme_opcodes op);
10435 static pointer opexe_3(scheme *sc, enum scheme_opcodes op);
10436 static pointer opexe_4(scheme *sc, enum scheme_opcodes op);
10437 static pointer opexe_5(scheme *sc, enum scheme_opcodes op);
10438 static pointer opexe_6(scheme *sc, enum scheme_opcodes op);
10439 static void Eval_Cycle(scheme *sc, enum scheme_opcodes op);
10440 static void assign_syntax(scheme *sc, char *name);
10441 static int syntaxnum(pointer p);
10442 static void assign_proc(scheme *sc, enum scheme_opcodes, char *name);
10447 static num num_add(num a, num b) {
10449 ret.is_fixnum=a.is_fixnum && b.is_fixnum;
10450 if(ret.is_fixnum) {
10451 ret.value.ivalue= a.value.ivalue+b.value.ivalue;
10453 ret.value.rvalue=(!a.is_fixnum?(a).value.rvalue:(double)(a).value.ivalue)+(!b.is_fixnum?(b).value.rvalue:(double)(b).value.ivalue);
10458 static num num_mul(num a, num b) {
10460 ret.is_fixnum=a.is_fixnum && b.is_fixnum;
10461 if(ret.is_fixnum) {
10462 ret.value.ivalue= a.value.ivalue*b.value.ivalue;
10464 ret.value.rvalue=(!a.is_fixnum?(a).value.rvalue:(double)(a).value.ivalue)*(!b.is_fixnum?(b).value.rvalue:(double)(b).value.ivalue);
10469 static num num_div(num a, num b) {
10471 ret.is_fixnum=a.is_fixnum && b.is_fixnum && a.value.ivalue%b.value.ivalue==0;
10472 if(ret.is_fixnum) {
10473 ret.value.ivalue= a.value.ivalue/b.value.ivalue;
10475 ret.value.rvalue=(!a.is_fixnum?(a).value.rvalue:(double)(a).value.ivalue)/(!b.is_fixnum?(b).value.rvalue:(double)(b).value.ivalue);
10480 static num num_intdiv(num a, num b) {
10482 ret.is_fixnum=a.is_fixnum && b.is_fixnum;
10483 if(ret.is_fixnum) {
10484 ret.value.ivalue= a.value.ivalue/b.value.ivalue;
10486 ret.value.rvalue=(!a.is_fixnum?(a).value.rvalue:(double)(a).value.ivalue)/(!b.is_fixnum?(b).value.rvalue:(double)(b).value.ivalue);
10491 static num num_sub(num a, num b) {
10493 ret.is_fixnum=a.is_fixnum && b.is_fixnum;
10494 if(ret.is_fixnum) {
10495 ret.value.ivalue= a.value.ivalue-b.value.ivalue;
10497 ret.value.rvalue=(!a.is_fixnum?(a).value.rvalue:(double)(a).value.ivalue)-(!b.is_fixnum?(b).value.rvalue:(double)(b).value.ivalue);
10502 static num num_rem(num a, num b) {
10505 ret.is_fixnum=a.is_fixnum && b.is_fixnum;
10506 e1=(a.is_fixnum?(a).value.ivalue:(long)(a).value.rvalue);
10507 e2=(b.is_fixnum?(b).value.ivalue:(long)(b).value.rvalue);
10514 } else if (res < 0) {
10519 ret.value.ivalue=res;
10523 static num num_mod(num a, num b) {
10526 ret.is_fixnum=a.is_fixnum && b.is_fixnum;
10527 e1=(a.is_fixnum?(a).value.ivalue:(long)(a).value.rvalue);
10528 e2=(b.is_fixnum?(b).value.ivalue:(long)(b).value.rvalue);
10538 ret.value.ivalue=res;
10542 static int num_eq(num a, num b) {
10544 int is_fixnum=a.is_fixnum && b.is_fixnum;
10546 ret= a.value.ivalue==b.value.ivalue;
10548 ret=(!a.is_fixnum?(a).value.rvalue:(double)(a).value.ivalue)==(!b.is_fixnum?(b).value.rvalue:(double)(b).value.ivalue);
10554 static int num_gt(num a, num b) {
10556 int is_fixnum=a.is_fixnum && b.is_fixnum;
10558 ret= a.value.ivalue>b.value.ivalue;
10560 ret=(!a.is_fixnum?(a).value.rvalue:(double)(a).value.ivalue)>(!b.is_fixnum?(b).value.rvalue:(double)(b).value.ivalue);
10565 static int num_ge(num a, num b) {
10566 return !num_lt(a,b);
10569 static int num_lt(num a, num b) {
10571 int is_fixnum=a.is_fixnum && b.is_fixnum;
10573 ret= a.value.ivalue<b.value.ivalue;
10575 ret=(!a.is_fixnum?(a).value.rvalue:(double)(a).value.ivalue)<(!b.is_fixnum?(b).value.rvalue:(double)(b).value.ivalue);
10580 static int num_le(num a, num b) {
10581 return !num_gt(a,b);
10586 static double round_per_R5RS(double x) {
10587 double fl=floor(x);
10593 } else if(dfl<dce) {
10596 if(fmod(fl,2.0)==0.0) {
10605 static int is_zero_double(double x) {
10606 return x<2.2250738585072014e-308 && x>-2.2250738585072014e-308;
10609 static long binary_decode(const char *s) {
10612 while(*s!=0 && (*s=='1' || *s=='0')) {
10622 static int alloc_cellseg(scheme *sc, int n) {
10631 if(adj<sizeof(struct cell)) {
10632 adj=sizeof(struct cell);
10635 for (k = 0; k < n; k++) {
10636 if (sc->last_cell_seg >= 20 - 1)
10638 cp = (char*) sc->malloc(5000 * sizeof(struct cell)+adj);
10641 i = ++sc->last_cell_seg ;
10642 sc->alloc_seg[i] = cp;
10644 if(((unsigned)cp)%adj!=0) {
10645 cp=(char*)(adj*((unsigned long)cp/adj+1));
10649 sc->cell_seg[i] = newp;
10650 while (i > 0 && sc->cell_seg[i - 1] > sc->cell_seg[i]) {
10651 p = sc->cell_seg[i];
10652 sc->cell_seg[i] = sc->cell_seg[i - 1];
10653 sc->cell_seg[--i] = p;
10655 sc->fcells += 5000;
10656 last = newp + 5000 - 1;
10657 for (p = newp; p <= last; p++) {
10659 ((p)->_object._cons._cdr) = p + 1;
10660 ((p)->_object._cons._car) = sc->NIL;
10663 if (sc->free_cell == sc->NIL || p < sc->free_cell) {
10664 ((last)->_object._cons._cdr) = sc->free_cell;
10665 sc->free_cell = newp;
10668 while (((p)->_object._cons._cdr) != sc->NIL && newp > ((p)->_object._cons._cdr))
10669 p = ((p)->_object._cons._cdr);
10670 ((last)->_object._cons._cdr) = ((p)->_object._cons._cdr);
10671 ((p)->_object._cons._cdr) = newp;
10677 static pointer get_cell(scheme *sc, pointer a, pointer b) {
10678 if (sc->free_cell != sc->NIL) {
10679 pointer x = sc->free_cell;
10680 sc->free_cell = ((x)->_object._cons._cdr);
10684 return _get_cell (sc, a, b);
10689 static pointer _get_cell(scheme *sc, pointer a, pointer b) {
10692 if(sc->no_memory) {
10696 if (sc->free_cell == sc->NIL) {
10698 if (sc->fcells < sc->last_cell_seg*8
10699 || sc->free_cell == sc->NIL) {
10701 if (!alloc_cellseg(sc,1) && sc->free_cell == sc->NIL) {
10708 sc->free_cell = ((x)->_object._cons._cdr);
10714 static pointer reserve_cells(scheme *sc, int n) {
10715 if(sc->no_memory) {
10720 if (sc->fcells < n) {
10722 gc(sc, sc->NIL, sc->NIL);
10723 if (sc->fcells < n) {
10725 if (!alloc_cellseg(sc,1)) {
10730 if (sc->fcells < n) {
10739 static pointer get_consecutive_cells(scheme *sc, int n) {
10742 if(sc->no_memory) {
10747 x=find_consecutive_cells(sc,n);
10748 if (x == sc->NIL) {
10750 gc(sc, sc->NIL, sc->NIL);
10751 x=find_consecutive_cells(sc,n);
10752 if (x == sc->NIL) {
10754 if (!alloc_cellseg(sc,1)) {
10759 x=find_consecutive_cells(sc,n);
10760 if (x == sc->NIL) {
10769 static int count_consecutive_cells(pointer x, int needed) {
10771 while(((x)->_object._cons._cdr)==x+1) {
10772 x=((x)->_object._cons._cdr);
10774 if(n>needed) return n;
10779 static pointer find_consecutive_cells(scheme *sc, int n) {
10784 while(*pp!=sc->NIL) {
10785 cnt=count_consecutive_cells(*pp,n);
10788 *pp=((*pp+n-1)->_object._cons._cdr);
10792 pp=&((*pp+cnt-1)->_object._cons._cdr);
10798 pointer _cons(scheme *sc, pointer a, pointer b, int immutable) {
10799 pointer x = get_cell(sc,a, b);
10801 ((x)->_flag) = T_PAIR;
10805 ((x)->_object._cons._car) = a;
10806 ((x)->_object._cons._cdr) = b;
10814 static int hash_fn(const char *key, int table_size);
10816 static pointer oblist_initial_value(scheme *sc)
10818 return mk_vector(sc, 461);
10822 static pointer oblist_add_by_name(scheme *sc, const char *name)
10827 x = _cons(sc,mk_string(sc, name),sc->NIL,1);
10828 ((x)->_flag) = T_SYMBOL;
10829 setimmutable(((x)->_object._cons._car));
10831 location = hash_fn(name, ((sc->oblist)->_object._number.value.ivalue));
10832 set_vector_elem(sc->oblist, location,
10833 _cons(sc,x,vector_elem(sc->oblist, location),1));
10837 static pointer oblist_find_by_name(scheme *sc, const char *name)
10843 location = hash_fn(name, ((sc->oblist)->_object._number.value.ivalue));
10844 for (x = vector_elem(sc->oblist, location); x != sc->NIL; x = ((x)->_object._cons._cdr)) {
10845 s = symname(((x)->_object._cons._car));
10847 if(utf8_stricmp(name, s) == 0) {
10848 return ((x)->_object._cons._car);
10854 static pointer oblist_all_symbols(scheme *sc)
10858 pointer ob_list = sc->NIL;
10860 for (i = 0; i < ((sc->oblist)->_object._number.value.ivalue); i++) {
10861 for (x = vector_elem(sc->oblist, i); x != sc->NIL; x = ((x)->_object._cons._cdr)) {
10862 ob_list = _cons(sc,x,ob_list,0);
10868 static pointer mk_port(scheme *sc, port *p) {
10869 pointer x = get_cell(sc, sc->NIL, sc->NIL);
10871 ((x)->_flag) = T_PORT|16384;
10872 x->_object._port=p;
10876 pointer mk_foreign_func(scheme *sc, foreign_func f) {
10877 pointer x = get_cell(sc, sc->NIL, sc->NIL);
10879 ((x)->_flag) = (T_FOREIGN | 16384);
10884 pointer mk_character(scheme *sc, gunichar c) {
10885 pointer x = get_cell(sc,sc->NIL, sc->NIL);
10887 ((x)->_flag) = (T_CHARACTER | 16384);
10888 ((x)->_object._number.value.ivalue)= c;
10889 (x)->_object._number.is_fixnum=1;;
10894 pointer mk_integer(scheme *sc, long num) {
10895 pointer x = get_cell(sc,sc->NIL, sc->NIL);
10897 ((x)->_flag) = (T_NUMBER | 16384);
10898 ((x)->_object._number.value.ivalue)= num;
10899 (x)->_object._number.is_fixnum=1;;
10903 pointer mk_real(scheme *sc, double n) {
10904 pointer x = get_cell(sc,sc->NIL, sc->NIL);
10906 ((x)->_flag) = (T_NUMBER | 16384);
10907 ((x)->_object._number.value.rvalue)= n;
10908 (x)->_object._number.is_fixnum=0;;
10912 static pointer mk_number(scheme *sc, num n) {
10914 return mk_integer(sc,n.value.ivalue);
10916 return mk_real(sc,n.value.rvalue);
10920 void set_safe_foreign (scheme *sc, pointer data) {
10921 if (sc->safe_foreign == sc->NIL) {
10922 fprintf (stderr, "get_safe_foreign called outside a foreign function\n");
10924 ((sc->safe_foreign)->_object._cons._car) = data;
10932 static char *store_string(scheme *sc, int char_cnt,
10933 const char *str, gunichar fill) {
10941 q2 = g_utf8_offset_to_pointer(str, (long)char_cnt);
10942 (void)g_utf8_validate(str, -1, (const gchar **)&q);
10947 q=(gchar*)sc->malloc(len+1);
10950 len = g_unichar_to_utf8(fill, utf8);
10951 q=(gchar*)sc->malloc(char_cnt*len+1);
10955 return sc->strbuff;
10958 memcpy(q, str, len);
10962 for (i = 0; i < char_cnt; ++i)
10964 memcpy(q2, utf8, len);
10973 pointer mk_string(scheme *sc, const char *str) {
10974 return mk_counted_string(sc,str,g_utf8_strlen(str, -1));
10978 pointer mk_counted_string(scheme *sc, const char *str, int len) {
10979 pointer x = get_cell(sc, sc->NIL, sc->NIL);
10981 ((x)->_object._string._svalue) = store_string(sc,len,str,0);
10982 ((x)->_flag) = (T_STRING | 16384);
10983 ((x)->_object._string._length) = len;
10987 static pointer mk_empty_string(scheme *sc, int len, gunichar fill) {
10988 pointer x = get_cell(sc, sc->NIL, sc->NIL);
10990 ((x)->_object._string._svalue) = store_string(sc,len,0,fill);
10991 ((x)->_flag) = (T_STRING | 16384);
10992 ((x)->_object._string._length) = len;
10996 static pointer mk_vector(scheme *sc, int len) {
10997 pointer x=get_consecutive_cells(sc,len/2+len%2+1);
10998 ((x)->_flag) = (T_VECTOR | 16384);
10999 ((x)->_object._number.value.ivalue)=len;
11000 (x)->_object._number.is_fixnum=1;;
11001 fill_vector(x,sc->NIL);
11005 static void fill_vector(pointer vec, pointer obj) {
11007 int num=ivalue(vec)/2+ivalue(vec)%2;
11008 for(i=0; i<num; i++) {
11009 ((vec+1+i)->_flag) = T_PAIR;
11010 setimmutable(vec+1+i);
11011 ((vec+1+i)->_object._cons._car)=obj;
11012 ((vec+1+i)->_object._cons._cdr)=obj;
11016 static pointer vector_elem(pointer vec, int ielem) {
11019 return ((vec+1+n)->_object._cons._car);
11021 return ((vec+1+n)->_object._cons._cdr);
11025 static pointer set_vector_elem(pointer vec, int ielem, pointer a) {
11028 return ((vec+1+n)->_object._cons._car)=a;
11030 return ((vec+1+n)->_object._cons._cdr)=a;
11035 pointer mk_symbol(scheme *sc, const char *name) {
11039 x = oblist_find_by_name(sc, name);
11040 if (x != sc->NIL) {
11043 x = oblist_add_by_name(sc, name);
11048 pointer gensym(scheme *sc) {
11052 for(; sc->gensym_cnt<9223372036854775807L; sc->gensym_cnt++) {
11053 sprintf(name,"gensym-%ld",sc->gensym_cnt);
11056 x = oblist_find_by_name(sc, name);
11058 if (x != sc->NIL) {
11061 x = oblist_add_by_name(sc, name);
11070 static pointer mk_atom(scheme *sc, char *q) {
11072 int has_dec_point=0;
11073 int has_fp_exp = 0;
11076 if((p=strstr(q,"::"))!=0) {
11078 return _cons(sc,sc->COLON_HOOK,_cons(sc,_cons(sc,sc->QUOTE,_cons(sc,mk_atom(sc,p+2),sc->NIL,0),0),_cons(sc,mk_symbol(sc,q),sc->NIL,0),0),0);
11089 if ((c == '+') || (c == '-')) {
11095 if (!((*__ctype_b_loc ())[(int) ((c))] & (unsigned short int) _ISdigit)) {
11096 return (mk_symbol(sc, q));
11098 } else if (c == '.') {
11101 if (!((*__ctype_b_loc ())[(int) ((c))] & (unsigned short int) _ISdigit)) {
11102 return (mk_symbol(sc, q));
11104 } else if (!((*__ctype_b_loc ())[(int) ((c))] & (unsigned short int) _ISdigit)) {
11105 return (mk_symbol(sc, q));
11108 for ( ; (c = *p) != 0; ++p) {
11109 if (!((*__ctype_b_loc ())[(int) ((c))] & (unsigned short int) _ISdigit)) {
11111 if(!has_dec_point) {
11116 else if ((c == 'e') || (c == 'E')) {
11121 if ((*p == '-') || (*p == '+') || ((*__ctype_b_loc ())[(int) ((*p))] & (unsigned short int) _ISdigit)) {
11126 return (mk_symbol(sc, q));
11129 if(has_dec_point) {
11130 return mk_real(sc,atof(q));
11132 return (mk_integer(sc, atol(q)));
11136 static pointer mk_sharp_const(scheme *sc, char *name) {
11140 if (!__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (name) && __builtin_constant_p ("t") && (__s1_len = strlen (name), __s2_len = strlen ("t"), (!((size_t)(const void *)((name) + 1) - (size_t)(const void *)(name) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("t") + 1) - (size_t)(const void *)("t") == 1) || __s2_len >= 4)) ? __builtin_strcmp (name, "t") : (__builtin_constant_p (name) && ((size_t)(const void *)((name) + 1) - (size_t)(const void *)(name) == 1) && (__s1_len = strlen (name), __s1_len < 4) ? (__builtin_constant_p ("t") && ((size_t)(const void *)(("t") + 1) - (size_t)(const void *)("t") == 1) ? __builtin_strcmp (name, "t") : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("t"); register int __result = (((__const unsigned char *) (__const char *) (name))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (name))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (name))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (name))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("t") && ((size_t)(const void *)(("t") + 1) - (size_t)(const void *)("t") == 1) && (__s2_len = strlen ("t"), __s2_len < 4) ? (__builtin_constant_p (name) && ((size_t)(const void *)((name) + 1) - (size_t)(const void *)(name) == 1) ? __builtin_strcmp (name, "t") : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (name); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("t"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("t"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("t"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("t"))[3]); } } __result; }))) : __builtin_strcmp (name, "t")))); }))
11142 else if (!__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (name) && __builtin_constant_p ("f") && (__s1_len = strlen (name), __s2_len = strlen ("f"), (!((size_t)(const void *)((name) + 1) - (size_t)(const void *)(name) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("f") + 1) - (size_t)(const void *)("f") == 1) || __s2_len >= 4)) ? __builtin_strcmp (name, "f") : (__builtin_constant_p (name) && ((size_t)(const void *)((name) + 1) - (size_t)(const void *)(name) == 1) && (__s1_len = strlen (name), __s1_len < 4) ? (__builtin_constant_p ("f") && ((size_t)(const void *)(("f") + 1) - (size_t)(const void *)("f") == 1) ? __builtin_strcmp (name, "f") : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("f"); register int __result = (((__const unsigned char *) (__const char *) (name))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (name))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (name))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (name))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("f") && ((size_t)(const void *)(("f") + 1) - (size_t)(const void *)("f") == 1) && (__s2_len = strlen ("f"), __s2_len < 4) ? (__builtin_constant_p (name) && ((size_t)(const void *)((name) + 1) - (size_t)(const void *)(name) == 1) ? __builtin_strcmp (name, "f") : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (name); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("f"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("f"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("f"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("f"))[3]); } } __result; }))) : __builtin_strcmp (name, "f")))); }))
11144 else if (*name == 'o') {
11145 sprintf(tmp, "0%s", name+1);
11146 sscanf(tmp, "%lo", &x);
11147 return (mk_integer(sc, x));
11148 } else if (*name == 'd') {
11149 sscanf(name+1, "%ld", &x);
11150 return (mk_integer(sc, x));
11151 } else if (*name == 'x') {
11152 sprintf(tmp, "0x%s", name+1);
11153 sscanf(tmp, "%lx", &x);
11154 return (mk_integer(sc, x));
11155 } else if (*name == 'b') {
11156 x = binary_decode(name+1);
11157 return (mk_integer(sc, x));
11158 } else if (*name == '\\') {
11160 if(utf8_stricmp(name+1,"space")==0) {
11162 } else if(utf8_stricmp(name+1,"newline")==0) {
11164 } else if(utf8_stricmp(name+1,"return")==0) {
11166 } else if(utf8_stricmp(name+1,"tab")==0) {
11168 } else if(name[1]=='x' && name[2]!=0) {
11170 if(sscanf(name+2,"%x",&c1)==1 && c1<256) {
11179 } else if(name[2]==0) {
11184 return mk_character(sc,c);
11189 static void mark(pointer a) {
11194 E2: ((p)->_flag) |= 32768;
11197 int num=((p)->_object._number.value.ivalue)/2+((p)->_object._number.value.ivalue)%2;
11198 for(i=0; i<num; i++) {
11203 if ((((p)->_flag)&16384))
11206 q = ((p)->_object._cons._car);
11207 if (q && !(((q)->_flag)&32768)) {
11208 ((p)->_flag) |= 16384;
11209 ((p)->_object._cons._car) = t;
11214 E5: q = ((p)->_object._cons._cdr);
11215 if (q && !(((q)->_flag)&32768)) {
11216 ((p)->_object._cons._cdr) = t;
11225 if ((((q)->_flag)&16384)) {
11226 ((q)->_flag) &= 49151;
11227 t = ((q)->_object._cons._car);
11228 ((q)->_object._cons._car) = p;
11232 t = ((q)->_object._cons._cdr);
11233 ((q)->_object._cons._cdr) = p;
11240 static void gc(scheme *sc, pointer a, pointer b) {
11244 if(sc->gc_verbose) {
11245 putstr(sc, "gc...");
11250 mark(sc->global_env);
11256 dump_stack_mark(sc);
11258 mark(sc->safe_foreign);
11260 mark(sc->save_inport);
11262 mark(sc->loadport);
11269 ((sc->NIL)->_flag) &= 32767;
11271 sc->free_cell = sc->NIL;
11277 for (i = sc->last_cell_seg; i >= 0; i--) {
11278 p = sc->cell_seg[i] + 5000;
11279 while (--p >= sc->cell_seg[i]) {
11280 if ((((p)->_flag)&32768)) {
11281 ((p)->_flag) &= 32767;
11284 if (((p)->_flag) != 0) {
11285 finalize_cell(sc, p);
11287 ((p)->_object._cons._car) = sc->NIL;
11290 ((p)->_object._cons._cdr) = sc->free_cell;
11296 if (sc->gc_verbose) {
11298 sprintf(msg,"done: %ld cells were recovered.\n", sc->fcells);
11303 static void finalize_cell(scheme *sc, pointer a) {
11305 sc->free(((a)->_object._string._svalue));
11306 } else if(is_port(a)) {
11307 if(a->_object._port->kind&port_file
11308 && a->_object._port->rep.stdio.closeit) {
11309 port_close(sc,a,port_input|port_output);
11311 sc->free(a->_object._port);
11317 static int file_push(scheme *sc, const char *fname) {
11318 FILE *fin=fopen(fname,"rb");
11321 sc->load_stack[sc->file_i].kind=port_file|port_input;
11322 sc->load_stack[sc->file_i].rep.stdio.file=fin;
11323 sc->load_stack[sc->file_i].rep.stdio.closeit=1;
11324 sc->nesting_stack[sc->file_i]=0;
11325 sc->loadport->_object._port=sc->load_stack+sc->file_i;
11330 static void file_pop(scheme *sc) {
11331 sc->nesting=sc->nesting_stack[sc->file_i];
11332 if(sc->file_i!=0) {
11333 port_close(sc,sc->loadport,port_input);
11335 sc->loadport->_object._port=sc->load_stack+sc->file_i;
11336 if(file_interactive(sc)) {
11342 static int file_interactive(scheme *sc) {
11343 return sc->file_i==0 && sc->load_stack[0].rep.stdio.file==stdin
11344 && sc->inport->_object._port->kind&port_file;
11347 static port *port_rep_from_filename(scheme *sc, const char *fn, int prop) {
11351 if(prop==(port_input|port_output)) {
11353 } else if(prop==port_output) {
11362 pt=port_rep_from_file(sc,f,prop);
11363 pt->rep.stdio.closeit=1;
11367 static pointer port_from_filename(scheme *sc, const char *fn, int prop) {
11369 pt=port_rep_from_filename(sc,fn,prop);
11373 return mk_port(sc,pt);
11376 static port *port_rep_from_file(scheme *sc, FILE *f, int prop) {
11379 pt=(port*)sc->malloc(sizeof(port));
11383 if(prop==(port_input|port_output)) {
11385 } else if(prop==port_output) {
11390 pt->kind=port_file|prop;
11391 pt->rep.stdio.file=f;
11392 pt->rep.stdio.closeit=0;
11396 static pointer port_from_file(scheme *sc, FILE *f, int prop) {
11398 pt=port_rep_from_file(sc,f,prop);
11402 return mk_port(sc,pt);
11405 static port *port_rep_from_string(scheme *sc, char *start, char *past_the_end, int prop) {
11407 pt=(port*)sc->malloc(sizeof(port));
11411 pt->kind=port_string|prop;
11412 pt->rep.string.start=start;
11413 pt->rep.string.curr=start;
11414 pt->rep.string.past_the_end=past_the_end;
11418 static pointer port_from_string(scheme *sc, char *start, char *past_the_end, int prop) {
11420 pt=port_rep_from_string(sc,start,past_the_end,prop);
11424 return mk_port(sc,pt);
11427 static void port_close(scheme *sc, pointer p, int flag) {
11428 port *pt=p->_object._port;
11430 if((pt->kind & (port_input|port_output))==0) {
11431 if(pt->kind&port_file) {
11432 fclose(pt->rep.stdio.file);
11434 pt->kind=port_free;
11438 static gunichar basic_inchar(port *pt) {
11441 if(pt->kind&port_file) {
11446 utf8[0] = fgetc(pt->rep.stdio.file);
11447 if (utf8[0] & 0x80)
11449 len = utf8_length[ utf8[0]&0x7F ];
11451 for (i = 0; i < len; ++i)
11452 *s++ = fgetc(pt->rep.stdio.file);
11453 return g_utf8_get_char_validated(utf8, len+1);
11455 return (gunichar)utf8[0];
11457 if(*pt->rep.string.curr==0
11458 || pt->rep.string.curr==pt->rep.string.past_the_end) {
11463 len = pt->rep.string.past_the_end - pt->rep.string.curr;
11464 c = g_utf8_get_char_validated(pt->rep.string.curr, len);
11465 len = g_unichar_to_utf8(c, ((void *)0));
11466 pt->rep.string.curr += len;
11473 static gunichar inchar(scheme *sc) {
11477 pt=sc->inport->_object._port;
11478 if(pt->kind&port_file && pt->rep.stdio.file == stdin)
11486 c=basic_inchar(pt);
11489 c=basic_inchar(pt);
11490 if(c==(-1) && sc->inport==sc->loadport && sc->file_i!=0) {
11492 if(sc->nesting!=0) {
11501 static void backchar(scheme *sc, gunichar c) {
11505 if(c==(-1)) return;
11506 charlen = g_unichar_to_utf8(c, ((void *)0));
11507 pt=sc->inport->_object._port;
11508 if(pt->kind&port_file) {
11509 if (pt->rep.stdio.file == stdin)
11515 if (ftell(pt->rep.stdio.file) >= (long)charlen)
11516 fseek(pt->rep.stdio.file, 0L-(long)charlen, 1);
11519 if(pt->rep.string.curr!=pt->rep.string.start) {
11520 if(pt->rep.string.curr-pt->rep.string.start >= charlen)
11521 pt->rep.string.curr -= charlen;
11523 pt->rep.string.curr = pt->rep.string.start;
11529 static void putchars(scheme *sc, const char *chars, int char_cnt) {
11532 port *pt=sc->outport->_object._port;
11539 if (ts_output_routine != ((void *)0))
11540 (*ts_output_routine) (pt->rep.stdio.file, (char *)chars, char_cnt);
11543 char_cnt = g_utf8_offset_to_pointer(chars, (long)char_cnt) - chars;
11545 if (sc->print_error) {
11546 l = strlen(sc->linebuff);
11547 s = &sc->linebuff[l];
11548 memcpy(s, chars, ((char_cnt <= 1024 -l-1) ? char_cnt : 1024 -l-1));
11552 if(pt->kind&port_file) {
11553 fwrite(chars,1,char_cnt,pt->rep.stdio.file);
11554 fflush(pt->rep.stdio.file);
11556 l = pt->rep.string.past_the_end - pt->rep.string.curr;
11558 memcpy(pt->rep.string.curr, chars, ((char_cnt <= l) ? char_cnt : l));
11562 void putcharacter(scheme *sc, gunichar c) {
11565 (void)g_unichar_to_utf8(c, utf8);
11566 putchars(sc, utf8, 1);
11569 void putstr(scheme *sc, const char *s) {
11570 putchars(sc, s, g_utf8_strlen(s, -1));
11574 static char *readstr_upto(scheme *sc, char *delim) {
11575 char *p = sc->strbuff;
11577 gunichar c_prev = 0;
11583 len = g_unichar_to_utf8(c, p);
11585 } while (c && !is_one_of(delim, c));
11587 if(p==sc->strbuff+2 && c_prev=='\\')
11595 return sc->strbuff;
11599 static pointer readstrexp(scheme *sc) {
11600 char *p = sc->strbuff;
11604 enum { st_ok, st_bsl, st_x1, st_x2, st_oct1, st_oct2, st_oct3 } state=st_ok;
11608 if(c==(-1) || p-sc->strbuff>sizeof(sc->strbuff)-1) {
11619 return mk_counted_string(sc,sc->strbuff,p-sc->strbuff);
11621 len = g_unichar_to_utf8(c, p);
11637 c1=g_unichar_digit_value(c);
11661 len = g_unichar_to_utf8(c, p);
11669 if (!g_unichar_isxdigit(c))
11671 c1=(c1<<4)+g_unichar_xdigit_value(c);
11682 if (!g_unichar_isdigit(c) || g_unichar_digit_value(c) > 7)
11684 if (state==st_oct1)
11693 c1=(c1<<3)+g_unichar_digit_value(c);
11714 static int is_one_of(char *s, gunichar c) {
11718 if (g_utf8_strchr(s, -1, c) != ((void *)0))
11725 static void skipspace(scheme *sc) {
11727 while (g_unichar_isspace(c=inchar(sc)))
11735 static int token(scheme *sc) {
11738 switch (c=inchar(sc)) {
11747 if(is_one_of(" \n\t",c)) {
11757 while ((c=inchar(sc)) != '\n' && c!=(-1))
11759 return (token(sc));
11763 if ((c=inchar(sc)) == '"')
11770 if ((c=inchar(sc)) == '@')
11780 } else if(c == '!') {
11781 while ((c=inchar(sc)) != '\n' && c!=(-1))
11783 return (token(sc));
11786 if(is_one_of(" tfodxb\\",c)) {
11801 static void printslashstring(scheme *sc, char *p, int len) {
11806 putcharacter(sc,'"');
11807 for (i=0; i<len; i++) {
11808 c = g_utf8_get_char(s);
11810 if(c==0xff || c=='"' || c<' ' || c=='\\') {
11811 putcharacter(sc,'\\');
11814 putcharacter(sc,'"');
11817 putcharacter(sc,'n');
11820 putcharacter(sc,'t');
11823 putcharacter(sc,'r');
11826 putcharacter(sc,'\\');
11831 putcharacter(sc,'x');
11833 putcharacter(sc,d+'0');
11835 putcharacter(sc,d-10+'A');
11839 putcharacter(sc,d+'0');
11841 putcharacter(sc,d-10+'A');
11846 putcharacter(sc,c);
11848 s = (char *)((s) + g_utf8_skip[*(guchar *)(s)]);
11850 putcharacter(sc,'"');
11855 static void printatom(scheme *sc, pointer l, int f) {
11858 atom2str(sc,l,f,&p,&len);
11859 putchars(sc,p,len);
11864 static void atom2str(scheme *sc, pointer l, int f, char **pp, int *plen) {
11867 if (l == sc->NIL) {
11869 } else if (l == sc->T) {
11871 } else if (l == sc->F) {
11873 } else if (l == sc->EOF_OBJ) {
11875 } else if (is_port(l)) {
11877 strcpy(p, "#<PORT>");
11878 } else if (is_number(l)) {
11880 if(is_integer(l)) {
11881 sprintf(p, "%ld", ((l)->_object._number.value.ivalue));
11883 sprintf(p, "%.10g", ((l)->_object._number.value.rvalue));
11885 } else if (is_string(l)) {
11887 p = ((l)->_object._string._svalue);
11891 printslashstring(sc, ((l)->_object._string._svalue),
11892 g_utf8_strlen(((l)->_object._string._svalue), -1));
11895 } else if (is_character(l)) {
11896 gunichar c=charvalue(l);
11899 int len = g_unichar_to_utf8(c, p);
11904 sprintf(p,"#\\space"); break;
11906 sprintf(p,"#\\newline"); break;
11908 sprintf(p,"#\\return"); break;
11910 sprintf(p,"#\\tab"); break;
11920 sprintf(p,"#\\x%x",c); break;
11923 sprintf(p,"#\\%c",c); break;
11926 } else if (is_symbol(l)) {
11928 } else if (is_proc(l)) {
11930 sprintf(p, "#<%s PROCEDURE %ld>", procname(l),ivalue(l));
11931 } else if (is_macro(l)) {
11933 } else if (is_closure(l)) {
11935 } else if (is_promise(l)) {
11937 } else if (is_foreign(l)) {
11939 sprintf(p, "#<FOREIGN PROCEDURE %ld>", ivalue(l));
11940 } else if (is_continuation(l)) {
11941 p = "#<CONTINUATION>";
11946 *plen=g_utf8_strlen(p, -1);
11951 static pointer mk_closure(scheme *sc, pointer c, pointer e) {
11952 pointer x = get_cell(sc, c, e);
11954 ((x)->_flag) = T_CLOSURE;
11955 ((x)->_object._cons._car) = c;
11956 ((x)->_object._cons._cdr) = e;
11961 static pointer mk_continuation(scheme *sc, pointer d) {
11962 pointer x = get_cell(sc, sc->NIL, d);
11964 ((x)->_flag) = T_CONTINUATION;
11965 ((x)->_object._cons._cdr) = d;
11969 static pointer list_star(scheme *sc, pointer d) {
11971 if(((d)->_object._cons._cdr)==sc->NIL) {
11972 return ((d)->_object._cons._car);
11974 p=_cons(sc,((d)->_object._cons._car),((d)->_object._cons._cdr),0);
11976 while(((((p)->_object._cons._cdr))->_object._cons._cdr)!=sc->NIL) {
11977 d=_cons(sc,((p)->_object._cons._car),((p)->_object._cons._cdr),0);
11978 if(((((p)->_object._cons._cdr))->_object._cons._cdr)!=sc->NIL) {
11979 p=((d)->_object._cons._cdr);
11982 ((p)->_object._cons._cdr)=((((p)->_object._cons._cdr))->_object._cons._car);
11987 static pointer reverse(scheme *sc, pointer a) {
11989 pointer p = sc->NIL;
11991 for ( ; is_pair(a); a = ((a)->_object._cons._cdr)) {
11992 p = _cons(sc,((a)->_object._cons._car),p,0);
11998 static pointer reverse_in_place(scheme *sc, pointer term, pointer list) {
11999 pointer p = list, result = term, q;
12001 while (p != sc->NIL) {
12002 q = ((p)->_object._cons._cdr);
12003 ((p)->_object._cons._cdr) = result;
12011 static pointer append(scheme *sc, pointer a, pointer b) {
12014 if (a != sc->NIL) {
12015 a = reverse(sc, a);
12016 while (a != sc->NIL) {
12017 q = ((a)->_object._cons._cdr);
12018 ((a)->_object._cons._cdr) = p;
12027 static int eqv(pointer a, pointer b) {
12028 if (is_string(a)) {
12030 return (((a)->_object._string._svalue) == ((b)->_object._string._svalue));
12033 } else if (is_number(a)) {
12035 return num_eq(nvalue(a),nvalue(b));
12038 } else if (is_character(a)) {
12039 if (is_character(b))
12040 return charvalue(a)==charvalue(b);
12043 } else if (is_port(a)) {
12048 } else if (is_proc(a)) {
12050 return ivalue(a)==ivalue(b);
12058 static int hash_fn(const char *key, int table_size)
12060 unsigned int hashed = 0;
12062 int bits_per_int = sizeof(unsigned int)*8;
12064 for (c = key; *c; c++) {
12066 hashed = (hashed<<5) | (hashed>>(bits_per_int-5));
12069 return hashed % table_size;
12072 static void new_frame_in_env(scheme *sc, pointer old_env)
12077 if (old_env == sc->NIL) {
12078 new_frame = mk_vector(sc, 461);
12080 new_frame = sc->NIL;
12083 sc->envir = _cons(sc,new_frame,old_env,1);
12084 ((sc->envir)->_flag) = T_ENVIRONMENT;
12087 static void new_slot_spec_in_env(scheme *sc, pointer env,
12088 pointer variable, pointer value)
12090 pointer slot = _cons(sc,variable,value,1);
12092 if (is_vector(((env)->_object._cons._car))) {
12093 int location = hash_fn(symname(variable), ((((env)->_object._cons._car))->_object._number.value.ivalue));
12095 set_vector_elem(((env)->_object._cons._car), location,
12096 _cons(sc,slot,vector_elem(((env)->_object._cons._car), location),1));
12098 ((env)->_object._cons._car) = _cons(sc,slot,((env)->_object._cons._car),1);
12102 static pointer find_slot_in_env(scheme *sc, pointer env, pointer hdl, int all)
12107 for (x = env; x != sc->NIL; x = ((x)->_object._cons._cdr)) {
12108 if (is_vector(((x)->_object._cons._car))) {
12109 location = hash_fn(symname(hdl), ((((x)->_object._cons._car))->_object._number.value.ivalue));
12110 y = vector_elem(((x)->_object._cons._car), location);
12112 y = ((x)->_object._cons._car);
12114 for ( ; y != sc->NIL; y = ((y)->_object._cons._cdr)) {
12115 if (((((y)->_object._cons._car))->_object._cons._car) == hdl) {
12119 if (y != sc->NIL) {
12126 if (x != sc->NIL) {
12127 return ((y)->_object._cons._car);
12132 static void new_slot_in_env(scheme *sc, pointer variable, pointer value)
12134 new_slot_spec_in_env(sc, sc->envir, variable, value);
12137 static void set_slot_in_env(scheme *sc, pointer slot, pointer value)
12139 ((slot)->_object._cons._cdr) = value;
12142 static pointer slot_value_in_env(pointer slot)
12144 return ((slot)->_object._cons._cdr);
12150 static pointer _Error_1(scheme *sc, const char *s, pointer a) {
12153 pointer hdl=sc->ERROR_HOOK;
12155 x=find_slot_in_env(sc,sc->envir,hdl,1);
12156 if (x != sc->NIL) {
12158 sc->code = _cons(sc,_cons(sc,sc->QUOTE,_cons(sc,(a),sc->NIL,0),0),sc->NIL,0);
12160 sc->code = sc->NIL;
12162 sc->code = _cons(sc,mk_string(sc, (s)),sc->code,0);
12163 setimmutable(((sc->code)->_object._cons._car));
12164 sc->code = _cons(sc,slot_value_in_env(x),sc->code,0);
12165 sc->op = (int)OP_EVAL;
12171 sc->args = _cons(sc,(a),sc->NIL,0);
12173 sc->args = sc->NIL;
12175 sc->args = _cons(sc,mk_string(sc, (s)),sc->args,0);
12176 setimmutable(((sc->args)->_object._cons._car));
12177 sc->op = (int)OP_ERR0;
12181 static void dump_stack_reset(scheme *sc)
12183 sc->dump = sc->NIL;
12186 static void dump_stack_initialize(scheme *sc)
12188 dump_stack_reset(sc);
12191 static void dump_stack_free(scheme *sc)
12193 sc->dump = sc->NIL;
12196 static pointer _s_return(scheme *sc, pointer a) {
12198 if(sc->dump==sc->NIL) return sc->NIL;
12199 sc->op = ivalue(((sc->dump)->_object._cons._car));
12200 sc->args = ((((sc->dump)->_object._cons._cdr))->_object._cons._car);
12201 sc->envir = ((((((sc->dump)->_object._cons._cdr))->_object._cons._cdr))->_object._cons._car);
12202 sc->code = ((((((((sc->dump)->_object._cons._cdr))->_object._cons._cdr))->_object._cons._cdr))->_object._cons._car);
12203 sc->dump = ((((((((sc->dump)->_object._cons._cdr))->_object._cons._cdr))->_object._cons._cdr))->_object._cons._cdr);
12207 static void s_save(scheme *sc, enum scheme_opcodes op, pointer args, pointer code) {
12208 sc->dump = _cons(sc,sc->envir,_cons(sc,(code),sc->dump,0),0);
12209 sc->dump = _cons(sc,(args),sc->dump,0);
12210 sc->dump = _cons(sc,mk_integer(sc, (long)(op)),sc->dump,0);
12213 static void dump_stack_mark(scheme *sc)
12221 static pointer opexe_0(scheme *sc, enum scheme_opcodes op) {
12226 if(file_interactive(sc)) {
12227 fprintf(sc->outport->_object._port->rep.stdio.file,
12228 "Loading %s\n", ((((sc->args)->_object._cons._car))->_object._string._svalue));
12230 if (!file_push(sc,((((sc->args)->_object._cons._car))->_object._string._svalue))) {
12231 return _Error_1(sc,"unable to open",((sc->args)->_object._cons._car));
12233 do { sc->op = (int)(OP_T0LVL); return sc->T; } while (0);
12236 if(file_interactive(sc)) {
12240 dump_stack_reset(sc);
12241 sc->envir = sc->global_env;
12242 sc->save_inport=sc->inport;
12243 sc->inport = sc->loadport;
12244 s_save(sc,OP_T0LVL, sc->NIL, sc->NIL);
12245 s_save(sc,OP_VALUEPRINT, sc->NIL, sc->NIL);
12246 s_save(sc,OP_T1LVL, sc->NIL, sc->NIL);
12247 if (file_interactive(sc)) {
12250 do { sc->op = (int)(OP_READ_INTERNAL); return sc->T; } while (0);
12253 sc->code = sc->value;
12254 sc->inport=sc->save_inport;
12255 do { sc->op = (int)(OP_EVAL); return sc->T; } while (0);
12257 case OP_READ_INTERNAL:
12258 sc->tok = token(sc);
12259 if(sc->tok==(-1)) {
12260 if(sc->inport==sc->loadport) {
12262 do { sc->op = (int)(OP_QUIT); return sc->T; } while (0);
12264 return _s_return(sc,sc->EOF_OBJ);
12267 do { sc->op = (int)(OP_RDSEXPR); return sc->T; } while (0);
12270 return _s_return(sc,gensym(sc));
12272 case OP_VALUEPRINT:
12277 putstr(sc,"\nGives: ");
12279 if(file_interactive(sc) || sc->print_output) {
12280 sc->print_flag = 1;
12281 sc->args = sc->value;
12282 do { sc->op = (int)(OP_P0LIST); return sc->T; } while (0);
12284 return _s_return(sc,sc->value);
12291 s_save(sc,OP_REAL_EVAL,sc->args,sc->code);
12293 putstr(sc,"\nEval: ");
12294 do { sc->op = (int)(OP_P0LIST); return sc->T; } while (0);
12299 if (is_symbol(sc->code)) {
12300 x=find_slot_in_env(sc,sc->envir,sc->code,1);
12301 if (x != sc->NIL) {
12302 return _s_return(sc,slot_value_in_env(x));
12304 return _Error_1(sc,"eval: unbound variable:",sc->code);
12306 } else if (is_pair(sc->code)) {
12307 if (is_syntax(x = ((sc->code)->_object._cons._car))) {
12308 sc->code = ((sc->code)->_object._cons._cdr);
12309 do { sc->op = (int)(syntaxnum(x)); return sc->T; } while (0);
12311 s_save(sc,OP_E0ARGS, sc->NIL, sc->code);
12313 sc->code = ((sc->code)->_object._cons._car);
12314 do { sc->op = (int)(OP_EVAL); return sc->T; } while (0);
12317 return _s_return(sc,sc->code);
12321 if (is_macro(sc->value)) {
12322 s_save(sc,OP_DOMACRO, sc->NIL, sc->NIL);
12323 sc->args = _cons(sc,sc->code,sc->NIL,0);
12324 sc->code = sc->value;
12325 do { sc->op = (int)(OP_APPLY); return sc->T; } while (0);
12327 sc->code = ((sc->code)->_object._cons._cdr);
12328 do { sc->op = (int)(OP_E1ARGS); return sc->T; } while (0);
12332 sc->args = _cons(sc,sc->value,sc->args,0);
12333 if (is_pair(sc->code)) {
12334 s_save(sc,OP_E1ARGS, sc->args, ((sc->code)->_object._cons._cdr));
12335 sc->code = ((sc->code)->_object._cons._car);
12336 sc->args = sc->NIL;
12337 do { sc->op = (int)(OP_EVAL); return sc->T; } while (0);
12339 sc->args = reverse_in_place(sc, sc->NIL, sc->args);
12340 sc->code = ((sc->args)->_object._cons._car);
12341 sc->args = ((sc->args)->_object._cons._cdr);
12342 do { sc->op = (int)(OP_APPLY); return sc->T; } while (0);
12347 int tr=sc->tracing;
12348 sc->tracing=ivalue(((sc->args)->_object._cons._car));
12349 return _s_return(sc,mk_integer(sc,tr));
12356 s_save(sc,OP_REAL_APPLY,sc->args,sc->code);
12357 sc->print_flag = 1;
12359 putstr(sc,"\nApply to: ");
12360 do { sc->op = (int)(OP_P0LIST); return sc->T; } while (0);
12363 case OP_REAL_APPLY:
12365 if (is_proc(sc->code)) {
12366 do { sc->op = (int)(ivalue(sc->code)); return sc->T; } while (0);
12367 } else if (is_foreign(sc->code)) {
12368 sc->safe_foreign = _cons(sc,sc->NIL,sc->safe_foreign,0);
12369 x=sc->code->_object._ff(sc,sc->args);
12370 sc->safe_foreign = ((sc->safe_foreign)->_object._cons._cdr);
12371 return _s_return(sc,x);
12372 } else if (is_closure(sc->code) || is_macro(sc->code)
12373 || is_promise(sc->code)) {
12376 new_frame_in_env(sc, closure_env(sc->code));
12377 for (x = ((closure_code(sc->code))->_object._cons._car), y = sc->args;
12378 is_pair(x); x = ((x)->_object._cons._cdr), y = ((y)->_object._cons._cdr)) {
12379 if (y == sc->NIL) {
12380 return _Error_1(sc,"not enough arguments",0);
12382 new_slot_in_env(sc, ((x)->_object._cons._car), ((y)->_object._cons._car));
12385 if (x == sc->NIL) {
12391 } else if (is_symbol(x))
12392 new_slot_in_env(sc, x, y);
12394 return _Error_1(sc,"syntax error in closure: not a symbol:",x);
12396 sc->code = ((closure_code(sc->code))->_object._cons._cdr);
12397 sc->args = sc->NIL;
12398 do { sc->op = (int)(OP_BEGIN); return sc->T; } while (0);
12399 } else if (is_continuation(sc->code)) {
12400 sc->dump = ((sc->code)->_object._cons._cdr);
12401 return _s_return(sc,sc->args != sc->NIL ? ((sc->args)->_object._cons._car) : sc->NIL);
12403 return _Error_1(sc,"illegal function",0);
12407 sc->code = sc->value;
12408 do { sc->op = (int)(OP_EVAL); return sc->T; } while (0);
12411 return _s_return(sc,mk_closure(sc, sc->code, sc->envir));
12414 x=((sc->args)->_object._cons._car);
12415 if(((x)->_object._cons._car)==sc->LAMBDA) {
12416 x=((x)->_object._cons._cdr);
12418 if(((sc->args)->_object._cons._cdr)==sc->NIL) {
12421 y=((((sc->args)->_object._cons._cdr))->_object._cons._car);
12423 return _s_return(sc,mk_closure(sc, x, y));
12426 x=((sc->code)->_object._cons._car);
12427 return _s_return(sc,((sc->code)->_object._cons._car));
12430 if(is_immutable(((sc->code)->_object._cons._car)))
12431 return _Error_1(sc,"define: unable to alter immutable",((sc->code)->_object._cons._car));
12432 if (is_pair(((sc->code)->_object._cons._car))) {
12433 x = ((((sc->code)->_object._cons._car))->_object._cons._car);
12434 sc->code = _cons(sc,sc->LAMBDA,_cons(sc,((((sc->code)->_object._cons._car))->_object._cons._cdr),((sc->code)->_object._cons._cdr),0),0);
12436 x = ((sc->code)->_object._cons._car);
12437 sc->code = ((((sc->code)->_object._cons._cdr))->_object._cons._car);
12439 if (!is_symbol(x)) {
12440 return _Error_1(sc,"variable is not a symbol",0);
12442 s_save(sc,OP_DEF1, sc->NIL, x);
12443 do { sc->op = (int)(OP_EVAL); return sc->T; } while (0);
12446 x=find_slot_in_env(sc,sc->envir,sc->code,0);
12447 if (x != sc->NIL) {
12448 set_slot_in_env(sc, x, sc->value);
12450 new_slot_in_env(sc, sc->code, sc->value);
12452 return _s_return(sc,sc->code);
12457 if(((sc->args)->_object._cons._cdr)!=sc->NIL) {
12458 x=((((sc->args)->_object._cons._cdr))->_object._cons._car);
12460 return _s_return(sc,(find_slot_in_env(sc,x,((sc->args)->_object._cons._car),1)!=sc->NIL) ? sc->T : sc->F);
12463 if(is_immutable(((sc->code)->_object._cons._car)))
12464 return _Error_1(sc,"set!: unable to alter immutable variable",((sc->code)->_object._cons._car));
12465 s_save(sc,OP_SET1, sc->NIL, ((sc->code)->_object._cons._car));
12466 sc->code = ((((sc->code)->_object._cons._cdr))->_object._cons._car);
12467 do { sc->op = (int)(OP_EVAL); return sc->T; } while (0);
12470 y=find_slot_in_env(sc,sc->envir,sc->code,1);
12471 if (y != sc->NIL) {
12472 set_slot_in_env(sc, y, sc->value);
12473 return _s_return(sc,sc->value);
12475 return _Error_1(sc,"set!: unbound variable:",sc->code);
12479 if (!is_pair(sc->code)) {
12480 return _s_return(sc,sc->code);
12482 if (((sc->code)->_object._cons._cdr) != sc->NIL) {
12483 s_save(sc,OP_BEGIN, sc->NIL, ((sc->code)->_object._cons._cdr));
12485 sc->code = ((sc->code)->_object._cons._car);
12486 do { sc->op = (int)(OP_EVAL); return sc->T; } while (0);
12489 s_save(sc,OP_IF1, sc->NIL, ((sc->code)->_object._cons._cdr));
12490 sc->code = ((sc->code)->_object._cons._car);
12491 do { sc->op = (int)(OP_EVAL); return sc->T; } while (0);
12494 if (((sc->value) != sc->F))
12495 sc->code = ((sc->code)->_object._cons._car);
12497 sc->code = ((((sc->code)->_object._cons._cdr))->_object._cons._car);
12499 do { sc->op = (int)(OP_EVAL); return sc->T; } while (0);
12502 sc->args = sc->NIL;
12503 sc->value = sc->code;
12504 sc->code = is_symbol(((sc->code)->_object._cons._car)) ? ((((sc->code)->_object._cons._cdr))->_object._cons._car) : ((sc->code)->_object._cons._car);
12505 do { sc->op = (int)(OP_LET1); return sc->T; } while (0);
12508 sc->args = _cons(sc,sc->value,sc->args,0);
12509 if (is_pair(sc->code)) {
12510 s_save(sc,OP_LET1, sc->args, ((sc->code)->_object._cons._cdr));
12511 sc->code = ((((((sc->code)->_object._cons._car))->_object._cons._cdr))->_object._cons._car);
12512 sc->args = sc->NIL;
12513 do { sc->op = (int)(OP_EVAL); return sc->T; } while (0);
12515 sc->args = reverse_in_place(sc, sc->NIL, sc->args);
12516 sc->code = ((sc->args)->_object._cons._car);
12517 sc->args = ((sc->args)->_object._cons._cdr);
12518 do { sc->op = (int)(OP_LET2); return sc->T; } while (0);
12522 new_frame_in_env(sc, sc->envir);
12523 for (x = is_symbol(((sc->code)->_object._cons._car)) ? ((((sc->code)->_object._cons._cdr))->_object._cons._car) : ((sc->code)->_object._cons._car), y = sc->args;
12524 y != sc->NIL; x = ((x)->_object._cons._cdr), y = ((y)->_object._cons._cdr)) {
12525 new_slot_in_env(sc, ((((x)->_object._cons._car))->_object._cons._car), ((y)->_object._cons._car));
12527 if (is_symbol(((sc->code)->_object._cons._car))) {
12528 for (x = ((((sc->code)->_object._cons._cdr))->_object._cons._car), sc->args = sc->NIL; x != sc->NIL; x = ((x)->_object._cons._cdr)) {
12530 sc->args = _cons(sc,((((x)->_object._cons._car))->_object._cons._car),sc->args,0);
12532 x = mk_closure(sc, _cons(sc,reverse_in_place(sc, sc->NIL, sc->args),((((sc->code)->_object._cons._cdr))->_object._cons._cdr),0), sc->envir);
12533 new_slot_in_env(sc, ((sc->code)->_object._cons._car), x);
12534 sc->code = ((((sc->code)->_object._cons._cdr))->_object._cons._cdr);
12535 sc->args = sc->NIL;
12537 sc->code = ((sc->code)->_object._cons._cdr);
12538 sc->args = sc->NIL;
12540 do { sc->op = (int)(OP_BEGIN); return sc->T; } while (0);
12543 if (((sc->code)->_object._cons._car) == sc->NIL) {
12544 new_frame_in_env(sc, sc->envir);
12545 sc->code = ((sc->code)->_object._cons._cdr);
12546 do { sc->op = (int)(OP_BEGIN); return sc->T; } while (0);
12548 s_save(sc,OP_LET1AST, ((sc->code)->_object._cons._cdr), ((sc->code)->_object._cons._car));
12549 sc->code = ((((((((sc->code)->_object._cons._car))->_object._cons._car))->_object._cons._cdr))->_object._cons._car);
12550 do { sc->op = (int)(OP_EVAL); return sc->T; } while (0);
12553 new_frame_in_env(sc, sc->envir);
12554 do { sc->op = (int)(OP_LET2AST); return sc->T; } while (0);
12557 new_slot_in_env(sc, ((((sc->code)->_object._cons._car))->_object._cons._car), sc->value);
12558 sc->code = ((sc->code)->_object._cons._cdr);
12559 if (is_pair(sc->code)) {
12560 s_save(sc,OP_LET2AST, sc->args, sc->code);
12561 sc->code = ((((((sc->code)->_object._cons._car))->_object._cons._cdr))->_object._cons._car);
12562 sc->args = sc->NIL;
12563 do { sc->op = (int)(OP_EVAL); return sc->T; } while (0);
12565 sc->code = sc->args;
12566 sc->args = sc->NIL;
12567 do { sc->op = (int)(OP_BEGIN); return sc->T; } while (0);
12570 sprintf(sc->strbuff, "%d: illegal operator", sc->op);
12571 return _Error_1(sc,sc->strbuff,0);
12576 static pointer opexe_1(scheme *sc, enum scheme_opcodes op) {
12581 new_frame_in_env(sc, sc->envir);
12582 sc->args = sc->NIL;
12583 sc->value = sc->code;
12584 sc->code = ((sc->code)->_object._cons._car);
12585 do { sc->op = (int)(OP_LET1REC); return sc->T; } while (0);
12588 sc->args = _cons(sc,sc->value,sc->args,0);
12589 if (is_pair(sc->code)) {
12590 s_save(sc,OP_LET1REC, sc->args, ((sc->code)->_object._cons._cdr));
12591 sc->code = ((((((sc->code)->_object._cons._car))->_object._cons._cdr))->_object._cons._car);
12592 sc->args = sc->NIL;
12593 do { sc->op = (int)(OP_EVAL); return sc->T; } while (0);
12595 sc->args = reverse_in_place(sc, sc->NIL, sc->args);
12596 sc->code = ((sc->args)->_object._cons._car);
12597 sc->args = ((sc->args)->_object._cons._cdr);
12598 do { sc->op = (int)(OP_LET2REC); return sc->T; } while (0);
12602 for (x = ((sc->code)->_object._cons._car), y = sc->args; y != sc->NIL; x = ((x)->_object._cons._cdr), y = ((y)->_object._cons._cdr)) {
12603 new_slot_in_env(sc, ((((x)->_object._cons._car))->_object._cons._car), ((y)->_object._cons._car));
12605 sc->code = ((sc->code)->_object._cons._cdr);
12606 sc->args = sc->NIL;
12607 do { sc->op = (int)(OP_BEGIN); return sc->T; } while (0);
12610 if (!is_pair(sc->code)) {
12611 return _Error_1(sc,"syntax error in cond",0);
12613 s_save(sc,OP_COND1, sc->NIL, sc->code);
12614 sc->code = ((((sc->code)->_object._cons._car))->_object._cons._car);
12615 do { sc->op = (int)(OP_EVAL); return sc->T; } while (0);
12618 if (((sc->value) != sc->F)) {
12619 if ((sc->code = ((((sc->code)->_object._cons._car))->_object._cons._cdr)) == sc->NIL) {
12620 return _s_return(sc,sc->value);
12622 if(((sc->code)->_object._cons._car)==sc->FEED_TO) {
12623 if(!is_pair(((sc->code)->_object._cons._cdr))) {
12624 return _Error_1(sc,"syntax error in cond",0);
12626 x=_cons(sc,sc->QUOTE,_cons(sc,sc->value,sc->NIL,0),0);
12627 sc->code=_cons(sc,((((sc->code)->_object._cons._cdr))->_object._cons._car),_cons(sc,x,sc->NIL,0),0);
12628 do { sc->op = (int)(OP_EVAL); return sc->T; } while (0);
12630 do { sc->op = (int)(OP_BEGIN); return sc->T; } while (0);
12632 if ((sc->code = ((sc->code)->_object._cons._cdr)) == sc->NIL) {
12633 return _s_return(sc,sc->NIL);
12635 s_save(sc,OP_COND1, sc->NIL, sc->code);
12636 sc->code = ((((sc->code)->_object._cons._car))->_object._cons._car);
12637 do { sc->op = (int)(OP_EVAL); return sc->T; } while (0);
12642 x = mk_closure(sc, _cons(sc,sc->NIL,sc->code,0), sc->envir);
12643 ((x)->_flag)=T_PROMISE;
12644 return _s_return(sc,x);
12647 if (sc->code == sc->NIL) {
12648 return _s_return(sc,sc->T);
12650 s_save(sc,OP_AND1, sc->NIL, ((sc->code)->_object._cons._cdr));
12651 sc->code = ((sc->code)->_object._cons._car);
12652 do { sc->op = (int)(OP_EVAL); return sc->T; } while (0);
12655 if (((sc->value) == sc->F)) {
12656 return _s_return(sc,sc->value);
12657 } else if (sc->code == sc->NIL) {
12658 return _s_return(sc,sc->value);
12660 s_save(sc,OP_AND1, sc->NIL, ((sc->code)->_object._cons._cdr));
12661 sc->code = ((sc->code)->_object._cons._car);
12662 do { sc->op = (int)(OP_EVAL); return sc->T; } while (0);
12666 if (sc->code == sc->NIL) {
12667 return _s_return(sc,sc->F);
12669 s_save(sc,OP_OR1, sc->NIL, ((sc->code)->_object._cons._cdr));
12670 sc->code = ((sc->code)->_object._cons._car);
12671 do { sc->op = (int)(OP_EVAL); return sc->T; } while (0);
12674 if (((sc->value) != sc->F)) {
12675 return _s_return(sc,sc->value);
12676 } else if (sc->code == sc->NIL) {
12677 return _s_return(sc,sc->value);
12679 s_save(sc,OP_OR1, sc->NIL, ((sc->code)->_object._cons._cdr));
12680 sc->code = ((sc->code)->_object._cons._car);
12681 do { sc->op = (int)(OP_EVAL); return sc->T; } while (0);
12685 s_save(sc,OP_C1STREAM, sc->NIL, ((sc->code)->_object._cons._cdr));
12686 sc->code = ((sc->code)->_object._cons._car);
12687 do { sc->op = (int)(OP_EVAL); return sc->T; } while (0);
12690 sc->args = sc->value;
12691 x = mk_closure(sc, _cons(sc,sc->NIL,sc->code,0), sc->envir);
12692 ((x)->_flag)=T_PROMISE;
12693 return _s_return(sc,_cons(sc,sc->args,x,0));
12696 if (is_pair(((sc->code)->_object._cons._car))) {
12697 x = ((((sc->code)->_object._cons._car))->_object._cons._car);
12698 sc->code = _cons(sc,sc->LAMBDA,_cons(sc,((((sc->code)->_object._cons._car))->_object._cons._cdr),((sc->code)->_object._cons._cdr),0),0);
12700 x = ((sc->code)->_object._cons._car);
12701 sc->code = ((((sc->code)->_object._cons._cdr))->_object._cons._car);
12703 if (!is_symbol(x)) {
12704 return _Error_1(sc,"variable is not a symbol",0);
12706 s_save(sc,OP_MACRO1, sc->NIL, x);
12707 do { sc->op = (int)(OP_EVAL); return sc->T; } while (0);
12710 ((sc->value)->_flag) = T_MACRO;
12711 x = find_slot_in_env(sc, sc->envir, sc->code, 0);
12712 if (x != sc->NIL) {
12713 set_slot_in_env(sc, x, sc->value);
12715 new_slot_in_env(sc, sc->code, sc->value);
12717 return _s_return(sc,sc->code);
12720 s_save(sc,OP_CASE1, sc->NIL, ((sc->code)->_object._cons._cdr));
12721 sc->code = ((sc->code)->_object._cons._car);
12722 do { sc->op = (int)(OP_EVAL); return sc->T; } while (0);
12725 for (x = sc->code; x != sc->NIL; x = ((x)->_object._cons._cdr)) {
12726 if (!is_pair(y = ((((x)->_object._cons._car))->_object._cons._car))) {
12729 for ( ; y != sc->NIL; y = ((y)->_object._cons._cdr)) {
12730 if (eqv(((y)->_object._cons._car), sc->value)) {
12734 if (y != sc->NIL) {
12738 if (x != sc->NIL) {
12739 if (is_pair(((((x)->_object._cons._car))->_object._cons._car))) {
12740 sc->code = ((((x)->_object._cons._car))->_object._cons._cdr);
12741 do { sc->op = (int)(OP_BEGIN); return sc->T; } while (0);
12743 s_save(sc,OP_CASE2, sc->NIL, ((((x)->_object._cons._car))->_object._cons._cdr));
12744 sc->code = ((((x)->_object._cons._car))->_object._cons._car);
12745 do { sc->op = (int)(OP_EVAL); return sc->T; } while (0);
12748 return _s_return(sc,sc->NIL);
12752 if (((sc->value) != sc->F)) {
12753 do { sc->op = (int)(OP_BEGIN); return sc->T; } while (0);
12755 return _s_return(sc,sc->NIL);
12759 sc->code = ((sc->args)->_object._cons._car);
12760 sc->args = list_star(sc,((sc->args)->_object._cons._cdr));
12762 do { sc->op = (int)(OP_APPLY); return sc->T; } while (0);
12765 if(((sc->args)->_object._cons._cdr)!=sc->NIL) {
12766 sc->envir=((((sc->args)->_object._cons._cdr))->_object._cons._car);
12768 sc->code = ((sc->args)->_object._cons._car);
12769 do { sc->op = (int)(OP_EVAL); return sc->T; } while (0);
12771 case OP_CONTINUATION:
12772 sc->code = ((sc->args)->_object._cons._car);
12773 sc->args = _cons(sc,mk_continuation(sc, sc->dump),sc->NIL,0);
12774 do { sc->op = (int)(OP_APPLY); return sc->T; } while (0);
12777 sprintf(sc->strbuff, "%d: illegal operator", sc->op);
12778 return _Error_1(sc,sc->strbuff,0);
12783 static pointer opexe_2(scheme *sc, enum scheme_opcodes op) {
12793 x=((sc->args)->_object._cons._car);
12794 if(is_integer(x)) {
12795 return _s_return(sc,x);
12796 } else if(modf(((x)->_object._number.value.rvalue),&dd)==0.0) {
12797 return _s_return(sc,mk_integer(sc,ivalue(x)));
12799 return _Error_1(sc,"inexact->exact: not integral:",x);
12803 x=((sc->args)->_object._cons._car);
12804 return _s_return(sc,mk_real(sc, exp(rvalue(x))));
12807 x=((sc->args)->_object._cons._car);
12808 return _s_return(sc,mk_real(sc, log(rvalue(x))));
12811 x=((sc->args)->_object._cons._car);
12812 return _s_return(sc,mk_real(sc, sin(rvalue(x))));
12815 x=((sc->args)->_object._cons._car);
12816 return _s_return(sc,mk_real(sc, cos(rvalue(x))));
12819 x=((sc->args)->_object._cons._car);
12820 return _s_return(sc,mk_real(sc, tan(rvalue(x))));
12823 x=((sc->args)->_object._cons._car);
12824 return _s_return(sc,mk_real(sc, asin(rvalue(x))));
12827 x=((sc->args)->_object._cons._car);
12828 return _s_return(sc,mk_real(sc, acos(rvalue(x))));
12831 x=((sc->args)->_object._cons._car);
12832 if(((sc->args)->_object._cons._cdr)==sc->NIL) {
12833 return _s_return(sc,mk_real(sc, atan(rvalue(x))));
12835 pointer y=((((sc->args)->_object._cons._cdr))->_object._cons._car);
12836 return _s_return(sc,mk_real(sc, atan2(rvalue(x),rvalue(y))));
12840 x=((sc->args)->_object._cons._car);
12841 return _s_return(sc,mk_real(sc, sqrt(rvalue(x))));
12844 x=((sc->args)->_object._cons._car);
12845 if(((sc->args)->_object._cons._cdr)==sc->NIL) {
12846 return _Error_1(sc,"expt: needs two arguments",0);
12848 pointer y=((((sc->args)->_object._cons._cdr))->_object._cons._car);
12849 return _s_return(sc,mk_real(sc, pow(rvalue(x),rvalue(y))));
12853 x=((sc->args)->_object._cons._car);
12854 return _s_return(sc,mk_real(sc, floor(rvalue(x))));
12857 x=((sc->args)->_object._cons._car);
12858 return _s_return(sc,mk_real(sc, ceil(rvalue(x))));
12860 case OP_TRUNCATE : {
12861 double rvalue_of_x ;
12862 x=((sc->args)->_object._cons._car);
12863 rvalue_of_x = rvalue(x) ;
12864 if (rvalue_of_x > 0) {
12865 return _s_return(sc,mk_real(sc, floor(rvalue_of_x)));
12867 return _s_return(sc,mk_real(sc, ceil(rvalue_of_x)));
12872 x=((sc->args)->_object._cons._car);
12873 return _s_return(sc,mk_real(sc, round_per_R5RS(rvalue(x))));
12878 for (x = sc->args; x != sc->NIL; x = ((x)->_object._cons._cdr)) {
12879 v=num_add(v,nvalue(((x)->_object._cons._car)));
12881 return _s_return(sc,mk_number(sc, v));
12885 for (x = sc->args; x != sc->NIL; x = ((x)->_object._cons._cdr)) {
12886 v=num_mul(v,nvalue(((x)->_object._cons._car)));
12888 return _s_return(sc,mk_number(sc, v));
12891 if(((sc->args)->_object._cons._cdr)==sc->NIL) {
12895 x = ((sc->args)->_object._cons._cdr);
12896 v = nvalue(((sc->args)->_object._cons._car));
12898 for (; x != sc->NIL; x = ((x)->_object._cons._cdr)) {
12899 v=num_sub(v,nvalue(((x)->_object._cons._car)));
12901 return _s_return(sc,mk_number(sc, v));
12904 if(((sc->args)->_object._cons._cdr)==sc->NIL) {
12908 x = ((sc->args)->_object._cons._cdr);
12909 v = nvalue(((sc->args)->_object._cons._car));
12911 for (; x != sc->NIL; x = ((x)->_object._cons._cdr)) {
12912 if (!is_zero_double(rvalue(((x)->_object._cons._car))))
12913 v=num_div(v,nvalue(((x)->_object._cons._car)));
12915 return _Error_1(sc,"/: division by zero",0);
12918 return _s_return(sc,mk_number(sc, v));
12921 if(((sc->args)->_object._cons._cdr)==sc->NIL) {
12925 x = ((sc->args)->_object._cons._cdr);
12926 v = nvalue(((sc->args)->_object._cons._car));
12928 for (; x != sc->NIL; x = ((x)->_object._cons._cdr)) {
12929 if (ivalue(((x)->_object._cons._car)) != 0)
12930 v=num_intdiv(v,nvalue(((x)->_object._cons._car)));
12932 return _Error_1(sc,"quotient: division by zero",0);
12935 return _s_return(sc,mk_number(sc, v));
12938 v = nvalue(((sc->args)->_object._cons._car));
12939 if (ivalue(((((sc->args)->_object._cons._cdr))->_object._cons._car)) != 0)
12940 v=num_rem(v,nvalue(((((sc->args)->_object._cons._cdr))->_object._cons._car)));
12942 return _Error_1(sc,"remainder: division by zero",0);
12944 return _s_return(sc,mk_number(sc, v));
12947 v = nvalue(((sc->args)->_object._cons._car));
12948 if (ivalue(((((sc->args)->_object._cons._cdr))->_object._cons._car)) != 0)
12949 v=num_mod(v,nvalue(((((sc->args)->_object._cons._cdr))->_object._cons._car)));
12951 return _Error_1(sc,"modulo: division by zero",0);
12953 return _s_return(sc,mk_number(sc, v));
12956 return _s_return(sc,((((sc->args)->_object._cons._car))->_object._cons._car));
12959 return _s_return(sc,((((sc->args)->_object._cons._car))->_object._cons._cdr));
12962 ((sc->args)->_object._cons._cdr) = ((((sc->args)->_object._cons._cdr))->_object._cons._car);
12963 return _s_return(sc,sc->args);
12966 if(!is_immutable(((sc->args)->_object._cons._car))) {
12967 ((((sc->args)->_object._cons._car))->_object._cons._car) = ((((sc->args)->_object._cons._cdr))->_object._cons._car);
12968 return _s_return(sc,((sc->args)->_object._cons._car));
12970 return _Error_1(sc,"set-car!: unable to alter immutable pair",0);
12974 if(!is_immutable(((sc->args)->_object._cons._car))) {
12975 ((((sc->args)->_object._cons._car))->_object._cons._cdr) = ((((sc->args)->_object._cons._cdr))->_object._cons._car);
12976 return _s_return(sc,((sc->args)->_object._cons._car));
12978 return _Error_1(sc,"set-cdr!: unable to alter immutable pair",0);
12981 case OP_CHAR2INT: {
12983 c=ivalue(((sc->args)->_object._cons._car));
12984 return _s_return(sc,mk_integer(sc,c));
12987 case OP_INT2CHAR: {
12989 c=(gunichar)ivalue(((sc->args)->_object._cons._car));
12990 return _s_return(sc,mk_character(sc,c));
12993 case OP_CHARUPCASE: {
12995 c=(gunichar)ivalue(((sc->args)->_object._cons._car));
12996 c=g_unichar_toupper(c);
12997 return _s_return(sc,mk_character(sc,c));
13000 case OP_CHARDNCASE: {
13002 c=(gunichar)ivalue(((sc->args)->_object._cons._car));
13003 c=g_unichar_tolower(c);
13004 return _s_return(sc,mk_character(sc,c));
13008 return _s_return(sc,mk_symbol(sc,((((sc->args)->_object._cons._car))->_object._string._svalue)));
13010 case OP_STR2ATOM: {
13011 char *s=((((sc->args)->_object._cons._car))->_object._string._svalue);
13013 return _s_return(sc,mk_sharp_const(sc, s+1));
13015 return _s_return(sc,mk_atom(sc, s));
13020 x=mk_string(sc,symname(((sc->args)->_object._cons._car)));
13022 return _s_return(sc,x);
13024 x=((sc->args)->_object._cons._car);
13025 if(is_number(x) || is_character(x) || is_string(x) || is_symbol(x)) {
13028 atom2str(sc,x,0,&p,&len);
13029 return _s_return(sc,mk_counted_string(sc,p,len));
13031 return _Error_1(sc,"atom->string: not an atom:",x);
13034 case OP_MKSTRING: {
13038 len=ivalue(((sc->args)->_object._cons._car));
13040 if(((sc->args)->_object._cons._cdr)!=sc->NIL) {
13041 fill=charvalue(((((sc->args)->_object._cons._cdr))->_object._cons._car));
13043 return _s_return(sc,mk_empty_string(sc,len,fill));
13047 return _s_return(sc,mk_integer(sc,g_utf8_strlen(((((sc->args)->_object._cons._car))->_object._string._svalue), -1)));
13053 str=((((sc->args)->_object._cons._car))->_object._string._svalue);
13055 index=ivalue(((((sc->args)->_object._cons._cdr))->_object._cons._car));
13057 if(index>=g_utf8_strlen(((((sc->args)->_object._cons._car))->_object._string._svalue), -1)) {
13058 return _Error_1(sc,"string-ref: out of bounds:",((((sc->args)->_object._cons._cdr))->_object._cons._car));
13061 str = g_utf8_offset_to_pointer(str, (long)index);
13062 return _s_return(sc,mk_character(sc, g_utf8_get_char(str)));
13078 a=((sc->args)->_object._cons._car);
13079 if(is_immutable(a)) {
13080 return _Error_1(sc,"string-set!: unable to alter immutable string:",a);
13083 str=((a)->_object._string._svalue);
13084 index=ivalue(((((sc->args)->_object._cons._cdr))->_object._cons._car));
13085 if(index>=g_utf8_strlen(str, -1)) {
13086 return _Error_1(sc,"string-set!: out of bounds:",((((sc->args)->_object._cons._cdr))->_object._cons._car));
13089 c=charvalue(((((((sc->args)->_object._cons._cdr))->_object._cons._cdr))->_object._cons._car));
13090 utf8_len = g_unichar_to_utf8(c, utf8);
13092 p1 = g_utf8_offset_to_pointer(str, (long)index);
13093 p2 = g_utf8_offset_to_pointer(str, (long)index+1);
13095 p2_len = strlen(p2);
13097 newlen = p1_len+utf8_len+p2_len;
13098 newstr = (char *)sc->malloc(newlen+1);
13099 if (newstr == ((void *)0)) {
13101 return _Error_1(sc,"string-set!: No memory to alter string:",((sc->args)->_object._cons._car));
13105 memcpy(newstr, str, p1_len);
13106 memcpy(newstr+p1_len, utf8, utf8_len);
13108 memcpy(newstr+p1_len+utf8_len, p2, p2_len);
13109 newstr[newlen] = '\0';
13111 free(((a)->_object._string._svalue));
13112 ((a)->_object._string._svalue)=newstr;
13113 ((a)->_object._string._length)=newlen;
13115 return _s_return(sc,a);
13118 case OP_STRAPPEND: {
13126 for (x = sc->args; x != sc->NIL; x = ((x)->_object._cons._cdr)) {
13127 len += ((((x)->_object._cons._car))->_object._string._length);
13129 newstr = mk_empty_string(sc, len, ' ');
13131 pos = ((newstr)->_object._string._svalue);
13132 for (x = sc->args; x != sc->NIL; x = ((x)->_object._cons._cdr)) {
13133 car_x = ((x)->_object._cons._car);
13134 memcpy(pos, ((car_x)->_object._string._svalue), ((car_x)->_object._string._length));
13135 pos += ((car_x)->_object._string._length);
13138 return _s_return(sc,newstr);
13150 str=((((sc->args)->_object._cons._car))->_object._string._svalue);
13152 index0=ivalue(((((sc->args)->_object._cons._cdr))->_object._cons._car));
13154 if(index0>g_utf8_strlen(str, -1)) {
13155 return _Error_1(sc,"substring: start out of bounds:",((((sc->args)->_object._cons._cdr))->_object._cons._car));
13158 if(((((sc->args)->_object._cons._cdr))->_object._cons._cdr)!=sc->NIL) {
13159 index1=ivalue(((((((sc->args)->_object._cons._cdr))->_object._cons._cdr))->_object._cons._car));
13160 if(index1>g_utf8_strlen(str, -1) || index1<index0) {
13161 return _Error_1(sc,"substring: end out of bounds:",((((((sc->args)->_object._cons._cdr))->_object._cons._cdr))->_object._cons._car));
13164 index1=g_utf8_strlen(str, -1);
13167 beg = g_utf8_offset_to_pointer(str, (long)index0);
13168 end = g_utf8_offset_to_pointer(str, (long)index1);
13170 x=mk_empty_string(sc,len,' ');
13171 memcpy(((x)->_object._string._svalue),beg,len);
13172 ((x)->_object._string._svalue)[len] = '\0';
13174 return _s_return(sc,x);
13180 int len=list_length(sc,sc->args);
13182 return _Error_1(sc,"vector: not a proper list:",sc->args);
13184 vec=mk_vector(sc,len);
13185 for (x = sc->args, i = 0; is_pair(x); x = ((x)->_object._cons._cdr), i++) {
13186 set_vector_elem(vec,i,((x)->_object._cons._car));
13188 return _s_return(sc,vec);
13191 case OP_MKVECTOR: {
13192 pointer fill=sc->NIL;
13196 len=ivalue(((sc->args)->_object._cons._car));
13198 if(((sc->args)->_object._cons._cdr)!=sc->NIL) {
13199 fill=((((sc->args)->_object._cons._cdr))->_object._cons._car);
13201 vec=mk_vector(sc,len);
13202 if(fill!=sc->NIL) {
13203 fill_vector(vec,fill);
13205 return _s_return(sc,vec);
13209 return _s_return(sc,mk_integer(sc,ivalue(((sc->args)->_object._cons._car))));
13214 index=ivalue(((((sc->args)->_object._cons._cdr))->_object._cons._car));
13216 if(index>=ivalue(((sc->args)->_object._cons._car))) {
13217 return _Error_1(sc,"vector-ref: out of bounds:",((((sc->args)->_object._cons._cdr))->_object._cons._car));
13220 return _s_return(sc,vector_elem(((sc->args)->_object._cons._car),index));
13226 if(is_immutable(((sc->args)->_object._cons._car))) {
13227 return _Error_1(sc,"vector-set!: unable to alter immutable vector:",((sc->args)->_object._cons._car));
13230 index=ivalue(((((sc->args)->_object._cons._cdr))->_object._cons._car));
13231 if(index>=ivalue(((sc->args)->_object._cons._car))) {
13232 return _Error_1(sc,"vector-set!: out of bounds:",((((sc->args)->_object._cons._cdr))->_object._cons._car));
13235 set_vector_elem(((sc->args)->_object._cons._car),index,((((((sc->args)->_object._cons._cdr))->_object._cons._cdr))->_object._cons._car));
13236 return _s_return(sc,((sc->args)->_object._cons._car));
13240 sprintf(sc->strbuff, "%d: illegal operator", sc->op);
13241 return _Error_1(sc,sc->strbuff,0);
13246 static int is_list(scheme *sc, pointer a) {
13247 pointer slow, fast;
13252 if (fast == sc->NIL)
13254 if (!is_pair(fast))
13256 fast = ((fast)->_object._cons._cdr);
13257 if (fast == sc->NIL)
13259 if (!is_pair(fast))
13261 fast = ((fast)->_object._cons._cdr);
13263 slow = ((slow)->_object._cons._cdr);
13274 static int list_length(scheme *sc, pointer a) {
13276 pointer slow, fast;
13281 if (fast == sc->NIL)
13283 if (!is_pair(fast))
13285 fast = ((fast)->_object._cons._cdr);
13287 if (fast == sc->NIL)
13289 if (!is_pair(fast))
13292 fast = ((fast)->_object._cons._cdr);
13294 slow = ((slow)->_object._cons._cdr);
13305 static pointer opexe_3(scheme *sc, enum scheme_opcodes op) {
13308 int (*comp_func)(num,num)=0;
13312 return _s_return(sc,(((((sc->args)->_object._cons._car)) == sc->F)) ? sc->T : sc->F);
13314 return _s_return(sc,(((sc->args)->_object._cons._car) == sc->F || ((sc->args)->_object._cons._car) == sc->T) ? sc->T : sc->F);
13316 return _s_return(sc,(((sc->args)->_object._cons._car) == sc->EOF_OBJ) ? sc->T : sc->F);
13318 return _s_return(sc,(((sc->args)->_object._cons._car) == sc->NIL) ? sc->T : sc->F);
13325 case OP_NUMEQ: comp_func=num_eq; break;
13326 case OP_LESS: comp_func=num_lt; break;
13327 case OP_GRE: comp_func=num_gt; break;
13328 case OP_LEQ: comp_func=num_le; break;
13329 case OP_GEQ: comp_func=num_ge; break;
13333 v=nvalue(((x)->_object._cons._car));
13334 x=((x)->_object._cons._cdr);
13336 for (; x != sc->NIL; x = ((x)->_object._cons._cdr)) {
13337 if(!comp_func(v,nvalue(((x)->_object._cons._car)))) {
13338 return _s_return(sc,(0) ? sc->T : sc->F);
13340 v=nvalue(((x)->_object._cons._car));
13342 return _s_return(sc,(1) ? sc->T : sc->F);
13344 return _s_return(sc,(is_symbol(((sc->args)->_object._cons._car))) ? sc->T : sc->F);
13346 return _s_return(sc,(is_number(((sc->args)->_object._cons._car))) ? sc->T : sc->F);
13348 return _s_return(sc,(is_string(((sc->args)->_object._cons._car))) ? sc->T : sc->F);
13350 return _s_return(sc,(is_integer(((sc->args)->_object._cons._car))) ? sc->T : sc->F);
13352 return _s_return(sc,(is_number(((sc->args)->_object._cons._car))) ? sc->T : sc->F);
13354 return _s_return(sc,(is_character(((sc->args)->_object._cons._car))) ? sc->T : sc->F);
13357 return _s_return(sc,(Cisalpha(ivalue(((sc->args)->_object._cons._car)))) ? sc->T : sc->F);
13359 return _s_return(sc,(Cisdigit(ivalue(((sc->args)->_object._cons._car)))) ? sc->T : sc->F);
13361 return _s_return(sc,(Cisspace(ivalue(((sc->args)->_object._cons._car)))) ? sc->T : sc->F);
13363 return _s_return(sc,(Cisupper(ivalue(((sc->args)->_object._cons._car)))) ? sc->T : sc->F);
13365 return _s_return(sc,(Cislower(ivalue(((sc->args)->_object._cons._car)))) ? sc->T : sc->F);
13368 return _s_return(sc,(is_port(((sc->args)->_object._cons._car))) ? sc->T : sc->F);
13370 return _s_return(sc,(((((((sc->args)->_object._cons._car))->_flag)&31)==T_PORT && ((sc->args)->_object._cons._car)->_object._port->kind&port_input)) ? sc->T : sc->F);
13372 return _s_return(sc,(((((((sc->args)->_object._cons._car))->_flag)&31)==T_PORT && ((sc->args)->_object._cons._car)->_object._port->kind&port_output)) ? sc->T : sc->F);
13379 return _s_return(sc,(is_proc(((sc->args)->_object._cons._car)) || is_closure(((sc->args)->_object._cons._car)) || is_continuation(((sc->args)->_object._cons._car)) || is_foreign(((sc->args)->_object._cons._car))) ? sc->T : sc->F);
13382 return _s_return(sc,(is_pair(((sc->args)->_object._cons._car))) ? sc->T : sc->F);
13384 return _s_return(sc,(is_list(sc, ((sc->args)->_object._cons._car))) ? sc->T : sc->F);
13386 return _s_return(sc,(is_environment(((sc->args)->_object._cons._car))) ? sc->T : sc->F);
13388 return _s_return(sc,(is_vector(((sc->args)->_object._cons._car))) ? sc->T : sc->F);
13390 return _s_return(sc,(((sc->args)->_object._cons._car) == ((((sc->args)->_object._cons._cdr))->_object._cons._car)) ? sc->T : sc->F);
13392 return _s_return(sc,(eqv(((sc->args)->_object._cons._car), ((((sc->args)->_object._cons._cdr))->_object._cons._car))) ? sc->T : sc->F);
13394 sprintf(sc->strbuff, "%d: illegal operator", sc->op);
13395 return _Error_1(sc,sc->strbuff,0);
13400 static pointer opexe_4(scheme *sc, enum scheme_opcodes op) {
13405 sc->code = ((sc->args)->_object._cons._car);
13406 if (is_promise(sc->code)) {
13408 s_save(sc, OP_SAVE_FORCED, sc->NIL, sc->code);
13409 sc->args = sc->NIL;
13410 do { sc->op = (int)(OP_APPLY); return sc->T; } while (0);
13412 return _s_return(sc,sc->code);
13415 case OP_SAVE_FORCED:
13416 memcpy(sc->code,sc->value,sizeof(struct cell));
13417 return _s_return(sc,sc->value);
13421 case OP_WRITE_CHAR:
13422 if(is_pair(((sc->args)->_object._cons._cdr))) {
13423 if(((((sc->args)->_object._cons._cdr))->_object._cons._car)!=sc->outport) {
13424 x=_cons(sc,sc->outport,sc->NIL,0);
13425 s_save(sc,OP_SET_OUTPORT, x, sc->NIL);
13426 sc->outport=((((sc->args)->_object._cons._cdr))->_object._cons._car);
13429 sc->args = ((sc->args)->_object._cons._car);
13431 sc->print_flag = 1;
13433 sc->print_flag = 0;
13435 do { sc->op = (int)(OP_P0LIST); return sc->T; } while (0);
13438 if(is_pair(sc->args)) {
13439 if(((sc->args)->_object._cons._car)!=sc->outport) {
13440 x=_cons(sc,sc->outport,sc->NIL,0);
13441 s_save(sc,OP_SET_OUTPORT, x, sc->NIL);
13442 sc->outport=((sc->args)->_object._cons._car);
13446 return _s_return(sc,sc->T);
13450 if (!is_string(((sc->args)->_object._cons._car))) {
13451 sc->args=_cons(sc,mk_string(sc," -- "),sc->args,0);
13452 setimmutable(((sc->args)->_object._cons._car));
13454 if (sc->print_error == 0)
13455 sc->linebuff[0] = '\0';
13456 sc->print_error = 1;
13457 putstr(sc, "Error: ");
13458 putstr(sc, ((((sc->args)->_object._cons._car))->_object._string._svalue));
13459 sc->args = ((sc->args)->_object._cons._cdr);
13460 do { sc->op = (int)(OP_ERR1); return sc->T; } while (0);
13464 if (sc->args != sc->NIL) {
13465 s_save(sc,OP_ERR1, ((sc->args)->_object._cons._cdr), sc->NIL);
13466 sc->args = ((sc->args)->_object._cons._car);
13467 sc->print_flag = 1;
13468 do { sc->op = (int)(OP_P0LIST); return sc->T; } while (0);
13471 sc->print_error = 0;
13472 if(sc->interactive_repl) {
13473 do { sc->op = (int)(OP_T0LVL); return sc->T; } while (0);
13480 return _s_return(sc,reverse(sc, ((sc->args)->_object._cons._car)));
13483 return _s_return(sc,list_star(sc,sc->args));
13486 if(sc->args==sc->NIL) {
13487 return _s_return(sc,sc->NIL);
13489 x=((sc->args)->_object._cons._car);
13490 if(((sc->args)->_object._cons._cdr)==sc->NIL) {
13491 return _s_return(sc,sc->args);
13493 for (y = ((sc->args)->_object._cons._cdr); y != sc->NIL; y = ((y)->_object._cons._cdr)) {
13494 x=append(sc,x,((y)->_object._cons._car));
13496 return _s_return(sc,x);
13499 if(is_pair(sc->args)) {
13500 sc->retcode=ivalue(((sc->args)->_object._cons._car));
13505 gc(sc, sc->NIL, sc->NIL);
13506 return _s_return(sc,sc->T);
13509 { int was = sc->gc_verbose;
13511 sc->gc_verbose = (((sc->args)->_object._cons._car) != sc->F);
13512 return _s_return(sc,(was) ? sc->T : sc->F);
13515 case OP_NEWSEGMENT:
13516 if (!is_pair(sc->args) || !is_number(((sc->args)->_object._cons._car))) {
13517 return _Error_1(sc,"new-segment: argument must be a number",0);
13519 alloc_cellseg(sc, (int) ivalue(((sc->args)->_object._cons._car)));
13520 return _s_return(sc,sc->T);
13523 return _s_return(sc,oblist_all_symbols(sc));
13525 case OP_CURR_INPORT:
13526 return _s_return(sc,sc->inport);
13528 case OP_CURR_OUTPORT:
13529 return _s_return(sc,sc->outport);
13531 case OP_OPEN_INFILE:
13532 case OP_OPEN_OUTFILE:
13533 case OP_OPEN_INOUTFILE: {
13537 case OP_OPEN_INFILE: prop=port_input; break;
13538 case OP_OPEN_OUTFILE: prop=port_output; break;
13539 case OP_OPEN_INOUTFILE: prop=port_input|port_output; break;
13542 p=port_from_filename(sc,((((sc->args)->_object._cons._car))->_object._string._svalue),prop);
13544 return _s_return(sc,sc->F);
13546 return _s_return(sc,p);
13550 case OP_OPEN_INSTRING:
13551 case OP_OPEN_OUTSTRING:
13552 case OP_OPEN_INOUTSTRING: {
13556 case OP_OPEN_INSTRING: prop=port_input; break;
13557 case OP_OPEN_OUTSTRING: prop=port_output; break;
13558 case OP_OPEN_INOUTSTRING: prop=port_input|port_output; break;
13561 p=port_from_string(sc, ((((sc->args)->_object._cons._car))->_object._string._svalue),
13562 ((((sc->args)->_object._cons._car))->_object._string._svalue)+((((sc->args)->_object._cons._car))->_object._string._length), prop);
13564 return _s_return(sc,sc->F);
13566 return _s_return(sc,p);
13570 case OP_CLOSE_INPORT:
13571 port_close(sc,((sc->args)->_object._cons._car),port_input);
13572 return _s_return(sc,sc->T);
13574 case OP_CLOSE_OUTPORT:
13575 port_close(sc,((sc->args)->_object._cons._car),port_output);
13576 return _s_return(sc,sc->T);
13579 return _s_return(sc,sc->global_env);
13582 return _s_return(sc,sc->envir);
13585 sprintf(sc->strbuff, "%d: illegal operator", sc->op);
13586 return _Error_1(sc,sc->strbuff,0);
13591 static pointer opexe_5(scheme *sc, enum scheme_opcodes op) {
13594 if(sc->nesting!=0) {
13598 return _Error_1(sc,"unmatched parentheses:",mk_integer(sc,n));
13604 if(!is_pair(sc->args)) {
13605 do { sc->op = (int)(OP_READ_INTERNAL); return sc->T; } while (0);
13607 if(!((((((sc->args)->_object._cons._car))->_flag)&31)==T_PORT && ((sc->args)->_object._cons._car)->_object._port->kind&port_input)) {
13608 return _Error_1(sc,"read: not an input port:",((sc->args)->_object._cons._car));
13610 if(((sc->args)->_object._cons._car)==sc->inport) {
13611 do { sc->op = (int)(OP_READ_INTERNAL); return sc->T; } while (0);
13614 sc->inport=((sc->args)->_object._cons._car);
13615 x=_cons(sc,x,sc->NIL,0);
13616 s_save(sc,OP_SET_INPORT, x, sc->NIL);
13617 do { sc->op = (int)(OP_READ_INTERNAL); return sc->T; } while (0);
13620 case OP_PEEK_CHAR: {
13622 if(is_pair(sc->args)) {
13623 if(((sc->args)->_object._cons._car)!=sc->inport) {
13625 x=_cons(sc,x,sc->NIL,0);
13626 s_save(sc,OP_SET_INPORT, x, sc->NIL);
13627 sc->inport=((sc->args)->_object._cons._car);
13632 return _s_return(sc,sc->EOF_OBJ);
13634 if(sc->op==OP_PEEK_CHAR) {
13637 return _s_return(sc,mk_character(sc,c));
13640 case OP_CHAR_READY: {
13641 pointer p=sc->inport;
13643 if(is_pair(sc->args)) {
13644 p=((sc->args)->_object._cons._car);
13646 res=p->_object._port->kind&port_string;
13647 return _s_return(sc,(res) ? sc->T : sc->F);
13650 case OP_SET_INPORT:
13651 sc->inport=((sc->args)->_object._cons._car);
13652 return _s_return(sc,sc->value);
13654 case OP_SET_OUTPORT:
13655 sc->outport=((sc->args)->_object._cons._car);
13656 return _s_return(sc,sc->value);
13661 if(sc->inport==sc->loadport) {
13663 do { sc->op = (int)(OP_QUIT); return sc->T; } while (0);
13665 return _s_return(sc,sc->EOF_OBJ);
13669 s_save(sc,OP_RDVEC,sc->NIL,sc->NIL);
13672 sc->tok = token(sc);
13673 if (sc->tok == 1) {
13674 return _s_return(sc,sc->NIL);
13675 } else if (sc->tok == 2) {
13676 return _Error_1(sc,"syntax error: illegal dot expression",0);
13678 sc->nesting_stack[sc->file_i]++;
13679 s_save(sc,OP_RDLIST, sc->NIL, sc->NIL);
13680 do { sc->op = (int)(OP_RDSEXPR); return sc->T; } while (0);
13683 s_save(sc,OP_RDQUOTE, sc->NIL, sc->NIL);
13684 sc->tok = token(sc);
13685 do { sc->op = (int)(OP_RDSEXPR); return sc->T; } while (0);
13687 sc->tok = token(sc);
13689 s_save(sc,OP_RDQQUOTEVEC, sc->NIL, sc->NIL);
13691 do { sc->op = (int)(OP_RDSEXPR); return sc->T; } while (0);
13693 s_save(sc,OP_RDQQUOTE, sc->NIL, sc->NIL);
13695 do { sc->op = (int)(OP_RDSEXPR); return sc->T; } while (0);
13697 s_save(sc,OP_RDUNQUOTE, sc->NIL, sc->NIL);
13698 sc->tok = token(sc);
13699 do { sc->op = (int)(OP_RDSEXPR); return sc->T; } while (0);
13701 s_save(sc,OP_RDUQTSP, sc->NIL, sc->NIL);
13702 sc->tok = token(sc);
13703 do { sc->op = (int)(OP_RDSEXPR); return sc->T; } while (0);
13705 return _s_return(sc,mk_atom(sc, readstr_upto(sc, "();\t\n\r ")));
13709 return _Error_1(sc,"Error reading string",0);
13712 return _s_return(sc,x);
13714 pointer f=find_slot_in_env(sc,sc->envir,sc->SHARP_HOOK,1);
13716 return _Error_1(sc,"undefined sharp expression",0);
13718 sc->code=_cons(sc,slot_value_in_env(f),sc->NIL,0);
13719 do { sc->op = (int)(OP_EVAL); return sc->T; } while (0);
13723 if ((x = mk_sharp_const(sc, readstr_upto(sc, "();\t\n\r "))) == sc->NIL) {
13724 return _Error_1(sc,"undefined sharp expression",0);
13726 return _s_return(sc,x);
13729 sprintf(sc->linebuff, "syntax error: illegal token %d", sc->tok);
13730 return _Error_1(sc,sc->linebuff,0);
13735 sc->args = _cons(sc,sc->value,sc->args,0);
13736 sc->tok = token(sc);
13738 if (sc->tok == 1) {
13739 gunichar c = inchar(sc);
13740 if (c != '\n') backchar(sc,c);
13741 sc->nesting_stack[sc->file_i]--;
13742 return _s_return(sc,reverse_in_place(sc, sc->NIL, sc->args));
13743 } else if (sc->tok == 2) {
13744 s_save(sc,OP_RDDOT, sc->args, sc->NIL);
13745 sc->tok = token(sc);
13746 do { sc->op = (int)(OP_RDSEXPR); return sc->T; } while (0);
13748 s_save(sc,OP_RDLIST, sc->args, sc->NIL);
13749 do { sc->op = (int)(OP_RDSEXPR); return sc->T; } while (0);
13754 if (token(sc) != 1) {
13755 return _Error_1(sc,"syntax error: illegal dot expression",0);
13757 sc->nesting_stack[sc->file_i]--;
13758 return _s_return(sc,reverse_in_place(sc, sc->value, sc->args));
13762 return _s_return(sc,_cons(sc,sc->QUOTE,_cons(sc,sc->value,sc->NIL,0),0));
13765 return _s_return(sc,_cons(sc,sc->QQUOTE,_cons(sc,sc->value,sc->NIL,0),0));
13767 case OP_RDQQUOTEVEC:
13768 return _s_return(sc,_cons(sc,mk_symbol(sc,"apply"),_cons(sc,mk_symbol(sc,"vector"),_cons(sc,_cons(sc,sc->QQUOTE,_cons(sc,sc->value,sc->NIL,0),0),sc->NIL,0),0),0));
13775 return _s_return(sc,_cons(sc,sc->UNQUOTE,_cons(sc,sc->value,sc->NIL,0),0));
13778 return _s_return(sc,_cons(sc,sc->UNQUOTESP,_cons(sc,sc->value,sc->NIL,0),0));
13788 sc->args=sc->value;
13789 do { sc->op = (int)(OP_VECTOR); return sc->T; } while (0);
13793 if(is_vector(sc->args)) {
13795 sc->args=_cons(sc,sc->args,mk_integer(sc,0),0);
13796 do { sc->op = (int)(OP_PVECFROM); return sc->T; } while (0);
13797 } else if(is_environment(sc->args)) {
13798 putstr(sc,"#<ENVIRONMENT>");
13799 return _s_return(sc,sc->T);
13800 } else if (!is_pair(sc->args)) {
13801 printatom(sc, sc->args, sc->print_flag);
13802 return _s_return(sc,sc->T);
13803 } else if (((sc->args)->_object._cons._car) == sc->QUOTE && (is_pair(((sc->args)->_object._cons._cdr)) && ((((sc->args)->_object._cons._cdr))->_object._cons._cdr) == sc->NIL)) {
13805 sc->args = ((((sc->args)->_object._cons._cdr))->_object._cons._car);
13806 do { sc->op = (int)(OP_P0LIST); return sc->T; } while (0);
13807 } else if (((sc->args)->_object._cons._car) == sc->QQUOTE && (is_pair(((sc->args)->_object._cons._cdr)) && ((((sc->args)->_object._cons._cdr))->_object._cons._cdr) == sc->NIL)) {
13809 sc->args = ((((sc->args)->_object._cons._cdr))->_object._cons._car);
13810 do { sc->op = (int)(OP_P0LIST); return sc->T; } while (0);
13811 } else if (((sc->args)->_object._cons._car) == sc->UNQUOTE && (is_pair(((sc->args)->_object._cons._cdr)) && ((((sc->args)->_object._cons._cdr))->_object._cons._cdr) == sc->NIL)) {
13813 sc->args = ((((sc->args)->_object._cons._cdr))->_object._cons._car);
13814 do { sc->op = (int)(OP_P0LIST); return sc->T; } while (0);
13815 } else if (((sc->args)->_object._cons._car) == sc->UNQUOTESP && (is_pair(((sc->args)->_object._cons._cdr)) && ((((sc->args)->_object._cons._cdr))->_object._cons._cdr) == sc->NIL)) {
13817 sc->args = ((((sc->args)->_object._cons._cdr))->_object._cons._car);
13818 do { sc->op = (int)(OP_P0LIST); return sc->T; } while (0);
13821 s_save(sc,OP_P1LIST, ((sc->args)->_object._cons._cdr), sc->NIL);
13822 sc->args = ((sc->args)->_object._cons._car);
13823 do { sc->op = (int)(OP_P0LIST); return sc->T; } while (0);
13827 if (is_pair(sc->args)) {
13828 s_save(sc,OP_P1LIST, ((sc->args)->_object._cons._cdr), sc->NIL);
13830 sc->args = ((sc->args)->_object._cons._car);
13831 do { sc->op = (int)(OP_P0LIST); return sc->T; } while (0);
13832 } else if(is_vector(sc->args)) {
13833 s_save(sc,OP_P1LIST,sc->NIL,sc->NIL);
13835 do { sc->op = (int)(OP_P0LIST); return sc->T; } while (0);
13837 if (sc->args != sc->NIL) {
13839 printatom(sc, sc->args, sc->print_flag);
13842 return _s_return(sc,sc->T);
13844 case OP_PVECFROM: {
13845 int i=((((sc->args)->_object._cons._cdr))->_object._number.value.ivalue);
13846 pointer vec=((sc->args)->_object._cons._car);
13847 int len=((vec)->_object._number.value.ivalue);
13850 return _s_return(sc,sc->T);
13852 pointer elem=vector_elem(vec,i);
13853 ((((sc->args)->_object._cons._cdr))->_object._number.value.ivalue)=i+1;
13854 s_save(sc,OP_PVECFROM, sc->args, sc->NIL);
13857 do { sc->op = (int)(OP_P0LIST); return sc->T; } while (0);
13862 sprintf(sc->strbuff, "%d: illegal operator", sc->op);
13863 return _Error_1(sc,sc->strbuff,0);
13869 static pointer opexe_6(scheme *sc, enum scheme_opcodes op) {
13874 case OP_LIST_LENGTH:
13875 v=list_length(sc,((sc->args)->_object._cons._car));
13877 return _Error_1(sc,"length: not a list:",((sc->args)->_object._cons._car));
13879 return _s_return(sc,mk_integer(sc, v));
13882 x = ((sc->args)->_object._cons._car);
13883 for (y = ((((sc->args)->_object._cons._cdr))->_object._cons._car); is_pair(y); y = ((y)->_object._cons._cdr)) {
13884 if (!is_pair(((y)->_object._cons._car))) {
13885 return _Error_1(sc,"unable to handle non pair element",0);
13887 if (x == ((((y)->_object._cons._car))->_object._cons._car))
13891 return _s_return(sc,((y)->_object._cons._car));
13893 return _s_return(sc,sc->F);
13897 case OP_GET_CLOSURE:
13898 sc->args = ((sc->args)->_object._cons._car);
13899 if (sc->args == sc->NIL) {
13900 return _s_return(sc,sc->F);
13901 } else if (is_closure(sc->args)) {
13902 return _s_return(sc,_cons(sc,sc->LAMBDA,closure_code(sc->value),0));
13903 } else if (is_macro(sc->args)) {
13904 return _s_return(sc,_cons(sc,sc->LAMBDA,closure_code(sc->value),0));
13906 return _s_return(sc,sc->F);
13913 return _s_return(sc,(is_closure(((sc->args)->_object._cons._car))) ? sc->T : sc->F);
13915 return _s_return(sc,(is_macro(((sc->args)->_object._cons._car))) ? sc->T : sc->F);
13917 sprintf(sc->strbuff, "%d: illegal operator", sc->op);
13918 return _Error_1(sc,sc->strbuff,0);
13923 typedef pointer (*dispatch_func)(scheme *, enum scheme_opcodes);
13925 typedef int (*test_predicate)(pointer);
13926 static int is_any(pointer p) { return 1;}
13927 static int is_num_integer(pointer p) {
13928 return is_number(p) && ((p)->_object._number.is_fixnum);
13930 static int is_nonneg(pointer p) {
13931 return is_num_integer(p) && ivalue(p)>=0;
13936 test_predicate fct;
13941 {is_string, "string"},
13942 {is_symbol, "symbol"},
13946 {is_environment, "environment"},
13948 {0, "pair or '()"},
13949 {is_character, "character"},
13950 {is_vector, "vector"},
13951 {is_number, "number"},
13952 {is_num_integer, "integer"},
13953 {is_nonneg, "non-negative integer"},
13957 dispatch_func func;
13961 char *arg_tests_encoding;
13966 static op_code_info dispatch_table[]= {
13968 # 1 "opdefines.h" 1
13969 {opexe_0,"load",1,1,"\002"},
13973 {opexe_0,"gensym",0,0,0},
13984 {opexe_0,"tracing",1,1,"\016"},
13988 {opexe_0,"make-closure",1,2,"\010" "\007"},
13992 {opexe_0,"defined?",1,2,"\003" "\007"},
14021 {opexe_1,"eval",1,2,"\001" "\007"},
14022 {opexe_1,"apply",1,0xffff,0},
14023 {opexe_1,"call-with-current-continuation",1,1,0},
14025 {opexe_2,"inexact->exact",1,1,"\014"},
14026 {opexe_2,"exp",1,1,"\014"},
14027 {opexe_2,"log",1,1,"\014"},
14028 {opexe_2,"sin",1,1,"\014"},
14029 {opexe_2,"cos",1,1,"\014"},
14030 {opexe_2,"tan",1,1,"\014"},
14031 {opexe_2,"asin",1,1,"\014"},
14032 {opexe_2,"acos",1,1,"\014"},
14033 {opexe_2,"atan",1,2,"\014"},
14034 {opexe_2,"sqrt",1,1,"\014"},
14035 {opexe_2,"expt",2,2,"\014"},
14036 {opexe_2,"floor",1,1,"\014"},
14037 {opexe_2,"ceiling",1,1,"\014"},
14038 {opexe_2,"truncate",1,1,"\014"},
14039 {opexe_2,"round",1,1,"\014"},
14041 {opexe_2,"+",0,0xffff,"\014"},
14042 {opexe_2,"-",1,0xffff,"\014"},
14043 {opexe_2,"*",0,0xffff,"\014"},
14044 {opexe_2,"/",1,0xffff,"\014"},
14045 {opexe_2,"quotient",1,0xffff,"\015"},
14046 {opexe_2,"remainder",2,2,"\015"},
14047 {opexe_2,"modulo",2,2,"\015"},
14048 {opexe_2,"car",1,1,"\010"},
14049 {opexe_2,"cdr",1,1,"\010"},
14050 {opexe_2,"cons",2,2,0},
14051 {opexe_2,"set-car!",2,2,"\010" "\001"},
14052 {opexe_2,"set-cdr!",2,2,"\010" "\001"},
14053 {opexe_2,"char->integer",1,1,"\012"},
14054 {opexe_2,"integer->char",1,1,"\016"},
14055 {opexe_2,"char-upcase",1,1,"\012"},
14056 {opexe_2,"char-downcase",1,1,"\012"},
14057 {opexe_2,"symbol->string",1,1,"\003"},
14058 {opexe_2,"atom->string",1,1,"\001"},
14059 {opexe_2,"string->symbol",1,1,"\002"},
14060 {opexe_2,"string->atom",1,1,"\002"},
14061 {opexe_2,"make-string",1,2,"\016" "\012"},
14062 {opexe_2,"string-length",1,1,"\002"},
14063 {opexe_2,"string-ref",2,2,"\002" "\016"},
14064 {opexe_2,"string-set!",3,3,"\002" "\016" "\012"},
14065 {opexe_2,"string-append",0,0xffff,"\002"},
14066 {opexe_2,"substring",2,3,"\002" "\016"},
14067 {opexe_2,"vector",0,0xffff,0},
14068 {opexe_2,"make-vector",1,2,"\016" "\001"},
14069 {opexe_2,"vector-length",1,1,"\013"},
14070 {opexe_2,"vector-ref",2,2,"\013" "\016"},
14071 {opexe_2,"vector-set!",3,3,"\013" "\016" "\001"},
14072 {opexe_3,"not",1,1,0},
14073 {opexe_3,"boolean?",1,1,0},
14074 {opexe_3,"eof-object?",1,1,0},
14075 {opexe_3,"null?",1,1,0},
14076 {opexe_3,"=",2,0xffff,"\014"},
14077 {opexe_3,"<",2,0xffff,"\014"},
14078 {opexe_3,">",2,0xffff,"\014"},
14079 {opexe_3,"<=",2,0xffff,"\014"},
14080 {opexe_3,">=",2,0xffff,"\014"},
14081 {opexe_3,"symbol?",1,1,"\001"},
14082 {opexe_3,"number?",1,1,"\001"},
14083 {opexe_3,"string?",1,1,"\001"},
14084 {opexe_3,"integer?",1,1,"\001"},
14085 {opexe_3,"real?",1,1,"\001"},
14086 {opexe_3,"char?",1,1,"\001"},
14088 {opexe_3,"char-alphabetic?",1,1,"\012"},
14089 {opexe_3,"char-numeric?",1,1,"\012"},
14090 {opexe_3,"char-whitespace?",1,1,"\012"},
14091 {opexe_3,"char-upper-case?",1,1,"\012"},
14092 {opexe_3,"char-lower-case?",1,1,"\012"},
14094 {opexe_3,"port?",1,1,"\001"},
14095 {opexe_3,"input-port?",1,1,"\001"},
14096 {opexe_3,"output-port?",1,1,"\001"},
14097 {opexe_3,"procedure?",1,1,"\001"},
14098 {opexe_3,"pair?",1,1,"\001"},
14099 {opexe_3,"list?",1,1,"\001"},
14100 {opexe_3,"environment?",1,1,"\001"},
14101 {opexe_3,"vector?",1,1,"\001"},
14102 {opexe_3,"array?",1,1,"\001"},
14103 {opexe_3,"eq?",2,2,"\001"},
14104 {opexe_3,"eqv?",2,2,"\001"},
14105 {opexe_4,"force",1,1,"\001"},
14107 {opexe_4,"write",1,2,"\001" "\006"},
14108 {opexe_4,"write-char",1,2,"\012" "\006"},
14109 {opexe_4,"display",1,2,"\001" "\006"},
14110 {opexe_4,"newline",0,1,"\006"},
14111 {opexe_4,"error",1,0xffff,0},
14113 {opexe_4,"reverse",1,1,"\010"},
14114 {opexe_4,"list*",1,0xffff,0},
14115 {opexe_4,"append",0,0xffff,0},
14116 {opexe_4,"put",3,3,0},
14117 {opexe_4,"get",2,2,0},
14118 {opexe_4,"quit",0,1,"\014"},
14119 {opexe_4,"gc",0,0,0},
14120 {opexe_4,"gc-verbose",0,1,0},
14121 {opexe_4,"new-segment",0,1,"\014"},
14122 {opexe_4,"oblist",0,0,0},
14123 {opexe_4,"current-input-port",0,0,0},
14124 {opexe_4,"current-output-port",0,0,0},
14125 {opexe_4,"open-input-file",1,1,"\002"},
14126 {opexe_4,"open-output-file",1,1,"\002"},
14127 {opexe_4,"open-input-output-file",1,1,"\002"},
14129 {opexe_4,"open-input-string",1,1,"\002"},
14130 {opexe_4,"open-output-string",1,1,"\002"},
14131 {opexe_4,"open-input-output-string",1,1,"\002"},
14133 {opexe_4,"close-input-port",1,1,"\005"},
14134 {opexe_4,"close-output-port",1,1,"\006"},
14135 {opexe_4,"interaction-environment",0,0,0},
14136 {opexe_4,"current-environment",0,0,0},
14137 {opexe_5,"read",0,1,"\005"},
14138 {opexe_5,"read-char",0,1,"\005"},
14139 {opexe_5,"peek-char",0,1,"\005"},
14140 {opexe_5,"char-ready?",0,1,"\005"},
14141 {opexe_5,"set-input-port",1,1,"\005"},
14142 {opexe_5,"set-output-port",1,1,"\006"},
14155 {opexe_6,"length",1,1,"\011"},
14156 {opexe_6,"assq",2,2,0},
14157 {opexe_6,"get-closure-code",1,1,0},
14158 {opexe_6,"closure?",1,1,0},
14159 {opexe_6,"macro?",1,1,0},
14160 # 4203 "scheme.c" 2
14164 static const char *procname(pointer x) {
14166 const char *name=dispatch_table[n].name;
14174 static void Eval_Cycle(scheme *sc, enum scheme_opcodes op) {
14180 op_code_info *pcd=dispatch_table+sc->op;
14181 if (pcd->name!=0) {
14184 int n=list_length(sc,sc->args);
14187 if(n<pcd->min_arity) {
14189 sprintf(msg,"%s: needs%s %d argument(s)",
14191 pcd->min_arity==pcd->max_arity?"":" at least",
14194 if(ok && n>pcd->max_arity) {
14196 sprintf(msg,"%s: needs%s %d argument(s)",
14198 pcd->min_arity==pcd->max_arity?"":" at most",
14202 if(pcd->arg_tests_encoding!=0) {
14205 const char *t=pcd->arg_tests_encoding;
14206 pointer arglist=sc->args;
14208 pointer arg=((arglist)->_object._cons._car);
14211 if(!((((arg)->_flag)&31)==T_PORT && arg->_object._port->kind&port_input)) break;
14212 } else if(j=="\006"[0]) {
14213 if(!((((arg)->_flag)&31)==T_PORT && arg->_object._port->kind&port_output)) break;
14214 } else if(j=="\011"[0]) {
14215 if(arg!=sc->NIL && !is_pair(arg)) break;
14217 if(!tests[j].fct(arg)) break;
14223 arglist=((arglist)->_object._cons._cdr);
14228 sprintf(msg,"%s: argument %d must be: %s",
14236 if(_Error_1(sc,msg,0)==sc->NIL) {
14239 pcd=dispatch_table+sc->op;
14243 if (pcd->func(sc, (enum scheme_opcodes)sc->op) == sc->NIL) {
14246 if(sc->no_memory) {
14247 fprintf(stderr,"No memory!\n");
14256 static void assign_syntax(scheme *sc, char *name) {
14259 x = oblist_add_by_name(sc, name);
14260 ((x)->_flag) |= 4096;
14263 static void assign_proc(scheme *sc, enum scheme_opcodes op, char *name) {
14266 x = mk_symbol(sc, name);
14267 y = mk_proc(sc,op);
14268 new_slot_in_env(sc, x, y);
14271 static pointer mk_proc(scheme *sc, enum scheme_opcodes op) {
14274 y = get_cell(sc, sc->NIL, sc->NIL);
14275 ((y)->_flag) = (T_PROC | 16384);
14276 ((y)->_object._number.value.ivalue) = (long) op;
14277 (y)->_object._number.is_fixnum=1;;
14282 static int syntaxnum(pointer p) {
14283 const char *s=((((p)->_object._cons._car))->_object._string._svalue);
14284 switch(((((p)->_object._cons._car))->_object._string._length)) {
14286 if(s[0]=='i') return OP_IF0;
14287 else return OP_OR0;
14289 if(s[0]=='a') return OP_AND0;
14290 else return OP_LET0;
14293 case 'e': return OP_CASE0;
14294 case 'd': return OP_COND0;
14295 case '*': return OP_LET0AST;
14296 default: return OP_SET0;
14300 case 'g': return OP_BEGIN;
14301 case 'l': return OP_DELAY;
14302 case 'c': return OP_MACRO0;
14303 default: return OP_QUOTE;
14307 case 'm': return OP_LAMBDA;
14308 case 'f': return OP_DEF0;
14309 default: return OP_LET0REC;
14312 return OP_C0STREAM;
14318 static pointer s_cons(scheme *sc, pointer a, pointer b) {
14319 return _cons(sc,a,b,0);
14321 static pointer s_immutable_cons(scheme *sc, pointer a, pointer b) {
14322 return _cons(sc,a,b,1);
14325 static struct scheme_interface vtbl ={
14393 scheme *scheme_init_new() {
14394 scheme *sc=(scheme*)malloc(sizeof(scheme));
14395 if(!scheme_init(sc)) {
14403 scheme *scheme_init_new_custom_alloc(func_alloc malloc, func_dealloc free) {
14404 scheme *sc=(scheme*)malloc(sizeof(scheme));
14405 if(!scheme_init_custom_alloc(sc,malloc,free)) {
14414 int scheme_init(scheme *sc) {
14415 return scheme_init_custom_alloc(sc,malloc,free);
14418 int scheme_init_custom_alloc(scheme *sc, func_alloc malloc, func_dealloc free) {
14419 int i, n=sizeof(dispatch_table)/sizeof(dispatch_table[0]);
14422 num_zero.is_fixnum=1;
14423 num_zero.value.ivalue=0;
14424 num_one.is_fixnum=1;
14425 num_one.value.ivalue=1;
14433 sc->last_cell_seg = -1;
14434 sc->sink = &sc->_sink;
14435 sc->NIL = &sc->_NIL;
14436 sc->T = &sc->_HASHT;
14437 sc->F = &sc->_HASHF;
14438 sc->EOF_OBJ=&sc->_EOF_OBJ;
14439 sc->free_cell = &sc->_NIL;
14442 sc->inport=sc->NIL;
14443 sc->outport=sc->NIL;
14444 sc->save_inport=sc->NIL;
14445 sc->loadport=sc->NIL;
14447 sc->interactive_repl=0;
14448 sc->print_output=0;
14451 if (alloc_cellseg(sc,3) != 3) {
14455 sc->gc_verbose = 0;
14456 dump_stack_initialize(sc);
14457 sc->code = sc->NIL;
14460 sc->safe_foreign = sc->NIL;
14463 ((sc->NIL)->_flag) = (16384 | 32768);
14464 ((sc->NIL)->_object._cons._car) = ((sc->NIL)->_object._cons._cdr) = sc->NIL;
14466 ((sc->T)->_flag) = (16384 | 32768);
14467 ((sc->T)->_object._cons._car) = ((sc->T)->_object._cons._cdr) = sc->T;
14469 ((sc->F)->_flag) = (16384 | 32768);
14470 ((sc->F)->_object._cons._car) = ((sc->F)->_object._cons._cdr) = sc->F;
14471 sc->oblist = oblist_initial_value(sc);
14473 new_frame_in_env(sc, sc->NIL);
14474 sc->global_env = sc->envir;
14476 x = mk_symbol(sc,"else");
14477 new_slot_in_env(sc, x, sc->T);
14479 assign_syntax(sc, "lambda");
14480 assign_syntax(sc, "quote");
14481 assign_syntax(sc, "define");
14482 assign_syntax(sc, "if");
14483 assign_syntax(sc, "begin");
14484 assign_syntax(sc, "set!");
14485 assign_syntax(sc, "let");
14486 assign_syntax(sc, "let*");
14487 assign_syntax(sc, "letrec");
14488 assign_syntax(sc, "cond");
14489 assign_syntax(sc, "delay");
14490 assign_syntax(sc, "and");
14491 assign_syntax(sc, "or");
14492 assign_syntax(sc, "cons-stream");
14493 assign_syntax(sc, "macro");
14494 assign_syntax(sc, "case");
14496 for(i=0; i<n; i++) {
14497 if(dispatch_table[i].name!=0) {
14498 assign_proc(sc, (enum scheme_opcodes)i, dispatch_table[i].name);
14503 sc->LAMBDA = mk_symbol(sc, "lambda");
14504 sc->QUOTE = mk_symbol(sc, "quote");
14505 sc->QQUOTE = mk_symbol(sc, "quasiquote");
14506 sc->UNQUOTE = mk_symbol(sc, "unquote");
14507 sc->UNQUOTESP = mk_symbol(sc, "unquote-splicing");
14508 sc->FEED_TO = mk_symbol(sc, "=>");
14509 sc->COLON_HOOK = mk_symbol(sc,"*colon-hook*");
14510 sc->ERROR_HOOK = mk_symbol(sc, "*error-hook*");
14511 sc->SHARP_HOOK = mk_symbol(sc, "*sharp-hook*");
14513 return !sc->no_memory;
14516 void scheme_set_input_port_file(scheme *sc, FILE *fin) {
14517 sc->inport=port_from_file(sc,fin,port_input);
14520 void scheme_set_input_port_string(scheme *sc, char *start, char *past_the_end) {
14521 sc->inport=port_from_string(sc,start,past_the_end,port_input);
14524 void scheme_set_output_port_file(scheme *sc, FILE *fout) {
14525 sc->outport=port_from_file(sc,fout,port_output);
14528 void scheme_set_output_port_string(scheme *sc, char *start, char *past_the_end) {
14529 sc->outport=port_from_string(sc,start,past_the_end,port_output);
14532 void scheme_set_external_data(scheme *sc, void *p) {
14536 void scheme_deinit(scheme *sc) {
14539 sc->oblist=sc->NIL;
14540 sc->global_env=sc->NIL;
14541 dump_stack_free(sc);
14546 if(is_port(sc->inport)) {
14547 ((sc->inport)->_flag) = 16384;
14549 sc->inport=sc->NIL;
14550 sc->outport=sc->NIL;
14551 if(is_port(sc->save_inport)) {
14552 ((sc->save_inport)->_flag) = 16384;
14554 sc->save_inport=sc->NIL;
14555 if(is_port(sc->loadport)) {
14556 ((sc->loadport)->_flag) = 16384;
14558 sc->loadport=sc->NIL;
14560 gc(sc,sc->NIL,sc->NIL);
14562 for(i=0; i<=sc->last_cell_seg; i++) {
14563 sc->free(sc->alloc_seg[i]);
14567 void scheme_load_file(scheme *sc, FILE *fin) {
14568 dump_stack_reset(sc);
14569 sc->envir = sc->global_env;
14571 sc->load_stack[0].kind=port_input|port_file;
14572 sc->load_stack[0].rep.stdio.file=fin;
14573 sc->loadport=mk_port(sc,sc->load_stack);
14576 sc->interactive_repl=1;
14578 sc->inport=sc->loadport;
14579 Eval_Cycle(sc, OP_T0LVL);
14580 ((sc->loadport)->_flag)=16384;
14581 if(sc->retcode==0) {
14582 sc->retcode=sc->nesting!=0;
14586 void scheme_load_string(scheme *sc, const char *cmd) {
14587 dump_stack_reset(sc);
14588 sc->envir = sc->global_env;
14590 sc->load_stack[0].kind=port_input|port_string;
14591 sc->load_stack[0].rep.string.start=(char*)cmd;
14592 sc->load_stack[0].rep.string.past_the_end=(char*)cmd+strlen(cmd);
14593 sc->load_stack[0].rep.string.curr=(char*)cmd;
14594 sc->loadport=mk_port(sc,sc->load_stack);
14596 sc->interactive_repl=0;
14597 sc->inport=sc->loadport;
14598 Eval_Cycle(sc, OP_T0LVL);
14599 ((sc->loadport)->_flag)=16384;
14600 if(sc->retcode==0) {
14601 sc->retcode=sc->nesting!=0;
14605 void scheme_define(scheme *sc, pointer envir, pointer symbol, pointer value) {
14608 x=find_slot_in_env(sc,envir,symbol,0);
14609 if (x != sc->NIL) {
14610 set_slot_in_env(sc, x, value);
14612 new_slot_spec_in_env(sc, envir, symbol, value);
14617 void scheme_apply0(scheme *sc, const char *procname) {
14618 pointer carx=mk_symbol(sc,procname);
14619 pointer cdrx=sc->NIL;
14621 dump_stack_reset(sc);
14622 sc->envir = sc->global_env;
14623 sc->code = _cons(sc,carx,cdrx,0);
14624 sc->interactive_repl=0;
14626 Eval_Cycle(sc,OP_EVAL);
14629 void scheme_call(scheme *sc, pointer func, pointer args) {
14630 dump_stack_reset(sc);
14631 sc->envir = sc->global_env;
14634 sc->interactive_repl =0;
14636 Eval_Cycle(sc, OP_APPLY);