Re: New egcs on beezer
Christopher C Chimelis <chris@classnet.med.miami.edu> writes:
> On 6 Mar 1998 mdorman@debian.org wrote:
> > Well, I've got the prerelease here, and it seems to be working as well
> > as 1.0.1...
> I have the package done for it already. It's on beezer, if you want it.
Well, I pulled it off master, but, yeah, I was using your package.
> The latest snapshot is not building properly, however. I'm working on
> that....
Oh, so you're going to try and get it so we can get the devel-track
stuff, too? Cool.
Or do you mean the latest 1.0.2-prerelease-snapshot?
> If they relate to a jump insn, then I may have a patch already that will
> keep those instructions from being generated in the first place.
I don't think it applies.
> Will pilot-link compile without any -O switches? Just curious...
Yes.
> Most of the problems I've run into are related to the optimisation
> routines.
Yep, -Ox where x > 1 seems to do it for this piece of code. The
message I get is:
$ gcc -g -O2 -Wall -c syspkt-pre.c -o syspkt.o
syspkt.c: In function `sys_WriteMemory':
syspkt.c:392: internal error--unrecognizable insn:
(insn 318 313 314 (set (reg:DI 6 $6)
(plus:DI (reg:DI 30 $30)
(const_int 65616))) -1 (nil)
(nil))
gcc: Internal compiler error: program cc1 got fatal signal 6
> Forward me whatever you have and I'll see what I can make of it. Plus,
> it'll give me something to test the patch with.
I'm including the file in its already-cpp'd form, that way you can
pass it on to others easily (they don't need all of pilot-link or
glibc or anything, just gcc). Using the command line above triggers
it.
Mike.
-----8<-----
# 1 "syspkt.c"
# 1 "/usr/include/stdio.h" 1 3
# 1 "/usr/include/libio.h" 1 3
# 1 "/usr/include/features.h" 1 3
# 117 "/usr/include/features.h" 3
# 1 "/usr/include/sys/cdefs.h" 1 3
# 1 "/usr/include/features.h" 1 3
# 222 "/usr/include/features.h" 3
# 22 "/usr/include/sys/cdefs.h" 2 3
# 54 "/usr/include/sys/cdefs.h" 3
# 86 "/usr/include/sys/cdefs.h" 3
# 205 "/usr/include/features.h" 2 3
# 1 "/usr/include/gnu/stubs.h" 1 3
# 219 "/usr/include/features.h" 2 3
# 29 "/usr/include/libio.h" 2 3
# 1 "/usr/include/_G_config.h" 1 3
# 1 "/usr/include/gnu/types.h" 1 3
typedef unsigned char __u_char;
typedef unsigned short __u_short;
typedef unsigned int __u_int;
typedef unsigned long __u_long;
typedef unsigned long long int __u_quad_t;
typedef long long int __quad_t;
# 41 "/usr/include/gnu/types.h" 3
typedef __quad_t *__qaddr_t;
typedef __u_long __dev_t;
typedef __u_int __uid_t;
typedef __u_int __gid_t;
typedef __u_int __ino_t;
typedef __u_int __mode_t;
typedef __u_int __nlink_t;
typedef long int __off_t;
typedef __quad_t __loff_t;
typedef int __pid_t;
typedef long int __ssize_t;
typedef struct
{
int __val[2];
} __fsid_t;
typedef int __daddr_t;
typedef char *__caddr_t;
typedef long int __time_t;
typedef long int __swblk_t;
typedef long int __clock_t;
typedef unsigned long int __fd_mask;
typedef struct
{
__fd_mask fds_bits[1024 / (8 * sizeof (__fd_mask)) ];
} __fd_set;
typedef int __key_t;
typedef int __ipc_pid_t;
# 9 "/usr/include/_G_config.h" 2 3
# 1 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 1 3
# 19 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 61 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 131 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
typedef long unsigned int size_t;
# 258 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
typedef unsigned int wint_t;
# 302 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 13 "/usr/include/_G_config.h" 2 3
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__)));
# 31 "/usr/include/libio.h" 2 3
# 1 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stdarg.h" 1 3
# 1 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/va-alpha.h" 1 3
typedef struct {
char *__base;
int __offset;
} __gnuc_va_list;
# 130 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/va-alpha.h" 3
# 36 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stdarg.h" 2 3
# 126 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stdarg.h" 3
# 202 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stdarg.h" 3
# 47 "/usr/include/libio.h" 2 3
# 64 "/usr/include/libio.h" 3
# 96 "/usr/include/libio.h" 3
struct _IO_jump_t; struct _IO_FILE;
typedef void _IO_lock_t;
struct _IO_marker {
struct _IO_marker *_next;
struct _IO_FILE *_sbuf;
int _pos;
# 180 "/usr/include/libio.h" 3
};
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 _blksize;
__off_t _offset;
unsigned short _cur_column;
char _unused;
char _shortbuf[1];
_IO_lock_t *_lock;
};
typedef struct _IO_FILE _IO_FILE;
struct _IO_FILE_plus;
extern struct _IO_FILE_plus _IO_stdin_, _IO_stdout_, _IO_stderr_;
typedef struct
{
__ssize_t (*read) (struct _IO_FILE *, void *, __ssize_t ) ;
__ssize_t (*write) (struct _IO_FILE *, const void *, __ssize_t ) ;
__off_t (*seek) (struct _IO_FILE *, __off_t , int) ;
int (*close) (struct _IO_FILE *) ;
} _IO_cookie_io_functions_t;
struct _IO_cookie_file {
struct _IO_FILE file;
const void *vtable;
void *cookie;
_IO_cookie_io_functions_t io_functions;
};
extern int __underflow (_IO_FILE*) ;
extern int __uflow (_IO_FILE*) ;
extern int __overflow (_IO_FILE*, int) ;
extern int _IO_getc (_IO_FILE *__fp) ;
extern int _IO_putc (int __c, _IO_FILE *__fp) ;
extern int _IO_feof (_IO_FILE *__fp) ;
extern int _IO_ferror (_IO_FILE *__fp) ;
extern int _IO_peekc_locked (_IO_FILE *__fp) ;
extern void _IO_flockfile (_IO_FILE *) ;
extern void _IO_funlockfile (_IO_FILE *) ;
extern int _IO_ftrylockfile (_IO_FILE *) ;
extern int _IO_vfscanf (_IO_FILE*, const char*, __gnuc_va_list , int*) ;
extern int _IO_vfprintf (_IO_FILE*, const char*, __gnuc_va_list ) ;
extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t ) ;
extern size_t _IO_sgetn (_IO_FILE *, void*, size_t ) ;
extern __off_t _IO_seekoff (_IO_FILE*, __off_t , int, int) ;
extern __off_t _IO_seekpos (_IO_FILE*, __off_t , int) ;
extern void _IO_free_backup_area (_IO_FILE*) ;
# 29 "/usr/include/stdio.h" 2 3
# 69 "/usr/include/stdio.h" 3
typedef struct _IO_FILE FILE;
typedef __off_t fpos_t;
# 1 "/usr/include/stdio_lim.h" 1 3
# 74 "/usr/include/stdio.h" 2 3
extern FILE *stdin, *stdout, *stderr;
extern void clearerr (FILE*) ;
extern int fclose (FILE*) ;
extern int feof (FILE*) ;
extern int ferror (FILE*) ;
extern int fflush (FILE*) ;
extern int fgetc (FILE *) ;
extern int fgetpos (FILE* fp, fpos_t *pos) ;
extern char* fgets (char*, int, FILE*) ;
extern FILE* fopen (__const char*, __const char*) ;
extern FILE* fopencookie (void *cookie, __const char *mode,
_IO_cookie_io_functions_t io_functions) ;
extern int fprintf (FILE*, __const char* format, ...) ;
extern int fputc (int, FILE*) ;
extern int fputs (__const char *str, FILE *fp) ;
extern size_t fread (void*, size_t, size_t, FILE*) ;
extern FILE* freopen (__const char*, __const char*, FILE*) ;
extern int fscanf (FILE *fp, __const char* format, ...) ;
extern int fseek (FILE* fp, long int offset, int whence) ;
extern int fsetpos (FILE* fp, __const fpos_t *pos) ;
extern long int ftell (FILE* fp) ;
extern size_t fwrite (__const void*, size_t, size_t, FILE*) ;
extern int getc (FILE *) ;
extern int getchar (void) ;
extern char* gets (char*) ;
extern void perror (__const char *) ;
extern int printf (__const char* format, ...) ;
extern int putc (int, FILE *) ;
extern int putchar (int) ;
extern int puts (__const char *str) ;
extern int remove (__const char*) ;
extern int rename (__const char* _old, __const char* _new) ;
extern void rewind (FILE*) ;
extern int scanf (__const char* format, ...) ;
extern void setbuf (FILE*, char*) ;
extern void setlinebuf (FILE*) ;
extern void setbuffer (FILE*, char*, int) ;
extern int setvbuf (FILE*, char*, int mode, size_t size) ;
extern int sprintf (char*, __const char* format, ...) ;
extern int sscanf (__const char* string, __const char* format, ...) ;
extern FILE* tmpfile (void) ;
extern char* tmpnam (char*) ;
extern char* tmpnam_r (char*) ;
extern char *tempnam (__const char *__dir, __const char *__pfx) ;
extern char *__stdio_gen_tempname (char *__buf, size_t bufsize,
__const char *dir, __const char *pfx,
int dir_search, size_t *lenptr,
FILE **streamptr) ;
extern int ungetc (int c, FILE* fp) ;
extern int vfprintf (FILE *fp, char __const *fmt0, __gnuc_va_list ) ;
extern int vprintf (char __const *fmt, __gnuc_va_list ) ;
extern int vsprintf (char* string, __const char* format, __gnuc_va_list ) ;
extern void __libc_fatal (__const char *__message)
__attribute__ ((__noreturn__));
extern int dprintf (int, __const char *, ...) ;
extern int vdprintf (int, __const char *, __gnuc_va_list ) ;
extern int vfscanf (FILE*, __const char *, __gnuc_va_list ) ;
extern int __vfscanf (FILE*, __const char *, __gnuc_va_list ) ;
extern int vscanf (__const char *, __gnuc_va_list ) ;
extern int vsscanf (__const char *, __const char *, __gnuc_va_list ) ;
extern int __vsscanf (__const char *, __const char *, __gnuc_va_list ) ;
# 177 "/usr/include/stdio.h" 3
extern FILE *fdopen (int, __const char *) ;
extern int fileno (FILE*) ;
extern FILE* popen (__const char*, __const char*) ;
extern int pclose (FILE*) ;
extern char *ctermid (char *__buf) ;
extern char *cuserid (char * __buf) ;
extern int snprintf (char *, size_t, __const char *, ...) ;
extern int __snprintf (char *, size_t, __const char *, ...) ;
extern int vsnprintf (char *, size_t, __const char *, __gnuc_va_list ) ;
extern int __vsnprintf (char *, size_t, __const char *, __gnuc_va_list ) ;
# 214 "/usr/include/stdio.h" 3
extern int __underflow (struct _IO_FILE*) ;
extern int __overflow (struct _IO_FILE*, int) ;
extern int sys_nerr;
extern const char *const sys_errlist[];
extern void clearerr_locked (FILE *) ;
extern void clearerr_unlocked (FILE *) ;
extern int feof_locked (FILE *) ;
extern int feof_unlocked (FILE *) ;
extern int ferror_locked (FILE*) ;
extern int ferror_unlocked (FILE*) ;
extern int fileno_locked (FILE *) ;
extern int fileno_unlocked (FILE *) ;
extern int fclose_unlocked (FILE *) ;
extern int fflush_locked (FILE *) ;
extern int fflush_unlocked (FILE *) ;
extern size_t fread_unlocked (void *, size_t, size_t, FILE *) ;
extern size_t fwrite_unlocked (const void *, size_t, size_t, FILE *) ;
extern int fputc_locked (int, FILE*) ;
extern int fputc_unlocked (int, FILE*) ;
extern int getc_locked (FILE *) ;
extern int getchar_locked (void) ;
extern int putc_locked (int, FILE *) ;
extern int putchar_locked (int) ;
extern void flockfile (FILE *) ;
extern void funlockfile (FILE *) ;
extern int ftrylockfile (FILE *) ;
extern int getc_unlocked (FILE *) ;
extern int getchar_unlocked (void) ;
extern int putc_unlocked (int, FILE *) ;
extern int putchar_unlocked (int) ;
# 10 "syspkt.c" 2
# 1 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stdarg.h" 1 3
# 1 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/va-alpha.h" 1 3
# 26 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/va-alpha.h" 3
# 47 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/va-alpha.h" 3
enum {
__no_type_class = -1,
__void_type_class,
__integer_type_class,
__char_type_class,
__enumeral_type_class,
__boolean_type_class,
__pointer_type_class,
__reference_type_class,
__offset_type_class,
__real_type_class,
__complex_type_class,
__function_type_class,
__method_type_class,
__record_type_class,
__union_type_class,
__array_type_class,
__string_type_class,
__set_type_class,
__file_type_class,
__lang_type_class
};
# 36 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stdarg.h" 2 3
# 126 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stdarg.h" 3
# 168 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stdarg.h" 3
# 198 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stdarg.h" 3
# 11 "syspkt.c" 2
# 1 "../include/pi-source.h" 1
# 37 "../include/pi-source.h"
# 1 "../include/pi-config.h" 1
# 1 "/usr/include/sys/time.h" 1 3
# 1 "/usr/include/time.h" 1 3
# 1 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 1 3
# 19 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 61 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 131 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 182 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 258 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 270 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 302 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 38 "/usr/include/time.h" 2 3
# 1 "/usr/include/timebits.h" 1 3
# 32 "/usr/include/timebits.h" 3
# 47 "/usr/include/time.h" 2 3
typedef __clock_t clock_t;
typedef __time_t time_t;
struct timespec
{
long int 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;
};
extern clock_t clock (void) ;
extern time_t time (time_t *__timer) ;
extern double difftime (time_t __time1, time_t __time0)
__attribute__ ((__const__));
extern time_t mktime (struct tm *__tp) ;
extern time_t __mktime_internal (struct tm *__tp,
struct tm *(*__func) (const time_t *,
struct tm *),
time_t *__offset) ;
extern size_t strftime (char *__s, size_t __maxsize,
__const char *__format, __const struct tm *__tp) ;
extern struct tm *gmtime (__const time_t *__timer) ;
extern struct tm *localtime (__const time_t *__timer) ;
extern struct tm *__gmtime_r (__const time_t *__timer,
struct tm *__tp) ;
extern struct tm *gmtime_r (__const time_t *__timer,
struct tm *__tp) ;
extern struct tm *__localtime_r (__const time_t *__timer,
struct tm *__tp) ;
extern struct tm *localtime_r (__const time_t *__timer,
struct tm *__tp) ;
extern void __offtime (__const time_t *__timer,
long int __offset,
struct tm *__TP) ;
extern char *asctime (__const struct tm *__tp) ;
extern char *ctime (__const time_t *__timer) ;
extern char *__asctime_r (__const struct tm *__tp, char *__buf) ;
extern char *asctime_r (__const struct tm *__tp, char *__buf) ;
extern char *ctime_r (__const time_t *__timer, char *__buf) ;
extern char *__tzname[2];
extern int __daylight;
extern long int __timezone;
extern void __tzset (void) ;
extern char *tzname[2];
extern long int __tzname_max (void) ;
extern void tzset (void) ;
extern int daylight;
extern long int timezone;
extern int stime (__const time_t *__when) ;
extern time_t timegm (struct tm *__tp) ;
extern time_t timelocal (struct tm *__tp) ;
extern int dysize (int __year) ;
extern int __nanosleep (__const struct timespec *__requested_time,
struct timespec *__remaining) ;
extern int nanosleep (__const struct timespec *__requested_time,
struct timespec *__remaining) ;
# 24 "/usr/include/sys/time.h" 2 3
# 1 "/usr/include/sys/select.h" 1 3
# 1 "/usr/include/selectbits.h" 1 3
# 31 "/usr/include/sys/select.h" 2 3
struct timeval;
typedef __fd_mask fd_mask;
typedef __fd_set fd_set;
extern int __select (int __nfds, __fd_set *__readfds,
__fd_set *__writefds, __fd_set *__exceptfds,
struct timeval *__timeout) ;
extern int select (int __nfds, __fd_set *__readfds,
__fd_set *__writefds, __fd_set *__exceptfds,
struct timeval *__timeout) ;
extern int __pselect (int __nfds, __fd_set *__readfds,
__fd_set *__writefds, __fd_set *__exceptfds,
struct timespec *__timeout) ;
extern int pselect (int __nfds, __fd_set *__readfds,
__fd_set *__writefds, __fd_set *__exceptfds,
struct timespec *__timeout) ;
# 25 "/usr/include/sys/time.h" 2 3
# 1 "/usr/include/timebits.h" 1 3
struct timeval
{
int tv_sec;
int tv_usec;
};
# 50 "/usr/include/timebits.h" 3
# 28 "/usr/include/sys/time.h" 2 3
struct timezone
{
int tz_minuteswest;
int tz_dsttime;
};
extern int __gettimeofday (struct timeval *__tv,
struct timezone *__tz) ;
extern int gettimeofday (struct timeval *__tv,
struct timezone *__tz) ;
extern int __settimeofday (__const struct timeval *__tv,
__const struct timezone *__tz) ;
extern int settimeofday (__const struct timeval *__tv,
__const struct timezone *__tz) ;
extern int __adjtime (__const struct timeval *__delta,
struct timeval *__olddelta) ;
extern int adjtime (__const struct timeval *__delta,
struct timeval *__olddelta) ;
enum __itimer_which
{
ITIMER_REAL = 0,
ITIMER_VIRTUAL = 1,
ITIMER_PROF = 2
};
struct itimerval
{
struct timeval it_interval;
struct timeval it_value;
};
extern int __getitimer (enum __itimer_which __which,
struct itimerval *__value) ;
extern int getitimer (enum __itimer_which __which,
struct itimerval *__value) ;
extern int __setitimer (enum __itimer_which __which,
__const struct itimerval *__new,
struct itimerval *__old) ;
extern int setitimer (enum __itimer_which __which,
__const struct itimerval *__new,
struct itimerval *__old) ;
extern int __utimes (__const char *__file, struct timeval __tvp[2]) ;
extern int utimes (__const char *__file, struct timeval __tvp[2]) ;
# 145 "/usr/include/sys/time.h" 3
# 154 "/usr/include/sys/time.h" 3
# 133 "../include/pi-config.h" 2
# 1 "/usr/include/fcntl.h" 1 3
# 1 "/usr/include/fcntlbits.h" 1 3
# 1 "/usr/include/sys/types.h" 1 3
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 __dev_t dev_t;
typedef __gid_t gid_t;
typedef __ino_t ino_t;
typedef __mode_t mode_t;
typedef __nlink_t nlink_t;
typedef __off_t off_t;
typedef __loff_t loff_t;
typedef __pid_t pid_t;
typedef __uid_t uid_t;
typedef __ssize_t ssize_t;
typedef __daddr_t daddr_t;
typedef __caddr_t caddr_t;
typedef __key_t key_t;
# 1 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 1 3
# 19 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 61 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 131 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 182 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 258 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 270 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 302 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 70 "/usr/include/sys/types.h" 2 3
typedef unsigned long int ulong;
typedef unsigned short int ushort;
typedef unsigned int uint;
# 95 "/usr/include/sys/types.h" 3
typedef int int8_t __attribute__ ((__mode__ ( __QI__ ))) ;
typedef unsigned int u_int8_t __attribute__ ((__mode__ ( __QI__ ))) ;
typedef int int16_t __attribute__ ((__mode__ ( __HI__ ))) ;
typedef unsigned int u_int16_t __attribute__ ((__mode__ ( __HI__ ))) ;
typedef int int32_t __attribute__ ((__mode__ ( __SI__ ))) ;
typedef unsigned int u_int32_t __attribute__ ((__mode__ ( __SI__ ))) ;
typedef int int64_t __attribute__ ((__mode__ ( __DI__ ))) ;
typedef unsigned int u_int64_t __attribute__ ((__mode__ ( __DI__ ))) ;
typedef int register_t __attribute__ ((__mode__ (__word__)));
# 1 "/usr/include/endian.h" 1 3
# 1 "/usr/include/bytesex.h" 1 3
# 34 "/usr/include/endian.h" 2 3
# 123 "/usr/include/sys/types.h" 2 3
# 23 "/usr/include/fcntlbits.h" 2 3
struct flock
{
short int l_type;
short int l_whence;
__off_t l_start;
__off_t l_len;
__pid_t l_pid;
};
# 33 "/usr/include/fcntl.h" 2 3
extern int __fcntl (int __fd, int __cmd, ...) ;
extern int fcntl (int __fd, int __cmd, ...) ;
extern int __open (__const char *__file, int __oflag, ...) ;
extern int open (__const char *__file, int __oflag, ...) ;
extern int creat (__const char *__file, __mode_t __mode) ;
extern int lockf (int __fd, int __cmd, __off_t __len) ;
# 144 "../include/pi-config.h" 2
# 1 "/usr/include/unistd.h" 1 3
# 1 "/usr/include/posix_opt.h" 1 3
# 137 "/usr/include/unistd.h" 2 3
# 1 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 1 3
# 19 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 61 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 131 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 182 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 258 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 270 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 302 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 157 "/usr/include/unistd.h" 2 3
extern int __access (__const char *__name, int __type) ;
extern int access (__const char *__name, int __type) ;
extern __off_t __lseek (int __fd, __off_t __offset, int __whence) ;
extern __off_t lseek (int __fd, __off_t __offset, int __whence) ;
extern int __close (int __fd) ;
extern int close (int __fd) ;
extern ssize_t __read (int __fd, void * __buf, size_t __nbytes) ;
extern ssize_t read (int __fd, void * __buf, size_t __nbytes) ;
extern ssize_t __write (int __fd, __const void * __buf, size_t __n) ;
extern ssize_t write (int __fd, __const void * __buf, size_t __n) ;
extern int __pipe (int __pipedes[2]) ;
extern int pipe (int __pipedes[2]) ;
extern unsigned int alarm (unsigned int __seconds) ;
extern unsigned int sleep (unsigned int __seconds) ;
extern unsigned int ualarm (unsigned int __value,
unsigned int __interval) ;
extern void usleep (unsigned int __useconds) ;
extern int pause (void) ;
extern int __chown (__const char *__file,
__uid_t __owner, __gid_t __group) ;
extern int chown (__const char *__file,
__uid_t __owner, __gid_t __group) ;
extern int __fchown (int __fd,
__uid_t __owner, __gid_t __group) ;
extern int fchown (int __fd,
__uid_t __owner, __gid_t __group) ;
extern int __lchown (__const char *__file, __uid_t __owner,
__gid_t __group) ;
extern int lchown (__const char *__file, __uid_t __owner,
__gid_t __group) ;
extern int __chdir (__const char *__path) ;
extern int chdir (__const char *__path) ;
extern int fchdir (int __fd) ;
extern char *__getcwd (char *__buf, size_t __size) ;
extern char *getcwd (char *__buf, size_t __size) ;
# 317 "/usr/include/unistd.h" 3
extern char *getwd (char *__buf) ;
extern int __dup (int __fd) ;
extern int dup (int __fd) ;
extern int __dup2 (int __fd, int __fd2) ;
extern int dup2 (int __fd, int __fd2) ;
extern char **__environ;
extern int __execve (__const char *__path, char *__const __argv[],
char *__const __envp[]) ;
extern int execve (__const char *__path, char *__const __argv[],
char *__const __envp[]) ;
extern int execv (__const char *__path, char *__const __argv[]) ;
extern int execle (__const char *__path, __const char *__arg, ...) ;
extern int execl (__const char *__path, __const char *__arg, ...) ;
extern int execvp (__const char *__file, char *__const __argv[]) ;
extern int execlp (__const char *__file, __const char *__arg, ...) ;
extern int nice (int __inc) ;
extern void _exit (int __status) __attribute__ ((__noreturn__));
# 1 "/usr/include/confname.h" 1 3
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
};
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_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
};
enum
{
_CS_PATH
};
# 392 "/usr/include/unistd.h" 2 3
extern long int __pathconf (__const char *__path, int __name) ;
extern long int pathconf (__const char *__path, int __name) ;
extern long int __fpathconf (int __fd, int __name) ;
extern long int fpathconf (int __fd, int __name) ;
extern long int __sysconf (int __name) ;
extern long int sysconf (int __name) ;
extern size_t confstr (int __name, char *__buf, size_t __len) ;
extern __pid_t __getpid (void) ;
extern __pid_t getpid (void) ;
extern __pid_t __getppid (void) ;
extern __pid_t getppid (void) ;
extern __pid_t getpgrp (void) ;
extern int setpgid (__pid_t __pid, __pid_t __pgid) ;
extern __pid_t __getpgid (__pid_t __pid) ;
extern int setpgrp (void) ;
extern __pid_t __setsid (void) ;
extern __pid_t setsid (void) ;
extern __uid_t __getuid (void) ;
extern __uid_t getuid (void) ;
extern __uid_t __geteuid (void) ;
extern __uid_t geteuid (void) ;
extern __gid_t __getgid (void) ;
extern __gid_t getgid (void) ;
extern __gid_t __getegid (void) ;
extern __gid_t getegid (void) ;
extern int __getgroups (int __size, __gid_t __list[]) ;
extern int getgroups (int __size, __gid_t __list[]) ;
extern int __setuid (__uid_t __uid) ;
extern int setuid (__uid_t __uid) ;
extern int __setreuid (__uid_t __ruid, __uid_t __euid) ;
extern int setreuid (__uid_t __ruid, __uid_t __euid) ;
extern int seteuid (__uid_t __uid) ;
extern int __setgid (__gid_t __gid) ;
extern int setgid (__gid_t __gid) ;
extern int __setregid (__gid_t __rgid, __gid_t __egid) ;
extern int setregid (__gid_t __rgid, __gid_t __egid) ;
extern int setegid (__gid_t __gid) ;
extern __pid_t __fork (void) ;
extern __pid_t fork (void) ;
extern __pid_t __vfork (void) ;
extern __pid_t vfork (void) ;
extern char *ttyname (int __fd) ;
extern int __ttyname_r (int __fd, char *__buf, size_t __buflen) ;
extern int ttyname_r (int __fd, char *__buf, size_t __buflen) ;
extern int __isatty (int __fd) ;
extern int isatty (int __fd) ;
extern int ttyslot (void) ;
extern int __link (__const char *__from, __const char *__to) ;
extern int link (__const char *__from, __const char *__to) ;
extern int __symlink (__const char *__from, __const char *__to) ;
extern int symlink (__const char *__from, __const char *__to) ;
extern int __readlink (__const char *__path, char *__buf, size_t __len) ;
extern int readlink (__const char *__path, char *__buf, size_t __len) ;
extern int __unlink (__const char *__name) ;
extern int unlink (__const char *__name) ;
extern int __rmdir (__const char *__path) ;
extern int rmdir (__const char *__path) ;
extern __pid_t tcgetpgrp (int __fd) ;
extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) ;
extern char *getlogin (void) ;
extern int setlogin (__const char *__name) ;
extern int getopt (int __argc, char *__const * __argv,
__const char *__opts) ;
extern int opterr;
extern int optind;
extern int optopt;
extern char *optarg;
extern int __gethostname (char *__name, size_t __len) ;
extern int gethostname (char *__name, size_t __len) ;
extern int sethostname (__const char *__name, size_t __len) ;
extern int sethostid (long int __id) ;
extern int getdomainname (char *__name, size_t __len) ;
extern int setdomainname (__const char *__name, size_t __len) ;
extern int fsync (int __fd) ;
extern int vhangup (void) ;
extern int revoke (__const char *__file) ;
extern int profil (unsigned short int *__sample_buffer, size_t __size,
size_t __offset, unsigned int __scale) ;
extern int acct (__const char *__name) ;
extern int chroot (__const char *__path) ;
extern char *getusershell (void) ;
extern void endusershell (void) ;
extern void setusershell (void) ;
extern char *getpass (__const char *__prompt) ;
extern int daemon (int __nochdir, int __noclose) ;
extern long int gethostid (void) ;
extern int sync (void) ;
extern int __getpagesize (void) ;
extern int getpagesize (void) ;
extern int truncate (__const char *__file, __off_t __length) ;
extern int ftruncate (int __fd, __off_t __length) ;
extern int __getdtablesize (void) ;
extern int getdtablesize (void) ;
extern int __brk (void * __addr) ;
extern int brk (void * __addr) ;
# 1 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 1 3
# 19 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 61 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
typedef long int ptrdiff_t;
# 184 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 258 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 270 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 302 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 768 "/usr/include/unistd.h" 2 3
extern void * __sbrk (ptrdiff_t __delta) ;
extern void * sbrk (ptrdiff_t __delta) ;
extern long int syscall (long int __sysno, ...) ;
# 811 "/usr/include/unistd.h" 3
# 833 "/usr/include/unistd.h" 3
extern int fdatasync (int __fildes) ;
# 861 "/usr/include/unistd.h" 3
# 148 "../include/pi-config.h" 2
# 1 "/usr/include/memory.h" 1 3
# 1 "/usr/include/string.h" 1 3
# 1 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 1 3
# 19 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 61 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 131 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 182 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 258 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 270 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 302 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 33 "/usr/include/string.h" 2 3
extern void * memcpy (void * __dest, __const void * __src,
size_t __n) ;
extern void * memmove (void * __dest, __const void * __src,
size_t __n) ;
extern void * __memccpy (void * __dest, __const void * __src,
int __c, size_t __n) ;
extern void * memccpy (void * __dest, __const void * __src,
int __c, size_t __n) ;
extern void * memset (void * __s, int __c, size_t __n) ;
extern int memcmp (__const void * __s1, __const void * __s2,
size_t __n) ;
extern void * memchr (__const void * __s, int __c, size_t __n) ;
extern char *strcpy (char *__dest, __const char *__src) ;
extern char *strncpy (char *__dest, __const char *__src, size_t __n) ;
extern char *strcat (char *__dest, __const char *__src) ;
extern char *strncat (char *__dest, __const char *__src, size_t __n) ;
extern int strcmp (__const char *__s1, __const char *__s2) ;
extern int strncmp (__const char *__s1, __const char *__s2, size_t __n) ;
extern int strcoll (__const char *__s1, __const char *__s2) ;
extern size_t strxfrm (char *__dest, __const char *__src, size_t __n) ;
extern char *__strdup (__const char *__s) ;
extern char *strdup (__const char *__s) ;
extern char *__strndup (__const char *__string, size_t __n) ;
# 121 "/usr/include/string.h" 3
extern char *strchr (__const char *__s, int __c) ;
extern char *strrchr (__const char *__s, int __c) ;
extern size_t strcspn (__const char *__s, __const char *__reject) ;
extern size_t strspn (__const char *__s, __const char *__accept) ;
extern char *strpbrk (__const char *__s, __const char *__accept) ;
extern char *strstr (__const char *__haystack, __const char *__needle) ;
extern char *strtok (char *__s, __const char *__delim) ;
extern char *strtok_r (char *__s, __const char *__delim,
char **__save_ptr) ;
extern size_t strlen (__const char *__s) ;
# 173 "/usr/include/string.h" 3
extern char *strerror (int __errnum) ;
extern char *__strerror_r (int __errnum, char *__buf, size_t __buflen) ;
extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) ;
extern void bcopy (__const void * __src, void * __dest, size_t __n) ;
extern void bzero (void * __s, size_t __n) ;
extern int bcmp (__const void * __s1, __const void * __s2, size_t __n) ;
extern char *index (__const char *__s, int __c) ;
extern char *rindex (__const char *__s, int __c) ;
extern int ffs (int __i) ;
extern int __strcasecmp (__const char *__s1, __const char *__s2) ;
extern int strcasecmp (__const char *__s1, __const char *__s2) ;
extern int __strncasecmp (__const char *__s1, __const char *__s2,
size_t __n) ;
extern int strncasecmp (__const char *__s1, __const char *__s2,
size_t __n) ;
extern char *__strsep (char **__stringp, __const char *__delim) ;
extern char *strsep (char **__stringp, __const char *__delim) ;
# 241 "/usr/include/string.h" 3
extern char *basename (__const char *__filename) ;
# 30 "/usr/include/memory.h" 2 3
# 152 "../include/pi-config.h" 2
# 1 "/usr/include/malloc.h" 1 3
# 1 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 1 3
# 61 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 126 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 182 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
typedef unsigned int wchar_t;
# 302 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 42 "/usr/include/malloc.h" 2 3
extern int __malloc_initialized;
extern void * malloc (size_t __size) ;
extern void * calloc (size_t __nmemb, size_t __size) ;
extern void * realloc (void * __ptr, size_t __size) ;
extern void free (void * __ptr) ;
extern void cfree (void * __ptr) ;
extern void * memalign (size_t __alignment, size_t __size) ;
extern void * valloc (size_t __size) ;
extern void * pvalloc (size_t __size) ;
extern void * (*__morecore) (ptrdiff_t __size) ;
extern void * __default_morecore (ptrdiff_t __size) ;
struct mallinfo {
int arena;
int ordblks;
int smblks;
int hblks;
int hblkhd;
int usmblks;
int fsmblks;
int uordblks;
int fordblks;
int keepcost;
};
extern struct mallinfo mallinfo (void) ;
extern int mallopt (int __param, int __val) ;
extern int malloc_trim (size_t __pad) ;
extern size_t malloc_usable_size (void * __ptr) ;
extern void malloc_stats (void) ;
extern void * malloc_get_state (void) ;
extern int malloc_set_state (void * __ptr) ;
extern void (*__malloc_initialize_hook) (void) ;
extern void (*__free_hook) (void * __ptr) ;
extern void * (*__malloc_hook) (size_t __size) ;
extern void * (*__realloc_hook) (void * __ptr,
size_t __size) ;
extern void * (*__memalign_hook) (size_t __size,
size_t __alignment) ;
extern void (*__after_morecore_hook) (void) ;
extern void __malloc_check_init (void) ;
# 156 "../include/pi-config.h" 2
# 1 "/usr/include/strings.h" 1 3
# 164 "../include/pi-config.h" 2
# 1 "/usr/include/stdlib.h" 1 3
# 1 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 1 3
# 19 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 61 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 126 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 182 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 256 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 302 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 32 "/usr/include/stdlib.h" 2 3
typedef struct
{
int quot;
int rem;
} div_t;
typedef struct
{
long int quot;
long int rem;
} ldiv_t;
extern int __ctype_get_mb_cur_max (void) ;
extern double atof (__const char *__nptr) ;
extern int atoi (__const char *__nptr) ;
extern long int atol (__const char *__nptr) ;
extern long long int atoll (__const char *__nptr) ;
extern double strtod (__const char *__nptr, char **__endptr) ;
extern long int strtol (__const char *__nptr, char **__endptr,
int __base) ;
extern unsigned long int strtoul (__const char *__nptr,
char **__endptr, int __base) ;
extern long long int strtoq (__const char *__nptr, char **__endptr,
int __base) ;
extern unsigned long long int strtouq (__const char *__nptr,
char **__endptr, int __base) ;
extern long long int strtoll (__const char *__nptr, char **__endptr,
int __base) ;
extern unsigned long long int strtoull (__const char *__nptr,
char **__endptr, int __base) ;
extern double __strtod_internal (__const char *__nptr,
char **__endptr, int __group) ;
extern float __strtof_internal (__const char *__nptr, char **__endptr,
int __group) ;
extern long double __strtold_internal (__const char *__nptr,
char **__endptr, int __group) ;
extern long int __strtol_internal (__const char *__nptr, char **__endptr,
int __base, int __group) ;
extern unsigned long int __strtoul_internal (__const char *__nptr,
char **__endptr, int __base,
int __group) ;
extern long long int __strtoq_internal (__const char *__nptr,
char **__endptr, int __base,
int __group) ;
extern unsigned long long int __strtouq_internal (__const char *__nptr,
char **__endptr,
int __base,
int __group) ;
extern __inline double strtod (__const char *__nptr, char **__endptr)
{ return __strtod_internal (__nptr, __endptr, 0); }
extern __inline long int strtol (__const char *__nptr,
char **__endptr, int __base)
{ return __strtol_internal (__nptr, __endptr, __base, 0); }
extern __inline unsigned long int strtoul (__const char *__nptr,
char **__endptr, int __base)
{ return __strtoul_internal (__nptr, __endptr, __base, 0); }
extern __inline long long int strtoq (__const char *__nptr, char **__endptr,
int __base)
{ return __strtoq_internal (__nptr, __endptr, __base, 0); }
extern __inline unsigned long long int strtouq (__const char *__nptr,
char **__endptr, int __base)
{ return __strtouq_internal (__nptr, __endptr, __base, 0); }
extern __inline long long int strtoll (__const char *__nptr, char **__endptr,
int __base)
{ return __strtoq_internal (__nptr, __endptr, __base, 0); }
extern __inline unsigned long long int strtoull (__const char *__nptr,
char **__endptr, int __base)
{ return __strtouq_internal (__nptr, __endptr, __base, 0); }
extern __inline double atof (__const char *__nptr)
{ return strtod (__nptr, (char **) ((void *)0) ); }
extern __inline int atoi (__const char *__nptr)
{ return (int) strtol (__nptr, (char **) ((void *)0) , 10); }
extern __inline long int atol (__const char *__nptr)
{ return strtol (__nptr, (char **) ((void *)0) , 10); }
extern __inline long long int atoll (__const char *__nptr)
{ return strtoll (__nptr, (char **) ((void *)0) , 10); }
extern char *l64a (long int __n) ;
extern long int a64l (__const char *__s) ;
extern int32_t __random (void) ;
extern int32_t random (void) ;
extern void __srandom (unsigned int __seed) ;
extern void srandom (unsigned int __seed) ;
extern void * __initstate (unsigned int __seed, void * __statebuf,
size_t __statelen) ;
extern void * initstate (unsigned int __seed, void * __statebuf,
size_t __statelen) ;
extern void * __setstate (void * __statebuf) ;
extern void * setstate (void * __statebuf) ;
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 *__buf, int32_t *__result) ;
extern int random_r (struct random_data *__buf, int32_t *__result) ;
extern int __srandom_r (unsigned int __seed, struct random_data *__buf) ;
extern int srandom_r (unsigned int __seed, struct random_data *__buf) ;
extern int __initstate_r (unsigned int __seed, void * __statebuf,
size_t __statelen, struct random_data *__buf) ;
extern int initstate_r (unsigned int __seed, void * __statebuf,
size_t __statelen, struct random_data *__buf) ;
extern int __setstate_r (void * __statebuf, struct random_data *__buf) ;
extern int setstate_r (void * __statebuf, struct random_data *__buf) ;
extern int rand (void) ;
extern void srand (unsigned int __seed) ;
extern int __rand_r (unsigned int *__seed) ;
extern int rand_r (unsigned int *__seed) ;
extern double drand48 (void) ;
extern double erand48 (unsigned short int __xsubi[3]) ;
extern long lrand48 (void) ;
extern long nrand48 (unsigned short int __xsubi[3]) ;
extern long mrand48 (void) ;
extern long jrand48 (unsigned short int __xsubi[3]) ;
extern void srand48 (long __seedval) ;
extern unsigned short int *seed48 (unsigned short int __seed16v[3]) ;
extern void lcong48 (unsigned short int __param[7]) ;
struct drand48_data
{
unsigned short int X[3];
unsigned short int a[3];
unsigned short int c;
unsigned short int old_X[3];
int init;
};
extern int drand48_r (struct drand48_data *__buffer, double *__result) ;
extern int erand48_r (unsigned short int __xsubi[3],
struct drand48_data *__buffer, double *__result) ;
extern int lrand48_r (struct drand48_data *__buffer, long *__result) ;
extern int nrand48_r (unsigned short int __xsubi[3],
struct drand48_data *__buffer, long *__result) ;
extern int mrand48_r (struct drand48_data *__buffer, long *__result) ;
extern int jrand48_r (unsigned short int __xsubi[3],
struct drand48_data *__buffer, long *__result) ;
extern int srand48_r (long __seedval, struct drand48_data *__buffer) ;
extern int seed48_r (unsigned short int __seed16v[3],
struct drand48_data *__buffer) ;
extern int lcong48_r (unsigned short int __param[7],
struct drand48_data *__buffer) ;
extern int __drand48_iterate (unsigned short int __xsubi[3],
struct drand48_data *__buffer) ;
extern void * malloc (size_t __size) ;
extern void * realloc (void * __ptr, size_t __size) ;
extern void * calloc (size_t __nmemb, size_t __size) ;
extern void free (void * __ptr) ;
extern void cfree (void * __ptr) ;
# 1 "/usr/include/alloca.h" 1 3
# 1 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 1 3
# 19 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 61 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 126 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 182 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 256 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 302 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 25 "/usr/include/alloca.h" 2 3
extern void * __alloca (size_t __size) ;
extern void * alloca (size_t __size) ;
# 360 "/usr/include/stdlib.h" 2 3
extern void * valloc (size_t __size) ;
extern void abort (void) __attribute__ ((__noreturn__));
extern int atexit (void (*__func) (void)) ;
extern int __on_exit (void (*__func) (int __status, void * __arg),
void * __arg) ;
extern int on_exit (void (*__func) (int __status, void * __arg),
void * __arg) ;
extern void exit (int __status) __attribute__ ((__noreturn__));
extern char *getenv (__const char *__name) ;
extern char *__secure_getenv (__const char *__name) ;
extern int putenv (__const char *__string) ;
extern int setenv (__const char *__name, __const char *__value,
int __replace) ;
extern void unsetenv (__const char *__name) ;
extern int __clearenv (void) ;
extern int clearenv (void) ;
extern char *mktemp (char *__template) ;
extern int mkstemp (char *__template) ;
extern int system (__const char *__command) ;
extern char *realpath (__const char *__name, char *__resolved) ;
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) ;
extern void qsort (void * __base, size_t __nmemb, size_t __size,
__compar_fn_t __compar) ;
extern int abs (int __x) __attribute__ ((__const__));
extern long int labs (long int __x) __attribute__ ((__const__));
extern div_t div (int __numer, int __denom) __attribute__ ((__const__));
extern ldiv_t ldiv (long int __numer, long int __denom) __attribute__ ((__const__));
extern char *ecvt (double __value, int __ndigit, int *__decpt,
int *__sign) ;
extern char *fcvt (double __value, int __ndigit, int *__decpt,
int *__sign) ;
extern char *gcvt (double __value, int __ndigit, char *__buf) ;
extern char *qecvt (long double __value, int __ndigit, int *__decpt,
int *__sign) ;
extern char *qfcvt (long double __value, int __ndigit, int *__decpt,
int *__sign) ;
extern char *qgcvt (long double __value, int __ndigit, char *__buf) ;
extern int ecvt_r (double __value, int __ndigit, int *__decpt,
int *__sign, char *__buf, size_t __len) ;
extern int fcvt_r (double __value, int __ndigit, int *__decpt,
int *__sign, char *__buf, size_t __len) ;
extern int qecvt_r (long double __value, int __ndigit, int *__decpt,
int *__sign, char *__buf, size_t __len) ;
extern int qfcvt_r (long double __value, int __ndigit, int *__decpt,
int *__sign, char *__buf, size_t __len) ;
extern int mblen (__const char *__s, size_t __n) ;
extern int mbtowc (wchar_t *__pwc, __const char *__s, size_t __n) ;
extern int wctomb (char *__s, wchar_t __wchar) ;
extern size_t mbstowcs (wchar_t *__pwcs, __const char *__s, size_t __n) ;
extern size_t wcstombs (char *__s, __const wchar_t *__pwcs, size_t __n) ;
extern int rpmatch (__const char *__response) ;
# 582 "/usr/include/stdlib.h" 3
# 168 "../include/pi-config.h" 2
# 1 "/usr/include/netinet/in.h" 1 3
# 1 "/usr/include/sys/socket.h" 1 3
# 1 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 1 3
# 19 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 61 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 126 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 182 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 256 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 302 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 28 "/usr/include/sys/socket.h" 2 3
# 1 "/usr/include/socketbits.h" 1 3
# 1 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 1 3
# 19 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 61 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 126 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 182 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 256 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 302 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 27 "/usr/include/socketbits.h" 2 3
typedef unsigned int socklen_t;
enum __socket_type
{
SOCK_STREAM = 1,
SOCK_DGRAM = 2,
SOCK_RAW = 3,
SOCK_RDM = 4,
SOCK_SEQPACKET = 5,
SOCK_PACKET = 10
};
# 1 "/usr/include/sockaddrcom.h" 1 3
typedef unsigned short int sa_family_t;
# 123 "/usr/include/socketbits.h" 2 3
struct sockaddr
{
sa_family_t sa_family ;
char sa_data[14];
};
enum
{
MSG_OOB = 0x01,
MSG_PEEK = 0x02,
MSG_DONTROUTE = 0x04,
MSG_CTRUNC = 0x08,
MSG_PROXY = 0x10
};
struct msghdr
{
void * msg_name;
socklen_t msg_namelen;
struct iovec *msg_iov;
size_t msg_iovlen;
void * msg_control;
size_t msg_controllen;
int msg_flags;
};
struct cmsghdr
{
size_t cmsg_len;
int cmsg_level;
int cmsg_type;
unsigned char __cmsg_data[0];
};
extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr,
struct cmsghdr *__cmsg) ;
extern __inline struct cmsghdr *
__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg)
{
unsigned char *__p;
if ((size_t) __cmsg->cmsg_len < sizeof (struct cmsghdr))
return ((void *)0) ;
__p = (((unsigned char *) __cmsg)
+ ((__cmsg->cmsg_len + sizeof (long int) - 1) & ~sizeof (long int)));
if (__p >= (unsigned char *) __mhdr->msg_control + __mhdr->msg_controllen)
return ((void *)0) ;
return (struct cmsghdr *) __p;
}
enum
{
SCM_RIGHTS = 0x01,
__SCM_CREDENTIALS = 0x02,
__SCM_CONNECT = 0x03
};
# 1 "/usr/include/asm/socket.h" 1 3
# 1 "/usr/include/asm/sockios.h" 1 3
# 4 "/usr/include/asm/socket.h" 2 3
# 222 "/usr/include/socketbits.h" 2 3
struct linger
{
int l_onoff;
int l_linger;
};
# 34 "/usr/include/sys/socket.h" 2 3
struct osockaddr
{
unsigned short int sa_family;
unsigned char sa_data[14];
};
# 73 "/usr/include/sys/socket.h" 3
typedef union { struct sockaddr *__sockaddr__; struct sockaddr_at *__sockaddr_at__; struct sockaddr_ax25 *__sockaddr_ax25__; struct sockaddr_dl *__sockaddr_dl__; struct sockaddr_eon *__sockaddr_eon__; struct sockaddr_in *__sockaddr_in__; struct sockaddr_in6 *__sockaddr_in6__; struct sockaddr_inarp *__sockaddr_inarp__; struct sockaddr_ipx *__sockaddr_ipx__; struct sockaddr_iso *__sockaddr_iso__; struct sockaddr_ns *__sockaddr_ns__; struct sockaddr_un *__sockaddr_un__; struct sockaddr_x25 *__sockaddr_x25__;
} __SOCKADDR_ARG __attribute__ ((__transparent_union__));
typedef union { __const struct sockaddr *__sockaddr__; __const struct sockaddr_at *__sockaddr_at__; __const struct sockaddr_ax25 *__sockaddr_ax25__; __const struct sockaddr_dl *__sockaddr_dl__; __const struct sockaddr_eon *__sockaddr_eon__; __const struct sockaddr_in *__sockaddr_in__; __const struct sockaddr_in6 *__sockaddr_in6__; __const struct sockaddr_inarp *__sockaddr_inarp__; __const struct sockaddr_ipx *__sockaddr_ipx__; __const struct sockaddr_iso *__sockaddr_iso__; __const struct sockaddr_ns *__sockaddr_ns__; __const struct sockaddr_un *__sockaddr_un__; __const struct sockaddr_x25 *__sockaddr_x25__;
} __CONST_SOCKADDR_ARG __attribute__ ((__transparent_union__));
extern int socket (int __domain, int __type, int __protocol) ;
extern int socketpair (int __domain, int __type, int __protocol,
int __fds[2]) ;
extern int bind (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len) ;
extern int getsockname (int __fd, __SOCKADDR_ARG __addr,
socklen_t *__len) ;
extern int __connect (int __fd,
__CONST_SOCKADDR_ARG __addr, socklen_t __len) ;
extern int connect (int __fd,
__CONST_SOCKADDR_ARG __addr, socklen_t __len) ;
extern int getpeername (int __fd, __SOCKADDR_ARG __addr,
socklen_t *__len) ;
extern int __send (int __fd, __const void * __buf, size_t __n,
int __flags) ;
extern int send (int __fd, __const void * __buf, size_t __n,
int __flags) ;
extern int recv (int __fd, void * __buf, size_t __n, int __flags) ;
extern int sendto (int __fd, __const void * __buf, size_t __n,
int __flags, __CONST_SOCKADDR_ARG __addr,
socklen_t __addr_len) ;
extern int recvfrom (int __fd, void * __buf, size_t __n, int __flags,
__SOCKADDR_ARG __addr, socklen_t *__addr_len) ;
extern int sendmsg (int __fd, __const struct msghdr *__message,
int __flags) ;
extern int recvmsg (int __fd, struct msghdr *__message, int __flags) ;
extern int getsockopt (int __fd, int __level, int __optname,
void * __optval, socklen_t *__optlen) ;
extern int setsockopt (int __fd, int __level, int __optname,
void * __optval, socklen_t __optlen) ;
extern int listen (int __fd, unsigned int __n) ;
extern int accept (int __fd, __SOCKADDR_ARG __addr,
socklen_t *__addr_len) ;
extern int shutdown (int __fd, int __how) ;
extern int isfdtype (int __fd, int __fdtype) ;
# 24 "/usr/include/netinet/in.h" 2 3
enum
{
IPPROTO_IP = 0,
IPPROTO_ICMP = 1,
IPPROTO_IGMP = 2,
IPPROTO_IPIP = 4,
IPPROTO_TCP = 6,
IPPROTO_EGP = 8,
IPPROTO_PUP = 12,
IPPROTO_UDP = 17,
IPPROTO_IDP = 22,
IPPROTO_IPV6 = 41,
IPPROTO_ICMPV6 = 58,
IPPROTO_RAW = 255,
IPPROTO_MAX
};
enum
{
IPPORT_ECHO = 7,
IPPORT_DISCARD = 9,
IPPORT_SYSTAT = 11,
IPPORT_DAYTIME = 13,
IPPORT_NETSTAT = 15,
IPPORT_FTP = 21,
IPPORT_TELNET = 23,
IPPORT_SMTP = 25,
IPPORT_TIMESERVER = 37,
IPPORT_NAMESERVER = 42,
IPPORT_WHOIS = 43,
IPPORT_MTP = 57,
IPPORT_TFTP = 69,
IPPORT_RJE = 77,
IPPORT_FINGER = 79,
IPPORT_TTYLINK = 87,
IPPORT_SUPDUP = 95,
IPPORT_EXECSERVER = 512,
IPPORT_LOGINSERVER = 513,
IPPORT_CMDSERVER = 514,
IPPORT_EFSSERVER = 520,
IPPORT_BIFFUDP = 512,
IPPORT_WHOSERVER = 513,
IPPORT_ROUTESERVER = 520,
IPPORT_RESERVED = 1024,
IPPORT_USERRESERVED = 5000
};
struct in_addr
{
unsigned int s_addr;
};
struct sockaddr_in
{
sa_family_t sin_family ;
unsigned short int sin_port;
struct in_addr sin_addr;
unsigned char sin_zero[sizeof(struct sockaddr) -
(sizeof (unsigned short int)) -
sizeof(unsigned short int) -
sizeof(struct in_addr)];
};
struct ip_opts
{
struct in_addr ip_dst;
char ip_opts[40];
};
struct ip_mreq
{
struct in_addr imr_multiaddr;
struct in_addr imr_interface;
};
extern u_int32_t ntohl (u_int32_t __netlong) ;
extern u_int16_t ntohs (u_int16_t __netshort) ;
extern u_int32_t htonl (u_int32_t __hostlong) ;
extern u_int16_t htons (u_int16_t __hostshort) ;
extern int bindresvport (int __sockfd, struct sockaddr_in *__sin) ;
# 172 "../include/pi-config.h" 2
# 1 "/usr/include/sys/ioctl.h" 1 3
# 1 "/usr/include/ioctls.h" 1 3
# 1 "/usr/include/asm/ioctls.h" 1 3
# 1 "/usr/include/asm/ioctl.h" 1 3
# 4 "/usr/include/asm/ioctls.h" 2 3
# 23 "/usr/include/ioctls.h" 2 3
# 1 "/usr/include/sys/kernel_termios.h" 1 3
# 1 "/usr/include/termbits.h" 1 3
typedef unsigned char cc_t;
typedef unsigned int speed_t;
typedef unsigned int tcflag_t;
struct termios
{
tcflag_t c_iflag;
tcflag_t c_oflag;
tcflag_t c_cflag;
tcflag_t c_lflag;
cc_t c_cc[32 ];
cc_t c_line;
speed_t c_ispeed;
speed_t c_ospeed;
};
# 6 "/usr/include/sys/kernel_termios.h" 2 3
struct __kernel_termios
{
tcflag_t c_iflag;
tcflag_t c_oflag;
tcflag_t c_cflag;
tcflag_t c_lflag;
cc_t c_cc[19 ];
cc_t c_line;
speed_t c_ispeed;
speed_t c_ospeed;
};
# 24 "/usr/include/ioctls.h" 2 3
# 1 "/usr/include/linux/sockios.h" 1 3
# 37 "/usr/include/ioctls.h" 2 3
# 27 "/usr/include/sys/ioctl.h" 2 3
# 1 "/usr/include/ioctl-types.h" 1 3
struct winsize
{
unsigned short int ws_row;
unsigned short int ws_col;
unsigned short int ws_xpixel;
unsigned short int ws_ypixel;
};
struct termio
{
unsigned short int c_iflag;
unsigned short int c_oflag;
unsigned short int c_cflag;
unsigned short int c_lflag;
unsigned char c_line;
unsigned char c_cc[8 ];
};
# 30 "/usr/include/sys/ioctl.h" 2 3
# 1 "/usr/include/sys/ttydefaults.h" 1 3
# 37 "/usr/include/sys/ioctl.h" 2 3
extern int __ioctl (int __fd, unsigned long int __request, ...) ;
extern int ioctl (int __fd, unsigned long int __request, ...) ;
# 176 "../include/pi-config.h" 2
# 1 "/usr/include/netdb.h" 1 3
# 1 "/usr/include/rpc/netdb.h" 1 3
# 1 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 1 3
# 19 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 61 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 126 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 182 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 256 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 302 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 42 "/usr/include/rpc/netdb.h" 2 3
struct rpcent
{
char *r_name;
char **r_aliases;
int r_number;
};
extern struct rpcent *getrpcbyname (__const char *__name) ;
extern struct rpcent *getrpcbynumber (int __number) ;
extern struct rpcent *getrpcent (void) ;
extern int getrpcbyname_r (__const char *__name,
struct rpcent *__result_buf, char *__buffer,
size_t __buflen, struct rpcent **__result) ;
extern int getrpcbynumber_r (int __number, struct rpcent *__result_buf,
char *__buffer, size_t __buflen,
struct rpcent **__result) ;
extern int getrpcent_r (struct rpcent *__result_buf, char *__buffer,
size_t __buflen, struct rpcent **__result) ;
# 30 "/usr/include/netdb.h" 2 3
# 1 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 1 3
# 19 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 61 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 126 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 182 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 256 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 302 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 32 "/usr/include/netdb.h" 2 3
extern int h_errno;
extern int *__h_errno_location (void) __attribute__ ((__const__));
# 63 "/usr/include/netdb.h" 3
extern void herror (__const char *__str) ;
extern __const char *hstrerror (int __err_num) ;
struct hostent
{
char *h_name;
char **h_aliases;
int h_addrtype;
int h_length;
char **h_addr_list;
};
extern void sethostent (int __stay_open) ;
extern void endhostent (void) ;
extern struct hostent *gethostent (void) ;
extern struct hostent *gethostbyaddr (__const char *__addr, int __len,
int __type) ;
extern struct hostent *gethostbyname (__const char *__name) ;
extern struct hostent *gethostbyname2 (__const char *__name, int __af) ;
extern int __gethostent_r (struct hostent *__result_buf, char *__buf,
size_t __buflen, struct hostent **__result,
int *__h_errnop) ;
extern int gethostent_r (struct hostent *__result_buf, char *__buf,
size_t __buflen, struct hostent **__result,
int *__h_errnop) ;
extern int __gethostbyaddr_r (__const char *__addr, int __len, int __type,
struct hostent *__result_buf, char *__buf,
size_t __buflen, struct hostent **__result,
int *__h_errnop) ;
extern int gethostbyaddr_r (__const char *__addr, int __len, int __type,
struct hostent *__result_buf, char *__buf,
size_t __buflen, struct hostent **__result,
int *__h_errnop) ;
extern int __gethostbyname_r (__const char *__name,
struct hostent *__result_buf, char *__buf,
size_t __buflen, struct hostent **__result,
int *__h_errnop) ;
extern int gethostbyname_r (__const char *__name,
struct hostent *__result_buf, char *__buf,
size_t __buflen, struct hostent **__result,
int *__h_errnop) ;
extern int __gethostbyname2_r (__const char *__name, int __af,
struct hostent *__result_buf, char *__buf,
size_t __buflen, struct hostent **__result,
int *__h_errnop) ;
extern int gethostbyname2_r (__const char *__name, int __af,
struct hostent *__result_buf, char *__buf,
size_t __buflen, struct hostent **__result,
int *__h_errnop) ;
struct netent
{
char *n_name;
char **n_aliases;
int n_addrtype;
unsigned long int n_net;
};
extern void setnetent (int __stay_open) ;
extern void endnetent (void) ;
extern struct netent *getnetent (void) ;
extern struct netent *getnetbyaddr (unsigned long int __net,
int __type) ;
extern struct netent *getnetbyname (__const char *__name) ;
extern int __getnetent_r (struct netent *__result_buf, char *__buf,
size_t __buflen, struct netent **__result,
int *__h_errnop) ;
extern int getnetent_r (struct netent *__result_buf, char *__buf,
size_t __buflen, struct netent **__result,
int *__h_errnop) ;
extern int __getnetbyaddr_r (unsigned long int __net, int __type,
struct netent *__result_buf, char *__buf,
size_t __buflen, struct netent **__result,
int *__h_errnop) ;
extern int getnetbyaddr_r (unsigned long int __net, int __type,
struct netent *__result_buf, char *__buf,
size_t __buflen, struct netent **__result,
int *__h_errnop) ;
extern int __getnetbyname_r (__const char *__name,
struct netent *__result_buf, char *__buf,
size_t __buflen, struct netent **__result,
int *__h_errnop) ;
extern int getnetbyname_r (__const char *__name,
struct netent *__result_buf, char *__buf,
size_t __buflen, struct netent **__result,
int *__h_errnop) ;
struct servent
{
char *s_name;
char **s_aliases;
int s_port;
char *s_proto;
};
extern void setservent (int __stay_open) ;
extern void endservent (void) ;
extern struct servent *getservent (void) ;
extern struct servent *getservbyname (__const char *__name,
__const char *__proto) ;
extern struct servent *getservbyport (int __port, __const char *__proto) ;
extern int __getservent_r (struct servent *__result_buf, char *__buf,
size_t __buflen, struct servent **__result) ;
extern int getservent_r (struct servent *__result_buf, char *__buf,
size_t __buflen, struct servent **__result) ;
extern int __getservbyname_r (__const char *__name, __const char *__proto,
struct servent *__result_buf, char *__buf,
size_t __buflen,
struct servent **__result) ;
extern int getservbyname_r (__const char *__name, __const char *__proto,
struct servent *__result_buf, char *__buf,
size_t __buflen, struct servent **__result) ;
extern int __getservbyport_r (int __port, __const char *__proto,
struct servent *__result_buf, char *__buf,
size_t __buflen,
struct servent **__result) ;
extern int getservbyport_r (int __port, __const char *__proto,
struct servent *__result_buf, char *__buf,
size_t __buflen, struct servent **__result) ;
struct protoent
{
char *p_name;
char **p_aliases;
int p_proto;
};
extern void setprotoent (int __stay_open) ;
extern void endprotoent (void) ;
extern struct protoent *getprotoent (void) ;
extern struct protoent *getprotobyname (__const char *__name) ;
extern struct protoent *getprotobynumber (int __proto) ;
extern int __getprotoent_r (struct protoent *__result_buf, char *__buf,
size_t __buflen, struct protoent **__result) ;
extern int getprotoent_r (struct protoent *__result_buf, char *__buf,
size_t __buflen, struct protoent **__result) ;
extern int __getprotobyname_r (__const char *__name,
struct protoent *__result_buf, char *__buf,
size_t __buflen,
struct protoent **__result) ;
extern int getprotobyname_r (__const char *__name,
struct protoent *__result_buf, char *__buf,
size_t __buflen,
struct protoent **__result) ;
extern int __getprotobynumber_r (int __proto, struct protoent *__res_buf,
char *__buf, size_t __buflen,
struct protoent **__result) ;
extern int getprotobynumber_r (int __proto, struct protoent *__result_buf,
char *__buf, size_t __buflen,
struct protoent **__result) ;
extern int setnetgrent (__const char *__netgroup) ;
extern void endnetgrent (void) ;
extern int getnetgrent (char **__hostp, char **__userp,
char **__domainp) ;
extern int innetgr (__const char *__netgroup, __const char *__host,
__const char *__user, __const char *domain) ;
extern int __getnetgrent_r (char **__hostp, char **__userp,
char **__domainp,
char *__buffer, size_t __buflen) ;
extern int getnetgrent_r (char **__hostp, char **__userp,
char **__domainp,
char *__buffer, size_t __buflen) ;
extern int rcmd (char **__ahost, unsigned short int __rport,
__const char *__locuser, __const char *__remuser,
__const char *__cmd, int *__fd2p) ;
extern int rexec (char **__ahost, int __rport, __const char *__name,
__const char *__pass, __const char *__cmd,
int *__fd2p) ;
extern int ruserok (__const char *__rhost, int __suser,
__const char *__remuser, __const char *__locuser) ;
extern int rresvport (int *__alport) ;
struct addrinfo
{
int ai_flags;
int ai_family;
int ai_socktype;
int ai_protocol;
int ai_addrlen;
struct sockaddr *ai_addr;
char *ai_canonname;
struct addrinfo *ai_next;
};
extern int getaddrinfo (__const char *__name, __const char *__service,
__const struct addrinfo *__req,
struct addrinfo **__pai) ;
extern void freeaddrinfo (struct addrinfo *__ai) ;
# 184 "../include/pi-config.h" 2
# 1 "/usr/include/sys/utsname.h" 1 3
# 1 "/usr/include/utsnamelen.h" 1 3
# 30 "/usr/include/sys/utsname.h" 2 3
struct utsname
{
char sysname[65 ];
char nodename[65 ];
char release[65 ];
char version[65 ];
char machine[65 ];
char __domainname[65 ];
};
extern int uname (struct utsname *__name) ;
# 188 "../include/pi-config.h" 2
# 1 "/usr/include/dirent.h" 1 3
# 1 "/usr/include/direntry.h" 1 3
struct dirent
{
long int d_ino;
__off_t d_off;
unsigned short int d_reclen;
unsigned char d_type;
char d_name[256];
};
# 47 "/usr/include/dirent.h" 2 3
enum
{
DT_UNKNOWN = 0,
DT_FIFO = 1,
DT_CHR = 2,
DT_DIR = 4,
DT_BLK = 6,
DT_REG = 8,
DT_LNK = 10,
DT_SOCK = 12
};
typedef struct __dirstream DIR;
extern DIR *__opendir (__const char *__name) ;
extern DIR *opendir (__const char *__name) ;
extern int __closedir (DIR *__dirp) ;
extern int closedir (DIR *__dirp) ;
extern struct dirent *__readdir (DIR *__dirp) ;
extern struct dirent *readdir (DIR *__dirp) ;
extern int __readdir_r (DIR *__dirp, struct dirent *__entry,
struct dirent **__result) ;
extern int readdir_r (DIR *__dirp, struct dirent *__entry,
struct dirent **__result) ;
extern void rewinddir (DIR *__dirp) ;
extern int dirfd (DIR *__dirp) ;
# 1 "/usr/include/posix1_lim.h" 1 3
# 1 "/usr/include/local_lim.h" 1 3
# 1 "/usr/include/linux/limits.h" 1 3
# 21 "/usr/include/local_lim.h" 2 3
# 92 "/usr/include/posix1_lim.h" 2 3
# 153 "/usr/include/dirent.h" 2 3
# 1 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 1 3
# 19 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 61 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 126 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 182 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 256 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 302 "/usr/lib/gcc-lib/alpha-linux/egcs-2.90.25/include/stddef.h" 3
# 165 "/usr/include/dirent.h" 2 3
extern void seekdir (DIR *__dirp, __off_t __pos) ;
extern __off_t telldir (DIR *__dirp) ;
extern int scandir (__const char *__dir,
struct dirent ***__namelist,
int (*__selector) (struct dirent *) ,
int (*__cmp) (__const void * ,
__const void * ) ) ;
extern int alphasort (__const void * , __const void * ) ;
extern __ssize_t __getdirentries (int __fd, char *__buf,
size_t __nbytes, __off_t *__basep) ;
extern __ssize_t getdirentries (int __fd, char *__buf,
size_t __nbytes, __off_t *__basep) ;
# 196 "../include/pi-config.h" 2
# 210 "../include/pi-config.h"
# 1 "/usr/include/errno.h" 1 3
# 1 "/usr/include/errnos.h" 1 3
# 1 "/usr/include/linux/errno.h" 1 3
# 1 "/usr/include/asm/errno.h" 1 3
# 4 "/usr/include/linux/errno.h" 2 3
# 14 "/usr/include/linux/errno.h" 3
# 24 "/usr/include/errnos.h" 2 3
extern int errno;
extern int *__errno_location (void) __attribute__ ((__const__));
# 44 "/usr/include/errnos.h" 3
# 36 "/usr/include/errno.h" 2 3
# 63 "/usr/include/errno.h" 3
# 250 "../include/pi-config.h" 2
# 1 "/usr/include/arpa/inet.h" 1 3
extern u_int32_t inet_addr (__const char *__cp) ;
extern int inet_aton (__const char *__cp, struct in_addr *__inp) ;
extern u_int32_t inet_lnaof (struct in_addr __in) ;
extern struct in_addr inet_makeaddr (u_int32_t __net, u_int32_t __host) ;
extern char *inet_neta (u_int32_t __net, char *__buf, size_t __len) ;
extern u_int32_t inet_netof (struct in_addr __in) ;
extern u_int32_t inet_network (__const char *__cp) ;
extern char *inet_net_ntop (int __af, __const void *__cp, int __bits,
char *__buf, size_t __len) ;
extern int inet_net_pton (int __af, __const char *__cp,
void *__buf, size_t __len) ;
extern char *inet_ntoa (struct in_addr __in) ;
extern int inet_pton (int __af, __const char *__cp, void *__buf) ;
extern __const char *inet_ntop (int __af, __const void *__cp,
char *__buf, size_t __len) ;
extern unsigned int inet_nsap_addr (__const char *__cp,
unsigned char *__buf, int __len) ;
extern char *inet_nsap_ntoa (int __len, __const unsigned char *__cp,
char *__buf) ;
# 270 "../include/pi-config.h" 2
# 38 "../include/pi-source.h" 2
# 1 "/usr/include/termios.h" 1 3
extern speed_t cfgetospeed (__const struct termios *__termios_p) ;
extern speed_t cfgetispeed (__const struct termios *__termios_p) ;
extern int cfsetospeed (struct termios *__termios_p, speed_t __speed) ;
extern int cfsetispeed (struct termios *__termios_p, speed_t __speed) ;
extern int cfsetspeed (struct termios *__termios_p, speed_t __speed) ;
extern int __tcgetattr (int __fd, struct termios *__termios_p) ;
extern int tcgetattr (int __fd, struct termios *__termios_p) ;
extern int tcsetattr (int __fd, int __optional_actions,
__const struct termios *__termios_p) ;
extern void cfmakeraw (struct termios *__termios_p) ;
extern int tcsendbreak (int __fd, int __duration) ;
extern int tcdrain (int __fd) ;
extern int tcflush (int __fd, int __queue_selector) ;
extern int tcflow (int __fd, int __action) ;
# 1 "/usr/include/sys/ttydefaults.h" 1 3
# 92 "/usr/include/sys/ttydefaults.h" 3
# 89 "/usr/include/termios.h" 2 3
# 44 "../include/pi-source.h" 2
# 1 "../include/pi-socket.h" 1
# 1 "../include/pi-args.h" 1
# 4 "../include/pi-socket.h" 2
# 1 "../include/pi-version.h" 1
# 10 "../include/pi-socket.h" 2
# 1 "../include/pi-sockaddr.h" 1
struct pi_sockaddr {
unsigned short pi_family;
char pi_device[14];
};
# 29 "../include/pi-socket.h" 2
struct pi_skb;
struct pi_mac;
struct pi_socket;
struct sockaddr;
extern int pi_socket (int domain, int type, int protocol) ;
extern int pi_connect (int pi_sd, struct sockaddr *remote_addr, int addrlen) ;
extern int pi_bind (int pi_sd, struct sockaddr *my_addr, int addrlen) ;
extern int pi_listen (int pi_sd, int backlog) ;
extern int pi_accept (int pi_sd, struct sockaddr *remote_addr, int *addrlen) ;
extern int pi_send (int pi_sd, void *msg, int len, unsigned int flags) ;
extern int pi_recv (int pi_sd, void *msg, int len, unsigned int flags) ;
extern int pi_read (int pi_sd, void *msg, int len) ;
extern int pi_write (int pi_sd, void *msg, int len) ;
extern int pi_getsockname (int pi_sd, struct sockaddr * addr, int * namelen) ;
extern int pi_getsockpeer (int pi_sd, struct sockaddr * addr, int * namelen) ;
extern int pi_version (int pi_sd) ;
extern int pi_tickle (int pi_sd) ;
extern int pi_watchdog (int pi_sd, int interval) ;
extern int pi_close (int pi_sd) ;
# 51 "../include/pi-source.h" 2
# 1 "../include/pi-macros.h" 1
# 1 "../include/pi-args.h" 1
# 4 "../include/pi-macros.h" 2
typedef unsigned long recordid_t;
extern double get_float (void *) ;
extern void set_float (void *, double) ;
extern int compareTm (struct tm *a, struct tm *b) ;
# 279 "../include/pi-macros.h"
# 52 "../include/pi-source.h" 2
struct pi_skb {
struct pi_skb *next;
int len;
unsigned char source, dest, type, id;
unsigned char data[1038 ];
};
struct pi_mac {
int fd;
int state;
int expect;
int ref;
struct pi_skb *rxb;
unsigned char *buf;
};
struct sockaddr;
struct pi_socket {
struct sockaddr *laddr;
int laddrlen;
struct sockaddr *raddr;
int raddrlen;
int type;
int protocol;
unsigned char xid;
unsigned char nextid;
int sd;
int initiator;
struct pi_mac *mac;
struct termios tco;
struct pi_skb *txq;
struct pi_skb *rxq;
struct pi_socket *next;
int rate;
int establishrate;
int connected;
int accepted;
int majorversion;
int minorversion;
int tickle;
int busy;
int version;
int dlprecord;
int tx_packets;
int rx_packets;
int tx_bytes;
int rx_bytes;
int tx_errors;
int rx_errors;
char last_tid;
int (*socket_connect) (struct pi_socket*, struct sockaddr*, int) ;
int (*socket_listen) (struct pi_socket*, int) ;
int (*socket_accept) (struct pi_socket*, struct sockaddr*, int*) ;
int (*socket_close) (struct pi_socket*) ;
int (*socket_tickle) (struct pi_socket*) ;
int (*socket_bind) (struct pi_socket*, struct sockaddr*, int) ;
int (*socket_send) (struct pi_socket*, void * buf, int len, unsigned int flags) ;
int (*socket_recv) (struct pi_socket*, void * buf, int len, unsigned int flags) ;
int (*serial_close) (struct pi_socket*) ;
int (*serial_changebaud) (struct pi_socket*) ;
int (*serial_write) (struct pi_socket*) ;
int (*serial_read) (struct pi_socket*, int) ;
char * debuglog;
int debugfd;
};
# 1 "../include/pi-args.h" 1
# 137 "../include/pi-source.h" 2
extern void pi_socket_recognize (struct pi_socket*) ;
extern struct pi_socket *find_pi_socket (int sd) ;
extern int crc16 (unsigned char *ptr, int count) ;
extern char * printlong (unsigned long val) ;
extern unsigned long makelong (char * c) ;
extern void dumpline (const unsigned char *buf, int len, int addr) ;
extern void dumpdata (const unsigned char * buf, int len) ;
# 13 "syspkt.c" 2
# 1 "../include/pi-syspkt.h" 1
# 1 "../include/pi-args.h" 1
# 4 "../include/pi-syspkt.h" 2
struct Pilot_registers {
unsigned long A[7];
unsigned long D[8];
unsigned long USP, SSP;
unsigned long PC, SR;
};
struct Pilot_breakpoint {
unsigned long address;
int enabled;
};
struct Pilot_state {
struct Pilot_registers regs;
int reset;
int exception;
int instructions[30];
struct Pilot_breakpoint breakpoint[6];
unsigned long func_start, func_end;
char func_name[32];
int trap_rev;
};
struct Pilot_watch {
unsigned long address;
unsigned long length;
unsigned long checksum;
};
struct RPC_param {
int byRef;
int size;
int invert;
int arg;
void * data;
};
struct RPC_params {
int trap;
int reply;
int args;
struct RPC_param param[20];
};
extern int sys_RPCerror;
extern int sys_UnpackState (void * buffer, struct Pilot_state * s) ;
extern int sys_UnpackRegisters (void * buffer, struct Pilot_registers * r) ;
extern int syspkt_tx (struct pi_socket *ps, void *msg, int length) ;
extern int syspkt_rx (struct pi_socket *ps, void *buf, int len) ;
extern int sys_Continue (int sd, struct Pilot_registers * r, struct Pilot_watch * w) ;
extern int sys_Step (int sd) ;
extern int sys_QueryState (int sd) ;
extern int sys_ReadMemory (int sd, unsigned long addr, unsigned long len, void * buf) ;
extern int sys_WriteMemory (int sd, unsigned long addr, unsigned long len, void * buf) ;
extern int sys_ToggleDbgBreaks (int sd) ;
extern int sys_SetTrapBreaks (int sd, int * traps) ;
extern int sys_GetTrapBreaks (int sd, int * traps) ;
extern int sys_SetBreakpoints (int sd, struct Pilot_breakpoint * b) ;
extern int sys_Find (int sd, unsigned long startaddr, unsigned long stopaddr,
int len, int caseinsensitive, void * data, unsigned long * found) ;
extern int sys_RemoteEvent (int sd, int penDown, int x, int y, int keypressed,
int keymod, int keyasc, int keycode) ;
extern int sys_RPC (int sd, int socket, int trap, long * D0, long * A0, int params, struct RPC_param * param, int rep) ;
extern int RPC (int sd, int socket, int trap, int ret, ...) ;
extern void InvertRPC (struct RPC_params * p) ;
extern void UninvertRPC (struct RPC_params * p) ;
extern int PackRPC (struct RPC_params * p, int trap, int reply, ...) ;
extern unsigned long DoRPC (int sd, int socket, struct RPC_params * p, int * error) ;
extern int dlp_ProcessRPC (int sd, int trap, int ret, ...) ;
extern int RPC_Int_Void (int sd, int trap) ;
extern int RPC_Ptr_Void (int sd, int trap) ;
# 15 "syspkt.c" 2
# 1 "../include/pi-slp.h" 1
# 1 "../include/pi-args.h" 1
# 4 "../include/pi-slp.h" 2
struct slp {
unsigned char _be;
unsigned char _ef;
unsigned char _ed;
unsigned char dest;
unsigned char src;
unsigned char type;
unsigned short dlen;
unsigned char id;
unsigned char csum;
};
extern int slp_tx (struct pi_socket *ps, struct pi_skb *nskb, int len) ;
extern int slp_rx (struct pi_socket *ps) ;
extern void slp_dump (struct pi_skb *skb, int rxtx) ;
extern void dph (unsigned char *d) ;
# 16 "syspkt.c" 2
# 1 "../include/pi-serial.h" 1
# 1 "../include/pi-args.h" 1
# 4 "../include/pi-serial.h" 2
extern int pi_serial_connect (struct pi_socket *ps, struct sockaddr *addr, int addrlen) ;
extern int pi_serial_bind (struct pi_socket *ps, struct sockaddr *addr, int addrlen) ;
extern int pi_serial_open (struct pi_socket *ps, struct pi_sockaddr * addr, int addrlen) ;
extern int pi_serial_flush (struct pi_socket *ps) ;
# 17 "syspkt.c" 2
int sys_RPCerror;
int syspkt_tx(struct pi_socket *ps, void *m, int length)
{
struct pi_skb *nskb;
unsigned char * msg = m;
if ((!ps->xid) || (ps->xid==0xff)) ps->xid = 0x11;
ps->xid++;
ps->xid &= 0xff;
if ((!ps->xid) || (ps->xid==0xff)) ps->xid = 0x11;
nskb = (struct pi_skb *)malloc(sizeof(struct pi_skb));
nskb->source = msg[0];
nskb->dest = msg[1];
nskb->type = msg[2];
nskb->id = ps->xid;
memcpy(&nskb->data[10], msg+4, length-4);
slp_tx(ps, nskb, length-4);
pi_serial_flush(ps);
return 0;
}
int syspkt_rx(struct pi_socket *ps, void *b, int len)
{
struct pi_skb *skb;
unsigned char * buf = b;
int rlen =0;
if (!ps->rxq)
ps->serial_read(ps, 1);
if (!ps->rxq)
return 0;
skb = ps->rxq;
ps->rxq = skb->next;
rlen = skb->len-12;
buf[0] = skb->source;
buf[1] = skb->dest;
buf[2] = skb->type;
buf[3] = skb->id;
memcpy(buf+4, &skb->data[10], rlen);
free(skb);
return rlen+4;
}
int sys_UnpackState(void * buffer, struct Pilot_state * s)
{
int i;
unsigned char * data = buffer;
s->reset = ((unsigned short) ((((unsigned char*)( data ))[0] << 8) | (((unsigned char*)( data ))[1]))) ;
s->exception = ((unsigned short) ((((unsigned char*)( data+2 ))[0] << 8) | (((unsigned char*)( data+2 ))[1]))) ;
memcpy(s->func_name, data+152, 32);
memcpy(s->instructions, data+78, 30);
s->func_name[32-1] = 0;
s->func_start = ((unsigned long) ((((unsigned char*)( data+144 ))[0] << 24) | (((unsigned char*)( data+144 ))[1] << 16) | (((unsigned char*)( data+144 ))[2] << 8) | (((unsigned char*)( data+144 ))[3]))) ;
s->func_end = ((unsigned long) ((((unsigned char*)( data+148 ))[0] << 24) | (((unsigned char*)( data+148 ))[1] << 16) | (((unsigned char*)( data+148 ))[2] << 8) | (((unsigned char*)( data+148 ))[3]))) ;
sys_UnpackRegisters(data+4, &s->regs);
for (i=0;i<6;i++) {
s->breakpoint[i].address = ((unsigned long) ((((unsigned char*)( data+108+i*6 ))[0] << 24) | (((unsigned char*)( data+108+i*6 ))[1] << 16) | (((unsigned char*)( data+108+i*6 ))[2] << 8) | (((unsigned char*)( data+108+i*6 ))[3]))) ;
s->breakpoint[i].enabled = (((unsigned char*)( data+112+i*6 ))[0]) ;
}
s->trap_rev = ((unsigned short) ((((unsigned char*)( data+184 ))[0] << 8) | (((unsigned char*)( data+184 ))[1]))) ;
return 0;
}
int sys_UnpackRegisters(void * data, struct Pilot_registers * r)
{
unsigned char * buffer = data;
r->D[0] = ((unsigned long) ((((unsigned char*)( buffer+0 ))[0] << 24) | (((unsigned char*)( buffer+0 ))[1] << 16) | (((unsigned char*)( buffer+0 ))[2] << 8) | (((unsigned char*)( buffer+0 ))[3]))) ;
r->D[1] = ((unsigned long) ((((unsigned char*)( buffer+4 ))[0] << 24) | (((unsigned char*)( buffer+4 ))[1] << 16) | (((unsigned char*)( buffer+4 ))[2] << 8) | (((unsigned char*)( buffer+4 ))[3]))) ;
r->D[2] = ((unsigned long) ((((unsigned char*)( buffer+8 ))[0] << 24) | (((unsigned char*)( buffer+8 ))[1] << 16) | (((unsigned char*)( buffer+8 ))[2] << 8) | (((unsigned char*)( buffer+8 ))[3]))) ;
r->D[3] = ((unsigned long) ((((unsigned char*)( buffer+12 ))[0] << 24) | (((unsigned char*)( buffer+12 ))[1] << 16) | (((unsigned char*)( buffer+12 ))[2] << 8) | (((unsigned char*)( buffer+12 ))[3]))) ;
r->D[4] = ((unsigned long) ((((unsigned char*)( buffer+16 ))[0] << 24) | (((unsigned char*)( buffer+16 ))[1] << 16) | (((unsigned char*)( buffer+16 ))[2] << 8) | (((unsigned char*)( buffer+16 ))[3]))) ;
r->D[5] = ((unsigned long) ((((unsigned char*)( buffer+20 ))[0] << 24) | (((unsigned char*)( buffer+20 ))[1] << 16) | (((unsigned char*)( buffer+20 ))[2] << 8) | (((unsigned char*)( buffer+20 ))[3]))) ;
r->D[6] = ((unsigned long) ((((unsigned char*)( buffer+24 ))[0] << 24) | (((unsigned char*)( buffer+24 ))[1] << 16) | (((unsigned char*)( buffer+24 ))[2] << 8) | (((unsigned char*)( buffer+24 ))[3]))) ;
r->D[7] = ((unsigned long) ((((unsigned char*)( buffer+28 ))[0] << 24) | (((unsigned char*)( buffer+28 ))[1] << 16) | (((unsigned char*)( buffer+28 ))[2] << 8) | (((unsigned char*)( buffer+28 ))[3]))) ;
r->A[0] = ((unsigned long) ((((unsigned char*)( buffer+32 ))[0] << 24) | (((unsigned char*)( buffer+32 ))[1] << 16) | (((unsigned char*)( buffer+32 ))[2] << 8) | (((unsigned char*)( buffer+32 ))[3]))) ;
r->A[1] = ((unsigned long) ((((unsigned char*)( buffer+36 ))[0] << 24) | (((unsigned char*)( buffer+36 ))[1] << 16) | (((unsigned char*)( buffer+36 ))[2] << 8) | (((unsigned char*)( buffer+36 ))[3]))) ;
r->A[2] = ((unsigned long) ((((unsigned char*)( buffer+40 ))[0] << 24) | (((unsigned char*)( buffer+40 ))[1] << 16) | (((unsigned char*)( buffer+40 ))[2] << 8) | (((unsigned char*)( buffer+40 ))[3]))) ;
r->A[3] = ((unsigned long) ((((unsigned char*)( buffer+44 ))[0] << 24) | (((unsigned char*)( buffer+44 ))[1] << 16) | (((unsigned char*)( buffer+44 ))[2] << 8) | (((unsigned char*)( buffer+44 ))[3]))) ;
r->A[4] = ((unsigned long) ((((unsigned char*)( buffer+48 ))[0] << 24) | (((unsigned char*)( buffer+48 ))[1] << 16) | (((unsigned char*)( buffer+48 ))[2] << 8) | (((unsigned char*)( buffer+48 ))[3]))) ;
r->A[5] = ((unsigned long) ((((unsigned char*)( buffer+52 ))[0] << 24) | (((unsigned char*)( buffer+52 ))[1] << 16) | (((unsigned char*)( buffer+52 ))[2] << 8) | (((unsigned char*)( buffer+52 ))[3]))) ;
r->A[6] = ((unsigned long) ((((unsigned char*)( buffer+56 ))[0] << 24) | (((unsigned char*)( buffer+56 ))[1] << 16) | (((unsigned char*)( buffer+56 ))[2] << 8) | (((unsigned char*)( buffer+56 ))[3]))) ;
r->USP = ((unsigned long) ((((unsigned char*)( buffer+60 ))[0] << 24) | (((unsigned char*)( buffer+60 ))[1] << 16) | (((unsigned char*)( buffer+60 ))[2] << 8) | (((unsigned char*)( buffer+60 ))[3]))) ;
r->SSP = ((unsigned long) ((((unsigned char*)( buffer+64 ))[0] << 24) | (((unsigned char*)( buffer+64 ))[1] << 16) | (((unsigned char*)( buffer+64 ))[2] << 8) | (((unsigned char*)( buffer+64 ))[3]))) ;
r->PC = ((unsigned long) ((((unsigned char*)( buffer+68 ))[0] << 24) | (((unsigned char*)( buffer+68 ))[1] << 16) | (((unsigned char*)( buffer+68 ))[2] << 8) | (((unsigned char*)( buffer+68 ))[3]))) ;
r->SR = ((unsigned short) ((((unsigned char*)( buffer+72 ))[0] << 8) | (((unsigned char*)( buffer+72 ))[1]))) ;
return 0;
}
int sys_PackRegisters(void * data, struct Pilot_registers * r)
{
unsigned char * buffer = data;
int i;
for (i=0;i<8;i++)
((((unsigned char*)( buffer+i*4 ))[0] = (((unsigned long)( r->D[i] )) >> 24) & 0xff), (((unsigned char*)( buffer+i*4 ))[1] = (((unsigned long)( r->D[i] )) >> 16) & 0xff), (((unsigned char*)( buffer+i*4 ))[2] = (((unsigned long)( r->D[i] )) >> 8) & 0xff), (((unsigned char*)( buffer+i*4 ))[3] = (((unsigned long)( r->D[i] )) >> 0) & 0xff)) ;
for (i=0;i<7;i++)
((((unsigned char*)( buffer+32+i*4 ))[0] = (((unsigned long)( r->A[i] )) >> 24) & 0xff), (((unsigned char*)( buffer+32+i*4 ))[1] = (((unsigned long)( r->A[i] )) >> 16) & 0xff), (((unsigned char*)( buffer+32+i*4 ))[2] = (((unsigned long)( r->A[i] )) >> 8) & 0xff), (((unsigned char*)( buffer+32+i*4 ))[3] = (((unsigned long)( r->A[i] )) >> 0) & 0xff)) ;
((((unsigned char*)( buffer+60 ))[0] = (((unsigned long)( r->USP )) >> 24) & 0xff), (((unsigned char*)( buffer+60 ))[1] = (((unsigned long)( r->USP )) >> 16) & 0xff), (((unsigned char*)( buffer+60 ))[2] = (((unsigned long)( r->USP )) >> 8) & 0xff), (((unsigned char*)( buffer+60 ))[3] = (((unsigned long)( r->USP )) >> 0) & 0xff)) ;
((((unsigned char*)( buffer+64 ))[0] = (((unsigned long)( r->SSP )) >> 24) & 0xff), (((unsigned char*)( buffer+64 ))[1] = (((unsigned long)( r->SSP )) >> 16) & 0xff), (((unsigned char*)( buffer+64 ))[2] = (((unsigned long)( r->SSP )) >> 8) & 0xff), (((unsigned char*)( buffer+64 ))[3] = (((unsigned long)( r->SSP )) >> 0) & 0xff)) ;
((((unsigned char*)( buffer+68 ))[0] = (((unsigned long)( r->PC )) >> 24) & 0xff), (((unsigned char*)( buffer+68 ))[1] = (((unsigned long)( r->PC )) >> 16) & 0xff), (((unsigned char*)( buffer+68 ))[2] = (((unsigned long)( r->PC )) >> 8) & 0xff), (((unsigned char*)( buffer+68 ))[3] = (((unsigned long)( r->PC )) >> 0) & 0xff)) ;
((((unsigned char*)( buffer+72 ))[0] = (((unsigned short)( r->SR )) >> 8) & 0xff), (((unsigned char*)( buffer+72 ))[1] = (((unsigned short)( r->SR )) >> 0) & 0xff)) ;
return 0;
}
int sys_Continue(int sd, struct Pilot_registers * r, struct Pilot_watch * w)
{
char buf[94];
buf[0] = 0;
buf[1] = 0;
buf[2] = 0;
buf[3] = 0;
buf[4] = 0x07;
buf[5] = 0;
if (!r)
return pi_write(sd,buf,6);
sys_PackRegisters(buf+6, r);
(((unsigned char*)( buf+80 ))[0]=( (w != 0) ? 1 : 0 )) ;
(((unsigned char*)( buf+81 ))[0]=( 0 )) ;
((((unsigned char*)( buf+82 ))[0] = (((unsigned long)( w ? w->address : 0 )) >> 24) & 0xff), (((unsigned char*)( buf+82 ))[1] = (((unsigned long)( w ? w->address : 0 )) >> 16) & 0xff), (((unsigned char*)( buf+82 ))[2] = (((unsigned long)( w ? w->address : 0 )) >> 8) & 0xff), (((unsigned char*)( buf+82 ))[3] = (((unsigned long)( w ? w->address : 0 )) >> 0) & 0xff)) ;
((((unsigned char*)( buf+86 ))[0] = (((unsigned long)( w ? w->length : 0 )) >> 24) & 0xff), (((unsigned char*)( buf+86 ))[1] = (((unsigned long)( w ? w->length : 0 )) >> 16) & 0xff), (((unsigned char*)( buf+86 ))[2] = (((unsigned long)( w ? w->length : 0 )) >> 8) & 0xff), (((unsigned char*)( buf+86 ))[3] = (((unsigned long)( w ? w->length : 0 )) >> 0) & 0xff)) ;
((((unsigned char*)( buf+90 ))[0] = (((unsigned long)( w ? w->checksum : 0 )) >> 24) & 0xff), (((unsigned char*)( buf+90 ))[1] = (((unsigned long)( w ? w->checksum : 0 )) >> 16) & 0xff), (((unsigned char*)( buf+90 ))[2] = (((unsigned long)( w ? w->checksum : 0 )) >> 8) & 0xff), (((unsigned char*)( buf+90 ))[3] = (((unsigned long)( w ? w->checksum : 0 )) >> 0) & 0xff)) ;
return pi_write(sd, buf, 94);
}
int sys_Step(int sd)
{
char buf[94];
buf[0] = 0;
buf[1] = 0;
buf[2] = 0;
buf[3] = 0;
buf[4] = 0x03;
buf[5] = 0;
return pi_write(sd,buf,6);
}
int sys_SetBreakpoints(int sd, struct Pilot_breakpoint * b)
{
char buf[94];
int i;
buf[0] = 0;
buf[1] = 0;
buf[2] = 0;
buf[3] = 0;
buf[4] = 0x0c;
buf[5] = 0;
for (i=0;i<6;i++) {
((((unsigned char*)( buf+6+i*6 ))[0] = (((unsigned long)( b[i].address )) >> 24) & 0xff), (((unsigned char*)( buf+6+i*6 ))[1] = (((unsigned long)( b[i].address )) >> 16) & 0xff), (((unsigned char*)( buf+6+i*6 ))[2] = (((unsigned long)( b[i].address )) >> 8) & 0xff), (((unsigned char*)( buf+6+i*6 ))[3] = (((unsigned long)( b[i].address )) >> 0) & 0xff)) ;
(((unsigned char*)( buf+10+i*6 ))[0]=( b[i].enabled )) ;
(((unsigned char*)( buf+11+i*6 ))[0]=( 0 )) ;
}
pi_write(sd, buf, 42);
i = pi_read(sd, buf, 6);
if ((i<=0) || (buf[4] != (char)0x8c))
return 0;
else
return 1;
}
int sys_SetTrapBreaks(int sd, int * traps)
{
char buf[94];
int i;
buf[0] = 0;
buf[1] = 0;
buf[2] = 0;
buf[3] = 0;
buf[4] = 0x11;
buf[5] = 0;
for (i=0;i<5;i++) {
((((unsigned char*)( buf+6+i*2 ))[0] = (((unsigned short)( traps[i] )) >> 8) & 0xff), (((unsigned char*)( buf+6+i*2 ))[1] = (((unsigned short)( traps[i] )) >> 0) & 0xff)) ;
}
pi_write(sd, buf, 16);
i = pi_read(sd, buf, 6);
if ((i<=0) || (buf[4] != (char)0x91))
return 0;
else
return 1;
}
int sys_GetTrapBreaks(int sd, int * traps)
{
char buf[94];
int i;
buf[0] = 0;
buf[1] = 0;
buf[2] = 0;
buf[3] = 0;
buf[4] = 0x10;
buf[5] = 0;
pi_write(sd, buf, 6);
i = pi_read(sd, buf, 16);
if ((i<16) || (buf[4] != (char)0x90))
return 0;
for (i=0;i<5;i++) {
traps[i] = ((unsigned short) ((((unsigned char*)( buf+6+i*2 ))[0] << 8) | (((unsigned char*)( buf+6+i*2 ))[1]))) ;
}
return 1;
}
int sys_ToggleDbgBreaks(int sd)
{
char buf[94];
int i;
buf[0] = 0;
buf[1] = 0;
buf[2] = 0;
buf[3] = 0;
buf[4] = 0x0d;
buf[5] = 0;
pi_write(sd, buf, 6);
i = pi_read(sd, buf, 7);
if ((i<7) || (buf[4] != (char)0x8d))
return 0;
return (((unsigned char*)( buf+6 ))[0]) ;
}
int sys_QueryState(int sd)
{
char buf[6];
buf[0] = 0;
buf[1] = 0;
buf[2] = 0;
buf[3] = 0;
buf[4] = 0;
buf[5] = 0;
return pi_write(sd, buf, 6);
}
int sys_ReadMemory(int sd, unsigned long addr, unsigned long len, void * dest)
{
int result;
unsigned char buf[0xffff];
unsigned long todo,done;
done = 0;
do {
todo = len;
if (todo > 256)
todo = 256;
buf[0] = 0;
buf[1] = 0;
buf[2] = 0;
buf[3] = 0;
buf[4] = 0x01;
buf[5] = 0;
((((unsigned char*)( buf+6 ))[0] = (((unsigned long)( addr+done )) >> 24) & 0xff), (((unsigned char*)( buf+6 ))[1] = (((unsigned long)( addr+done )) >> 16) & 0xff), (((unsigned char*)( buf+6 ))[2] = (((unsigned long)( addr+done )) >> 8) & 0xff), (((unsigned char*)( buf+6 ))[3] = (((unsigned long)( addr+done )) >> 0) & 0xff)) ;
((((unsigned char*)( buf+10 ))[0] = (((unsigned short)( todo )) >> 8) & 0xff), (((unsigned char*)( buf+10 ))[1] = (((unsigned short)( todo )) >> 0) & 0xff)) ;
pi_write(sd, buf, 12);
result = pi_read(sd, buf, todo+6);
if (result<0)
return done;
if ((buf[4] == 0x81) && ((unsigned int)result == todo+6)) {
memcpy(((char *)dest) + done, buf+6, todo);
done += todo;
} else {
return done;
}
} while (done < len);
return done;
}
int sys_WriteMemory(int sd, unsigned long addr, unsigned long len, void * src)
{
int result;
unsigned char buf[0xffff];
unsigned long todo, done;
done = 0;
do {
todo = len;
if (todo>256)
todo = 256;
buf[0] = 0;
buf[1] = 0;
buf[2] = 0;
buf[3] = 0;
buf[4] = 0x02;
buf[5] = 0;
((((unsigned char*)( buf+6 ))[0] = (((unsigned long)( addr )) >> 24) & 0xff), (((unsigned char*)( buf+6 ))[1] = (((unsigned long)( addr )) >> 16) & 0xff), (((unsigned char*)( buf+6 ))[2] = (((unsigned long)( addr )) >> 8) & 0xff), (((unsigned char*)( buf+6 ))[3] = (((unsigned long)( addr )) >> 0) & 0xff)) ;
((((unsigned char*)( buf+10 ))[0] = (((unsigned short)( len )) >> 8) & 0xff), (((unsigned char*)( buf+10 ))[1] = (((unsigned short)( len )) >> 0) & 0xff)) ;
memcpy(buf+12, ((char *)src)+done, todo);
pi_write(sd, buf, len+12);
result = pi_read(sd, buf, 6);
if (result<0)
return done;
if ((buf[4] == 0x82) && ((unsigned int)result == todo+6)) {
;
} else {
return done;
}
} while (done < len);
return done;
}
int sys_Find(int sd, unsigned long startaddr, unsigned long stopaddr, int len, int caseinsensitive,
void * data, unsigned long * found)
{
int result;
unsigned char buf[0xffff];
buf[0] = 0;
buf[1] = 0;
buf[2] = 0;
buf[3] = 0;
buf[4] = 0x11;
buf[5] = 0;
((((unsigned char*)( buf+6 ))[0] = (((unsigned long)( startaddr )) >> 24) & 0xff), (((unsigned char*)( buf+6 ))[1] = (((unsigned long)( startaddr )) >> 16) & 0xff), (((unsigned char*)( buf+6 ))[2] = (((unsigned long)( startaddr )) >> 8) & 0xff), (((unsigned char*)( buf+6 ))[3] = (((unsigned long)( startaddr )) >> 0) & 0xff)) ;
((((unsigned char*)( buf+10 ))[0] = (((unsigned long)( stopaddr )) >> 24) & 0xff), (((unsigned char*)( buf+10 ))[1] = (((unsigned long)( stopaddr )) >> 16) & 0xff), (((unsigned char*)( buf+10 ))[2] = (((unsigned long)( stopaddr )) >> 8) & 0xff), (((unsigned char*)( buf+10 ))[3] = (((unsigned long)( stopaddr )) >> 0) & 0xff)) ;
((((unsigned char*)( buf+14 ))[0] = (((unsigned short)( len )) >> 8) & 0xff), (((unsigned char*)( buf+14 ))[1] = (((unsigned short)( len )) >> 0) & 0xff)) ;
(((unsigned char*)( buf+16 ))[0]=( caseinsensitive )) ;
memcpy(buf+17, data, len);
pi_write(sd, buf, len+17);
result = pi_read(sd, buf, 12);
if (result<0)
return result;
if (found)
*found = ((unsigned long) ((((unsigned char*)( buf+6 ))[0] << 24) | (((unsigned char*)( buf+6 ))[1] << 16) | (((unsigned char*)( buf+6 ))[2] << 8) | (((unsigned char*)( buf+6 ))[3]))) ;
return (((unsigned char*)( buf+10 ))[0]) ;
}
int sys_RemoteEvent(int sd, int penDown, int x, int y, int keypressed,
int keymod, int keyasc, int keycode)
{
char buf[20];
buf[0] = 2;
buf[1] = 2;
buf[2] = 0;
buf[3] = 0x11;
buf[4] = 0x0d;
buf[5] = 0;
buf[6] = penDown;
buf[7] = 0;
buf[8] = x >> 8;
buf[9] = x & 0xff;
buf[10] = y >> 8;
buf[11] = y & 0xff;
buf[12] = keypressed;
buf[13] = 0;
buf[14] = keymod >> 8;
buf[15] = keymod & 0xff;
buf[16] = keyasc >> 8;
buf[17] = keyasc & 0xff;
buf[18] = keycode >> 8;
buf[19] = keycode & 0xff;
return pi_write(sd, buf, 16+4);
}
int sys_RPC(int sd, int socket, int trap, long * D0, long * A0, int params, struct RPC_param * param, int reply)
{
unsigned char buf[4096];
int i;
unsigned char * c;
buf[0] = socket;
buf[1] = socket;
buf[2] = 0;
buf[4] = 0x0a;
buf[5] = 0;
((((unsigned char*)( buf+6 ))[0] = (((unsigned short)( trap )) >> 8) & 0xff), (((unsigned char*)( buf+6 ))[1] = (((unsigned short)( trap )) >> 0) & 0xff)) ;
((((unsigned char*)( buf+8 ))[0] = (((unsigned long)( *D0 )) >> 24) & 0xff), (((unsigned char*)( buf+8 ))[1] = (((unsigned long)( *D0 )) >> 16) & 0xff), (((unsigned char*)( buf+8 ))[2] = (((unsigned long)( *D0 )) >> 8) & 0xff), (((unsigned char*)( buf+8 ))[3] = (((unsigned long)( *D0 )) >> 0) & 0xff)) ;
((((unsigned char*)( buf+12 ))[0] = (((unsigned long)( *A0 )) >> 24) & 0xff), (((unsigned char*)( buf+12 ))[1] = (((unsigned long)( *A0 )) >> 16) & 0xff), (((unsigned char*)( buf+12 ))[2] = (((unsigned long)( *A0 )) >> 8) & 0xff), (((unsigned char*)( buf+12 ))[3] = (((unsigned long)( *A0 )) >> 0) & 0xff)) ;
((((unsigned char*)( buf+16 ))[0] = (((unsigned short)( params )) >> 8) & 0xff), (((unsigned char*)( buf+16 ))[1] = (((unsigned short)( params )) >> 0) & 0xff)) ;
c = buf+18;
for(i=params-1;i>=0;i--) {
(((unsigned char*)( c ))[0]=( param[i].byRef )) ; c++;
(((unsigned char*)( c ))[0]=( param[i].size )) ; c++;
if(param[i].data)
memcpy(c, param[i].data, param[i].size);
c += param[i].size;
if (param[i].size & 1)
*c++ = 0;
}
if (socket == 3)
((((unsigned char*)( buf+4 ))[0] = (((unsigned short)( c-buf - 6 )) >> 8) & 0xff), (((unsigned char*)( buf+4 ))[1] = (((unsigned short)( c-buf - 6 )) >> 0) & 0xff)) ;
pi_write(sd, buf, c-buf);
if(reply) {
int l = pi_read(sd, buf, 4096);
if (l < 0)
return l;
if (l < 6)
return -1;
if (buf[4] != 0x8a)
return -2;
*D0 = ((unsigned long) ((((unsigned char*)( buf+8 ))[0] << 24) | (((unsigned char*)( buf+8 ))[1] << 16) | (((unsigned char*)( buf+8 ))[2] << 8) | (((unsigned char*)( buf+8 ))[3]))) ;
*A0 = ((unsigned long) ((((unsigned char*)( buf+12 ))[0] << 24) | (((unsigned char*)( buf+12 ))[1] << 16) | (((unsigned char*)( buf+12 ))[2] << 8) | (((unsigned char*)( buf+12 ))[3]))) ;
c = buf+18;
for(i=params-1;i>=0;i--) {
if(param[i].byRef && param[i].data)
memcpy(param[i].data, c+2, param[i].size);
c += 2 + (((((unsigned char*)( c+1 ))[0]) + 1)& ~1);
}
}
return 0;
}
int RPC(int sd, int socket, int trap, int reply, ...)
{
__gnuc_va_list ap;
struct RPC_param p[20];
int RPC_arg[20];
int i=0,j;
long D0=0,A0=0;
(__builtin_next_arg ( reply ), ( ap ) = *(__gnuc_va_list *) __builtin_saveregs ()) ;
for(;;) {
int type = (*((( ap ).__offset += (((sizeof ( int ) + __extension__ sizeof (long long) - 1) / __extension__ sizeof (long long)) * __extension__ sizeof (long long)) ), ( int *)(void *)(( ap ).__base + ( ap ).__offset - (((__builtin_classify_type (* ( int *) 0) == __real_type_class) && ( ap ).__offset <= (6 * 8)) ? (6 * 8) + 8 : (((sizeof ( int ) + __extension__ sizeof (long long) - 1) / __extension__ sizeof (long long)) * __extension__ sizeof (long long)) )))) ;
if(type == 0)
break;
if(type < 0) {
p[i].byRef = 0;
p[i].size = -type;
RPC_arg[i] = (*((( ap ).__offset += (((sizeof ( int ) + __extension__ sizeof (long long) - 1) / __extension__ sizeof (long long)) * __extension__ sizeof (long long)) ), ( int *)(void *)(( ap ).__base + ( ap ).__offset - (((__builtin_classify_type (* ( int *) 0) == __real_type_class) && ( ap ).__offset <= (6 * 8)) ? (6 * 8) + 8 : (((sizeof ( int ) + __extension__ sizeof (long long) - 1) / __extension__ sizeof (long long)) * __extension__ sizeof (long long)) )))) ;
p[i].data = &RPC_arg[i];
p[i].invert = 0;
} else {
void * c = (*((( ap ).__offset += (((sizeof ( void* ) + __extension__ sizeof (long long) - 1) / __extension__ sizeof (long long)) * __extension__ sizeof (long long)) ), ( void* *)(void *)(( ap ).__base + ( ap ).__offset - (((__builtin_classify_type (* ( void* *) 0) == __real_type_class) && ( ap ).__offset <= (6 * 8)) ? (6 * 8) + 8 : (((sizeof ( void* ) + __extension__ sizeof (long long) - 1) / __extension__ sizeof (long long)) * __extension__ sizeof (long long)) )))) ;
p[i].byRef = 1;
p[i].size = type;
p[i].data = c;
p[i].invert = (*((( ap ).__offset += (((sizeof ( int ) + __extension__ sizeof (long long) - 1) / __extension__ sizeof (long long)) * __extension__ sizeof (long long)) ), ( int *)(void *)(( ap ).__base + ( ap ).__offset - (((__builtin_classify_type (* ( int *) 0) == __real_type_class) && ( ap ).__offset <= (6 * 8)) ? (6 * 8) + 8 : (((sizeof ( int ) + __extension__ sizeof (long long) - 1) / __extension__ sizeof (long long)) * __extension__ sizeof (long long)) )))) ;
if(p[i].invert) {
if(p[i].size == 2) {
int * s = c;
*s = htons(*s);
} else {
int * l = c;
*l = htonl(*l);
}
}
}
i++;
}
((void) 0) ;
sys_RPCerror = sys_RPC(sd, socket, trap, &D0, &A0, i, p, reply != 2);
for(j=0;j<i;j++) {
if(p[j].invert) {
void * c = p[j].data;
if(p[j].size == 2) {
int * s = c;
*s = htons(*s);
} else {
int * l = c;
*l = htonl(*l);
}
}
}
if(reply)
return A0;
else
return D0;
}
int PackRPC(struct RPC_params * p, int trap, int reply, ...)
{
__gnuc_va_list ap;
int i=0;
p->trap = trap;
p->reply = reply;
(__builtin_next_arg ( reply ), ( ap ) = *(__gnuc_va_list *) __builtin_saveregs ()) ;
for(;;) {
int type = (int)(*((( ap ).__offset += (((sizeof ( int ) + __extension__ sizeof (long long) - 1) / __extension__ sizeof (long long)) * __extension__ sizeof (long long)) ), ( int *)(void *)(( ap ).__base + ( ap ).__offset - (((__builtin_classify_type (* ( int *) 0) == __real_type_class) && ( ap ).__offset <= (6 * 8)) ? (6 * 8) + 8 : (((sizeof ( int ) + __extension__ sizeof (long long) - 1) / __extension__ sizeof (long long)) * __extension__ sizeof (long long)) )))) ;
if(type == 0)
break;
if(type < 0) {
p->param[i].byRef = 0;
p->param[i].size = -type;
p->param[i].arg = (int)(*((( ap ).__offset += (((sizeof ( int ) + __extension__ sizeof (long long) - 1) / __extension__ sizeof (long long)) * __extension__ sizeof (long long)) ), ( int *)(void *)(( ap ).__base + ( ap ).__offset - (((__builtin_classify_type (* ( int *) 0) == __real_type_class) && ( ap ).__offset <= (6 * 8)) ? (6 * 8) + 8 : (((sizeof ( int ) + __extension__ sizeof (long long) - 1) / __extension__ sizeof (long long)) * __extension__ sizeof (long long)) )))) ;
p->param[i].data = &p->param[i].arg;
p->param[i].invert = 0;
} else {
void * c = (void*)(*((( ap ).__offset += (((sizeof ( void* ) + __extension__ sizeof (long long) - 1) / __extension__ sizeof (long long)) * __extension__ sizeof (long long)) ), ( void* *)(void *)(( ap ).__base + ( ap ).__offset - (((__builtin_classify_type (* ( void* *) 0) == __real_type_class) && ( ap ).__offset <= (6 * 8)) ? (6 * 8) + 8 : (((sizeof ( void* ) + __extension__ sizeof (long long) - 1) / __extension__ sizeof (long long)) * __extension__ sizeof (long long)) )))) ;
p->param[i].byRef = 1;
p->param[i].size = type;
p->param[i].data = c;
p->param[i].invert = (int)(*((( ap ).__offset += (((sizeof ( int ) + __extension__ sizeof (long long) - 1) / __extension__ sizeof (long long)) * __extension__ sizeof (long long)) ), ( int *)(void *)(( ap ).__base + ( ap ).__offset - (((__builtin_classify_type (* ( int *) 0) == __real_type_class) && ( ap ).__offset <= (6 * 8)) ? (6 * 8) + 8 : (((sizeof ( int ) + __extension__ sizeof (long long) - 1) / __extension__ sizeof (long long)) * __extension__ sizeof (long long)) )))) ;
}
i++;
}
p->args = i;
((void) 0) ;
return 0;
}
void UninvertRPC(struct RPC_params * p)
{
int j;
for(j=0;j<p->args;j++) {
if(p->param[j].invert) {
void * c = p->param[j].data;
if((p->param[j].invert == 2) && (p->param[j].size == 2)) {
int * s = c;
*s = htons(*s)>>8;
} else if(p->param[j].size == 2) {
int * s = c;
*s = htons(*s);
} else {
long * l = c;
*l = htonl(*l);
}
}
}
}
void InvertRPC(struct RPC_params * p)
{
int j;
for(j=0;j<p->args;j++) {
if(p->param[j].invert) {
void * c = p->param[j].data;
if((p->param[j].invert == 2) && (p->param[j].size == 2)) {
int * s = c;
*s = ntohs(*s)>>8;
} else if(p->param[j].size == 2) {
int * s = c;
*s = ntohs(*s);
} else {
long * l = c;
*l = ntohl(*l);
}
}
}
}
unsigned long DoRPC(int sd, int socket, struct RPC_params * p, int * error)
{
int err;
long D0=0,A0=0;
InvertRPC(p);
err = sys_RPC(sd, socket, p->trap, &D0, &A0, p->args, &p->param[0], p->reply);
UninvertRPC(p);
if (error)
*error = err;
if(p->reply== 1 )
return A0;
else if (p->reply== 2 )
return D0;
else
return err;
}
int RPC_Int_Void(int sd, int trap) {
return RPC(sd, 1, trap, 0, 0 );
}
int RPC_Ptr_Void(int sd, int trap) {
return RPC(sd, 1, trap, 1, 0 );
}
----->8-----
--
E-mail the word "unsubscribe" to debian-alpha-request@lists.debian.org
TO UNSUBSCRIBE FROM THIS MAILING LIST. Trouble? E-mail to listmaster@debian.org .
Reply to: