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

Re: New egcs on beezer



On 6 Mar 1998 mdorman@debian.org wrote:

> 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?

Both.  I want 1.0.2 for our normal compiler suite, but also want to have
access to the snapshots in case they include things that some of us might
want.  It will also allow others to have the latest snapshots available as
debian packages to allow for better testing of egcs and give them the
added benefits that having a package brings :)

> I don't think it applies.

No, it doesn't.  In fact, I'll forward your report on to the egcs-bugs
list and see what they can make of it.  I think I know what might be
happening, but I'm knee deep in the jump code right now, so I'll have to
check my hunch later.

> > Will pilot-link compile without any -O switches?  Just curious...
> Yes.

For some reason, optimisation is still kinda furry on the Alphas.  I'm
curious to see if others with 21164-based machines have the same problems.
So far, I've only heard from a PPro person and one other UDB.

> 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

I'll look into this :)

> 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.

Ok...great :)  I'll pass it along as well.

C

PS...ignore the trailing...it was just taking too long to delete :)

> 
> 
> 
> # 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: