// /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 # 1 "scheme.c" # 1 "" # 1 "" # 1 "scheme.c" # 25 "scheme.c" # 1 "../../../config.h" 1 # 26 "scheme.c" 2 # 1 "/usr/include/unistd.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/unistd.h" 1 3 4 # 26 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/features.h" 1 3 4 # 323 "/usr/include/gentoo-multilib/ppc64/features.h" 3 4 # 1 "/usr/include/sys/cdefs.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/sys/cdefs.h" 1 3 4 # 313 "/usr/include/gentoo-multilib/ppc64/sys/cdefs.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/bits/wordsize.h" 1 3 4 # 9 "/usr/include/bits/wordsize.h" 2 3 4 # 314 "/usr/include/gentoo-multilib/ppc64/sys/cdefs.h" 2 3 4 # 9 "/usr/include/sys/cdefs.h" 2 3 4 # 324 "/usr/include/gentoo-multilib/ppc64/features.h" 2 3 4 # 346 "/usr/include/gentoo-multilib/ppc64/features.h" 3 4 # 1 "/usr/include/gnu/stubs.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/gnu/stubs.h" 1 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/bits/wordsize.h" 1 3 4 # 9 "/usr/include/bits/wordsize.h" 2 3 4 # 5 "/usr/include/gentoo-multilib/ppc64/gnu/stubs.h" 2 3 4 # 1 "/usr/include/gnu/stubs-64.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/gnu/stubs-64.h" 1 3 4 # 5 "/usr/include/gnu/stubs-64.h" 2 3 4 # 10 "/usr/include/gentoo-multilib/ppc64/gnu/stubs.h" 2 3 4 # 9 "/usr/include/gnu/stubs.h" 2 3 4 # 347 "/usr/include/gentoo-multilib/ppc64/features.h" 2 3 4 # 9 "/usr/include/features.h" 2 3 4 # 27 "/usr/include/gentoo-multilib/ppc64/unistd.h" 2 3 4 # 171 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4 # 1 "/usr/include/bits/posix_opt.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/bits/posix_opt.h" 1 3 4 # 9 "/usr/include/bits/posix_opt.h" 2 3 4 # 172 "/usr/include/gentoo-multilib/ppc64/unistd.h" 2 3 4 # 186 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4 # 1 "/usr/include/bits/types.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/bits/types.h" 1 3 4 # 27 "/usr/include/gentoo-multilib/ppc64/bits/types.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 28 "/usr/include/gentoo-multilib/ppc64/bits/types.h" 2 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/bits/wordsize.h" 1 3 4 # 9 "/usr/include/bits/wordsize.h" 2 3 4 # 29 "/usr/include/gentoo-multilib/ppc64/bits/types.h" 2 3 4 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 1 3 4 # 214 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 3 4 typedef long unsigned int size_t; # 32 "/usr/include/gentoo-multilib/ppc64/bits/types.h" 2 3 4 typedef unsigned char __u_char; typedef unsigned short int __u_short; typedef unsigned int __u_int; typedef unsigned long int __u_long; typedef signed char __int8_t; typedef unsigned char __uint8_t; typedef signed short int __int16_t; typedef unsigned short int __uint16_t; typedef signed int __int32_t; typedef unsigned int __uint32_t; typedef signed long int __int64_t; typedef unsigned long int __uint64_t; typedef long int __quad_t; typedef unsigned long int __u_quad_t; # 134 "/usr/include/gentoo-multilib/ppc64/bits/types.h" 3 4 # 1 "/usr/include/bits/typesizes.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/bits/typesizes.h" 1 3 4 # 9 "/usr/include/bits/typesizes.h" 2 3 4 # 135 "/usr/include/gentoo-multilib/ppc64/bits/types.h" 2 3 4 typedef unsigned long int __dev_t; typedef unsigned int __uid_t; typedef unsigned int __gid_t; typedef unsigned long int __ino_t; typedef unsigned long int __ino64_t; typedef unsigned int __mode_t; typedef unsigned long int __nlink_t; typedef long int __off_t; typedef long int __off64_t; typedef int __pid_t; typedef struct { int __val[2]; } __fsid_t; typedef long int __clock_t; typedef unsigned long int __rlim_t; typedef unsigned long int __rlim64_t; typedef unsigned int __id_t; typedef long int __time_t; typedef unsigned int __useconds_t; typedef long int __suseconds_t; typedef int __daddr_t; typedef long int __swblk_t; typedef int __key_t; typedef int __clockid_t; typedef void * __timer_t; typedef long int __blksize_t; typedef long int __blkcnt_t; typedef long int __blkcnt64_t; typedef unsigned long int __fsblkcnt_t; typedef unsigned long int __fsblkcnt64_t; typedef unsigned long int __fsfilcnt_t; typedef unsigned long int __fsfilcnt64_t; typedef long int __ssize_t; typedef __off64_t __loff_t; typedef __quad_t *__qaddr_t; typedef char *__caddr_t; typedef long int __intptr_t; typedef unsigned int __socklen_t; # 9 "/usr/include/bits/types.h" 2 3 4 # 187 "/usr/include/gentoo-multilib/ppc64/unistd.h" 2 3 4 typedef __ssize_t ssize_t; # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 1 3 4 # 196 "/usr/include/gentoo-multilib/ppc64/unistd.h" 2 3 4 typedef __gid_t gid_t; typedef __uid_t uid_t; typedef __off_t off_t; # 224 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4 typedef __useconds_t useconds_t; typedef __pid_t pid_t; typedef __intptr_t intptr_t; typedef __socklen_t socklen_t; # 256 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4 extern int access (__const char *__name, int __type) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); # 299 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4 extern __off_t lseek (int __fd, __off_t __offset, int __whence) __attribute__ ((__nothrow__)); # 318 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4 extern int close (int __fd); extern ssize_t read (int __fd, void *__buf, size_t __nbytes) ; extern ssize_t write (int __fd, __const void *__buf, size_t __n) ; # 382 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4 extern int pipe (int __pipedes[2]) __attribute__ ((__nothrow__)) ; # 391 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4 extern unsigned int alarm (unsigned int __seconds) __attribute__ ((__nothrow__)); # 403 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4 extern unsigned int sleep (unsigned int __seconds); extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval) __attribute__ ((__nothrow__)); extern int usleep (__useconds_t __useconds); # 427 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4 extern int pause (void); extern int chown (__const char *__file, __uid_t __owner, __gid_t __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern int fchown (int __fd, __uid_t __owner, __gid_t __group) __attribute__ ((__nothrow__)) ; extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; # 455 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4 extern int chdir (__const char *__path) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern int fchdir (int __fd) __attribute__ ((__nothrow__)) ; # 469 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4 extern char *getcwd (char *__buf, size_t __size) __attribute__ ((__nothrow__)) ; # 482 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4 extern char *getwd (char *__buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)) ; extern int dup (int __fd) __attribute__ ((__nothrow__)) ; extern int dup2 (int __fd, int __fd2) __attribute__ ((__nothrow__)); extern char **__environ; extern int execve (__const char *__path, char *__const __argv[], char *__const __envp[]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); # 514 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4 extern int execv (__const char *__path, char *__const __argv[]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int execle (__const char *__path, __const char *__arg, ...) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int execl (__const char *__path, __const char *__arg, ...) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int execvp (__const char *__file, char *__const __argv[]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int execlp (__const char *__file, __const char *__arg, ...) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int nice (int __inc) __attribute__ ((__nothrow__)) ; extern void _exit (int __status) __attribute__ ((__noreturn__)); # 1 "/usr/include/bits/confname.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/bits/confname.h" 1 3 4 # 26 "/usr/include/gentoo-multilib/ppc64/bits/confname.h" 3 4 enum { _PC_LINK_MAX, _PC_MAX_CANON, _PC_MAX_INPUT, _PC_NAME_MAX, _PC_PATH_MAX, _PC_PIPE_BUF, _PC_CHOWN_RESTRICTED, _PC_NO_TRUNC, _PC_VDISABLE, _PC_SYNC_IO, _PC_ASYNC_IO, _PC_PRIO_IO, _PC_SOCK_MAXBUF, _PC_FILESIZEBITS, _PC_REC_INCR_XFER_SIZE, _PC_REC_MAX_XFER_SIZE, _PC_REC_MIN_XFER_SIZE, _PC_REC_XFER_ALIGN, _PC_ALLOC_SIZE_MIN, _PC_SYMLINK_MAX, _PC_2_SYMLINKS }; enum { _SC_ARG_MAX, _SC_CHILD_MAX, _SC_CLK_TCK, _SC_NGROUPS_MAX, _SC_OPEN_MAX, _SC_STREAM_MAX, _SC_TZNAME_MAX, _SC_JOB_CONTROL, _SC_SAVED_IDS, _SC_REALTIME_SIGNALS, _SC_PRIORITY_SCHEDULING, _SC_TIMERS, _SC_ASYNCHRONOUS_IO, _SC_PRIORITIZED_IO, _SC_SYNCHRONIZED_IO, _SC_FSYNC, _SC_MAPPED_FILES, _SC_MEMLOCK, _SC_MEMLOCK_RANGE, _SC_MEMORY_PROTECTION, _SC_MESSAGE_PASSING, _SC_SEMAPHORES, _SC_SHARED_MEMORY_OBJECTS, _SC_AIO_LISTIO_MAX, _SC_AIO_MAX, _SC_AIO_PRIO_DELTA_MAX, _SC_DELAYTIMER_MAX, _SC_MQ_OPEN_MAX, _SC_MQ_PRIO_MAX, _SC_VERSION, _SC_PAGESIZE, _SC_RTSIG_MAX, _SC_SEM_NSEMS_MAX, _SC_SEM_VALUE_MAX, _SC_SIGQUEUE_MAX, _SC_TIMER_MAX, _SC_BC_BASE_MAX, _SC_BC_DIM_MAX, _SC_BC_SCALE_MAX, _SC_BC_STRING_MAX, _SC_COLL_WEIGHTS_MAX, _SC_EQUIV_CLASS_MAX, _SC_EXPR_NEST_MAX, _SC_LINE_MAX, _SC_RE_DUP_MAX, _SC_CHARCLASS_NAME_MAX, _SC_2_VERSION, _SC_2_C_BIND, _SC_2_C_DEV, _SC_2_FORT_DEV, _SC_2_FORT_RUN, _SC_2_SW_DEV, _SC_2_LOCALEDEF, _SC_PII, _SC_PII_XTI, _SC_PII_SOCKET, _SC_PII_INTERNET, _SC_PII_OSI, _SC_POLL, _SC_SELECT, _SC_UIO_MAXIOV, _SC_IOV_MAX = _SC_UIO_MAXIOV, _SC_PII_INTERNET_STREAM, _SC_PII_INTERNET_DGRAM, _SC_PII_OSI_COTS, _SC_PII_OSI_CLTS, _SC_PII_OSI_M, _SC_T_IOV_MAX, _SC_THREADS, _SC_THREAD_SAFE_FUNCTIONS, _SC_GETGR_R_SIZE_MAX, _SC_GETPW_R_SIZE_MAX, _SC_LOGIN_NAME_MAX, _SC_TTY_NAME_MAX, _SC_THREAD_DESTRUCTOR_ITERATIONS, _SC_THREAD_KEYS_MAX, _SC_THREAD_STACK_MIN, _SC_THREAD_THREADS_MAX, _SC_THREAD_ATTR_STACKADDR, _SC_THREAD_ATTR_STACKSIZE, _SC_THREAD_PRIORITY_SCHEDULING, _SC_THREAD_PRIO_INHERIT, _SC_THREAD_PRIO_PROTECT, _SC_THREAD_PROCESS_SHARED, _SC_NPROCESSORS_CONF, _SC_NPROCESSORS_ONLN, _SC_PHYS_PAGES, _SC_AVPHYS_PAGES, _SC_ATEXIT_MAX, _SC_PASS_MAX, _SC_XOPEN_VERSION, _SC_XOPEN_XCU_VERSION, _SC_XOPEN_UNIX, _SC_XOPEN_CRYPT, _SC_XOPEN_ENH_I18N, _SC_XOPEN_SHM, _SC_2_CHAR_TERM, _SC_2_C_VERSION, _SC_2_UPE, _SC_XOPEN_XPG2, _SC_XOPEN_XPG3, _SC_XOPEN_XPG4, _SC_CHAR_BIT, _SC_CHAR_MAX, _SC_CHAR_MIN, _SC_INT_MAX, _SC_INT_MIN, _SC_LONG_BIT, _SC_WORD_BIT, _SC_MB_LEN_MAX, _SC_NZERO, _SC_SSIZE_MAX, _SC_SCHAR_MAX, _SC_SCHAR_MIN, _SC_SHRT_MAX, _SC_SHRT_MIN, _SC_UCHAR_MAX, _SC_UINT_MAX, _SC_ULONG_MAX, _SC_USHRT_MAX, _SC_NL_ARGMAX, _SC_NL_LANGMAX, _SC_NL_MSGMAX, _SC_NL_NMAX, _SC_NL_SETMAX, _SC_NL_TEXTMAX, _SC_XBS5_ILP32_OFF32, _SC_XBS5_ILP32_OFFBIG, _SC_XBS5_LP64_OFF64, _SC_XBS5_LPBIG_OFFBIG, _SC_XOPEN_LEGACY, _SC_XOPEN_REALTIME, _SC_XOPEN_REALTIME_THREADS, _SC_ADVISORY_INFO, _SC_BARRIERS, _SC_BASE, _SC_C_LANG_SUPPORT, _SC_C_LANG_SUPPORT_R, _SC_CLOCK_SELECTION, _SC_CPUTIME, _SC_THREAD_CPUTIME, _SC_DEVICE_IO, _SC_DEVICE_SPECIFIC, _SC_DEVICE_SPECIFIC_R, _SC_FD_MGMT, _SC_FIFO, _SC_PIPE, _SC_FILE_ATTRIBUTES, _SC_FILE_LOCKING, _SC_FILE_SYSTEM, _SC_MONOTONIC_CLOCK, _SC_MULTI_PROCESS, _SC_SINGLE_PROCESS, _SC_NETWORKING, _SC_READER_WRITER_LOCKS, _SC_SPIN_LOCKS, _SC_REGEXP, _SC_REGEX_VERSION, _SC_SHELL, _SC_SIGNALS, _SC_SPAWN, _SC_SPORADIC_SERVER, _SC_THREAD_SPORADIC_SERVER, _SC_SYSTEM_DATABASE, _SC_SYSTEM_DATABASE_R, _SC_TIMEOUTS, _SC_TYPED_MEMORY_OBJECTS, _SC_USER_GROUPS, _SC_USER_GROUPS_R, _SC_2_PBS, _SC_2_PBS_ACCOUNTING, _SC_2_PBS_LOCATE, _SC_2_PBS_MESSAGE, _SC_2_PBS_TRACK, _SC_SYMLOOP_MAX, _SC_STREAMS, _SC_2_PBS_CHECKPOINT, _SC_V6_ILP32_OFF32, _SC_V6_ILP32_OFFBIG, _SC_V6_LP64_OFF64, _SC_V6_LPBIG_OFFBIG, _SC_HOST_NAME_MAX, _SC_TRACE, _SC_TRACE_EVENT_FILTER, _SC_TRACE_INHERIT, _SC_TRACE_LOG, _SC_LEVEL1_ICACHE_SIZE, _SC_LEVEL1_ICACHE_ASSOC, _SC_LEVEL1_ICACHE_LINESIZE, _SC_LEVEL1_DCACHE_SIZE, _SC_LEVEL1_DCACHE_ASSOC, _SC_LEVEL1_DCACHE_LINESIZE, _SC_LEVEL2_CACHE_SIZE, _SC_LEVEL2_CACHE_ASSOC, _SC_LEVEL2_CACHE_LINESIZE, _SC_LEVEL3_CACHE_SIZE, _SC_LEVEL3_CACHE_ASSOC, _SC_LEVEL3_CACHE_LINESIZE, _SC_LEVEL4_CACHE_SIZE, _SC_LEVEL4_CACHE_ASSOC, _SC_LEVEL4_CACHE_LINESIZE, _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50, _SC_RAW_SOCKETS }; enum { _CS_PATH, _CS_V6_WIDTH_RESTRICTED_ENVS, _CS_GNU_LIBC_VERSION, _CS_GNU_LIBPTHREAD_VERSION, _CS_LFS_CFLAGS = 1000, _CS_LFS_LDFLAGS, _CS_LFS_LIBS, _CS_LFS_LINTFLAGS, _CS_LFS64_CFLAGS, _CS_LFS64_LDFLAGS, _CS_LFS64_LIBS, _CS_LFS64_LINTFLAGS, _CS_XBS5_ILP32_OFF32_CFLAGS = 1100, _CS_XBS5_ILP32_OFF32_LDFLAGS, _CS_XBS5_ILP32_OFF32_LIBS, _CS_XBS5_ILP32_OFF32_LINTFLAGS, _CS_XBS5_ILP32_OFFBIG_CFLAGS, _CS_XBS5_ILP32_OFFBIG_LDFLAGS, _CS_XBS5_ILP32_OFFBIG_LIBS, _CS_XBS5_ILP32_OFFBIG_LINTFLAGS, _CS_XBS5_LP64_OFF64_CFLAGS, _CS_XBS5_LP64_OFF64_LDFLAGS, _CS_XBS5_LP64_OFF64_LIBS, _CS_XBS5_LP64_OFF64_LINTFLAGS, _CS_XBS5_LPBIG_OFFBIG_CFLAGS, _CS_XBS5_LPBIG_OFFBIG_LDFLAGS, _CS_XBS5_LPBIG_OFFBIG_LIBS, _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS, _CS_POSIX_V6_ILP32_OFF32_CFLAGS, _CS_POSIX_V6_ILP32_OFF32_LDFLAGS, _CS_POSIX_V6_ILP32_OFF32_LIBS, _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_LIBS, _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS, _CS_POSIX_V6_LP64_OFF64_CFLAGS, _CS_POSIX_V6_LP64_OFF64_LDFLAGS, _CS_POSIX_V6_LP64_OFF64_LIBS, _CS_POSIX_V6_LP64_OFF64_LINTFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_LIBS, _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS }; # 9 "/usr/include/bits/confname.h" 2 3 4 # 553 "/usr/include/gentoo-multilib/ppc64/unistd.h" 2 3 4 extern long int pathconf (__const char *__path, int __name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern long int fpathconf (int __fd, int __name) __attribute__ ((__nothrow__)); extern long int sysconf (int __name) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern size_t confstr (int __name, char *__buf, size_t __len) __attribute__ ((__nothrow__)); extern __pid_t getpid (void) __attribute__ ((__nothrow__)); extern __pid_t getppid (void) __attribute__ ((__nothrow__)); extern __pid_t getpgrp (void) __attribute__ ((__nothrow__)); # 589 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4 extern __pid_t __getpgid (__pid_t __pid) __attribute__ ((__nothrow__)); # 598 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4 extern int setpgid (__pid_t __pid, __pid_t __pgid) __attribute__ ((__nothrow__)); # 615 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4 extern int setpgrp (void) __attribute__ ((__nothrow__)); # 632 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4 extern __pid_t setsid (void) __attribute__ ((__nothrow__)); extern __uid_t getuid (void) __attribute__ ((__nothrow__)); extern __uid_t geteuid (void) __attribute__ ((__nothrow__)); extern __gid_t getgid (void) __attribute__ ((__nothrow__)); extern __gid_t getegid (void) __attribute__ ((__nothrow__)); extern int getgroups (int __size, __gid_t __list[]) __attribute__ ((__nothrow__)) ; # 665 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4 extern int setuid (__uid_t __uid) __attribute__ ((__nothrow__)); extern int setreuid (__uid_t __ruid, __uid_t __euid) __attribute__ ((__nothrow__)); extern int seteuid (__uid_t __uid) __attribute__ ((__nothrow__)); extern int setgid (__gid_t __gid) __attribute__ ((__nothrow__)); extern int setregid (__gid_t __rgid, __gid_t __egid) __attribute__ ((__nothrow__)); extern int setegid (__gid_t __gid) __attribute__ ((__nothrow__)); # 721 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4 extern __pid_t fork (void) __attribute__ ((__nothrow__)); extern __pid_t vfork (void) __attribute__ ((__nothrow__)); extern char *ttyname (int __fd) __attribute__ ((__nothrow__)); extern int ttyname_r (int __fd, char *__buf, size_t __buflen) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))) ; extern int isatty (int __fd) __attribute__ ((__nothrow__)); extern int ttyslot (void) __attribute__ ((__nothrow__)); extern int link (__const char *__from, __const char *__to) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))) ; # 767 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4 extern int symlink (__const char *__from, __const char *__to) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))) ; extern ssize_t readlink (__const char *__restrict __path, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))) ; # 790 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4 extern int unlink (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); # 799 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4 extern int rmdir (__const char *__path) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern __pid_t tcgetpgrp (int __fd) __attribute__ ((__nothrow__)); extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) __attribute__ ((__nothrow__)); extern char *getlogin (void); extern int getlogin_r (char *__name, size_t __name_len) __attribute__ ((__nonnull__ (1))); extern int setlogin (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); # 835 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4 # 1 "/usr/include/getopt.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/getopt.h" 1 3 4 # 59 "/usr/include/gentoo-multilib/ppc64/getopt.h" 3 4 extern char *optarg; # 73 "/usr/include/gentoo-multilib/ppc64/getopt.h" 3 4 extern int optind; extern int opterr; extern int optopt; # 152 "/usr/include/gentoo-multilib/ppc64/getopt.h" 3 4 extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) __attribute__ ((__nothrow__)); # 9 "/usr/include/getopt.h" 2 3 4 # 836 "/usr/include/gentoo-multilib/ppc64/unistd.h" 2 3 4 extern int gethostname (char *__name, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int sethostname (__const char *__name, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern int sethostid (long int __id) __attribute__ ((__nothrow__)) ; extern int getdomainname (char *__name, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern int setdomainname (__const char *__name, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern int vhangup (void) __attribute__ ((__nothrow__)); extern int revoke (__const char *__file) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern int profil (unsigned short int *__sample_buffer, size_t __size, size_t __offset, unsigned int __scale) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int acct (__const char *__name) __attribute__ ((__nothrow__)); extern char *getusershell (void) __attribute__ ((__nothrow__)); extern void endusershell (void) __attribute__ ((__nothrow__)); extern void setusershell (void) __attribute__ ((__nothrow__)); extern int daemon (int __nochdir, int __noclose) __attribute__ ((__nothrow__)) ; extern int chroot (__const char *__path) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern char *getpass (__const char *__prompt) __attribute__ ((__nonnull__ (1))); # 921 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4 extern int fsync (int __fd); extern long int gethostid (void); extern void sync (void) __attribute__ ((__nothrow__)); extern int getpagesize (void) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern int getdtablesize (void) __attribute__ ((__nothrow__)); extern int truncate (__const char *__file, __off_t __length) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; # 968 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4 extern int ftruncate (int __fd, __off_t __length) __attribute__ ((__nothrow__)) ; # 988 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4 extern int brk (void *__addr) __attribute__ ((__nothrow__)) ; extern void *sbrk (intptr_t __delta) __attribute__ ((__nothrow__)); # 1009 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4 extern long int syscall (long int __sysno, ...) __attribute__ ((__nothrow__)); # 1032 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4 extern int lockf (int __fd, int __cmd, __off_t __len) ; # 1063 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4 extern int fdatasync (int __fildes) __attribute__ ((__nothrow__)); # 1101 "/usr/include/gentoo-multilib/ppc64/unistd.h" 3 4 # 9 "/usr/include/unistd.h" 2 3 4 # 30 "scheme.c" 2 # 39 "scheme.c" # 1 "/usr/include/math.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/math.h" 1 3 4 # 28 "/usr/include/gentoo-multilib/ppc64/math.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 29 "/usr/include/gentoo-multilib/ppc64/math.h" 2 3 4 # 1 "/usr/include/bits/huge_val.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/bits/huge_val.h" 1 3 4 # 9 "/usr/include/bits/huge_val.h" 2 3 4 # 35 "/usr/include/gentoo-multilib/ppc64/math.h" 2 3 4 # 47 "/usr/include/gentoo-multilib/ppc64/math.h" 3 4 # 1 "/usr/include/bits/mathdef.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/bits/mathdef.h" 1 3 4 # 9 "/usr/include/bits/mathdef.h" 2 3 4 # 48 "/usr/include/gentoo-multilib/ppc64/math.h" 2 3 4 # 71 "/usr/include/gentoo-multilib/ppc64/math.h" 3 4 # 1 "/usr/include/bits/mathcalls.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 1 3 4 # 53 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4 extern double acos (double __x) __attribute__ ((__nothrow__)); extern double __acos (double __x) __attribute__ ((__nothrow__)); extern double asin (double __x) __attribute__ ((__nothrow__)); extern double __asin (double __x) __attribute__ ((__nothrow__)); extern double atan (double __x) __attribute__ ((__nothrow__)); extern double __atan (double __x) __attribute__ ((__nothrow__)); extern double atan2 (double __y, double __x) __attribute__ ((__nothrow__)); extern double __atan2 (double __y, double __x) __attribute__ ((__nothrow__)); extern double cos (double __x) __attribute__ ((__nothrow__)); extern double __cos (double __x) __attribute__ ((__nothrow__)); extern double sin (double __x) __attribute__ ((__nothrow__)); extern double __sin (double __x) __attribute__ ((__nothrow__)); extern double tan (double __x) __attribute__ ((__nothrow__)); extern double __tan (double __x) __attribute__ ((__nothrow__)); extern double cosh (double __x) __attribute__ ((__nothrow__)); extern double __cosh (double __x) __attribute__ ((__nothrow__)); extern double sinh (double __x) __attribute__ ((__nothrow__)); extern double __sinh (double __x) __attribute__ ((__nothrow__)); extern double tanh (double __x) __attribute__ ((__nothrow__)); extern double __tanh (double __x) __attribute__ ((__nothrow__)); # 87 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4 extern double acosh (double __x) __attribute__ ((__nothrow__)); extern double __acosh (double __x) __attribute__ ((__nothrow__)); extern double asinh (double __x) __attribute__ ((__nothrow__)); extern double __asinh (double __x) __attribute__ ((__nothrow__)); extern double atanh (double __x) __attribute__ ((__nothrow__)); extern double __atanh (double __x) __attribute__ ((__nothrow__)); extern double exp (double __x) __attribute__ ((__nothrow__)); extern double __exp (double __x) __attribute__ ((__nothrow__)); extern double frexp (double __x, int *__exponent) __attribute__ ((__nothrow__)); extern double __frexp (double __x, int *__exponent) __attribute__ ((__nothrow__)); extern double ldexp (double __x, int __exponent) __attribute__ ((__nothrow__)); extern double __ldexp (double __x, int __exponent) __attribute__ ((__nothrow__)); extern double log (double __x) __attribute__ ((__nothrow__)); extern double __log (double __x) __attribute__ ((__nothrow__)); extern double log10 (double __x) __attribute__ ((__nothrow__)); extern double __log10 (double __x) __attribute__ ((__nothrow__)); extern double modf (double __x, double *__iptr) __attribute__ ((__nothrow__)); extern double __modf (double __x, double *__iptr) __attribute__ ((__nothrow__)); # 127 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4 extern double expm1 (double __x) __attribute__ ((__nothrow__)); extern double __expm1 (double __x) __attribute__ ((__nothrow__)); extern double log1p (double __x) __attribute__ ((__nothrow__)); extern double __log1p (double __x) __attribute__ ((__nothrow__)); extern double logb (double __x) __attribute__ ((__nothrow__)); extern double __logb (double __x) __attribute__ ((__nothrow__)); # 152 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4 extern double pow (double __x, double __y) __attribute__ ((__nothrow__)); extern double __pow (double __x, double __y) __attribute__ ((__nothrow__)); extern double sqrt (double __x) __attribute__ ((__nothrow__)); extern double __sqrt (double __x) __attribute__ ((__nothrow__)); extern double hypot (double __x, double __y) __attribute__ ((__nothrow__)); extern double __hypot (double __x, double __y) __attribute__ ((__nothrow__)); extern double cbrt (double __x) __attribute__ ((__nothrow__)); extern double __cbrt (double __x) __attribute__ ((__nothrow__)); extern double ceil (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __ceil (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double fabs (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __fabs (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double floor (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __floor (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double fmod (double __x, double __y) __attribute__ ((__nothrow__)); extern double __fmod (double __x, double __y) __attribute__ ((__nothrow__)); extern int __isinf (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern int __finite (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern int isinf (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern int finite (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double drem (double __x, double __y) __attribute__ ((__nothrow__)); extern double __drem (double __x, double __y) __attribute__ ((__nothrow__)); extern double significand (double __x) __attribute__ ((__nothrow__)); extern double __significand (double __x) __attribute__ ((__nothrow__)); extern double copysign (double __x, double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __copysign (double __x, double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); # 231 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4 extern int __isnan (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern int isnan (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double j0 (double) __attribute__ ((__nothrow__)); extern double __j0 (double) __attribute__ ((__nothrow__)); extern double j1 (double) __attribute__ ((__nothrow__)); extern double __j1 (double) __attribute__ ((__nothrow__)); extern double jn (int, double) __attribute__ ((__nothrow__)); extern double __jn (int, double) __attribute__ ((__nothrow__)); extern double y0 (double) __attribute__ ((__nothrow__)); extern double __y0 (double) __attribute__ ((__nothrow__)); extern double y1 (double) __attribute__ ((__nothrow__)); extern double __y1 (double) __attribute__ ((__nothrow__)); extern double yn (int, double) __attribute__ ((__nothrow__)); extern double __yn (int, double) __attribute__ ((__nothrow__)); extern double erf (double) __attribute__ ((__nothrow__)); extern double __erf (double) __attribute__ ((__nothrow__)); extern double erfc (double) __attribute__ ((__nothrow__)); extern double __erfc (double) __attribute__ ((__nothrow__)); extern double lgamma (double) __attribute__ ((__nothrow__)); extern double __lgamma (double) __attribute__ ((__nothrow__)); # 265 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4 extern double gamma (double) __attribute__ ((__nothrow__)); extern double __gamma (double) __attribute__ ((__nothrow__)); extern double lgamma_r (double, int *__signgamp) __attribute__ ((__nothrow__)); extern double __lgamma_r (double, int *__signgamp) __attribute__ ((__nothrow__)); extern double rint (double __x) __attribute__ ((__nothrow__)); extern double __rint (double __x) __attribute__ ((__nothrow__)); extern double nextafter (double __x, double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __nextafter (double __x, double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double remainder (double __x, double __y) __attribute__ ((__nothrow__)); extern double __remainder (double __x, double __y) __attribute__ ((__nothrow__)); extern double scalbn (double __x, int __n) __attribute__ ((__nothrow__)); extern double __scalbn (double __x, int __n) __attribute__ ((__nothrow__)); extern int ilogb (double __x) __attribute__ ((__nothrow__)); extern int __ilogb (double __x) __attribute__ ((__nothrow__)); # 359 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4 extern double scalb (double __x, double __n) __attribute__ ((__nothrow__)); extern double __scalb (double __x, double __n) __attribute__ ((__nothrow__)); # 9 "/usr/include/bits/mathcalls.h" 2 3 4 # 72 "/usr/include/gentoo-multilib/ppc64/math.h" 2 3 4 # 94 "/usr/include/gentoo-multilib/ppc64/math.h" 3 4 # 1 "/usr/include/bits/mathcalls.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 1 3 4 # 53 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4 extern float acosf (float __x) __attribute__ ((__nothrow__)); extern float __acosf (float __x) __attribute__ ((__nothrow__)); extern float asinf (float __x) __attribute__ ((__nothrow__)); extern float __asinf (float __x) __attribute__ ((__nothrow__)); extern float atanf (float __x) __attribute__ ((__nothrow__)); extern float __atanf (float __x) __attribute__ ((__nothrow__)); extern float atan2f (float __y, float __x) __attribute__ ((__nothrow__)); extern float __atan2f (float __y, float __x) __attribute__ ((__nothrow__)); extern float cosf (float __x) __attribute__ ((__nothrow__)); extern float __cosf (float __x) __attribute__ ((__nothrow__)); extern float sinf (float __x) __attribute__ ((__nothrow__)); extern float __sinf (float __x) __attribute__ ((__nothrow__)); extern float tanf (float __x) __attribute__ ((__nothrow__)); extern float __tanf (float __x) __attribute__ ((__nothrow__)); extern float coshf (float __x) __attribute__ ((__nothrow__)); extern float __coshf (float __x) __attribute__ ((__nothrow__)); extern float sinhf (float __x) __attribute__ ((__nothrow__)); extern float __sinhf (float __x) __attribute__ ((__nothrow__)); extern float tanhf (float __x) __attribute__ ((__nothrow__)); extern float __tanhf (float __x) __attribute__ ((__nothrow__)); # 87 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4 extern float acoshf (float __x) __attribute__ ((__nothrow__)); extern float __acoshf (float __x) __attribute__ ((__nothrow__)); extern float asinhf (float __x) __attribute__ ((__nothrow__)); extern float __asinhf (float __x) __attribute__ ((__nothrow__)); extern float atanhf (float __x) __attribute__ ((__nothrow__)); extern float __atanhf (float __x) __attribute__ ((__nothrow__)); extern float expf (float __x) __attribute__ ((__nothrow__)); extern float __expf (float __x) __attribute__ ((__nothrow__)); extern float frexpf (float __x, int *__exponent) __attribute__ ((__nothrow__)); extern float __frexpf (float __x, int *__exponent) __attribute__ ((__nothrow__)); extern float ldexpf (float __x, int __exponent) __attribute__ ((__nothrow__)); extern float __ldexpf (float __x, int __exponent) __attribute__ ((__nothrow__)); extern float logf (float __x) __attribute__ ((__nothrow__)); extern float __logf (float __x) __attribute__ ((__nothrow__)); extern float log10f (float __x) __attribute__ ((__nothrow__)); extern float __log10f (float __x) __attribute__ ((__nothrow__)); extern float modff (float __x, float *__iptr) __attribute__ ((__nothrow__)); extern float __modff (float __x, float *__iptr) __attribute__ ((__nothrow__)); # 127 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4 extern float expm1f (float __x) __attribute__ ((__nothrow__)); extern float __expm1f (float __x) __attribute__ ((__nothrow__)); extern float log1pf (float __x) __attribute__ ((__nothrow__)); extern float __log1pf (float __x) __attribute__ ((__nothrow__)); extern float logbf (float __x) __attribute__ ((__nothrow__)); extern float __logbf (float __x) __attribute__ ((__nothrow__)); # 152 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4 extern float powf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __powf (float __x, float __y) __attribute__ ((__nothrow__)); extern float sqrtf (float __x) __attribute__ ((__nothrow__)); extern float __sqrtf (float __x) __attribute__ ((__nothrow__)); extern float hypotf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __hypotf (float __x, float __y) __attribute__ ((__nothrow__)); extern float cbrtf (float __x) __attribute__ ((__nothrow__)); extern float __cbrtf (float __x) __attribute__ ((__nothrow__)); extern float ceilf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __ceilf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float fabsf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __fabsf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float floorf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __floorf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float fmodf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __fmodf (float __x, float __y) __attribute__ ((__nothrow__)); extern int __isinff (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern int __finitef (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern int isinff (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern int finitef (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float dremf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __dremf (float __x, float __y) __attribute__ ((__nothrow__)); extern float significandf (float __x) __attribute__ ((__nothrow__)); extern float __significandf (float __x) __attribute__ ((__nothrow__)); extern float copysignf (float __x, float __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __copysignf (float __x, float __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); # 231 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4 extern int __isnanf (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern int isnanf (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float j0f (float) __attribute__ ((__nothrow__)); extern float __j0f (float) __attribute__ ((__nothrow__)); extern float j1f (float) __attribute__ ((__nothrow__)); extern float __j1f (float) __attribute__ ((__nothrow__)); extern float jnf (int, float) __attribute__ ((__nothrow__)); extern float __jnf (int, float) __attribute__ ((__nothrow__)); extern float y0f (float) __attribute__ ((__nothrow__)); extern float __y0f (float) __attribute__ ((__nothrow__)); extern float y1f (float) __attribute__ ((__nothrow__)); extern float __y1f (float) __attribute__ ((__nothrow__)); extern float ynf (int, float) __attribute__ ((__nothrow__)); extern float __ynf (int, float) __attribute__ ((__nothrow__)); extern float erff (float) __attribute__ ((__nothrow__)); extern float __erff (float) __attribute__ ((__nothrow__)); extern float erfcf (float) __attribute__ ((__nothrow__)); extern float __erfcf (float) __attribute__ ((__nothrow__)); extern float lgammaf (float) __attribute__ ((__nothrow__)); extern float __lgammaf (float) __attribute__ ((__nothrow__)); # 265 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4 extern float gammaf (float) __attribute__ ((__nothrow__)); extern float __gammaf (float) __attribute__ ((__nothrow__)); extern float lgammaf_r (float, int *__signgamp) __attribute__ ((__nothrow__)); extern float __lgammaf_r (float, int *__signgamp) __attribute__ ((__nothrow__)); extern float rintf (float __x) __attribute__ ((__nothrow__)); extern float __rintf (float __x) __attribute__ ((__nothrow__)); extern float nextafterf (float __x, float __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __nextafterf (float __x, float __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float remainderf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __remainderf (float __x, float __y) __attribute__ ((__nothrow__)); extern float scalbnf (float __x, int __n) __attribute__ ((__nothrow__)); extern float __scalbnf (float __x, int __n) __attribute__ ((__nothrow__)); extern int ilogbf (float __x) __attribute__ ((__nothrow__)); extern int __ilogbf (float __x) __attribute__ ((__nothrow__)); # 359 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4 extern float scalbf (float __x, float __n) __attribute__ ((__nothrow__)); extern float __scalbf (float __x, float __n) __attribute__ ((__nothrow__)); # 9 "/usr/include/bits/mathcalls.h" 2 3 4 # 95 "/usr/include/gentoo-multilib/ppc64/math.h" 2 3 4 # 141 "/usr/include/gentoo-multilib/ppc64/math.h" 3 4 # 1 "/usr/include/bits/mathcalls.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 1 3 4 # 53 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4 extern long double acosl (long double __x) __asm__ ("" "acos") __attribute__ ((__nothrow__)); extern long double __acosl (long double __x) __asm__ ("" "__acos") __attribute__ ((__nothrow__)); extern long double asinl (long double __x) __asm__ ("" "asin") __attribute__ ((__nothrow__)); extern long double __asinl (long double __x) __asm__ ("" "__asin") __attribute__ ((__nothrow__)); extern long double atanl (long double __x) __asm__ ("" "atan") __attribute__ ((__nothrow__)); extern long double __atanl (long double __x) __asm__ ("" "__atan") __attribute__ ((__nothrow__)); 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__)); extern long double cosl (long double __x) __asm__ ("" "cos") __attribute__ ((__nothrow__)); extern long double __cosl (long double __x) __asm__ ("" "__cos") __attribute__ ((__nothrow__)); extern long double sinl (long double __x) __asm__ ("" "sin") __attribute__ ((__nothrow__)); extern long double __sinl (long double __x) __asm__ ("" "__sin") __attribute__ ((__nothrow__)); extern long double tanl (long double __x) __asm__ ("" "tan") __attribute__ ((__nothrow__)); extern long double __tanl (long double __x) __asm__ ("" "__tan") __attribute__ ((__nothrow__)); extern long double coshl (long double __x) __asm__ ("" "cosh") __attribute__ ((__nothrow__)); extern long double __coshl (long double __x) __asm__ ("" "__cosh") __attribute__ ((__nothrow__)); extern long double sinhl (long double __x) __asm__ ("" "sinh") __attribute__ ((__nothrow__)); extern long double __sinhl (long double __x) __asm__ ("" "__sinh") __attribute__ ((__nothrow__)); extern long double tanhl (long double __x) __asm__ ("" "tanh") __attribute__ ((__nothrow__)); extern long double __tanhl (long double __x) __asm__ ("" "__tanh") __attribute__ ((__nothrow__)); # 87 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4 extern long double acoshl (long double __x) __asm__ ("" "acosh") __attribute__ ((__nothrow__)); extern long double __acoshl (long double __x) __asm__ ("" "__acosh") __attribute__ ((__nothrow__)); extern long double asinhl (long double __x) __asm__ ("" "asinh") __attribute__ ((__nothrow__)); extern long double __asinhl (long double __x) __asm__ ("" "__asinh") __attribute__ ((__nothrow__)); extern long double atanhl (long double __x) __asm__ ("" "atanh") __attribute__ ((__nothrow__)); extern long double __atanhl (long double __x) __asm__ ("" "__atanh") __attribute__ ((__nothrow__)); extern long double expl (long double __x) __asm__ ("" "exp") __attribute__ ((__nothrow__)); extern long double __expl (long double __x) __asm__ ("" "__exp") __attribute__ ((__nothrow__)); 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__)); 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__)); extern long double logl (long double __x) __asm__ ("" "log") __attribute__ ((__nothrow__)); extern long double __logl (long double __x) __asm__ ("" "__log") __attribute__ ((__nothrow__)); extern long double log10l (long double __x) __asm__ ("" "log10") __attribute__ ((__nothrow__)); extern long double __log10l (long double __x) __asm__ ("" "__log10") __attribute__ ((__nothrow__)); 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__)); # 127 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4 extern long double expm1l (long double __x) __asm__ ("" "expm1") __attribute__ ((__nothrow__)); extern long double __expm1l (long double __x) __asm__ ("" "__expm1") __attribute__ ((__nothrow__)); extern long double log1pl (long double __x) __asm__ ("" "log1p") __attribute__ ((__nothrow__)); extern long double __log1pl (long double __x) __asm__ ("" "__log1p") __attribute__ ((__nothrow__)); extern long double logbl (long double __x) __asm__ ("" "logb") __attribute__ ((__nothrow__)); extern long double __logbl (long double __x) __asm__ ("" "__logb") __attribute__ ((__nothrow__)); # 152 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4 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__)); extern long double sqrtl (long double __x) __asm__ ("" "sqrt") __attribute__ ((__nothrow__)); extern long double __sqrtl (long double __x) __asm__ ("" "__sqrt") __attribute__ ((__nothrow__)); 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__)); extern long double cbrtl (long double __x) __asm__ ("" "cbrt") __attribute__ ((__nothrow__)); extern long double __cbrtl (long double __x) __asm__ ("" "__cbrt") __attribute__ ((__nothrow__)); 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__)); 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__)); 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__)); 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__)); extern int __isinfl (long double __value) __asm__ ("" "__isinf") __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern int __finitel (long double __value) __asm__ ("" "__finite") __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern int isinfl (long double __value) __asm__ ("" "isinf") __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern int finitel (long double __value) __asm__ ("" "finite") __attribute__ ((__nothrow__)) __attribute__ ((__const__)); 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__)); extern long double significandl (long double __x) __asm__ ("" "significand") __attribute__ ((__nothrow__)); extern long double __significandl (long double __x) __asm__ ("" "__significand") __attribute__ ((__nothrow__)); 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__)); # 231 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4 extern int __isnanl (long double __value) __asm__ ("" "__isnan") __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern int isnanl (long double __value) __asm__ ("" "isnan") __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double j0l (long double) __asm__ ("" "j0") __attribute__ ((__nothrow__)); extern long double __j0l (long double) __asm__ ("" "__j0") __attribute__ ((__nothrow__)); extern long double j1l (long double) __asm__ ("" "j1") __attribute__ ((__nothrow__)); extern long double __j1l (long double) __asm__ ("" "__j1") __attribute__ ((__nothrow__)); extern long double jnl (int, long double) __asm__ ("" "jn") __attribute__ ((__nothrow__)); extern long double __jnl (int, long double) __asm__ ("" "__jn") __attribute__ ((__nothrow__)); extern long double y0l (long double) __asm__ ("" "y0") __attribute__ ((__nothrow__)); extern long double __y0l (long double) __asm__ ("" "__y0") __attribute__ ((__nothrow__)); extern long double y1l (long double) __asm__ ("" "y1") __attribute__ ((__nothrow__)); extern long double __y1l (long double) __asm__ ("" "__y1") __attribute__ ((__nothrow__)); extern long double ynl (int, long double) __asm__ ("" "yn") __attribute__ ((__nothrow__)); extern long double __ynl (int, long double) __asm__ ("" "__yn") __attribute__ ((__nothrow__)); extern long double erfl (long double) __asm__ ("" "erf") __attribute__ ((__nothrow__)); extern long double __erfl (long double) __asm__ ("" "__erf") __attribute__ ((__nothrow__)); extern long double erfcl (long double) __asm__ ("" "erfc") __attribute__ ((__nothrow__)); extern long double __erfcl (long double) __asm__ ("" "__erfc") __attribute__ ((__nothrow__)); extern long double lgammal (long double) __asm__ ("" "lgamma") __attribute__ ((__nothrow__)); extern long double __lgammal (long double) __asm__ ("" "__lgamma") __attribute__ ((__nothrow__)); # 265 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4 extern long double gammal (long double) __asm__ ("" "gamma") __attribute__ ((__nothrow__)); extern long double __gammal (long double) __asm__ ("" "__gamma") __attribute__ ((__nothrow__)); 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__)); extern long double rintl (long double __x) __asm__ ("" "rint") __attribute__ ((__nothrow__)); extern long double __rintl (long double __x) __asm__ ("" "__rint") __attribute__ ((__nothrow__)); 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__)); 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__)); 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__)); extern int ilogbl (long double __x) __asm__ ("" "ilogb") __attribute__ ((__nothrow__)); extern int __ilogbl (long double __x) __asm__ ("" "__ilogb") __attribute__ ((__nothrow__)); # 359 "/usr/include/gentoo-multilib/ppc64/bits/mathcalls.h" 3 4 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__)); # 9 "/usr/include/bits/mathcalls.h" 2 3 4 # 142 "/usr/include/gentoo-multilib/ppc64/math.h" 2 3 4 # 157 "/usr/include/gentoo-multilib/ppc64/math.h" 3 4 extern int signgam; # 284 "/usr/include/gentoo-multilib/ppc64/math.h" 3 4 typedef enum { _IEEE_ = -1, _SVID_, _XOPEN_, _POSIX_, _ISOC_ } _LIB_VERSION_TYPE; extern _LIB_VERSION_TYPE _LIB_VERSION; # 309 "/usr/include/gentoo-multilib/ppc64/math.h" 3 4 struct exception { int type; char *name; double arg1; double arg2; double retval; }; extern int matherr (struct exception *__exc); # 409 "/usr/include/gentoo-multilib/ppc64/math.h" 3 4 # 1 "/usr/include/bits/mathinline.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/bits/mathinline.h" 1 3 4 # 9 "/usr/include/bits/mathinline.h" 2 3 4 # 410 "/usr/include/gentoo-multilib/ppc64/math.h" 2 3 4 # 465 "/usr/include/gentoo-multilib/ppc64/math.h" 3 4 # 9 "/usr/include/math.h" 2 3 4 # 40 "scheme.c" 2 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/limits.h" 1 3 4 # 11 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/limits.h" 3 4 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/syslimits.h" 1 3 4 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/limits.h" 1 3 4 # 122 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/limits.h" 3 4 # 1 "/usr/include/limits.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/limits.h" 1 3 4 # 27 "/usr/include/gentoo-multilib/ppc64/limits.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 28 "/usr/include/gentoo-multilib/ppc64/limits.h" 2 3 4 # 145 "/usr/include/gentoo-multilib/ppc64/limits.h" 3 4 # 1 "/usr/include/bits/posix1_lim.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/bits/posix1_lim.h" 1 3 4 # 153 "/usr/include/gentoo-multilib/ppc64/bits/posix1_lim.h" 3 4 # 1 "/usr/include/bits/local_lim.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/bits/local_lim.h" 1 3 4 # 36 "/usr/include/gentoo-multilib/ppc64/bits/local_lim.h" 3 4 # 1 "/usr/include/linux/limits.h" 1 3 4 # 37 "/usr/include/gentoo-multilib/ppc64/bits/local_lim.h" 2 3 4 # 9 "/usr/include/bits/local_lim.h" 2 3 4 # 154 "/usr/include/gentoo-multilib/ppc64/bits/posix1_lim.h" 2 3 4 # 9 "/usr/include/bits/posix1_lim.h" 2 3 4 # 146 "/usr/include/gentoo-multilib/ppc64/limits.h" 2 3 4 # 1 "/usr/include/bits/posix2_lim.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/bits/posix2_lim.h" 1 3 4 # 9 "/usr/include/bits/posix2_lim.h" 2 3 4 # 150 "/usr/include/gentoo-multilib/ppc64/limits.h" 2 3 4 # 9 "/usr/include/limits.h" 2 3 4 # 123 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/limits.h" 2 3 4 # 8 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/syslimits.h" 2 3 4 # 12 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/limits.h" 2 3 4 # 42 "scheme.c" 2 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/float.h" 1 3 4 # 43 "scheme.c" 2 # 1 "/usr/include/ctype.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/ctype.h" 1 3 4 # 27 "/usr/include/gentoo-multilib/ppc64/ctype.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 28 "/usr/include/gentoo-multilib/ppc64/ctype.h" 2 3 4 # 1 "/usr/include/bits/types.h" 1 3 4 # 29 "/usr/include/gentoo-multilib/ppc64/ctype.h" 2 3 4 # 41 "/usr/include/gentoo-multilib/ppc64/ctype.h" 3 4 # 1 "/usr/include/endian.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/endian.h" 1 3 4 # 22 "/usr/include/gentoo-multilib/ppc64/endian.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 23 "/usr/include/gentoo-multilib/ppc64/endian.h" 2 3 4 # 37 "/usr/include/gentoo-multilib/ppc64/endian.h" 3 4 # 1 "/usr/include/bits/endian.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/bits/endian.h" 1 3 4 # 9 "/usr/include/bits/endian.h" 2 3 4 # 38 "/usr/include/gentoo-multilib/ppc64/endian.h" 2 3 4 # 9 "/usr/include/endian.h" 2 3 4 # 42 "/usr/include/gentoo-multilib/ppc64/ctype.h" 2 3 4 enum { _ISupper = (1 << (0)), _ISlower = (1 << (1)), _ISalpha = (1 << (2)), _ISdigit = (1 << (3)), _ISxdigit = (1 << (4)), _ISspace = (1 << (5)), _ISprint = (1 << (6)), _ISgraph = (1 << (7)), _ISblank = (1 << (8)), _IScntrl = (1 << (9)), _ISpunct = (1 << (10)), _ISalnum = (1 << (11)) }; # 81 "/usr/include/gentoo-multilib/ppc64/ctype.h" 3 4 extern __const unsigned short int **__ctype_b_loc (void) __attribute__ ((__const)); extern __const __int32_t **__ctype_tolower_loc (void) __attribute__ ((__const)); extern __const __int32_t **__ctype_toupper_loc (void) __attribute__ ((__const)); # 96 "/usr/include/gentoo-multilib/ppc64/ctype.h" 3 4 extern int isalnum (int) __attribute__ ((__nothrow__)); extern int isalpha (int) __attribute__ ((__nothrow__)); extern int iscntrl (int) __attribute__ ((__nothrow__)); extern int isdigit (int) __attribute__ ((__nothrow__)); extern int islower (int) __attribute__ ((__nothrow__)); extern int isgraph (int) __attribute__ ((__nothrow__)); extern int isprint (int) __attribute__ ((__nothrow__)); extern int ispunct (int) __attribute__ ((__nothrow__)); extern int isspace (int) __attribute__ ((__nothrow__)); extern int isupper (int) __attribute__ ((__nothrow__)); extern int isxdigit (int) __attribute__ ((__nothrow__)); extern int tolower (int __c) __attribute__ ((__nothrow__)); extern int toupper (int __c) __attribute__ ((__nothrow__)); # 142 "/usr/include/gentoo-multilib/ppc64/ctype.h" 3 4 extern int isascii (int __c) __attribute__ ((__nothrow__)); extern int toascii (int __c) __attribute__ ((__nothrow__)); extern int _toupper (int) __attribute__ ((__nothrow__)); extern int _tolower (int) __attribute__ ((__nothrow__)); # 190 "/usr/include/gentoo-multilib/ppc64/ctype.h" 3 4 extern __inline int __attribute__ ((__nothrow__)) tolower (int __c) { return __c >= -128 && __c < 256 ? (*__ctype_tolower_loc ())[__c] : __c; } extern __inline int __attribute__ ((__nothrow__)) toupper (int __c) { return __c >= -128 && __c < 256 ? (*__ctype_toupper_loc ())[__c] : __c; } # 323 "/usr/include/gentoo-multilib/ppc64/ctype.h" 3 4 # 9 "/usr/include/ctype.h" 2 3 4 # 44 "scheme.c" 2 # 1 "/usr/include/libintl.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/libintl.h" 1 3 4 # 24 "/usr/include/gentoo-multilib/ppc64/libintl.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 25 "/usr/include/gentoo-multilib/ppc64/libintl.h" 2 3 4 # 35 "/usr/include/gentoo-multilib/ppc64/libintl.h" 3 4 extern char *gettext (__const char *__msgid) __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (1))); extern char *dgettext (__const char *__domainname, __const char *__msgid) __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (2))); extern char *__dgettext (__const char *__domainname, __const char *__msgid) __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (2))); extern char *dcgettext (__const char *__domainname, __const char *__msgid, int __category) __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (2))); extern char *__dcgettext (__const char *__domainname, __const char *__msgid, int __category) __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (2))); extern char *ngettext (__const char *__msgid1, __const char *__msgid2, unsigned long int __n) __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (1))) __attribute__ ((__format_arg__ (2))); extern char *dngettext (__const char *__domainname, __const char *__msgid1, __const char *__msgid2, unsigned long int __n) __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3))); extern char *dcngettext (__const char *__domainname, __const char *__msgid1, __const char *__msgid2, unsigned long int __n, int __category) __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3))); extern char *textdomain (__const char *__domainname) __attribute__ ((__nothrow__)); extern char *bindtextdomain (__const char *__domainname, __const char *__dirname) __attribute__ ((__nothrow__)); extern char *bind_textdomain_codeset (__const char *__domainname, __const char *__codeset) __attribute__ ((__nothrow__)); # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 1 3 4 # 102 "/usr/include/gentoo-multilib/ppc64/libintl.h" 2 3 4 # 1 "/usr/include/locale.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/locale.h" 1 3 4 # 26 "/usr/include/gentoo-multilib/ppc64/locale.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 27 "/usr/include/gentoo-multilib/ppc64/locale.h" 2 3 4 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 1 3 4 # 30 "/usr/include/gentoo-multilib/ppc64/locale.h" 2 3 4 # 1 "/usr/include/bits/locale.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/bits/locale.h" 1 3 4 # 27 "/usr/include/gentoo-multilib/ppc64/bits/locale.h" 3 4 enum { __LC_CTYPE = 0, __LC_NUMERIC = 1, __LC_TIME = 2, __LC_COLLATE = 3, __LC_MONETARY = 4, __LC_MESSAGES = 5, __LC_ALL = 6, __LC_PAPER = 7, __LC_NAME = 8, __LC_ADDRESS = 9, __LC_TELEPHONE = 10, __LC_MEASUREMENT = 11, __LC_IDENTIFICATION = 12 }; # 9 "/usr/include/bits/locale.h" 2 3 4 # 31 "/usr/include/gentoo-multilib/ppc64/locale.h" 2 3 4 # 52 "/usr/include/gentoo-multilib/ppc64/locale.h" 3 4 struct lconv { char *decimal_point; char *thousands_sep; char *grouping; char *int_curr_symbol; char *currency_symbol; char *mon_decimal_point; char *mon_thousands_sep; char *mon_grouping; char *positive_sign; char *negative_sign; char int_frac_digits; char frac_digits; char p_cs_precedes; char p_sep_by_space; char n_cs_precedes; char n_sep_by_space; char p_sign_posn; char n_sign_posn; # 112 "/usr/include/gentoo-multilib/ppc64/locale.h" 3 4 char __int_p_cs_precedes; char __int_p_sep_by_space; char __int_n_cs_precedes; char __int_n_sep_by_space; char __int_p_sign_posn; char __int_n_sign_posn; }; extern char *setlocale (int __category, __const char *__locale) __attribute__ ((__nothrow__)); extern struct lconv *localeconv (void) __attribute__ ((__nothrow__)); # 208 "/usr/include/gentoo-multilib/ppc64/locale.h" 3 4 # 9 "/usr/include/locale.h" 2 3 4 # 105 "/usr/include/gentoo-multilib/ppc64/libintl.h" 2 3 4 # 122 "/usr/include/gentoo-multilib/ppc64/libintl.h" 3 4 # 9 "/usr/include/libintl.h" 2 3 4 # 46 "scheme.c" 2 # 1 "scheme-private.h" 1 # 1 "scheme.h" 1 # 1 "/usr/include/stdio.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/stdio.h" 1 3 4 # 28 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 29 "/usr/include/gentoo-multilib/ppc64/stdio.h" 2 3 4 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 1 3 4 # 35 "/usr/include/gentoo-multilib/ppc64/stdio.h" 2 3 4 # 1 "/usr/include/bits/types.h" 1 3 4 # 37 "/usr/include/gentoo-multilib/ppc64/stdio.h" 2 3 4 typedef struct _IO_FILE FILE; # 62 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4 typedef struct _IO_FILE __FILE; # 72 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4 # 1 "/usr/include/libio.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/libio.h" 1 3 4 # 32 "/usr/include/gentoo-multilib/ppc64/libio.h" 3 4 # 1 "/usr/include/_G_config.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/_G_config.h" 1 3 4 # 9 "/usr/include/gentoo-multilib/ppc64/_G_config.h" 3 4 # 1 "/usr/include/bits/types.h" 1 3 4 # 10 "/usr/include/gentoo-multilib/ppc64/_G_config.h" 2 3 4 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 1 3 4 # 326 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 3 4 typedef int wchar_t; # 355 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 3 4 typedef unsigned int wint_t; # 15 "/usr/include/gentoo-multilib/ppc64/_G_config.h" 2 3 4 # 24 "/usr/include/gentoo-multilib/ppc64/_G_config.h" 3 4 # 1 "/usr/include/wchar.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/wchar.h" 1 3 4 # 48 "/usr/include/gentoo-multilib/ppc64/wchar.h" 3 4 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 1 3 4 # 49 "/usr/include/gentoo-multilib/ppc64/wchar.h" 2 3 4 # 1 "/usr/include/bits/wchar.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/bits/wchar.h" 1 3 4 # 9 "/usr/include/bits/wchar.h" 2 3 4 # 51 "/usr/include/gentoo-multilib/ppc64/wchar.h" 2 3 4 # 76 "/usr/include/gentoo-multilib/ppc64/wchar.h" 3 4 typedef struct { int __count; union { wint_t __wch; char __wchb[4]; } __value; } __mbstate_t; # 9 "/usr/include/wchar.h" 2 3 4 # 25 "/usr/include/gentoo-multilib/ppc64/_G_config.h" 2 3 4 typedef struct { __off_t __pos; __mbstate_t __state; } _G_fpos_t; typedef struct { __off64_t __pos; __mbstate_t __state; } _G_fpos64_t; # 44 "/usr/include/gentoo-multilib/ppc64/_G_config.h" 3 4 # 1 "/usr/include/gconv.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/gconv.h" 1 3 4 # 26 "/usr/include/gentoo-multilib/ppc64/gconv.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 27 "/usr/include/gentoo-multilib/ppc64/gconv.h" 2 3 4 # 1 "/usr/include/wchar.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/wchar.h" 1 3 4 # 48 "/usr/include/gentoo-multilib/ppc64/wchar.h" 3 4 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 1 3 4 # 49 "/usr/include/gentoo-multilib/ppc64/wchar.h" 2 3 4 # 1 "/usr/include/bits/wchar.h" 1 3 4 # 51 "/usr/include/gentoo-multilib/ppc64/wchar.h" 2 3 4 # 9 "/usr/include/wchar.h" 2 3 4 # 29 "/usr/include/gentoo-multilib/ppc64/gconv.h" 2 3 4 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 1 3 4 # 32 "/usr/include/gentoo-multilib/ppc64/gconv.h" 2 3 4 enum { __GCONV_OK = 0, __GCONV_NOCONV, __GCONV_NODB, __GCONV_NOMEM, __GCONV_EMPTY_INPUT, __GCONV_FULL_OUTPUT, __GCONV_ILLEGAL_INPUT, __GCONV_INCOMPLETE_INPUT, __GCONV_ILLEGAL_DESCRIPTOR, __GCONV_INTERNAL_ERROR }; enum { __GCONV_IS_LAST = 0x0001, __GCONV_IGNORE_ERRORS = 0x0002 }; struct __gconv_step; struct __gconv_step_data; struct __gconv_loaded_object; struct __gconv_trans_data; typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *, __const unsigned char **, __const unsigned char *, unsigned char **, size_t *, int, int); typedef wint_t (*__gconv_btowc_fct) (struct __gconv_step *, unsigned char); typedef int (*__gconv_init_fct) (struct __gconv_step *); typedef void (*__gconv_end_fct) (struct __gconv_step *); typedef int (*__gconv_trans_fct) (struct __gconv_step *, struct __gconv_step_data *, void *, __const unsigned char *, __const unsigned char **, __const unsigned char *, unsigned char **, size_t *); typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *, __const unsigned char *, unsigned char *, unsigned char *); typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***, size_t *); typedef int (*__gconv_trans_init_fct) (void **, const char *); typedef void (*__gconv_trans_end_fct) (void *); struct __gconv_trans_data { __gconv_trans_fct __trans_fct; __gconv_trans_context_fct __trans_context_fct; __gconv_trans_end_fct __trans_end_fct; void *__data; struct __gconv_trans_data *__next; }; struct __gconv_step { struct __gconv_loaded_object *__shlib_handle; __const char *__modname; int __counter; char *__from_name; char *__to_name; __gconv_fct __fct; __gconv_btowc_fct __btowc_fct; __gconv_init_fct __init_fct; __gconv_end_fct __end_fct; int __min_needed_from; int __max_needed_from; int __min_needed_to; int __max_needed_to; int __stateful; void *__data; }; struct __gconv_step_data { unsigned char *__outbuf; unsigned char *__outbufend; int __flags; int __invocation_counter; int __internal_use; __mbstate_t *__statep; __mbstate_t __state; struct __gconv_trans_data *__trans; }; typedef struct __gconv_info { size_t __nsteps; struct __gconv_step *__steps; __extension__ struct __gconv_step_data __data []; } *__gconv_t; # 9 "/usr/include/gconv.h" 2 3 4 # 45 "/usr/include/gentoo-multilib/ppc64/_G_config.h" 2 3 4 typedef union { struct __gconv_info __cd; struct { struct __gconv_info __cd; struct __gconv_step_data __data; } __combined; } _G_iconv_t; typedef int _G_int16_t __attribute__ ((__mode__ (__HI__))); typedef int _G_int32_t __attribute__ ((__mode__ (__SI__))); typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__))); typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__))); # 9 "/usr/include/_G_config.h" 2 3 4 # 33 "/usr/include/gentoo-multilib/ppc64/libio.h" 2 3 4 # 53 "/usr/include/gentoo-multilib/ppc64/libio.h" 3 4 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stdarg.h" 1 3 4 # 43 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stdarg.h" 3 4 typedef __builtin_va_list __gnuc_va_list; # 54 "/usr/include/gentoo-multilib/ppc64/libio.h" 2 3 4 # 166 "/usr/include/gentoo-multilib/ppc64/libio.h" 3 4 struct _IO_jump_t; struct _IO_FILE; # 176 "/usr/include/gentoo-multilib/ppc64/libio.h" 3 4 typedef void _IO_lock_t; struct _IO_marker { struct _IO_marker *_next; struct _IO_FILE *_sbuf; int _pos; # 199 "/usr/include/gentoo-multilib/ppc64/libio.h" 3 4 }; enum __codecvt_result { __codecvt_ok, __codecvt_partial, __codecvt_error, __codecvt_noconv }; # 267 "/usr/include/gentoo-multilib/ppc64/libio.h" 3 4 struct _IO_FILE { int _flags; char* _IO_read_ptr; char* _IO_read_end; char* _IO_read_base; char* _IO_write_base; char* _IO_write_ptr; char* _IO_write_end; char* _IO_buf_base; char* _IO_buf_end; char *_IO_save_base; char *_IO_backup_base; char *_IO_save_end; struct _IO_marker *_markers; struct _IO_FILE *_chain; int _fileno; int _flags2; __off_t _old_offset; unsigned short _cur_column; signed char _vtable_offset; char _shortbuf[1]; _IO_lock_t *_lock; # 315 "/usr/include/gentoo-multilib/ppc64/libio.h" 3 4 __off64_t _offset; # 324 "/usr/include/gentoo-multilib/ppc64/libio.h" 3 4 void *__pad1; void *__pad2; void *__pad3; void *__pad4; size_t __pad5; int _mode; char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; }; typedef struct _IO_FILE _IO_FILE; struct _IO_FILE_plus; extern struct _IO_FILE_plus _IO_2_1_stdin_; extern struct _IO_FILE_plus _IO_2_1_stdout_; extern struct _IO_FILE_plus _IO_2_1_stderr_; # 360 "/usr/include/gentoo-multilib/ppc64/libio.h" 3 4 typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes); typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf, size_t __n); typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w); typedef int __io_close_fn (void *__cookie); # 412 "/usr/include/gentoo-multilib/ppc64/libio.h" 3 4 extern int __underflow (_IO_FILE *) __attribute__ ((__nothrow__)); extern int __uflow (_IO_FILE *) __attribute__ ((__nothrow__)); extern int __overflow (_IO_FILE *, int) __attribute__ ((__nothrow__)); extern wint_t __wunderflow (_IO_FILE *) __attribute__ ((__nothrow__)); extern wint_t __wuflow (_IO_FILE *) __attribute__ ((__nothrow__)); extern wint_t __woverflow (_IO_FILE *, wint_t) __attribute__ ((__nothrow__)); # 450 "/usr/include/gentoo-multilib/ppc64/libio.h" 3 4 extern int _IO_getc (_IO_FILE *__fp) __attribute__ ((__nothrow__)); extern int _IO_putc (int __c, _IO_FILE *__fp) __attribute__ ((__nothrow__)); extern int _IO_feof (_IO_FILE *__fp) __attribute__ ((__nothrow__)); extern int _IO_ferror (_IO_FILE *__fp) __attribute__ ((__nothrow__)); extern int _IO_peekc_locked (_IO_FILE *__fp) __attribute__ ((__nothrow__)); extern void _IO_flockfile (_IO_FILE *) __attribute__ ((__nothrow__)); extern void _IO_funlockfile (_IO_FILE *) __attribute__ ((__nothrow__)); extern int _IO_ftrylockfile (_IO_FILE *) __attribute__ ((__nothrow__)); # 480 "/usr/include/gentoo-multilib/ppc64/libio.h" 3 4 extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict, __gnuc_va_list, int *__restrict); extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict, __gnuc_va_list); extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t) __attribute__ ((__nothrow__)); extern size_t _IO_sgetn (_IO_FILE *, void *, size_t) __attribute__ ((__nothrow__)); extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int) __attribute__ ((__nothrow__)); extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int) __attribute__ ((__nothrow__)); extern void _IO_free_backup_area (_IO_FILE *) __attribute__ ((__nothrow__)); # 538 "/usr/include/gentoo-multilib/ppc64/libio.h" 3 4 # 1 "/usr/include/bits/libio-ldbl.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/bits/libio-ldbl.h" 1 3 4 # 24 "/usr/include/gentoo-multilib/ppc64/bits/libio-ldbl.h" 3 4 extern __typeof (_IO_vfscanf) _IO_vfscanf __asm ("" "__nldbl_" "_IO_vfscanf"); extern __typeof (_IO_vfprintf) _IO_vfprintf __asm ("" "__nldbl_" "_IO_vfprintf"); # 9 "/usr/include/bits/libio-ldbl.h" 2 3 4 # 539 "/usr/include/gentoo-multilib/ppc64/libio.h" 2 3 4 # 9 "/usr/include/libio.h" 2 3 4 # 73 "/usr/include/gentoo-multilib/ppc64/stdio.h" 2 3 4 # 86 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4 typedef _G_fpos_t fpos_t; # 138 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4 # 1 "/usr/include/bits/stdio_lim.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/bits/stdio_lim.h" 1 3 4 # 9 "/usr/include/bits/stdio_lim.h" 2 3 4 # 139 "/usr/include/gentoo-multilib/ppc64/stdio.h" 2 3 4 extern struct _IO_FILE *stdin; extern struct _IO_FILE *stdout; extern struct _IO_FILE *stderr; extern int remove (__const char *__filename) __attribute__ ((__nothrow__)); extern int rename (__const char *__old, __const char *__new) __attribute__ ((__nothrow__)); extern FILE *tmpfile (void); # 183 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4 extern char *tmpnam (char *__s) __attribute__ ((__nothrow__)); extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__)); # 201 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4 extern char *tempnam (__const char *__dir, __const char *__pfx) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)); extern int fclose (FILE *__stream); extern int fflush (FILE *__stream); # 226 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4 extern int fflush_unlocked (FILE *__stream); # 240 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4 extern FILE *fopen (__const char *__restrict __filename, __const char *__restrict __modes); extern FILE *freopen (__const char *__restrict __filename, __const char *__restrict __modes, FILE *__restrict __stream); # 267 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4 # 278 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4 extern FILE *fdopen (int __fd, __const char *__modes) __attribute__ ((__nothrow__)); # 298 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4 extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__)); extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, int __modes, size_t __n) __attribute__ ((__nothrow__)); extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, size_t __size) __attribute__ ((__nothrow__)); extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__)); extern int fprintf (FILE *__restrict __stream, __const char *__restrict __format, ...); extern int printf (__const char *__restrict __format, ...); extern int sprintf (char *__restrict __s, __const char *__restrict __format, ...) __attribute__ ((__nothrow__)); extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg); extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg); extern int vsprintf (char *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__nothrow__)); extern int snprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, ...) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))); extern int vsnprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))); # 392 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4 extern int fscanf (FILE *__restrict __stream, __const char *__restrict __format, ...) ; extern int scanf (__const char *__restrict __format, ...) ; extern int sscanf (__const char *__restrict __s, __const char *__restrict __format, ...) __attribute__ ((__nothrow__)); # 434 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4 extern int fgetc (FILE *__stream); extern int getc (FILE *__stream); extern int getchar (void); # 458 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4 extern int getc_unlocked (FILE *__stream); extern int getchar_unlocked (void); # 469 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4 extern int fgetc_unlocked (FILE *__stream); extern int fputc (int __c, FILE *__stream); extern int putc (int __c, FILE *__stream); extern int putchar (int __c); # 502 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4 extern int fputc_unlocked (int __c, FILE *__stream); extern int putc_unlocked (int __c, FILE *__stream); extern int putchar_unlocked (int __c); extern int getw (FILE *__stream); extern int putw (int __w, FILE *__stream); extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) ; extern char *gets (char *__s) ; # 583 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4 extern int fputs (__const char *__restrict __s, FILE *__restrict __stream); extern int puts (__const char *__s); extern int ungetc (int __c, FILE *__stream); extern size_t fread (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ; extern size_t fwrite (__const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __s) ; # 636 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4 extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ; extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ; extern int fseek (FILE *__stream, long int __off, int __whence); extern long int ftell (FILE *__stream) ; extern void rewind (FILE *__stream); # 672 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4 extern int fseeko (FILE *__stream, __off_t __off, int __whence); extern __off_t ftello (FILE *__stream) ; # 691 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4 extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); extern int fsetpos (FILE *__stream, __const fpos_t *__pos); # 714 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4 # 723 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4 extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__)); extern int feof (FILE *__stream) __attribute__ ((__nothrow__)) ; extern int ferror (FILE *__stream) __attribute__ ((__nothrow__)) ; extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__)); extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ; extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ; extern void perror (__const char *__s); # 1 "/usr/include/bits/sys_errlist.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/bits/sys_errlist.h" 1 3 4 # 27 "/usr/include/gentoo-multilib/ppc64/bits/sys_errlist.h" 3 4 extern int sys_nerr; extern __const char *__const sys_errlist[]; # 9 "/usr/include/bits/sys_errlist.h" 2 3 4 # 753 "/usr/include/gentoo-multilib/ppc64/stdio.h" 2 3 4 extern int fileno (FILE *__stream) __attribute__ ((__nothrow__)) ; extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ; # 772 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4 extern FILE *popen (__const char *__command, __const char *__modes) ; extern int pclose (FILE *__stream); extern char *ctermid (char *__s) __attribute__ ((__nothrow__)); # 812 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4 extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__)); extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__)) ; extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__)); # 833 "/usr/include/gentoo-multilib/ppc64/stdio.h" 3 4 # 1 "/usr/include/bits/stdio.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/bits/stdio.h" 1 3 4 # 33 "/usr/include/gentoo-multilib/ppc64/bits/stdio.h" 3 4 extern __inline int vprintf (__const char *__restrict __fmt, __gnuc_va_list __arg) { return vfprintf (stdout, __fmt, __arg); } extern __inline int getchar (void) { return _IO_getc (stdin); } extern __inline int getc_unlocked (FILE *__fp) { return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); } extern __inline int getchar_unlocked (void) { return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); } extern __inline int putchar (int __c) { return _IO_putc (__c, stdout); } extern __inline int fputc_unlocked (int __c, FILE *__stream) { return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); } extern __inline int putc_unlocked (int __c, FILE *__stream) { return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); } extern __inline int putchar_unlocked (int __c) { return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); } # 111 "/usr/include/gentoo-multilib/ppc64/bits/stdio.h" 3 4 extern __inline int __attribute__ ((__nothrow__)) feof_unlocked (FILE *__stream) { return (((__stream)->_flags & 0x10) != 0); } extern __inline int __attribute__ ((__nothrow__)) ferror_unlocked (FILE *__stream) { return (((__stream)->_flags & 0x20) != 0); } # 9 "/usr/include/bits/stdio.h" 2 3 4 # 834 "/usr/include/gentoo-multilib/ppc64/stdio.h" 2 3 4 # 1 "/usr/include/bits/stdio-ldbl.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/bits/stdio-ldbl.h" 1 3 4 # 24 "/usr/include/gentoo-multilib/ppc64/bits/stdio-ldbl.h" 3 4 extern __typeof (fprintf) fprintf __asm ("" "__nldbl_" "fprintf"); extern __typeof (printf) printf __asm ("" "__nldbl_" "printf"); extern __typeof (sprintf) sprintf __asm ("" "__nldbl_" "sprintf"); extern __typeof (vfprintf) vfprintf __asm ("" "__nldbl_" "vfprintf"); extern __typeof (vprintf) vprintf __asm ("" "__nldbl_" "vprintf"); extern __typeof (vsprintf) vsprintf __asm ("" "__nldbl_" "vsprintf"); extern __typeof (fscanf) fscanf __asm ("" "__nldbl_" "fscanf"); extern __typeof (scanf) scanf __asm ("" "__nldbl_" "scanf"); extern __typeof (sscanf) sscanf __asm ("" "__nldbl_" "sscanf"); extern __typeof (snprintf) snprintf __asm ("" "__nldbl_" "snprintf"); extern __typeof (vsnprintf) vsnprintf __asm ("" "__nldbl_" "vsnprintf"); # 9 "/usr/include/bits/stdio-ldbl.h" 2 3 4 # 840 "/usr/include/gentoo-multilib/ppc64/stdio.h" 2 3 4 # 9 "/usr/include/stdio.h" 2 3 4 # 7 "scheme.h" 2 # 1 "/usr/include/glib-2.0/glib.h" 1 # 30 "/usr/include/glib-2.0/glib.h" # 1 "/usr/include/glib-2.0/glib/galloca.h" 1 # 30 "/usr/include/glib-2.0/glib/galloca.h" # 1 "/usr/include/glib-2.0/glib/gtypes.h" 1 # 30 "/usr/include/glib-2.0/glib/gtypes.h" # 1 "/usr/lib64/glib-2.0/include/glibconfig.h" 1 # 9 "/usr/lib64/glib-2.0/include/glibconfig.h" # 1 "/usr/include/glib-2.0/glib/gmacros.h" 1 # 36 "/usr/include/glib-2.0/glib/gmacros.h" # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 1 3 4 # 152 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 3 4 typedef long int ptrdiff_t; # 37 "/usr/include/glib-2.0/glib/gmacros.h" 2 # 10 "/usr/lib64/glib-2.0/include/glibconfig.h" 2 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/limits.h" 1 3 4 # 12 "/usr/lib64/glib-2.0/include/glibconfig.h" 2 # 32 "/usr/lib64/glib-2.0/include/glibconfig.h" typedef signed char gint8; typedef unsigned char guint8; typedef signed short gint16; typedef unsigned short guint16; typedef signed int gint32; typedef unsigned int guint32; typedef signed long gint64; typedef unsigned long guint64; # 59 "/usr/lib64/glib-2.0/include/glibconfig.h" typedef signed long gssize; typedef unsigned long gsize; # 126 "/usr/lib64/glib-2.0/include/glibconfig.h" typedef struct _GStaticMutex GStaticMutex; struct _GStaticMutex { struct _GMutex *runtime_mutex; union { char pad[40]; double dummy_double; void *dummy_pointer; long dummy_long; } static_mutex; }; # 145 "/usr/lib64/glib-2.0/include/glibconfig.h" typedef union _GSystemThread GSystemThread; union _GSystemThread { char data[8]; double dummy_double; void *dummy_pointer; long dummy_long; }; # 187 "/usr/lib64/glib-2.0/include/glibconfig.h" typedef int GPid; # 31 "/usr/include/glib-2.0/glib/gtypes.h" 2 # 41 "/usr/include/glib-2.0/glib/gtypes.h" typedef char gchar; typedef short gshort; typedef long glong; typedef int gint; typedef gint gboolean; typedef unsigned char guchar; typedef unsigned short gushort; typedef unsigned long gulong; typedef unsigned int guint; typedef float gfloat; typedef double gdouble; # 72 "/usr/include/glib-2.0/glib/gtypes.h" typedef void* gpointer; typedef const void *gconstpointer; typedef gint (*GCompareFunc) (gconstpointer a, gconstpointer b); typedef gint (*GCompareDataFunc) (gconstpointer a, gconstpointer b, gpointer user_data); typedef gboolean (*GEqualFunc) (gconstpointer a, gconstpointer b); typedef void (*GDestroyNotify) (gpointer data); typedef void (*GFunc) (gpointer data, gpointer user_data); typedef guint (*GHashFunc) (gconstpointer key); typedef void (*GHFunc) (gpointer key, gpointer value, gpointer user_data); typedef void (*GFreeFunc) (gpointer data); typedef const gchar * (*GTranslateFunc) (const gchar *str, gpointer data); # 338 "/usr/include/glib-2.0/glib/gtypes.h" typedef union _GDoubleIEEE754 GDoubleIEEE754; typedef union _GFloatIEEE754 GFloatIEEE754; # 365 "/usr/include/glib-2.0/glib/gtypes.h" union _GFloatIEEE754 { gfloat v_float; struct { guint sign : 1; guint biased_exponent : 8; guint mantissa : 23; } mpn; }; union _GDoubleIEEE754 { gdouble v_double; struct { guint sign : 1; guint biased_exponent : 11; guint mantissa_high : 20; guint mantissa_low : 32; } mpn; }; typedef struct _GTimeVal GTimeVal; struct _GTimeVal { glong tv_sec; glong tv_usec; }; # 31 "/usr/include/glib-2.0/glib/galloca.h" 2 # 31 "/usr/include/glib-2.0/glib.h" 2 # 1 "/usr/include/glib-2.0/glib/garray.h" 1 # 32 "/usr/include/glib-2.0/glib/garray.h" typedef struct _GArray GArray; typedef struct _GByteArray GByteArray; typedef struct _GPtrArray GPtrArray; struct _GArray { gchar *data; guint len; }; struct _GByteArray { guint8 *data; guint len; }; struct _GPtrArray { gpointer *pdata; guint len; }; # 66 "/usr/include/glib-2.0/glib/garray.h" GArray* g_array_new (gboolean zero_terminated, gboolean clear_, guint element_size); GArray* g_array_sized_new (gboolean zero_terminated, gboolean clear_, guint element_size, guint reserved_size); gchar* g_array_free (GArray *array, gboolean free_segment); GArray* g_array_append_vals (GArray *array, gconstpointer data, guint len); GArray* g_array_prepend_vals (GArray *array, gconstpointer data, guint len); GArray* g_array_insert_vals (GArray *array, guint index_, gconstpointer data, guint len); GArray* g_array_set_size (GArray *array, guint length); GArray* g_array_remove_index (GArray *array, guint index_); GArray* g_array_remove_index_fast (GArray *array, guint index_); GArray* g_array_remove_range (GArray *array, guint index_, guint length); void g_array_sort (GArray *array, GCompareFunc compare_func); void g_array_sort_with_data (GArray *array, GCompareDataFunc compare_func, gpointer user_data); GPtrArray* g_ptr_array_new (void); GPtrArray* g_ptr_array_sized_new (guint reserved_size); gpointer* g_ptr_array_free (GPtrArray *array, gboolean free_seg); void g_ptr_array_set_size (GPtrArray *array, gint length); gpointer g_ptr_array_remove_index (GPtrArray *array, guint index_); gpointer g_ptr_array_remove_index_fast (GPtrArray *array, guint index_); gboolean g_ptr_array_remove (GPtrArray *array, gpointer data); gboolean g_ptr_array_remove_fast (GPtrArray *array, gpointer data); void g_ptr_array_remove_range (GPtrArray *array, guint index_, guint length); void g_ptr_array_add (GPtrArray *array, gpointer data); void g_ptr_array_sort (GPtrArray *array, GCompareFunc compare_func); void g_ptr_array_sort_with_data (GPtrArray *array, GCompareDataFunc compare_func, gpointer user_data); void g_ptr_array_foreach (GPtrArray *array, GFunc func, gpointer user_data); GByteArray* g_byte_array_new (void); GByteArray* g_byte_array_sized_new (guint reserved_size); guint8* g_byte_array_free (GByteArray *array, gboolean free_segment); GByteArray* g_byte_array_append (GByteArray *array, const guint8 *data, guint len); GByteArray* g_byte_array_prepend (GByteArray *array, const guint8 *data, guint len); GByteArray* g_byte_array_set_size (GByteArray *array, guint length); GByteArray* g_byte_array_remove_index (GByteArray *array, guint index_); GByteArray* g_byte_array_remove_index_fast (GByteArray *array, guint index_); GByteArray* g_byte_array_remove_range (GByteArray *array, guint index_, guint length); void g_byte_array_sort (GByteArray *array, GCompareFunc compare_func); void g_byte_array_sort_with_data (GByteArray *array, GCompareDataFunc compare_func, gpointer user_data); # 32 "/usr/include/glib-2.0/glib.h" 2 # 1 "/usr/include/glib-2.0/glib/gasyncqueue.h" 1 # 30 "/usr/include/glib-2.0/glib/gasyncqueue.h" # 1 "/usr/include/glib-2.0/glib/gthread.h" 1 # 30 "/usr/include/glib-2.0/glib/gthread.h" # 1 "/usr/include/glib-2.0/glib/gerror.h" 1 # 24 "/usr/include/glib-2.0/glib/gerror.h" # 1 "/usr/include/glib-2.0/glib/gquark.h" 1 # 32 "/usr/include/glib-2.0/glib/gquark.h" typedef guint32 GQuark; GQuark g_quark_try_string (const gchar *string); GQuark g_quark_from_static_string (const gchar *string); GQuark g_quark_from_string (const gchar *string); const gchar* g_quark_to_string (GQuark quark) __attribute__((__const__)); const gchar* g_intern_string (const gchar *string); const gchar* g_intern_static_string (const gchar *string); # 25 "/usr/include/glib-2.0/glib/gerror.h" 2 typedef struct _GError GError; struct _GError { GQuark domain; gint code; gchar *message; }; GError* g_error_new (GQuark domain, gint code, const gchar *format, ...) __attribute__((__format__ (__printf__, 3, 4))); GError* g_error_new_literal (GQuark domain, gint code, const gchar *message); void g_error_free (GError *error); GError* g_error_copy (const GError *error); gboolean g_error_matches (const GError *error, GQuark domain, gint code); void g_set_error (GError **err, GQuark domain, gint code, const gchar *format, ...) __attribute__((__format__ (__printf__, 4, 5))); void g_propagate_error (GError **dest, GError *src); void g_clear_error (GError **err); # 31 "/usr/include/glib-2.0/glib/gthread.h" 2 # 1 "/usr/include/glib-2.0/glib/gatomic.h" 1 # 35 "/usr/include/glib-2.0/glib/gatomic.h" gint g_atomic_int_exchange_and_add (volatile gint *atomic, gint val); void g_atomic_int_add (volatile gint *atomic, gint val); gboolean g_atomic_int_compare_and_exchange (volatile gint *atomic, gint oldval, gint newval); gboolean g_atomic_pointer_compare_and_exchange (volatile gpointer *atomic, gpointer oldval, gpointer newval); gint g_atomic_int_get (volatile gint *atomic); void g_atomic_int_set (volatile gint *atomic, gint newval); gpointer g_atomic_pointer_get (volatile gpointer *atomic); void g_atomic_pointer_set (volatile gpointer *atomic, gpointer newval); # 66 "/usr/include/glib-2.0/glib/gatomic.h" # 33 "/usr/include/glib-2.0/glib/gthread.h" 2 extern GQuark g_thread_error_quark (void); typedef enum { G_THREAD_ERROR_AGAIN } GThreadError; typedef gpointer (*GThreadFunc) (gpointer data); typedef enum { G_THREAD_PRIORITY_LOW, G_THREAD_PRIORITY_NORMAL, G_THREAD_PRIORITY_HIGH, G_THREAD_PRIORITY_URGENT } GThreadPriority; typedef struct _GThread GThread; struct _GThread { GThreadFunc func; gpointer data; gboolean joinable; GThreadPriority priority; }; typedef struct _GMutex GMutex; typedef struct _GCond GCond; typedef struct _GPrivate GPrivate; typedef struct _GStaticPrivate GStaticPrivate; typedef struct _GThreadFunctions GThreadFunctions; struct _GThreadFunctions { GMutex* (*mutex_new) (void); void (*mutex_lock) (GMutex *mutex); gboolean (*mutex_trylock) (GMutex *mutex); void (*mutex_unlock) (GMutex *mutex); void (*mutex_free) (GMutex *mutex); GCond* (*cond_new) (void); void (*cond_signal) (GCond *cond); void (*cond_broadcast) (GCond *cond); void (*cond_wait) (GCond *cond, GMutex *mutex); gboolean (*cond_timed_wait) (GCond *cond, GMutex *mutex, GTimeVal *end_time); void (*cond_free) (GCond *cond); GPrivate* (*private_new) (GDestroyNotify destructor); gpointer (*private_get) (GPrivate *private_key); void (*private_set) (GPrivate *private_key, gpointer data); void (*thread_create) (GThreadFunc func, gpointer data, gulong stack_size, gboolean joinable, gboolean bound, GThreadPriority priority, gpointer thread, GError **error); void (*thread_yield) (void); void (*thread_join) (gpointer thread); void (*thread_exit) (void); void (*thread_set_priority)(gpointer thread, GThreadPriority priority); void (*thread_self) (gpointer thread); gboolean (*thread_equal) (gpointer thread1, gpointer thread2); }; extern GThreadFunctions g_thread_functions_for_glib_use; extern gboolean g_thread_use_default_impl; extern gboolean g_threads_got_initialized; void g_thread_init (GThreadFunctions *vtable); # 128 "/usr/include/glib-2.0/glib/gthread.h" void g_thread_init_with_errorcheck_mutexes (GThreadFunctions* vtable); # 138 "/usr/include/glib-2.0/glib/gthread.h" GMutex* g_static_mutex_get_mutex_impl (GMutex **mutex); # 209 "/usr/include/glib-2.0/glib/gthread.h" GThread* g_thread_create_full (GThreadFunc func, gpointer data, gulong stack_size, gboolean joinable, gboolean bound, GThreadPriority priority, GError **error); GThread* g_thread_self (void); void g_thread_exit (gpointer retval); gpointer g_thread_join (GThread *thread); void g_thread_set_priority (GThread *thread, GThreadPriority priority); # 234 "/usr/include/glib-2.0/glib/gthread.h" void g_static_mutex_init (GStaticMutex *mutex); void g_static_mutex_free (GStaticMutex *mutex); struct _GStaticPrivate { guint index; }; void g_static_private_init (GStaticPrivate *private_key); gpointer g_static_private_get (GStaticPrivate *private_key); void g_static_private_set (GStaticPrivate *private_key, gpointer data, GDestroyNotify notify); void g_static_private_free (GStaticPrivate *private_key); typedef struct _GStaticRecMutex GStaticRecMutex; struct _GStaticRecMutex { GStaticMutex mutex; guint depth; GSystemThread owner; }; void g_static_rec_mutex_init (GStaticRecMutex *mutex); void g_static_rec_mutex_lock (GStaticRecMutex *mutex); gboolean g_static_rec_mutex_trylock (GStaticRecMutex *mutex); void g_static_rec_mutex_unlock (GStaticRecMutex *mutex); void g_static_rec_mutex_lock_full (GStaticRecMutex *mutex, guint depth); guint g_static_rec_mutex_unlock_full (GStaticRecMutex *mutex); void g_static_rec_mutex_free (GStaticRecMutex *mutex); typedef struct _GStaticRWLock GStaticRWLock; struct _GStaticRWLock { GStaticMutex mutex; GCond *read_cond; GCond *write_cond; guint read_counter; gboolean have_writer; guint want_to_read; guint want_to_write; }; void g_static_rw_lock_init (GStaticRWLock* lock); void g_static_rw_lock_reader_lock (GStaticRWLock* lock); gboolean g_static_rw_lock_reader_trylock (GStaticRWLock* lock); void g_static_rw_lock_reader_unlock (GStaticRWLock* lock); void g_static_rw_lock_writer_lock (GStaticRWLock* lock); gboolean g_static_rw_lock_writer_trylock (GStaticRWLock* lock); void g_static_rw_lock_writer_unlock (GStaticRWLock* lock); void g_static_rw_lock_free (GStaticRWLock* lock); void g_thread_foreach (GFunc thread_func, gpointer user_data); typedef enum { G_ONCE_STATUS_NOTCALLED, G_ONCE_STATUS_PROGRESS, G_ONCE_STATUS_READY } GOnceStatus; typedef struct _GOnce GOnce; struct _GOnce { volatile GOnceStatus status; volatile gpointer retval; }; gpointer g_once_impl (GOnce *once, GThreadFunc func, gpointer arg); # 332 "/usr/include/glib-2.0/glib/gthread.h" extern void glib_dummy_decl (void); # 375 "/usr/include/glib-2.0/glib/gthread.h" # 31 "/usr/include/glib-2.0/glib/gasyncqueue.h" 2 typedef struct _GAsyncQueue GAsyncQueue; GAsyncQueue* g_async_queue_new (void); void g_async_queue_lock (GAsyncQueue *queue); void g_async_queue_unlock (GAsyncQueue *queue); GAsyncQueue* g_async_queue_ref (GAsyncQueue *queue); void g_async_queue_unref (GAsyncQueue *queue); # 59 "/usr/include/glib-2.0/glib/gasyncqueue.h" void g_async_queue_push (GAsyncQueue *queue, gpointer data); void g_async_queue_push_unlocked (GAsyncQueue *queue, gpointer data); void g_async_queue_push_sorted (GAsyncQueue *queue, gpointer data, GCompareDataFunc func, gpointer user_data); void g_async_queue_push_sorted_unlocked (GAsyncQueue *queue, gpointer data, GCompareDataFunc func, gpointer user_data); gpointer g_async_queue_pop (GAsyncQueue *queue); gpointer g_async_queue_pop_unlocked (GAsyncQueue *queue); gpointer g_async_queue_try_pop (GAsyncQueue *queue); gpointer g_async_queue_try_pop_unlocked (GAsyncQueue *queue); gpointer g_async_queue_timed_pop (GAsyncQueue *queue, GTimeVal *end_time); gpointer g_async_queue_timed_pop_unlocked (GAsyncQueue *queue, GTimeVal *end_time); # 100 "/usr/include/glib-2.0/glib/gasyncqueue.h" gint g_async_queue_length (GAsyncQueue *queue); gint g_async_queue_length_unlocked (GAsyncQueue *queue); void g_async_queue_sort (GAsyncQueue *queue, GCompareDataFunc func, gpointer user_data); void g_async_queue_sort_unlocked (GAsyncQueue *queue, GCompareDataFunc func, gpointer user_data); GMutex* _g_async_queue_get_mutex (GAsyncQueue *queue); # 33 "/usr/include/glib-2.0/glib.h" 2 # 1 "/usr/include/glib-2.0/glib/gbacktrace.h" 1 # 32 "/usr/include/glib-2.0/glib/gbacktrace.h" # 43 "/usr/include/glib-2.0/glib/gbacktrace.h" void g_on_error_query (const gchar *prg_name); void g_on_error_stack_trace (const gchar *prg_name); # 59 "/usr/include/glib-2.0/glib/gbacktrace.h" # 35 "/usr/include/glib-2.0/glib.h" 2 # 1 "/usr/include/glib-2.0/glib/gbase64.h" 1 # 26 "/usr/include/glib-2.0/glib/gbase64.h" gsize g_base64_encode_step (const guchar *in, gsize len, gboolean break_lines, gchar *out, gint *state, gint *save); gsize g_base64_encode_close (gboolean break_lines, gchar *out, gint *state, gint *save); gchar* g_base64_encode (const guchar *data, gsize len) __attribute__((__malloc__)); gsize g_base64_decode_step (const gchar *in, gsize len, guchar *out, gint *state, guint *save); guchar *g_base64_decode (const gchar *text, gsize *out_len) __attribute__((__malloc__)); # 36 "/usr/include/glib-2.0/glib.h" 2 # 1 "/usr/include/glib-2.0/glib/gbookmarkfile.h" 1 # 24 "/usr/include/glib-2.0/glib/gbookmarkfile.h" # 1 "/usr/include/time.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/time.h" 1 3 4 # 29 "/usr/include/gentoo-multilib/ppc64/time.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 30 "/usr/include/gentoo-multilib/ppc64/time.h" 2 3 4 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 1 3 4 # 40 "/usr/include/gentoo-multilib/ppc64/time.h" 2 3 4 # 1 "/usr/include/bits/time.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/bits/time.h" 1 3 4 # 9 "/usr/include/bits/time.h" 2 3 4 # 44 "/usr/include/gentoo-multilib/ppc64/time.h" 2 3 4 # 57 "/usr/include/gentoo-multilib/ppc64/time.h" 3 4 # 1 "/usr/include/bits/types.h" 1 3 4 # 58 "/usr/include/gentoo-multilib/ppc64/time.h" 2 3 4 typedef __clock_t clock_t; # 73 "/usr/include/gentoo-multilib/ppc64/time.h" 3 4 # 1 "/usr/include/bits/types.h" 1 3 4 # 74 "/usr/include/gentoo-multilib/ppc64/time.h" 2 3 4 typedef __time_t time_t; # 90 "/usr/include/gentoo-multilib/ppc64/time.h" 3 4 # 1 "/usr/include/bits/types.h" 1 3 4 # 91 "/usr/include/gentoo-multilib/ppc64/time.h" 2 3 4 typedef __clockid_t clockid_t; # 102 "/usr/include/gentoo-multilib/ppc64/time.h" 3 4 # 1 "/usr/include/bits/types.h" 1 3 4 # 103 "/usr/include/gentoo-multilib/ppc64/time.h" 2 3 4 typedef __timer_t timer_t; # 117 "/usr/include/gentoo-multilib/ppc64/time.h" 3 4 # 1 "/usr/include/bits/types.h" 1 3 4 # 118 "/usr/include/gentoo-multilib/ppc64/time.h" 2 3 4 struct timespec { __time_t tv_sec; long int tv_nsec; }; struct tm { int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int tm_year; int tm_wday; int tm_yday; int tm_isdst; long int tm_gmtoff; __const char *tm_zone; }; struct itimerspec { struct timespec it_interval; struct timespec it_value; }; struct sigevent; # 181 "/usr/include/gentoo-multilib/ppc64/time.h" 3 4 extern clock_t clock (void) __attribute__ ((__nothrow__)); extern time_t time (time_t *__timer) __attribute__ ((__nothrow__)); extern double difftime (time_t __time1, time_t __time0) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern time_t mktime (struct tm *__tp) __attribute__ ((__nothrow__)); extern size_t strftime (char *__restrict __s, size_t __maxsize, __const char *__restrict __format, __const struct tm *__restrict __tp) __attribute__ ((__nothrow__)); # 229 "/usr/include/gentoo-multilib/ppc64/time.h" 3 4 extern struct tm *gmtime (__const time_t *__timer) __attribute__ ((__nothrow__)); extern struct tm *localtime (__const time_t *__timer) __attribute__ ((__nothrow__)); extern struct tm *gmtime_r (__const time_t *__restrict __timer, struct tm *__restrict __tp) __attribute__ ((__nothrow__)); extern struct tm *localtime_r (__const time_t *__restrict __timer, struct tm *__restrict __tp) __attribute__ ((__nothrow__)); extern char *asctime (__const struct tm *__tp) __attribute__ ((__nothrow__)); extern char *ctime (__const time_t *__timer) __attribute__ ((__nothrow__)); extern char *asctime_r (__const struct tm *__restrict __tp, char *__restrict __buf) __attribute__ ((__nothrow__)); extern char *ctime_r (__const time_t *__restrict __timer, char *__restrict __buf) __attribute__ ((__nothrow__)); extern char *__tzname[2]; extern int __daylight; extern long int __timezone; extern char *tzname[2]; extern void tzset (void) __attribute__ ((__nothrow__)); extern int daylight; extern long int timezone; extern int stime (__const time_t *__when) __attribute__ ((__nothrow__)); # 312 "/usr/include/gentoo-multilib/ppc64/time.h" 3 4 extern time_t timegm (struct tm *__tp) __attribute__ ((__nothrow__)); extern time_t timelocal (struct tm *__tp) __attribute__ ((__nothrow__)); extern int dysize (int __year) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); # 327 "/usr/include/gentoo-multilib/ppc64/time.h" 3 4 extern int nanosleep (__const struct timespec *__requested_time, struct timespec *__remaining); extern int clock_getres (clockid_t __clock_id, struct timespec *__res) __attribute__ ((__nothrow__)); extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) __attribute__ ((__nothrow__)); extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp) __attribute__ ((__nothrow__)); extern int clock_nanosleep (clockid_t __clock_id, int __flags, __const struct timespec *__req, struct timespec *__rem); extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) __attribute__ ((__nothrow__)); extern int timer_create (clockid_t __clock_id, struct sigevent *__restrict __evp, timer_t *__restrict __timerid) __attribute__ ((__nothrow__)); extern int timer_delete (timer_t __timerid) __attribute__ ((__nothrow__)); extern int timer_settime (timer_t __timerid, int __flags, __const struct itimerspec *__restrict __value, struct itimerspec *__restrict __ovalue) __attribute__ ((__nothrow__)); extern int timer_gettime (timer_t __timerid, struct itimerspec *__value) __attribute__ ((__nothrow__)); extern int timer_getoverrun (timer_t __timerid) __attribute__ ((__nothrow__)); # 416 "/usr/include/gentoo-multilib/ppc64/time.h" 3 4 # 9 "/usr/include/time.h" 2 3 4 # 25 "/usr/include/glib-2.0/glib/gbookmarkfile.h" 2 typedef enum { G_BOOKMARK_FILE_ERROR_INVALID_URI, G_BOOKMARK_FILE_ERROR_INVALID_VALUE, G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED, G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND, G_BOOKMARK_FILE_ERROR_READ, G_BOOKMARK_FILE_ERROR_UNKNOWN_ENCODING, G_BOOKMARK_FILE_ERROR_WRITE, G_BOOKMARK_FILE_ERROR_FILE_NOT_FOUND } GBookmarkFileError; GQuark g_bookmark_file_error_quark (void); typedef struct _GBookmarkFile GBookmarkFile; GBookmarkFile *g_bookmark_file_new (void); void g_bookmark_file_free (GBookmarkFile *bookmark); gboolean g_bookmark_file_load_from_file (GBookmarkFile *bookmark, const gchar *filename, GError **error); gboolean g_bookmark_file_load_from_data (GBookmarkFile *bookmark, const gchar *data, gsize length, GError **error); gboolean g_bookmark_file_load_from_data_dirs (GBookmarkFile *bookmark, const gchar *file, gchar **full_path, GError **error); gchar * g_bookmark_file_to_data (GBookmarkFile *bookmark, gsize *length, GError **error) __attribute__((__malloc__)); gboolean g_bookmark_file_to_file (GBookmarkFile *bookmark, const gchar *filename, GError **error); void g_bookmark_file_set_title (GBookmarkFile *bookmark, const gchar *uri, const gchar *title); gchar * g_bookmark_file_get_title (GBookmarkFile *bookmark, const gchar *uri, GError **error) __attribute__((__malloc__)); void g_bookmark_file_set_description (GBookmarkFile *bookmark, const gchar *uri, const gchar *description); gchar * g_bookmark_file_get_description (GBookmarkFile *bookmark, const gchar *uri, GError **error) __attribute__((__malloc__)); void g_bookmark_file_set_mime_type (GBookmarkFile *bookmark, const gchar *uri, const gchar *mime_type); gchar * g_bookmark_file_get_mime_type (GBookmarkFile *bookmark, const gchar *uri, GError **error) __attribute__((__malloc__)); void g_bookmark_file_set_groups (GBookmarkFile *bookmark, const gchar *uri, const gchar **groups, gsize length); void g_bookmark_file_add_group (GBookmarkFile *bookmark, const gchar *uri, const gchar *group); gboolean g_bookmark_file_has_group (GBookmarkFile *bookmark, const gchar *uri, const gchar *group, GError **error); gchar ** g_bookmark_file_get_groups (GBookmarkFile *bookmark, const gchar *uri, gsize *length, GError **error) __attribute__((__malloc__)); void g_bookmark_file_add_application (GBookmarkFile *bookmark, const gchar *uri, const gchar *name, const gchar *exec); gboolean g_bookmark_file_has_application (GBookmarkFile *bookmark, const gchar *uri, const gchar *name, GError **error); gchar ** g_bookmark_file_get_applications (GBookmarkFile *bookmark, const gchar *uri, gsize *length, GError **error) __attribute__((__malloc__)); gboolean g_bookmark_file_set_app_info (GBookmarkFile *bookmark, const gchar *uri, const gchar *name, const gchar *exec, gint count, time_t stamp, GError **error); gboolean g_bookmark_file_get_app_info (GBookmarkFile *bookmark, const gchar *uri, const gchar *name, gchar **exec, guint *count, time_t *stamp, GError **error); void g_bookmark_file_set_is_private (GBookmarkFile *bookmark, const gchar *uri, gboolean is_private); gboolean g_bookmark_file_get_is_private (GBookmarkFile *bookmark, const gchar *uri, GError **error); void g_bookmark_file_set_icon (GBookmarkFile *bookmark, const gchar *uri, const gchar *href, const gchar *mime_type); gboolean g_bookmark_file_get_icon (GBookmarkFile *bookmark, const gchar *uri, gchar **href, gchar **mime_type, GError **error); void g_bookmark_file_set_added (GBookmarkFile *bookmark, const gchar *uri, time_t added); time_t g_bookmark_file_get_added (GBookmarkFile *bookmark, const gchar *uri, GError **error); void g_bookmark_file_set_modified (GBookmarkFile *bookmark, const gchar *uri, time_t modified); time_t g_bookmark_file_get_modified (GBookmarkFile *bookmark, const gchar *uri, GError **error); void g_bookmark_file_set_visited (GBookmarkFile *bookmark, const gchar *uri, time_t visited); time_t g_bookmark_file_get_visited (GBookmarkFile *bookmark, const gchar *uri, GError **error); gboolean g_bookmark_file_has_item (GBookmarkFile *bookmark, const gchar *uri); gint g_bookmark_file_get_size (GBookmarkFile *bookmark); gchar ** g_bookmark_file_get_uris (GBookmarkFile *bookmark, gsize *length) __attribute__((__malloc__)); gboolean g_bookmark_file_remove_group (GBookmarkFile *bookmark, const gchar *uri, const gchar *group, GError **error); gboolean g_bookmark_file_remove_application (GBookmarkFile *bookmark, const gchar *uri, const gchar *name, GError **error); gboolean g_bookmark_file_remove_item (GBookmarkFile *bookmark, const gchar *uri, GError **error); gboolean g_bookmark_file_move_item (GBookmarkFile *bookmark, const gchar *old_uri, const gchar *new_uri, GError **error); # 37 "/usr/include/glib-2.0/glib.h" 2 # 1 "/usr/include/glib-2.0/glib/gcache.h" 1 # 30 "/usr/include/glib-2.0/glib/gcache.h" # 1 "/usr/include/glib-2.0/glib/glist.h" 1 # 30 "/usr/include/glib-2.0/glib/glist.h" # 1 "/usr/include/glib-2.0/glib/gmem.h" 1 # 30 "/usr/include/glib-2.0/glib/gmem.h" # 1 "/usr/include/glib-2.0/glib/gslice.h" 1 # 28 "/usr/include/glib-2.0/glib/gslice.h" gpointer g_slice_alloc (gsize block_size) __attribute__((__malloc__)); gpointer g_slice_alloc0 (gsize block_size) __attribute__((__malloc__)); void g_slice_free1 (gsize block_size, gpointer mem_block); void g_slice_free_chain_with_offset (gsize block_size, gpointer mem_chain, gsize next_offset); # 63 "/usr/include/glib-2.0/glib/gslice.h" typedef enum { G_SLICE_CONFIG_ALWAYS_MALLOC = 1, G_SLICE_CONFIG_BYPASS_MAGAZINES, G_SLICE_CONFIG_WORKING_SET_MSECS, G_SLICE_CONFIG_COLOR_INCREMENT, G_SLICE_CONFIG_CHUNK_SIZES, G_SLICE_CONFIG_CONTENTION_COUNTER } GSliceConfig; void g_slice_set_config (GSliceConfig ckey, gint64 value); gint64 g_slice_get_config (GSliceConfig ckey); gint64* g_slice_get_config_state (GSliceConfig ckey, gint64 address, guint *n_values); # 31 "/usr/include/glib-2.0/glib/gmem.h" 2 typedef struct _GMemVTable GMemVTable; # 47 "/usr/include/glib-2.0/glib/gmem.h" gpointer g_malloc (gulong n_bytes) __attribute__((__malloc__)); gpointer g_malloc0 (gulong n_bytes) __attribute__((__malloc__)); gpointer g_realloc (gpointer mem, gulong n_bytes) __attribute__((warn_unused_result)); void g_free (gpointer mem); gpointer g_try_malloc (gulong n_bytes) __attribute__((__malloc__)); gpointer g_try_malloc0 (gulong n_bytes) __attribute__((__malloc__)); gpointer g_try_realloc (gpointer mem, gulong n_bytes) __attribute__((warn_unused_result)); # 79 "/usr/include/glib-2.0/glib/gmem.h" struct _GMemVTable { gpointer (*malloc) (gsize n_bytes); gpointer (*realloc) (gpointer mem, gsize n_bytes); void (*free) (gpointer mem); gpointer (*calloc) (gsize n_blocks, gsize n_block_bytes); gpointer (*try_malloc) (gsize n_bytes); gpointer (*try_realloc) (gpointer mem, gsize n_bytes); }; void g_mem_set_vtable (GMemVTable *vtable); gboolean g_mem_is_system_malloc (void); extern gboolean g_mem_gc_friendly; extern GMemVTable *glib_mem_profiler_table; void g_mem_profile (void); # 146 "/usr/include/glib-2.0/glib/gmem.h" # 31 "/usr/include/glib-2.0/glib/glist.h" 2 typedef struct _GList GList; struct _GList { gpointer data; GList *next; GList *prev; }; GList* g_list_alloc (void) __attribute__((warn_unused_result)); void g_list_free (GList *list); void g_list_free_1 (GList *list); GList* g_list_append (GList *list, gpointer data) __attribute__((warn_unused_result)); GList* g_list_prepend (GList *list, gpointer data) __attribute__((warn_unused_result)); GList* g_list_insert (GList *list, gpointer data, gint position) __attribute__((warn_unused_result)); GList* g_list_insert_sorted (GList *list, gpointer data, GCompareFunc func) __attribute__((warn_unused_result)); GList* g_list_insert_sorted_with_data (GList *list, gpointer data, GCompareDataFunc func, gpointer user_data) __attribute__((warn_unused_result)); GList* g_list_insert_before (GList *list, GList *sibling, gpointer data) __attribute__((warn_unused_result)); GList* g_list_concat (GList *list1, GList *list2) __attribute__((warn_unused_result)); GList* g_list_remove (GList *list, gconstpointer data) __attribute__((warn_unused_result)); GList* g_list_remove_all (GList *list, gconstpointer data) __attribute__((warn_unused_result)); GList* g_list_remove_link (GList *list, GList *llink) __attribute__((warn_unused_result)); GList* g_list_delete_link (GList *list, GList *link_) __attribute__((warn_unused_result)); GList* g_list_reverse (GList *list) __attribute__((warn_unused_result)); GList* g_list_copy (GList *list) __attribute__((warn_unused_result)); GList* g_list_nth (GList *list, guint n); GList* g_list_nth_prev (GList *list, guint n); GList* g_list_find (GList *list, gconstpointer data); GList* g_list_find_custom (GList *list, gconstpointer data, GCompareFunc func); gint g_list_position (GList *list, GList *llink); gint g_list_index (GList *list, gconstpointer data); GList* g_list_last (GList *list); GList* g_list_first (GList *list); guint g_list_length (GList *list); void g_list_foreach (GList *list, GFunc func, gpointer user_data); GList* g_list_sort (GList *list, GCompareFunc compare_func) __attribute__((warn_unused_result)); GList* g_list_sort_with_data (GList *list, GCompareDataFunc compare_func, gpointer user_data) __attribute__((warn_unused_result)); gpointer g_list_nth_data (GList *list, guint n); # 113 "/usr/include/glib-2.0/glib/glist.h" # 31 "/usr/include/glib-2.0/glib/gcache.h" 2 typedef struct _GCache GCache; typedef gpointer (*GCacheNewFunc) (gpointer key); typedef gpointer (*GCacheDupFunc) (gpointer value); typedef void (*GCacheDestroyFunc) (gpointer value); GCache* g_cache_new (GCacheNewFunc value_new_func, GCacheDestroyFunc value_destroy_func, GCacheDupFunc key_dup_func, GCacheDestroyFunc key_destroy_func, GHashFunc hash_key_func, GHashFunc hash_value_func, GEqualFunc key_equal_func); void g_cache_destroy (GCache *cache); gpointer g_cache_insert (GCache *cache, gpointer key); void g_cache_remove (GCache *cache, gconstpointer value); void g_cache_key_foreach (GCache *cache, GHFunc func, gpointer user_data); # 38 "/usr/include/glib-2.0/glib.h" 2 # 1 "/usr/include/glib-2.0/glib/gcompletion.h" 1 # 32 "/usr/include/glib-2.0/glib/gcompletion.h" typedef struct _GCompletion GCompletion; typedef gchar* (*GCompletionFunc) (gpointer); typedef gint (*GCompletionStrncmpFunc) (const gchar *s1, const gchar *s2, gsize n); struct _GCompletion { GList* items; GCompletionFunc func; gchar* prefix; GList* cache; GCompletionStrncmpFunc strncmp_func; }; GCompletion* g_completion_new (GCompletionFunc func); void g_completion_add_items (GCompletion* cmp, GList* items); void g_completion_remove_items (GCompletion* cmp, GList* items); void g_completion_clear_items (GCompletion* cmp); GList* g_completion_complete (GCompletion* cmp, const gchar* prefix, gchar** new_prefix); GList* g_completion_complete_utf8 (GCompletion *cmp, const gchar* prefix, gchar** new_prefix); void g_completion_set_compare (GCompletion *cmp, GCompletionStrncmpFunc strncmp_func); void g_completion_free (GCompletion* cmp); # 39 "/usr/include/glib-2.0/glib.h" 2 # 1 "/usr/include/glib-2.0/glib/gconvert.h" 1 # 30 "/usr/include/glib-2.0/glib/gconvert.h" # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 1 3 4 # 31 "/usr/include/glib-2.0/glib/gconvert.h" 2 typedef enum { G_CONVERT_ERROR_NO_CONVERSION, G_CONVERT_ERROR_ILLEGAL_SEQUENCE, G_CONVERT_ERROR_FAILED, G_CONVERT_ERROR_PARTIAL_INPUT, G_CONVERT_ERROR_BAD_URI, G_CONVERT_ERROR_NOT_ABSOLUTE_PATH } GConvertError; GQuark g_convert_error_quark (void); typedef struct _GIConv *GIConv; GIConv g_iconv_open (const gchar *to_codeset, const gchar *from_codeset); size_t g_iconv (GIConv converter, gchar **inbuf, gsize *inbytes_left, gchar **outbuf, gsize *outbytes_left); gint g_iconv_close (GIConv converter); gchar* g_convert (const gchar *str, gssize len, const gchar *to_codeset, const gchar *from_codeset, gsize *bytes_read, gsize *bytes_written, GError **error) __attribute__((__malloc__)); gchar* g_convert_with_iconv (const gchar *str, gssize len, GIConv converter, gsize *bytes_read, gsize *bytes_written, GError **error) __attribute__((__malloc__)); gchar* g_convert_with_fallback (const gchar *str, gssize len, const gchar *to_codeset, const gchar *from_codeset, gchar *fallback, gsize *bytes_read, gsize *bytes_written, GError **error) __attribute__((__malloc__)); gchar* g_locale_to_utf8 (const gchar *opsysstring, gssize len, gsize *bytes_read, gsize *bytes_written, GError **error) __attribute__((__malloc__)); gchar* g_locale_from_utf8 (const gchar *utf8string, gssize len, gsize *bytes_read, gsize *bytes_written, GError **error) __attribute__((__malloc__)); # 108 "/usr/include/glib-2.0/glib/gconvert.h" gchar* g_filename_to_utf8 (const gchar *opsysstring, gssize len, gsize *bytes_read, gsize *bytes_written, GError **error) __attribute__((__malloc__)); gchar* g_filename_from_utf8 (const gchar *utf8string, gssize len, gsize *bytes_read, gsize *bytes_written, GError **error) __attribute__((__malloc__)); gchar *g_filename_from_uri (const gchar *uri, gchar **hostname, GError **error) __attribute__((__malloc__)); gchar *g_filename_to_uri (const gchar *filename, const gchar *hostname, GError **error) __attribute__((__malloc__)); gchar *g_filename_display_name (const gchar *filename) __attribute__((__malloc__)); gboolean g_get_filename_charsets (const gchar ***charsets); gchar *g_filename_display_basename (const gchar *filename) __attribute__((__malloc__)); gchar **g_uri_list_extract_uris (const gchar *uri_list) __attribute__((__malloc__)); # 40 "/usr/include/glib-2.0/glib.h" 2 # 1 "/usr/include/glib-2.0/glib/gdataset.h" 1 # 32 "/usr/include/glib-2.0/glib/gdataset.h" typedef struct _GData GData; typedef void (*GDataForeachFunc) (GQuark key_id, gpointer data, gpointer user_data); void g_datalist_init (GData **datalist); void g_datalist_clear (GData **datalist); gpointer g_datalist_id_get_data (GData **datalist, GQuark key_id); void g_datalist_id_set_data_full (GData **datalist, GQuark key_id, gpointer data, GDestroyNotify destroy_func); gpointer g_datalist_id_remove_no_notify (GData **datalist, GQuark key_id); void g_datalist_foreach (GData **datalist, GDataForeachFunc func, gpointer user_data); # 65 "/usr/include/glib-2.0/glib/gdataset.h" void g_datalist_set_flags (GData **datalist, guint flags); void g_datalist_unset_flags (GData **datalist, guint flags); guint g_datalist_get_flags (GData **datalist); # 89 "/usr/include/glib-2.0/glib/gdataset.h" void g_dataset_destroy (gconstpointer dataset_location); gpointer g_dataset_id_get_data (gconstpointer dataset_location, GQuark key_id); void g_dataset_id_set_data_full (gconstpointer dataset_location, GQuark key_id, gpointer data, GDestroyNotify destroy_func); gpointer g_dataset_id_remove_no_notify (gconstpointer dataset_location, GQuark key_id); void g_dataset_foreach (gconstpointer dataset_location, GDataForeachFunc func, gpointer user_data); # 116 "/usr/include/glib-2.0/glib/gdataset.h" # 41 "/usr/include/glib-2.0/glib.h" 2 # 1 "/usr/include/glib-2.0/glib/gdate.h" 1 # 30 "/usr/include/glib-2.0/glib/gdate.h" # 1 "/usr/include/time.h" 1 3 4 # 31 "/usr/include/glib-2.0/glib/gdate.h" 2 # 46 "/usr/include/glib-2.0/glib/gdate.h" typedef gint32 GTime; typedef guint16 GDateYear; typedef guint8 GDateDay; typedef struct _GDate GDate; struct tm; typedef enum { G_DATE_DAY = 0, G_DATE_MONTH = 1, G_DATE_YEAR = 2 } GDateDMY; typedef enum { G_DATE_BAD_WEEKDAY = 0, G_DATE_MONDAY = 1, G_DATE_TUESDAY = 2, G_DATE_WEDNESDAY = 3, G_DATE_THURSDAY = 4, G_DATE_FRIDAY = 5, G_DATE_SATURDAY = 6, G_DATE_SUNDAY = 7 } GDateWeekday; typedef enum { G_DATE_BAD_MONTH = 0, G_DATE_JANUARY = 1, G_DATE_FEBRUARY = 2, G_DATE_MARCH = 3, G_DATE_APRIL = 4, G_DATE_MAY = 5, G_DATE_JUNE = 6, G_DATE_JULY = 7, G_DATE_AUGUST = 8, G_DATE_SEPTEMBER = 9, G_DATE_OCTOBER = 10, G_DATE_NOVEMBER = 11, G_DATE_DECEMBER = 12 } GDateMonth; # 99 "/usr/include/glib-2.0/glib/gdate.h" struct _GDate { guint julian_days : 32; guint julian : 1; guint dmy : 1; guint day : 6; guint month : 4; guint year : 16; }; GDate* g_date_new (void); GDate* g_date_new_dmy (GDateDay day, GDateMonth month, GDateYear year); GDate* g_date_new_julian (guint32 julian_day); void g_date_free (GDate *date); gboolean g_date_valid (const GDate *date); gboolean g_date_valid_day (GDateDay day) __attribute__((__const__)); gboolean g_date_valid_month (GDateMonth month) __attribute__((__const__)); gboolean g_date_valid_year (GDateYear year) __attribute__((__const__)); gboolean g_date_valid_weekday (GDateWeekday weekday) __attribute__((__const__)); gboolean g_date_valid_julian (guint32 julian_date) __attribute__((__const__)); gboolean g_date_valid_dmy (GDateDay day, GDateMonth month, GDateYear year) __attribute__((__const__)); GDateWeekday g_date_get_weekday (const GDate *date); GDateMonth g_date_get_month (const GDate *date); GDateYear g_date_get_year (const GDate *date); GDateDay g_date_get_day (const GDate *date); guint32 g_date_get_julian (const GDate *date); guint g_date_get_day_of_year (const GDate *date); guint g_date_get_monday_week_of_year (const GDate *date); guint g_date_get_sunday_week_of_year (const GDate *date); guint g_date_get_iso8601_week_of_year (const GDate *date); void g_date_clear (GDate *date, guint n_dates); void g_date_set_parse (GDate *date, const gchar *str); void g_date_set_time_t (GDate *date, time_t timet); void g_date_set_time_val (GDate *date, GTimeVal *timeval); void g_date_set_month (GDate *date, GDateMonth month); void g_date_set_day (GDate *date, GDateDay day); void g_date_set_year (GDate *date, GDateYear year); void g_date_set_dmy (GDate *date, GDateDay day, GDateMonth month, GDateYear y); void g_date_set_julian (GDate *date, guint32 julian_date); gboolean g_date_is_first_of_month (const GDate *date); gboolean g_date_is_last_of_month (const GDate *date); void g_date_add_days (GDate *date, guint n_days); void g_date_subtract_days (GDate *date, guint n_days); void g_date_add_months (GDate *date, guint n_months); void g_date_subtract_months (GDate *date, guint n_months); void g_date_add_years (GDate *date, guint n_years); void g_date_subtract_years (GDate *date, guint n_years); gboolean g_date_is_leap_year (GDateYear year) __attribute__((__const__)); guint8 g_date_get_days_in_month (GDateMonth month, GDateYear year) __attribute__((__const__)); guint8 g_date_get_monday_weeks_in_year (GDateYear year) __attribute__((__const__)); guint8 g_date_get_sunday_weeks_in_year (GDateYear year) __attribute__((__const__)); gint g_date_days_between (const GDate *date1, const GDate *date2); gint g_date_compare (const GDate *lhs, const GDate *rhs); void g_date_to_struct_tm (const GDate *date, struct tm *tm); void g_date_clamp (GDate *date, const GDate *min_date, const GDate *max_date); void g_date_order (GDate *date1, GDate *date2); gsize g_date_strftime (gchar *s, gsize slen, const gchar *format, const GDate *date); # 259 "/usr/include/glib-2.0/glib/gdate.h" # 42 "/usr/include/glib-2.0/glib.h" 2 # 1 "/usr/include/glib-2.0/glib/gdir.h" 1 # 28 "/usr/include/glib-2.0/glib/gdir.h" typedef struct _GDir GDir; GDir * g_dir_open (const gchar *path, guint flags, GError **error); const gchar *g_dir_read_name (GDir *dir); void g_dir_rewind (GDir *dir); void g_dir_close (GDir *dir); # 43 "/usr/include/glib-2.0/glib.h" 2 # 1 "/usr/include/glib-2.0/glib/gfileutils.h" 1 # 26 "/usr/include/glib-2.0/glib/gfileutils.h" typedef enum { G_FILE_ERROR_EXIST, G_FILE_ERROR_ISDIR, G_FILE_ERROR_ACCES, G_FILE_ERROR_NAMETOOLONG, G_FILE_ERROR_NOENT, G_FILE_ERROR_NOTDIR, G_FILE_ERROR_NXIO, G_FILE_ERROR_NODEV, G_FILE_ERROR_ROFS, G_FILE_ERROR_TXTBSY, G_FILE_ERROR_FAULT, G_FILE_ERROR_LOOP, G_FILE_ERROR_NOSPC, G_FILE_ERROR_NOMEM, G_FILE_ERROR_MFILE, G_FILE_ERROR_NFILE, G_FILE_ERROR_BADF, G_FILE_ERROR_INVAL, G_FILE_ERROR_PIPE, G_FILE_ERROR_AGAIN, G_FILE_ERROR_INTR, G_FILE_ERROR_IO, G_FILE_ERROR_PERM, G_FILE_ERROR_NOSYS, G_FILE_ERROR_FAILED } GFileError; typedef enum { G_FILE_TEST_IS_REGULAR = 1 << 0, G_FILE_TEST_IS_SYMLINK = 1 << 1, G_FILE_TEST_IS_DIR = 1 << 2, G_FILE_TEST_IS_EXECUTABLE = 1 << 3, G_FILE_TEST_EXISTS = 1 << 4 } GFileTest; GQuark g_file_error_quark (void); GFileError g_file_error_from_errno (gint err_no); # 83 "/usr/include/glib-2.0/glib/gfileutils.h" gboolean g_file_test (const gchar *filename, GFileTest test); gboolean g_file_get_contents (const gchar *filename, gchar **contents, gsize *length, GError **error); gboolean g_file_set_contents (const gchar *filename, const gchar *contents, gssize length, GError **error); gchar *g_file_read_link (const gchar *filename, GError **error); gint g_mkstemp (gchar *tmpl); gint g_file_open_tmp (const gchar *tmpl, gchar **name_used, GError **error); gchar *g_build_path (const gchar *separator, const gchar *first_element, ...) __attribute__((__malloc__)) __attribute__((__sentinel__)); gchar *g_build_pathv (const gchar *separator, gchar **args) __attribute__((__malloc__)); gchar *g_build_filename (const gchar *first_element, ...) __attribute__((__malloc__)) __attribute__((__sentinel__)); gchar *g_build_filenamev (gchar **args) __attribute__((__malloc__)); int g_mkdir_with_parents (const gchar *pathname, int mode); # 45 "/usr/include/glib-2.0/glib.h" 2 # 1 "/usr/include/glib-2.0/glib/ghash.h" 1 # 32 "/usr/include/glib-2.0/glib/ghash.h" typedef struct _GHashTable GHashTable; typedef gboolean (*GHRFunc) (gpointer key, gpointer value, gpointer user_data); GHashTable* g_hash_table_new (GHashFunc hash_func, GEqualFunc key_equal_func); GHashTable* g_hash_table_new_full (GHashFunc hash_func, GEqualFunc key_equal_func, GDestroyNotify key_destroy_func, GDestroyNotify value_destroy_func); void g_hash_table_destroy (GHashTable *hash_table); void g_hash_table_insert (GHashTable *hash_table, gpointer key, gpointer value); void g_hash_table_replace (GHashTable *hash_table, gpointer key, gpointer value); gboolean g_hash_table_remove (GHashTable *hash_table, gconstpointer key); void g_hash_table_remove_all (GHashTable *hash_table); gboolean g_hash_table_steal (GHashTable *hash_table, gconstpointer key); void g_hash_table_steal_all (GHashTable *hash_table); gpointer g_hash_table_lookup (GHashTable *hash_table, gconstpointer key); gboolean g_hash_table_lookup_extended (GHashTable *hash_table, gconstpointer lookup_key, gpointer *orig_key, gpointer *value); void g_hash_table_foreach (GHashTable *hash_table, GHFunc func, gpointer user_data); gpointer g_hash_table_find (GHashTable *hash_table, GHRFunc predicate, gpointer user_data); guint g_hash_table_foreach_remove (GHashTable *hash_table, GHRFunc func, gpointer user_data); guint g_hash_table_foreach_steal (GHashTable *hash_table, GHRFunc func, gpointer user_data); guint g_hash_table_size (GHashTable *hash_table); GHashTable* g_hash_table_ref (GHashTable *hash_table); void g_hash_table_unref (GHashTable *hash_table); # 96 "/usr/include/glib-2.0/glib/ghash.h" gboolean g_str_equal (gconstpointer v1, gconstpointer v2); guint g_str_hash (gconstpointer v); gboolean g_int_equal (gconstpointer v1, gconstpointer v2); guint g_int_hash (gconstpointer v); guint g_direct_hash (gconstpointer v) __attribute__((__const__)); gboolean g_direct_equal (gconstpointer v1, gconstpointer v2) __attribute__((__const__)); # 46 "/usr/include/glib-2.0/glib.h" 2 # 1 "/usr/include/glib-2.0/glib/ghook.h" 1 # 32 "/usr/include/glib-2.0/glib/ghook.h" typedef struct _GHook GHook; typedef struct _GHookList GHookList; typedef gint (*GHookCompareFunc) (GHook *new_hook, GHook *sibling); typedef gboolean (*GHookFindFunc) (GHook *hook, gpointer data); typedef void (*GHookMarshaller) (GHook *hook, gpointer marshal_data); typedef gboolean (*GHookCheckMarshaller) (GHook *hook, gpointer marshal_data); typedef void (*GHookFunc) (gpointer data); typedef gboolean (*GHookCheckFunc) (gpointer data); typedef void (*GHookFinalizeFunc) (GHookList *hook_list, GHook *hook); typedef enum { G_HOOK_FLAG_ACTIVE = 1 << 0, G_HOOK_FLAG_IN_CALL = 1 << 1, G_HOOK_FLAG_MASK = 0x0f } GHookFlagMask; struct _GHookList { gulong seq_id; guint hook_size : 16; guint is_setup : 1; GHook *hooks; gpointer dummy3; GHookFinalizeFunc finalize_hook; gpointer dummy[2]; }; struct _GHook { gpointer data; GHook *next; GHook *prev; guint ref_count; gulong hook_id; guint flags; gpointer func; GDestroyNotify destroy; }; # 102 "/usr/include/glib-2.0/glib/ghook.h" void g_hook_list_init (GHookList *hook_list, guint hook_size); void g_hook_list_clear (GHookList *hook_list); GHook* g_hook_alloc (GHookList *hook_list); void g_hook_free (GHookList *hook_list, GHook *hook); GHook * g_hook_ref (GHookList *hook_list, GHook *hook); void g_hook_unref (GHookList *hook_list, GHook *hook); gboolean g_hook_destroy (GHookList *hook_list, gulong hook_id); void g_hook_destroy_link (GHookList *hook_list, GHook *hook); void g_hook_prepend (GHookList *hook_list, GHook *hook); void g_hook_insert_before (GHookList *hook_list, GHook *sibling, GHook *hook); void g_hook_insert_sorted (GHookList *hook_list, GHook *hook, GHookCompareFunc func); GHook* g_hook_get (GHookList *hook_list, gulong hook_id); GHook* g_hook_find (GHookList *hook_list, gboolean need_valids, GHookFindFunc func, gpointer data); GHook* g_hook_find_data (GHookList *hook_list, gboolean need_valids, gpointer data); GHook* g_hook_find_func (GHookList *hook_list, gboolean need_valids, gpointer func); GHook* g_hook_find_func_data (GHookList *hook_list, gboolean need_valids, gpointer func, gpointer data); GHook* g_hook_first_valid (GHookList *hook_list, gboolean may_be_in_call); GHook* g_hook_next_valid (GHookList *hook_list, GHook *hook, gboolean may_be_in_call); gint g_hook_compare_ids (GHook *new_hook, GHook *sibling); void g_hook_list_invoke (GHookList *hook_list, gboolean may_recurse); void g_hook_list_invoke_check (GHookList *hook_list, gboolean may_recurse); void g_hook_list_marshal (GHookList *hook_list, gboolean may_recurse, GHookMarshaller marshaller, gpointer marshal_data); void g_hook_list_marshal_check (GHookList *hook_list, gboolean may_recurse, GHookCheckMarshaller marshaller, gpointer marshal_data); # 47 "/usr/include/glib-2.0/glib.h" 2 # 1 "/usr/include/glib-2.0/glib/giochannel.h" 1 # 31 "/usr/include/glib-2.0/glib/giochannel.h" # 1 "/usr/include/glib-2.0/glib/gmain.h" 1 # 23 "/usr/include/glib-2.0/glib/gmain.h" # 1 "/usr/include/glib-2.0/glib/gslist.h" 1 # 32 "/usr/include/glib-2.0/glib/gslist.h" typedef struct _GSList GSList; struct _GSList { gpointer data; GSList *next; }; GSList* g_slist_alloc (void) __attribute__((warn_unused_result)); void g_slist_free (GSList *list); void g_slist_free_1 (GSList *list); GSList* g_slist_append (GSList *list, gpointer data) __attribute__((warn_unused_result)); GSList* g_slist_prepend (GSList *list, gpointer data) __attribute__((warn_unused_result)); GSList* g_slist_insert (GSList *list, gpointer data, gint position) __attribute__((warn_unused_result)); GSList* g_slist_insert_sorted (GSList *list, gpointer data, GCompareFunc func) __attribute__((warn_unused_result)); GSList* g_slist_insert_sorted_with_data (GSList *list, gpointer data, GCompareDataFunc func, gpointer user_data) __attribute__((warn_unused_result)); GSList* g_slist_insert_before (GSList *slist, GSList *sibling, gpointer data) __attribute__((warn_unused_result)); GSList* g_slist_concat (GSList *list1, GSList *list2) __attribute__((warn_unused_result)); GSList* g_slist_remove (GSList *list, gconstpointer data) __attribute__((warn_unused_result)); GSList* g_slist_remove_all (GSList *list, gconstpointer data) __attribute__((warn_unused_result)); GSList* g_slist_remove_link (GSList *list, GSList *link_) __attribute__((warn_unused_result)); GSList* g_slist_delete_link (GSList *list, GSList *link_) __attribute__((warn_unused_result)); GSList* g_slist_reverse (GSList *list) __attribute__((warn_unused_result)); GSList* g_slist_copy (GSList *list) __attribute__((warn_unused_result)); GSList* g_slist_nth (GSList *list, guint n); GSList* g_slist_find (GSList *list, gconstpointer data); GSList* g_slist_find_custom (GSList *list, gconstpointer data, GCompareFunc func); gint g_slist_position (GSList *list, GSList *llink); gint g_slist_index (GSList *list, gconstpointer data); GSList* g_slist_last (GSList *list); guint g_slist_length (GSList *list); void g_slist_foreach (GSList *list, GFunc func, gpointer user_data); GSList* g_slist_sort (GSList *list, GCompareFunc compare_func) __attribute__((warn_unused_result)); GSList* g_slist_sort_with_data (GSList *list, GCompareDataFunc compare_func, gpointer user_data) __attribute__((warn_unused_result)); gpointer g_slist_nth_data (GSList *list, guint n); # 24 "/usr/include/glib-2.0/glib/gmain.h" 2 typedef struct _GMainContext GMainContext; typedef struct _GMainLoop GMainLoop; typedef struct _GSource GSource; typedef struct _GSourceCallbackFuncs GSourceCallbackFuncs; typedef struct _GSourceFuncs GSourceFuncs; typedef gboolean (*GSourceFunc) (gpointer data); typedef void (*GChildWatchFunc) (GPid pid, gint status, gpointer data); struct _GSource { gpointer callback_data; GSourceCallbackFuncs *callback_funcs; GSourceFuncs *source_funcs; guint ref_count; GMainContext *context; gint priority; guint flags; guint source_id; GSList *poll_fds; GSource *prev; GSource *next; gpointer reserved1; gpointer reserved2; }; struct _GSourceCallbackFuncs { void (*ref) (gpointer cb_data); void (*unref) (gpointer cb_data); void (*get) (gpointer cb_data, GSource *source, GSourceFunc *func, gpointer *data); }; typedef void (*GSourceDummyMarshal) (void); struct _GSourceFuncs { gboolean (*prepare) (GSource *source, gint *timeout_); gboolean (*check) (GSource *source); gboolean (*dispatch) (GSource *source, GSourceFunc callback, gpointer user_data); void (*finalize) (GSource *source); GSourceFunc closure_callback; GSourceDummyMarshal closure_marshal; }; # 116 "/usr/include/glib-2.0/glib/gmain.h" typedef struct _GPollFD GPollFD; typedef gint (*GPollFunc) (GPollFD *ufds, guint nfsd, gint timeout_); struct _GPollFD { gint fd; gushort events; gushort revents; }; # 138 "/usr/include/glib-2.0/glib/gmain.h" GMainContext *g_main_context_new (void); GMainContext *g_main_context_ref (GMainContext *context); void g_main_context_unref (GMainContext *context); GMainContext *g_main_context_default (void); gboolean g_main_context_iteration (GMainContext *context, gboolean may_block); gboolean g_main_context_pending (GMainContext *context); GSource *g_main_context_find_source_by_id (GMainContext *context, guint source_id); GSource *g_main_context_find_source_by_user_data (GMainContext *context, gpointer user_data); GSource *g_main_context_find_source_by_funcs_user_data (GMainContext *context, GSourceFuncs *funcs, gpointer user_data); void g_main_context_wakeup (GMainContext *context); gboolean g_main_context_acquire (GMainContext *context); void g_main_context_release (GMainContext *context); gboolean g_main_context_is_owner (GMainContext *context); gboolean g_main_context_wait (GMainContext *context, GCond *cond, GMutex *mutex); gboolean g_main_context_prepare (GMainContext *context, gint *priority); gint g_main_context_query (GMainContext *context, gint max_priority, gint *timeout_, GPollFD *fds, gint n_fds); gint g_main_context_check (GMainContext *context, gint max_priority, GPollFD *fds, gint n_fds); void g_main_context_dispatch (GMainContext *context); void g_main_context_set_poll_func (GMainContext *context, GPollFunc func); GPollFunc g_main_context_get_poll_func (GMainContext *context); void g_main_context_add_poll (GMainContext *context, GPollFD *fd, gint priority); void g_main_context_remove_poll (GMainContext *context, GPollFD *fd); gint g_main_depth (void); GSource *g_main_current_source (void); GMainLoop *g_main_loop_new (GMainContext *context, gboolean is_running); void g_main_loop_run (GMainLoop *loop); void g_main_loop_quit (GMainLoop *loop); GMainLoop *g_main_loop_ref (GMainLoop *loop); void g_main_loop_unref (GMainLoop *loop); gboolean g_main_loop_is_running (GMainLoop *loop); GMainContext *g_main_loop_get_context (GMainLoop *loop); GSource *g_source_new (GSourceFuncs *source_funcs, guint struct_size); GSource *g_source_ref (GSource *source); void g_source_unref (GSource *source); guint g_source_attach (GSource *source, GMainContext *context); void g_source_destroy (GSource *source); void g_source_set_priority (GSource *source, gint priority); gint g_source_get_priority (GSource *source); void g_source_set_can_recurse (GSource *source, gboolean can_recurse); gboolean g_source_get_can_recurse (GSource *source); guint g_source_get_id (GSource *source); GMainContext *g_source_get_context (GSource *source); void g_source_set_callback (GSource *source, GSourceFunc func, gpointer data, GDestroyNotify notify); void g_source_set_funcs (GSource *source, GSourceFuncs *funcs); gboolean g_source_is_destroyed (GSource *source); void g_source_set_callback_indirect (GSource *source, gpointer callback_data, GSourceCallbackFuncs *callback_funcs); void g_source_add_poll (GSource *source, GPollFD *fd); void g_source_remove_poll (GSource *source, GPollFD *fd); void g_source_get_current_time (GSource *source, GTimeVal *timeval); GSource *g_idle_source_new (void); GSource *g_child_watch_source_new (GPid pid); GSource *g_timeout_source_new (guint interval); void g_get_current_time (GTimeVal *result); # 287 "/usr/include/glib-2.0/glib/gmain.h" gboolean g_source_remove (guint tag); gboolean g_source_remove_by_user_data (gpointer user_data); gboolean g_source_remove_by_funcs_user_data (GSourceFuncs *funcs, gpointer user_data); guint g_timeout_add_full (gint priority, guint interval, GSourceFunc function, gpointer data, GDestroyNotify notify); guint g_timeout_add (guint interval, GSourceFunc function, gpointer data); guint g_child_watch_add_full (gint priority, GPid pid, GChildWatchFunc function, gpointer data, GDestroyNotify notify); guint g_child_watch_add (GPid pid, GChildWatchFunc function, gpointer data); guint g_idle_add (GSourceFunc function, gpointer data); guint g_idle_add_full (gint priority, GSourceFunc function, gpointer data, GDestroyNotify notify); gboolean g_idle_remove_by_data (gpointer data); extern GSourceFuncs g_timeout_funcs; extern GSourceFuncs g_child_watch_funcs; extern GSourceFuncs g_idle_funcs; # 32 "/usr/include/glib-2.0/glib/giochannel.h" 2 # 1 "/usr/include/glib-2.0/glib/gstring.h" 1 # 31 "/usr/include/glib-2.0/glib/gstring.h" # 1 "/usr/include/glib-2.0/glib/gunicode.h" 1 # 28 "/usr/include/glib-2.0/glib/gunicode.h" typedef guint32 gunichar; typedef guint16 gunichar2; typedef enum { G_UNICODE_CONTROL, G_UNICODE_FORMAT, G_UNICODE_UNASSIGNED, G_UNICODE_PRIVATE_USE, G_UNICODE_SURROGATE, G_UNICODE_LOWERCASE_LETTER, G_UNICODE_MODIFIER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_TITLECASE_LETTER, G_UNICODE_UPPERCASE_LETTER, G_UNICODE_COMBINING_MARK, G_UNICODE_ENCLOSING_MARK, G_UNICODE_NON_SPACING_MARK, G_UNICODE_DECIMAL_NUMBER, G_UNICODE_LETTER_NUMBER, G_UNICODE_OTHER_NUMBER, G_UNICODE_CONNECT_PUNCTUATION, G_UNICODE_DASH_PUNCTUATION, G_UNICODE_CLOSE_PUNCTUATION, G_UNICODE_FINAL_PUNCTUATION, G_UNICODE_INITIAL_PUNCTUATION, G_UNICODE_OTHER_PUNCTUATION, G_UNICODE_OPEN_PUNCTUATION, G_UNICODE_CURRENCY_SYMBOL, G_UNICODE_MODIFIER_SYMBOL, G_UNICODE_MATH_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_LINE_SEPARATOR, G_UNICODE_PARAGRAPH_SEPARATOR, G_UNICODE_SPACE_SEPARATOR } GUnicodeType; typedef enum { G_UNICODE_BREAK_MANDATORY, G_UNICODE_BREAK_CARRIAGE_RETURN, G_UNICODE_BREAK_LINE_FEED, G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_SURROGATE, G_UNICODE_BREAK_ZERO_WIDTH_SPACE, G_UNICODE_BREAK_INSEPARABLE, G_UNICODE_BREAK_NON_BREAKING_GLUE, G_UNICODE_BREAK_CONTINGENT, G_UNICODE_BREAK_SPACE, G_UNICODE_BREAK_AFTER, G_UNICODE_BREAK_BEFORE, G_UNICODE_BREAK_BEFORE_AND_AFTER, G_UNICODE_BREAK_HYPHEN, G_UNICODE_BREAK_NON_STARTER, G_UNICODE_BREAK_OPEN_PUNCTUATION, G_UNICODE_BREAK_CLOSE_PUNCTUATION, G_UNICODE_BREAK_QUOTATION, G_UNICODE_BREAK_EXCLAMATION, G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_NUMERIC, G_UNICODE_BREAK_INFIX_SEPARATOR, G_UNICODE_BREAK_SYMBOL, G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_PREFIX, G_UNICODE_BREAK_POSTFIX, G_UNICODE_BREAK_COMPLEX_CONTEXT, G_UNICODE_BREAK_AMBIGUOUS, G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_NEXT_LINE, G_UNICODE_BREAK_WORD_JOINER, G_UNICODE_BREAK_HANGUL_L_JAMO, G_UNICODE_BREAK_HANGUL_V_JAMO, G_UNICODE_BREAK_HANGUL_T_JAMO, G_UNICODE_BREAK_HANGUL_LV_SYLLABLE, G_UNICODE_BREAK_HANGUL_LVT_SYLLABLE } GUnicodeBreakType; gboolean g_get_charset (const char **charset); gboolean g_unichar_isalnum (gunichar c) __attribute__((__const__)); gboolean g_unichar_isalpha (gunichar c) __attribute__((__const__)); gboolean g_unichar_iscntrl (gunichar c) __attribute__((__const__)); gboolean g_unichar_isdigit (gunichar c) __attribute__((__const__)); gboolean g_unichar_isgraph (gunichar c) __attribute__((__const__)); gboolean g_unichar_islower (gunichar c) __attribute__((__const__)); gboolean g_unichar_isprint (gunichar c) __attribute__((__const__)); gboolean g_unichar_ispunct (gunichar c) __attribute__((__const__)); gboolean g_unichar_isspace (gunichar c) __attribute__((__const__)); gboolean g_unichar_isupper (gunichar c) __attribute__((__const__)); gboolean g_unichar_isxdigit (gunichar c) __attribute__((__const__)); gboolean g_unichar_istitle (gunichar c) __attribute__((__const__)); gboolean g_unichar_isdefined (gunichar c) __attribute__((__const__)); gboolean g_unichar_iswide (gunichar c) __attribute__((__const__)); gboolean g_unichar_iswide_cjk(gunichar c) __attribute__((__const__)); gunichar g_unichar_toupper (gunichar c) __attribute__((__const__)); gunichar g_unichar_tolower (gunichar c) __attribute__((__const__)); gunichar g_unichar_totitle (gunichar c) __attribute__((__const__)); gint g_unichar_digit_value (gunichar c) __attribute__((__const__)); gint g_unichar_xdigit_value (gunichar c) __attribute__((__const__)); GUnicodeType g_unichar_type (gunichar c) __attribute__((__const__)); GUnicodeBreakType g_unichar_break_type (gunichar c) __attribute__((__const__)); void g_unicode_canonical_ordering (gunichar *string, gsize len); gunichar *g_unicode_canonical_decomposition (gunichar ch, gsize *result_len) __attribute__((__malloc__)); extern const gchar * const g_utf8_skip; gunichar g_utf8_get_char (const gchar *p); gunichar g_utf8_get_char_validated (const gchar *p, gssize max_len); gchar* g_utf8_offset_to_pointer (const gchar *str, glong offset); glong g_utf8_pointer_to_offset (const gchar *str, const gchar *pos); gchar* g_utf8_prev_char (const gchar *p); gchar* g_utf8_find_next_char (const gchar *p, const gchar *end); gchar* g_utf8_find_prev_char (const gchar *str, const gchar *p); glong g_utf8_strlen (const gchar *p, gssize max); gchar* g_utf8_strncpy (gchar *dest, const gchar *src, gsize n); gchar* g_utf8_strchr (const gchar *p, gssize len, gunichar c); gchar* g_utf8_strrchr (const gchar *p, gssize len, gunichar c); gchar* g_utf8_strreverse (const gchar *str, gssize len); gunichar2 *g_utf8_to_utf16 (const gchar *str, glong len, glong *items_read, glong *items_written, GError **error) __attribute__((__malloc__)); gunichar * g_utf8_to_ucs4 (const gchar *str, glong len, glong *items_read, glong *items_written, GError **error) __attribute__((__malloc__)); gunichar * g_utf8_to_ucs4_fast (const gchar *str, glong len, glong *items_written) __attribute__((__malloc__)); gunichar * g_utf16_to_ucs4 (const gunichar2 *str, glong len, glong *items_read, glong *items_written, GError **error) __attribute__((__malloc__)); gchar* g_utf16_to_utf8 (const gunichar2 *str, glong len, glong *items_read, glong *items_written, GError **error) __attribute__((__malloc__)); gunichar2 *g_ucs4_to_utf16 (const gunichar *str, glong len, glong *items_read, glong *items_written, GError **error) __attribute__((__malloc__)); gchar* g_ucs4_to_utf8 (const gunichar *str, glong len, glong *items_read, glong *items_written, GError **error) __attribute__((__malloc__)); gint g_unichar_to_utf8 (gunichar c, gchar *outbuf); gboolean g_utf8_validate (const gchar *str, gssize max_len, const gchar **end); gboolean g_unichar_validate (gunichar ch); gchar *g_utf8_strup (const gchar *str, gssize len) __attribute__((__malloc__)); gchar *g_utf8_strdown (const gchar *str, gssize len) __attribute__((__malloc__)); gchar *g_utf8_casefold (const gchar *str, gssize len) __attribute__((__malloc__)); typedef enum { G_NORMALIZE_DEFAULT, G_NORMALIZE_NFD = G_NORMALIZE_DEFAULT, G_NORMALIZE_DEFAULT_COMPOSE, G_NORMALIZE_NFC = G_NORMALIZE_DEFAULT_COMPOSE, G_NORMALIZE_ALL, G_NORMALIZE_NFKD = G_NORMALIZE_ALL, G_NORMALIZE_ALL_COMPOSE, G_NORMALIZE_NFKC = G_NORMALIZE_ALL_COMPOSE } GNormalizeMode; gchar *g_utf8_normalize (const gchar *str, gssize len, GNormalizeMode mode) __attribute__((__malloc__)); gint g_utf8_collate (const gchar *str1, const gchar *str2); gchar *g_utf8_collate_key (const gchar *str, gssize len) __attribute__((__malloc__)); gchar *g_utf8_collate_key_for_filename (const gchar *str, gssize len) __attribute__((__malloc__)); gboolean g_unichar_get_mirror_char (gunichar ch, gunichar *mirrored_ch); gchar *_g_utf8_make_valid (const gchar *name); # 32 "/usr/include/glib-2.0/glib/gstring.h" 2 # 1 "/usr/include/glib-2.0/glib/gutils.h" 1 # 31 "/usr/include/glib-2.0/glib/gutils.h" # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stdarg.h" 1 3 4 # 105 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stdarg.h" 3 4 typedef __gnuc_va_list va_list; # 32 "/usr/include/glib-2.0/glib/gutils.h" 2 # 116 "/usr/include/glib-2.0/glib/gutils.h" const gchar* g_get_user_name (void); const gchar* g_get_real_name (void); const gchar* g_get_home_dir (void); const gchar* g_get_tmp_dir (void); const gchar* g_get_host_name (void); gchar* g_get_prgname (void); void g_set_prgname (const gchar *prgname); const gchar* g_get_application_name (void); void g_set_application_name (const gchar *application_name); const gchar* g_get_user_data_dir (void); const gchar* g_get_user_config_dir (void); const gchar* g_get_user_cache_dir (void); const gchar* const * g_get_system_data_dirs (void); # 144 "/usr/include/glib-2.0/glib/gutils.h" const gchar* const * g_get_system_config_dirs (void); const gchar* const * g_get_language_names (void); typedef struct _GDebugKey GDebugKey; struct _GDebugKey { gchar *key; guint value; }; guint g_parse_debug_string (const gchar *string, const GDebugKey *keys, guint nkeys); gint g_snprintf (gchar *string, gulong n, gchar const *format, ...) __attribute__((__format__ (__printf__, 3, 4))); gint g_vsnprintf (gchar *string, gulong n, gchar const *format, va_list args); gboolean g_path_is_absolute (const gchar *file_name); const gchar* g_path_skip_root (const gchar *file_name); # 192 "/usr/include/glib-2.0/glib/gutils.h" gchar* g_get_current_dir (void); gchar* g_path_get_basename (const gchar *file_name) __attribute__((__malloc__)); gchar* g_path_get_dirname (const gchar *file_name) __attribute__((__malloc__)); void g_nullify_pointer (gpointer *nullify_location); # 208 "/usr/include/glib-2.0/glib/gutils.h" const gchar* g_getenv (const gchar *variable); gboolean g_setenv (const gchar *variable, const gchar *value, gboolean overwrite); void g_unsetenv (const gchar *variable); gchar** g_listenv (void); const gchar* _g_getenv_nomalloc (const gchar *variable, gchar buffer[1024]); typedef void (*GVoidFunc) (void); # 232 "/usr/include/glib-2.0/glib/gutils.h" void g_atexit (GVoidFunc func); # 246 "/usr/include/glib-2.0/glib/gutils.h" gchar* g_find_program_in_path (const gchar *program); extern inline gint g_bit_nth_lsf (gulong mask, gint nth_bit); extern inline gint g_bit_nth_msf (gulong mask, gint nth_bit); extern inline guint g_bit_storage (gulong number); typedef struct _GTrashStack GTrashStack; struct _GTrashStack { GTrashStack *next; }; extern inline void g_trash_stack_push (GTrashStack **stack_p, gpointer data_p); extern inline gpointer g_trash_stack_pop (GTrashStack **stack_p); extern inline gpointer g_trash_stack_peek (GTrashStack **stack_p); extern inline guint g_trash_stack_height (GTrashStack **stack_p); extern inline gint g_bit_nth_lsf (gulong mask, gint nth_bit) { do { nth_bit++; if (mask & (1UL << nth_bit)) return nth_bit; } while (nth_bit < ((8 * 8) - 1)); return -1; } extern inline gint g_bit_nth_msf (gulong mask, gint nth_bit) { if (nth_bit < 0) nth_bit = 8 * 8; do { nth_bit--; if (mask & (1UL << nth_bit)) return nth_bit; } while (nth_bit > 0); return -1; } extern inline guint g_bit_storage (gulong number) { register guint n_bits = 0; do { n_bits++; number >>= 1; } while (number); return n_bits; } extern inline void g_trash_stack_push (GTrashStack **stack_p, gpointer data_p) { GTrashStack *data = (GTrashStack *) data_p; data->next = *stack_p; *stack_p = data; } extern inline gpointer g_trash_stack_pop (GTrashStack **stack_p) { GTrashStack *data; data = *stack_p; if (data) { *stack_p = data->next; data->next = ((void *)0); } return data; } extern inline gpointer g_trash_stack_peek (GTrashStack **stack_p) { GTrashStack *data; data = *stack_p; return data; } extern inline guint g_trash_stack_height (GTrashStack **stack_p) { GTrashStack *data; guint i = 0; for (data = *stack_p; data; data = data->next) i++; return i; } extern const guint glib_major_version; extern const guint glib_minor_version; extern const guint glib_micro_version; extern const guint glib_interface_age; extern const guint glib_binary_age; const gchar * glib_check_version (guint required_major, guint required_minor, guint required_micro); # 33 "/usr/include/glib-2.0/glib/gstring.h" 2 typedef struct _GString GString; typedef struct _GStringChunk GStringChunk; struct _GString { gchar *str; gsize len; gsize allocated_len; }; GStringChunk* g_string_chunk_new (gsize size); void g_string_chunk_free (GStringChunk *chunk); gchar* g_string_chunk_insert (GStringChunk *chunk, const gchar *string); gchar* g_string_chunk_insert_len (GStringChunk *chunk, const gchar *string, gssize len); gchar* g_string_chunk_insert_const (GStringChunk *chunk, const gchar *string); GString* g_string_new (const gchar *init); GString* g_string_new_len (const gchar *init, gssize len); GString* g_string_sized_new (gsize dfl_size); gchar* g_string_free (GString *string, gboolean free_segment); gboolean g_string_equal (const GString *v, const GString *v2); guint g_string_hash (const GString *str); GString* g_string_assign (GString *string, const gchar *rval); GString* g_string_truncate (GString *string, gsize len); GString* g_string_set_size (GString *string, gsize len); GString* g_string_insert_len (GString *string, gssize pos, const gchar *val, gssize len); GString* g_string_append (GString *string, const gchar *val); GString* g_string_append_len (GString *string, const gchar *val, gssize len); GString* g_string_append_c (GString *string, gchar c); GString* g_string_append_unichar (GString *string, gunichar wc); GString* g_string_prepend (GString *string, const gchar *val); GString* g_string_prepend_c (GString *string, gchar c); GString* g_string_prepend_unichar (GString *string, gunichar wc); GString* g_string_prepend_len (GString *string, const gchar *val, gssize len); GString* g_string_insert (GString *string, gssize pos, const gchar *val); GString* g_string_insert_c (GString *string, gssize pos, gchar c); GString* g_string_insert_unichar (GString *string, gssize pos, gunichar wc); GString* g_string_erase (GString *string, gssize pos, gssize len); GString* g_string_ascii_down (GString *string); GString* g_string_ascii_up (GString *string); void g_string_printf (GString *string, const gchar *format, ...) __attribute__((__format__ (__printf__, 2, 3))); void g_string_append_printf (GString *string, const gchar *format, ...) __attribute__((__format__ (__printf__, 2, 3))); static inline GString* g_string_append_c_inline (GString *gstring, gchar c) { if (gstring->len + 1 < gstring->allocated_len) { gstring->str[gstring->len++] = c; gstring->str[gstring->len] = 0; } else g_string_insert_c (gstring, -1, c); return gstring; } # 154 "/usr/include/glib-2.0/glib/gstring.h" # 33 "/usr/include/glib-2.0/glib/giochannel.h" 2 typedef struct _GIOChannel GIOChannel; typedef struct _GIOFuncs GIOFuncs; typedef enum { G_IO_ERROR_NONE, G_IO_ERROR_AGAIN, G_IO_ERROR_INVAL, G_IO_ERROR_UNKNOWN } GIOError; typedef enum { G_IO_CHANNEL_ERROR_FBIG, G_IO_CHANNEL_ERROR_INVAL, G_IO_CHANNEL_ERROR_IO, G_IO_CHANNEL_ERROR_ISDIR, G_IO_CHANNEL_ERROR_NOSPC, G_IO_CHANNEL_ERROR_NXIO, G_IO_CHANNEL_ERROR_OVERFLOW, G_IO_CHANNEL_ERROR_PIPE, G_IO_CHANNEL_ERROR_FAILED } GIOChannelError; typedef enum { G_IO_STATUS_ERROR, G_IO_STATUS_NORMAL, G_IO_STATUS_EOF, G_IO_STATUS_AGAIN } GIOStatus; typedef enum { G_SEEK_CUR, G_SEEK_SET, G_SEEK_END } GSeekType; typedef enum { G_IO_IN =1, G_IO_OUT =4, G_IO_PRI =2, G_IO_ERR =8, G_IO_HUP =16, G_IO_NVAL =32 } GIOCondition; typedef enum { G_IO_FLAG_APPEND = 1 << 0, G_IO_FLAG_NONBLOCK = 1 << 1, G_IO_FLAG_IS_READABLE = 1 << 2, G_IO_FLAG_IS_WRITEABLE = 1 << 3, G_IO_FLAG_IS_SEEKABLE = 1 << 4, G_IO_FLAG_MASK = (1 << 5) - 1, G_IO_FLAG_GET_MASK = G_IO_FLAG_MASK, G_IO_FLAG_SET_MASK = G_IO_FLAG_APPEND | G_IO_FLAG_NONBLOCK } GIOFlags; struct _GIOChannel { guint ref_count; GIOFuncs *funcs; gchar *encoding; GIConv read_cd; GIConv write_cd; gchar *line_term; guint line_term_len; gsize buf_size; GString *read_buf; GString *encoded_read_buf; GString *write_buf; gchar partial_write_buf[6]; guint use_buffer : 1; guint do_encode : 1; guint close_on_unref : 1; guint is_readable : 1; guint is_writeable : 1; guint is_seekable : 1; gpointer reserved1; gpointer reserved2; }; typedef gboolean (*GIOFunc) (GIOChannel *source, GIOCondition condition, gpointer data); struct _GIOFuncs { GIOStatus (*io_read) (GIOChannel *channel, gchar *buf, gsize count, gsize *bytes_read, GError **err); GIOStatus (*io_write) (GIOChannel *channel, const gchar *buf, gsize count, gsize *bytes_written, GError **err); GIOStatus (*io_seek) (GIOChannel *channel, gint64 offset, GSeekType type, GError **err); GIOStatus (*io_close) (GIOChannel *channel, GError **err); GSource* (*io_create_watch) (GIOChannel *channel, GIOCondition condition); void (*io_free) (GIOChannel *channel); GIOStatus (*io_set_flags) (GIOChannel *channel, GIOFlags flags, GError **err); GIOFlags (*io_get_flags) (GIOChannel *channel); }; void g_io_channel_init (GIOChannel *channel); GIOChannel *g_io_channel_ref (GIOChannel *channel); void g_io_channel_unref (GIOChannel *channel); # 184 "/usr/include/glib-2.0/glib/giochannel.h" GIOStatus g_io_channel_shutdown (GIOChannel *channel, gboolean flush, GError **err); guint g_io_add_watch_full (GIOChannel *channel, gint priority, GIOCondition condition, GIOFunc func, gpointer user_data, GDestroyNotify notify); GSource * g_io_create_watch (GIOChannel *channel, GIOCondition condition); guint g_io_add_watch (GIOChannel *channel, GIOCondition condition, GIOFunc func, gpointer user_data); void g_io_channel_set_buffer_size (GIOChannel *channel, gsize size); gsize g_io_channel_get_buffer_size (GIOChannel *channel); GIOCondition g_io_channel_get_buffer_condition (GIOChannel *channel); GIOStatus g_io_channel_set_flags (GIOChannel *channel, GIOFlags flags, GError **error); GIOFlags g_io_channel_get_flags (GIOChannel *channel); void g_io_channel_set_line_term (GIOChannel *channel, const gchar *line_term, gint length); const gchar* g_io_channel_get_line_term (GIOChannel *channel, gint *length); void g_io_channel_set_buffered (GIOChannel *channel, gboolean buffered); gboolean g_io_channel_get_buffered (GIOChannel *channel); GIOStatus g_io_channel_set_encoding (GIOChannel *channel, const gchar *encoding, GError **error); const gchar* g_io_channel_get_encoding (GIOChannel *channel); void g_io_channel_set_close_on_unref (GIOChannel *channel, gboolean do_close); gboolean g_io_channel_get_close_on_unref (GIOChannel *channel); GIOStatus g_io_channel_flush (GIOChannel *channel, GError **error); GIOStatus g_io_channel_read_line (GIOChannel *channel, gchar **str_return, gsize *length, gsize *terminator_pos, GError **error); GIOStatus g_io_channel_read_line_string (GIOChannel *channel, GString *buffer, gsize *terminator_pos, GError **error); GIOStatus g_io_channel_read_to_end (GIOChannel *channel, gchar **str_return, gsize *length, GError **error); GIOStatus g_io_channel_read_chars (GIOChannel *channel, gchar *buf, gsize count, gsize *bytes_read, GError **error); GIOStatus g_io_channel_read_unichar (GIOChannel *channel, gunichar *thechar, GError **error); GIOStatus g_io_channel_write_chars (GIOChannel *channel, const gchar *buf, gssize count, gsize *bytes_written, GError **error); GIOStatus g_io_channel_write_unichar (GIOChannel *channel, gunichar thechar, GError **error); GIOStatus g_io_channel_seek_position (GIOChannel *channel, gint64 offset, GSeekType type, GError **error); GIOChannel* g_io_channel_new_file (const gchar *filename, const gchar *mode, GError **error); GQuark g_io_channel_error_quark (void); GIOChannelError g_io_channel_error_from_errno (gint en); # 294 "/usr/include/glib-2.0/glib/giochannel.h" GIOChannel* g_io_channel_unix_new (int fd); gint g_io_channel_unix_get_fd (GIOChannel *channel); extern GSourceFuncs g_io_watch_funcs; # 352 "/usr/include/glib-2.0/glib/giochannel.h" # 48 "/usr/include/glib-2.0/glib.h" 2 # 1 "/usr/include/glib-2.0/glib/gkeyfile.h" 1 # 28 "/usr/include/glib-2.0/glib/gkeyfile.h" typedef enum { G_KEY_FILE_ERROR_UNKNOWN_ENCODING, G_KEY_FILE_ERROR_PARSE, G_KEY_FILE_ERROR_NOT_FOUND, G_KEY_FILE_ERROR_KEY_NOT_FOUND, G_KEY_FILE_ERROR_GROUP_NOT_FOUND, G_KEY_FILE_ERROR_INVALID_VALUE } GKeyFileError; GQuark g_key_file_error_quark (void); typedef struct _GKeyFile GKeyFile; typedef enum { G_KEY_FILE_NONE = 0, G_KEY_FILE_KEEP_COMMENTS = 1 << 0, G_KEY_FILE_KEEP_TRANSLATIONS = 1 << 1 } GKeyFileFlags; GKeyFile *g_key_file_new (void); void g_key_file_free (GKeyFile *key_file); void g_key_file_set_list_separator (GKeyFile *key_file, gchar separator); gboolean g_key_file_load_from_file (GKeyFile *key_file, const gchar *file, GKeyFileFlags flags, GError **error); gboolean g_key_file_load_from_data (GKeyFile *key_file, const gchar *data, gsize length, GKeyFileFlags flags, GError **error); gboolean g_key_file_load_from_data_dirs (GKeyFile *key_file, const gchar *file, gchar **full_path, GKeyFileFlags flags, GError **error); gchar *g_key_file_to_data (GKeyFile *key_file, gsize *length, GError **error) __attribute__((__malloc__)); gchar *g_key_file_get_start_group (GKeyFile *key_file) __attribute__((__malloc__)); gchar **g_key_file_get_groups (GKeyFile *key_file, gsize *length) __attribute__((__malloc__)); gchar **g_key_file_get_keys (GKeyFile *key_file, const gchar *group_name, gsize *length, GError **error) __attribute__((__malloc__)); gboolean g_key_file_has_group (GKeyFile *key_file, const gchar *group_name); gboolean g_key_file_has_key (GKeyFile *key_file, const gchar *group_name, const gchar *key, GError **error); gchar *g_key_file_get_value (GKeyFile *key_file, const gchar *group_name, const gchar *key, GError **error) __attribute__((__malloc__)); void g_key_file_set_value (GKeyFile *key_file, const gchar *group_name, const gchar *key, const gchar *value); gchar *g_key_file_get_string (GKeyFile *key_file, const gchar *group_name, const gchar *key, GError **error) __attribute__((__malloc__)); void g_key_file_set_string (GKeyFile *key_file, const gchar *group_name, const gchar *key, const gchar *string); gchar *g_key_file_get_locale_string (GKeyFile *key_file, const gchar *group_name, const gchar *key, const gchar *locale, GError **error) __attribute__((__malloc__)); void g_key_file_set_locale_string (GKeyFile *key_file, const gchar *group_name, const gchar *key, const gchar *locale, const gchar *string); gboolean g_key_file_get_boolean (GKeyFile *key_file, const gchar *group_name, const gchar *key, GError **error); void g_key_file_set_boolean (GKeyFile *key_file, const gchar *group_name, const gchar *key, gboolean value); gint g_key_file_get_integer (GKeyFile *key_file, const gchar *group_name, const gchar *key, GError **error); void g_key_file_set_integer (GKeyFile *key_file, const gchar *group_name, const gchar *key, gint value); gdouble g_key_file_get_double (GKeyFile *key_file, const gchar *group_name, const gchar *key, GError **error); void g_key_file_set_double (GKeyFile *key_file, const gchar *group_name, const gchar *key, gdouble value); gchar **g_key_file_get_string_list (GKeyFile *key_file, const gchar *group_name, const gchar *key, gsize *length, GError **error) __attribute__((__malloc__)); void g_key_file_set_string_list (GKeyFile *key_file, const gchar *group_name, const gchar *key, const gchar * const list[], gsize length); gchar **g_key_file_get_locale_string_list (GKeyFile *key_file, const gchar *group_name, const gchar *key, const gchar *locale, gsize *length, GError **error) __attribute__((__malloc__)); void g_key_file_set_locale_string_list (GKeyFile *key_file, const gchar *group_name, const gchar *key, const gchar *locale, const gchar * const list[], gsize length); gboolean *g_key_file_get_boolean_list (GKeyFile *key_file, const gchar *group_name, const gchar *key, gsize *length, GError **error) __attribute__((__malloc__)); void g_key_file_set_boolean_list (GKeyFile *key_file, const gchar *group_name, const gchar *key, gboolean list[], gsize length); gint *g_key_file_get_integer_list (GKeyFile *key_file, const gchar *group_name, const gchar *key, gsize *length, GError **error) __attribute__((__malloc__)); void g_key_file_set_double_list (GKeyFile *key_file, const gchar *group_name, const gchar *key, gdouble list[], gsize length); gdouble *g_key_file_get_double_list (GKeyFile *key_file, const gchar *group_name, const gchar *key, gsize *length, GError **error) __attribute__((__malloc__)); void g_key_file_set_integer_list (GKeyFile *key_file, const gchar *group_name, const gchar *key, gint list[], gsize length); void g_key_file_set_comment (GKeyFile *key_file, const gchar *group_name, const gchar *key, const gchar *comment, GError **error); gchar *g_key_file_get_comment (GKeyFile *key_file, const gchar *group_name, const gchar *key, GError **error) __attribute__((__malloc__)); void g_key_file_remove_comment (GKeyFile *key_file, const gchar *group_name, const gchar *key, GError **error); void g_key_file_remove_key (GKeyFile *key_file, const gchar *group_name, const gchar *key, GError **error); void g_key_file_remove_group (GKeyFile *key_file, const gchar *group_name, GError **error); # 49 "/usr/include/glib-2.0/glib.h" 2 # 1 "/usr/include/glib-2.0/glib/gmappedfile.h" 1 # 26 "/usr/include/glib-2.0/glib/gmappedfile.h" typedef struct _GMappedFile GMappedFile; GMappedFile *g_mapped_file_new (const gchar *filename, gboolean writable, GError **error) __attribute__((__malloc__)); gsize g_mapped_file_get_length (GMappedFile *file); gchar *g_mapped_file_get_contents (GMappedFile *file); void g_mapped_file_free (GMappedFile *file); # 53 "/usr/include/glib-2.0/glib.h" 2 # 1 "/usr/include/glib-2.0/glib/gmarkup.h" 1 # 28 "/usr/include/glib-2.0/glib/gmarkup.h" typedef enum { G_MARKUP_ERROR_BAD_UTF8, G_MARKUP_ERROR_EMPTY, G_MARKUP_ERROR_PARSE, G_MARKUP_ERROR_UNKNOWN_ELEMENT, G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE, G_MARKUP_ERROR_INVALID_CONTENT } GMarkupError; GQuark g_markup_error_quark (void); typedef enum { G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG = 1 << 0, G_MARKUP_TREAT_CDATA_AS_TEXT = 1 << 1 } GMarkupParseFlags; typedef struct _GMarkupParseContext GMarkupParseContext; typedef struct _GMarkupParser GMarkupParser; struct _GMarkupParser { void (*start_element) (GMarkupParseContext *context, const gchar *element_name, const gchar **attribute_names, const gchar **attribute_values, gpointer user_data, GError **error); void (*end_element) (GMarkupParseContext *context, const gchar *element_name, gpointer user_data, GError **error); void (*text) (GMarkupParseContext *context, const gchar *text, gsize text_len, gpointer user_data, GError **error); void (*passthrough) (GMarkupParseContext *context, const gchar *passthrough_text, gsize text_len, gpointer user_data, GError **error); void (*error) (GMarkupParseContext *context, GError *error, gpointer user_data); }; GMarkupParseContext *g_markup_parse_context_new (const GMarkupParser *parser, GMarkupParseFlags flags, gpointer user_data, GDestroyNotify user_data_dnotify); void g_markup_parse_context_free (GMarkupParseContext *context); gboolean g_markup_parse_context_parse (GMarkupParseContext *context, const gchar *text, gssize text_len, GError **error); gboolean g_markup_parse_context_end_parse (GMarkupParseContext *context, GError **error); const gchar *g_markup_parse_context_get_element (GMarkupParseContext *context); void g_markup_parse_context_get_position (GMarkupParseContext *context, gint *line_number, gint *char_number); gchar* g_markup_escape_text (const gchar *text, gssize length); gchar *g_markup_printf_escaped (const char *format, ...) __attribute__((__format__ (__printf__, 1, 2))); gchar *g_markup_vprintf_escaped (const char *format, va_list args); # 54 "/usr/include/glib-2.0/glib.h" 2 # 1 "/usr/include/glib-2.0/glib/gmessages.h" 1 # 37 "/usr/include/glib-2.0/glib/gmessages.h" # 38 "/usr/include/glib-2.0/glib/gmessages.h" 3 gsize g_printf_string_upper_bound (const gchar* format, va_list args); # 54 "/usr/include/glib-2.0/glib/gmessages.h" 3 typedef enum { G_LOG_FLAG_RECURSION = 1 << 0, G_LOG_FLAG_FATAL = 1 << 1, G_LOG_LEVEL_ERROR = 1 << 2, G_LOG_LEVEL_CRITICAL = 1 << 3, G_LOG_LEVEL_WARNING = 1 << 4, G_LOG_LEVEL_MESSAGE = 1 << 5, G_LOG_LEVEL_INFO = 1 << 6, G_LOG_LEVEL_DEBUG = 1 << 7, G_LOG_LEVEL_MASK = ~(G_LOG_FLAG_RECURSION | G_LOG_FLAG_FATAL) } GLogLevelFlags; typedef void (*GLogFunc) (const gchar *log_domain, GLogLevelFlags log_level, const gchar *message, gpointer user_data); guint g_log_set_handler (const gchar *log_domain, GLogLevelFlags log_levels, GLogFunc log_func, gpointer user_data); void g_log_remove_handler (const gchar *log_domain, guint handler_id); void g_log_default_handler (const gchar *log_domain, GLogLevelFlags log_level, const gchar *message, gpointer unused_data); GLogFunc g_log_set_default_handler (GLogFunc log_func, gpointer user_data); void g_log (const gchar *log_domain, GLogLevelFlags log_level, const gchar *format, ...) __attribute__((__format__ (__printf__, 3, 4))); void g_logv (const gchar *log_domain, GLogLevelFlags log_level, const gchar *format, va_list args); GLogLevelFlags g_log_set_fatal_mask (const gchar *log_domain, GLogLevelFlags fatal_mask); GLogLevelFlags g_log_set_always_fatal (GLogLevelFlags fatal_mask); void _g_log_fallback_handler (const gchar *log_domain, GLogLevelFlags log_level, const gchar *message, gpointer unused_data) __attribute__((visibility("hidden"))); void g_return_if_fail_warning (const char *log_domain, const char *pretty_function, const char *expression); void g_assert_warning (const char *log_domain, const char *file, const int line, const char *pretty_function, const char *expression) __attribute__((__noreturn__)); # 205 "/usr/include/glib-2.0/glib/gmessages.h" 3 typedef void (*GPrintFunc) (const gchar *string); void g_print (const gchar *format, ...) __attribute__((__format__ (__printf__, 1, 2))); GPrintFunc g_set_print_handler (GPrintFunc func); void g_printerr (const gchar *format, ...) __attribute__((__format__ (__printf__, 1, 2))); GPrintFunc g_set_printerr_handler (GPrintFunc func); # 361 "/usr/include/glib-2.0/glib/gmessages.h" 3 # 56 "/usr/include/glib-2.0/glib.h" 2 # 1 "/usr/include/glib-2.0/glib/gnode.h" 1 # 32 "/usr/include/glib-2.0/glib/gnode.h" typedef struct _GNode GNode; typedef enum { G_TRAVERSE_LEAVES = 1 << 0, G_TRAVERSE_NON_LEAVES = 1 << 1, G_TRAVERSE_ALL = G_TRAVERSE_LEAVES | G_TRAVERSE_NON_LEAVES, G_TRAVERSE_MASK = 0x03, G_TRAVERSE_LEAFS = G_TRAVERSE_LEAVES, G_TRAVERSE_NON_LEAFS = G_TRAVERSE_NON_LEAVES } GTraverseFlags; typedef enum { G_IN_ORDER, G_PRE_ORDER, G_POST_ORDER, G_LEVEL_ORDER } GTraverseType; typedef gboolean (*GNodeTraverseFunc) (GNode *node, gpointer data); typedef void (*GNodeForeachFunc) (GNode *node, gpointer data); typedef gpointer (*GCopyFunc) (gconstpointer src, gpointer data); struct _GNode { gpointer data; GNode *next; GNode *prev; GNode *parent; GNode *children; }; GNode* g_node_new (gpointer data); void g_node_destroy (GNode *root); void g_node_unlink (GNode *node); GNode* g_node_copy_deep (GNode *node, GCopyFunc copy_func, gpointer data); GNode* g_node_copy (GNode *node); GNode* g_node_insert (GNode *parent, gint position, GNode *node); GNode* g_node_insert_before (GNode *parent, GNode *sibling, GNode *node); GNode* g_node_insert_after (GNode *parent, GNode *sibling, GNode *node); GNode* g_node_prepend (GNode *parent, GNode *node); guint g_node_n_nodes (GNode *root, GTraverseFlags flags); GNode* g_node_get_root (GNode *node); gboolean g_node_is_ancestor (GNode *node, GNode *descendant); guint g_node_depth (GNode *node); GNode* g_node_find (GNode *root, GTraverseType order, GTraverseFlags flags, gpointer data); # 125 "/usr/include/glib-2.0/glib/gnode.h" void g_node_traverse (GNode *root, GTraverseType order, GTraverseFlags flags, gint max_depth, GNodeTraverseFunc func, gpointer data); guint g_node_max_height (GNode *root); void g_node_children_foreach (GNode *node, GTraverseFlags flags, GNodeForeachFunc func, gpointer data); void g_node_reverse_children (GNode *node); guint g_node_n_children (GNode *node); GNode* g_node_nth_child (GNode *node, guint n); GNode* g_node_last_child (GNode *node); GNode* g_node_find_child (GNode *node, GTraverseFlags flags, gpointer data); gint g_node_child_position (GNode *node, GNode *child); gint g_node_child_index (GNode *node, gpointer data); GNode* g_node_first_sibling (GNode *node); GNode* g_node_last_sibling (GNode *node); # 170 "/usr/include/glib-2.0/glib/gnode.h" # 57 "/usr/include/glib-2.0/glib.h" 2 # 1 "/usr/include/glib-2.0/glib/goption.h" 1 # 27 "/usr/include/glib-2.0/glib/goption.h" typedef struct _GOptionContext GOptionContext; typedef struct _GOptionGroup GOptionGroup; typedef struct _GOptionEntry GOptionEntry; typedef enum { G_OPTION_FLAG_HIDDEN = 1 << 0, G_OPTION_FLAG_IN_MAIN = 1 << 1, G_OPTION_FLAG_REVERSE = 1 << 2, G_OPTION_FLAG_NO_ARG = 1 << 3, G_OPTION_FLAG_FILENAME = 1 << 4, G_OPTION_FLAG_OPTIONAL_ARG = 1 << 5, G_OPTION_FLAG_NOALIAS = 1 << 6 } GOptionFlags; typedef enum { G_OPTION_ARG_NONE, G_OPTION_ARG_STRING, G_OPTION_ARG_INT, G_OPTION_ARG_CALLBACK, G_OPTION_ARG_FILENAME, G_OPTION_ARG_STRING_ARRAY, G_OPTION_ARG_FILENAME_ARRAY, G_OPTION_ARG_DOUBLE, G_OPTION_ARG_INT64 } GOptionArg; typedef gboolean (*GOptionArgFunc) (const gchar *option_name, const gchar *value, gpointer data, GError **error); typedef gboolean (*GOptionParseFunc) (GOptionContext *context, GOptionGroup *group, gpointer data, GError **error); typedef void (*GOptionErrorFunc) (GOptionContext *context, GOptionGroup *group, gpointer data, GError **error); typedef enum { G_OPTION_ERROR_UNKNOWN_OPTION, G_OPTION_ERROR_BAD_VALUE, G_OPTION_ERROR_FAILED } GOptionError; GQuark g_option_error_quark (void); struct _GOptionEntry { const gchar *long_name; gchar short_name; gint flags; GOptionArg arg; gpointer arg_data; const gchar *description; const gchar *arg_description; }; GOptionContext *g_option_context_new (const gchar *parameter_string); void g_option_context_set_summary (GOptionContext *context, const gchar *summary); const gchar *g_option_context_get_summary (GOptionContext *context); void g_option_context_set_description (GOptionContext *context, const gchar *description); const gchar *g_option_context_get_description (GOptionContext *context); void g_option_context_free (GOptionContext *context); void g_option_context_set_help_enabled (GOptionContext *context, gboolean help_enabled); gboolean g_option_context_get_help_enabled (GOptionContext *context); void g_option_context_set_ignore_unknown_options (GOptionContext *context, gboolean ignore_unknown); gboolean g_option_context_get_ignore_unknown_options (GOptionContext *context); void g_option_context_add_main_entries (GOptionContext *context, const GOptionEntry *entries, const gchar *translation_domain); gboolean g_option_context_parse (GOptionContext *context, gint *argc, gchar ***argv, GError **error); void g_option_context_set_translate_func (GOptionContext *context, GTranslateFunc func, gpointer data, GDestroyNotify destroy_notify); void g_option_context_set_translation_domain (GOptionContext *context, const gchar *domain); void g_option_context_add_group (GOptionContext *context, GOptionGroup *group); void g_option_context_set_main_group (GOptionContext *context, GOptionGroup *group); GOptionGroup *g_option_context_get_main_group (GOptionContext *context); GOptionGroup *g_option_group_new (const gchar *name, const gchar *description, const gchar *help_description, gpointer user_data, GDestroyNotify destroy); void g_option_group_set_parse_hooks (GOptionGroup *group, GOptionParseFunc pre_parse_func, GOptionParseFunc post_parse_func); void g_option_group_set_error_hook (GOptionGroup *group, GOptionErrorFunc error_func); void g_option_group_free (GOptionGroup *group); void g_option_group_add_entries (GOptionGroup *group, const GOptionEntry *entries); void g_option_group_set_translate_func (GOptionGroup *group, GTranslateFunc func, gpointer data, GDestroyNotify destroy_notify); void g_option_group_set_translation_domain (GOptionGroup *group, const gchar *domain); # 58 "/usr/include/glib-2.0/glib.h" 2 # 1 "/usr/include/glib-2.0/glib/gpattern.h" 1 # 24 "/usr/include/glib-2.0/glib/gpattern.h" typedef struct _GPatternSpec GPatternSpec; GPatternSpec* g_pattern_spec_new (const gchar *pattern); void g_pattern_spec_free (GPatternSpec *pspec); gboolean g_pattern_spec_equal (GPatternSpec *pspec1, GPatternSpec *pspec2); gboolean g_pattern_match (GPatternSpec *pspec, guint string_length, const gchar *string, const gchar *string_reversed); gboolean g_pattern_match_string (GPatternSpec *pspec, const gchar *string); gboolean g_pattern_match_simple (const gchar *pattern, const gchar *string); # 59 "/usr/include/glib-2.0/glib.h" 2 # 1 "/usr/include/glib-2.0/glib/gprimes.h" 1 # 32 "/usr/include/glib-2.0/glib/gprimes.h" # 43 "/usr/include/glib-2.0/glib/gprimes.h" guint g_spaced_primes_closest (guint num) __attribute__((__const__)); # 60 "/usr/include/glib-2.0/glib.h" 2 # 1 "/usr/include/glib-2.0/glib/gqsort.h" 1 # 33 "/usr/include/glib-2.0/glib/gqsort.h" void g_qsort_with_data (gconstpointer pbase, gint total_elems, gsize size, GCompareDataFunc compare_func, gpointer user_data); # 61 "/usr/include/glib-2.0/glib.h" 2 # 1 "/usr/include/glib-2.0/glib/gqueue.h" 1 # 32 "/usr/include/glib-2.0/glib/gqueue.h" typedef struct _GQueue GQueue; struct _GQueue { GList *head; GList *tail; guint length; }; GQueue* g_queue_new (void); void g_queue_free (GQueue *queue); gboolean g_queue_is_empty (GQueue *queue); guint g_queue_get_length (GQueue *queue); void g_queue_reverse (GQueue *queue); GQueue * g_queue_copy (GQueue *queue); void g_queue_foreach (GQueue *queue, GFunc func, gpointer user_data); GList * g_queue_find (GQueue *queue, gconstpointer data); GList * g_queue_find_custom (GQueue *queue, gconstpointer data, GCompareFunc func); void g_queue_sort (GQueue *queue, GCompareDataFunc compare_func, gpointer user_data); void g_queue_push_head (GQueue *queue, gpointer data); void g_queue_push_tail (GQueue *queue, gpointer data); void g_queue_push_nth (GQueue *queue, gpointer data, gint n); gpointer g_queue_pop_head (GQueue *queue); gpointer g_queue_pop_tail (GQueue *queue); gpointer g_queue_pop_nth (GQueue *queue, guint n); gpointer g_queue_peek_head (GQueue *queue); gpointer g_queue_peek_tail (GQueue *queue); gpointer g_queue_peek_nth (GQueue *queue, guint n); gint g_queue_index (GQueue *queue, gconstpointer data); void g_queue_remove (GQueue *queue, gconstpointer data); void g_queue_remove_all (GQueue *queue, gconstpointer data); void g_queue_insert_before (GQueue *queue, GList *sibling, gpointer data); void g_queue_insert_after (GQueue *queue, GList *sibling, gpointer data); void g_queue_insert_sorted (GQueue *queue, gpointer data, GCompareDataFunc func, gpointer user_data); void g_queue_push_head_link (GQueue *queue, GList *link_); void g_queue_push_tail_link (GQueue *queue, GList *link_); void g_queue_push_nth_link (GQueue *queue, gint n, GList *link_); GList* g_queue_pop_head_link (GQueue *queue); GList* g_queue_pop_tail_link (GQueue *queue); GList* g_queue_pop_nth_link (GQueue *queue, guint n); GList* g_queue_peek_head_link (GQueue *queue); GList* g_queue_peek_tail_link (GQueue *queue); GList* g_queue_peek_nth_link (GQueue *queue, guint n); gint g_queue_link_index (GQueue *queue, GList *link_); void g_queue_unlink (GQueue *queue, GList *link_); void g_queue_delete_link (GQueue *queue, GList *link_); # 63 "/usr/include/glib-2.0/glib.h" 2 # 1 "/usr/include/glib-2.0/glib/grand.h" 1 # 32 "/usr/include/glib-2.0/glib/grand.h" typedef struct _GRand GRand; # 45 "/usr/include/glib-2.0/glib/grand.h" GRand* g_rand_new_with_seed (guint32 seed); GRand* g_rand_new_with_seed_array (const guint32 *seed, guint seed_length); GRand* g_rand_new (void); void g_rand_free (GRand *rand_); GRand* g_rand_copy (GRand *rand_); void g_rand_set_seed (GRand *rand_, guint32 seed); void g_rand_set_seed_array (GRand *rand_, const guint32 *seed, guint seed_length); guint32 g_rand_int (GRand *rand_); gint32 g_rand_int_range (GRand *rand_, gint32 begin, gint32 end); gdouble g_rand_double (GRand *rand_); gdouble g_rand_double_range (GRand *rand_, gdouble begin, gdouble end); void g_random_set_seed (guint32 seed); guint32 g_random_int (void); gint32 g_random_int_range (gint32 begin, gint32 end); gdouble g_random_double (void); gdouble g_random_double_range (gdouble begin, gdouble end); # 64 "/usr/include/glib-2.0/glib.h" 2 # 1 "/usr/include/glib-2.0/glib/grel.h" 1 # 32 "/usr/include/glib-2.0/glib/grel.h" typedef struct _GRelation GRelation; typedef struct _GTuples GTuples; struct _GTuples { guint len; }; # 65 "/usr/include/glib-2.0/glib/grel.h" GRelation* g_relation_new (gint fields); void g_relation_destroy (GRelation *relation); void g_relation_index (GRelation *relation, gint field, GHashFunc hash_func, GEqualFunc key_equal_func); void g_relation_insert (GRelation *relation, ...); gint g_relation_delete (GRelation *relation, gconstpointer key, gint field); GTuples* g_relation_select (GRelation *relation, gconstpointer key, gint field); gint g_relation_count (GRelation *relation, gconstpointer key, gint field); gboolean g_relation_exists (GRelation *relation, ...); void g_relation_print (GRelation *relation); void g_tuples_destroy (GTuples *tuples); gpointer g_tuples_index (GTuples *tuples, gint index_, gint field); # 65 "/usr/include/glib-2.0/glib.h" 2 # 1 "/usr/include/glib-2.0/glib/gscanner.h" 1 # 33 "/usr/include/glib-2.0/glib/gscanner.h" typedef struct _GScanner GScanner; typedef struct _GScannerConfig GScannerConfig; typedef union _GTokenValue GTokenValue; typedef void (*GScannerMsgFunc) (GScanner *scanner, gchar *message, gboolean error); # 60 "/usr/include/glib-2.0/glib/gscanner.h" typedef enum { G_ERR_UNKNOWN, G_ERR_UNEXP_EOF, G_ERR_UNEXP_EOF_IN_STRING, G_ERR_UNEXP_EOF_IN_COMMENT, G_ERR_NON_DIGIT_IN_CONST, G_ERR_DIGIT_RADIX, G_ERR_FLOAT_RADIX, G_ERR_FLOAT_MALFORMED } GErrorType; typedef enum { G_TOKEN_EOF = 0, G_TOKEN_LEFT_PAREN = '(', G_TOKEN_RIGHT_PAREN = ')', G_TOKEN_LEFT_CURLY = '{', G_TOKEN_RIGHT_CURLY = '}', G_TOKEN_LEFT_BRACE = '[', G_TOKEN_RIGHT_BRACE = ']', G_TOKEN_EQUAL_SIGN = '=', G_TOKEN_COMMA = ',', G_TOKEN_NONE = 256, G_TOKEN_ERROR, G_TOKEN_CHAR, G_TOKEN_BINARY, G_TOKEN_OCTAL, G_TOKEN_INT, G_TOKEN_HEX, G_TOKEN_FLOAT, G_TOKEN_STRING, G_TOKEN_SYMBOL, G_TOKEN_IDENTIFIER, G_TOKEN_IDENTIFIER_NULL, G_TOKEN_COMMENT_SINGLE, G_TOKEN_COMMENT_MULTI, G_TOKEN_LAST } GTokenType; union _GTokenValue { gpointer v_symbol; gchar *v_identifier; gulong v_binary; gulong v_octal; gulong v_int; guint64 v_int64; gdouble v_float; gulong v_hex; gchar *v_string; gchar *v_comment; guchar v_char; guint v_error; }; struct _GScannerConfig { gchar *cset_skip_characters; gchar *cset_identifier_first; gchar *cset_identifier_nth; gchar *cpair_comment_single; guint case_sensitive : 1; guint skip_comment_multi : 1; guint skip_comment_single : 1; guint scan_comment_multi : 1; guint scan_identifier : 1; guint scan_identifier_1char : 1; guint scan_identifier_NULL : 1; guint scan_symbols : 1; guint scan_binary : 1; guint scan_octal : 1; guint scan_float : 1; guint scan_hex : 1; guint scan_hex_dollar : 1; guint scan_string_sq : 1; guint scan_string_dq : 1; guint numbers_2_int : 1; guint int_2_float : 1; guint identifier_2_string : 1; guint char_2_token : 1; guint symbol_2_token : 1; guint scope_0_fallback : 1; guint store_int64 : 1; guint padding_dummy; }; struct _GScanner { gpointer user_data; guint max_parse_errors; guint parse_errors; const gchar *input_name; GData *qdata; GScannerConfig *config; GTokenType token; GTokenValue value; guint line; guint position; GTokenType next_token; GTokenValue next_value; guint next_line; guint next_position; GHashTable *symbol_table; gint input_fd; const gchar *text; const gchar *text_end; gchar *buffer; guint scope_id; GScannerMsgFunc msg_handler; }; GScanner* g_scanner_new (const GScannerConfig *config_templ); void g_scanner_destroy (GScanner *scanner); void g_scanner_input_file (GScanner *scanner, gint input_fd); void g_scanner_sync_file_offset (GScanner *scanner); void g_scanner_input_text (GScanner *scanner, const gchar *text, guint text_len); GTokenType g_scanner_get_next_token (GScanner *scanner); GTokenType g_scanner_peek_next_token (GScanner *scanner); GTokenType g_scanner_cur_token (GScanner *scanner); GTokenValue g_scanner_cur_value (GScanner *scanner); guint g_scanner_cur_line (GScanner *scanner); guint g_scanner_cur_position (GScanner *scanner); gboolean g_scanner_eof (GScanner *scanner); guint g_scanner_set_scope (GScanner *scanner, guint scope_id); void g_scanner_scope_add_symbol (GScanner *scanner, guint scope_id, const gchar *symbol, gpointer value); void g_scanner_scope_remove_symbol (GScanner *scanner, guint scope_id, const gchar *symbol); gpointer g_scanner_scope_lookup_symbol (GScanner *scanner, guint scope_id, const gchar *symbol); void g_scanner_scope_foreach_symbol (GScanner *scanner, guint scope_id, GHFunc func, gpointer user_data); gpointer g_scanner_lookup_symbol (GScanner *scanner, const gchar *symbol); void g_scanner_unexp_token (GScanner *scanner, GTokenType expected_token, const gchar *identifier_spec, const gchar *symbol_spec, const gchar *symbol_name, const gchar *message, gint is_error); void g_scanner_error (GScanner *scanner, const gchar *format, ...) __attribute__((__format__ (__printf__, 2, 3))); void g_scanner_warn (GScanner *scanner, const gchar *format, ...) __attribute__((__format__ (__printf__, 2, 3))); # 272 "/usr/include/glib-2.0/glib/gscanner.h" # 66 "/usr/include/glib-2.0/glib.h" 2 # 1 "/usr/include/glib-2.0/glib/gshell.h" 1 # 26 "/usr/include/glib-2.0/glib/gshell.h" typedef enum { G_SHELL_ERROR_BAD_QUOTING, G_SHELL_ERROR_EMPTY_STRING, G_SHELL_ERROR_FAILED } GShellError; GQuark g_shell_error_quark (void); gchar* g_shell_quote (const gchar *unquoted_string); gchar* g_shell_unquote (const gchar *quoted_string, GError **error); gboolean g_shell_parse_argv (const gchar *command_line, gint *argcp, gchar ***argvp, GError **error); # 67 "/usr/include/glib-2.0/glib.h" 2 # 1 "/usr/include/glib-2.0/glib/gspawn.h" 1 # 26 "/usr/include/glib-2.0/glib/gspawn.h" typedef enum { G_SPAWN_ERROR_FORK, G_SPAWN_ERROR_READ, G_SPAWN_ERROR_CHDIR, G_SPAWN_ERROR_ACCES, G_SPAWN_ERROR_PERM, G_SPAWN_ERROR_2BIG, G_SPAWN_ERROR_NOEXEC, G_SPAWN_ERROR_NAMETOOLONG, G_SPAWN_ERROR_NOENT, G_SPAWN_ERROR_NOMEM, G_SPAWN_ERROR_NOTDIR, G_SPAWN_ERROR_LOOP, G_SPAWN_ERROR_TXTBUSY, G_SPAWN_ERROR_IO, G_SPAWN_ERROR_NFILE, G_SPAWN_ERROR_MFILE, G_SPAWN_ERROR_INVAL, G_SPAWN_ERROR_ISDIR, G_SPAWN_ERROR_LIBBAD, G_SPAWN_ERROR_FAILED } GSpawnError; typedef void (* GSpawnChildSetupFunc) (gpointer user_data); typedef enum { G_SPAWN_LEAVE_DESCRIPTORS_OPEN = 1 << 0, G_SPAWN_DO_NOT_REAP_CHILD = 1 << 1, G_SPAWN_SEARCH_PATH = 1 << 2, G_SPAWN_STDOUT_TO_DEV_NULL = 1 << 3, G_SPAWN_STDERR_TO_DEV_NULL = 1 << 4, G_SPAWN_CHILD_INHERITS_STDIN = 1 << 5, G_SPAWN_FILE_AND_ARGV_ZERO = 1 << 6 } GSpawnFlags; GQuark g_spawn_error_quark (void); # 82 "/usr/include/glib-2.0/glib/gspawn.h" gboolean g_spawn_async (const gchar *working_directory, gchar **argv, gchar **envp, GSpawnFlags flags, GSpawnChildSetupFunc child_setup, gpointer user_data, GPid *child_pid, GError **error); gboolean g_spawn_async_with_pipes (const gchar *working_directory, gchar **argv, gchar **envp, GSpawnFlags flags, GSpawnChildSetupFunc child_setup, gpointer user_data, GPid *child_pid, gint *standard_input, gint *standard_output, gint *standard_error, GError **error); gboolean g_spawn_sync (const gchar *working_directory, gchar **argv, gchar **envp, GSpawnFlags flags, GSpawnChildSetupFunc child_setup, gpointer user_data, gchar **standard_output, gchar **standard_error, gint *exit_status, GError **error); gboolean g_spawn_command_line_sync (const gchar *command_line, gchar **standard_output, gchar **standard_error, gint *exit_status, GError **error); gboolean g_spawn_command_line_async (const gchar *command_line, GError **error); void g_spawn_close_pid (GPid pid); # 69 "/usr/include/glib-2.0/glib.h" 2 # 1 "/usr/include/glib-2.0/glib/gstrfuncs.h" 1 # 33 "/usr/include/glib-2.0/glib/gstrfuncs.h" typedef enum { G_ASCII_ALNUM = 1 << 0, G_ASCII_ALPHA = 1 << 1, G_ASCII_CNTRL = 1 << 2, G_ASCII_DIGIT = 1 << 3, G_ASCII_GRAPH = 1 << 4, G_ASCII_LOWER = 1 << 5, G_ASCII_PRINT = 1 << 6, G_ASCII_PUNCT = 1 << 7, G_ASCII_SPACE = 1 << 8, G_ASCII_UPPER = 1 << 9, G_ASCII_XDIGIT = 1 << 10 } GAsciiType; extern const guint16 * const g_ascii_table; # 85 "/usr/include/glib-2.0/glib/gstrfuncs.h" gchar g_ascii_tolower (gchar c) __attribute__((__const__)); gchar g_ascii_toupper (gchar c) __attribute__((__const__)); gint g_ascii_digit_value (gchar c) __attribute__((__const__)); gint g_ascii_xdigit_value (gchar c) __attribute__((__const__)); gchar* g_strdelimit (gchar *string, const gchar *delimiters, gchar new_delimiter); gchar* g_strcanon (gchar *string, const gchar *valid_chars, gchar substitutor); const gchar* g_strerror (gint errnum) __attribute__((__const__)); const gchar* g_strsignal (gint signum) __attribute__((__const__)); gchar* g_strreverse (gchar *string); gsize g_strlcpy (gchar *dest, const gchar *src, gsize dest_size); gsize g_strlcat (gchar *dest, const gchar *src, gsize dest_size); gchar * g_strstr_len (const gchar *haystack, gssize haystack_len, const gchar *needle); gchar * g_strrstr (const gchar *haystack, const gchar *needle); gchar * g_strrstr_len (const gchar *haystack, gssize haystack_len, const gchar *needle); gboolean g_str_has_suffix (const gchar *str, const gchar *suffix); gboolean g_str_has_prefix (const gchar *str, const gchar *prefix); gdouble g_strtod (const gchar *nptr, gchar **endptr); gdouble g_ascii_strtod (const gchar *nptr, gchar **endptr); guint64 g_ascii_strtoull (const gchar *nptr, gchar **endptr, guint base); gint64 g_ascii_strtoll (const gchar *nptr, gchar **endptr, guint base); gchar * g_ascii_dtostr (gchar *buffer, gint buf_len, gdouble d); gchar * g_ascii_formatd (gchar *buffer, gint buf_len, const gchar *format, gdouble d); gchar* g_strchug (gchar *string); gchar* g_strchomp (gchar *string); gint g_ascii_strcasecmp (const gchar *s1, const gchar *s2); gint g_ascii_strncasecmp (const gchar *s1, const gchar *s2, gsize n); gchar* g_ascii_strdown (const gchar *str, gssize len) __attribute__((__malloc__)); gchar* g_ascii_strup (const gchar *str, gssize len) __attribute__((__malloc__)); # 185 "/usr/include/glib-2.0/glib/gstrfuncs.h" gchar* g_strdup (const gchar *str) __attribute__((__malloc__)); gchar* g_strdup_printf (const gchar *format, ...) __attribute__((__format__ (__printf__, 1, 2))) __attribute__((__malloc__)); gchar* g_strdup_vprintf (const gchar *format, va_list args) __attribute__((__malloc__)); gchar* g_strndup (const gchar *str, gsize n) __attribute__((__malloc__)); gchar* g_strnfill (gsize length, gchar fill_char) __attribute__((__malloc__)); gchar* g_strconcat (const gchar *string1, ...) __attribute__((__malloc__)) __attribute__((__sentinel__)); gchar* g_strjoin (const gchar *separator, ...) __attribute__((__malloc__)) __attribute__((__sentinel__)); gchar* g_strcompress (const gchar *source) __attribute__((__malloc__)); # 213 "/usr/include/glib-2.0/glib/gstrfuncs.h" gchar* g_strescape (const gchar *source, const gchar *exceptions) __attribute__((__malloc__)); gpointer g_memdup (gconstpointer mem, guint byte_size) __attribute__((__malloc__)); # 228 "/usr/include/glib-2.0/glib/gstrfuncs.h" gchar** g_strsplit (const gchar *string, const gchar *delimiter, gint max_tokens) __attribute__((__malloc__)); gchar ** g_strsplit_set (const gchar *string, const gchar *delimiters, gint max_tokens) __attribute__((__malloc__)); gchar* g_strjoinv (const gchar *separator, gchar **str_array) __attribute__((__malloc__)); void g_strfreev (gchar **str_array); gchar** g_strdupv (gchar **str_array) __attribute__((__malloc__)); guint g_strv_length (gchar **str_array); gchar* g_stpcpy (gchar *dest, const char *src); const gchar *g_strip_context (const gchar *msgid, const gchar *msgval); # 70 "/usr/include/glib-2.0/glib.h" 2 # 1 "/usr/include/glib-2.0/glib/gthreadpool.h" 1 # 32 "/usr/include/glib-2.0/glib/gthreadpool.h" typedef struct _GThreadPool GThreadPool; struct _GThreadPool { GFunc func; gpointer user_data; gboolean exclusive; }; GThreadPool* g_thread_pool_new (GFunc func, gpointer user_data, gint max_threads, gboolean exclusive, GError **error); void g_thread_pool_push (GThreadPool *pool, gpointer data, GError **error); void g_thread_pool_set_max_threads (GThreadPool *pool, gint max_threads, GError **error); gint g_thread_pool_get_max_threads (GThreadPool *pool); guint g_thread_pool_get_num_threads (GThreadPool *pool); guint g_thread_pool_unprocessed (GThreadPool *pool); void g_thread_pool_free (GThreadPool *pool, gboolean immediate, gboolean wait); void g_thread_pool_set_max_unused_threads (gint max_threads); gint g_thread_pool_get_max_unused_threads (void); guint g_thread_pool_get_num_unused_threads (void); void g_thread_pool_stop_unused_threads (void); void g_thread_pool_set_sort_function (GThreadPool *pool, GCompareDataFunc func, gpointer user_data); void g_thread_pool_set_max_idle_time (guint interval); guint g_thread_pool_get_max_idle_time (void); # 73 "/usr/include/glib-2.0/glib.h" 2 # 1 "/usr/include/glib-2.0/glib/gtimer.h" 1 # 32 "/usr/include/glib-2.0/glib/gtimer.h" typedef struct _GTimer GTimer; GTimer* g_timer_new (void); void g_timer_destroy (GTimer *timer); void g_timer_start (GTimer *timer); void g_timer_stop (GTimer *timer); void g_timer_reset (GTimer *timer); void g_timer_continue (GTimer *timer); gdouble g_timer_elapsed (GTimer *timer, gulong *microseconds); void g_usleep (gulong microseconds); void g_time_val_add (GTimeVal *time_, glong microseconds); gboolean g_time_val_from_iso8601 (const gchar *iso_date, GTimeVal *time_); gchar* g_time_val_to_iso8601 (GTimeVal *time_) __attribute__((__malloc__)); # 74 "/usr/include/glib-2.0/glib.h" 2 # 1 "/usr/include/glib-2.0/glib/gtree.h" 1 # 32 "/usr/include/glib-2.0/glib/gtree.h" typedef struct _GTree GTree; typedef gboolean (*GTraverseFunc) (gpointer key, gpointer value, gpointer data); GTree* g_tree_new (GCompareFunc key_compare_func); GTree* g_tree_new_with_data (GCompareDataFunc key_compare_func, gpointer key_compare_data); GTree* g_tree_new_full (GCompareDataFunc key_compare_func, gpointer key_compare_data, GDestroyNotify key_destroy_func, GDestroyNotify value_destroy_func); void g_tree_destroy (GTree *tree); void g_tree_insert (GTree *tree, gpointer key, gpointer value); void g_tree_replace (GTree *tree, gpointer key, gpointer value); gboolean g_tree_remove (GTree *tree, gconstpointer key); gboolean g_tree_steal (GTree *tree, gconstpointer key); gpointer g_tree_lookup (GTree *tree, gconstpointer key); gboolean g_tree_lookup_extended (GTree *tree, gconstpointer lookup_key, gpointer *orig_key, gpointer *value); void g_tree_foreach (GTree *tree, GTraverseFunc func, gpointer user_data); # 77 "/usr/include/glib-2.0/glib/gtree.h" gpointer g_tree_search (GTree *tree, GCompareFunc search_func, gconstpointer user_data); gint g_tree_height (GTree *tree); gint g_tree_nnodes (GTree *tree); # 75 "/usr/include/glib-2.0/glib.h" 2 # 8 "scheme.h" 2 # 99 "scheme.h" typedef struct scheme scheme; typedef struct cell *pointer; typedef void * (*func_alloc)(size_t); typedef void (*func_dealloc)(void *); typedef struct num { char is_fixnum; union { long ivalue; double rvalue; } value; } num; scheme *scheme_init_new(); scheme *scheme_init_new_custom_alloc(func_alloc malloc, func_dealloc free); int scheme_init(scheme *sc); int scheme_init_custom_alloc(scheme *sc, func_alloc, func_dealloc); void scheme_deinit(scheme *sc); void scheme_set_input_port_file(scheme *sc, FILE *fin); void scheme_set_input_port_string(scheme *sc, char *start, char *past_the_end); void scheme_set_output_port_file(scheme *sc, FILE *fin); void scheme_set_output_port_string(scheme *sc, char *start, char *past_the_end); void scheme_load_file(scheme *sc, FILE *fin); void scheme_load_string(scheme *sc, const char *cmd); void scheme_apply0(scheme *sc, const char *procname); pointer scheme_apply1(scheme *sc, const char *procname, pointer); void scheme_set_external_data(scheme *sc, void *p); void scheme_define(scheme *sc, pointer env, pointer symbol, pointer value); typedef pointer (*foreign_func)(scheme *, pointer); pointer _cons(scheme *sc, pointer a, pointer b, int immutable); pointer mk_integer(scheme *sc, long num); pointer mk_real(scheme *sc, double num); pointer mk_symbol(scheme *sc, const char *name); pointer gensym(scheme *sc); pointer mk_string(scheme *sc, const char *str); pointer mk_counted_string(scheme *sc, const char *str, int len); pointer mk_character(scheme *sc, gunichar c); pointer mk_foreign_func(scheme *sc, foreign_func f); void putstr(scheme *sc, const char *s); void set_safe_foreign (scheme *sc, pointer data); struct scheme_interface { void (*scheme_define)(scheme *sc, pointer env, pointer symbol, pointer value); pointer (*cons)(scheme *sc, pointer a, pointer b); pointer (*immutable_cons)(scheme *sc, pointer a, pointer b); pointer (*reserve_cells)(scheme *sc, int n); pointer (*mk_integer)(scheme *sc, long num); pointer (*mk_real)(scheme *sc, double num); pointer (*mk_symbol)(scheme *sc, const char *name); pointer (*gensym)(scheme *sc); pointer (*mk_string)(scheme *sc, const char *str); pointer (*mk_counted_string)(scheme *sc, const char *str, int len); pointer (*mk_character)(scheme *sc, gunichar c); pointer (*mk_vector)(scheme *sc, int len); pointer (*mk_foreign_func)(scheme *sc, foreign_func f); pointer (*mk_closure)(scheme *sc, pointer c, pointer e); void (*putstr)(scheme *sc, const char *s); void (*putcharacter)(scheme *sc, gunichar c); int (*is_string)(pointer p); int (*string_length)(pointer p); char *(*string_value)(pointer p); int (*is_number)(pointer p); num (*nvalue)(pointer p); long (*ivalue)(pointer p); double (*rvalue)(pointer p); int (*is_integer)(pointer p); int (*is_real)(pointer p); int (*is_character)(pointer p); gunichar (*charvalue)(pointer p); int (*is_list)(scheme *sc, pointer p); int (*is_vector)(pointer p); int (*list_length)(scheme *sc, pointer a); long (*vector_length)(pointer vec); void (*fill_vector)(pointer vec, pointer elem); pointer (*vector_elem)(pointer vec, int ielem); pointer (*set_vector_elem)(pointer vec, int ielem, pointer newel); int (*is_port)(pointer p); int (*is_pair)(pointer p); pointer (*pair_car)(pointer p); pointer (*pair_cdr)(pointer p); pointer (*set_car)(pointer p, pointer q); pointer (*set_cdr)(pointer p, pointer q); int (*is_symbol)(pointer p); char *(*symname)(pointer p); int (*is_syntax)(pointer p); int (*is_proc)(pointer p); int (*is_foreign)(pointer p); char *(*syntaxname)(pointer p); int (*is_closure)(pointer p); int (*is_macro)(pointer p); pointer (*closure_code)(pointer p); pointer (*closure_env)(pointer p); int (*is_continuation)(pointer p); int (*is_promise)(pointer p); int (*is_environment)(pointer p); int (*is_immutable)(pointer p); void (*setimmutable)(pointer p); void (*load_file)(scheme *sc, FILE *fin); void (*load_string)(scheme *sc, const char *input); }; # 7 "scheme-private.h" 2 enum scheme_port_kind { port_free=0, port_file=1, port_string=2, port_input=16, port_output=32 }; typedef struct port { unsigned char kind; union { struct { FILE *file; int closeit; } stdio; struct { char *start; char *past_the_end; char *curr; } string; } rep; } port; struct cell { unsigned int _flag; union { struct { char *_svalue; int _length; } _string; num _number; port *_port; foreign_func _ff; struct { struct cell *_car; struct cell *_cdr; } _cons; } _object; }; struct scheme { func_alloc malloc; func_dealloc free; int retcode; int tracing; char *alloc_seg[20]; pointer cell_seg[20]; int last_cell_seg; pointer args; pointer envir; pointer code; pointer dump; pointer safe_foreign; int interactive_repl; int print_output; int print_error; struct cell _sink; pointer sink; struct cell _NIL; pointer NIL; struct cell _HASHT; pointer T; struct cell _HASHF; pointer F; struct cell _EOF_OBJ; pointer EOF_OBJ; pointer oblist; pointer global_env; pointer LAMBDA; pointer QUOTE; pointer QQUOTE; pointer UNQUOTE; pointer UNQUOTESP; pointer FEED_TO; pointer COLON_HOOK; pointer ERROR_HOOK; pointer SHARP_HOOK; pointer free_cell; long fcells; pointer inport; pointer outport; pointer save_inport; pointer loadport; port load_stack[64]; int nesting_stack[64]; int file_i; int nesting; char gc_verbose; char no_memory; char linebuff[1024]; char strbuff[1024]; FILE *tmpfp; int tok; int print_flag; pointer value; int op; void *ext_data; long gensym_cnt; struct scheme_interface *vptr; void *dump_base; int dump_size; gunichar backchar; int bc_flag; }; enum scheme_opcodes { # 1 "opdefines.h" 1 OP_LOAD, OP_T0LVL, OP_T1LVL, OP_READ_INTERNAL, OP_GENSYM, OP_VALUEPRINT, OP_EVAL, OP_REAL_EVAL, OP_E0ARGS, OP_E1ARGS, OP_APPLY, OP_REAL_APPLY, OP_TRACING, OP_DOMACRO, OP_LAMBDA, OP_MKCLOSURE, OP_QUOTE, OP_DEF0, OP_DEF1, OP_DEFP, OP_BEGIN, OP_IF0, OP_IF1, OP_SET0, OP_SET1, OP_LET0, OP_LET1, OP_LET2, OP_LET0AST, OP_LET1AST, OP_LET2AST, OP_LET0REC, OP_LET1REC, OP_LET2REC, OP_COND0, OP_COND1, OP_DELAY, OP_AND0, OP_AND1, OP_OR0, OP_OR1, OP_C0STREAM, OP_C1STREAM, OP_MACRO0, OP_MACRO1, OP_CASE0, OP_CASE1, OP_CASE2, OP_PEVAL, OP_PAPPLY, OP_CONTINUATION, OP_INEX2EX, OP_EXP, OP_LOG, OP_SIN, OP_COS, OP_TAN, OP_ASIN, OP_ACOS, OP_ATAN, OP_SQRT, OP_EXPT, OP_FLOOR, OP_CEILING, OP_TRUNCATE, OP_ROUND, OP_ADD, OP_SUB, OP_MUL, OP_DIV, OP_INTDIV, OP_REM, OP_MOD, OP_CAR, OP_CDR, OP_CONS, OP_SETCAR, OP_SETCDR, OP_CHAR2INT, OP_INT2CHAR, OP_CHARUPCASE, OP_CHARDNCASE, OP_SYM2STR, OP_ATOM2STR, OP_STR2SYM, OP_STR2ATOM, OP_MKSTRING, OP_STRLEN, OP_STRREF, OP_STRSET, OP_STRAPPEND, OP_SUBSTR, OP_VECTOR, OP_MKVECTOR, OP_VECLEN, OP_VECREF, OP_VECSET, OP_NOT, OP_BOOLP, OP_EOFOBJP, OP_NULLP, OP_NUMEQ, OP_LESS, OP_GRE, OP_LEQ, OP_GEQ, OP_SYMBOLP, OP_NUMBERP, OP_STRINGP, OP_INTEGERP, OP_REALP, OP_CHARP, OP_CHARAP, OP_CHARNP, OP_CHARWP, OP_CHARUP, OP_CHARLP, OP_PORTP, OP_INPORTP, OP_OUTPORTP, OP_PROCP, OP_PAIRP, OP_LISTP, OP_ENVP, OP_VECTORP, OP_ARRAYP, OP_EQ, OP_EQV, OP_FORCE, OP_SAVE_FORCED, OP_WRITE, OP_WRITE_CHAR, OP_DISPLAY, OP_NEWLINE, OP_ERR0, OP_ERR1, OP_REVERSE, OP_LIST_STAR, OP_APPEND, OP_PUT, OP_GET, OP_QUIT, OP_GC, OP_GCVERB, OP_NEWSEGMENT, OP_OBLIST, OP_CURR_INPORT, OP_CURR_OUTPORT, OP_OPEN_INFILE, OP_OPEN_OUTFILE, OP_OPEN_INOUTFILE, OP_OPEN_INSTRING, OP_OPEN_OUTSTRING, OP_OPEN_INOUTSTRING, OP_CLOSE_INPORT, OP_CLOSE_OUTPORT, OP_INT_ENV, OP_CURR_ENV, OP_READ, OP_READ_CHAR, OP_PEEK_CHAR, OP_CHAR_READY, OP_SET_INPORT, OP_SET_OUTPORT, OP_RDSEXPR, OP_RDLIST, OP_RDDOT, OP_RDQUOTE, OP_RDQQUOTE, OP_RDQQUOTEVEC, OP_RDUNQUOTE, OP_RDUQTSP, OP_RDVEC, OP_P0LIST, OP_P1LIST, OP_PVECFROM, OP_LIST_LENGTH, OP_ASSQ, OP_GET_CLOSURE, OP_CLOSUREP, OP_MACROP, # 144 "scheme-private.h" 2 OP_MAXDEFINED }; int is_string(pointer p); char *string_value(pointer p); int is_number(pointer p); num nvalue(pointer p); long ivalue(pointer p); double rvalue(pointer p); int is_integer(pointer p); int is_real(pointer p); int is_character(pointer p); int string_length(pointer p); gunichar charvalue(pointer p); int is_vector(pointer p); int is_port(pointer p); int is_pair(pointer p); pointer pair_car(pointer p); pointer pair_cdr(pointer p); pointer set_car(pointer p, pointer q); pointer set_cdr(pointer p, pointer q); int is_symbol(pointer p); char *symname(pointer p); int hasprop(pointer p); int is_syntax(pointer p); int is_proc(pointer p); int is_foreign(pointer p); char *syntaxname(pointer p); int is_closure(pointer p); int is_macro(pointer p); pointer closure_code(pointer p); pointer closure_env(pointer p); int is_continuation(pointer p); int is_promise(pointer p); int is_environment(pointer p); int is_immutable(pointer p); void setimmutable(pointer p); # 48 "scheme.c" 2 # 75 "scheme.c" # 1 "/usr/include/string.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/string.h" 1 3 4 # 26 "/usr/include/gentoo-multilib/ppc64/string.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 27 "/usr/include/gentoo-multilib/ppc64/string.h" 2 3 4 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 1 3 4 # 34 "/usr/include/gentoo-multilib/ppc64/string.h" 2 3 4 extern void *memcpy (void *__restrict __dest, __const void *__restrict __src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memmove (void *__dest, __const void *__src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memccpy (void *__restrict __dest, __const void *__restrict __src, int __c, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int memcmp (__const void *__s1, __const void *__s2, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memchr (__const void *__s, int __c, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 82 "/usr/include/gentoo-multilib/ppc64/string.h" 3 4 extern char *strcpy (char *__restrict __dest, __const char *__restrict __src) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strcat (char *__restrict __dest, __const char *__restrict __src) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strncat (char *__restrict __dest, __const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcmp (__const char *__s1, __const char *__s2) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strncmp (__const char *__s1, __const char *__s2, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcoll (__const char *__s1, __const char *__s2) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strxfrm (char *__restrict __dest, __const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); # 130 "/usr/include/gentoo-multilib/ppc64/string.h" 3 4 extern char *strdup (__const char *__s) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); # 165 "/usr/include/gentoo-multilib/ppc64/string.h" 3 4 extern char *strchr (__const char *__s, int __c) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern char *strrchr (__const char *__s, int __c) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 181 "/usr/include/gentoo-multilib/ppc64/string.h" 3 4 extern size_t strcspn (__const char *__s, __const char *__reject) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strspn (__const char *__s, __const char *__accept) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strpbrk (__const char *__s, __const char *__accept) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strstr (__const char *__haystack, __const char *__needle) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strtok (char *__restrict __s, __const char *__restrict __delim) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern char *__strtok_r (char *__restrict __s, __const char *__restrict __delim, char **__restrict __save_ptr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3))); extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim, char **__restrict __save_ptr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3))); # 240 "/usr/include/gentoo-multilib/ppc64/string.h" 3 4 extern size_t strlen (__const char *__s) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 254 "/usr/include/gentoo-multilib/ppc64/string.h" 3 4 extern char *strerror (int __errnum) __attribute__ ((__nothrow__)); # 270 "/usr/include/gentoo-multilib/ppc64/string.h" 3 4 extern int strerror_r (int __errnum, char *__buf, size_t __buflen) __asm__ ("" "__xpg_strerror_r") __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); # 288 "/usr/include/gentoo-multilib/ppc64/string.h" 3 4 extern void __bzero (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern void bcopy (__const void *__src, void *__dest, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int bcmp (__const void *__s1, __const void *__s2, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *index (__const char *__s, int __c) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern char *rindex (__const char *__s, int __c) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern int ffs (int __i) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); # 325 "/usr/include/gentoo-multilib/ppc64/string.h" 3 4 extern int strcasecmp (__const char *__s1, __const char *__s2) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); # 348 "/usr/include/gentoo-multilib/ppc64/string.h" 3 4 extern char *strsep (char **__restrict __stringp, __const char *__restrict __delim) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); # 414 "/usr/include/gentoo-multilib/ppc64/string.h" 3 4 # 1 "/usr/include/bits/string.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/bits/string.h" 1 3 4 # 9 "/usr/include/bits/string.h" 2 3 4 # 415 "/usr/include/gentoo-multilib/ppc64/string.h" 2 3 4 # 1 "/usr/include/bits/string2.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/bits/string2.h" 1 3 4 # 80 "/usr/include/gentoo-multilib/ppc64/bits/string2.h" 3 4 typedef struct { unsigned char __arr[2]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR2; typedef struct { unsigned char __arr[3]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR3; typedef struct { unsigned char __arr[4]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR4; typedef struct { unsigned char __arr[5]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR5; typedef struct { unsigned char __arr[6]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR6; typedef struct { unsigned char __arr[7]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR7; typedef struct { unsigned char __arr[8]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR8; # 394 "/usr/include/gentoo-multilib/ppc64/bits/string2.h" 3 4 extern void *__rawmemchr (const void *__s, int __c); # 969 "/usr/include/gentoo-multilib/ppc64/bits/string2.h" 3 4 extern __inline size_t __strcspn_c1 (__const char *__s, int __reject); extern __inline size_t __strcspn_c1 (__const char *__s, int __reject) { register size_t __result = 0; while (__s[__result] != '\0' && __s[__result] != __reject) ++__result; return __result; } extern __inline size_t __strcspn_c2 (__const char *__s, int __reject1, int __reject2); extern __inline size_t __strcspn_c2 (__const char *__s, int __reject1, int __reject2) { register size_t __result = 0; while (__s[__result] != '\0' && __s[__result] != __reject1 && __s[__result] != __reject2) ++__result; return __result; } extern __inline size_t __strcspn_c3 (__const char *__s, int __reject1, int __reject2, int __reject3); extern __inline size_t __strcspn_c3 (__const char *__s, int __reject1, int __reject2, int __reject3) { register size_t __result = 0; while (__s[__result] != '\0' && __s[__result] != __reject1 && __s[__result] != __reject2 && __s[__result] != __reject3) ++__result; return __result; } # 1045 "/usr/include/gentoo-multilib/ppc64/bits/string2.h" 3 4 extern __inline size_t __strspn_c1 (__const char *__s, int __accept); extern __inline size_t __strspn_c1 (__const char *__s, int __accept) { register size_t __result = 0; while (__s[__result] == __accept) ++__result; return __result; } extern __inline size_t __strspn_c2 (__const char *__s, int __accept1, int __accept2); extern __inline size_t __strspn_c2 (__const char *__s, int __accept1, int __accept2) { register size_t __result = 0; while (__s[__result] == __accept1 || __s[__result] == __accept2) ++__result; return __result; } extern __inline size_t __strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3); extern __inline size_t __strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3) { register size_t __result = 0; while (__s[__result] == __accept1 || __s[__result] == __accept2 || __s[__result] == __accept3) ++__result; return __result; } # 1121 "/usr/include/gentoo-multilib/ppc64/bits/string2.h" 3 4 extern __inline char *__strpbrk_c2 (__const char *__s, int __accept1, int __accept2); extern __inline char * __strpbrk_c2 (__const char *__s, int __accept1, int __accept2) { while (*__s != '\0' && *__s != __accept1 && *__s != __accept2) ++__s; return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s; } extern __inline char *__strpbrk_c3 (__const char *__s, int __accept1, int __accept2, int __accept3); extern __inline char * __strpbrk_c3 (__const char *__s, int __accept1, int __accept2, int __accept3) { while (*__s != '\0' && *__s != __accept1 && *__s != __accept2 && *__s != __accept3) ++__s; return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s; } # 1173 "/usr/include/gentoo-multilib/ppc64/bits/string2.h" 3 4 extern __inline char *__strtok_r_1c (char *__s, char __sep, char **__nextp); extern __inline char * __strtok_r_1c (char *__s, char __sep, char **__nextp) { char *__result; if (__s == ((void *)0)) __s = *__nextp; while (*__s == __sep) ++__s; __result = ((void *)0); if (*__s != '\0') { __result = __s++; while (*__s != '\0') if (*__s++ == __sep) { __s[-1] = '\0'; break; } *__nextp = __s; } return __result; } # 1205 "/usr/include/gentoo-multilib/ppc64/bits/string2.h" 3 4 extern char *__strsep_g (char **__stringp, __const char *__delim); # 1223 "/usr/include/gentoo-multilib/ppc64/bits/string2.h" 3 4 extern __inline char *__strsep_1c (char **__s, char __reject); extern __inline char * __strsep_1c (char **__s, char __reject) { register char *__retval = *__s; 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)) *(*__s)++ = '\0'; return __retval; } extern __inline char *__strsep_2c (char **__s, char __reject1, char __reject2); extern __inline char * __strsep_2c (char **__s, char __reject1, char __reject2) { register char *__retval = *__s; if (__retval != ((void *)0)) { register char *__cp = __retval; while (1) { if (*__cp == '\0') { __cp = ((void *)0); break; } if (*__cp == __reject1 || *__cp == __reject2) { *__cp++ = '\0'; break; } ++__cp; } *__s = __cp; } return __retval; } extern __inline char *__strsep_3c (char **__s, char __reject1, char __reject2, char __reject3); extern __inline char * __strsep_3c (char **__s, char __reject1, char __reject2, char __reject3) { register char *__retval = *__s; if (__retval != ((void *)0)) { register char *__cp = __retval; while (1) { if (*__cp == '\0') { __cp = ((void *)0); break; } if (*__cp == __reject1 || *__cp == __reject2 || *__cp == __reject3) { *__cp++ = '\0'; break; } ++__cp; } *__s = __cp; } return __retval; } # 1299 "/usr/include/gentoo-multilib/ppc64/bits/string2.h" 3 4 # 1 "/usr/include/stdlib.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 1 3 4 # 25 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 26 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 2 3 4 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 1 3 4 # 34 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 2 3 4 # 587 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4 extern void *malloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; extern void *calloc (size_t __nmemb, size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; # 978 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4 # 9 "/usr/include/stdlib.h" 2 3 4 # 1300 "/usr/include/gentoo-multilib/ppc64/bits/string2.h" 2 3 4 extern char *__strdup (__const char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)); # 1323 "/usr/include/gentoo-multilib/ppc64/bits/string2.h" 3 4 extern char *__strndup (__const char *__string, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)); # 9 "/usr/include/bits/string2.h" 2 3 4 # 418 "/usr/include/gentoo-multilib/ppc64/string.h" 2 3 4 # 426 "/usr/include/gentoo-multilib/ppc64/string.h" 3 4 # 9 "/usr/include/string.h" 2 3 4 # 76 "scheme.c" 2 # 1 "/usr/include/stdlib.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 1 3 4 # 25 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 26 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 2 3 4 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 1 3 4 # 34 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 2 3 4 # 96 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4 typedef struct { int quot; int rem; } div_t; typedef struct { long int quot; long int rem; } ldiv_t; # 140 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4 extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__)) ; extern double atof (__const char *__nptr) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern int atoi (__const char *__nptr) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern long int atol (__const char *__nptr) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern long long int atoll (__const char *__nptr) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern double strtod (__const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; # 182 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4 extern long int strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern unsigned long int strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern long long int strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern unsigned long long int strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern long long int strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern unsigned long long int strtoull (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; # 279 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4 extern double __strtod_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern float __strtof_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern long double __strtold_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern long int __strtol_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern unsigned long int __strtoul_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern long long int __strtoll_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern unsigned long long int __strtoull_internal (__const char * __restrict __nptr, char **__restrict __endptr, int __base, int __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern __inline double __attribute__ ((__nothrow__)) strtod (__const char *__restrict __nptr, char **__restrict __endptr) { return __strtod_internal (__nptr, __endptr, 0); } extern __inline long int __attribute__ ((__nothrow__)) strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtol_internal (__nptr, __endptr, __base, 0); } extern __inline unsigned long int __attribute__ ((__nothrow__)) strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtoul_internal (__nptr, __endptr, __base, 0); } # 364 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4 __extension__ extern __inline long long int __attribute__ ((__nothrow__)) strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtoll_internal (__nptr, __endptr, __base, 0); } __extension__ extern __inline unsigned long long int __attribute__ ((__nothrow__)) strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtoull_internal (__nptr, __endptr, __base, 0); } __extension__ extern __inline long long int __attribute__ ((__nothrow__)) strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtoll_internal (__nptr, __endptr, __base, 0); } __extension__ extern __inline unsigned long long int __attribute__ ((__nothrow__)) strtoull (__const char * __restrict __nptr, char **__restrict __endptr, int __base) { return __strtoull_internal (__nptr, __endptr, __base, 0); } extern __inline double __attribute__ ((__nothrow__)) atof (__const char *__nptr) { return strtod (__nptr, (char **) ((void *)0)); } extern __inline int __attribute__ ((__nothrow__)) atoi (__const char *__nptr) { return (int) strtol (__nptr, (char **) ((void *)0), 10); } extern __inline long int __attribute__ ((__nothrow__)) atol (__const char *__nptr) { return strtol (__nptr, (char **) ((void *)0), 10); } __extension__ extern __inline long long int __attribute__ ((__nothrow__)) atoll (__const char *__nptr) { return strtoll (__nptr, (char **) ((void *)0), 10); } # 429 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4 extern char *l64a (long int __n) __attribute__ ((__nothrow__)) ; extern long int a64l (__const char *__s) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; # 1 "/usr/include/sys/types.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 1 3 4 # 27 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 28 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 2 3 4 # 1 "/usr/include/bits/types.h" 1 3 4 # 32 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 2 3 4 typedef __u_char u_char; typedef __u_short u_short; typedef __u_int u_int; typedef __u_long u_long; typedef __quad_t quad_t; typedef __u_quad_t u_quad_t; typedef __fsid_t fsid_t; typedef __loff_t loff_t; typedef __ino_t ino_t; # 62 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 3 4 typedef __dev_t dev_t; # 72 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 3 4 typedef __mode_t mode_t; typedef __nlink_t nlink_t; # 105 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 3 4 typedef __id_t id_t; # 116 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 3 4 typedef __daddr_t daddr_t; typedef __caddr_t caddr_t; typedef __key_t key_t; # 133 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 3 4 # 1 "/usr/include/time.h" 1 3 4 # 134 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 2 3 4 # 147 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 3 4 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 1 3 4 # 148 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 2 3 4 typedef unsigned long int ulong; typedef unsigned short int ushort; typedef unsigned int uint; # 195 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 3 4 typedef int int8_t __attribute__ ((__mode__ (__QI__))); typedef int int16_t __attribute__ ((__mode__ (__HI__))); typedef int int32_t __attribute__ ((__mode__ (__SI__))); typedef int int64_t __attribute__ ((__mode__ (__DI__))); typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__))); typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__))); typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__))); typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__))); typedef int register_t __attribute__ ((__mode__ (__word__))); # 217 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 3 4 # 1 "/usr/include/endian.h" 1 3 4 # 218 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 2 3 4 # 1 "/usr/include/sys/select.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/sys/select.h" 1 3 4 # 25 "/usr/include/gentoo-multilib/ppc64/sys/select.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 26 "/usr/include/gentoo-multilib/ppc64/sys/select.h" 2 3 4 # 1 "/usr/include/bits/types.h" 1 3 4 # 29 "/usr/include/gentoo-multilib/ppc64/sys/select.h" 2 3 4 # 1 "/usr/include/bits/select.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/bits/select.h" 1 3 4 # 9 "/usr/include/bits/select.h" 2 3 4 # 32 "/usr/include/gentoo-multilib/ppc64/sys/select.h" 2 3 4 # 1 "/usr/include/bits/sigset.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/bits/sigset.h" 1 3 4 # 23 "/usr/include/gentoo-multilib/ppc64/bits/sigset.h" 3 4 typedef int __sig_atomic_t; typedef struct { unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; } __sigset_t; # 9 "/usr/include/bits/sigset.h" 2 3 4 # 35 "/usr/include/gentoo-multilib/ppc64/sys/select.h" 2 3 4 typedef __sigset_t sigset_t; # 1 "/usr/include/time.h" 1 3 4 # 45 "/usr/include/gentoo-multilib/ppc64/sys/select.h" 2 3 4 # 1 "/usr/include/bits/time.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/bits/time.h" 1 3 4 # 65 "/usr/include/gentoo-multilib/ppc64/bits/time.h" 3 4 # 1 "/usr/include/bits/types.h" 1 3 4 # 66 "/usr/include/gentoo-multilib/ppc64/bits/time.h" 2 3 4 struct timeval { __time_t tv_sec; __suseconds_t tv_usec; }; # 9 "/usr/include/bits/time.h" 2 3 4 # 47 "/usr/include/gentoo-multilib/ppc64/sys/select.h" 2 3 4 typedef __suseconds_t suseconds_t; typedef long int __fd_mask; # 67 "/usr/include/gentoo-multilib/ppc64/sys/select.h" 3 4 typedef struct { __fd_mask __fds_bits[1024 / (8 * sizeof (__fd_mask))]; } fd_set; typedef __fd_mask fd_mask; # 99 "/usr/include/gentoo-multilib/ppc64/sys/select.h" 3 4 # 109 "/usr/include/gentoo-multilib/ppc64/sys/select.h" 3 4 extern int select (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, struct timeval *__restrict __timeout); # 121 "/usr/include/gentoo-multilib/ppc64/sys/select.h" 3 4 extern int pselect (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, const struct timespec *__restrict __timeout, const __sigset_t *__restrict __sigmask); # 9 "/usr/include/sys/select.h" 2 3 4 # 221 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 2 3 4 # 1 "/usr/include/sys/sysmacros.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/sys/sysmacros.h" 1 3 4 # 23 "/usr/include/gentoo-multilib/ppc64/sys/sysmacros.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 24 "/usr/include/gentoo-multilib/ppc64/sys/sysmacros.h" 2 3 4 __extension__ extern __inline unsigned int gnu_dev_major (unsigned long long int __dev) __attribute__ ((__nothrow__)); __extension__ extern __inline unsigned int gnu_dev_minor (unsigned long long int __dev) __attribute__ ((__nothrow__)); __extension__ extern __inline unsigned long long int gnu_dev_makedev (unsigned int __major, unsigned int __minor) __attribute__ ((__nothrow__)); __extension__ extern __inline unsigned int __attribute__ ((__nothrow__)) gnu_dev_major (unsigned long long int __dev) { return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff); } __extension__ extern __inline unsigned int __attribute__ ((__nothrow__)) gnu_dev_minor (unsigned long long int __dev) { return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff); } __extension__ extern __inline unsigned long long int __attribute__ ((__nothrow__)) gnu_dev_makedev (unsigned int __major, unsigned int __minor) { return ((__minor & 0xff) | ((__major & 0xfff) << 8) | (((unsigned long long int) (__minor & ~0xff)) << 12) | (((unsigned long long int) (__major & ~0xfff)) << 32)); } # 9 "/usr/include/sys/sysmacros.h" 2 3 4 # 224 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 2 3 4 # 235 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 3 4 typedef __blkcnt_t blkcnt_t; typedef __fsblkcnt_t fsblkcnt_t; typedef __fsfilcnt_t fsfilcnt_t; # 270 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 3 4 # 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/bits/pthreadtypes.h" 1 3 4 # 24 "/usr/include/gentoo-multilib/ppc64/bits/pthreadtypes.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/bits/wordsize.h" 1 3 4 # 9 "/usr/include/bits/wordsize.h" 2 3 4 # 25 "/usr/include/gentoo-multilib/ppc64/bits/pthreadtypes.h" 2 3 4 # 51 "/usr/include/gentoo-multilib/ppc64/bits/pthreadtypes.h" 3 4 typedef unsigned long int pthread_t; typedef union { char __size[56]; long int __align; } pthread_attr_t; typedef struct __pthread_internal_list { struct __pthread_internal_list *__prev; struct __pthread_internal_list *__next; } __pthread_list_t; # 77 "/usr/include/gentoo-multilib/ppc64/bits/pthreadtypes.h" 3 4 typedef union { struct __pthread_mutex_s { int __lock; unsigned int __count; int __owner; unsigned int __nusers; int __kind; int __spins; __pthread_list_t __list; # 102 "/usr/include/gentoo-multilib/ppc64/bits/pthreadtypes.h" 3 4 } __data; char __size[40]; long int __align; } pthread_mutex_t; typedef union { char __size[4]; int __align; } pthread_mutexattr_t; typedef union { struct { int __lock; unsigned int __futex; __extension__ unsigned long long int __total_seq; __extension__ unsigned long long int __wakeup_seq; __extension__ unsigned long long int __woken_seq; void *__mutex; unsigned int __nwaiters; unsigned int __broadcast_seq; } __data; char __size[48]; __extension__ long long int __align; } pthread_cond_t; typedef union { char __size[4]; int __align; } pthread_condattr_t; typedef unsigned int pthread_key_t; typedef int pthread_once_t; typedef union { struct { int __lock; unsigned int __nr_readers; unsigned int __readers_wakeup; unsigned int __writer_wakeup; unsigned int __nr_readers_queued; unsigned int __nr_writers_queued; int __writer; int __pad1; unsigned long int __pad2; unsigned long int __pad3; unsigned int __flags; } __data; # 185 "/usr/include/gentoo-multilib/ppc64/bits/pthreadtypes.h" 3 4 char __size[56]; long int __align; } pthread_rwlock_t; typedef union { char __size[8]; long int __align; } pthread_rwlockattr_t; typedef volatile int pthread_spinlock_t; typedef union { char __size[32]; long int __align; } pthread_barrier_t; typedef union { char __size[4]; int __align; } pthread_barrierattr_t; # 9 "/usr/include/bits/pthreadtypes.h" 2 3 4 # 271 "/usr/include/gentoo-multilib/ppc64/sys/types.h" 2 3 4 # 9 "/usr/include/sys/types.h" 2 3 4 # 439 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 2 3 4 extern long int random (void) __attribute__ ((__nothrow__)); extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__)); extern char *initstate (unsigned int __seed, char *__statebuf, size_t __statelen) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); struct random_data { int32_t *fptr; int32_t *rptr; int32_t *state; int rand_type; int rand_deg; int rand_sep; int32_t *end_ptr; }; extern int random_r (struct random_data *__restrict __buf, int32_t *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int srandom_r (unsigned int __seed, struct random_data *__buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, size_t __statelen, struct random_data *__restrict __buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4))); extern int setstate_r (char *__restrict __statebuf, struct random_data *__restrict __buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int rand (void) __attribute__ ((__nothrow__)); extern void srand (unsigned int __seed) __attribute__ ((__nothrow__)); extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__)); extern double drand48 (void) __attribute__ ((__nothrow__)); extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern long int lrand48 (void) __attribute__ ((__nothrow__)); extern long int nrand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern long int mrand48 (void) __attribute__ ((__nothrow__)); extern long int jrand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern void srand48 (long int __seedval) __attribute__ ((__nothrow__)); extern unsigned short int *seed48 (unsigned short int __seed16v[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); struct drand48_data { unsigned short int __x[3]; unsigned short int __old_x[3]; unsigned short int __c; unsigned short int __init; unsigned long long int __a; }; extern int drand48_r (struct drand48_data *__restrict __buffer, double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int erand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int lrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int nrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int mrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int jrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int srand48_r (long int __seedval, struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern int seed48_r (unsigned short int __seed16v[3], struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int lcong48_r (unsigned short int __param[7], struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); # 597 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4 extern void *realloc (void *__ptr, size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); extern void free (void *__ptr) __attribute__ ((__nothrow__)); extern void cfree (void *__ptr) __attribute__ ((__nothrow__)); # 1 "/usr/include/alloca.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/alloca.h" 1 3 4 # 22 "/usr/include/gentoo-multilib/ppc64/alloca.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 23 "/usr/include/gentoo-multilib/ppc64/alloca.h" 2 3 4 # 1 "/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.1/include/stddef.h" 1 3 4 # 26 "/usr/include/gentoo-multilib/ppc64/alloca.h" 2 3 4 extern void *alloca (size_t __size) __attribute__ ((__nothrow__)); # 9 "/usr/include/alloca.h" 2 3 4 # 613 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 2 3 4 extern void *valloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern void abort (void) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern void exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); # 658 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4 extern char *getenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern char *__secure_getenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern int putenv (char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int setenv (__const char *__name, __const char *__value, int __replace) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern int unsetenv (__const char *__name) __attribute__ ((__nothrow__)); extern int clearenv (void) __attribute__ ((__nothrow__)); # 698 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4 extern char *mktemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; # 709 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4 extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ; # 729 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4 extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern int system (__const char *__command) ; # 757 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4 extern char *realpath (__const char *__restrict __name, char *__restrict __resolved) __attribute__ ((__nothrow__)) ; typedef int (*__compar_fn_t) (__const void *, __const void *); extern void *bsearch (__const void *__key, __const void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 2, 5))) ; extern void qsort (void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); extern int abs (int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; extern long int labs (long int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; extern div_t div (int __numer, int __denom) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; extern ldiv_t ldiv (long int __numer, long int __denom) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; # 822 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4 extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; extern char *gcvt (double __value, int __ndigit, char *__buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ; extern char *qecvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; extern char *qfcvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; extern char *qgcvt (long double __value, int __ndigit, char *__buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ; extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int qecvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int qfcvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int mblen (__const char *__s, size_t __n) __attribute__ ((__nothrow__)) ; extern int mbtowc (wchar_t *__restrict __pwc, __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__)) ; extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__)) ; extern size_t mbstowcs (wchar_t *__restrict __pwcs, __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__)); extern size_t wcstombs (char *__restrict __s, __const wchar_t *__restrict __pwcs, size_t __n) __attribute__ ((__nothrow__)); extern int rpmatch (__const char *__response) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; # 927 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4 extern int posix_openpt (int __oflag) ; # 962 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4 extern int getloadavg (double __loadavg[], int __nelem) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); # 972 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 3 4 # 1 "/usr/include/bits/stdlib-ldbl.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/ppc64/bits/stdlib-ldbl.h" 1 3 4 # 34 "/usr/include/gentoo-multilib/ppc64/bits/stdlib-ldbl.h" 3 4 extern __typeof (__strtold_internal) __strtold_internal __asm ("" "__strtod_internal"); extern __typeof (qecvt) qecvt __asm ("" "ecvt"); extern __typeof (qfcvt) qfcvt __asm ("" "fcvt"); extern __typeof (qgcvt) qgcvt __asm ("" "gcvt"); extern __typeof (qecvt_r) qecvt_r __asm ("" "ecvt_r"); extern __typeof (qfcvt_r) qfcvt_r __asm ("" "fcvt_r"); # 9 "/usr/include/bits/stdlib-ldbl.h" 2 3 4 # 973 "/usr/include/gentoo-multilib/ppc64/stdlib.h" 2 3 4 # 9 "/usr/include/stdlib.h" 2 3 4 # 77 "scheme.c" 2 static int utf8_stricmp(const char *s1, const char *s2) { char *s1a, *s2a; int result; s1a = g_utf8_casefold(s1, -1); s2a = g_utf8_casefold(s2, -1); result = g_utf8_collate(s1a, s2a); g_free(s1a); g_free(s2a); return result; } # 118 "scheme.c" enum scheme_types { T_STRING=1, T_NUMBER=2, T_SYMBOL=3, T_PROC=4, T_PAIR=5, T_CLOSURE=6, T_CONTINUATION=7, T_FOREIGN=8, T_CHARACTER=9, T_PORT=10, T_VECTOR=11, T_MACRO=12, T_PROMISE=13, T_ENVIRONMENT=14, T_LAST_SYSTEM_TYPE=14 }; # 147 "scheme.c" void (*ts_output_routine) (FILE *, char *, int); static num num_add(num a, num b); static num num_mul(num a, num b); static num num_div(num a, num b); static num num_intdiv(num a, num b); static num num_sub(num a, num b); static num num_rem(num a, num b); static num num_mod(num a, num b); static int num_eq(num a, num b); static int num_gt(num a, num b); static int num_ge(num a, num b); static int num_lt(num a, num b); static int num_le(num a, num b); static double round_per_R5RS(double x); static int is_zero_double(double x); static num num_zero; static num num_one; int is_string(pointer p) { return ((((p)->_flag)&31)==T_STRING); } static int is_list(scheme *sc, pointer p); int is_vector(pointer p) { return ((((p)->_flag)&31)==T_VECTOR); } static void fill_vector(pointer vec, pointer obj); static pointer vector_elem(pointer vec, int ielem); static pointer set_vector_elem(pointer vec, int ielem, pointer a); int is_number(pointer p) { return ((((p)->_flag)&31)==T_NUMBER); } int is_integer(pointer p) { return ((p)->_object._number.is_fixnum); } int is_real(pointer p) { return (!(p)->_object._number.is_fixnum); } int is_character(pointer p) { return ((((p)->_flag)&31)==T_CHARACTER); } int string_length(pointer p) { return ((p)->_object._string._length); } char *string_value(pointer p) { return ((p)->_object._string._svalue); } num nvalue(pointer p) { return ((p)->_object._number); } long ivalue(pointer p) { return (is_integer(p)?(p)->_object._number.value.ivalue:(long)(p)->_object._number.value.rvalue); } double rvalue(pointer p) { return (!is_integer(p)?(p)->_object._number.value.rvalue:(double)(p)->_object._number.value.ivalue); } gunichar charvalue(pointer p) { return (gunichar)((p)->_object._number.value.ivalue); } int is_port(pointer p) { return ((((p)->_flag)&31)==T_PORT); } int is_pair(pointer p) { return ((((p)->_flag)&31)==T_PAIR); } pointer pair_car(pointer p) { return ((p)->_object._cons._car); } pointer pair_cdr(pointer p) { return ((p)->_object._cons._cdr); } pointer set_car(pointer p, pointer q) { return ((p)->_object._cons._car)=q; } pointer set_cdr(pointer p, pointer q) { return ((p)->_object._cons._cdr)=q; } int is_symbol(pointer p) { return ((((p)->_flag)&31)==T_SYMBOL); } char *symname(pointer p) { return ((((p)->_object._cons._car))->_object._string._svalue); } int is_syntax(pointer p) { return (((p)->_flag)&4096); } int is_proc(pointer p) { return ((((p)->_flag)&31)==T_PROC); } int is_foreign(pointer p) { return ((((p)->_flag)&31)==T_FOREIGN); } char *syntaxname(pointer p) { return ((((p)->_object._cons._car))->_object._string._svalue); } static const char *procname(pointer x); int is_closure(pointer p) { return ((((p)->_flag)&31)==T_CLOSURE); } int is_macro(pointer p) { return ((((p)->_flag)&31)==T_MACRO); } pointer closure_code(pointer p) { return ((p)->_object._cons._car); } pointer closure_env(pointer p) { return ((p)->_object._cons._cdr); } int is_continuation(pointer p) { return ((((p)->_flag)&31)==T_CONTINUATION); } int is_promise(pointer p) { return ((((p)->_flag)&31)==T_PROMISE); } int is_environment(pointer p) { return ((((p)->_flag)&31)==T_ENVIRONMENT); } # 251 "scheme.c" int is_immutable(pointer p) { return (((p)->_flag)&8192); } void setimmutable(pointer p) { ((p)->_flag) |= 8192; } # 266 "scheme.c" static int Cisalpha(gunichar c) { return g_unichar_isalpha(c); } static int Cisdigit(gunichar c) { return g_unichar_isdigit(c); } static int Cisspace(gunichar c) { return g_unichar_isspace(c); } static int Cisupper(gunichar c) { return g_unichar_isupper(c); } static int Cislower(gunichar c) { return g_unichar_islower(c); } # 326 "scheme.c" static const char utf8_length[128] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, 3,3,3,3,3,3,3,3,4,4,4,4,5,5,0,0 }; static int file_push(scheme *sc, const char *fname); static void file_pop(scheme *sc); static int file_interactive(scheme *sc); static int is_one_of(char *s, gunichar c); static int alloc_cellseg(scheme *sc, int n); static long binary_decode(const char *s); static pointer get_cell(scheme *sc, pointer a, pointer b); static pointer _get_cell(scheme *sc, pointer a, pointer b); static pointer reserve_cells(scheme *sc, int n); static pointer get_consecutive_cells(scheme *sc, int n); static pointer find_consecutive_cells(scheme *sc, int n); static void finalize_cell(scheme *sc, pointer a); static int count_consecutive_cells(pointer x, int needed); static pointer find_slot_in_env(scheme *sc, pointer env, pointer sym, int all); static pointer mk_number(scheme *sc, num n); static pointer mk_empty_string(scheme *sc, int len, gunichar fill); static char *store_string(scheme *sc, int len, const char *str, gunichar fill); static pointer mk_vector(scheme *sc, int len); static pointer mk_atom(scheme *sc, char *q); static pointer mk_sharp_const(scheme *sc, char *name); static pointer mk_port(scheme *sc, port *p); static pointer port_from_filename(scheme *sc, const char *fn, int prop); static pointer port_from_file(scheme *sc, FILE *, int prop); static pointer port_from_string(scheme *sc, char *start, char *past_the_end, int prop); static port *port_rep_from_filename(scheme *sc, const char *fn, int prop); static port *port_rep_from_file(scheme *sc, FILE *, int prop); static port *port_rep_from_string(scheme *sc, char *start, char *past_the_end, int prop); static void port_close(scheme *sc, pointer p, int flag); static void mark(pointer a); static void gc(scheme *sc, pointer a, pointer b); static gunichar inchar(scheme *sc); static void backchar(scheme *sc, gunichar c); static char *readstr_upto(scheme *sc, char *delim); static pointer readstrexp(scheme *sc); static void skipspace(scheme *sc); static int token(scheme *sc); static void printslashstring(scheme *sc, char *s, int len); static void atom2str(scheme *sc, pointer l, int f, char **pp, int *plen); static void printatom(scheme *sc, pointer l, int f); static pointer mk_proc(scheme *sc, enum scheme_opcodes op); static pointer mk_closure(scheme *sc, pointer c, pointer e); static pointer mk_continuation(scheme *sc, pointer d); static pointer reverse(scheme *sc, pointer a); static pointer reverse_in_place(scheme *sc, pointer term, pointer list); static pointer append(scheme *sc, pointer a, pointer b); static int list_length(scheme *sc, pointer a); static int eqv(pointer a, pointer b); static void dump_stack_mark(scheme *); static pointer opexe_0(scheme *sc, enum scheme_opcodes op); static pointer opexe_1(scheme *sc, enum scheme_opcodes op); static pointer opexe_2(scheme *sc, enum scheme_opcodes op); static pointer opexe_3(scheme *sc, enum scheme_opcodes op); static pointer opexe_4(scheme *sc, enum scheme_opcodes op); static pointer opexe_5(scheme *sc, enum scheme_opcodes op); static pointer opexe_6(scheme *sc, enum scheme_opcodes op); static void Eval_Cycle(scheme *sc, enum scheme_opcodes op); static void assign_syntax(scheme *sc, char *name); static int syntaxnum(pointer p); static void assign_proc(scheme *sc, enum scheme_opcodes, char *name); static num num_add(num a, num b) { num ret; ret.is_fixnum=a.is_fixnum && b.is_fixnum; if(ret.is_fixnum) { ret.value.ivalue= a.value.ivalue+b.value.ivalue; } else { ret.value.rvalue=(!a.is_fixnum?(a).value.rvalue:(double)(a).value.ivalue)+(!b.is_fixnum?(b).value.rvalue:(double)(b).value.ivalue); } return ret; } static num num_mul(num a, num b) { num ret; ret.is_fixnum=a.is_fixnum && b.is_fixnum; if(ret.is_fixnum) { ret.value.ivalue= a.value.ivalue*b.value.ivalue; } else { ret.value.rvalue=(!a.is_fixnum?(a).value.rvalue:(double)(a).value.ivalue)*(!b.is_fixnum?(b).value.rvalue:(double)(b).value.ivalue); } return ret; } static num num_div(num a, num b) { num ret; ret.is_fixnum=a.is_fixnum && b.is_fixnum && a.value.ivalue%b.value.ivalue==0; if(ret.is_fixnum) { ret.value.ivalue= a.value.ivalue/b.value.ivalue; } else { ret.value.rvalue=(!a.is_fixnum?(a).value.rvalue:(double)(a).value.ivalue)/(!b.is_fixnum?(b).value.rvalue:(double)(b).value.ivalue); } return ret; } static num num_intdiv(num a, num b) { num ret; ret.is_fixnum=a.is_fixnum && b.is_fixnum; if(ret.is_fixnum) { ret.value.ivalue= a.value.ivalue/b.value.ivalue; } else { ret.value.rvalue=(!a.is_fixnum?(a).value.rvalue:(double)(a).value.ivalue)/(!b.is_fixnum?(b).value.rvalue:(double)(b).value.ivalue); } return ret; } static num num_sub(num a, num b) { num ret; ret.is_fixnum=a.is_fixnum && b.is_fixnum; if(ret.is_fixnum) { ret.value.ivalue= a.value.ivalue-b.value.ivalue; } else { ret.value.rvalue=(!a.is_fixnum?(a).value.rvalue:(double)(a).value.ivalue)-(!b.is_fixnum?(b).value.rvalue:(double)(b).value.ivalue); } return ret; } static num num_rem(num a, num b) { num ret; long e1, e2, res; ret.is_fixnum=a.is_fixnum && b.is_fixnum; e1=(a.is_fixnum?(a).value.ivalue:(long)(a).value.rvalue); e2=(b.is_fixnum?(b).value.ivalue:(long)(b).value.rvalue); res=e1%e2; if (res > 0) { if (e1 < 0) { res -= labs(e2); } } else if (res < 0) { if (e1 > 0) { res += labs(e2); } } ret.value.ivalue=res; return ret; } static num num_mod(num a, num b) { num ret; long e1, e2, res; ret.is_fixnum=a.is_fixnum && b.is_fixnum; e1=(a.is_fixnum?(a).value.ivalue:(long)(a).value.rvalue); e2=(b.is_fixnum?(b).value.ivalue:(long)(b).value.rvalue); res=e1%e2; if(res*e2<0) { e2=labs(e2); if(res>0) { res-=e2; } else { res+=e2; } } ret.value.ivalue=res; return ret; } static int num_eq(num a, num b) { int ret; int is_fixnum=a.is_fixnum && b.is_fixnum; if(is_fixnum) { ret= a.value.ivalue==b.value.ivalue; } else { ret=(!a.is_fixnum?(a).value.rvalue:(double)(a).value.ivalue)==(!b.is_fixnum?(b).value.rvalue:(double)(b).value.ivalue); } return ret; } static int num_gt(num a, num b) { int ret; int is_fixnum=a.is_fixnum && b.is_fixnum; if(is_fixnum) { ret= a.value.ivalue>b.value.ivalue; } else { ret=(!a.is_fixnum?(a).value.rvalue:(double)(a).value.ivalue)>(!b.is_fixnum?(b).value.rvalue:(double)(b).value.ivalue); } return ret; } static int num_ge(num a, num b) { return !num_lt(a,b); } static int num_lt(num a, num b) { int ret; int is_fixnum=a.is_fixnum && b.is_fixnum; if(is_fixnum) { ret= a.value.ivaluedce) { return ce; } else if(dfl-2.2250738585072014e-308; } static long binary_decode(const char *s) { long x=0; while(*s!=0 && (*s=='1' || *s=='0')) { x<<=1; x+=*s-'0'; s++; } return x; } static int alloc_cellseg(scheme *sc, int n) { pointer newp; pointer last; pointer p; char *cp; long i; int k; int adj=32; if(adjlast_cell_seg >= 20 - 1) return k; cp = (char*) sc->malloc(5000 * sizeof(struct cell)+adj); if (cp == 0) return k; i = ++sc->last_cell_seg ; sc->alloc_seg[i] = cp; if(((unsigned)cp)%adj!=0) { cp=(char*)(adj*((unsigned long)cp/adj+1)); } newp=(pointer)cp; sc->cell_seg[i] = newp; while (i > 0 && sc->cell_seg[i - 1] > sc->cell_seg[i]) { p = sc->cell_seg[i]; sc->cell_seg[i] = sc->cell_seg[i - 1]; sc->cell_seg[--i] = p; } sc->fcells += 5000; last = newp + 5000 - 1; for (p = newp; p <= last; p++) { ((p)->_flag) = 0; ((p)->_object._cons._cdr) = p + 1; ((p)->_object._cons._car) = sc->NIL; } if (sc->free_cell == sc->NIL || p < sc->free_cell) { ((last)->_object._cons._cdr) = sc->free_cell; sc->free_cell = newp; } else { p = sc->free_cell; while (((p)->_object._cons._cdr) != sc->NIL && newp > ((p)->_object._cons._cdr)) p = ((p)->_object._cons._cdr); ((last)->_object._cons._cdr) = ((p)->_object._cons._cdr); ((p)->_object._cons._cdr) = newp; } } return n; } static pointer get_cell(scheme *sc, pointer a, pointer b) { if (sc->free_cell != sc->NIL) { pointer x = sc->free_cell; sc->free_cell = ((x)->_object._cons._cdr); --sc->fcells; return (x); } return _get_cell (sc, a, b); } static pointer _get_cell(scheme *sc, pointer a, pointer b) { pointer x; if(sc->no_memory) { return sc->sink; } if (sc->free_cell == sc->NIL) { gc(sc,a, b); if (sc->fcells < sc->last_cell_seg*8 || sc->free_cell == sc->NIL) { if (!alloc_cellseg(sc,1) && sc->free_cell == sc->NIL) { sc->no_memory=1; return sc->sink; } } } x = sc->free_cell; sc->free_cell = ((x)->_object._cons._cdr); --sc->fcells; return (x); } static pointer reserve_cells(scheme *sc, int n) { if(sc->no_memory) { return sc->NIL; } if (sc->fcells < n) { gc(sc, sc->NIL, sc->NIL); if (sc->fcells < n) { if (!alloc_cellseg(sc,1)) { sc->no_memory=1; return sc->NIL; } } if (sc->fcells < n) { sc->no_memory=1; return sc->NIL; } } return (sc->T); } static pointer get_consecutive_cells(scheme *sc, int n) { pointer x; if(sc->no_memory) { return sc->sink; } x=find_consecutive_cells(sc,n); if (x == sc->NIL) { gc(sc, sc->NIL, sc->NIL); x=find_consecutive_cells(sc,n); if (x == sc->NIL) { if (!alloc_cellseg(sc,1)) { sc->no_memory=1; return sc->sink; } } x=find_consecutive_cells(sc,n); if (x == sc->NIL) { sc->no_memory=1; return sc->sink; } } return (x); } static int count_consecutive_cells(pointer x, int needed) { int n=1; while(((x)->_object._cons._cdr)==x+1) { x=((x)->_object._cons._cdr); n++; if(n>needed) return n; } return n; } static pointer find_consecutive_cells(scheme *sc, int n) { pointer *pp; int cnt; pp=&sc->free_cell; while(*pp!=sc->NIL) { cnt=count_consecutive_cells(*pp,n); if(cnt>=n) { pointer x=*pp; *pp=((*pp+n-1)->_object._cons._cdr); sc->fcells -= n; return x; } pp=&((*pp+cnt-1)->_object._cons._cdr); } return sc->NIL; } pointer _cons(scheme *sc, pointer a, pointer b, int immutable) { pointer x = get_cell(sc,a, b); ((x)->_flag) = T_PAIR; if(immutable) { setimmutable(x); } ((x)->_object._cons._car) = a; ((x)->_object._cons._cdr) = b; return (x); } static int hash_fn(const char *key, int table_size); static pointer oblist_initial_value(scheme *sc) { return mk_vector(sc, 461); } static pointer oblist_add_by_name(scheme *sc, const char *name) { pointer x; int location; x = _cons(sc,mk_string(sc, name),sc->NIL,1); ((x)->_flag) = T_SYMBOL; setimmutable(((x)->_object._cons._car)); location = hash_fn(name, ((sc->oblist)->_object._number.value.ivalue)); set_vector_elem(sc->oblist, location, _cons(sc,x,vector_elem(sc->oblist, location),1)); return x; } static pointer oblist_find_by_name(scheme *sc, const char *name) { int location; pointer x; char *s; location = hash_fn(name, ((sc->oblist)->_object._number.value.ivalue)); for (x = vector_elem(sc->oblist, location); x != sc->NIL; x = ((x)->_object._cons._cdr)) { s = symname(((x)->_object._cons._car)); if(utf8_stricmp(name, s) == 0) { return ((x)->_object._cons._car); } } return sc->NIL; } static pointer oblist_all_symbols(scheme *sc) { int i; pointer x; pointer ob_list = sc->NIL; for (i = 0; i < ((sc->oblist)->_object._number.value.ivalue); i++) { for (x = vector_elem(sc->oblist, i); x != sc->NIL; x = ((x)->_object._cons._cdr)) { ob_list = _cons(sc,x,ob_list,0); } } return ob_list; } # 863 "scheme.c" static pointer mk_port(scheme *sc, port *p) { pointer x = get_cell(sc, sc->NIL, sc->NIL); ((x)->_flag) = T_PORT|16384; x->_object._port=p; return (x); } pointer mk_foreign_func(scheme *sc, foreign_func f) { pointer x = get_cell(sc, sc->NIL, sc->NIL); ((x)->_flag) = (T_FOREIGN | 16384); x->_object._ff=f; return (x); } pointer mk_character(scheme *sc, gunichar c) { pointer x = get_cell(sc,sc->NIL, sc->NIL); ((x)->_flag) = (T_CHARACTER | 16384); ((x)->_object._number.value.ivalue)= c; (x)->_object._number.is_fixnum=1;; return (x); } pointer mk_integer(scheme *sc, long num) { pointer x = get_cell(sc,sc->NIL, sc->NIL); ((x)->_flag) = (T_NUMBER | 16384); ((x)->_object._number.value.ivalue)= num; (x)->_object._number.is_fixnum=1;; return (x); } pointer mk_real(scheme *sc, double n) { pointer x = get_cell(sc,sc->NIL, sc->NIL); ((x)->_flag) = (T_NUMBER | 16384); ((x)->_object._number.value.rvalue)= n; (x)->_object._number.is_fixnum=0;; return (x); } static pointer mk_number(scheme *sc, num n) { if(n.is_fixnum) { return mk_integer(sc,n.value.ivalue); } else { return mk_real(sc,n.value.rvalue); } } void set_safe_foreign (scheme *sc, pointer data) { if (sc->safe_foreign == sc->NIL) { fprintf (stderr, "get_safe_foreign called outside a foreign function\n"); } else { ((sc->safe_foreign)->_object._cons._car) = data; } } static char *store_string(scheme *sc, int char_cnt, const char *str, gunichar fill) { int len; int i; gchar utf8[7]; gchar *q; gchar *q2; if(str!=0) { q2 = g_utf8_offset_to_pointer(str, (long)char_cnt); (void)g_utf8_validate(str, -1, (const gchar **)&q); if (q <= q2) len = q - str; else len = q2 - str; q=(gchar*)sc->malloc(len+1); } else { len = g_unichar_to_utf8(fill, utf8); q=(gchar*)sc->malloc(char_cnt*len+1); } if(q==0) { sc->no_memory=1; return sc->strbuff; } if(str!=0) { memcpy(q, str, len); q[len]=0; } else { q2 = q; for (i = 0; i < char_cnt; ++i) { memcpy(q2, utf8, len); q2 += len; } *q2=0; } return (q); } pointer mk_string(scheme *sc, const char *str) { return mk_counted_string(sc,str,g_utf8_strlen(str, -1)); } pointer mk_counted_string(scheme *sc, const char *str, int len) { pointer x = get_cell(sc, sc->NIL, sc->NIL); ((x)->_object._string._svalue) = store_string(sc,len,str,0); ((x)->_flag) = (T_STRING | 16384); ((x)->_object._string._length) = len; return (x); } static pointer mk_empty_string(scheme *sc, int len, gunichar fill) { pointer x = get_cell(sc, sc->NIL, sc->NIL); ((x)->_object._string._svalue) = store_string(sc,len,0,fill); ((x)->_flag) = (T_STRING | 16384); ((x)->_object._string._length) = len; return (x); } static pointer mk_vector(scheme *sc, int len) { pointer x=get_consecutive_cells(sc,len/2+len%2+1); ((x)->_flag) = (T_VECTOR | 16384); ((x)->_object._number.value.ivalue)=len; (x)->_object._number.is_fixnum=1;; fill_vector(x,sc->NIL); return x; } static void fill_vector(pointer vec, pointer obj) { int i; int num=ivalue(vec)/2+ivalue(vec)%2; for(i=0; i_flag) = T_PAIR; setimmutable(vec+1+i); ((vec+1+i)->_object._cons._car)=obj; ((vec+1+i)->_object._cons._cdr)=obj; } } static pointer vector_elem(pointer vec, int ielem) { int n=ielem/2; if(ielem%2==0) { return ((vec+1+n)->_object._cons._car); } else { return ((vec+1+n)->_object._cons._cdr); } } static pointer set_vector_elem(pointer vec, int ielem, pointer a) { int n=ielem/2; if(ielem%2==0) { return ((vec+1+n)->_object._cons._car)=a; } else { return ((vec+1+n)->_object._cons._cdr)=a; } } pointer mk_symbol(scheme *sc, const char *name) { pointer x; x = oblist_find_by_name(sc, name); if (x != sc->NIL) { return (x); } else { x = oblist_add_by_name(sc, name); return (x); } } pointer gensym(scheme *sc) { pointer x; char name[40]; for(; sc->gensym_cnt<9223372036854775807L; sc->gensym_cnt++) { sprintf(name,"gensym-%ld",sc->gensym_cnt); x = oblist_find_by_name(sc, name); if (x != sc->NIL) { continue; } else { x = oblist_add_by_name(sc, name); return (x); } } return sc->NIL; } static pointer mk_atom(scheme *sc, char *q) { char c, *p; int has_dec_point=0; int has_fp_exp = 0; if((p=strstr(q,"::"))!=0) { *p=0; 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); } p = q; c = *p++; if ((c == '+') || (c == '-')) { c = *p++; if (c == '.') { has_dec_point=1; c = *p++; } if (!((*__ctype_b_loc ())[(int) ((c))] & (unsigned short int) _ISdigit)) { return (mk_symbol(sc, q)); } } else if (c == '.') { has_dec_point=1; c = *p++; if (!((*__ctype_b_loc ())[(int) ((c))] & (unsigned short int) _ISdigit)) { return (mk_symbol(sc, q)); } } else if (!((*__ctype_b_loc ())[(int) ((c))] & (unsigned short int) _ISdigit)) { return (mk_symbol(sc, q)); } for ( ; (c = *p) != 0; ++p) { if (!((*__ctype_b_loc ())[(int) ((c))] & (unsigned short int) _ISdigit)) { if(c=='.') { if(!has_dec_point) { has_dec_point=1; continue; } } else if ((c == 'e') || (c == 'E')) { if(!has_fp_exp) { has_dec_point = 1; p++; if ((*p == '-') || (*p == '+') || ((*__ctype_b_loc ())[(int) ((*p))] & (unsigned short int) _ISdigit)) { continue; } } } return (mk_symbol(sc, q)); } } if(has_dec_point) { return mk_real(sc,atof(q)); } return (mk_integer(sc, atol(q))); } static pointer mk_sharp_const(scheme *sc, char *name) { long x; char tmp[256]; 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")))); })) return (sc->T); 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")))); })) return (sc->F); else if (*name == 'o') { sprintf(tmp, "0%s", name+1); sscanf(tmp, "%lo", &x); return (mk_integer(sc, x)); } else if (*name == 'd') { sscanf(name+1, "%ld", &x); return (mk_integer(sc, x)); } else if (*name == 'x') { sprintf(tmp, "0x%s", name+1); sscanf(tmp, "%lx", &x); return (mk_integer(sc, x)); } else if (*name == 'b') { x = binary_decode(name+1); return (mk_integer(sc, x)); } else if (*name == '\\') { gunichar c=0; if(utf8_stricmp(name+1,"space")==0) { c=' '; } else if(utf8_stricmp(name+1,"newline")==0) { c='\n'; } else if(utf8_stricmp(name+1,"return")==0) { c='\r'; } else if(utf8_stricmp(name+1,"tab")==0) { c='\t'; } else if(name[1]=='x' && name[2]!=0) { int c1=0; if(sscanf(name+2,"%x",&c1)==1 && c1<256) { c=c1; } else { return sc->NIL; } } else if(name[2]==0) { c=name[1]; } else { return sc->NIL; } return mk_character(sc,c); } else return (sc->NIL); } # 1191 "scheme.c" static void mark(pointer a) { pointer t, q, p; t = (pointer) 0; p = a; E2: ((p)->_flag) |= 32768; if(is_vector(p)) { int i; int num=((p)->_object._number.value.ivalue)/2+((p)->_object._number.value.ivalue)%2; for(i=0; i_flag)&16384)) goto E6; q = ((p)->_object._cons._car); if (q && !(((q)->_flag)&32768)) { ((p)->_flag) |= 16384; ((p)->_object._cons._car) = t; t = p; p = q; goto E2; } E5: q = ((p)->_object._cons._cdr); if (q && !(((q)->_flag)&32768)) { ((p)->_object._cons._cdr) = t; t = p; p = q; goto E2; } E6: if (!t) return; q = t; if ((((q)->_flag)&16384)) { ((q)->_flag) &= 49151; t = ((q)->_object._cons._car); ((q)->_object._cons._car) = p; p = q; goto E5; } else { t = ((q)->_object._cons._cdr); ((q)->_object._cons._cdr) = p; p = q; goto E6; } } static void gc(scheme *sc, pointer a, pointer b) { pointer p; int i; if(sc->gc_verbose) { putstr(sc, "gc..."); } mark(sc->oblist); mark(sc->global_env); mark(sc->args); mark(sc->envir); mark(sc->code); dump_stack_mark(sc); mark(sc->value); mark(sc->safe_foreign); mark(sc->inport); mark(sc->save_inport); mark(sc->outport); mark(sc->loadport); mark(a); mark(b); ((sc->NIL)->_flag) &= 32767; sc->fcells = 0; sc->free_cell = sc->NIL; for (i = sc->last_cell_seg; i >= 0; i--) { p = sc->cell_seg[i] + 5000; while (--p >= sc->cell_seg[i]) { if ((((p)->_flag)&32768)) { ((p)->_flag) &= 32767; } else { if (((p)->_flag) != 0) { finalize_cell(sc, p); ((p)->_flag) = 0; ((p)->_object._cons._car) = sc->NIL; } ++sc->fcells; ((p)->_object._cons._cdr) = sc->free_cell; sc->free_cell = p; } } } if (sc->gc_verbose) { char msg[80]; sprintf(msg,"done: %ld cells were recovered.\n", sc->fcells); putstr(sc,msg); } } static void finalize_cell(scheme *sc, pointer a) { if(is_string(a)) { sc->free(((a)->_object._string._svalue)); } else if(is_port(a)) { if(a->_object._port->kind&port_file && a->_object._port->rep.stdio.closeit) { port_close(sc,a,port_input|port_output); } sc->free(a->_object._port); } } static int file_push(scheme *sc, const char *fname) { FILE *fin=fopen(fname,"rb"); if(fin!=0) { sc->file_i++; sc->load_stack[sc->file_i].kind=port_file|port_input; sc->load_stack[sc->file_i].rep.stdio.file=fin; sc->load_stack[sc->file_i].rep.stdio.closeit=1; sc->nesting_stack[sc->file_i]=0; sc->loadport->_object._port=sc->load_stack+sc->file_i; } return fin!=0; } static void file_pop(scheme *sc) { sc->nesting=sc->nesting_stack[sc->file_i]; if(sc->file_i!=0) { port_close(sc,sc->loadport,port_input); sc->file_i--; sc->loadport->_object._port=sc->load_stack+sc->file_i; if(file_interactive(sc)) { putstr(sc,"> "); } } } static int file_interactive(scheme *sc) { return sc->file_i==0 && sc->load_stack[0].rep.stdio.file==stdin && sc->inport->_object._port->kind&port_file; } static port *port_rep_from_filename(scheme *sc, const char *fn, int prop) { FILE *f; char *rw; port *pt; if(prop==(port_input|port_output)) { rw="a+b"; } else if(prop==port_output) { rw="wb"; } else { rw="rb"; } f=fopen(fn,rw); if(f==0) { return 0; } pt=port_rep_from_file(sc,f,prop); pt->rep.stdio.closeit=1; return pt; } static pointer port_from_filename(scheme *sc, const char *fn, int prop) { port *pt; pt=port_rep_from_filename(sc,fn,prop); if(pt==0) { return sc->NIL; } return mk_port(sc,pt); } static port *port_rep_from_file(scheme *sc, FILE *f, int prop) { char *rw; port *pt; pt=(port*)sc->malloc(sizeof(port)); if(pt==0) { return 0; } if(prop==(port_input|port_output)) { rw="a+"; } else if(prop==port_output) { rw="w"; } else { rw="r"; } pt->kind=port_file|prop; pt->rep.stdio.file=f; pt->rep.stdio.closeit=0; return pt; } static pointer port_from_file(scheme *sc, FILE *f, int prop) { port *pt; pt=port_rep_from_file(sc,f,prop); if(pt==0) { return sc->NIL; } return mk_port(sc,pt); } static port *port_rep_from_string(scheme *sc, char *start, char *past_the_end, int prop) { port *pt; pt=(port*)sc->malloc(sizeof(port)); if(pt==0) { return 0; } pt->kind=port_string|prop; pt->rep.string.start=start; pt->rep.string.curr=start; pt->rep.string.past_the_end=past_the_end; return pt; } static pointer port_from_string(scheme *sc, char *start, char *past_the_end, int prop) { port *pt; pt=port_rep_from_string(sc,start,past_the_end,prop); if(pt==0) { return sc->NIL; } return mk_port(sc,pt); } static void port_close(scheme *sc, pointer p, int flag) { port *pt=p->_object._port; pt->kind&=~flag; if((pt->kind & (port_input|port_output))==0) { if(pt->kind&port_file) { fclose(pt->rep.stdio.file); } pt->kind=port_free; } } static gunichar basic_inchar(port *pt) { int len; if(pt->kind&port_file) { char utf8[7]; char *s; int i; utf8[0] = fgetc(pt->rep.stdio.file); if (utf8[0] & 0x80) { len = utf8_length[ utf8[0]&0x7F ]; s = &utf8[1]; for (i = 0; i < len; ++i) *s++ = fgetc(pt->rep.stdio.file); return g_utf8_get_char_validated(utf8, len+1); } return (gunichar)utf8[0]; } else { if(*pt->rep.string.curr==0 || pt->rep.string.curr==pt->rep.string.past_the_end) { return (-1); } else { gunichar c; len = pt->rep.string.past_the_end - pt->rep.string.curr; c = g_utf8_get_char_validated(pt->rep.string.curr, len); len = g_unichar_to_utf8(c, ((void *)0)); pt->rep.string.curr += len; return c; } } } static gunichar inchar(scheme *sc) { gunichar c; port *pt; again: pt=sc->inport->_object._port; if(pt->kind&port_file && pt->rep.stdio.file == stdin) { if (sc->bc_flag) { sc->bc_flag = 0; c = sc->backchar; } else c=basic_inchar(pt); } else c=basic_inchar(pt); if(c==(-1) && sc->inport==sc->loadport && sc->file_i!=0) { file_pop(sc); if(sc->nesting!=0) { return (-1); } goto again; } return c; } static void backchar(scheme *sc, gunichar c) { port *pt; gint charlen; if(c==(-1)) return; charlen = g_unichar_to_utf8(c, ((void *)0)); pt=sc->inport->_object._port; if(pt->kind&port_file) { if (pt->rep.stdio.file == stdin) { sc->backchar = c; sc->bc_flag = 1; } else { if (ftell(pt->rep.stdio.file) >= (long)charlen) fseek(pt->rep.stdio.file, 0L-(long)charlen, 1); } } else { if(pt->rep.string.curr!=pt->rep.string.start) { if(pt->rep.string.curr-pt->rep.string.start >= charlen) pt->rep.string.curr -= charlen; else pt->rep.string.curr = pt->rep.string.start; } } } static void putchars(scheme *sc, const char *chars, int char_cnt) { int l; char *s; port *pt=sc->outport->_object._port; if (char_cnt <= 0) return; if (ts_output_routine != ((void *)0)) (*ts_output_routine) (pt->rep.stdio.file, (char *)chars, char_cnt); char_cnt = g_utf8_offset_to_pointer(chars, (long)char_cnt) - chars; if (sc->print_error) { l = strlen(sc->linebuff); s = &sc->linebuff[l]; memcpy(s, chars, ((char_cnt <= 1024 -l-1) ? char_cnt : 1024 -l-1)); return; } if(pt->kind&port_file) { fwrite(chars,1,char_cnt,pt->rep.stdio.file); fflush(pt->rep.stdio.file); } else { l = pt->rep.string.past_the_end - pt->rep.string.curr; if (l > 0) memcpy(pt->rep.string.curr, chars, ((char_cnt <= l) ? char_cnt : l)); } } void putcharacter(scheme *sc, gunichar c) { char utf8[7]; (void)g_unichar_to_utf8(c, utf8); putchars(sc, utf8, 1); } void putstr(scheme *sc, const char *s) { putchars(sc, s, g_utf8_strlen(s, -1)); } static char *readstr_upto(scheme *sc, char *delim) { char *p = sc->strbuff; gunichar c = 0; gunichar c_prev = 0; int len = 0; # 1592 "scheme.c" do { c_prev = c; c = inchar(sc); len = g_unichar_to_utf8(c, p); p += len; } while (c && !is_one_of(delim, c)); if(p==sc->strbuff+2 && c_prev=='\\') *p = '\0'; else { backchar(sc,c); p[-len] = '\0'; } return sc->strbuff; } static pointer readstrexp(scheme *sc) { char *p = sc->strbuff; gunichar c; int c1=0; int len; enum { st_ok, st_bsl, st_x1, st_x2, st_oct1, st_oct2, st_oct3 } state=st_ok; for (;;) { c=inchar(sc); if(c==(-1) || p-sc->strbuff>sizeof(sc->strbuff)-1) { return sc->F; } switch(state) { case st_ok: switch(c) { case '\\': state=st_bsl; break; case '"': *p=0; return mk_counted_string(sc,sc->strbuff,p-sc->strbuff); default: len = g_unichar_to_utf8(c, p); p += len; break; } break; case st_bsl: switch(c) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': state=st_oct1; c1=g_unichar_digit_value(c); break; case 'x': case 'X': state=st_x1; c1=0; break; case 'n': *p++='\n'; state=st_ok; break; case 't': *p++='\t'; state=st_ok; break; case 'r': *p++='\r'; state=st_ok; break; case '"': *p++='"'; state=st_ok; break; default: len = g_unichar_to_utf8(c, p); p += len; state=st_ok; break; } break; case st_x1: case st_x2: if (!g_unichar_isxdigit(c)) return sc->F; c1=(c1<<4)+g_unichar_xdigit_value(c); if(state==st_x1) state=st_x2; else { *p++=c1; state=st_ok; } break; case st_oct1: case st_oct2: case st_oct3: if (!g_unichar_isdigit(c) || g_unichar_digit_value(c) > 7) { if (state==st_oct1) return sc->F; *p++=c1; backchar(sc, c); state=st_ok; } else { c1=(c1<<3)+g_unichar_digit_value(c); switch (state) { case st_oct1: state=st_oct2; break; case st_oct2: state=st_oct3; break; default: *p++=c1; state=st_ok; break; } } break; } } } static int is_one_of(char *s, gunichar c) { if (c==(-1)) return 1; if (g_utf8_strchr(s, -1, c) != ((void *)0)) return (1); return (0); } static void skipspace(scheme *sc) { gunichar c; while (g_unichar_isspace(c=inchar(sc))) ; if(c!=(-1)) { backchar(sc,c); } } static int token(scheme *sc) { gunichar c; skipspace(sc); switch (c=inchar(sc)) { case (-1): return ((-1)); case '(': return (0); case ')': return (1); case '.': c=inchar(sc); if(is_one_of(" \n\t",c)) { return (2); } else { backchar(sc,c); backchar(sc,'.'); return 3; } case '\'': return (4); case ';': while ((c=inchar(sc)) != '\n' && c!=(-1)) ; return (token(sc)); case '"': return (6); case '_': if ((c=inchar(sc)) == '"') return (6); backchar(sc,c); return (3); case '`': return (7); case ',': if ((c=inchar(sc)) == '@') return (9); else { backchar(sc,c); return (8); } case '#': c=inchar(sc); if (c == '(') { return (12); } else if(c == '!') { while ((c=inchar(sc)) != '\n' && c!=(-1)) ; return (token(sc)); } else { backchar(sc,c); if(is_one_of(" tfodxb\\",c)) { return 11; } else { return (10); } } default: backchar(sc,c); return (3); } } static void printslashstring(scheme *sc, char *p, int len) { int i; gunichar c; char *s=(char*)p; putcharacter(sc,'"'); for (i=0; iNIL) { p = "()"; } else if (l == sc->T) { p = "#t"; } else if (l == sc->F) { p = "#f"; } else if (l == sc->EOF_OBJ) { p = "#"; } else if (is_port(l)) { p = sc->strbuff; strcpy(p, "#"); } else if (is_number(l)) { p = sc->strbuff; if(is_integer(l)) { sprintf(p, "%ld", ((l)->_object._number.value.ivalue)); } else { sprintf(p, "%.10g", ((l)->_object._number.value.rvalue)); } } else if (is_string(l)) { if (!f) { p = ((l)->_object._string._svalue); } else { *pp=sc->strbuff; *plen=0; printslashstring(sc, ((l)->_object._string._svalue), g_utf8_strlen(((l)->_object._string._svalue), -1)); return; } } else if (is_character(l)) { gunichar c=charvalue(l); p = sc->strbuff; if (!f) { int len = g_unichar_to_utf8(c, p); p[len]=0; } else { switch(c) { case ' ': sprintf(p,"#\\space"); break; case '\n': sprintf(p,"#\\newline"); break; case '\r': sprintf(p,"#\\return"); break; case '\t': sprintf(p,"#\\tab"); break; default: if(c<32) { sprintf(p,"#\\x%x",c); break; } sprintf(p,"#\\%c",c); break; } } } else if (is_symbol(l)) { p = symname(l); } else if (is_proc(l)) { p = sc->strbuff; sprintf(p, "#<%s PROCEDURE %ld>", procname(l),ivalue(l)); } else if (is_macro(l)) { p = "#"; } else if (is_closure(l)) { p = "#"; } else if (is_promise(l)) { p = "#"; } else if (is_foreign(l)) { p = sc->strbuff; sprintf(p, "#", ivalue(l)); } else if (is_continuation(l)) { p = "#"; } else { p = "#"; } *pp=p; *plen=g_utf8_strlen(p, -1); } static pointer mk_closure(scheme *sc, pointer c, pointer e) { pointer x = get_cell(sc, c, e); ((x)->_flag) = T_CLOSURE; ((x)->_object._cons._car) = c; ((x)->_object._cons._cdr) = e; return (x); } static pointer mk_continuation(scheme *sc, pointer d) { pointer x = get_cell(sc, sc->NIL, d); ((x)->_flag) = T_CONTINUATION; ((x)->_object._cons._cdr) = d; return (x); } static pointer list_star(scheme *sc, pointer d) { pointer p, q; if(((d)->_object._cons._cdr)==sc->NIL) { return ((d)->_object._cons._car); } p=_cons(sc,((d)->_object._cons._car),((d)->_object._cons._cdr),0); q=p; while(((((p)->_object._cons._cdr))->_object._cons._cdr)!=sc->NIL) { d=_cons(sc,((p)->_object._cons._car),((p)->_object._cons._cdr),0); if(((((p)->_object._cons._cdr))->_object._cons._cdr)!=sc->NIL) { p=((d)->_object._cons._cdr); } } ((p)->_object._cons._cdr)=((((p)->_object._cons._cdr))->_object._cons._car); return q; } static pointer reverse(scheme *sc, pointer a) { pointer p = sc->NIL; for ( ; is_pair(a); a = ((a)->_object._cons._cdr)) { p = _cons(sc,((a)->_object._cons._car),p,0); } return (p); } static pointer reverse_in_place(scheme *sc, pointer term, pointer list) { pointer p = list, result = term, q; while (p != sc->NIL) { q = ((p)->_object._cons._cdr); ((p)->_object._cons._cdr) = result; result = p; p = q; } return (result); } static pointer append(scheme *sc, pointer a, pointer b) { pointer p = b, q; if (a != sc->NIL) { a = reverse(sc, a); while (a != sc->NIL) { q = ((a)->_object._cons._cdr); ((a)->_object._cons._cdr) = p; p = a; a = q; } } return (p); } static int eqv(pointer a, pointer b) { if (is_string(a)) { if (is_string(b)) return (((a)->_object._string._svalue) == ((b)->_object._string._svalue)); else return (0); } else if (is_number(a)) { if (is_number(b)) return num_eq(nvalue(a),nvalue(b)); else return (0); } else if (is_character(a)) { if (is_character(b)) return charvalue(a)==charvalue(b); else return (0); } else if (is_port(a)) { if (is_port(b)) return a==b; else return (0); } else if (is_proc(a)) { if (is_proc(b)) return ivalue(a)==ivalue(b); else return (0); } else { return (a == b); } } # 2080 "scheme.c" static int hash_fn(const char *key, int table_size) { unsigned int hashed = 0; const char *c; int bits_per_int = sizeof(unsigned int)*8; for (c = key; *c; c++) { hashed = (hashed<<5) | (hashed>>(bits_per_int-5)); hashed ^= *c; } return hashed % table_size; } # 2105 "scheme.c" static void new_frame_in_env(scheme *sc, pointer old_env) { pointer new_frame; if (old_env == sc->NIL) { new_frame = mk_vector(sc, 461); } else { new_frame = sc->NIL; } sc->envir = _cons(sc,new_frame,old_env,1); ((sc->envir)->_flag) = T_ENVIRONMENT; } static void new_slot_spec_in_env(scheme *sc, pointer env, pointer variable, pointer value) { pointer slot = _cons(sc,variable,value,1); if (is_vector(((env)->_object._cons._car))) { int location = hash_fn(symname(variable), ((((env)->_object._cons._car))->_object._number.value.ivalue)); set_vector_elem(((env)->_object._cons._car), location, _cons(sc,slot,vector_elem(((env)->_object._cons._car), location),1)); } else { ((env)->_object._cons._car) = _cons(sc,slot,((env)->_object._cons._car),1); } } static pointer find_slot_in_env(scheme *sc, pointer env, pointer hdl, int all) { pointer x,y; int location; for (x = env; x != sc->NIL; x = ((x)->_object._cons._cdr)) { if (is_vector(((x)->_object._cons._car))) { location = hash_fn(symname(hdl), ((((x)->_object._cons._car))->_object._number.value.ivalue)); y = vector_elem(((x)->_object._cons._car), location); } else { y = ((x)->_object._cons._car); } for ( ; y != sc->NIL; y = ((y)->_object._cons._cdr)) { if (((((y)->_object._cons._car))->_object._cons._car) == hdl) { break; } } if (y != sc->NIL) { break; } if(!all) { return sc->NIL; } } if (x != sc->NIL) { return ((y)->_object._cons._car); } return sc->NIL; } # 2203 "scheme.c" static void new_slot_in_env(scheme *sc, pointer variable, pointer value) { new_slot_spec_in_env(sc, sc->envir, variable, value); } static void set_slot_in_env(scheme *sc, pointer slot, pointer value) { ((slot)->_object._cons._cdr) = value; } static pointer slot_value_in_env(pointer slot) { return ((slot)->_object._cons._cdr); } static pointer _Error_1(scheme *sc, const char *s, pointer a) { pointer x; pointer hdl=sc->ERROR_HOOK; x=find_slot_in_env(sc,sc->envir,hdl,1); if (x != sc->NIL) { if(a!=0) { sc->code = _cons(sc,_cons(sc,sc->QUOTE,_cons(sc,(a),sc->NIL,0),0),sc->NIL,0); } else { sc->code = sc->NIL; } sc->code = _cons(sc,mk_string(sc, (s)),sc->code,0); setimmutable(((sc->code)->_object._cons._car)); sc->code = _cons(sc,slot_value_in_env(x),sc->code,0); sc->op = (int)OP_EVAL; return sc->T; } if(a!=0) { sc->args = _cons(sc,(a),sc->NIL,0); } else { sc->args = sc->NIL; } sc->args = _cons(sc,mk_string(sc, (s)),sc->args,0); setimmutable(((sc->args)->_object._cons._car)); sc->op = (int)OP_ERR0; return sc->T; } # 2350 "scheme.c" static void dump_stack_reset(scheme *sc) { sc->dump = sc->NIL; } static void dump_stack_initialize(scheme *sc) { dump_stack_reset(sc); } static void dump_stack_free(scheme *sc) { sc->dump = sc->NIL; } static pointer _s_return(scheme *sc, pointer a) { sc->value = (a); if(sc->dump==sc->NIL) return sc->NIL; sc->op = ivalue(((sc->dump)->_object._cons._car)); sc->args = ((((sc->dump)->_object._cons._cdr))->_object._cons._car); sc->envir = ((((((sc->dump)->_object._cons._cdr))->_object._cons._cdr))->_object._cons._car); sc->code = ((((((((sc->dump)->_object._cons._cdr))->_object._cons._cdr))->_object._cons._cdr))->_object._cons._car); sc->dump = ((((((((sc->dump)->_object._cons._cdr))->_object._cons._cdr))->_object._cons._cdr))->_object._cons._cdr); return sc->T; } static void s_save(scheme *sc, enum scheme_opcodes op, pointer args, pointer code) { sc->dump = _cons(sc,sc->envir,_cons(sc,(code),sc->dump,0),0); sc->dump = _cons(sc,(args),sc->dump,0); sc->dump = _cons(sc,mk_integer(sc, (long)(op)),sc->dump,0); } static void dump_stack_mark(scheme *sc) { mark(sc->dump); } static pointer opexe_0(scheme *sc, enum scheme_opcodes op) { pointer x, y; switch (op) { case OP_LOAD: if(file_interactive(sc)) { fprintf(sc->outport->_object._port->rep.stdio.file, "Loading %s\n", ((((sc->args)->_object._cons._car))->_object._string._svalue)); } if (!file_push(sc,((((sc->args)->_object._cons._car))->_object._string._svalue))) { return _Error_1(sc,"unable to open",((sc->args)->_object._cons._car)); } do { sc->op = (int)(OP_T0LVL); return sc->T; } while (0); case OP_T0LVL: if(file_interactive(sc)) { putstr(sc,"\n"); } sc->nesting=0; dump_stack_reset(sc); sc->envir = sc->global_env; sc->save_inport=sc->inport; sc->inport = sc->loadport; s_save(sc,OP_T0LVL, sc->NIL, sc->NIL); s_save(sc,OP_VALUEPRINT, sc->NIL, sc->NIL); s_save(sc,OP_T1LVL, sc->NIL, sc->NIL); if (file_interactive(sc)) { putstr(sc,"> "); } do { sc->op = (int)(OP_READ_INTERNAL); return sc->T; } while (0); case OP_T1LVL: sc->code = sc->value; sc->inport=sc->save_inport; do { sc->op = (int)(OP_EVAL); return sc->T; } while (0); case OP_READ_INTERNAL: sc->tok = token(sc); if(sc->tok==(-1)) { if(sc->inport==sc->loadport) { sc->args=sc->NIL; do { sc->op = (int)(OP_QUIT); return sc->T; } while (0); } else { return _s_return(sc,sc->EOF_OBJ); } } do { sc->op = (int)(OP_RDSEXPR); return sc->T; } while (0); case OP_GENSYM: return _s_return(sc,gensym(sc)); case OP_VALUEPRINT: if(sc->tracing) { putstr(sc,"\nGives: "); } if(file_interactive(sc) || sc->print_output) { sc->print_flag = 1; sc->args = sc->value; do { sc->op = (int)(OP_P0LIST); return sc->T; } while (0); } else { return _s_return(sc,sc->value); } case OP_EVAL: if(sc->tracing) { s_save(sc,OP_REAL_EVAL,sc->args,sc->code); sc->args=sc->code; putstr(sc,"\nEval: "); do { sc->op = (int)(OP_P0LIST); return sc->T; } while (0); } case OP_REAL_EVAL: if (is_symbol(sc->code)) { x=find_slot_in_env(sc,sc->envir,sc->code,1); if (x != sc->NIL) { return _s_return(sc,slot_value_in_env(x)); } else { return _Error_1(sc,"eval: unbound variable:",sc->code); } } else if (is_pair(sc->code)) { if (is_syntax(x = ((sc->code)->_object._cons._car))) { sc->code = ((sc->code)->_object._cons._cdr); do { sc->op = (int)(syntaxnum(x)); return sc->T; } while (0); } else { s_save(sc,OP_E0ARGS, sc->NIL, sc->code); sc->code = ((sc->code)->_object._cons._car); do { sc->op = (int)(OP_EVAL); return sc->T; } while (0); } } else { return _s_return(sc,sc->code); } case OP_E0ARGS: if (is_macro(sc->value)) { s_save(sc,OP_DOMACRO, sc->NIL, sc->NIL); sc->args = _cons(sc,sc->code,sc->NIL,0); sc->code = sc->value; do { sc->op = (int)(OP_APPLY); return sc->T; } while (0); } else { sc->code = ((sc->code)->_object._cons._cdr); do { sc->op = (int)(OP_E1ARGS); return sc->T; } while (0); } case OP_E1ARGS: sc->args = _cons(sc,sc->value,sc->args,0); if (is_pair(sc->code)) { s_save(sc,OP_E1ARGS, sc->args, ((sc->code)->_object._cons._cdr)); sc->code = ((sc->code)->_object._cons._car); sc->args = sc->NIL; do { sc->op = (int)(OP_EVAL); return sc->T; } while (0); } else { sc->args = reverse_in_place(sc, sc->NIL, sc->args); sc->code = ((sc->args)->_object._cons._car); sc->args = ((sc->args)->_object._cons._cdr); do { sc->op = (int)(OP_APPLY); return sc->T; } while (0); } case OP_TRACING: { int tr=sc->tracing; sc->tracing=ivalue(((sc->args)->_object._cons._car)); return _s_return(sc,mk_integer(sc,tr)); } case OP_APPLY: if(sc->tracing) { s_save(sc,OP_REAL_APPLY,sc->args,sc->code); sc->print_flag = 1; putstr(sc,"\nApply to: "); do { sc->op = (int)(OP_P0LIST); return sc->T; } while (0); } case OP_REAL_APPLY: if (is_proc(sc->code)) { do { sc->op = (int)(ivalue(sc->code)); return sc->T; } while (0); } else if (is_foreign(sc->code)) { sc->safe_foreign = _cons(sc,sc->NIL,sc->safe_foreign,0); x=sc->code->_object._ff(sc,sc->args); sc->safe_foreign = ((sc->safe_foreign)->_object._cons._cdr); return _s_return(sc,x); } else if (is_closure(sc->code) || is_macro(sc->code) || is_promise(sc->code)) { new_frame_in_env(sc, closure_env(sc->code)); for (x = ((closure_code(sc->code))->_object._cons._car), y = sc->args; is_pair(x); x = ((x)->_object._cons._cdr), y = ((y)->_object._cons._cdr)) { if (y == sc->NIL) { return _Error_1(sc,"not enough arguments",0); } else { new_slot_in_env(sc, ((x)->_object._cons._car), ((y)->_object._cons._car)); } } if (x == sc->NIL) { } else if (is_symbol(x)) new_slot_in_env(sc, x, y); else { return _Error_1(sc,"syntax error in closure: not a symbol:",x); } sc->code = ((closure_code(sc->code))->_object._cons._cdr); sc->args = sc->NIL; do { sc->op = (int)(OP_BEGIN); return sc->T; } while (0); } else if (is_continuation(sc->code)) { sc->dump = ((sc->code)->_object._cons._cdr); return _s_return(sc,sc->args != sc->NIL ? ((sc->args)->_object._cons._car) : sc->NIL); } else { return _Error_1(sc,"illegal function",0); } case OP_DOMACRO: sc->code = sc->value; do { sc->op = (int)(OP_EVAL); return sc->T; } while (0); case OP_LAMBDA: return _s_return(sc,mk_closure(sc, sc->code, sc->envir)); case OP_MKCLOSURE: x=((sc->args)->_object._cons._car); if(((x)->_object._cons._car)==sc->LAMBDA) { x=((x)->_object._cons._cdr); } if(((sc->args)->_object._cons._cdr)==sc->NIL) { y=sc->envir; } else { y=((((sc->args)->_object._cons._cdr))->_object._cons._car); } return _s_return(sc,mk_closure(sc, x, y)); case OP_QUOTE: x=((sc->code)->_object._cons._car); return _s_return(sc,((sc->code)->_object._cons._car)); case OP_DEF0: if(is_immutable(((sc->code)->_object._cons._car))) return _Error_1(sc,"define: unable to alter immutable",((sc->code)->_object._cons._car)); if (is_pair(((sc->code)->_object._cons._car))) { x = ((((sc->code)->_object._cons._car))->_object._cons._car); sc->code = _cons(sc,sc->LAMBDA,_cons(sc,((((sc->code)->_object._cons._car))->_object._cons._cdr),((sc->code)->_object._cons._cdr),0),0); } else { x = ((sc->code)->_object._cons._car); sc->code = ((((sc->code)->_object._cons._cdr))->_object._cons._car); } if (!is_symbol(x)) { return _Error_1(sc,"variable is not a symbol",0); } s_save(sc,OP_DEF1, sc->NIL, x); do { sc->op = (int)(OP_EVAL); return sc->T; } while (0); case OP_DEF1: x=find_slot_in_env(sc,sc->envir,sc->code,0); if (x != sc->NIL) { set_slot_in_env(sc, x, sc->value); } else { new_slot_in_env(sc, sc->code, sc->value); } return _s_return(sc,sc->code); case OP_DEFP: x=sc->envir; if(((sc->args)->_object._cons._cdr)!=sc->NIL) { x=((((sc->args)->_object._cons._cdr))->_object._cons._car); } return _s_return(sc,(find_slot_in_env(sc,x,((sc->args)->_object._cons._car),1)!=sc->NIL) ? sc->T : sc->F); case OP_SET0: if(is_immutable(((sc->code)->_object._cons._car))) return _Error_1(sc,"set!: unable to alter immutable variable",((sc->code)->_object._cons._car)); s_save(sc,OP_SET1, sc->NIL, ((sc->code)->_object._cons._car)); sc->code = ((((sc->code)->_object._cons._cdr))->_object._cons._car); do { sc->op = (int)(OP_EVAL); return sc->T; } while (0); case OP_SET1: y=find_slot_in_env(sc,sc->envir,sc->code,1); if (y != sc->NIL) { set_slot_in_env(sc, y, sc->value); return _s_return(sc,sc->value); } else { return _Error_1(sc,"set!: unbound variable:",sc->code); } case OP_BEGIN: if (!is_pair(sc->code)) { return _s_return(sc,sc->code); } if (((sc->code)->_object._cons._cdr) != sc->NIL) { s_save(sc,OP_BEGIN, sc->NIL, ((sc->code)->_object._cons._cdr)); } sc->code = ((sc->code)->_object._cons._car); do { sc->op = (int)(OP_EVAL); return sc->T; } while (0); case OP_IF0: s_save(sc,OP_IF1, sc->NIL, ((sc->code)->_object._cons._cdr)); sc->code = ((sc->code)->_object._cons._car); do { sc->op = (int)(OP_EVAL); return sc->T; } while (0); case OP_IF1: if (((sc->value) != sc->F)) sc->code = ((sc->code)->_object._cons._car); else sc->code = ((((sc->code)->_object._cons._cdr))->_object._cons._car); do { sc->op = (int)(OP_EVAL); return sc->T; } while (0); case OP_LET0: sc->args = sc->NIL; sc->value = sc->code; sc->code = is_symbol(((sc->code)->_object._cons._car)) ? ((((sc->code)->_object._cons._cdr))->_object._cons._car) : ((sc->code)->_object._cons._car); do { sc->op = (int)(OP_LET1); return sc->T; } while (0); case OP_LET1: sc->args = _cons(sc,sc->value,sc->args,0); if (is_pair(sc->code)) { s_save(sc,OP_LET1, sc->args, ((sc->code)->_object._cons._cdr)); sc->code = ((((((sc->code)->_object._cons._car))->_object._cons._cdr))->_object._cons._car); sc->args = sc->NIL; do { sc->op = (int)(OP_EVAL); return sc->T; } while (0); } else { sc->args = reverse_in_place(sc, sc->NIL, sc->args); sc->code = ((sc->args)->_object._cons._car); sc->args = ((sc->args)->_object._cons._cdr); do { sc->op = (int)(OP_LET2); return sc->T; } while (0); } case OP_LET2: new_frame_in_env(sc, sc->envir); 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; y != sc->NIL; x = ((x)->_object._cons._cdr), y = ((y)->_object._cons._cdr)) { new_slot_in_env(sc, ((((x)->_object._cons._car))->_object._cons._car), ((y)->_object._cons._car)); } if (is_symbol(((sc->code)->_object._cons._car))) { for (x = ((((sc->code)->_object._cons._cdr))->_object._cons._car), sc->args = sc->NIL; x != sc->NIL; x = ((x)->_object._cons._cdr)) { sc->args = _cons(sc,((((x)->_object._cons._car))->_object._cons._car),sc->args,0); } 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); new_slot_in_env(sc, ((sc->code)->_object._cons._car), x); sc->code = ((((sc->code)->_object._cons._cdr))->_object._cons._cdr); sc->args = sc->NIL; } else { sc->code = ((sc->code)->_object._cons._cdr); sc->args = sc->NIL; } do { sc->op = (int)(OP_BEGIN); return sc->T; } while (0); case OP_LET0AST: if (((sc->code)->_object._cons._car) == sc->NIL) { new_frame_in_env(sc, sc->envir); sc->code = ((sc->code)->_object._cons._cdr); do { sc->op = (int)(OP_BEGIN); return sc->T; } while (0); } s_save(sc,OP_LET1AST, ((sc->code)->_object._cons._cdr), ((sc->code)->_object._cons._car)); sc->code = ((((((((sc->code)->_object._cons._car))->_object._cons._car))->_object._cons._cdr))->_object._cons._car); do { sc->op = (int)(OP_EVAL); return sc->T; } while (0); case OP_LET1AST: new_frame_in_env(sc, sc->envir); do { sc->op = (int)(OP_LET2AST); return sc->T; } while (0); case OP_LET2AST: new_slot_in_env(sc, ((((sc->code)->_object._cons._car))->_object._cons._car), sc->value); sc->code = ((sc->code)->_object._cons._cdr); if (is_pair(sc->code)) { s_save(sc,OP_LET2AST, sc->args, sc->code); sc->code = ((((((sc->code)->_object._cons._car))->_object._cons._cdr))->_object._cons._car); sc->args = sc->NIL; do { sc->op = (int)(OP_EVAL); return sc->T; } while (0); } else { sc->code = sc->args; sc->args = sc->NIL; do { sc->op = (int)(OP_BEGIN); return sc->T; } while (0); } default: sprintf(sc->strbuff, "%d: illegal operator", sc->op); return _Error_1(sc,sc->strbuff,0); } return sc->T; } static pointer opexe_1(scheme *sc, enum scheme_opcodes op) { pointer x, y; switch (op) { case OP_LET0REC: new_frame_in_env(sc, sc->envir); sc->args = sc->NIL; sc->value = sc->code; sc->code = ((sc->code)->_object._cons._car); do { sc->op = (int)(OP_LET1REC); return sc->T; } while (0); case OP_LET1REC: sc->args = _cons(sc,sc->value,sc->args,0); if (is_pair(sc->code)) { s_save(sc,OP_LET1REC, sc->args, ((sc->code)->_object._cons._cdr)); sc->code = ((((((sc->code)->_object._cons._car))->_object._cons._cdr))->_object._cons._car); sc->args = sc->NIL; do { sc->op = (int)(OP_EVAL); return sc->T; } while (0); } else { sc->args = reverse_in_place(sc, sc->NIL, sc->args); sc->code = ((sc->args)->_object._cons._car); sc->args = ((sc->args)->_object._cons._cdr); do { sc->op = (int)(OP_LET2REC); return sc->T; } while (0); } case OP_LET2REC: for (x = ((sc->code)->_object._cons._car), y = sc->args; y != sc->NIL; x = ((x)->_object._cons._cdr), y = ((y)->_object._cons._cdr)) { new_slot_in_env(sc, ((((x)->_object._cons._car))->_object._cons._car), ((y)->_object._cons._car)); } sc->code = ((sc->code)->_object._cons._cdr); sc->args = sc->NIL; do { sc->op = (int)(OP_BEGIN); return sc->T; } while (0); case OP_COND0: if (!is_pair(sc->code)) { return _Error_1(sc,"syntax error in cond",0); } s_save(sc,OP_COND1, sc->NIL, sc->code); sc->code = ((((sc->code)->_object._cons._car))->_object._cons._car); do { sc->op = (int)(OP_EVAL); return sc->T; } while (0); case OP_COND1: if (((sc->value) != sc->F)) { if ((sc->code = ((((sc->code)->_object._cons._car))->_object._cons._cdr)) == sc->NIL) { return _s_return(sc,sc->value); } if(((sc->code)->_object._cons._car)==sc->FEED_TO) { if(!is_pair(((sc->code)->_object._cons._cdr))) { return _Error_1(sc,"syntax error in cond",0); } x=_cons(sc,sc->QUOTE,_cons(sc,sc->value,sc->NIL,0),0); sc->code=_cons(sc,((((sc->code)->_object._cons._cdr))->_object._cons._car),_cons(sc,x,sc->NIL,0),0); do { sc->op = (int)(OP_EVAL); return sc->T; } while (0); } do { sc->op = (int)(OP_BEGIN); return sc->T; } while (0); } else { if ((sc->code = ((sc->code)->_object._cons._cdr)) == sc->NIL) { return _s_return(sc,sc->NIL); } else { s_save(sc,OP_COND1, sc->NIL, sc->code); sc->code = ((((sc->code)->_object._cons._car))->_object._cons._car); do { sc->op = (int)(OP_EVAL); return sc->T; } while (0); } } case OP_DELAY: x = mk_closure(sc, _cons(sc,sc->NIL,sc->code,0), sc->envir); ((x)->_flag)=T_PROMISE; return _s_return(sc,x); case OP_AND0: if (sc->code == sc->NIL) { return _s_return(sc,sc->T); } s_save(sc,OP_AND1, sc->NIL, ((sc->code)->_object._cons._cdr)); sc->code = ((sc->code)->_object._cons._car); do { sc->op = (int)(OP_EVAL); return sc->T; } while (0); case OP_AND1: if (((sc->value) == sc->F)) { return _s_return(sc,sc->value); } else if (sc->code == sc->NIL) { return _s_return(sc,sc->value); } else { s_save(sc,OP_AND1, sc->NIL, ((sc->code)->_object._cons._cdr)); sc->code = ((sc->code)->_object._cons._car); do { sc->op = (int)(OP_EVAL); return sc->T; } while (0); } case OP_OR0: if (sc->code == sc->NIL) { return _s_return(sc,sc->F); } s_save(sc,OP_OR1, sc->NIL, ((sc->code)->_object._cons._cdr)); sc->code = ((sc->code)->_object._cons._car); do { sc->op = (int)(OP_EVAL); return sc->T; } while (0); case OP_OR1: if (((sc->value) != sc->F)) { return _s_return(sc,sc->value); } else if (sc->code == sc->NIL) { return _s_return(sc,sc->value); } else { s_save(sc,OP_OR1, sc->NIL, ((sc->code)->_object._cons._cdr)); sc->code = ((sc->code)->_object._cons._car); do { sc->op = (int)(OP_EVAL); return sc->T; } while (0); } case OP_C0STREAM: s_save(sc,OP_C1STREAM, sc->NIL, ((sc->code)->_object._cons._cdr)); sc->code = ((sc->code)->_object._cons._car); do { sc->op = (int)(OP_EVAL); return sc->T; } while (0); case OP_C1STREAM: sc->args = sc->value; x = mk_closure(sc, _cons(sc,sc->NIL,sc->code,0), sc->envir); ((x)->_flag)=T_PROMISE; return _s_return(sc,_cons(sc,sc->args,x,0)); case OP_MACRO0: if (is_pair(((sc->code)->_object._cons._car))) { x = ((((sc->code)->_object._cons._car))->_object._cons._car); sc->code = _cons(sc,sc->LAMBDA,_cons(sc,((((sc->code)->_object._cons._car))->_object._cons._cdr),((sc->code)->_object._cons._cdr),0),0); } else { x = ((sc->code)->_object._cons._car); sc->code = ((((sc->code)->_object._cons._cdr))->_object._cons._car); } if (!is_symbol(x)) { return _Error_1(sc,"variable is not a symbol",0); } s_save(sc,OP_MACRO1, sc->NIL, x); do { sc->op = (int)(OP_EVAL); return sc->T; } while (0); case OP_MACRO1: ((sc->value)->_flag) = T_MACRO; x = find_slot_in_env(sc, sc->envir, sc->code, 0); if (x != sc->NIL) { set_slot_in_env(sc, x, sc->value); } else { new_slot_in_env(sc, sc->code, sc->value); } return _s_return(sc,sc->code); case OP_CASE0: s_save(sc,OP_CASE1, sc->NIL, ((sc->code)->_object._cons._cdr)); sc->code = ((sc->code)->_object._cons._car); do { sc->op = (int)(OP_EVAL); return sc->T; } while (0); case OP_CASE1: for (x = sc->code; x != sc->NIL; x = ((x)->_object._cons._cdr)) { if (!is_pair(y = ((((x)->_object._cons._car))->_object._cons._car))) { break; } for ( ; y != sc->NIL; y = ((y)->_object._cons._cdr)) { if (eqv(((y)->_object._cons._car), sc->value)) { break; } } if (y != sc->NIL) { break; } } if (x != sc->NIL) { if (is_pair(((((x)->_object._cons._car))->_object._cons._car))) { sc->code = ((((x)->_object._cons._car))->_object._cons._cdr); do { sc->op = (int)(OP_BEGIN); return sc->T; } while (0); } else { s_save(sc,OP_CASE2, sc->NIL, ((((x)->_object._cons._car))->_object._cons._cdr)); sc->code = ((((x)->_object._cons._car))->_object._cons._car); do { sc->op = (int)(OP_EVAL); return sc->T; } while (0); } } else { return _s_return(sc,sc->NIL); } case OP_CASE2: if (((sc->value) != sc->F)) { do { sc->op = (int)(OP_BEGIN); return sc->T; } while (0); } else { return _s_return(sc,sc->NIL); } case OP_PAPPLY: sc->code = ((sc->args)->_object._cons._car); sc->args = list_star(sc,((sc->args)->_object._cons._cdr)); do { sc->op = (int)(OP_APPLY); return sc->T; } while (0); case OP_PEVAL: if(((sc->args)->_object._cons._cdr)!=sc->NIL) { sc->envir=((((sc->args)->_object._cons._cdr))->_object._cons._car); } sc->code = ((sc->args)->_object._cons._car); do { sc->op = (int)(OP_EVAL); return sc->T; } while (0); case OP_CONTINUATION: sc->code = ((sc->args)->_object._cons._car); sc->args = _cons(sc,mk_continuation(sc, sc->dump),sc->NIL,0); do { sc->op = (int)(OP_APPLY); return sc->T; } while (0); default: sprintf(sc->strbuff, "%d: illegal operator", sc->op); return _Error_1(sc,sc->strbuff,0); } return sc->T; } static pointer opexe_2(scheme *sc, enum scheme_opcodes op) { pointer x; num v; double dd; switch (op) { case OP_INEX2EX: x=((sc->args)->_object._cons._car); if(is_integer(x)) { return _s_return(sc,x); } else if(modf(((x)->_object._number.value.rvalue),&dd)==0.0) { return _s_return(sc,mk_integer(sc,ivalue(x))); } else { return _Error_1(sc,"inexact->exact: not integral:",x); } case OP_EXP: x=((sc->args)->_object._cons._car); return _s_return(sc,mk_real(sc, exp(rvalue(x)))); case OP_LOG: x=((sc->args)->_object._cons._car); return _s_return(sc,mk_real(sc, log(rvalue(x)))); case OP_SIN: x=((sc->args)->_object._cons._car); return _s_return(sc,mk_real(sc, sin(rvalue(x)))); case OP_COS: x=((sc->args)->_object._cons._car); return _s_return(sc,mk_real(sc, cos(rvalue(x)))); case OP_TAN: x=((sc->args)->_object._cons._car); return _s_return(sc,mk_real(sc, tan(rvalue(x)))); case OP_ASIN: x=((sc->args)->_object._cons._car); return _s_return(sc,mk_real(sc, asin(rvalue(x)))); case OP_ACOS: x=((sc->args)->_object._cons._car); return _s_return(sc,mk_real(sc, acos(rvalue(x)))); case OP_ATAN: x=((sc->args)->_object._cons._car); if(((sc->args)->_object._cons._cdr)==sc->NIL) { return _s_return(sc,mk_real(sc, atan(rvalue(x)))); } else { pointer y=((((sc->args)->_object._cons._cdr))->_object._cons._car); return _s_return(sc,mk_real(sc, atan2(rvalue(x),rvalue(y)))); } case OP_SQRT: x=((sc->args)->_object._cons._car); return _s_return(sc,mk_real(sc, sqrt(rvalue(x)))); case OP_EXPT: x=((sc->args)->_object._cons._car); if(((sc->args)->_object._cons._cdr)==sc->NIL) { return _Error_1(sc,"expt: needs two arguments",0); } else { pointer y=((((sc->args)->_object._cons._cdr))->_object._cons._car); return _s_return(sc,mk_real(sc, pow(rvalue(x),rvalue(y)))); } case OP_FLOOR: x=((sc->args)->_object._cons._car); return _s_return(sc,mk_real(sc, floor(rvalue(x)))); case OP_CEILING: x=((sc->args)->_object._cons._car); return _s_return(sc,mk_real(sc, ceil(rvalue(x)))); case OP_TRUNCATE : { double rvalue_of_x ; x=((sc->args)->_object._cons._car); rvalue_of_x = rvalue(x) ; if (rvalue_of_x > 0) { return _s_return(sc,mk_real(sc, floor(rvalue_of_x))); } else { return _s_return(sc,mk_real(sc, ceil(rvalue_of_x))); } } case OP_ROUND: x=((sc->args)->_object._cons._car); return _s_return(sc,mk_real(sc, round_per_R5RS(rvalue(x)))); case OP_ADD: v=num_zero; for (x = sc->args; x != sc->NIL; x = ((x)->_object._cons._cdr)) { v=num_add(v,nvalue(((x)->_object._cons._car))); } return _s_return(sc,mk_number(sc, v)); case OP_MUL: v=num_one; for (x = sc->args; x != sc->NIL; x = ((x)->_object._cons._cdr)) { v=num_mul(v,nvalue(((x)->_object._cons._car))); } return _s_return(sc,mk_number(sc, v)); case OP_SUB: if(((sc->args)->_object._cons._cdr)==sc->NIL) { x=sc->args; v=num_zero; } else { x = ((sc->args)->_object._cons._cdr); v = nvalue(((sc->args)->_object._cons._car)); } for (; x != sc->NIL; x = ((x)->_object._cons._cdr)) { v=num_sub(v,nvalue(((x)->_object._cons._car))); } return _s_return(sc,mk_number(sc, v)); case OP_DIV: if(((sc->args)->_object._cons._cdr)==sc->NIL) { x=sc->args; v=num_one; } else { x = ((sc->args)->_object._cons._cdr); v = nvalue(((sc->args)->_object._cons._car)); } for (; x != sc->NIL; x = ((x)->_object._cons._cdr)) { if (!is_zero_double(rvalue(((x)->_object._cons._car)))) v=num_div(v,nvalue(((x)->_object._cons._car))); else { return _Error_1(sc,"/: division by zero",0); } } return _s_return(sc,mk_number(sc, v)); case OP_INTDIV: if(((sc->args)->_object._cons._cdr)==sc->NIL) { x=sc->args; v=num_one; } else { x = ((sc->args)->_object._cons._cdr); v = nvalue(((sc->args)->_object._cons._car)); } for (; x != sc->NIL; x = ((x)->_object._cons._cdr)) { if (ivalue(((x)->_object._cons._car)) != 0) v=num_intdiv(v,nvalue(((x)->_object._cons._car))); else { return _Error_1(sc,"quotient: division by zero",0); } } return _s_return(sc,mk_number(sc, v)); case OP_REM: v = nvalue(((sc->args)->_object._cons._car)); if (ivalue(((((sc->args)->_object._cons._cdr))->_object._cons._car)) != 0) v=num_rem(v,nvalue(((((sc->args)->_object._cons._cdr))->_object._cons._car))); else { return _Error_1(sc,"remainder: division by zero",0); } return _s_return(sc,mk_number(sc, v)); case OP_MOD: v = nvalue(((sc->args)->_object._cons._car)); if (ivalue(((((sc->args)->_object._cons._cdr))->_object._cons._car)) != 0) v=num_mod(v,nvalue(((((sc->args)->_object._cons._cdr))->_object._cons._car))); else { return _Error_1(sc,"modulo: division by zero",0); } return _s_return(sc,mk_number(sc, v)); case OP_CAR: return _s_return(sc,((((sc->args)->_object._cons._car))->_object._cons._car)); case OP_CDR: return _s_return(sc,((((sc->args)->_object._cons._car))->_object._cons._cdr)); case OP_CONS: ((sc->args)->_object._cons._cdr) = ((((sc->args)->_object._cons._cdr))->_object._cons._car); return _s_return(sc,sc->args); case OP_SETCAR: if(!is_immutable(((sc->args)->_object._cons._car))) { ((((sc->args)->_object._cons._car))->_object._cons._car) = ((((sc->args)->_object._cons._cdr))->_object._cons._car); return _s_return(sc,((sc->args)->_object._cons._car)); } else { return _Error_1(sc,"set-car!: unable to alter immutable pair",0); } case OP_SETCDR: if(!is_immutable(((sc->args)->_object._cons._car))) { ((((sc->args)->_object._cons._car))->_object._cons._cdr) = ((((sc->args)->_object._cons._cdr))->_object._cons._car); return _s_return(sc,((sc->args)->_object._cons._car)); } else { return _Error_1(sc,"set-cdr!: unable to alter immutable pair",0); } case OP_CHAR2INT: { gunichar c; c=ivalue(((sc->args)->_object._cons._car)); return _s_return(sc,mk_integer(sc,c)); } case OP_INT2CHAR: { gunichar c; c=(gunichar)ivalue(((sc->args)->_object._cons._car)); return _s_return(sc,mk_character(sc,c)); } case OP_CHARUPCASE: { gunichar c; c=(gunichar)ivalue(((sc->args)->_object._cons._car)); c=g_unichar_toupper(c); return _s_return(sc,mk_character(sc,c)); } case OP_CHARDNCASE: { gunichar c; c=(gunichar)ivalue(((sc->args)->_object._cons._car)); c=g_unichar_tolower(c); return _s_return(sc,mk_character(sc,c)); } case OP_STR2SYM: return _s_return(sc,mk_symbol(sc,((((sc->args)->_object._cons._car))->_object._string._svalue))); case OP_STR2ATOM: { char *s=((((sc->args)->_object._cons._car))->_object._string._svalue); if(*s=='#') { return _s_return(sc,mk_sharp_const(sc, s+1)); } else { return _s_return(sc,mk_atom(sc, s)); } } case OP_SYM2STR: x=mk_string(sc,symname(((sc->args)->_object._cons._car))); setimmutable(x); return _s_return(sc,x); case OP_ATOM2STR: x=((sc->args)->_object._cons._car); if(is_number(x) || is_character(x) || is_string(x) || is_symbol(x)) { char *p; int len; atom2str(sc,x,0,&p,&len); return _s_return(sc,mk_counted_string(sc,p,len)); } else { return _Error_1(sc,"atom->string: not an atom:",x); } case OP_MKSTRING: { gunichar fill=' '; int len; len=ivalue(((sc->args)->_object._cons._car)); if(((sc->args)->_object._cons._cdr)!=sc->NIL) { fill=charvalue(((((sc->args)->_object._cons._cdr))->_object._cons._car)); } return _s_return(sc,mk_empty_string(sc,len,fill)); } case OP_STRLEN: return _s_return(sc,mk_integer(sc,g_utf8_strlen(((((sc->args)->_object._cons._car))->_object._string._svalue), -1))); case OP_STRREF: { char *str; int index; str=((((sc->args)->_object._cons._car))->_object._string._svalue); index=ivalue(((((sc->args)->_object._cons._cdr))->_object._cons._car)); if(index>=g_utf8_strlen(((((sc->args)->_object._cons._car))->_object._string._svalue), -1)) { return _Error_1(sc,"string-ref: out of bounds:",((((sc->args)->_object._cons._cdr))->_object._cons._car)); } str = g_utf8_offset_to_pointer(str, (long)index); return _s_return(sc,mk_character(sc, g_utf8_get_char(str))); } case OP_STRSET: { pointer a; char *str; int index; gunichar c; char utf8[7]; int utf8_len; int newlen; char *p1, *p2; int p1_len; int p2_len; char *newstr; a=((sc->args)->_object._cons._car); if(is_immutable(a)) { return _Error_1(sc,"string-set!: unable to alter immutable string:",a); } str=((a)->_object._string._svalue); index=ivalue(((((sc->args)->_object._cons._cdr))->_object._cons._car)); if(index>=g_utf8_strlen(str, -1)) { return _Error_1(sc,"string-set!: out of bounds:",((((sc->args)->_object._cons._cdr))->_object._cons._car)); } c=charvalue(((((((sc->args)->_object._cons._cdr))->_object._cons._cdr))->_object._cons._car)); utf8_len = g_unichar_to_utf8(c, utf8); p1 = g_utf8_offset_to_pointer(str, (long)index); p2 = g_utf8_offset_to_pointer(str, (long)index+1); p1_len = p1-str; p2_len = strlen(p2); newlen = p1_len+utf8_len+p2_len; newstr = (char *)sc->malloc(newlen+1); if (newstr == ((void *)0)) { sc->no_memory=1; return _Error_1(sc,"string-set!: No memory to alter string:",((sc->args)->_object._cons._car)); } if (p1_len > 0) memcpy(newstr, str, p1_len); memcpy(newstr+p1_len, utf8, utf8_len); if (p2_len > 0) memcpy(newstr+p1_len+utf8_len, p2, p2_len); newstr[newlen] = '\0'; free(((a)->_object._string._svalue)); ((a)->_object._string._svalue)=newstr; ((a)->_object._string._length)=newlen; return _s_return(sc,a); } case OP_STRAPPEND: { int len = 0; pointer newstr; pointer car_x; char *pos; for (x = sc->args; x != sc->NIL; x = ((x)->_object._cons._cdr)) { len += ((((x)->_object._cons._car))->_object._string._length); } newstr = mk_empty_string(sc, len, ' '); pos = ((newstr)->_object._string._svalue); for (x = sc->args; x != sc->NIL; x = ((x)->_object._cons._cdr)) { car_x = ((x)->_object._cons._car); memcpy(pos, ((car_x)->_object._string._svalue), ((car_x)->_object._string._length)); pos += ((car_x)->_object._string._length); } *pos = '\0'; return _s_return(sc,newstr); } case OP_SUBSTR: { char *str; char *beg; char *end; int index0; int index1; int len; pointer x; str=((((sc->args)->_object._cons._car))->_object._string._svalue); index0=ivalue(((((sc->args)->_object._cons._cdr))->_object._cons._car)); if(index0>g_utf8_strlen(str, -1)) { return _Error_1(sc,"substring: start out of bounds:",((((sc->args)->_object._cons._cdr))->_object._cons._car)); } if(((((sc->args)->_object._cons._cdr))->_object._cons._cdr)!=sc->NIL) { index1=ivalue(((((((sc->args)->_object._cons._cdr))->_object._cons._cdr))->_object._cons._car)); if(index1>g_utf8_strlen(str, -1) || index1args)->_object._cons._cdr))->_object._cons._cdr))->_object._cons._car)); } } else { index1=g_utf8_strlen(str, -1); } beg = g_utf8_offset_to_pointer(str, (long)index0); end = g_utf8_offset_to_pointer(str, (long)index1); len=end-beg; x=mk_empty_string(sc,len,' '); memcpy(((x)->_object._string._svalue),beg,len); ((x)->_object._string._svalue)[len] = '\0'; return _s_return(sc,x); } case OP_VECTOR: { int i; pointer vec; int len=list_length(sc,sc->args); if(len<0) { return _Error_1(sc,"vector: not a proper list:",sc->args); } vec=mk_vector(sc,len); for (x = sc->args, i = 0; is_pair(x); x = ((x)->_object._cons._cdr), i++) { set_vector_elem(vec,i,((x)->_object._cons._car)); } return _s_return(sc,vec); } case OP_MKVECTOR: { pointer fill=sc->NIL; int len; pointer vec; len=ivalue(((sc->args)->_object._cons._car)); if(((sc->args)->_object._cons._cdr)!=sc->NIL) { fill=((((sc->args)->_object._cons._cdr))->_object._cons._car); } vec=mk_vector(sc,len); if(fill!=sc->NIL) { fill_vector(vec,fill); } return _s_return(sc,vec); } case OP_VECLEN: return _s_return(sc,mk_integer(sc,ivalue(((sc->args)->_object._cons._car)))); case OP_VECREF: { int index; index=ivalue(((((sc->args)->_object._cons._cdr))->_object._cons._car)); if(index>=ivalue(((sc->args)->_object._cons._car))) { return _Error_1(sc,"vector-ref: out of bounds:",((((sc->args)->_object._cons._cdr))->_object._cons._car)); } return _s_return(sc,vector_elem(((sc->args)->_object._cons._car),index)); } case OP_VECSET: { int index; if(is_immutable(((sc->args)->_object._cons._car))) { return _Error_1(sc,"vector-set!: unable to alter immutable vector:",((sc->args)->_object._cons._car)); } index=ivalue(((((sc->args)->_object._cons._cdr))->_object._cons._car)); if(index>=ivalue(((sc->args)->_object._cons._car))) { return _Error_1(sc,"vector-set!: out of bounds:",((((sc->args)->_object._cons._cdr))->_object._cons._car)); } set_vector_elem(((sc->args)->_object._cons._car),index,((((((sc->args)->_object._cons._cdr))->_object._cons._cdr))->_object._cons._car)); return _s_return(sc,((sc->args)->_object._cons._car)); } default: sprintf(sc->strbuff, "%d: illegal operator", sc->op); return _Error_1(sc,sc->strbuff,0); } return sc->T; } static int is_list(scheme *sc, pointer a) { pointer slow, fast; slow = fast = a; while (1) { if (fast == sc->NIL) return 1; if (!is_pair(fast)) return 0; fast = ((fast)->_object._cons._cdr); if (fast == sc->NIL) return 1; if (!is_pair(fast)) return 0; fast = ((fast)->_object._cons._cdr); slow = ((slow)->_object._cons._cdr); if (fast == slow) { return 0; } } } static int list_length(scheme *sc, pointer a) { int i=0; pointer slow, fast; slow = fast = a; while (1) { if (fast == sc->NIL) return i; if (!is_pair(fast)) return i; fast = ((fast)->_object._cons._cdr); ++i; if (fast == sc->NIL) return i; if (!is_pair(fast)) return i; ++i; fast = ((fast)->_object._cons._cdr); slow = ((slow)->_object._cons._cdr); if (fast == slow) { return -1; } } } static pointer opexe_3(scheme *sc, enum scheme_opcodes op) { pointer x; num v; int (*comp_func)(num,num)=0; switch (op) { case OP_NOT: return _s_return(sc,(((((sc->args)->_object._cons._car)) == sc->F)) ? sc->T : sc->F); case OP_BOOLP: return _s_return(sc,(((sc->args)->_object._cons._car) == sc->F || ((sc->args)->_object._cons._car) == sc->T) ? sc->T : sc->F); case OP_EOFOBJP: return _s_return(sc,(((sc->args)->_object._cons._car) == sc->EOF_OBJ) ? sc->T : sc->F); case OP_NULLP: return _s_return(sc,(((sc->args)->_object._cons._car) == sc->NIL) ? sc->T : sc->F); case OP_NUMEQ: case OP_LESS: case OP_GRE: case OP_LEQ: case OP_GEQ: switch(op) { case OP_NUMEQ: comp_func=num_eq; break; case OP_LESS: comp_func=num_lt; break; case OP_GRE: comp_func=num_gt; break; case OP_LEQ: comp_func=num_le; break; case OP_GEQ: comp_func=num_ge; break; default: break; } x=sc->args; v=nvalue(((x)->_object._cons._car)); x=((x)->_object._cons._cdr); for (; x != sc->NIL; x = ((x)->_object._cons._cdr)) { if(!comp_func(v,nvalue(((x)->_object._cons._car)))) { return _s_return(sc,(0) ? sc->T : sc->F); } v=nvalue(((x)->_object._cons._car)); } return _s_return(sc,(1) ? sc->T : sc->F); case OP_SYMBOLP: return _s_return(sc,(is_symbol(((sc->args)->_object._cons._car))) ? sc->T : sc->F); case OP_NUMBERP: return _s_return(sc,(is_number(((sc->args)->_object._cons._car))) ? sc->T : sc->F); case OP_STRINGP: return _s_return(sc,(is_string(((sc->args)->_object._cons._car))) ? sc->T : sc->F); case OP_INTEGERP: return _s_return(sc,(is_integer(((sc->args)->_object._cons._car))) ? sc->T : sc->F); case OP_REALP: return _s_return(sc,(is_number(((sc->args)->_object._cons._car))) ? sc->T : sc->F); case OP_CHARP: return _s_return(sc,(is_character(((sc->args)->_object._cons._car))) ? sc->T : sc->F); case OP_CHARAP: return _s_return(sc,(Cisalpha(ivalue(((sc->args)->_object._cons._car)))) ? sc->T : sc->F); case OP_CHARNP: return _s_return(sc,(Cisdigit(ivalue(((sc->args)->_object._cons._car)))) ? sc->T : sc->F); case OP_CHARWP: return _s_return(sc,(Cisspace(ivalue(((sc->args)->_object._cons._car)))) ? sc->T : sc->F); case OP_CHARUP: return _s_return(sc,(Cisupper(ivalue(((sc->args)->_object._cons._car)))) ? sc->T : sc->F); case OP_CHARLP: return _s_return(sc,(Cislower(ivalue(((sc->args)->_object._cons._car)))) ? sc->T : sc->F); case OP_PORTP: return _s_return(sc,(is_port(((sc->args)->_object._cons._car))) ? sc->T : sc->F); case OP_INPORTP: 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); case OP_OUTPORTP: 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); case OP_PROCP: 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); case OP_PAIRP: return _s_return(sc,(is_pair(((sc->args)->_object._cons._car))) ? sc->T : sc->F); case OP_LISTP: return _s_return(sc,(is_list(sc, ((sc->args)->_object._cons._car))) ? sc->T : sc->F); case OP_ENVP: return _s_return(sc,(is_environment(((sc->args)->_object._cons._car))) ? sc->T : sc->F); case OP_VECTORP: return _s_return(sc,(is_vector(((sc->args)->_object._cons._car))) ? sc->T : sc->F); case OP_EQ: return _s_return(sc,(((sc->args)->_object._cons._car) == ((((sc->args)->_object._cons._cdr))->_object._cons._car)) ? sc->T : sc->F); case OP_EQV: return _s_return(sc,(eqv(((sc->args)->_object._cons._car), ((((sc->args)->_object._cons._cdr))->_object._cons._car))) ? sc->T : sc->F); default: sprintf(sc->strbuff, "%d: illegal operator", sc->op); return _Error_1(sc,sc->strbuff,0); } return sc->T; } static pointer opexe_4(scheme *sc, enum scheme_opcodes op) { pointer x, y; switch (op) { case OP_FORCE: sc->code = ((sc->args)->_object._cons._car); if (is_promise(sc->code)) { s_save(sc, OP_SAVE_FORCED, sc->NIL, sc->code); sc->args = sc->NIL; do { sc->op = (int)(OP_APPLY); return sc->T; } while (0); } else { return _s_return(sc,sc->code); } case OP_SAVE_FORCED: memcpy(sc->code,sc->value,sizeof(struct cell)); return _s_return(sc,sc->value); case OP_WRITE: case OP_DISPLAY: case OP_WRITE_CHAR: if(is_pair(((sc->args)->_object._cons._cdr))) { if(((((sc->args)->_object._cons._cdr))->_object._cons._car)!=sc->outport) { x=_cons(sc,sc->outport,sc->NIL,0); s_save(sc,OP_SET_OUTPORT, x, sc->NIL); sc->outport=((((sc->args)->_object._cons._cdr))->_object._cons._car); } } sc->args = ((sc->args)->_object._cons._car); if(op==OP_WRITE) { sc->print_flag = 1; } else { sc->print_flag = 0; } do { sc->op = (int)(OP_P0LIST); return sc->T; } while (0); case OP_NEWLINE: if(is_pair(sc->args)) { if(((sc->args)->_object._cons._car)!=sc->outport) { x=_cons(sc,sc->outport,sc->NIL,0); s_save(sc,OP_SET_OUTPORT, x, sc->NIL); sc->outport=((sc->args)->_object._cons._car); } } putstr(sc, "\n"); return _s_return(sc,sc->T); case OP_ERR0: sc->retcode=-1; if (!is_string(((sc->args)->_object._cons._car))) { sc->args=_cons(sc,mk_string(sc," -- "),sc->args,0); setimmutable(((sc->args)->_object._cons._car)); } if (sc->print_error == 0) sc->linebuff[0] = '\0'; sc->print_error = 1; putstr(sc, "Error: "); putstr(sc, ((((sc->args)->_object._cons._car))->_object._string._svalue)); sc->args = ((sc->args)->_object._cons._cdr); do { sc->op = (int)(OP_ERR1); return sc->T; } while (0); case OP_ERR1: putstr(sc, " "); if (sc->args != sc->NIL) { s_save(sc,OP_ERR1, ((sc->args)->_object._cons._cdr), sc->NIL); sc->args = ((sc->args)->_object._cons._car); sc->print_flag = 1; do { sc->op = (int)(OP_P0LIST); return sc->T; } while (0); } else { putstr(sc, "\n"); sc->print_error = 0; if(sc->interactive_repl) { do { sc->op = (int)(OP_T0LVL); return sc->T; } while (0); } else { return sc->NIL; } } case OP_REVERSE: return _s_return(sc,reverse(sc, ((sc->args)->_object._cons._car))); case OP_LIST_STAR: return _s_return(sc,list_star(sc,sc->args)); case OP_APPEND: if(sc->args==sc->NIL) { return _s_return(sc,sc->NIL); } x=((sc->args)->_object._cons._car); if(((sc->args)->_object._cons._cdr)==sc->NIL) { return _s_return(sc,sc->args); } for (y = ((sc->args)->_object._cons._cdr); y != sc->NIL; y = ((y)->_object._cons._cdr)) { x=append(sc,x,((y)->_object._cons._car)); } return _s_return(sc,x); # 3699 "scheme.c" case OP_QUIT: if(is_pair(sc->args)) { sc->retcode=ivalue(((sc->args)->_object._cons._car)); } return (sc->NIL); case OP_GC: gc(sc, sc->NIL, sc->NIL); return _s_return(sc,sc->T); case OP_GCVERB: { int was = sc->gc_verbose; sc->gc_verbose = (((sc->args)->_object._cons._car) != sc->F); return _s_return(sc,(was) ? sc->T : sc->F); } case OP_NEWSEGMENT: if (!is_pair(sc->args) || !is_number(((sc->args)->_object._cons._car))) { return _Error_1(sc,"new-segment: argument must be a number",0); } alloc_cellseg(sc, (int) ivalue(((sc->args)->_object._cons._car))); return _s_return(sc,sc->T); case OP_OBLIST: return _s_return(sc,oblist_all_symbols(sc)); case OP_CURR_INPORT: return _s_return(sc,sc->inport); case OP_CURR_OUTPORT: return _s_return(sc,sc->outport); case OP_OPEN_INFILE: case OP_OPEN_OUTFILE: case OP_OPEN_INOUTFILE: { int prop=0; pointer p; switch(op) { case OP_OPEN_INFILE: prop=port_input; break; case OP_OPEN_OUTFILE: prop=port_output; break; case OP_OPEN_INOUTFILE: prop=port_input|port_output; break; default: break; } p=port_from_filename(sc,((((sc->args)->_object._cons._car))->_object._string._svalue),prop); if(p==sc->NIL) { return _s_return(sc,sc->F); } return _s_return(sc,p); } case OP_OPEN_INSTRING: case OP_OPEN_OUTSTRING: case OP_OPEN_INOUTSTRING: { int prop=0; pointer p; switch(op) { case OP_OPEN_INSTRING: prop=port_input; break; case OP_OPEN_OUTSTRING: prop=port_output; break; case OP_OPEN_INOUTSTRING: prop=port_input|port_output; break; default: break; } p=port_from_string(sc, ((((sc->args)->_object._cons._car))->_object._string._svalue), ((((sc->args)->_object._cons._car))->_object._string._svalue)+((((sc->args)->_object._cons._car))->_object._string._length), prop); if(p==sc->NIL) { return _s_return(sc,sc->F); } return _s_return(sc,p); } case OP_CLOSE_INPORT: port_close(sc,((sc->args)->_object._cons._car),port_input); return _s_return(sc,sc->T); case OP_CLOSE_OUTPORT: port_close(sc,((sc->args)->_object._cons._car),port_output); return _s_return(sc,sc->T); case OP_INT_ENV: return _s_return(sc,sc->global_env); case OP_CURR_ENV: return _s_return(sc,sc->envir); default: sprintf(sc->strbuff, "%d: illegal operator", sc->op); return _Error_1(sc,sc->strbuff,0); } return sc->T; } static pointer opexe_5(scheme *sc, enum scheme_opcodes op) { pointer x; if(sc->nesting!=0) { int n=sc->nesting; sc->nesting=0; sc->retcode=-1; return _Error_1(sc,"unmatched parentheses:",mk_integer(sc,n)); } switch (op) { case OP_READ: if(!is_pair(sc->args)) { do { sc->op = (int)(OP_READ_INTERNAL); return sc->T; } while (0); } if(!((((((sc->args)->_object._cons._car))->_flag)&31)==T_PORT && ((sc->args)->_object._cons._car)->_object._port->kind&port_input)) { return _Error_1(sc,"read: not an input port:",((sc->args)->_object._cons._car)); } if(((sc->args)->_object._cons._car)==sc->inport) { do { sc->op = (int)(OP_READ_INTERNAL); return sc->T; } while (0); } x=sc->inport; sc->inport=((sc->args)->_object._cons._car); x=_cons(sc,x,sc->NIL,0); s_save(sc,OP_SET_INPORT, x, sc->NIL); do { sc->op = (int)(OP_READ_INTERNAL); return sc->T; } while (0); case OP_READ_CHAR: case OP_PEEK_CHAR: { gunichar c; if(is_pair(sc->args)) { if(((sc->args)->_object._cons._car)!=sc->inport) { x=sc->inport; x=_cons(sc,x,sc->NIL,0); s_save(sc,OP_SET_INPORT, x, sc->NIL); sc->inport=((sc->args)->_object._cons._car); } } c=inchar(sc); if(c==(-1)) { return _s_return(sc,sc->EOF_OBJ); } if(sc->op==OP_PEEK_CHAR) { backchar(sc,c); } return _s_return(sc,mk_character(sc,c)); } case OP_CHAR_READY: { pointer p=sc->inport; int res; if(is_pair(sc->args)) { p=((sc->args)->_object._cons._car); } res=p->_object._port->kind&port_string; return _s_return(sc,(res) ? sc->T : sc->F); } case OP_SET_INPORT: sc->inport=((sc->args)->_object._cons._car); return _s_return(sc,sc->value); case OP_SET_OUTPORT: sc->outport=((sc->args)->_object._cons._car); return _s_return(sc,sc->value); case OP_RDSEXPR: switch (sc->tok) { case (-1): if(sc->inport==sc->loadport) { sc->args=sc->NIL; do { sc->op = (int)(OP_QUIT); return sc->T; } while (0); } else { return _s_return(sc,sc->EOF_OBJ); } # 3879 "scheme.c" case 12: s_save(sc,OP_RDVEC,sc->NIL,sc->NIL); case 0: sc->tok = token(sc); if (sc->tok == 1) { return _s_return(sc,sc->NIL); } else if (sc->tok == 2) { return _Error_1(sc,"syntax error: illegal dot expression",0); } else { sc->nesting_stack[sc->file_i]++; s_save(sc,OP_RDLIST, sc->NIL, sc->NIL); do { sc->op = (int)(OP_RDSEXPR); return sc->T; } while (0); } case 4: s_save(sc,OP_RDQUOTE, sc->NIL, sc->NIL); sc->tok = token(sc); do { sc->op = (int)(OP_RDSEXPR); return sc->T; } while (0); case 7: sc->tok = token(sc); if(sc->tok==12) { s_save(sc,OP_RDQQUOTEVEC, sc->NIL, sc->NIL); sc->tok=0; do { sc->op = (int)(OP_RDSEXPR); return sc->T; } while (0); } else { s_save(sc,OP_RDQQUOTE, sc->NIL, sc->NIL); } do { sc->op = (int)(OP_RDSEXPR); return sc->T; } while (0); case 8: s_save(sc,OP_RDUNQUOTE, sc->NIL, sc->NIL); sc->tok = token(sc); do { sc->op = (int)(OP_RDSEXPR); return sc->T; } while (0); case 9: s_save(sc,OP_RDUQTSP, sc->NIL, sc->NIL); sc->tok = token(sc); do { sc->op = (int)(OP_RDSEXPR); return sc->T; } while (0); case 3: return _s_return(sc,mk_atom(sc, readstr_upto(sc, "();\t\n\r "))); case 6: x=readstrexp(sc); if(x==sc->F) { return _Error_1(sc,"Error reading string",0); } setimmutable(x); return _s_return(sc,x); case 10: { pointer f=find_slot_in_env(sc,sc->envir,sc->SHARP_HOOK,1); if(f==sc->NIL) { return _Error_1(sc,"undefined sharp expression",0); } else { sc->code=_cons(sc,slot_value_in_env(f),sc->NIL,0); do { sc->op = (int)(OP_EVAL); return sc->T; } while (0); } } case 11: if ((x = mk_sharp_const(sc, readstr_upto(sc, "();\t\n\r "))) == sc->NIL) { return _Error_1(sc,"undefined sharp expression",0); } else { return _s_return(sc,x); } default: sprintf(sc->linebuff, "syntax error: illegal token %d", sc->tok); return _Error_1(sc,sc->linebuff,0); } break; case OP_RDLIST: { sc->args = _cons(sc,sc->value,sc->args,0); sc->tok = token(sc); # 3956 "scheme.c" if (sc->tok == 1) { gunichar c = inchar(sc); if (c != '\n') backchar(sc,c); sc->nesting_stack[sc->file_i]--; return _s_return(sc,reverse_in_place(sc, sc->NIL, sc->args)); } else if (sc->tok == 2) { s_save(sc,OP_RDDOT, sc->args, sc->NIL); sc->tok = token(sc); do { sc->op = (int)(OP_RDSEXPR); return sc->T; } while (0); } else { s_save(sc,OP_RDLIST, sc->args, sc->NIL); do { sc->op = (int)(OP_RDSEXPR); return sc->T; } while (0); } } case OP_RDDOT: if (token(sc) != 1) { return _Error_1(sc,"syntax error: illegal dot expression",0); } else { sc->nesting_stack[sc->file_i]--; return _s_return(sc,reverse_in_place(sc, sc->value, sc->args)); } case OP_RDQUOTE: return _s_return(sc,_cons(sc,sc->QUOTE,_cons(sc,sc->value,sc->NIL,0),0)); case OP_RDQQUOTE: return _s_return(sc,_cons(sc,sc->QQUOTE,_cons(sc,sc->value,sc->NIL,0),0)); case OP_RDQQUOTEVEC: 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)); case OP_RDUNQUOTE: return _s_return(sc,_cons(sc,sc->UNQUOTE,_cons(sc,sc->value,sc->NIL,0),0)); case OP_RDUQTSP: return _s_return(sc,_cons(sc,sc->UNQUOTESP,_cons(sc,sc->value,sc->NIL,0),0)); case OP_RDVEC: sc->args=sc->value; do { sc->op = (int)(OP_VECTOR); return sc->T; } while (0); case OP_P0LIST: if(is_vector(sc->args)) { putstr(sc,"#("); sc->args=_cons(sc,sc->args,mk_integer(sc,0),0); do { sc->op = (int)(OP_PVECFROM); return sc->T; } while (0); } else if(is_environment(sc->args)) { putstr(sc,"#"); return _s_return(sc,sc->T); } else if (!is_pair(sc->args)) { printatom(sc, sc->args, sc->print_flag); return _s_return(sc,sc->T); } 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)) { putstr(sc, "'"); sc->args = ((((sc->args)->_object._cons._cdr))->_object._cons._car); do { sc->op = (int)(OP_P0LIST); return sc->T; } while (0); } 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)) { putstr(sc, "`"); sc->args = ((((sc->args)->_object._cons._cdr))->_object._cons._car); do { sc->op = (int)(OP_P0LIST); return sc->T; } while (0); } 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)) { putstr(sc, ","); sc->args = ((((sc->args)->_object._cons._cdr))->_object._cons._car); do { sc->op = (int)(OP_P0LIST); return sc->T; } while (0); } 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)) { putstr(sc, ",@"); sc->args = ((((sc->args)->_object._cons._cdr))->_object._cons._car); do { sc->op = (int)(OP_P0LIST); return sc->T; } while (0); } else { putstr(sc, "("); s_save(sc,OP_P1LIST, ((sc->args)->_object._cons._cdr), sc->NIL); sc->args = ((sc->args)->_object._cons._car); do { sc->op = (int)(OP_P0LIST); return sc->T; } while (0); } case OP_P1LIST: if (is_pair(sc->args)) { s_save(sc,OP_P1LIST, ((sc->args)->_object._cons._cdr), sc->NIL); putstr(sc, " "); sc->args = ((sc->args)->_object._cons._car); do { sc->op = (int)(OP_P0LIST); return sc->T; } while (0); } else if(is_vector(sc->args)) { s_save(sc,OP_P1LIST,sc->NIL,sc->NIL); putstr(sc, " . "); do { sc->op = (int)(OP_P0LIST); return sc->T; } while (0); } else { if (sc->args != sc->NIL) { putstr(sc, " . "); printatom(sc, sc->args, sc->print_flag); } putstr(sc, ")"); return _s_return(sc,sc->T); } case OP_PVECFROM: { int i=((((sc->args)->_object._cons._cdr))->_object._number.value.ivalue); pointer vec=((sc->args)->_object._cons._car); int len=((vec)->_object._number.value.ivalue); if(i==len) { putstr(sc," )"); return _s_return(sc,sc->T); } else { pointer elem=vector_elem(vec,i); ((((sc->args)->_object._cons._cdr))->_object._number.value.ivalue)=i+1; s_save(sc,OP_PVECFROM, sc->args, sc->NIL); sc->args=elem; putstr(sc," "); do { sc->op = (int)(OP_P0LIST); return sc->T; } while (0); } } default: sprintf(sc->strbuff, "%d: illegal operator", sc->op); return _Error_1(sc,sc->strbuff,0); } return sc->T; } static pointer opexe_6(scheme *sc, enum scheme_opcodes op) { pointer x, y; long v; switch (op) { case OP_LIST_LENGTH: v=list_length(sc,((sc->args)->_object._cons._car)); if(v<0) { return _Error_1(sc,"length: not a list:",((sc->args)->_object._cons._car)); } return _s_return(sc,mk_integer(sc, v)); case OP_ASSQ: x = ((sc->args)->_object._cons._car); for (y = ((((sc->args)->_object._cons._cdr))->_object._cons._car); is_pair(y); y = ((y)->_object._cons._cdr)) { if (!is_pair(((y)->_object._cons._car))) { return _Error_1(sc,"unable to handle non pair element",0); } if (x == ((((y)->_object._cons._car))->_object._cons._car)) break; } if (is_pair(y)) { return _s_return(sc,((y)->_object._cons._car)); } else { return _s_return(sc,sc->F); } case OP_GET_CLOSURE: sc->args = ((sc->args)->_object._cons._car); if (sc->args == sc->NIL) { return _s_return(sc,sc->F); } else if (is_closure(sc->args)) { return _s_return(sc,_cons(sc,sc->LAMBDA,closure_code(sc->value),0)); } else if (is_macro(sc->args)) { return _s_return(sc,_cons(sc,sc->LAMBDA,closure_code(sc->value),0)); } else { return _s_return(sc,sc->F); } case OP_CLOSUREP: return _s_return(sc,(is_closure(((sc->args)->_object._cons._car))) ? sc->T : sc->F); case OP_MACROP: return _s_return(sc,(is_macro(((sc->args)->_object._cons._car))) ? sc->T : sc->F); default: sprintf(sc->strbuff, "%d: illegal operator", sc->op); return _Error_1(sc,sc->strbuff,0); } return sc->T; } typedef pointer (*dispatch_func)(scheme *, enum scheme_opcodes); typedef int (*test_predicate)(pointer); static int is_any(pointer p) { return 1;} static int is_num_integer(pointer p) { return is_number(p) && ((p)->_object._number.is_fixnum); } static int is_nonneg(pointer p) { return is_num_integer(p) && ivalue(p)>=0; } static struct { test_predicate fct; const char *kind; } tests[]={ {0,0}, {is_any, 0}, {is_string, "string"}, {is_symbol, "symbol"}, {is_port, "port"}, {0,"input port"}, {0,"output_port"}, {is_environment, "environment"}, {is_pair, "pair"}, {0, "pair or '()"}, {is_character, "character"}, {is_vector, "vector"}, {is_number, "number"}, {is_num_integer, "integer"}, {is_nonneg, "non-negative integer"}, }; # 4190 "scheme.c" typedef struct { dispatch_func func; char *name; int min_arity; int max_arity; char *arg_tests_encoding; } op_code_info; static op_code_info dispatch_table[]= { # 1 "opdefines.h" 1 {opexe_0,"load",1,1,"\002"}, {opexe_0,0,0,0,0}, {opexe_0,0,0,0,0}, {opexe_0,0,0,0,0}, {opexe_0,"gensym",0,0,0}, {opexe_0,0,0,0,0}, {opexe_0,0,0,0,0}, {opexe_0,0,0,0,0}, {opexe_0,0,0,0,0}, {opexe_0,0,0,0,0}, {opexe_0,0,0,0,0}, {opexe_0,0,0,0,0}, {opexe_0,"tracing",1,1,"\016"}, {opexe_0,0,0,0,0}, {opexe_0,0,0,0,0}, {opexe_0,"make-closure",1,2,"\010" "\007"}, {opexe_0,0,0,0,0}, {opexe_0,0,0,0,0}, {opexe_0,0,0,0,0}, {opexe_0,"defined?",1,2,"\003" "\007"}, {opexe_0,0,0,0,0}, {opexe_0,0,0,0,0}, {opexe_0,0,0,0,0}, {opexe_0,0,0,0,0}, {opexe_0,0,0,0,0}, {opexe_0,0,0,0,0}, {opexe_0,0,0,0,0}, {opexe_0,0,0,0,0}, {opexe_0,0,0,0,0}, {opexe_0,0,0,0,0}, {opexe_0,0,0,0,0}, {opexe_1,0,0,0,0}, {opexe_1,0,0,0,0}, {opexe_1,0,0,0,0}, {opexe_1,0,0,0,0}, {opexe_1,0,0,0,0}, {opexe_1,0,0,0,0}, {opexe_1,0,0,0,0}, {opexe_1,0,0,0,0}, {opexe_1,0,0,0,0}, {opexe_1,0,0,0,0}, {opexe_1,0,0,0,0}, {opexe_1,0,0,0,0}, {opexe_1,0,0,0,0}, {opexe_1,0,0,0,0}, {opexe_1,0,0,0,0}, {opexe_1,0,0,0,0}, {opexe_1,0,0,0,0}, {opexe_1,"eval",1,2,"\001" "\007"}, {opexe_1,"apply",1,0xffff,0}, {opexe_1,"call-with-current-continuation",1,1,0}, {opexe_2,"inexact->exact",1,1,"\014"}, {opexe_2,"exp",1,1,"\014"}, {opexe_2,"log",1,1,"\014"}, {opexe_2,"sin",1,1,"\014"}, {opexe_2,"cos",1,1,"\014"}, {opexe_2,"tan",1,1,"\014"}, {opexe_2,"asin",1,1,"\014"}, {opexe_2,"acos",1,1,"\014"}, {opexe_2,"atan",1,2,"\014"}, {opexe_2,"sqrt",1,1,"\014"}, {opexe_2,"expt",2,2,"\014"}, {opexe_2,"floor",1,1,"\014"}, {opexe_2,"ceiling",1,1,"\014"}, {opexe_2,"truncate",1,1,"\014"}, {opexe_2,"round",1,1,"\014"}, {opexe_2,"+",0,0xffff,"\014"}, {opexe_2,"-",1,0xffff,"\014"}, {opexe_2,"*",0,0xffff,"\014"}, {opexe_2,"/",1,0xffff,"\014"}, {opexe_2,"quotient",1,0xffff,"\015"}, {opexe_2,"remainder",2,2,"\015"}, {opexe_2,"modulo",2,2,"\015"}, {opexe_2,"car",1,1,"\010"}, {opexe_2,"cdr",1,1,"\010"}, {opexe_2,"cons",2,2,0}, {opexe_2,"set-car!",2,2,"\010" "\001"}, {opexe_2,"set-cdr!",2,2,"\010" "\001"}, {opexe_2,"char->integer",1,1,"\012"}, {opexe_2,"integer->char",1,1,"\016"}, {opexe_2,"char-upcase",1,1,"\012"}, {opexe_2,"char-downcase",1,1,"\012"}, {opexe_2,"symbol->string",1,1,"\003"}, {opexe_2,"atom->string",1,1,"\001"}, {opexe_2,"string->symbol",1,1,"\002"}, {opexe_2,"string->atom",1,1,"\002"}, {opexe_2,"make-string",1,2,"\016" "\012"}, {opexe_2,"string-length",1,1,"\002"}, {opexe_2,"string-ref",2,2,"\002" "\016"}, {opexe_2,"string-set!",3,3,"\002" "\016" "\012"}, {opexe_2,"string-append",0,0xffff,"\002"}, {opexe_2,"substring",2,3,"\002" "\016"}, {opexe_2,"vector",0,0xffff,0}, {opexe_2,"make-vector",1,2,"\016" "\001"}, {opexe_2,"vector-length",1,1,"\013"}, {opexe_2,"vector-ref",2,2,"\013" "\016"}, {opexe_2,"vector-set!",3,3,"\013" "\016" "\001"}, {opexe_3,"not",1,1,0}, {opexe_3,"boolean?",1,1,0}, {opexe_3,"eof-object?",1,1,0}, {opexe_3,"null?",1,1,0}, {opexe_3,"=",2,0xffff,"\014"}, {opexe_3,"<",2,0xffff,"\014"}, {opexe_3,">",2,0xffff,"\014"}, {opexe_3,"<=",2,0xffff,"\014"}, {opexe_3,">=",2,0xffff,"\014"}, {opexe_3,"symbol?",1,1,"\001"}, {opexe_3,"number?",1,1,"\001"}, {opexe_3,"string?",1,1,"\001"}, {opexe_3,"integer?",1,1,"\001"}, {opexe_3,"real?",1,1,"\001"}, {opexe_3,"char?",1,1,"\001"}, {opexe_3,"char-alphabetic?",1,1,"\012"}, {opexe_3,"char-numeric?",1,1,"\012"}, {opexe_3,"char-whitespace?",1,1,"\012"}, {opexe_3,"char-upper-case?",1,1,"\012"}, {opexe_3,"char-lower-case?",1,1,"\012"}, {opexe_3,"port?",1,1,"\001"}, {opexe_3,"input-port?",1,1,"\001"}, {opexe_3,"output-port?",1,1,"\001"}, {opexe_3,"procedure?",1,1,"\001"}, {opexe_3,"pair?",1,1,"\001"}, {opexe_3,"list?",1,1,"\001"}, {opexe_3,"environment?",1,1,"\001"}, {opexe_3,"vector?",1,1,"\001"}, {opexe_3,"array?",1,1,"\001"}, {opexe_3,"eq?",2,2,"\001"}, {opexe_3,"eqv?",2,2,"\001"}, {opexe_4,"force",1,1,"\001"}, {opexe_4,0,0,0,0}, {opexe_4,"write",1,2,"\001" "\006"}, {opexe_4,"write-char",1,2,"\012" "\006"}, {opexe_4,"display",1,2,"\001" "\006"}, {opexe_4,"newline",0,1,"\006"}, {opexe_4,"error",1,0xffff,0}, {opexe_4,0,0,0,0}, {opexe_4,"reverse",1,1,"\010"}, {opexe_4,"list*",1,0xffff,0}, {opexe_4,"append",0,0xffff,0}, {opexe_4,"put",3,3,0}, {opexe_4,"get",2,2,0}, {opexe_4,"quit",0,1,"\014"}, {opexe_4,"gc",0,0,0}, {opexe_4,"gc-verbose",0,1,0}, {opexe_4,"new-segment",0,1,"\014"}, {opexe_4,"oblist",0,0,0}, {opexe_4,"current-input-port",0,0,0}, {opexe_4,"current-output-port",0,0,0}, {opexe_4,"open-input-file",1,1,"\002"}, {opexe_4,"open-output-file",1,1,"\002"}, {opexe_4,"open-input-output-file",1,1,"\002"}, {opexe_4,"open-input-string",1,1,"\002"}, {opexe_4,"open-output-string",1,1,"\002"}, {opexe_4,"open-input-output-string",1,1,"\002"}, {opexe_4,"close-input-port",1,1,"\005"}, {opexe_4,"close-output-port",1,1,"\006"}, {opexe_4,"interaction-environment",0,0,0}, {opexe_4,"current-environment",0,0,0}, {opexe_5,"read",0,1,"\005"}, {opexe_5,"read-char",0,1,"\005"}, {opexe_5,"peek-char",0,1,"\005"}, {opexe_5,"char-ready?",0,1,"\005"}, {opexe_5,"set-input-port",1,1,"\005"}, {opexe_5,"set-output-port",1,1,"\006"}, {opexe_5,0,0,0,0}, {opexe_5,0,0,0,0}, {opexe_5,0,0,0,0}, {opexe_5,0,0,0,0}, {opexe_5,0,0,0,0}, {opexe_5,0,0,0,0}, {opexe_5,0,0,0,0}, {opexe_5,0,0,0,0}, {opexe_5,0,0,0,0}, {opexe_5,0,0,0,0}, {opexe_5,0,0,0,0}, {opexe_5,0,0,0,0}, {opexe_6,"length",1,1,"\011"}, {opexe_6,"assq",2,2,0}, {opexe_6,"get-closure-code",1,1,0}, {opexe_6,"closure?",1,1,0}, {opexe_6,"macro?",1,1,0}, # 4203 "scheme.c" 2 { 0 } }; static const char *procname(pointer x) { int n=ivalue(x); const char *name=dispatch_table[n].name; if(name==0) { name="ILLEGAL!"; } return name; } static void Eval_Cycle(scheme *sc, enum scheme_opcodes op) { int count=0; int old_op; sc->op = op; for (;;) { op_code_info *pcd=dispatch_table+sc->op; if (pcd->name!=0) { char msg[512]; int ok=1; int n=list_length(sc,sc->args); if(nmin_arity) { ok=0; sprintf(msg,"%s: needs%s %d argument(s)", pcd->name, pcd->min_arity==pcd->max_arity?"":" at least", pcd->min_arity); } if(ok && n>pcd->max_arity) { ok=0; sprintf(msg,"%s: needs%s %d argument(s)", pcd->name, pcd->min_arity==pcd->max_arity?"":" at most", pcd->max_arity); } if(ok) { if(pcd->arg_tests_encoding!=0) { int i=0; int j; const char *t=pcd->arg_tests_encoding; pointer arglist=sc->args; do { pointer arg=((arglist)->_object._cons._car); j=(int)t[0]; if(j=="\005"[0]) { if(!((((arg)->_flag)&31)==T_PORT && arg->_object._port->kind&port_input)) break; } else if(j=="\006"[0]) { if(!((((arg)->_flag)&31)==T_PORT && arg->_object._port->kind&port_output)) break; } else if(j=="\011"[0]) { if(arg!=sc->NIL && !is_pair(arg)) break; } else { if(!tests[j].fct(arg)) break; } if(t[1]!=0) { t++; } arglist=((arglist)->_object._cons._cdr); i++; } while(iname, i+1, tests[j].kind); } } } if(!ok) { if(_Error_1(sc,msg,0)==sc->NIL) { return; } pcd=dispatch_table+sc->op; } } old_op=sc->op; if (pcd->func(sc, (enum scheme_opcodes)sc->op) == sc->NIL) { return; } if(sc->no_memory) { fprintf(stderr,"No memory!\n"); return; } count++; } } static void assign_syntax(scheme *sc, char *name) { pointer x; x = oblist_add_by_name(sc, name); ((x)->_flag) |= 4096; } static void assign_proc(scheme *sc, enum scheme_opcodes op, char *name) { pointer x, y; x = mk_symbol(sc, name); y = mk_proc(sc,op); new_slot_in_env(sc, x, y); } static pointer mk_proc(scheme *sc, enum scheme_opcodes op) { pointer y; y = get_cell(sc, sc->NIL, sc->NIL); ((y)->_flag) = (T_PROC | 16384); ((y)->_object._number.value.ivalue) = (long) op; (y)->_object._number.is_fixnum=1;; return y; } static int syntaxnum(pointer p) { const char *s=((((p)->_object._cons._car))->_object._string._svalue); switch(((((p)->_object._cons._car))->_object._string._length)) { case 2: if(s[0]=='i') return OP_IF0; else return OP_OR0; case 3: if(s[0]=='a') return OP_AND0; else return OP_LET0; case 4: switch(s[3]) { case 'e': return OP_CASE0; case 'd': return OP_COND0; case '*': return OP_LET0AST; default: return OP_SET0; } case 5: switch(s[2]) { case 'g': return OP_BEGIN; case 'l': return OP_DELAY; case 'c': return OP_MACRO0; default: return OP_QUOTE; } case 6: switch(s[2]) { case 'm': return OP_LAMBDA; case 'f': return OP_DEF0; default: return OP_LET0REC; } default: return OP_C0STREAM; } } static pointer s_cons(scheme *sc, pointer a, pointer b) { return _cons(sc,a,b,0); } static pointer s_immutable_cons(scheme *sc, pointer a, pointer b) { return _cons(sc,a,b,1); } static struct scheme_interface vtbl ={ scheme_define, s_cons, s_immutable_cons, reserve_cells, mk_integer, mk_real, mk_symbol, gensym, mk_string, mk_counted_string, mk_character, mk_vector, mk_foreign_func, mk_closure, putstr, putcharacter, is_string, string_length, string_value, is_number, nvalue, ivalue, rvalue, is_integer, is_real, is_character, charvalue, is_list, is_vector, list_length, ivalue, fill_vector, vector_elem, set_vector_elem, is_port, is_pair, pair_car, pair_cdr, set_car, set_cdr, is_symbol, symname, is_syntax, is_proc, is_foreign, syntaxname, is_closure, is_macro, closure_code, closure_env, is_continuation, is_promise, is_environment, is_immutable, setimmutable, scheme_load_file, scheme_load_string }; scheme *scheme_init_new() { scheme *sc=(scheme*)malloc(sizeof(scheme)); if(!scheme_init(sc)) { free(sc); return 0; } else { return sc; } } scheme *scheme_init_new_custom_alloc(func_alloc malloc, func_dealloc free) { scheme *sc=(scheme*)malloc(sizeof(scheme)); if(!scheme_init_custom_alloc(sc,malloc,free)) { free(sc); return 0; } else { return sc; } } int scheme_init(scheme *sc) { return scheme_init_custom_alloc(sc,malloc,free); } int scheme_init_custom_alloc(scheme *sc, func_alloc malloc, func_dealloc free) { int i, n=sizeof(dispatch_table)/sizeof(dispatch_table[0]); pointer x; num_zero.is_fixnum=1; num_zero.value.ivalue=0; num_one.is_fixnum=1; num_one.value.ivalue=1; sc->vptr=&vtbl; sc->gensym_cnt=0; sc->malloc=malloc; sc->free=free; sc->last_cell_seg = -1; sc->sink = &sc->_sink; sc->NIL = &sc->_NIL; sc->T = &sc->_HASHT; sc->F = &sc->_HASHF; sc->EOF_OBJ=&sc->_EOF_OBJ; sc->free_cell = &sc->_NIL; sc->fcells = 0; sc->no_memory=0; sc->inport=sc->NIL; sc->outport=sc->NIL; sc->save_inport=sc->NIL; sc->loadport=sc->NIL; sc->nesting=0; sc->interactive_repl=0; sc->print_output=0; sc->print_error=0; if (alloc_cellseg(sc,3) != 3) { sc->no_memory=1; return 0; } sc->gc_verbose = 0; dump_stack_initialize(sc); sc->code = sc->NIL; sc->tracing=0; sc->bc_flag = 0; sc->safe_foreign = sc->NIL; ((sc->NIL)->_flag) = (16384 | 32768); ((sc->NIL)->_object._cons._car) = ((sc->NIL)->_object._cons._cdr) = sc->NIL; ((sc->T)->_flag) = (16384 | 32768); ((sc->T)->_object._cons._car) = ((sc->T)->_object._cons._cdr) = sc->T; ((sc->F)->_flag) = (16384 | 32768); ((sc->F)->_object._cons._car) = ((sc->F)->_object._cons._cdr) = sc->F; sc->oblist = oblist_initial_value(sc); new_frame_in_env(sc, sc->NIL); sc->global_env = sc->envir; x = mk_symbol(sc,"else"); new_slot_in_env(sc, x, sc->T); assign_syntax(sc, "lambda"); assign_syntax(sc, "quote"); assign_syntax(sc, "define"); assign_syntax(sc, "if"); assign_syntax(sc, "begin"); assign_syntax(sc, "set!"); assign_syntax(sc, "let"); assign_syntax(sc, "let*"); assign_syntax(sc, "letrec"); assign_syntax(sc, "cond"); assign_syntax(sc, "delay"); assign_syntax(sc, "and"); assign_syntax(sc, "or"); assign_syntax(sc, "cons-stream"); assign_syntax(sc, "macro"); assign_syntax(sc, "case"); for(i=0; iLAMBDA = mk_symbol(sc, "lambda"); sc->QUOTE = mk_symbol(sc, "quote"); sc->QQUOTE = mk_symbol(sc, "quasiquote"); sc->UNQUOTE = mk_symbol(sc, "unquote"); sc->UNQUOTESP = mk_symbol(sc, "unquote-splicing"); sc->FEED_TO = mk_symbol(sc, "=>"); sc->COLON_HOOK = mk_symbol(sc,"*colon-hook*"); sc->ERROR_HOOK = mk_symbol(sc, "*error-hook*"); sc->SHARP_HOOK = mk_symbol(sc, "*sharp-hook*"); return !sc->no_memory; } void scheme_set_input_port_file(scheme *sc, FILE *fin) { sc->inport=port_from_file(sc,fin,port_input); } void scheme_set_input_port_string(scheme *sc, char *start, char *past_the_end) { sc->inport=port_from_string(sc,start,past_the_end,port_input); } void scheme_set_output_port_file(scheme *sc, FILE *fout) { sc->outport=port_from_file(sc,fout,port_output); } void scheme_set_output_port_string(scheme *sc, char *start, char *past_the_end) { sc->outport=port_from_string(sc,start,past_the_end,port_output); } void scheme_set_external_data(scheme *sc, void *p) { sc->ext_data=p; } void scheme_deinit(scheme *sc) { int i; sc->oblist=sc->NIL; sc->global_env=sc->NIL; dump_stack_free(sc); sc->envir=sc->NIL; sc->code=sc->NIL; sc->args=sc->NIL; sc->value=sc->NIL; if(is_port(sc->inport)) { ((sc->inport)->_flag) = 16384; } sc->inport=sc->NIL; sc->outport=sc->NIL; if(is_port(sc->save_inport)) { ((sc->save_inport)->_flag) = 16384; } sc->save_inport=sc->NIL; if(is_port(sc->loadport)) { ((sc->loadport)->_flag) = 16384; } sc->loadport=sc->NIL; sc->gc_verbose=0; gc(sc,sc->NIL,sc->NIL); for(i=0; i<=sc->last_cell_seg; i++) { sc->free(sc->alloc_seg[i]); } } void scheme_load_file(scheme *sc, FILE *fin) { dump_stack_reset(sc); sc->envir = sc->global_env; sc->file_i=0; sc->load_stack[0].kind=port_input|port_file; sc->load_stack[0].rep.stdio.file=fin; sc->loadport=mk_port(sc,sc->load_stack); sc->retcode=0; if(fin==stdin) { sc->interactive_repl=1; } sc->inport=sc->loadport; Eval_Cycle(sc, OP_T0LVL); ((sc->loadport)->_flag)=16384; if(sc->retcode==0) { sc->retcode=sc->nesting!=0; } } void scheme_load_string(scheme *sc, const char *cmd) { dump_stack_reset(sc); sc->envir = sc->global_env; sc->file_i=0; sc->load_stack[0].kind=port_input|port_string; sc->load_stack[0].rep.string.start=(char*)cmd; sc->load_stack[0].rep.string.past_the_end=(char*)cmd+strlen(cmd); sc->load_stack[0].rep.string.curr=(char*)cmd; sc->loadport=mk_port(sc,sc->load_stack); sc->retcode=0; sc->interactive_repl=0; sc->inport=sc->loadport; Eval_Cycle(sc, OP_T0LVL); ((sc->loadport)->_flag)=16384; if(sc->retcode==0) { sc->retcode=sc->nesting!=0; } } void scheme_define(scheme *sc, pointer envir, pointer symbol, pointer value) { pointer x; x=find_slot_in_env(sc,envir,symbol,0); if (x != sc->NIL) { set_slot_in_env(sc, x, value); } else { new_slot_spec_in_env(sc, envir, symbol, value); } } void scheme_apply0(scheme *sc, const char *procname) { pointer carx=mk_symbol(sc,procname); pointer cdrx=sc->NIL; dump_stack_reset(sc); sc->envir = sc->global_env; sc->code = _cons(sc,carx,cdrx,0); sc->interactive_repl=0; sc->retcode=0; Eval_Cycle(sc,OP_EVAL); } void scheme_call(scheme *sc, pointer func, pointer args) { dump_stack_reset(sc); sc->envir = sc->global_env; sc->args = args; sc->code = func; sc->interactive_repl =0; sc->retcode = 0; Eval_Cycle(sc, OP_APPLY); }