[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: