guile-user
[Top][All Lists]
Advanced

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

Re: [Fwd: problem compiling guile-gtk-1.2-0.31]


From: Stanislas Pinte
Subject: Re: [Fwd: problem compiling guile-gtk-1.2-0.31]
Date: Wed, 02 Oct 2002 19:32:12 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.4.1) Gecko/20020508 Netscape6/6.2.3

If my guile-gtk.x can help you...

Marius Vollmer wrote:

Stanislas Pinte <address@hidden> writes:


I am trying to compile guile-gtk-1.2-0.31 with guile-1.6, and it fails
miserably...
[...]
In file included from /usr/include/stdio.h:33,
                  from guile-gtk.c:18,
                  from guile-gtk.c:2621:
/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h: In function
`sgtk_init_substrate':
/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h:170: parse
error before `typedef'


What is in the file "guile-gtk.x"?  I suppose it is broken.  That file
is automatically generated during the build, and maybe it is generated
wrongly.

A good guile-gtk.x would look like this:

    /* cpp arguments: guile-gtk.c -DHAVE_CONFIG_H -I. -I. 
-I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include 
-D_REENTRANT -I/usr/X11R6/include -I/usr/local/include -I/usr/local/include -g 
-O2 */
       sym_gnome_file  = scm_permanent_object (scm_str2symbol (  "gnome-file" 
))   ;
       sym_top_repl  = scm_permanent_object (scm_str2symbol (  "top-repl" ))   ;
       sym_quit  = scm_permanent_object (scm_str2symbol (  "quit" ))   ;
       sym_use_modules  = scm_permanent_object (scm_str2symbol (  "use-modules" 
))   ;
       sym_gtk  = scm_permanent_object (scm_str2symbol (  "gtk" ))   ;
       sym_repl  = scm_permanent_object (scm_str2symbol (  "repl" ))   ;
       sym_gtk_repl  = scm_permanent_object (scm_str2symbol (  "gtk-repl" ))   ;
       sym_gtk_version  = scm_permanent_object (scm_str2symbol (  "gtk-1.2" ))  
 ;



# 1 "guile-gtk.c"
 
















# 1 "/usr/include/stdio.h" 1 3
 

















 







# 1 "/usr/include/features.h" 1 3
 




















 






























































 




















 





 



 







 
# 142 "/usr/include/features.h" 3


 









 








 



























# 208 "/usr/include/features.h" 3


































 



 


 








 




 
















 


# 1 "/usr/include/sys/cdefs.h" 1 3
 




















 




 






 





 








 



# 65 "/usr/include/sys/cdefs.h" 3


 





 




 









 







 

















 















 







 






 








 








 








 










 







 




 






# 283 "/usr/include/features.h" 2 3



 








 




 

 








# 1 "/usr/include/gnu/stubs.h" 1 3
 































# 311 "/usr/include/features.h" 2 3




# 27 "/usr/include/stdio.h" 2 3


 



# 1 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 1 3






 


# 19 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3



 


 





 


# 61 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


 





 


















 





 

 

# 131 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


 

 


































typedef unsigned int size_t;






















 




 

# 271 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


# 283 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


 

 

# 317 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3




 





















# 33 "/usr/include/stdio.h" 2 3


# 1 "/usr/include/bits/types.h" 1 3
 

















 









# 1 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 1 3






 


# 19 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3



 


 





 


# 61 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


 





 


















 





 

 

# 131 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


 

 


# 188 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3





 




 

# 271 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


# 283 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


 

 

# 317 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3




 





















# 29 "/usr/include/bits/types.h" 2 3


 
typedef unsigned char __u_char;
typedef unsigned short __u_short;
typedef unsigned int __u_int;
typedef unsigned long __u_long;

__extension__ typedef unsigned long long int __u_quad_t;
__extension__ typedef long long int __quad_t;
# 48 "/usr/include/bits/types.h" 3

typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;

__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;

typedef __quad_t *__qaddr_t;

typedef __u_quad_t __dev_t;              
typedef __u_int __uid_t;                 
typedef __u_int __gid_t;                 
typedef __u_long __ino_t;                
typedef __u_int __mode_t;                
typedef __u_int __nlink_t;               
typedef long int __off_t;                
typedef __quad_t __loff_t;               
typedef int __pid_t;                     
typedef int __ssize_t;                   
typedef __u_long __rlim_t;               
typedef __u_quad_t __rlim64_t;           
typedef __u_int __id_t;                  

typedef struct
  {
    int __val[2];
  } __fsid_t;                            

 
typedef int __daddr_t;                   
typedef char *__caddr_t;
typedef long int __time_t;
typedef unsigned int __useconds_t;
typedef long int __suseconds_t;
typedef long int __swblk_t;              

typedef long int __clock_t;

 
typedef int __clockid_t;

 
typedef int __timer_t;


 



typedef int __key_t;

 
typedef unsigned short int __ipc_pid_t;


 
typedef long int __blksize_t;

 

 
typedef long int __blkcnt_t;
typedef __quad_t __blkcnt64_t;

 
typedef __u_long __fsblkcnt_t;
typedef __u_quad_t __fsblkcnt64_t;

 
typedef __u_long __fsfilcnt_t;
typedef __u_quad_t __fsfilcnt64_t;

 
typedef __u_quad_t __ino64_t;

 
typedef __loff_t __off64_t;

 
typedef long int __t_scalar_t;
typedef unsigned long int __t_uscalar_t;

 
typedef int __intptr_t;

 
typedef unsigned int __socklen_t;


 

# 1 "/usr/include/bits/pthreadtypes.h" 1 3
 
 
 
 
 
 
 
 
 
 
 
 
 









# 1 "/usr/include/bits/sched.h" 1 3
 



















# 62 "/usr/include/bits/sched.h" 3





 
struct __sched_param
  {
    int __sched_priority;
  };


# 23 "/usr/include/bits/pthreadtypes.h" 2 3


 
struct _pthread_fastlock
{
  long int __status;    
  int __spinlock;       

};


 
typedef struct _pthread_descr_struct *_pthread_descr;




 
typedef struct __pthread_attr_s
{
  int __detachstate;
  int __schedpolicy;
  struct __sched_param __schedparam;
  int __inheritsched;
  int __scope;
  size_t __guardsize;
  int __stackaddr_set;
  void *__stackaddr;
  size_t __stacksize;
} pthread_attr_t;


 
typedef struct
{
  struct _pthread_fastlock __c_lock;  
  _pthread_descr __c_waiting;         
} pthread_cond_t;


 
typedef struct
{
  int __dummy;
} pthread_condattr_t;

 
typedef unsigned int pthread_key_t;


 
 

typedef struct
{
  int __m_reserved;                
  int __m_count;                   
  _pthread_descr __m_owner;        
  int __m_kind;                    
  struct _pthread_fastlock __m_lock;  
} pthread_mutex_t;


 
typedef struct
{
  int __mutexkind;
} pthread_mutexattr_t;


 
typedef int pthread_once_t;


# 117 "/usr/include/bits/pthreadtypes.h" 3


# 136 "/usr/include/bits/pthreadtypes.h" 3



 
typedef unsigned long int pthread_t;


# 143 "/usr/include/bits/types.h" 2 3




# 35 "/usr/include/stdio.h" 2 3








 
typedef struct _IO_FILE FILE;








 
typedef struct _IO_FILE __FILE;









# 1 "/usr/include/libio.h" 1 3
 




























# 1 "/usr/include/_G_config.h" 1 3
 





 






# 1 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 1 3






 


# 19 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3



 


 





 


# 61 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


 





 


















 





 

 

# 131 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


 

 


# 188 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3





 




 





























 


























typedef long int wchar_t;
























typedef unsigned int  wint_t;




 

 

# 317 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3




 





















# 14 "/usr/include/_G_config.h" 2 3










# 1 "/usr/include/wchar.h" 1 3
 

















 











# 46 "/usr/include/wchar.h" 3


# 1 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 1 3






 


# 19 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3



 


 





 


# 61 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


 





 


















 





 

 

# 131 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


 

 

# 190 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3



 




 

# 271 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3














 

 

# 317 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3




 





















# 48 "/usr/include/wchar.h" 2 3


# 1 "/usr/include/bits/wchar.h" 1 3
 

























# 50 "/usr/include/wchar.h" 2 3


 













 
typedef struct
{
  int __count;
  union
  {
    wint_t __wch;
    char __wchb[4];
  } __value;             
} __mbstate_t;




 

# 683 "/usr/include/wchar.h" 3



# 24 "/usr/include/_G_config.h" 2 3


typedef struct
{
  __off_t __pos;
  __mbstate_t __state;
} _G_fpos_t;
typedef struct
{
  __off64_t __pos;
  __mbstate_t __state;
} _G_fpos64_t;








# 1 "/usr/include/gconv.h" 1 3
 

















 








# 1 "/usr/include/wchar.h" 1 3
 

















 











# 46 "/usr/include/wchar.h" 3


# 1 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 1 3






 


# 19 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3



 


 





 


# 61 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


 





 


















 





 

 

# 131 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


 

 

# 190 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3



 




 

# 271 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3














 

 

# 317 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3




 





















# 48 "/usr/include/wchar.h" 2 3




 











# 76 "/usr/include/wchar.h" 3




 

# 683 "/usr/include/wchar.h" 3



# 28 "/usr/include/gconv.h" 2 3


# 1 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 1 3






 


# 19 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3



 


 





 


# 61 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


 





 


















 





 

 

# 131 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


 

 


# 188 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3





 




 

# 271 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


# 283 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


 

 

# 317 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3




 





















# 30 "/usr/include/gconv.h" 2 3


 


 
enum
{
  __GCONV_OK = 0,
  __GCONV_NOCONV,
  __GCONV_NODB,
  __GCONV_NOMEM,

  __GCONV_EMPTY_INPUT,
  __GCONV_FULL_OUTPUT,
  __GCONV_ILLEGAL_INPUT,
  __GCONV_INCOMPLETE_INPUT,

  __GCONV_ILLEGAL_DESCRIPTOR,
  __GCONV_INTERNAL_ERROR
};


 
enum
{
  __GCONV_IS_LAST = 0x0001,
  __GCONV_IGNORE_ERRORS = 0x0002
};


 
struct __gconv_step;
struct __gconv_step_data;
struct __gconv_loaded_object;
struct __gconv_trans_data;


 
typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *,
                            __const unsigned char **, __const unsigned char *,
                            unsigned char **, size_t *, int, int);

 
typedef int (*__gconv_init_fct) (struct __gconv_step *);
typedef void (*__gconv_end_fct) (struct __gconv_step *);


 
typedef int (*__gconv_trans_fct) (struct __gconv_step *,
                                  struct __gconv_step_data *, void *,
                                  __const unsigned char *,
                                  __const unsigned char **,
                                  __const unsigned char *, unsigned char **,
                                  size_t *);

 
typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *,
                                          __const unsigned char *,
                                          unsigned char *, unsigned char *);

 
typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***,
                                        size_t *);

 
typedef int (*__gconv_trans_init_fct) (void **, const char *);
typedef void (*__gconv_trans_end_fct) (void *);

struct __gconv_trans_data
{
   
  __gconv_trans_fct __trans_fct;
  __gconv_trans_context_fct __trans_context_fct;
  __gconv_trans_end_fct __trans_end_fct;
  void *__data;
  struct __gconv_trans_data *__next;
};


 
struct __gconv_step
{
  struct __gconv_loaded_object *__shlib_handle;
  __const char *__modname;

  int __counter;

  char *__from_name;
  char *__to_name;

  __gconv_fct __fct;
  __gconv_init_fct __init_fct;
  __gconv_end_fct __end_fct;

   

  int __min_needed_from;
  int __max_needed_from;
  int __min_needed_to;
  int __max_needed_to;

   
  int __stateful;

  void *__data;          
};

 

struct __gconv_step_data
{
  unsigned char *__outbuf;     
  unsigned char *__outbufend;  


   
  int __flags;

   

  int __invocation_counter;

   

  int __internal_use;

  __mbstate_t *__statep;
  __mbstate_t __state;   


   
  struct __gconv_trans_data *__trans;
};


 
typedef struct __gconv_info
{
  size_t __nsteps;
  struct __gconv_step *__steps;
  __extension__ struct __gconv_step_data __data [0] ;
} *__gconv_t;


# 44 "/usr/include/_G_config.h" 2 3

typedef union
{
  struct __gconv_info __cd;
  struct
  {
    struct __gconv_info __cd;
    struct __gconv_step_data __data;
  } __combined;
} _G_iconv_t;

typedef int _G_int16_t __attribute__ ((__mode__ (__HI__)));
typedef int _G_int32_t __attribute__ ((__mode__ (__SI__)));
typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__)));
typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__)));




 


















 




 














# 30 "/usr/include/libio.h" 2 3

 

















 

# 1 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stdarg.h" 1 3
 
































































 






typedef void *__gnuc_va_list;



 

# 122 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stdarg.h" 3




















# 209 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stdarg.h" 3




# 51 "/usr/include/libio.h" 2 3







# 70 "/usr/include/libio.h" 3


 

















# 101 "/usr/include/libio.h" 3











 

























 



















struct _IO_jump_t;  struct _IO_FILE;

 







typedef void _IO_lock_t;



 

struct _IO_marker {
  struct _IO_marker *_next;
  struct _IO_FILE *_sbuf;
   

   
  int _pos;
# 190 "/usr/include/libio.h" 3

};

 
enum __codecvt_result
{
  __codecvt_ok,
  __codecvt_partial,
  __codecvt_error,
  __codecvt_noconv
};

# 257 "/usr/include/libio.h" 3


struct _IO_FILE {
  int _flags;            


   
   
  char* _IO_read_ptr;    
  char* _IO_read_end;    
  char* _IO_read_base;   
  char* _IO_write_base;  
  char* _IO_write_ptr;   
  char* _IO_write_end;   
  char* _IO_buf_base;    
  char* _IO_buf_end;     
   
  char *_IO_save_base;  
  char *_IO_backup_base;   
  char *_IO_save_end;  

  struct _IO_marker *_markers;

  struct _IO_FILE *_chain;

  int _fileno;
  int _blksize;
  __off_t   _old_offset;  


   
  unsigned short _cur_column;
  signed char _vtable_offset;
  char _shortbuf[1];

   

  _IO_lock_t *_lock;








  __off64_t   _offset;





  void *__pad1;
  void *__pad2;

  int _mode;
   
  char _unused2[15 * sizeof (int) - 2 * sizeof (void *)];

};


typedef struct _IO_FILE _IO_FILE;


struct _IO_FILE_plus;

extern struct _IO_FILE_plus _IO_2_1_stdin_;
extern struct _IO_FILE_plus _IO_2_1_stdout_;
extern struct _IO_FILE_plus _IO_2_1_stderr_;











 

 

typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes);

 





typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf,
                                 size_t __n);

 





typedef int __io_seek_fn (void *__cookie, __off64_t   *__pos, int __w);

 
typedef int __io_close_fn (void *__cookie);


# 387 "/usr/include/libio.h" 3







extern int __underflow (_IO_FILE *)  ;
extern int __uflow (_IO_FILE *)  ;
extern int __overflow (_IO_FILE *, int)  ;
extern wint_t   __wunderflow (_IO_FILE *)  ;
extern wint_t   __wuflow (_IO_FILE *)  ;
extern wint_t   __woverflow (_IO_FILE *, wint_t  )  ;
























extern int _IO_getc (_IO_FILE *__fp)  ;
extern int _IO_putc (int __c, _IO_FILE *__fp)  ;
extern int _IO_feof (_IO_FILE *__fp)  ;
extern int _IO_ferror (_IO_FILE *__fp)  ;

extern int _IO_peekc_locked (_IO_FILE *__fp)  ;

 



extern void _IO_flockfile (_IO_FILE *)  ;
extern void _IO_funlockfile (_IO_FILE *)  ;
extern int _IO_ftrylockfile (_IO_FILE *)  ;
















extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict,
                        __gnuc_va_list , int *__restrict)  ;
extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict,
                         __gnuc_va_list )  ;
extern __ssize_t   _IO_padn (_IO_FILE *, int, __ssize_t  )  ;
extern size_t   _IO_sgetn (_IO_FILE *, void *, size_t  )  ;

extern __off64_t   _IO_seekoff (_IO_FILE *, __off64_t  , int, int)  ;
extern __off64_t   _IO_seekpos (_IO_FILE *, __off64_t  , int)  ;

extern void _IO_free_backup_area (_IO_FILE *)  ;

# 507 "/usr/include/libio.h" 3







# 64 "/usr/include/stdio.h" 2 3


# 75 "/usr/include/stdio.h" 3


 

typedef _G_fpos_t fpos_t;







 





 





 






 







 




 








# 1 "/usr/include/bits/stdio_lim.h" 1 3
 








































# 128 "/usr/include/stdio.h" 2 3



 
extern FILE *stdin;              
extern FILE *stdout;             
extern FILE *stderr;             
 




 
extern int remove (__const char *__filename)  ;
 
extern int rename (__const char *__old, __const char *__new)  ;


 

extern FILE *tmpfile (void)  ;










 
extern char *tmpnam (char *__s)  ;


 

extern char *tmpnam_r (char *__s)  ;




 






extern char *tempnam (__const char *__dir, __const char *__pfx)
        ;



 
extern int fclose (FILE *__stream)  ;
 
extern int fflush (FILE *__stream)  ;


 
extern int fflush_unlocked (FILE *__stream)  ;









 
extern FILE *fopen (__const char *__restrict __filename,
                    __const char *__restrict __modes)  ;
 
extern FILE *freopen (__const char *__restrict __filename,
                      __const char *__restrict __modes,
                      FILE *__restrict __stream)  ;
# 219 "/usr/include/stdio.h" 3










 
extern FILE *fdopen (int __fd, __const char *__modes)  ;


# 248 "/usr/include/stdio.h" 3



 

extern void setbuf (FILE *__restrict __stream, char *__restrict __buf)  ;
 


extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
                    int __modes, size_t __n)  ;


 

extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
                       size_t __size)  ;

 
extern void setlinebuf (FILE *__stream)  ;



 
extern int fprintf (FILE *__restrict __stream,
                    __const char *__restrict __format, ...)  ;
 
extern int printf (__const char *__restrict __format, ...)  ;
 
extern int sprintf (char *__restrict __s,
                    __const char *__restrict __format, ...)  ;

 
extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format,
                     __gnuc_va_list  __arg)  ;
 
extern int vprintf (__const char *__restrict __format, __gnuc_va_list  __arg)
      ;
 
extern int vsprintf (char *__restrict __s, __const char *__restrict __format,
                     __gnuc_va_list  __arg)  ;


 
extern int snprintf (char *__restrict __s, size_t __maxlen,
                     __const char *__restrict __format, ...)
       __attribute__ ((__format__ (__printf__, 3, 4)));

extern int vsnprintf (char *__restrict __s, size_t __maxlen,
                      __const char *__restrict __format, __gnuc_va_list  __arg)
       __attribute__ ((__format__ (__printf__, 3, 0)));


# 320 "/usr/include/stdio.h" 3



 
extern int fscanf (FILE *__restrict __stream,
                   __const char *__restrict __format, ...)  ;
 
extern int scanf (__const char *__restrict __format, ...)  ;
 
extern int sscanf (__const char *__restrict __s,
                   __const char *__restrict __format, ...)  ;

# 346 "/usr/include/stdio.h" 3



 
extern int fgetc (FILE *__stream)  ;
extern int getc (FILE *__stream)  ;

 
extern int getchar (void)  ;

 




 
extern int getc_unlocked (FILE *__stream)  ;
extern int getchar_unlocked (void)  ;



 
extern int fgetc_unlocked (FILE *__stream)  ;



 
extern int fputc (int __c, FILE *__stream)  ;
extern int putc (int __c, FILE *__stream)  ;

 
extern int putchar (int __c)  ;

 




 
extern int fputc_unlocked (int __c, FILE *__stream)  ;



 
extern int putc_unlocked (int __c, FILE *__stream)  ;
extern int putchar_unlocked (int __c)  ;




 
extern int getw (FILE *__stream)  ;

 
extern int putw (int __w, FILE *__stream)  ;



 
extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
      ;







 

extern char *gets (char *__s)  ;


# 436 "/usr/include/stdio.h" 3



 
extern int fputs (__const char *__restrict __s, FILE *__restrict __stream)
      ;







 
extern int puts (__const char *__s)  ;


 
extern int ungetc (int __c, FILE *__stream)  ;


 
extern size_t fread (void *__restrict __ptr, size_t __size,
                     size_t __n, FILE *__restrict __stream)  ;
 
extern size_t fwrite (__const void *__restrict __ptr, size_t __size,
                      size_t __n, FILE *__restrict __s)  ;


 
extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
                              size_t __n, FILE *__restrict __stream)  ;
extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size,
                               size_t __n, FILE *__restrict __stream)  ;



 
extern int fseek (FILE *__stream, long int __off, int __whence)  ;
 
extern long int ftell (FILE *__stream)  ;
 
extern void rewind (FILE *__stream)  ;

 












 
extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos)
      ;
 
extern int fsetpos (FILE *__stream, __const fpos_t *__pos)  ;
# 519 "/usr/include/stdio.h" 3










 
extern void clearerr (FILE *__stream)  ;
 
extern int feof (FILE *__stream)  ;
 
extern int ferror (FILE *__stream)  ;


 
extern void clearerr_unlocked (FILE *__stream)  ;
extern int feof_unlocked (FILE *__stream)  ;
extern int ferror_unlocked (FILE *__stream)  ;



 
extern void perror (__const char *__s)  ;

 


extern int sys_nerr;
extern __const char *__const sys_errlist[];








 
extern int fileno (FILE *__stream)  ;



 
extern int fileno_unlocked (FILE *__stream)  ;





 
extern FILE *popen (__const char *__command, __const char *__modes)  ;

 
extern int pclose (FILE *__stream)  ;




 
extern char *ctermid (char *__s)  ;









# 601 "/usr/include/stdio.h" 3




 

 
extern void flockfile (FILE *__stream)  ;

 

extern int ftrylockfile (FILE *__stream)  ;

 
extern void funlockfile (FILE *__stream)  ;










 


# 1 "/usr/include/bits/stdio.h" 1 3
 





























 






 
extern __inline  int
vprintf (__const char *__restrict __fmt, __gnuc_va_list  __arg)  
{
  return vfprintf (stdout , __fmt, __arg);
}

 
extern __inline  int
getchar (void)  
{
  return _IO_getc (stdin );
}



 
extern __inline  int
getc_unlocked (FILE *__fp)  
{
  return (( __fp )->_IO_read_ptr >= ( __fp )->_IO_read_end ? __uflow ( __fp ) : 
*(unsigned char *) ( __fp )->_IO_read_ptr++) ;
}

 
extern __inline  int
getchar_unlocked (void)  
{
  return (( stdin  )->_IO_read_ptr >= ( stdin  )->_IO_read_end ? __uflow ( 
stdin  ) : *(unsigned char *) ( stdin  )->_IO_read_ptr++) ;
}



 
extern __inline  int
putchar (int __c)  
{
  return _IO_putc (__c, stdout );
}



 
extern __inline  int
fputc_unlocked (int __c, FILE *__stream)  
{
  return (((  __stream )->_IO_write_ptr >= (  __stream )->_IO_write_end) ? 
__overflow (  __stream , (unsigned char) ( __c )) : (unsigned char) (*(  
__stream )->_IO_write_ptr++ = ( __c ))) ;
}




 
extern __inline  int
putc_unlocked (int __c, FILE *__stream)  
{
  return (((  __stream )->_IO_write_ptr >= (  __stream )->_IO_write_end) ? 
__overflow (  __stream , (unsigned char) ( __c )) : (unsigned char) (*(  
__stream )->_IO_write_ptr++ = ( __c ))) ;
}

 
extern __inline  int
putchar_unlocked (int __c)  
{
  return (((  stdout  )->_IO_write_ptr >= (  stdout  )->_IO_write_end) ? 
__overflow (  stdout  , (unsigned char) ( __c )) : (unsigned char) (*(  stdout  
)->_IO_write_ptr++ = ( __c ))) ;
}














 
extern __inline  int
feof_unlocked (FILE *__stream)  
{
  return ((( __stream )->_flags & 0x10 ) != 0) ;
}

 
extern __inline  int
ferror_unlocked (FILE *__stream)  
{
  return ((( __stream )->_flags & 0x20 ) != 0) ;
}






 

# 156 "/usr/include/bits/stdio.h" 3


# 172 "/usr/include/bits/stdio.h" 3


 

# 629 "/usr/include/stdio.h" 2 3



 




# 18 "guile-gtk.c" 2

# 1 "/usr/include/string.h" 1 3
 

















 








 

 


# 1 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 1 3






 


# 19 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3



 


 





 


# 61 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


 





 


















 





 

 

# 131 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


 

 


# 188 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3





 




 

# 271 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


# 283 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


 

 

# 317 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3




 





















# 33 "/usr/include/string.h" 2 3



 
extern void *memcpy (void *__restrict __dest,
                     __const void *__restrict __src, size_t __n)  ;
 

extern void *memmove (void *__dest, __const void *__src, size_t __n)
      ;

 



extern void *memccpy (void *__restrict __dest, __const void *__restrict __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)
         ;

# 73 "/usr/include/string.h" 3



 
extern char *strcpy (char *__restrict __dest, __const char *__restrict __src)
      ;
 
extern char *strncpy (char *__restrict __dest,
                      __const char *__restrict __src, size_t __n)  ;

 
extern char *strcat (char *__restrict __dest, __const char *__restrict __src)
      ;
 
extern char *strncat (char *__restrict __dest, __const char *__restrict __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 *__restrict __dest,
                       __const char *__restrict __src, size_t __n)  ;

# 116 "/usr/include/string.h" 3



 
extern char *strdup (__const char *__s)    ;


 







# 152 "/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 *__restrict __s, __const char *__restrict __delim)
      ;

 

extern char *__strtok_r (char *__restrict __s,
                         __const char *__restrict __delim,
                         char **__restrict __save_ptr)  ;

extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim,
                       char **__restrict __save_ptr)  ;


# 214 "/usr/include/string.h" 3



 
extern size_t strlen (__const char *__s)    ;









 
extern char *strerror (int __errnum)  ;

 

extern char *strerror_r (int __errnum, char *__buf, size_t __buflen)  ;


 

extern void __bzero (void *__s, size_t __n)  ;


 
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)   __attribute__ ((const));

 









 
extern int strcasecmp (__const char *__s1, __const char *__s2)
        ;

 
extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
        ;


# 289 "/usr/include/string.h" 3



 

extern char *strsep (char **__restrict __stringp,
                     __const char *__restrict __delim)  ;


# 332 "/usr/include/string.h" 3





 

















 
# 1 "/usr/include/bits/string.h" 1 3
 






















 



 

# 904 "/usr/include/bits/string.h" 3

# 356 "/usr/include/string.h" 2 3


 
# 1 "/usr/include/bits/string2.h" 1 3
 

























 























 
# 1 "/usr/include/endian.h" 1 3
 






















 











 
# 1 "/usr/include/bits/endian.h" 1 3
 






# 37 "/usr/include/endian.h" 2 3


 



















# 52 "/usr/include/bits/string2.h" 2 3












# 73 "/usr/include/bits/string2.h" 3

# 88 "/usr/include/bits/string2.h" 3


 





 















# 180 "/usr/include/bits/string2.h" 3







 








 

# 366 "/usr/include/bits/string2.h" 3



 

extern void *__rawmemchr (const void *__s, int __c);







 















extern __inline  char *__strcpy_small (char *, __uint16_t, __uint16_t,
                                      __uint32_t, __uint32_t, size_t);
extern __inline  char *
__strcpy_small (char *__dest,
                __uint16_t __src0_2, __uint16_t __src4_2,
                __uint32_t __src0_4, __uint32_t __src4_4,
                size_t __srclen)
{
  union {
    __uint32_t __ui;
    __uint16_t __usi;
    unsigned char __uc;
  } *__u = (void *) __dest;
  switch ((unsigned int) __srclen)
    {
    case 1:
      __u->__uc = '\0';
      break;
    case 2:
      __u->__usi = __src0_2;
      break;
    case 3:
      __u->__usi = __src0_2;
      __u = __extension__ ((void *) __u + 2);
      __u->__uc = '\0';
      break;
    case 4:
      __u->__ui = __src0_4;
      break;
    case 5:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 4);
      __u->__uc = '\0';
      break;
    case 6:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 4);
      __u->__usi = __src4_2;
      break;
    case 7:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 4);
      __u->__usi = __src4_2;
      __u = __extension__ ((void *) __u + 2);
      __u->__uc = '\0';
      break;
    case 8:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 4);
      __u->__ui = __src4_4;
      break;
    }
  return __dest;
}
# 530 "/usr/include/bits/string2.h" 3




 
# 696 "/usr/include/bits/string2.h" 3



 

# 711 "/usr/include/bits/string2.h" 3











 

# 733 "/usr/include/bits/string2.h" 3











 


# 766 "/usr/include/bits/string2.h" 3


# 793 "/usr/include/bits/string2.h" 3


# 815 "/usr/include/bits/string2.h" 3


# 840 "/usr/include/bits/string2.h" 3



 











 



# 872 "/usr/include/bits/string2.h" 3

extern __inline  size_t __strcspn_c1 (__const char *__s, char __reject);
extern __inline  size_t
__strcspn_c1 (__const char *__s, char __reject)
{
  register size_t __result = 0;
  while (__s[__result] != '\0' && __s[__result] != __reject)
    ++__result;
  return __result;
}

extern __inline  size_t __strcspn_c2 (__const char *__s, char __reject1,
                                     char __reject2);
extern __inline  size_t
__strcspn_c2 (__const char *__s, char __reject1, char __reject2)
{
  register size_t __result = 0;
  while (__s[__result] != '\0' && __s[__result] != __reject1
         && __s[__result] != __reject2)
    ++__result;
  return __result;
}

extern __inline  size_t __strcspn_c3 (__const char *__s, char __reject1,
                                     char __reject2, char __reject3);
extern __inline  size_t
__strcspn_c3 (__const char *__s, char __reject1, char __reject2,
              char __reject3)
{
  register size_t __result = 0;
  while (__s[__result] != '\0' && __s[__result] != __reject1
         && __s[__result] != __reject2 && __s[__result] != __reject3)
    ++__result;
  return __result;
}



 



# 927 "/usr/include/bits/string2.h" 3

extern __inline  size_t __strspn_c1 (__const char *__s, char __accept);
extern __inline  size_t
__strspn_c1 (__const char *__s, char __accept)
{
  register size_t __result = 0;
   
  while (__s[__result] == __accept)
    ++__result;
  return __result;
}

extern __inline  size_t __strspn_c2 (__const char *__s, char __accept1,
                                    char __accept2);
extern __inline  size_t
__strspn_c2 (__const char *__s, char __accept1, char __accept2)
{
  register size_t __result = 0;
   
  while (__s[__result] == __accept1 || __s[__result] == __accept2)
    ++__result;
  return __result;
}

extern __inline  size_t __strspn_c3 (__const char *__s, char __accept1,
                                    char __accept2, char __accept3);
extern __inline  size_t
__strspn_c3 (__const char *__s, char __accept1, char __accept2, char __accept3)
{
  register size_t __result = 0;
   
  while (__s[__result] == __accept1 || __s[__result] == __accept2
         || __s[__result] == __accept3)
    ++__result;
  return __result;
}



 


# 982 "/usr/include/bits/string2.h" 3

extern __inline  char *__strpbrk_c2 (__const char *__s, int __accept1,
                                     int __accept2);
extern __inline  char *
__strpbrk_c2 (__const char *__s, int __accept1, int __accept2)
{
   
  while (*__s != '\0' && *__s != __accept1 && *__s != __accept2)
    ++__s;
  return *__s == '\0' ? ((void *)0)  : (char *) (size_t) __s;
}

extern __inline  char *__strpbrk_c3 (__const char *__s, int __accept1,
                                     int __accept2, int __accept3);
extern __inline  char *
__strpbrk_c3 (__const char *__s, int __accept1, int __accept2,
              int __accept3)
{
   
  while (*__s != '\0' && *__s != __accept1 && *__s != __accept2
         && *__s != __accept3)
    ++__s;
  return *__s == '\0' ? ((void *)0)  : (char *) (size_t) __s;
}



 



# 1021 "/usr/include/bits/string2.h" 3



# 1033 "/usr/include/bits/string2.h" 3












extern __inline  char *__strtok_r_1c (char *__s, char __sep, char **__nextp);
extern __inline  char *
__strtok_r_1c (char *__s, char __sep, char **__nextp)
{
  char *__result;
  if (__s == ((void *)0) )
    __s = *__nextp;
  while (*__s == __sep)
    ++__s;
  if (*__s == '\0')
    __result = ((void *)0) ;
  else
    {
      __result = __s;
      while (*__s != '\0' && *__s != __sep)
        ++__s;
      if (*__s == '\0')
        *__nextp = __s;
      else
        {
          *__s = '\0';
          *__nextp = __s + 1;
        }
    }
  return __result;
}









# 1094 "/usr/include/bits/string2.h" 3

extern __inline  char *__strsep_1c (char **__s, char __reject);
extern __inline  char *
__strsep_1c (char **__s, char __reject)
{
  register char *__retval = *__s;
  if (__retval == ((void *)0) )
    return *__s = ((void *)0) ;
  if (*__retval == __reject)
    *(*__s)++ = '\0';
  else
    if ((*__s = (__extension__ (__builtin_constant_p (  __reject ) && (  
__reject ) == '\0'     ? (char *) __rawmemchr ( __retval ,   __reject )        
: strchr ( __retval ,   __reject ))) ) != ((void *)0) )
      *(*__s)++ = '\0';
    else
      *__s = ((void *)0) ;
  return __retval;
}

extern __inline  char *__strsep_2c (char **__s, char __reject1, char __reject2);
extern __inline  char *
__strsep_2c (char **__s, char __reject1, char __reject2)
{
  register char *__retval = *__s;
  if (__retval == ((void *)0) )
    return *__s = ((void *)0) ;
  if (*__retval == __reject1 || *__retval == __reject2)
    *(*__s)++ = '\0';
  else
    {
      register char *__cp = __retval;
      while (*__cp != '\0' && *__cp != __reject1 && *__cp != __reject2)
        ++__cp;
      if (*__cp != '\0')
        {
          *__s = __cp;
          *(*__s)++ = '\0';
        }
      else
        *__s = ((void *)0) ;
    }
  return __retval;
}

extern __inline  char *__strsep_3c (char **__s, char __reject1, char __reject2,
                                   char __reject3);
extern __inline  char *
__strsep_3c (char **__s, char __reject1, char __reject2, char __reject3)
{
  register char *__retval = *__s;
  if (__retval == ((void *)0) )
    return *__s = ((void *)0) ;
  if (*__retval == __reject1 || *__retval == __reject2
      || *__retval == __reject3)
    *(*__s)++ = '\0';
  else
    {
      register char *__cp = __retval;
      while (*__cp != '\0' && *__cp != __reject1 && *__cp != __reject2
             && *__cp != __reject3)
        ++__cp;
      if (*__cp != '\0')
        {
          *__s = __cp;
          *(*__s)++ = '\0';
        }
      else
        *__s = ((void *)0) ;
    }
  return __retval;
}

extern __inline  char *__strsep_g (char **__s, __const char *__reject);
extern __inline  char *
__strsep_g (char **__s, __const char *__reject)
{
  register char *__retval = *__s;
  if (__retval == ((void *)0) )
    return ((void *)0) ;
  if ((*__s = __extension__     ({ char __a0, __a1, __a2;       
(__builtin_constant_p (  __reject ) && ((size_t)(const void *)((   __reject  ) 
+ 1) - (size_t)(const void *)(   __reject  ) == 1)       ? ((__a0 = ((__const 
char  *) (  __reject ))[0], __a0 == '\0')  ? ((void) ( __retval ), ((void *)0) 
)   : ((__a1 = ((__const char *) (  __reject ))[1], __a1 == '\0')   ? 
(__extension__ (__builtin_constant_p (  __a0 ) && (  __a0 ) == '\0'   ? (char 
*) __rawmemchr (  __retval  ,   __a0 )  : strchr (  __retval  ,   __a0 )))      
: ((__a2 = ((__const char *) (  __reject ))[2], __a2 == '\0')   ? __strpbrk_c2 
( __retval , __a0, __a1) : (((__const char *) (  __reject ))[3] == '\0'  ? 
__strpbrk_c3 ( __retval , __a0, __a1, __a2)   : strpbrk ( __retval ,   __reject 
))))) : strpbrk ( __retval ,   __reject )); }) ) != ((void *)0) )
    *(*__s)++ = '\0';
  return __retval;
}





 






# 1 "/usr/include/stdlib.h" 1 3
 

















 







 





# 1 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 1 3






 


# 19 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3



 


 





 


# 61 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


 





 


















 





 

 

# 131 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


 

 


# 188 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3





 




 

# 271 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


# 283 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


 

 

# 317 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3




 





















# 33 "/usr/include/stdlib.h" 2 3


 

# 523 "/usr/include/stdlib.h" 3




 
extern void *malloc (size_t __size)    ;
 
extern void *calloc (size_t __nmemb, size_t __size)
        ;


# 862 "/usr/include/stdlib.h" 3



 


# 1188 "/usr/include/bits/string2.h" 2 3





extern char *__strdup (__const char *__string)    ;

# 1204 "/usr/include/bits/string2.h" 3








extern char *__strndup (__const char *__string, size_t __n)
        ;

# 1232 "/usr/include/bits/string2.h" 3













# 359 "/usr/include/string.h" 2 3




 


# 19 "guile-gtk.c" 2

# 1 "config.h" 1
 
 

 


 

 

 
 

 
 

 


 


 


 


 


 


 


 


 
 

 


 


 


 


 


 


 


 


 

# 20 "guile-gtk.c" 2

# 1 "/usr/include/assert.h" 1 3
 

















 



# 33 "/usr/include/assert.h" 3











 




# 63 "/usr/include/assert.h" 3


 

 
extern void __assert_fail (__const char *__assertion, __const char *__file,
                           unsigned int __line, __const char *__function)
       __attribute__ ((__noreturn__));

 
extern void __assert_perror_fail (int __errnum, __const char *__file,
                                  unsigned int __line,
                                  __const char *__function)
       __attribute__ ((__noreturn__));


 

extern void __assert (const char *__assertion, const char *__file, int __line)
       __attribute__ ((__noreturn__));


 













 















# 21 "guile-gtk.c" 2






# 1 "/usr/include/gtk-1.2/gtk/gtk.h" 1 3
 


















 










# 1 "/usr/include/gtk-1.2/gdk/gdk.h" 1 3
 


















 










# 1 "/usr/include/gtk-1.2/gdk/gdktypes.h" 1 3
 


















 










 

# 1 "/usr/include/glib-1.2/glib.h" 1 3
 


















 









 



































# 1 "/usr/lib/glib/include/glibconfig.h" 1
 







# 1 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/limits.h" 1 3
 


 





 
# 1 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/syslimits.h" 1 3
 





# 1 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/limits.h" 1 3
 


 

# 114 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/limits.h" 3



# 1 "/usr/include/limits.h" 1 3
 

















 









 





 

# 113 "/usr/include/limits.h" 3




  




# 140 "/usr/include/limits.h" 3



 
# 1 "/usr/include/bits/posix1_lim.h" 1 3
 

















 









 

 


 


 


 


 


 


 


 



 


 


 


 


 



 


 


 


 


 


 


 


 


 


 


 


 



 


 


 


 


 



 
# 1 "/usr/include/bits/local_lim.h" 1 3
 


















 














 
# 1 "/usr/include/linux/limits.h" 1 3



















# 36 "/usr/include/bits/local_lim.h" 2 3


 




 




 





 

 


 

 


 

 


 



 


 

# 126 "/usr/include/bits/posix1_lim.h" 2 3








 







# 144 "/usr/include/limits.h" 2 3




# 1 "/usr/include/bits/posix2_lim.h" 1 3
 

















 







 


 


 


 


 



 



 


 



 




 




























 



# 148 "/usr/include/limits.h" 2 3






# 117 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/limits.h" 2 3




# 7 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/syslimits.h" 2 3


# 11 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/limits.h" 2 3





 



 



 




 





 



 












 

 




 



 








 



 













 



# 107 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/limits.h" 3




 









# 9 "/usr/lib/glib/include/glibconfig.h" 2

# 1 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/float.h" 1 3
 



 

    


    


    


    


    


    


    


    


    


    


    



    


    


    


    


    


    


    


    


    



    


    


    



union __convert_long_double {
  unsigned __convert_long_double_i[4];
  long double __convert_long_double_d;
};


    


    


    


    


    


    




# 10 "/usr/lib/glib/include/glibconfig.h" 2


















typedef signed char gint8;
typedef unsigned char guint8;
typedef signed short gint16;
typedef unsigned short guint16;
typedef signed int gint32;
typedef unsigned int guint32;









__extension__  typedef signed long long gint64;
__extension__  typedef unsigned long long guint64;


































typedef struct _GStaticMutex GStaticMutex;
struct _GStaticMutex
{
  struct _GMutex *runtime_mutex;
  union {
    char   pad[24];
    double dummy_double;
    void  *dummy_pointer;
    long   dummy_long;
  } aligned_pad_u;
};










































# 66 "/usr/include/glib-1.2/glib.h" 2 3


 

# 1 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stdarg.h" 1 3
 
































































 










 



 

















void va_end (__gnuc_va_list);            


 



 












 























 
 













# 175 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stdarg.h" 3


 




 

 

 

typedef __gnuc_va_list va_list;
























# 70 "/usr/include/glib-1.2/glib.h" 2 3


 






# 89 "/usr/include/glib-1.2/glib.h" 3



 






# 107 "/usr/include/glib-1.2/glib.h" 3









 





























 


# 157 "/usr/include/glib-1.2/glib.h" 3



 










 

















# 203 "/usr/include/glib-1.2/glib.h" 3



















 












# 243 "/usr/include/glib-1.2/glib.h" 3




 
























 










 









 











 





































 
















# 368 "/usr/include/glib-1.2/glib.h" 3









# 395 "/usr/include/glib-1.2/glib.h" 3















# 421 "/usr/include/glib-1.2/glib.h" 3


# 434 "/usr/include/glib-1.2/glib.h" 3

# 461 "/usr/include/glib-1.2/glib.h" 3





 






typedef char   gchar;
typedef short  gshort;
typedef long   glong;
typedef int    gint;
typedef gint   gboolean;

typedef unsigned char   guchar;
typedef unsigned short  gushort;
typedef unsigned long   gulong;
typedef unsigned int    guint;

typedef float   gfloat;
typedef double  gdouble;

 










typedef void* gpointer;
typedef const void *gconstpointer;


typedef gint32  gssize;
typedef guint32 gsize;
typedef guint32 GQuark;
typedef gint32  GTime;


 






        


 










 



# 542 "/usr/include/glib-1.2/glib.h" 3

# 557 "/usr/include/glib-1.2/glib.h" 3


# 568 "/usr/include/glib-1.2/glib.h" 3









# 593 "/usr/include/glib-1.2/glib.h" 3


# 609 "/usr/include/glib-1.2/glib.h" 3















 





























 







 













extern  const guint glib_major_version;
extern  const guint glib_minor_version;
extern  const guint glib_micro_version;
extern  const guint glib_interface_age;
extern  const guint glib_binary_age;







 

typedef struct _GAllocator      GAllocator;
typedef struct _GArray          GArray;
typedef struct _GByteArray      GByteArray;
typedef struct _GCache          GCache;
typedef struct _GCompletion     GCompletion;
typedef struct _GData           GData;
typedef struct _GDebugKey       GDebugKey;
typedef struct _GHashTable      GHashTable;
typedef struct _GHook           GHook;
typedef struct _GHookList       GHookList;
typedef struct _GList           GList;
typedef struct _GMemChunk       GMemChunk;
typedef struct _GNode           GNode;
typedef struct _GPtrArray       GPtrArray;
typedef struct _GRelation       GRelation;
typedef struct _GScanner        GScanner;
typedef struct _GScannerConfig  GScannerConfig;
typedef struct _GSList          GSList;
typedef struct _GString         GString;
typedef struct _GStringChunk    GStringChunk;
typedef struct _GTimer          GTimer;
typedef struct _GTree           GTree;
typedef struct _GTuples         GTuples;
typedef union  _GTokenValue     GTokenValue;
typedef struct _GIOChannel      GIOChannel;

 
typedef enum
{
  G_TRAVERSE_LEAFS      = 1 << 0,
  G_TRAVERSE_NON_LEAFS  = 1 << 1,
  G_TRAVERSE_ALL        = G_TRAVERSE_LEAFS | G_TRAVERSE_NON_LEAFS,
  G_TRAVERSE_MASK       = 0x03
} GTraverseFlags;

 
typedef enum
{
  G_IN_ORDER,
  G_PRE_ORDER,
  G_POST_ORDER,
  G_LEVEL_ORDER
} GTraverseType;

 




 

typedef enum
{
   
  G_LOG_FLAG_RECURSION          = 1 << 0,
  G_LOG_FLAG_FATAL              = 1 << 1,
  
   
  G_LOG_LEVEL_ERROR             = 1 << 2,        
  G_LOG_LEVEL_CRITICAL          = 1 << 3,
  G_LOG_LEVEL_WARNING           = 1 << 4,
  G_LOG_LEVEL_MESSAGE           = 1 << 5,
  G_LOG_LEVEL_INFO              = 1 << 6,
  G_LOG_LEVEL_DEBUG             = 1 << 7,
  
  G_LOG_LEVEL_MASK              = ~(G_LOG_FLAG_RECURSION | G_LOG_FLAG_FATAL)
} GLogLevelFlags;

 



typedef gpointer        (*GCacheNewFunc)        (gpointer       key);
typedef gpointer        (*GCacheDupFunc)        (gpointer       value);
typedef void            (*GCacheDestroyFunc)    (gpointer       value);
typedef gint            (*GCompareFunc)         (gconstpointer  a,
                                                 gconstpointer  b);
typedef gchar*          (*GCompletionFunc)      (gpointer);
typedef void            (*GDestroyNotify)       (gpointer       data);
typedef void            (*GDataForeachFunc)     (GQuark         key_id,
                                                 gpointer       data,
                                                 gpointer       user_data);
typedef void            (*GFunc)                (gpointer       data,
                                                 gpointer       user_data);
typedef guint           (*GHashFunc)            (gconstpointer  key);
typedef void            (*GFreeFunc)            (gpointer       data);
typedef void            (*GHFunc)               (gpointer       key,
                                                 gpointer       value,
                                                 gpointer       user_data);
typedef gboolean        (*GHRFunc)              (gpointer       key,
                                                 gpointer       value,
                                                 gpointer       user_data);
typedef gint            (*GHookCompareFunc)     (GHook          *new_hook,
                                                 GHook          *sibling);
typedef gboolean        (*GHookFindFunc)        (GHook          *hook,
                                                 gpointer        data);
typedef void            (*GHookMarshaller)      (GHook          *hook,
                                                 gpointer        data);
typedef gboolean        (*GHookCheckMarshaller) (GHook          *hook,
                                                 gpointer        data);
typedef void            (*GHookFunc)            (gpointer        data);
typedef gboolean        (*GHookCheckFunc)       (gpointer        data);
typedef void            (*GHookFreeFunc)        (GHookList      *hook_list,
                                                 GHook          *hook);
typedef void            (*GLogFunc)             (const gchar   *log_domain,
                                                 GLogLevelFlags log_level,
                                                 const gchar   *message,
                                                 gpointer       user_data);
typedef gboolean        (*GNodeTraverseFunc)    (GNode         *node,
                                                 gpointer       data);
typedef void            (*GNodeForeachFunc)     (GNode         *node,
                                                 gpointer       data);
typedef gint            (*GSearchFunc)          (gpointer       key,
                                                 gpointer       data);
typedef void            (*GScannerMsgFunc)      (GScanner      *scanner,
                                                 gchar         *message,
                                                 gint           error);
typedef gint            (*GTraverseFunc)        (gpointer       key,
                                                 gpointer       value,
                                                 gpointer       data);
typedef void            (*GVoidFunc)            (void);


struct _GList
{
  gpointer data;
  GList *next;
  GList *prev;
};

struct _GSList
{
  gpointer data;
  GSList *next;
};

struct _GString
{
  gchar *str;
  gint len;
};

struct _GArray
{
  gchar *data;
  guint len;
};

struct _GByteArray
{
  guint8 *data;
  guint   len;
};

struct _GPtrArray
{
  gpointer *pdata;
  guint     len;
};

struct _GTuples
{
  guint len;
};

struct _GDebugKey
{
  gchar *key;
  guint  value;
};


 

void   g_list_push_allocator    (GAllocator     *allocator);
void   g_list_pop_allocator     (void);
GList* g_list_alloc             (void);
void   g_list_free              (GList          *list);
void   g_list_free_1            (GList          *list);
GList* g_list_append            (GList          *list,
                                 gpointer        data);
GList* g_list_prepend           (GList          *list,
                                 gpointer        data);
GList* g_list_insert            (GList          *list,
                                 gpointer        data,
                                 gint            position);
GList* g_list_insert_sorted     (GList          *list,
                                 gpointer        data,
                                 GCompareFunc    func);
GList* g_list_concat            (GList          *list1,
                                 GList          *list2);
GList* g_list_remove            (GList          *list,
                                 gpointer        data);
GList* g_list_remove_link       (GList          *list,
                                 GList          *llink);
GList* g_list_reverse           (GList          *list);
GList* g_list_copy              (GList          *list);
GList* g_list_nth               (GList          *list,
                                 guint           n);
GList* g_list_find              (GList          *list,
                                 gpointer        data);
GList* g_list_find_custom       (GList          *list,
                                 gpointer        data,
                                 GCompareFunc    func);
gint   g_list_position          (GList          *list,
                                 GList          *llink);
gint   g_list_index             (GList          *list,
                                 gpointer        data);
GList* g_list_last              (GList          *list);
GList* g_list_first             (GList          *list);
guint  g_list_length            (GList          *list);
void   g_list_foreach           (GList          *list,
                                 GFunc           func,
                                 gpointer        user_data);
GList* g_list_sort              (GList          *list,
                                 GCompareFunc    compare_func);
gpointer g_list_nth_data        (GList          *list,
                                 guint           n);




 

void    g_slist_push_allocator  (GAllocator     *allocator);
void    g_slist_pop_allocator   (void);
GSList* g_slist_alloc           (void);
void    g_slist_free            (GSList         *list);
void    g_slist_free_1          (GSList         *list);
GSList* g_slist_append          (GSList         *list,
                                 gpointer        data);
GSList* g_slist_prepend         (GSList         *list,
                                 gpointer        data);
GSList* g_slist_insert          (GSList         *list,
                                 gpointer        data,
                                 gint            position);
GSList* g_slist_insert_sorted   (GSList         *list,
                                 gpointer        data,
                                 GCompareFunc    func);
GSList* g_slist_concat          (GSList         *list1,
                                 GSList         *list2);
GSList* g_slist_remove          (GSList         *list,
                                 gpointer        data);
GSList* g_slist_remove_link     (GSList         *list,
                                 GSList         *llink);
GSList* g_slist_reverse         (GSList         *list);
GSList* g_slist_copy            (GSList         *list);
GSList* g_slist_nth             (GSList         *list,
                                 guint           n);
GSList* g_slist_find            (GSList         *list,
                                 gpointer        data);
GSList* g_slist_find_custom     (GSList         *list,
                                 gpointer        data,
                                 GCompareFunc    func);
gint    g_slist_position        (GSList         *list,
                                 GSList         *llink);
gint    g_slist_index           (GSList         *list,
                                 gpointer        data);
GSList* g_slist_last            (GSList         *list);
guint   g_slist_length          (GSList         *list);
void    g_slist_foreach         (GSList         *list,
                                 GFunc           func,
                                 gpointer        user_data);
GSList*  g_slist_sort           (GSList          *list,
                                 GCompareFunc    compare_func);
gpointer g_slist_nth_data       (GSList         *list,
                                 guint           n);



 

GHashTable* g_hash_table_new            (GHashFunc       hash_func,
                                         GCompareFunc    key_compare_func);
void        g_hash_table_destroy        (GHashTable     *hash_table);
void        g_hash_table_insert         (GHashTable     *hash_table,
                                         gpointer        key,
                                         gpointer        value);
void        g_hash_table_remove         (GHashTable     *hash_table,
                                         gconstpointer   key);
gpointer    g_hash_table_lookup         (GHashTable     *hash_table,
                                         gconstpointer   key);
gboolean    g_hash_table_lookup_extended(GHashTable     *hash_table,
                                         gconstpointer   lookup_key,
                                         gpointer       *orig_key,
                                         gpointer       *value);
void        g_hash_table_freeze         (GHashTable     *hash_table);
void        g_hash_table_thaw           (GHashTable     *hash_table);
void        g_hash_table_foreach        (GHashTable     *hash_table,
                                         GHFunc          func,
                                         gpointer        user_data);
guint       g_hash_table_foreach_remove (GHashTable     *hash_table,
                                         GHRFunc         func,
                                         gpointer        user_data);
guint       g_hash_table_size           (GHashTable     *hash_table);


 

GCache*  g_cache_new           (GCacheNewFunc      value_new_func,
                                GCacheDestroyFunc  value_destroy_func,
                                GCacheDupFunc      key_dup_func,
                                GCacheDestroyFunc  key_destroy_func,
                                GHashFunc          hash_key_func,
                                GHashFunc          hash_value_func,
                                GCompareFunc       key_compare_func);
void     g_cache_destroy       (GCache            *cache);
gpointer g_cache_insert        (GCache            *cache,
                                gpointer           key);
void     g_cache_remove        (GCache            *cache,
                                gpointer           value);
void     g_cache_key_foreach   (GCache            *cache,
                                GHFunc             func,
                                gpointer           user_data);
void     g_cache_value_foreach (GCache            *cache,
                                GHFunc             func,
                                gpointer           user_data);


 

GTree*   g_tree_new      (GCompareFunc   key_compare_func);
void     g_tree_destroy  (GTree         *tree);
void     g_tree_insert   (GTree         *tree,
                          gpointer       key,
                          gpointer       value);
void     g_tree_remove   (GTree         *tree,
                          gpointer       key);
gpointer g_tree_lookup   (GTree         *tree,
                          gpointer       key);
void     g_tree_traverse (GTree         *tree,
                          GTraverseFunc  traverse_func,
                          GTraverseType  traverse_type,
                          gpointer       data);
gpointer g_tree_search   (GTree         *tree,
                          GSearchFunc    search_func,
                          gpointer       data);
gint     g_tree_height   (GTree         *tree);
gint     g_tree_nnodes   (GTree         *tree);



 

struct _GNode
{
  gpointer data;
  GNode   *next;
  GNode   *prev;
  GNode   *parent;
  GNode   *children;
};






void     g_node_push_allocator  (GAllocator       *allocator);
void     g_node_pop_allocator   (void);
GNode*   g_node_new             (gpointer          data);
void     g_node_destroy         (GNode            *root);
void     g_node_unlink          (GNode            *node);
GNode*   g_node_insert          (GNode            *parent,
                                 gint              position,
                                 GNode            *node);
GNode*   g_node_insert_before   (GNode            *parent,
                                 GNode            *sibling,
                                 GNode            *node);
GNode*   g_node_prepend         (GNode            *parent,
                                 GNode            *node);
guint    g_node_n_nodes         (GNode            *root,
                                 GTraverseFlags    flags);
GNode*   g_node_get_root        (GNode            *node);
gboolean g_node_is_ancestor     (GNode            *node,
                                 GNode            *descendant);
guint    g_node_depth           (GNode            *node);
GNode*   g_node_find            (GNode            *root,
                                 GTraverseType     order,
                                 GTraverseFlags    flags,
                                 gpointer          data);

 











 




void     g_node_traverse        (GNode            *root,
                                 GTraverseType     order,
                                 GTraverseFlags    flags,
                                 gint              max_depth,
                                 GNodeTraverseFunc func,
                                 gpointer          data);

 




guint    g_node_max_height       (GNode *root);

void     g_node_children_foreach (GNode           *node,
                                  GTraverseFlags   flags,
                                  GNodeForeachFunc func,
                                  gpointer         data);
void     g_node_reverse_children (GNode           *node);
guint    g_node_n_children       (GNode           *node);
GNode*   g_node_nth_child        (GNode           *node,
                                  guint            n);
GNode*   g_node_last_child       (GNode           *node);
GNode*   g_node_find_child       (GNode           *node,
                                  GTraverseFlags   flags,
                                  gpointer         data);
gint     g_node_child_position   (GNode           *node,
                                  GNode           *child);
gint     g_node_child_index      (GNode           *node,
                                  gpointer         data);

GNode*   g_node_first_sibling    (GNode           *node);
GNode*   g_node_last_sibling     (GNode           *node);









 


typedef enum
{
  G_HOOK_FLAG_ACTIVE    = 1 << 0,
  G_HOOK_FLAG_IN_CALL   = 1 << 1,
  G_HOOK_FLAG_MASK      = 0x0f
} GHookFlagMask;



struct _GHookList
{
  guint          seq_id;
  guint          hook_size;
  guint          is_setup : 1;
  GHook         *hooks;
  GMemChunk     *hook_memchunk;
  GHookFreeFunc  hook_free;  
  GHookFreeFunc  hook_destroy;  
};

struct _GHook
{
  gpointer       data;
  GHook         *next;
  GHook         *prev;
  guint          ref_count;
  guint          hook_id;
  guint          flags;
  gpointer       func;
  GDestroyNotify destroy;
};












void     g_hook_list_init               (GHookList              *hook_list,
                                         guint                   hook_size);
void     g_hook_list_clear              (GHookList              *hook_list);
GHook*   g_hook_alloc                   (GHookList              *hook_list);
void     g_hook_free                    (GHookList              *hook_list,
                                         GHook                  *hook);
void     g_hook_ref                     (GHookList              *hook_list,
                                         GHook                  *hook);
void     g_hook_unref                   (GHookList              *hook_list,
                                         GHook                  *hook);
gboolean g_hook_destroy                 (GHookList              *hook_list,
                                         guint                   hook_id);
void     g_hook_destroy_link            (GHookList              *hook_list,
                                         GHook                  *hook);
void     g_hook_prepend                 (GHookList              *hook_list,
                                         GHook                  *hook);
void     g_hook_insert_before           (GHookList              *hook_list,
                                         GHook                  *sibling,
                                         GHook                  *hook);
void     g_hook_insert_sorted           (GHookList              *hook_list,
                                         GHook                  *hook,
                                         GHookCompareFunc        func);
GHook*   g_hook_get                     (GHookList              *hook_list,
                                         guint                   hook_id);
GHook*   g_hook_find                    (GHookList              *hook_list,
                                         gboolean                need_valids,
                                         GHookFindFunc           func,
                                         gpointer                data);
GHook*   g_hook_find_data               (GHookList              *hook_list,
                                         gboolean                need_valids,
                                         gpointer                data);
GHook*   g_hook_find_func               (GHookList              *hook_list,
                                         gboolean                need_valids,
                                         gpointer                func);
GHook*   g_hook_find_func_data          (GHookList              *hook_list,
                                         gboolean                need_valids,
                                         gpointer                func,
                                         gpointer                data);
 
GHook*   g_hook_first_valid             (GHookList              *hook_list,
                                         gboolean                
may_be_in_call);
 


GHook*   g_hook_next_valid              (GHookList              *hook_list,
                                         GHook                  *hook,
                                         gboolean                
may_be_in_call);

 
gint     g_hook_compare_ids             (GHook                  *new_hook,
                                         GHook                  *sibling);

 



 

void     g_hook_list_invoke             (GHookList              *hook_list,
                                         gboolean                may_recurse);
 


void     g_hook_list_invoke_check       (GHookList              *hook_list,
                                         gboolean                may_recurse);
 

void     g_hook_list_marshal            (GHookList              *hook_list,
                                         gboolean                may_recurse,
                                         GHookMarshaller         marshaller,
                                         gpointer                data);
void     g_hook_list_marshal_check      (GHookList              *hook_list,
                                         gboolean                may_recurse,
                                         GHookCheckMarshaller    marshaller,
                                         gpointer                data);


 








void g_on_error_query (const gchar *prg_name);
void g_on_error_stack_trace (const gchar *prg_name);


 

extern          const gchar             *g_log_domain_glib;
guint           g_log_set_handler       (const gchar    *log_domain,
                                         GLogLevelFlags  log_levels,
                                         GLogFunc        log_func,
                                         gpointer        user_data);
void            g_log_remove_handler    (const gchar    *log_domain,
                                         guint           handler_id);
void            g_log_default_handler   (const gchar    *log_domain,
                                         GLogLevelFlags  log_level,
                                         const gchar    *message,
                                         gpointer        unused_data);
void            g_log                   (const gchar    *log_domain,
                                         GLogLevelFlags  log_level,
                                         const gchar    *format,
                                         ...) __attribute__((format (printf,  3 
,   4 ))) ;
void            g_logv                  (const gchar    *log_domain,
                                         GLogLevelFlags  log_level,
                                         const gchar    *format,
                                         va_list         args);
GLogLevelFlags  g_log_set_fatal_mask    (const gchar    *log_domain,
                                         GLogLevelFlags  fatal_mask);
GLogLevelFlags  g_log_set_always_fatal  (GLogLevelFlags  fatal_mask);



# 1307 "/usr/include/glib-1.2/glib.h" 3













# 1348 "/usr/include/glib-1.2/glib.h" 3


typedef void    (*GPrintFunc)           (const gchar    *string);
void            g_print                 (const gchar    *format,
                                         ...) __attribute__((format (printf,  1 
,   2 ))) ;
GPrintFunc      g_set_print_handler     (GPrintFunc      func);
void            g_printerr              (const gchar    *format,
                                         ...) __attribute__((format (printf,  1 
,   2 ))) ;
GPrintFunc      g_set_printerr_handler  (GPrintFunc      func);

 
typedef void            (*GErrorFunc)           (const gchar *str);
typedef void            (*GWarningFunc)         (const gchar *str);
GErrorFunc   g_set_error_handler   (GErrorFunc   func);
GWarningFunc g_set_warning_handler (GWarningFunc func);
GPrintFunc   g_set_message_handler (GPrintFunc func);


 










gpointer g_malloc      (gulong    size);
gpointer g_malloc0     (gulong    size);
gpointer g_realloc     (gpointer  mem,
                        gulong    size);
void     g_free        (gpointer  mem);



void     g_mem_profile (void);
void     g_mem_check   (gpointer  mem);

 

GAllocator* g_allocator_new   (const gchar  *name,
                               guint         n_preallocs);
void        g_allocator_free  (GAllocator   *allocator);






 











 









GMemChunk* g_mem_chunk_new     (gchar     *name,
                                gint       atom_size,
                                gulong     area_size,
                                gint       type);
void       g_mem_chunk_destroy (GMemChunk *mem_chunk);
gpointer   g_mem_chunk_alloc   (GMemChunk *mem_chunk);
gpointer   g_mem_chunk_alloc0  (GMemChunk *mem_chunk);
void       g_mem_chunk_free    (GMemChunk *mem_chunk,
                                gpointer   mem);
void       g_mem_chunk_clean   (GMemChunk *mem_chunk);
void       g_mem_chunk_reset   (GMemChunk *mem_chunk);
void       g_mem_chunk_print   (GMemChunk *mem_chunk);
void       g_mem_chunk_info    (void);

 







void g_blow_chunks (void);


 

GTimer* g_timer_new     (void);
void    g_timer_destroy (GTimer  *timer);
void    g_timer_start   (GTimer  *timer);
void    g_timer_stop    (GTimer  *timer);
void    g_timer_reset   (GTimer  *timer);
gdouble g_timer_elapsed (GTimer  *timer,
                         gulong  *microseconds);


 



gchar*   g_strdelimit           (gchar       *string,
                                 const gchar *delimiters,
                                 gchar        new_delimiter);
gdouble  g_strtod               (const gchar *nptr,
                                 gchar      **endptr);
gchar*   g_strerror             (gint         errnum);
gchar*   g_strsignal            (gint         signum);
gint     g_strcasecmp           (const gchar *s1,
                                 const gchar *s2);
gint     g_strncasecmp          (const gchar *s1,
                                 const gchar *s2,
                                 guint        n);
void     g_strdown              (gchar       *string);
void     g_strup                (gchar       *string);
void     g_strreverse           (gchar       *string);
 
gchar*   g_strchug              (gchar        *string);
 
gchar*  g_strchomp              (gchar        *string);
 


 


gchar*   g_strdup               (const gchar *str);
gchar*   g_strdup_printf        (const gchar *format,
                                 ...) __attribute__((format (printf,  1 ,   2 
))) ;
gchar*   g_strdup_vprintf       (const gchar *format,
                                 va_list      args);
gchar*   g_strndup              (const gchar *str,
                                 guint        n);
gchar*   g_strnfill             (guint        length,
                                 gchar        fill_char);
gchar*   g_strconcat            (const gchar *string1,
                                 ...);  
gchar*   g_strjoin              (const gchar  *separator,
                                 ...);  
gchar*   g_strescape            (gchar        *string);
gpointer g_memdup               (gconstpointer mem,
                                 guint         byte_size);

 






gchar**  g_strsplit             (const gchar  *string,
                                 const gchar  *delimiter,
                                 gint          max_tokens);
gchar*   g_strjoinv             (const gchar  *separator,
                                 gchar       **str_array);
void     g_strfreev             (gchar       **str_array);



 

guint   g_printf_string_upper_bound (const gchar* format,
                                     va_list      args);


 

gchar*  g_get_user_name         (void);
gchar*  g_get_real_name         (void);
gchar*  g_get_home_dir          (void);
gchar*  g_get_tmp_dir           (void);
gchar*  g_get_prgname           (void);
void    g_set_prgname           (const gchar *prgname);


 

guint   g_parse_debug_string    (const gchar *string,
                                 GDebugKey   *keys,
                                 guint        nkeys);
gint    g_snprintf              (gchar       *string,
                                 gulong       n,
                                 gchar const *format,
                                 ...) __attribute__((format (printf,  3 ,   4 
))) ;
gint    g_vsnprintf             (gchar       *string,
                                 gulong       n,
                                 gchar const *format,
                                 va_list      args);
gchar*  g_basename              (const gchar *file_name);
 
gboolean g_path_is_absolute     (const gchar *file_name);
 
gchar*  g_path_skip_root        (gchar       *file_name);

 
gchar*  g_dirname               (const gchar *file_name);
gchar*  g_get_current_dir       (void);

 

gchar*  g_getenv                (const gchar *variable);


 




void    g_atexit                (GVoidFunc    func);


 

extern inline  gint     g_bit_nth_lsf (guint32 mask,
                                       gint    nth_bit);

extern inline  gint
g_bit_nth_lsf (guint32 mask,
               gint    nth_bit)
{
  do
    {
      nth_bit++;
      if (mask & (1 << (guint) nth_bit))
        return nth_bit;
    }
  while (nth_bit < 32);
  return -1;
}


extern inline  gint     g_bit_nth_msf (guint32 mask,
                                       gint    nth_bit);

extern inline  gint
g_bit_nth_msf (guint32 mask,
               gint    nth_bit)
{
  if (nth_bit < 0)
    nth_bit = 32;
  do
    {
      nth_bit--;
      if (mask & (1 << (guint) nth_bit))
        return nth_bit;
    }
  while (nth_bit > 0);
  return -1;
}


extern inline  guint    g_bit_storage (guint number);

extern inline  guint
g_bit_storage (guint number)
{
  register guint n_bits = 0;
  
  do
    {
      n_bits++;
      number >>= 1;
    }
  while (number);
  return n_bits;
}


 

GStringChunk* g_string_chunk_new           (gint size);
void          g_string_chunk_free          (GStringChunk *chunk);
gchar*        g_string_chunk_insert        (GStringChunk *chunk,
                                            const gchar  *string);
gchar*        g_string_chunk_insert_const  (GStringChunk *chunk,
                                            const gchar  *string);


 

GString* g_string_new       (const gchar *init);
GString* g_string_sized_new (guint        dfl_size);
void     g_string_free      (GString     *string,
                             gint         free_segment);
GString* g_string_assign    (GString     *lval,
                             const gchar *rval);
GString* g_string_truncate  (GString     *string,
                             gint         len);
GString* g_string_append    (GString     *string,
                             const gchar *val);
GString* g_string_append_c  (GString     *string,
                             gchar        c);
GString* g_string_prepend   (GString     *string,
                             const gchar *val);
GString* g_string_prepend_c (GString     *string,
                             gchar        c);
GString* g_string_insert    (GString     *string,
                             gint         pos,
                             const gchar *val);
GString* g_string_insert_c  (GString     *string,
                             gint         pos,
                             gchar        c);
GString* g_string_erase     (GString     *string,
                             gint         pos,
                             gint         len);
GString* g_string_down      (GString     *string);
GString* g_string_up        (GString     *string);
void     g_string_sprintf   (GString     *string,
                             const gchar *format,
                             ...) __attribute__((format (printf,  2 ,   3 ))) ;
void     g_string_sprintfa  (GString     *string,
                             const gchar *format,
                             ...) __attribute__((format (printf,  2 ,   3 ))) ;


 









GArray* g_array_new               (gboolean         zero_terminated,
                                   gboolean         clear,
                                   guint            element_size);
void    g_array_free              (GArray          *array,
                                   gboolean         free_segment);
GArray* g_array_append_vals       (GArray          *array,
                                   gconstpointer    data,
                                   guint            len);
GArray* g_array_prepend_vals      (GArray          *array,
                                   gconstpointer    data,
                                   guint            len);
GArray* g_array_insert_vals       (GArray          *array,
                                   guint            index,
                                   gconstpointer    data,
                                   guint            len);
GArray* g_array_set_size          (GArray          *array,
                                   guint            length);
GArray* g_array_remove_index      (GArray          *array,
                                   guint            index);
GArray* g_array_remove_index_fast (GArray          *array,
                                   guint            index);

 





GPtrArray*  g_ptr_array_new                (void);
void        g_ptr_array_free               (GPtrArray   *array,
                                            gboolean     free_seg);
void        g_ptr_array_set_size           (GPtrArray   *array,
                                            gint         length);
gpointer    g_ptr_array_remove_index       (GPtrArray   *array,
                                            guint        index);
gpointer    g_ptr_array_remove_index_fast  (GPtrArray   *array,
                                            guint        index);
gboolean    g_ptr_array_remove             (GPtrArray   *array,
                                            gpointer     data);
gboolean    g_ptr_array_remove_fast        (GPtrArray   *array,
                                            gpointer     data);
void        g_ptr_array_add                (GPtrArray   *array,
                                            gpointer     data);

 



GByteArray* g_byte_array_new               (void);
void        g_byte_array_free              (GByteArray   *array,
                                            gboolean      free_segment);
GByteArray* g_byte_array_append            (GByteArray   *array,
                                            const guint8 *data,
                                            guint         len);
GByteArray* g_byte_array_prepend           (GByteArray   *array,
                                            const guint8 *data,
                                            guint         len);
GByteArray* g_byte_array_set_size          (GByteArray   *array,
                                            guint         length);
GByteArray* g_byte_array_remove_index      (GByteArray   *array,
                                            guint         index);
GByteArray* g_byte_array_remove_index_fast (GByteArray   *array,
                                            guint         index);


 

gint  g_str_equal (gconstpointer   v,
                   gconstpointer   v2);
guint g_str_hash  (gconstpointer   v);

gint  g_int_equal (gconstpointer   v,
                   gconstpointer   v2);
guint g_int_hash  (gconstpointer   v);

 





guint g_direct_hash  (gconstpointer v);
gint  g_direct_equal (gconstpointer v,
                      gconstpointer v2);


 

GQuark    g_quark_try_string            (const gchar    *string);
GQuark    g_quark_from_static_string    (const gchar    *string);
GQuark    g_quark_from_string           (const gchar    *string);
gchar*    g_quark_to_string             (GQuark          quark);


 


void      g_datalist_init                (GData          **datalist);
void      g_datalist_clear               (GData          **datalist);
gpointer  g_datalist_id_get_data         (GData          **datalist,
                                          GQuark           key_id);
void      g_datalist_id_set_data_full    (GData          **datalist,
                                          GQuark           key_id,
                                          gpointer         data,
                                          GDestroyNotify   destroy_func);
void      g_datalist_id_remove_no_notify (GData          **datalist,
                                          GQuark           key_id);
void      g_datalist_foreach             (GData          **datalist,
                                          GDataForeachFunc func,
                                          gpointer         user_data);
















 


void      g_dataset_destroy             (gconstpointer    dataset_location);
gpointer  g_dataset_id_get_data         (gconstpointer    dataset_location,
                                         GQuark           key_id);
void      g_dataset_id_set_data_full    (gconstpointer    dataset_location,
                                         GQuark           key_id,
                                         gpointer         data,
                                         GDestroyNotify   destroy_func);
void      g_dataset_id_remove_no_notify (gconstpointer    dataset_location,
                                         GQuark           key_id);
void      g_dataset_foreach             (gconstpointer    dataset_location,
                                         GDataForeachFunc func,
                                         gpointer         user_data);
















 


 











 
typedef enum
{
  G_ERR_UNKNOWN,
  G_ERR_UNEXP_EOF,
  G_ERR_UNEXP_EOF_IN_STRING,
  G_ERR_UNEXP_EOF_IN_COMMENT,
  G_ERR_NON_DIGIT_IN_CONST,
  G_ERR_DIGIT_RADIX,
  G_ERR_FLOAT_RADIX,
  G_ERR_FLOAT_MALFORMED
} GErrorType;

 
typedef enum
{
  G_TOKEN_EOF                   =   0,
  
  G_TOKEN_LEFT_PAREN            = '(',
  G_TOKEN_RIGHT_PAREN           = ')',
  G_TOKEN_LEFT_CURLY            = '{',
  G_TOKEN_RIGHT_CURLY           = '}',
  G_TOKEN_LEFT_BRACE            = '[',
  G_TOKEN_RIGHT_BRACE           = ']',
  G_TOKEN_EQUAL_SIGN            = '=',
  G_TOKEN_COMMA                 = ',',
  
  G_TOKEN_NONE                  = 256,
  
  G_TOKEN_ERROR,
  
  G_TOKEN_CHAR,
  G_TOKEN_BINARY,
  G_TOKEN_OCTAL,
  G_TOKEN_INT,
  G_TOKEN_HEX,
  G_TOKEN_FLOAT,
  G_TOKEN_STRING,
  
  G_TOKEN_SYMBOL,
  G_TOKEN_IDENTIFIER,
  G_TOKEN_IDENTIFIER_NULL,
  
  G_TOKEN_COMMENT_SINGLE,
  G_TOKEN_COMMENT_MULTI,
  G_TOKEN_LAST
} GTokenType;

union   _GTokenValue
{
  gpointer      v_symbol;
  gchar         *v_identifier;
  gulong        v_binary;
  gulong        v_octal;
  gulong        v_int;
  gdouble       v_float;
  gulong        v_hex;
  gchar         *v_string;
  gchar         *v_comment;
  guchar        v_char;
  guint         v_error;
};

struct  _GScannerConfig
{
   

  gchar         *cset_skip_characters;           
  gchar         *cset_identifier_first;
  gchar         *cset_identifier_nth;
  gchar         *cpair_comment_single;           
  
   

  guint         case_sensitive : 1;
  
   


  guint         skip_comment_multi : 1;          
  guint         skip_comment_single : 1;         
  guint         scan_comment_multi : 1;          
  guint         scan_identifier : 1;
  guint         scan_identifier_1char : 1;
  guint         scan_identifier_NULL : 1;
  guint         scan_symbols : 1;
  guint         scan_binary : 1;
  guint         scan_octal : 1;
  guint         scan_float : 1;
  guint         scan_hex : 1;                    
  guint         scan_hex_dollar : 1;             
  guint         scan_string_sq : 1;              
  guint         scan_string_dq : 1;              
  guint         numbers_2_int : 1;               
  guint         int_2_float : 1;                 
  guint         identifier_2_string : 1;
  guint         char_2_token : 1;                
  guint         symbol_2_token : 1;
  guint         scope_0_fallback : 1;            
};

struct  _GScanner
{
   
  gpointer              user_data;
  guint                 max_parse_errors;
  
   
  guint                 parse_errors;
  
   
  const gchar           *input_name;
  
   
  gpointer              derived_data;
  
   
  GScannerConfig        *config;
  
   
  GTokenType            token;
  GTokenValue           value;
  guint                 line;
  guint                 position;
  
   
  GTokenType            next_token;
  GTokenValue           next_value;
  guint                 next_line;
  guint                 next_position;
  
   
  GHashTable            *symbol_table;
  gint                  input_fd;
  const gchar           *text;
  const gchar           *text_end;
  gchar                 *buffer;
  guint                 scope_id;
  
   
  GScannerMsgFunc       msg_handler;
};

GScanner*       g_scanner_new                   (GScannerConfig *config_templ);
void            g_scanner_destroy               (GScanner       *scanner);
void            g_scanner_input_file            (GScanner       *scanner,
                                                 gint           input_fd);
void            g_scanner_sync_file_offset      (GScanner       *scanner);
void            g_scanner_input_text            (GScanner       *scanner,
                                                 const  gchar   *text,
                                                 guint          text_len);
GTokenType      g_scanner_get_next_token        (GScanner       *scanner);
GTokenType      g_scanner_peek_next_token       (GScanner       *scanner);
GTokenType      g_scanner_cur_token             (GScanner       *scanner);
GTokenValue     g_scanner_cur_value             (GScanner       *scanner);
guint           g_scanner_cur_line              (GScanner       *scanner);
guint           g_scanner_cur_position          (GScanner       *scanner);
gboolean        g_scanner_eof                   (GScanner       *scanner);
guint           g_scanner_set_scope             (GScanner       *scanner,
                                                 guint           scope_id);
void            g_scanner_scope_add_symbol      (GScanner       *scanner,
                                                 guint           scope_id,
                                                 const gchar    *symbol,
                                                 gpointer       value);
void            g_scanner_scope_remove_symbol   (GScanner       *scanner,
                                                 guint           scope_id,
                                                 const gchar    *symbol);
gpointer        g_scanner_scope_lookup_symbol   (GScanner       *scanner,
                                                 guint           scope_id,
                                                 const gchar    *symbol);
void            g_scanner_scope_foreach_symbol  (GScanner       *scanner,
                                                 guint           scope_id,
                                                 GHFunc          func,
                                                 gpointer        user_data);
gpointer        g_scanner_lookup_symbol         (GScanner       *scanner,
                                                 const gchar    *symbol);
void            g_scanner_freeze_symbol_table   (GScanner       *scanner);
void            g_scanner_thaw_symbol_table     (GScanner       *scanner);
void            g_scanner_unexp_token           (GScanner       *scanner,
                                                 GTokenType     expected_token,
                                                 const gchar    
*identifier_spec,
                                                 const gchar    *symbol_spec,
                                                 const gchar    *symbol_name,
                                                 const gchar    *message,
                                                 gint            is_error);
void            g_scanner_error                 (GScanner       *scanner,
                                                 const gchar    *format,
                                                 ...) __attribute__((format 
(printf,  2 ,  3 ))) ;
void            g_scanner_warn                  (GScanner       *scanner,
                                                 const gchar    *format,
                                                 ...) __attribute__((format 
(printf,  2 ,  3 ))) ;
gint            g_scanner_stat_mode             (const gchar    *filename);
 











 


struct _GCompletion
{
  GList* items;
  GCompletionFunc func;
  
  gchar* prefix;
  GList* cache;
};

GCompletion* g_completion_new          (GCompletionFunc func);
void         g_completion_add_items    (GCompletion*    cmp,
                                        GList*          items);
void         g_completion_remove_items (GCompletion*    cmp,
                                        GList*          items);
void         g_completion_clear_items  (GCompletion*    cmp);
GList*       g_completion_complete     (GCompletion*    cmp,
                                        gchar*          prefix,
                                        gchar**         new_prefix);
void         g_completion_free         (GCompletion*    cmp);


 








typedef guint16 GDateYear;
typedef guint8  GDateDay;    
typedef struct _GDate GDate;
 
struct tm;

 
typedef enum
{
  G_DATE_DAY   = 0,
  G_DATE_MONTH = 1,
  G_DATE_YEAR  = 2
} GDateDMY;

 
typedef enum
{
  G_DATE_BAD_WEEKDAY  = 0,
  G_DATE_MONDAY       = 1,
  G_DATE_TUESDAY      = 2,
  G_DATE_WEDNESDAY    = 3,
  G_DATE_THURSDAY     = 4,
  G_DATE_FRIDAY       = 5,
  G_DATE_SATURDAY     = 6,
  G_DATE_SUNDAY       = 7
} GDateWeekday;
typedef enum
{
  G_DATE_BAD_MONTH = 0,
  G_DATE_JANUARY   = 1,
  G_DATE_FEBRUARY  = 2,
  G_DATE_MARCH     = 3,
  G_DATE_APRIL     = 4,
  G_DATE_MAY       = 5,
  G_DATE_JUNE      = 6,
  G_DATE_JULY      = 7,
  G_DATE_AUGUST    = 8,
  G_DATE_SEPTEMBER = 9,
  G_DATE_OCTOBER   = 10,
  G_DATE_NOVEMBER  = 11,
  G_DATE_DECEMBER  = 12
} GDateMonth;





 




struct _GDate
{ 
  guint julian_days : 32;  





  guint julian : 1;     
  guint dmy    : 1;     

   
  guint day    : 6;  
  guint month  : 4; 
  guint year   : 16; 
};

 



GDate*       g_date_new                   (void);
GDate*       g_date_new_dmy               (GDateDay     day, 
                                           GDateMonth   month, 
                                           GDateYear    year);
GDate*       g_date_new_julian            (guint32      julian_day);
void         g_date_free                  (GDate       *date);

 




gboolean     g_date_valid                 (GDate       *date);
gboolean     g_date_valid_day             (GDateDay     day);
gboolean     g_date_valid_month           (GDateMonth   month);
gboolean     g_date_valid_year            (GDateYear    year);
gboolean     g_date_valid_weekday         (GDateWeekday weekday);
gboolean     g_date_valid_julian          (guint32      julian_date);
gboolean     g_date_valid_dmy             (GDateDay     day,
                                           GDateMonth   month,
                                           GDateYear    year);

GDateWeekday g_date_weekday               (GDate       *date);
GDateMonth   g_date_month                 (GDate       *date);
GDateYear    g_date_year                  (GDate       *date);
GDateDay     g_date_day                   (GDate       *date);
guint32      g_date_julian                (GDate       *date);
guint        g_date_day_of_year           (GDate       *date);

 





guint        g_date_monday_week_of_year   (GDate      *date);
guint        g_date_sunday_week_of_year   (GDate      *date);

 



void         g_date_clear                 (GDate       *date, 
                                           guint        n_dates);

 



void         g_date_set_parse             (GDate       *date,
                                           const gchar *str);
void         g_date_set_time              (GDate       *date, 
                                           GTime        time);
void         g_date_set_month             (GDate       *date, 
                                           GDateMonth   month);
void         g_date_set_day               (GDate       *date, 
                                           GDateDay     day);
void         g_date_set_year              (GDate       *date,
                                           GDateYear    year);
void         g_date_set_dmy               (GDate       *date,
                                           GDateDay     day,
                                           GDateMonth   month,
                                           GDateYear    y);
void         g_date_set_julian            (GDate       *date,
                                           guint32      julian_date);
gboolean     g_date_is_first_of_month     (GDate       *date);
gboolean     g_date_is_last_of_month      (GDate       *date);

 
void         g_date_add_days              (GDate       *date, 
                                           guint        n_days);
void         g_date_subtract_days         (GDate       *date, 
                                           guint        n_days);

 
void         g_date_add_months            (GDate       *date,
                                           guint        n_months);
void         g_date_subtract_months       (GDate       *date,
                                           guint        n_months);

 
void         g_date_add_years             (GDate       *date,
                                           guint        n_years);
void         g_date_subtract_years        (GDate       *date,
                                           guint        n_years);
gboolean     g_date_is_leap_year          (GDateYear    year);
guint8       g_date_days_in_month         (GDateMonth   month, 
                                           GDateYear    year);
guint8       g_date_monday_weeks_in_year  (GDateYear    year);
guint8       g_date_sunday_weeks_in_year  (GDateYear    year);

 
gint         g_date_compare               (GDate       *lhs,
                                           GDate       *rhs);
void         g_date_to_struct_tm          (GDate       *date,
                                           struct tm   *tm);

 


gsize        g_date_strftime              (gchar       *s,
                                           gsize        slen,
                                           const gchar *format,
                                           GDate       *date);


 






















GRelation* g_relation_new     (gint         fields);
void       g_relation_destroy (GRelation   *relation);
void       g_relation_index   (GRelation   *relation,
                               gint         field,
                               GHashFunc    hash_func,
                               GCompareFunc key_compare_func);
void       g_relation_insert  (GRelation   *relation,
                               ...);
gint       g_relation_delete  (GRelation   *relation,
                               gconstpointer  key,
                               gint         field);
GTuples*   g_relation_select  (GRelation   *relation,
                               gconstpointer  key,
                               gint         field);
gint       g_relation_count   (GRelation   *relation,
                               gconstpointer  key,
                               gint         field);
gboolean   g_relation_exists  (GRelation   *relation,
                               ...);
void       g_relation_print   (GRelation   *relation);

void       g_tuples_destroy   (GTuples     *tuples);
gpointer   g_tuples_index     (GTuples     *tuples,
                               gint         index,
                               gint         field);


 


 





guint      g_spaced_primes_closest (guint num);


 


typedef struct _GIOFuncs GIOFuncs;
typedef enum
{
  G_IO_ERROR_NONE,
  G_IO_ERROR_AGAIN,
  G_IO_ERROR_INVAL,
  G_IO_ERROR_UNKNOWN
} GIOError;
typedef enum
{
  G_SEEK_CUR,
  G_SEEK_SET,
  G_SEEK_END
} GSeekType;
typedef enum
{
  G_IO_IN       =1 ,
  G_IO_OUT      =4 ,
  G_IO_PRI      =2 ,
  G_IO_ERR      =8 ,
  G_IO_HUP      =16 ,
  G_IO_NVAL     =32 
} GIOCondition;

struct _GIOChannel
{
  guint channel_flags;
  guint ref_count;
  GIOFuncs *funcs;
};

typedef gboolean (*GIOFunc) (GIOChannel   *source,
                             GIOCondition  condition,
                             gpointer      data);
struct _GIOFuncs
{
  GIOError (*io_read)   (GIOChannel     *channel, 
                         gchar          *buf, 
                         guint           count,
                         guint          *bytes_read);
  GIOError (*io_write)  (GIOChannel     *channel, 
                         gchar          *buf, 
                         guint           count,
                         guint          *bytes_written);
  GIOError (*io_seek)   (GIOChannel     *channel, 
                         gint            offset, 
                         GSeekType       type);
  void (*io_close)      (GIOChannel     *channel);
  guint (*io_add_watch) (GIOChannel     *channel,
                         gint            priority,
                         GIOCondition    condition,
                         GIOFunc         func,
                         gpointer        user_data,
                         GDestroyNotify  notify);
  void (*io_free)       (GIOChannel     *channel);
};

void        g_io_channel_init   (GIOChannel    *channel);
void        g_io_channel_ref    (GIOChannel    *channel);
void        g_io_channel_unref  (GIOChannel    *channel);
GIOError    g_io_channel_read   (GIOChannel    *channel, 
                                 gchar         *buf, 
                                 guint          count,
                                 guint         *bytes_read);
GIOError  g_io_channel_write    (GIOChannel    *channel, 
                                 gchar         *buf, 
                                 guint          count,
                                 guint         *bytes_written);
GIOError  g_io_channel_seek     (GIOChannel    *channel,
                                 gint           offset, 
                                 GSeekType      type);
void      g_io_channel_close    (GIOChannel    *channel);
guint     g_io_add_watch_full   (GIOChannel    *channel,
                                 gint           priority,
                                 GIOCondition   condition,
                                 GIOFunc        func,
                                 gpointer       user_data,
                                 GDestroyNotify notify);
guint    g_io_add_watch         (GIOChannel    *channel,
                                 GIOCondition   condition,
                                 GIOFunc        func,
                                 gpointer       user_data);


 

typedef struct _GTimeVal        GTimeVal;
typedef struct _GSourceFuncs    GSourceFuncs;
typedef struct _GMainLoop       GMainLoop;       

struct _GTimeVal
{
  glong tv_sec;
  glong tv_usec;
};
struct _GSourceFuncs
{
  gboolean (*prepare)  (gpointer  source_data, 
                        GTimeVal *current_time,
                        gint     *timeout,
                        gpointer  user_data);
  gboolean (*check)    (gpointer  source_data,
                        GTimeVal *current_time,
                        gpointer  user_data);
  gboolean (*dispatch) (gpointer  source_data, 
                        GTimeVal *dispatch_time,
                        gpointer  user_data);
  GDestroyNotify destroy;
};

 







typedef gboolean (*GSourceFunc) (gpointer data);

 
guint    g_source_add                        (gint           priority, 
                                              gboolean       can_recurse,
                                              GSourceFuncs  *funcs,
                                              gpointer       source_data, 
                                              gpointer       user_data,
                                              GDestroyNotify notify);
gboolean g_source_remove                     (guint          tag);
gboolean g_source_remove_by_user_data        (gpointer       user_data);
gboolean g_source_remove_by_source_data      (gpointer       source_data);
gboolean g_source_remove_by_funcs_user_data  (GSourceFuncs  *funcs,
                                              gpointer       user_data);

void g_get_current_time                 (GTimeVal       *result);

 
GMainLoop*      g_main_new              (gboolean        is_running);
void            g_main_run              (GMainLoop      *loop);
void            g_main_quit             (GMainLoop      *loop);
void            g_main_destroy          (GMainLoop      *loop);
gboolean        g_main_is_running       (GMainLoop      *loop);

 


gboolean        g_main_iteration        (gboolean       may_block);

 
gboolean        g_main_pending          (void);

 
guint           g_timeout_add_full      (gint           priority,
                                         guint          interval, 
                                         GSourceFunc    function,
                                         gpointer       data,
                                         GDestroyNotify notify);
guint           g_timeout_add           (guint          interval,
                                         GSourceFunc    function,
                                         gpointer       data);
guint           g_idle_add              (GSourceFunc    function,
                                         gpointer       data);
guint           g_idle_add_full         (gint           priority,
                                         GSourceFunc    function,
                                         gpointer       data,
                                         GDestroyNotify destroy);
gboolean        g_idle_remove_by_data   (gpointer       data);

 























typedef struct _GPollFD GPollFD;
typedef gint    (*GPollFunc)    (GPollFD *ufds,
                                 guint    nfsd,
                                 gint     timeout);
struct _GPollFD
{
  gint          fd;
  gushort       events;
  gushort       revents;
};

void        g_main_add_poll          (GPollFD    *fd,
                                      gint        priority);
void        g_main_remove_poll       (GPollFD    *fd);
void        g_main_set_poll_func     (GPollFunc   func);

 










GIOChannel* g_io_channel_unix_new    (int         fd);
gint        g_io_channel_unix_get_fd (GIOChannel *channel);

# 2613 "/usr/include/glib-1.2/glib.h" 3


 

# 2672 "/usr/include/glib-1.2/glib.h" 3



 

typedef struct _GMutex          GMutex;
typedef struct _GCond           GCond;
typedef struct _GPrivate        GPrivate;
typedef struct _GStaticPrivate  GStaticPrivate;
typedef struct _GThreadFunctions GThreadFunctions;
struct _GThreadFunctions
{
  GMutex*  (*mutex_new)       (void);
  void     (*mutex_lock)      (GMutex           *mutex);
  gboolean (*mutex_trylock)   (GMutex           *mutex);
  void     (*mutex_unlock)    (GMutex           *mutex);
  void     (*mutex_free)      (GMutex           *mutex);
  GCond*   (*cond_new)        (void);
  void     (*cond_signal)     (GCond            *cond);
  void     (*cond_broadcast)  (GCond            *cond);
  void     (*cond_wait)       (GCond            *cond,
                               GMutex           *mutex);
  gboolean (*cond_timed_wait) (GCond            *cond,
                               GMutex           *mutex, 
                               GTimeVal         *end_time);
  void      (*cond_free)      (GCond            *cond);
  GPrivate* (*private_new)    (GDestroyNotify    destructor);
  gpointer  (*private_get)    (GPrivate         *private_key);
  void      (*private_set)    (GPrivate         *private_key,
                               gpointer          data);
};

extern  GThreadFunctions        g_thread_functions_for_glib_use;
extern  gboolean                g_thread_use_default_impl;
extern  gboolean                g_threads_got_initialized;

 



void   g_thread_init   (GThreadFunctions       *vtable);

 
GMutex* g_static_mutex_get_mutex_impl   (GMutex **mutex);

 




 


























 










struct _GStaticPrivate
{
  guint index;
};

gpointer g_static_private_get (GStaticPrivate   *private_key);
void     g_static_private_set (GStaticPrivate   *private_key, 
                               gpointer          data,
                               GDestroyNotify    notify);

 








extern void glib_dummy_decl (void);







# 2808 "/usr/include/glib-1.2/glib.h" 3




















# 33 "/usr/include/gtk-1.2/gdk/gdktypes.h" 2 3







 








 


typedef gulong                        GdkAtom;
typedef struct _GdkColor              GdkColor;
typedef struct _GdkColormap           GdkColormap;
typedef struct _GdkVisual             GdkVisual;
typedef struct _GdkWindowAttr         GdkWindowAttr;
typedef struct _GdkWindow             GdkWindow;
typedef struct _GdkWindow             GdkPixmap;
typedef struct _GdkWindow             GdkBitmap;
typedef struct _GdkWindow             GdkDrawable;
typedef struct _GdkGeometry           GdkGeometry;
typedef struct _GdkImage              GdkImage;
typedef struct _GdkGCValues           GdkGCValues;
typedef struct _GdkGC                 GdkGC;
typedef struct _GdkPoint              GdkPoint;
typedef struct _GdkRectangle          GdkRectangle;
typedef struct _GdkSegment            GdkSegment;
typedef struct _GdkFont               GdkFont;
typedef struct _GdkCursor             GdkCursor;
typedef struct _GdkColorContextDither GdkColorContextDither;
typedef struct _GdkColorContext       GdkColorContext;
typedef struct _GdkDragContext        GdkDragContext;

typedef struct _GdkEventAny         GdkEventAny;
typedef struct _GdkEventExpose      GdkEventExpose;
typedef struct _GdkEventNoExpose    GdkEventNoExpose;
typedef struct _GdkEventVisibility  GdkEventVisibility;
typedef struct _GdkEventMotion      GdkEventMotion;
typedef struct _GdkEventButton      GdkEventButton;
typedef struct _GdkEventKey         GdkEventKey;
typedef struct _GdkEventFocus       GdkEventFocus;
typedef struct _GdkEventCrossing    GdkEventCrossing;
typedef struct _GdkEventConfigure   GdkEventConfigure;
typedef struct _GdkEventProperty    GdkEventProperty;
typedef struct _GdkEventSelection   GdkEventSelection;
typedef struct _GdkEventProximity   GdkEventProximity;
typedef struct _GdkEventClient      GdkEventClient;

typedef struct _GdkEventDND         GdkEventDND;

typedef union  _GdkEvent            GdkEvent;

typedef struct _GdkDeviceKey        GdkDeviceKey;
typedef struct _GdkDeviceInfo       GdkDeviceInfo;
typedef struct _GdkTimeCoord        GdkTimeCoord;
typedef struct _GdkRegion           GdkRegion;
typedef void (*GdkEventFunc) (GdkEvent *event,
                              gpointer  data);

typedef struct _GdkIC               GdkIC;
typedef struct _GdkICAttr           GdkICAttr;

typedef guint32                     GdkWChar;
 

 



















typedef enum
{
  GDK_WINDOW_ROOT,
  GDK_WINDOW_TOPLEVEL,
  GDK_WINDOW_CHILD,
  GDK_WINDOW_DIALOG,
  GDK_WINDOW_TEMP,
  GDK_WINDOW_PIXMAP,
  GDK_WINDOW_FOREIGN
} GdkWindowType;

 








typedef enum
{
  GDK_INPUT_OUTPUT,
  GDK_INPUT_ONLY
} GdkWindowClass;

 









typedef enum
{
  GDK_IMAGE_NORMAL,
  GDK_IMAGE_SHARED,
  GDK_IMAGE_FASTEST
} GdkImageType;

 







typedef enum
{
  GDK_VISUAL_STATIC_GRAY,
  GDK_VISUAL_GRAYSCALE,
  GDK_VISUAL_STATIC_COLOR,
  GDK_VISUAL_PSEUDO_COLOR,
  GDK_VISUAL_TRUE_COLOR,
  GDK_VISUAL_DIRECT_COLOR
} GdkVisualType;

 



typedef enum
{
  GDK_FONT_FONT,
  GDK_FONT_FONTSET
} GdkFontType;

 







typedef enum
{
  GDK_WA_TITLE    = 1 << 1,
  GDK_WA_X        = 1 << 2,
  GDK_WA_Y        = 1 << 3,
  GDK_WA_CURSOR   = 1 << 4,
  GDK_WA_COLORMAP = 1 << 5,
  GDK_WA_VISUAL   = 1 << 6,
  GDK_WA_WMCLASS  = 1 << 7,
  GDK_WA_NOREDIR  = 1 << 8
} GdkWindowAttributesType;

 

typedef enum
{
  GDK_HINT_POS        = 1 << 0,
  GDK_HINT_MIN_SIZE   = 1 << 1,
  GDK_HINT_MAX_SIZE   = 1 << 2,
  GDK_HINT_BASE_SIZE  = 1 << 3,
  GDK_HINT_ASPECT     = 1 << 4,
  GDK_HINT_RESIZE_INC = 1 << 5
} GdkWindowHints;

 

















typedef enum
{
  GDK_COPY,
  GDK_INVERT,
  GDK_XOR,
  GDK_CLEAR,
  GDK_AND,
  GDK_AND_REVERSE,
  GDK_AND_INVERT,
  GDK_NOOP,
  GDK_OR,
  GDK_EQUIV,
  GDK_OR_REVERSE,
  GDK_COPY_INVERT,
  GDK_OR_INVERT,
  GDK_NAND,
  GDK_SET
} GdkFunction;

 





typedef enum
{
  GDK_SOLID,
  GDK_TILED,
  GDK_STIPPLED,
  GDK_OPAQUE_STIPPLED
} GdkFill;

 



typedef enum
{
  GDK_EVEN_ODD_RULE,
  GDK_WINDING_RULE
} GdkFillRule;

 




typedef enum
{
  GDK_LINE_SOLID,
  GDK_LINE_ON_OFF_DASH,
  GDK_LINE_DOUBLE_DASH
} GdkLineStyle;

 





typedef enum
{
  GDK_CAP_NOT_LAST,
  GDK_CAP_BUTT,
  GDK_CAP_ROUND,
  GDK_CAP_PROJECTING
} GdkCapStyle;

 




typedef enum
{
  GDK_JOIN_MITER,
  GDK_JOIN_ROUND,
  GDK_JOIN_BEVEL
} GdkJoinStyle;

 

typedef enum
{
# 1 "/usr/include/gtk-1.2/gdk/gdkcursors.h" 1 3
GDK_NUM_GLYPHS = 154,
GDK_X_CURSOR = 0,
GDK_ARROW = 2,
GDK_BASED_ARROW_DOWN = 4,
GDK_BASED_ARROW_UP = 6,
GDK_BOAT = 8,
GDK_BOGOSITY = 10,
GDK_BOTTOM_LEFT_CORNER = 12,
GDK_BOTTOM_RIGHT_CORNER = 14,
GDK_BOTTOM_SIDE = 16,
GDK_BOTTOM_TEE = 18,
GDK_BOX_SPIRAL = 20,
GDK_CENTER_PTR = 22,
GDK_CIRCLE = 24,
GDK_CLOCK = 26,
GDK_COFFEE_MUG = 28,
GDK_CROSS = 30,
GDK_CROSS_REVERSE = 32,
GDK_CROSSHAIR = 34,
GDK_DIAMOND_CROSS = 36,
GDK_DOT = 38,
GDK_DOTBOX = 40,
GDK_DOUBLE_ARROW = 42,
GDK_DRAFT_LARGE = 44,
GDK_DRAFT_SMALL = 46,
GDK_DRAPED_BOX = 48,
GDK_EXCHANGE = 50,
GDK_FLEUR = 52,
GDK_GOBBLER = 54,
GDK_GUMBY = 56,
GDK_HAND1 = 58,
GDK_HAND2 = 60,
GDK_HEART = 62,
GDK_ICON = 64,
GDK_IRON_CROSS = 66,
GDK_LEFT_PTR = 68,
GDK_LEFT_SIDE = 70,
GDK_LEFT_TEE = 72,
GDK_LEFTBUTTON = 74,
GDK_LL_ANGLE = 76,
GDK_LR_ANGLE = 78,
GDK_MAN = 80,
GDK_MIDDLEBUTTON = 82,
GDK_MOUSE = 84,
GDK_PENCIL = 86,
GDK_PIRATE = 88,
GDK_PLUS = 90,
GDK_QUESTION_ARROW = 92,
GDK_RIGHT_PTR = 94,
GDK_RIGHT_SIDE = 96,
GDK_RIGHT_TEE = 98,
GDK_RIGHTBUTTON = 100,
GDK_RTL_LOGO = 102,
GDK_SAILBOAT = 104,
GDK_SB_DOWN_ARROW = 106,
GDK_SB_H_DOUBLE_ARROW = 108,
GDK_SB_LEFT_ARROW = 110,
GDK_SB_RIGHT_ARROW = 112,
GDK_SB_UP_ARROW = 114,
GDK_SB_V_DOUBLE_ARROW = 116,
GDK_SHUTTLE = 118,
GDK_SIZING = 120,
GDK_SPIDER = 122,
GDK_SPRAYCAN = 124,
GDK_STAR = 126,
GDK_TARGET = 128,
GDK_TCROSS = 130,
GDK_TOP_LEFT_ARROW = 132,
GDK_TOP_LEFT_CORNER = 134,
GDK_TOP_RIGHT_CORNER = 136,
GDK_TOP_SIDE = 138,
GDK_TOP_TEE = 140,
GDK_TREK = 142,
GDK_UL_ANGLE = 144,
GDK_UMBRELLA = 146,
GDK_UR_ANGLE = 148,
GDK_WATCH = 150,
GDK_XTERM = 152,
# 332 "/usr/include/gtk-1.2/gdk/gdktypes.h" 2 3

  GDK_LAST_CURSOR,
  GDK_CURSOR_IS_PIXMAP = -1
} GdkCursorType;

typedef enum {
  GDK_FILTER_CONTINUE,     
  GDK_FILTER_TRANSLATE,    
  GDK_FILTER_REMOVE        
} GdkFilterReturn;

typedef enum {
  GDK_VISIBILITY_UNOBSCURED,
  GDK_VISIBILITY_PARTIAL,
  GDK_VISIBILITY_FULLY_OBSCURED
} GdkVisibilityState;

 





















typedef enum
{
  GDK_NOTHING           = -1,
  GDK_DELETE            = 0,
  GDK_DESTROY           = 1,
  GDK_EXPOSE            = 2,
  GDK_MOTION_NOTIFY     = 3,
  GDK_BUTTON_PRESS      = 4,
  GDK_2BUTTON_PRESS     = 5,
  GDK_3BUTTON_PRESS     = 6,
  GDK_BUTTON_RELEASE    = 7,
  GDK_KEY_PRESS         = 8,
  GDK_KEY_RELEASE       = 9,
  GDK_ENTER_NOTIFY      = 10,
  GDK_LEAVE_NOTIFY      = 11,
  GDK_FOCUS_CHANGE      = 12,
  GDK_CONFIGURE         = 13,
  GDK_MAP               = 14,
  GDK_UNMAP             = 15,
  GDK_PROPERTY_NOTIFY   = 16,
  GDK_SELECTION_CLEAR   = 17,
  GDK_SELECTION_REQUEST = 18,
  GDK_SELECTION_NOTIFY  = 19,
  GDK_PROXIMITY_IN      = 20,
  GDK_PROXIMITY_OUT     = 21,
  GDK_DRAG_ENTER        = 22,
  GDK_DRAG_LEAVE        = 23,
  GDK_DRAG_MOTION       = 24,
  GDK_DRAG_STATUS       = 25,
  GDK_DROP_START        = 26,
  GDK_DROP_FINISHED     = 27,
  GDK_CLIENT_EVENT      = 28,
  GDK_VISIBILITY_NOTIFY = 29,
  GDK_NO_EXPOSE         = 30
} GdkEventType;

 


typedef enum
{
  GDK_EXPOSURE_MASK             = 1 << 1,
  GDK_POINTER_MOTION_MASK       = 1 << 2,
  GDK_POINTER_MOTION_HINT_MASK  = 1 << 3,
  GDK_BUTTON_MOTION_MASK        = 1 << 4,
  GDK_BUTTON1_MOTION_MASK       = 1 << 5,
  GDK_BUTTON2_MOTION_MASK       = 1 << 6,
  GDK_BUTTON3_MOTION_MASK       = 1 << 7,
  GDK_BUTTON_PRESS_MASK         = 1 << 8,
  GDK_BUTTON_RELEASE_MASK       = 1 << 9,
  GDK_KEY_PRESS_MASK            = 1 << 10,
  GDK_KEY_RELEASE_MASK          = 1 << 11,
  GDK_ENTER_NOTIFY_MASK         = 1 << 12,
  GDK_LEAVE_NOTIFY_MASK         = 1 << 13,
  GDK_FOCUS_CHANGE_MASK         = 1 << 14,
  GDK_STRUCTURE_MASK            = 1 << 15,
  GDK_PROPERTY_CHANGE_MASK      = 1 << 16,
  GDK_VISIBILITY_NOTIFY_MASK    = 1 << 17,
  GDK_PROXIMITY_IN_MASK         = 1 << 18,
  GDK_PROXIMITY_OUT_MASK        = 1 << 19,
  GDK_SUBSTRUCTURE_MASK         = 1 << 20,
  GDK_ALL_EVENTS_MASK           = 0x0FFFFF
} GdkEventMask;

 







typedef enum
{
  GDK_NOTIFY_ANCESTOR           = 0,
  GDK_NOTIFY_VIRTUAL            = 1,
  GDK_NOTIFY_INFERIOR           = 2,
  GDK_NOTIFY_NONLINEAR          = 3,
  GDK_NOTIFY_NONLINEAR_VIRTUAL  = 4,
  GDK_NOTIFY_UNKNOWN            = 5
} GdkNotifyType;

 




typedef enum
{
  GDK_CROSSING_NORMAL,
  GDK_CROSSING_GRAB,
  GDK_CROSSING_UNGRAB
} GdkCrossingMode;

 

typedef enum
{
  GDK_SHIFT_MASK    = 1 << 0,
  GDK_LOCK_MASK     = 1 << 1,
  GDK_CONTROL_MASK  = 1 << 2,
  GDK_MOD1_MASK     = 1 << 3,
  GDK_MOD2_MASK     = 1 << 4,
  GDK_MOD3_MASK     = 1 << 5,
  GDK_MOD4_MASK     = 1 << 6,
  GDK_MOD5_MASK     = 1 << 7,
  GDK_BUTTON1_MASK  = 1 << 8,
  GDK_BUTTON2_MASK  = 1 << 9,
  GDK_BUTTON3_MASK  = 1 << 10,
  GDK_BUTTON4_MASK  = 1 << 11,
  GDK_BUTTON5_MASK  = 1 << 12,
  GDK_RELEASE_MASK  = 1 << 13,
  GDK_MODIFIER_MASK = 0x3fff
} GdkModifierType;

typedef enum
{
  GDK_CLIP_BY_CHILDREN  = 0,
  GDK_INCLUDE_INFERIORS = 1
} GdkSubwindowMode;

typedef enum
{
  GDK_INPUT_READ       = 1 << 0,
  GDK_INPUT_WRITE      = 1 << 1,
  GDK_INPUT_EXCEPTION  = 1 << 2
} GdkInputCondition;

typedef enum
{
  GDK_OK          = 0,
  GDK_ERROR       = -1,
  GDK_ERROR_PARAM = -2,
  GDK_ERROR_FILE  = -3,
  GDK_ERROR_MEM   = -4
} GdkStatus;

typedef enum
{
  GDK_LSB_FIRST,
  GDK_MSB_FIRST
} GdkByteOrder;

typedef enum
{
  GDK_GC_FOREGROUND    = 1 << 0,
  GDK_GC_BACKGROUND    = 1 << 1,
  GDK_GC_FONT          = 1 << 2,
  GDK_GC_FUNCTION      = 1 << 3,
  GDK_GC_FILL          = 1 << 4,
  GDK_GC_TILE          = 1 << 5,
  GDK_GC_STIPPLE       = 1 << 6,
  GDK_GC_CLIP_MASK     = 1 << 7,
  GDK_GC_SUBWINDOW     = 1 << 8,
  GDK_GC_TS_X_ORIGIN   = 1 << 9,
  GDK_GC_TS_Y_ORIGIN   = 1 << 10,
  GDK_GC_CLIP_X_ORIGIN = 1 << 11,
  GDK_GC_CLIP_Y_ORIGIN = 1 << 12,
  GDK_GC_EXPOSURES     = 1 << 13,
  GDK_GC_LINE_WIDTH    = 1 << 14,
  GDK_GC_LINE_STYLE    = 1 << 15,
  GDK_GC_CAP_STYLE     = 1 << 16,
  GDK_GC_JOIN_STYLE    = 1 << 17
} GdkGCValuesMask;

typedef enum
{
  GDK_SELECTION_PRIMARY = 1,
  GDK_SELECTION_SECONDARY = 2
} GdkSelection;

typedef enum
{
  GDK_PROPERTY_NEW_VALUE,
  GDK_PROPERTY_DELETE
} GdkPropertyState;

typedef enum
{
  GDK_PROP_MODE_REPLACE,
  GDK_PROP_MODE_PREPEND,
  GDK_PROP_MODE_APPEND
} GdkPropMode;

 

typedef enum
{
  GDK_SOURCE_MOUSE,
  GDK_SOURCE_PEN,
  GDK_SOURCE_ERASER,
  GDK_SOURCE_CURSOR
} GdkInputSource;

typedef enum
{
  GDK_MODE_DISABLED,
  GDK_MODE_SCREEN,
  GDK_MODE_WINDOW
} GdkInputMode;

typedef enum
{
  GDK_AXIS_IGNORE,
  GDK_AXIS_X,
  GDK_AXIS_Y,
  GDK_AXIS_PRESSURE,
  GDK_AXIS_XTILT,
  GDK_AXIS_YTILT,
  GDK_AXIS_LAST
} GdkAxisUse;

 


typedef enum
{
  GDK_TARGET_BITMAP = 5,
  GDK_TARGET_COLORMAP = 7,
  GDK_TARGET_DRAWABLE = 17,
  GDK_TARGET_PIXMAP = 20,
  GDK_TARGET_STRING = 31
} GdkTarget;

typedef enum
{
  GDK_SELECTION_TYPE_ATOM = 4,
  GDK_SELECTION_TYPE_BITMAP = 5,
  GDK_SELECTION_TYPE_COLORMAP = 7,
  GDK_SELECTION_TYPE_DRAWABLE = 17,
  GDK_SELECTION_TYPE_INTEGER = 19,
  GDK_SELECTION_TYPE_PIXMAP = 20,
  GDK_SELECTION_TYPE_WINDOW = 33,
  GDK_SELECTION_TYPE_STRING = 31
} GdkSelectionType;

typedef enum
{
  GDK_EXTENSION_EVENTS_NONE,
  GDK_EXTENSION_EVENTS_ALL,
  GDK_EXTENSION_EVENTS_CURSOR
} GdkExtensionMode;

typedef enum                     
{
  GDK_IM_PREEDIT_AREA      = 0x0001, 
  GDK_IM_PREEDIT_CALLBACKS = 0x0002, 
  GDK_IM_PREEDIT_POSITION  = 0x0004,
  GDK_IM_PREEDIT_NOTHING   = 0x0008,
  GDK_IM_PREEDIT_NONE      = 0x0010,
  GDK_IM_PREEDIT_MASK      = 0x001f,

  GDK_IM_STATUS_AREA       = 0x0100, 
  GDK_IM_STATUS_CALLBACKS  = 0x0200,
  GDK_IM_STATUS_NOTHING    = 0x0400,
  GDK_IM_STATUS_NONE       = 0x0800,
  GDK_IM_STATUS_MASK       = 0x0f00 
} GdkIMStyle;

typedef enum
{
  GDK_IC_STYLE                  = 1 << 0,
  GDK_IC_CLIENT_WINDOW          = 1 << 1,
  GDK_IC_FOCUS_WINDOW           = 1 << 2,
  GDK_IC_FILTER_EVENTS          = 1 << 3,
  GDK_IC_SPOT_LOCATION          = 1 << 4,
  GDK_IC_LINE_SPACING           = 1 << 5,
  GDK_IC_CURSOR                 = 1 << 6,

  GDK_IC_PREEDIT_FONTSET        = 1 << 10,
  GDK_IC_PREEDIT_AREA           = 1 << 11,
  GDK_IC_PREEDIT_AREA_NEEDED    = 1 << 12,
  GDK_IC_PREEDIT_FOREGROUND     = 1 << 13,
  GDK_IC_PREEDIT_BACKGROUND     = 1 << 14,
  GDK_IC_PREEDIT_PIXMAP         = 1 << 15,
  GDK_IC_PREEDIT_COLORMAP       = 1 << 16,

  GDK_IC_STATUS_FONTSET         = 1 << 21,
  GDK_IC_STATUS_AREA            = 1 << 22,
  GDK_IC_STATUS_AREA_NEEDED     = 1 << 23,
  GDK_IC_STATUS_FOREGROUND      = 1 << 24,
  GDK_IC_STATUS_BACKGROUND      = 1 << 25,
  GDK_IC_STATUS_PIXMAP          = 1 << 26,
  GDK_IC_STATUS_COLORMAP        = 1 << 27,

  GDK_IC_ALL_REQ                = GDK_IC_STYLE |
                                  GDK_IC_CLIENT_WINDOW,

  GDK_IC_PREEDIT_AREA_REQ       = GDK_IC_PREEDIT_AREA | 
                                  GDK_IC_PREEDIT_FONTSET,
  GDK_IC_PREEDIT_POSITION_REQ   = GDK_IC_PREEDIT_AREA | GDK_IC_SPOT_LOCATION |
                                  GDK_IC_PREEDIT_FONTSET,

  GDK_IC_STATUS_AREA_REQ        = GDK_IC_STATUS_AREA | 
                                  GDK_IC_STATUS_FONTSET
} GdkICAttributesType;

 




typedef enum
{
  GDK_DECOR_ALL         = 1 << 0,
  GDK_DECOR_BORDER      = 1 << 1,
  GDK_DECOR_RESIZEH     = 1 << 2,
  GDK_DECOR_TITLE       = 1 << 3,
  GDK_DECOR_MENU        = 1 << 4,
  GDK_DECOR_MINIMIZE    = 1 << 5,
  GDK_DECOR_MAXIMIZE    = 1 << 6
} GdkWMDecoration;

typedef enum
{
  GDK_FUNC_ALL          = 1 << 0,
  GDK_FUNC_RESIZE       = 1 << 1,
  GDK_FUNC_MOVE         = 1 << 2,
  GDK_FUNC_MINIMIZE     = 1 << 3,
  GDK_FUNC_MAXIMIZE     = 1 << 4,
  GDK_FUNC_CLOSE        = 1 << 5
} GdkWMFunction;

typedef void (*GdkInputFunction) (gpointer          data,
                                  gint              source,
                                  GdkInputCondition condition);

typedef void (*GdkDestroyNotify) (gpointer data);

 







 

typedef enum
{
  GDK_CC_MODE_UNDEFINED,
  GDK_CC_MODE_BW,
  GDK_CC_MODE_STD_CMAP,
  GDK_CC_MODE_TRUE,
  GDK_CC_MODE_MY_GRAY,
  GDK_CC_MODE_PALETTE
} GdkColorContextMode;

 





typedef enum
{
  GDK_OVERLAP_RECTANGLE_IN,
  GDK_OVERLAP_RECTANGLE_OUT,
  GDK_OVERLAP_RECTANGLE_PART
} GdkOverlapType;

typedef enum {
  GDK_ACTION_DEFAULT = 1 << 0,
  GDK_ACTION_COPY    = 1 << 1,
  GDK_ACTION_MOVE    = 1 << 2,
  GDK_ACTION_LINK    = 1 << 3,
  GDK_ACTION_PRIVATE = 1 << 4,
  GDK_ACTION_ASK     = 1 << 5
} GdkDragAction;

typedef enum {
  GDK_DRAG_PROTO_MOTIF,
  GDK_DRAG_PROTO_XDND,
  GDK_DRAG_PROTO_ROOTWIN,        

  GDK_DRAG_PROTO_NONE            
} GdkDragProtocol;

 






struct _GdkColor
{
  gulong  pixel;
  gushort red;
  gushort green;
  gushort blue;
};

 


struct _GdkColormap
{
  gint      size;
  GdkColor *colors;
};

 











struct _GdkVisual
{
  GdkVisualType type;
  gint depth;
  GdkByteOrder byte_order;
  gint colormap_size;
  gint bits_per_rgb;

  guint32 red_mask;
  gint red_shift;
  gint red_prec;

  guint32 green_mask;
  gint green_shift;
  gint green_prec;

  guint32 blue_mask;
  gint blue_shift;
  gint blue_prec;
};

struct _GdkWindowAttr
{
  gchar *title;
  gint event_mask;
  gint16 x, y;
  gint16 width;
  gint16 height;
  GdkWindowClass wclass;
  GdkVisual *visual;
  GdkColormap *colormap;
  GdkWindowType window_type;
  GdkCursor *cursor;
  gchar *wmclass_name;
  gchar *wmclass_class;
  gboolean override_redirect;
};

struct _GdkWindow
{
  gpointer user_data;
};

struct _GdkGeometry {
  gint min_width;
  gint min_height;
  gint max_width;
  gint max_height;
  gint base_width;
  gint base_height;
  gint width_inc;
  gint height_inc;
  gdouble min_aspect;
  gdouble max_aspect;
   
};

struct _GdkImage
{
  GdkImageType  type;
  GdkVisual    *visual;      
  GdkByteOrder  byte_order;
  guint16       width;
  guint16       height;
  guint16       depth;
  guint16       bpp;         
  guint16       bpl;         
  gpointer      mem;
};

struct _GdkGCValues
{
  GdkColor          foreground;
  GdkColor          background;
  GdkFont          *font;
  GdkFunction       function;
  GdkFill           fill;
  GdkPixmap        *tile;
  GdkPixmap        *stipple;
  GdkPixmap        *clip_mask;
  GdkSubwindowMode  subwindow_mode;
  gint              ts_x_origin;
  gint              ts_y_origin;
  gint              clip_x_origin;
  gint              clip_y_origin;
  gint              graphics_exposures;
  gint              line_width;
  GdkLineStyle      line_style;
  GdkCapStyle       cap_style;
  GdkJoinStyle      join_style;
};

struct _GdkGC
{
  gint dummy_var;
};

struct _GdkPoint
{
  gint16 x;
  gint16 y;
};

struct _GdkRectangle
{
  gint16 x;
  gint16 y;
  guint16 width;
  guint16 height;
};

struct _GdkSegment
{
  gint16 x1;
  gint16 y1;
  gint16 x2;
  gint16 y2;
};

struct _GdkFont
{
  GdkFontType type;
  gint ascent;
  gint descent;
};

struct _GdkCursor
{
  GdkCursorType type;
};


struct _GdkColorContextDither
{
  gint fast_rgb[32][32][32];  
  gint fast_err[32][32][32];  
  gint fast_erg[32][32][32];
  gint fast_erb[32][32][32];
};

struct _GdkColorContext
{
  GdkVisual *visual;
  GdkColormap *colormap;

  gint num_colors;               
  gint max_colors;               
  gint num_allocated;            

  GdkColorContextMode mode;
  gint need_to_free_colormap;
  GdkAtom std_cmap_atom;

  gulong *clut;                  
  GdkColor *cmap;                

  GHashTable *color_hash;        
  GdkColor *palette;             
  gint num_palette;              

  GdkColorContextDither *fast_dither;    

  struct
  {
    gint red;
    gint green;
    gint blue;
  } shifts;

  struct
  {
    gulong red;
    gulong green;
    gulong blue;
  } masks;

  struct
  {
    gint red;
    gint green;
    gint blue;
  } bits;

  gulong max_entry;

  gulong black_pixel;
  gulong white_pixel;
};

 

struct _GdkDeviceKey
{
  guint keyval;
  GdkModifierType modifiers;
};

struct _GdkDeviceInfo
{
  guint32 deviceid;
  gchar *name;
  GdkInputSource source;
  GdkInputMode mode;
  gint has_cursor;       
  gint num_axes;
  GdkAxisUse *axes;     
  gint num_keys;
  GdkDeviceKey *keys;
};

struct _GdkTimeCoord
{
  guint32 time;
  gdouble x;
  gdouble y;
  gdouble pressure;
  gdouble xtilt;
  gdouble ytilt;
};

 


struct _GdkDragContext {
  GdkDragProtocol protocol;
  
  gboolean is_source;
  
  GdkWindow *source_window;
  GdkWindow *dest_window;

  GList *targets;
  GdkDragAction actions;
  GdkDragAction suggested_action;
  GdkDragAction action; 

  guint32 start_time;
};

 

typedef void GdkXEvent;    

typedef GdkFilterReturn (*GdkFilterFunc) (GdkXEvent *xevent,
                                          GdkEvent *event,
                                          gpointer  data);

struct _GdkEventAny
{
  GdkEventType type;
  GdkWindow *window;
  gint8 send_event;
};

struct _GdkEventExpose
{
  GdkEventType type;
  GdkWindow *window;
  gint8 send_event;
  GdkRectangle area;
  gint count;  
};

struct _GdkEventNoExpose
{
  GdkEventType type;
  GdkWindow *window;
  gint8 send_event;
   
};

struct _GdkEventVisibility
{
  GdkEventType type;
  GdkWindow *window;
  gint8 send_event;
  GdkVisibilityState state;
};

struct _GdkEventMotion
{
  GdkEventType type;
  GdkWindow *window;
  gint8 send_event;
  guint32 time;
  gdouble x;
  gdouble y;
  gdouble pressure;
  gdouble xtilt;
  gdouble ytilt;
  guint state;
  gint16 is_hint;
  GdkInputSource source;
  guint32 deviceid;
  gdouble x_root, y_root;
};

struct _GdkEventButton
{
  GdkEventType type;
  GdkWindow *window;
  gint8 send_event;
  guint32 time;
  gdouble x;
  gdouble y;
  gdouble pressure;
  gdouble xtilt;
  gdouble ytilt;
  guint state;
  guint button;
  GdkInputSource source;
  guint32 deviceid;
  gdouble x_root, y_root;
};

struct _GdkEventKey
{
  GdkEventType type;
  GdkWindow *window;
  gint8 send_event;
  guint32 time;
  guint state;
  guint keyval;
  gint length;
  gchar *string;
};

struct _GdkEventCrossing
{
  GdkEventType type;
  GdkWindow *window;
  gint8 send_event;
  GdkWindow *subwindow;
  guint32 time;
  gdouble x;
  gdouble y;
  gdouble x_root;
  gdouble y_root;
  GdkCrossingMode mode;
  GdkNotifyType detail;
  gboolean focus;
  guint state;
};

struct _GdkEventFocus
{
  GdkEventType type;
  GdkWindow *window;
  gint8 send_event;
  gint16 in;
};

struct _GdkEventConfigure
{
  GdkEventType type;
  GdkWindow *window;
  gint8 send_event;
  gint16 x, y;
  gint16 width;
  gint16 height;
};

struct _GdkEventProperty
{
  GdkEventType type;
  GdkWindow *window;
  gint8 send_event;
  GdkAtom atom;
  guint32 time;
  guint state;
};

struct _GdkEventSelection
{
  GdkEventType type;
  GdkWindow *window;
  gint8 send_event;
  GdkAtom selection;
  GdkAtom target;
  GdkAtom property;
  guint32 requestor;
  guint32 time;
};

 


struct _GdkEventProximity
{
  GdkEventType type;
  GdkWindow *window;
  gint8 send_event;
  guint32 time;
  GdkInputSource source;
  guint32 deviceid;
};

struct _GdkEventClient
{
  GdkEventType type;
  GdkWindow *window;
  gint8 send_event;
  GdkAtom message_type;
  gushort data_format;
  union {
    char b[20];
    short s[10];
    long l[5];
  } data;
};

 

struct _GdkEventDND {
  GdkEventType type;
  GdkWindow *window;
  gint8 send_event;
  GdkDragContext *context;

  guint32 time;
  gshort x_root, y_root;
};

union _GdkEvent
{
  GdkEventType              type;
  GdkEventAny               any;
  GdkEventExpose            expose;
  GdkEventNoExpose          no_expose;
  GdkEventVisibility        visibility;
  GdkEventMotion            motion;
  GdkEventButton            button;
  GdkEventKey               key;
  GdkEventCrossing          crossing;
  GdkEventFocus             focus_change;
  GdkEventConfigure         configure;
  GdkEventProperty          property;
  GdkEventSelection         selection;
  GdkEventProximity         proximity;
  GdkEventClient            client;
  GdkEventDND               dnd;
};

struct _GdkRegion
{
  gpointer user_data;
};

struct _GdkICAttr
{
  GdkIMStyle style;
  GdkWindow *client_window;
  GdkWindow *focus_window;
  GdkEventMask filter_events;
  GdkPoint spot_location;
  gint line_spacing;
  GdkCursor *cursor;

  GdkFont *preedit_fontset;
  GdkRectangle preedit_area;
  GdkRectangle preedit_area_needed; 
  GdkColor preedit_foreground;
  GdkColor preedit_background;
  GdkPixmap *preedit_pixmap;
  GdkColormap *preedit_colormap;

  GdkFont *status_fontset;
  GdkRectangle status_area;
  GdkRectangle status_area_needed; 
  GdkColor status_foreground;
  GdkColor status_background;
  GdkPixmap *status_pixmap;
  GdkColormap *status_colormap;
};







# 31 "/usr/include/gtk-1.2/gdk/gdk.h" 2 3







 


void      gdk_init                      (gint           *argc,
                                         gchar        ***argv);
gboolean  gdk_init_check                (gint           *argc,
                                         gchar        ***argv);
void      gdk_exit                      (gint            error_code);
gchar*    gdk_set_locale                (void);

 

void      gdk_error_trap_push           (void);
gint      gdk_error_trap_pop            (void);


gboolean  gdk_events_pending            (void);
GdkEvent* gdk_event_get                 (void);

GdkEvent* gdk_event_peek                (void);
GdkEvent* gdk_event_get_graphics_expose (GdkWindow      *window);
void      gdk_event_put                 (GdkEvent       *event);

GdkEvent* gdk_event_copy                (GdkEvent       *event);
void      gdk_event_free                (GdkEvent       *event);
guint32   gdk_event_get_time            (GdkEvent       *event);

void      gdk_event_handler_set         (GdkEventFunc    func,
                                         gpointer        data,
                                         GDestroyNotify  notify);

void      gdk_set_show_events           (gboolean        show_events);
void      gdk_set_use_xshm              (gboolean        use_xshm);

gboolean  gdk_get_show_events           (void);
gboolean  gdk_get_use_xshm              (void);
gchar*    gdk_get_display               (void);

guint32 gdk_time_get      (void);
guint32 gdk_timer_get     (void);
void    gdk_timer_set     (guint32 milliseconds);
void    gdk_timer_enable  (void);
void    gdk_timer_disable (void);

gint gdk_input_add_full   (gint              source,
                           GdkInputCondition condition,
                           GdkInputFunction  function,
                           gpointer          data,
                           GdkDestroyNotify  destroy);
gint gdk_input_add        (gint              source,
                           GdkInputCondition condition,
                           GdkInputFunction  function,
                           gpointer          data);
void gdk_input_remove     (gint              tag);

gint     gdk_pointer_grab       (GdkWindow    *window,
                                 gint          owner_events,
                                 GdkEventMask  event_mask,
                                 GdkWindow    *confine_to,
                                 GdkCursor    *cursor,
                                 guint32       time);
void     gdk_pointer_ungrab     (guint32       time);
gint     gdk_keyboard_grab      (GdkWindow    *window,
                                 gboolean      owner_events,
                                 guint32       time);
void     gdk_keyboard_ungrab    (guint32       time);
gboolean gdk_pointer_is_grabbed (void);


gint gdk_screen_width  (void);
gint gdk_screen_height (void);

gint gdk_screen_width_mm  (void);
gint gdk_screen_height_mm (void);

void gdk_flush (void);
void gdk_beep (void);

void gdk_key_repeat_disable (void);
void gdk_key_repeat_restore (void);


 

gint          gdk_visual_get_best_depth      (void);
GdkVisualType gdk_visual_get_best_type       (void);
GdkVisual*    gdk_visual_get_system          (void);
GdkVisual*    gdk_visual_get_best            (void);
GdkVisual*    gdk_visual_get_best_with_depth (gint           depth);
GdkVisual*    gdk_visual_get_best_with_type  (GdkVisualType  visual_type);
GdkVisual*    gdk_visual_get_best_with_both  (gint           depth,
                                              GdkVisualType  visual_type);

 
GdkVisual* gdk_visual_ref (GdkVisual *visual);
void       gdk_visual_unref (GdkVisual *visual);

void gdk_query_depths       (gint           **depths,
                             gint            *count);
void gdk_query_visual_types (GdkVisualType  **visual_types,
                             gint            *count);

GList* gdk_list_visuals (void);


 

GdkWindow*    gdk_window_new         (GdkWindow     *parent,
                                      GdkWindowAttr *attributes,
                                      gint           attributes_mask);

void          gdk_window_destroy     (GdkWindow     *window);
GdkWindow*    gdk_window_ref         (GdkWindow     *window);
void          gdk_window_unref       (GdkWindow     *window);

GdkWindow*    gdk_window_at_pointer  (gint         *win_x,
                                      gint         *win_y);
void          gdk_window_show        (GdkWindow    *window);
void          gdk_window_hide        (GdkWindow    *window);
void          gdk_window_withdraw    (GdkWindow    *window);
void          gdk_window_move        (GdkWindow    *window,
                                      gint          x,
                                      gint          y);
void          gdk_window_resize      (GdkWindow    *window,
                                      gint          width,
                                      gint          height);
void          gdk_window_move_resize (GdkWindow    *window,
                                      gint          x,
                                      gint          y,
                                      gint          width,
                                      gint          height);
void          gdk_window_reparent    (GdkWindow    *window,
                                      GdkWindow    *new_parent,
                                      gint          x,
                                      gint          y);
void          gdk_window_clear       (GdkWindow    *window);
void          gdk_window_clear_area  (GdkWindow    *window,
                                      gint          x,
                                      gint          y,
                                      gint          width,
                                      gint          height);
void          gdk_window_clear_area_e(GdkWindow    *window,
                                      gint          x,
                                      gint          y,
                                      gint          width,
                                      gint          height);
void          gdk_window_copy_area   (GdkWindow    *window,
                                      GdkGC        *gc,
                                      gint          x,
                                      gint          y,
                                      GdkWindow    *source_window,
                                      gint          source_x,
                                      gint          source_y,
                                      gint          width,
                                      gint          height);
void          gdk_window_raise       (GdkWindow    *window);
void          gdk_window_lower       (GdkWindow    *window);

void          gdk_window_set_user_data   (GdkWindow       *window,
                                          gpointer         user_data);
void          gdk_window_set_override_redirect(GdkWindow  *window,
                                               gboolean override_redirect);

void          gdk_window_add_filter     (GdkWindow     *window,
                                         GdkFilterFunc  function,
                                         gpointer       data);
void          gdk_window_remove_filter  (GdkWindow     *window,
                                         GdkFilterFunc  function,
                                         gpointer       data);

 





void gdk_window_shape_combine_mask (GdkWindow       *window,
                                    GdkBitmap       *shape_mask,
                                    gint             offset_x,
                                    gint             offset_y);
 






void gdk_window_set_child_shapes (GdkWindow *window);

 






void gdk_window_merge_child_shapes (GdkWindow *window);

 





gboolean gdk_window_is_visible     (GdkWindow *window);
gboolean gdk_window_is_viewable    (GdkWindow *window);

 


gboolean gdk_window_set_static_gravities (GdkWindow *window,
                                          gboolean   use_static);   
 



void gdk_add_client_message_filter (GdkAtom       message_type,
                                    GdkFilterFunc func,
                                    gpointer      data);

 

GdkDragContext * gdk_drag_context_new        (void);
void             gdk_drag_context_ref        (GdkDragContext *context);
void             gdk_drag_context_unref      (GdkDragContext *context);

 

void             gdk_drag_status        (GdkDragContext   *context,
                                         GdkDragAction     action,
                                         guint32           time);
void             gdk_drop_reply         (GdkDragContext   *context,
                                         gboolean          ok,
                                         guint32           time);
void             gdk_drop_finish        (GdkDragContext   *context,
                                         gboolean          success,
                                         guint32           time);
GdkAtom          gdk_drag_get_selection (GdkDragContext   *context);

 

GdkDragContext * gdk_drag_begin      (GdkWindow      *window,
                                      GList          *targets);
guint32         gdk_drag_get_protocol (guint32          xid,
                                       GdkDragProtocol *protocol);
void             gdk_drag_find_window (GdkDragContext   *context,
                                       GdkWindow       *drag_window,
                                       gint             x_root,
                                       gint             y_root,
                                       GdkWindow      **dest_window,
                                       GdkDragProtocol *protocol);
gboolean        gdk_drag_motion      (GdkDragContext *context,
                                      GdkWindow      *dest_window,
                                      GdkDragProtocol protocol,
                                      gint            x_root, 
                                      gint            y_root,
                                      GdkDragAction   suggested_action,
                                      GdkDragAction   possible_actions,
                                      guint32         time);
void            gdk_drag_drop        (GdkDragContext *context,
                                      guint32         time);
void            gdk_drag_abort       (GdkDragContext *context,
                                      guint32         time);

 

void          gdk_window_set_hints       (GdkWindow       *window,
                                          gint             x,
                                          gint             y,
                                          gint             min_width,
                                          gint             min_height,
                                          gint             max_width,
                                          gint             max_height,
                                          gint             flags);
void          gdk_window_set_geometry_hints (GdkWindow        *window,
                                             GdkGeometry      *geometry,
                                             GdkWindowHints    flags);
void          gdk_set_sm_client_id         (const gchar *sm_client_id);


void          gdk_window_set_title         (GdkWindow     *window,
                                            const gchar   *title);
void          gdk_window_set_role          (GdkWindow       *window,
                                            const gchar     *role);
void          gdk_window_set_transient_for (GdkWindow       *window, 
                                            GdkWindow       *leader);
void          gdk_window_set_background  (GdkWindow       *window,
                                          GdkColor        *color);
void          gdk_window_set_back_pixmap (GdkWindow       *window,
                                          GdkPixmap       *pixmap,
                                          gboolean         parent_relative);
void          gdk_window_set_cursor      (GdkWindow       *window,
                                          GdkCursor       *cursor);
void          gdk_window_set_colormap    (GdkWindow       *window,
                                          GdkColormap     *colormap);
void          gdk_window_get_user_data   (GdkWindow       *window,
                                          gpointer        *data);
void          gdk_window_get_geometry    (GdkWindow       *window,
                                          gint            *x,
                                          gint            *y,
                                          gint            *width,
                                          gint            *height,
                                          gint            *depth);
void          gdk_window_get_position    (GdkWindow       *window,
                                          gint            *x,
                                          gint            *y);
void          gdk_window_get_size        (GdkWindow       *window,
                                          gint            *width,
                                          gint            *height);
GdkVisual*    gdk_window_get_visual      (GdkWindow       *window);
GdkColormap*  gdk_window_get_colormap    (GdkWindow       *window);
GdkWindowType gdk_window_get_type        (GdkWindow       *window);
gint          gdk_window_get_origin      (GdkWindow       *window,
                                          gint            *x,
                                          gint            *y);
gboolean      gdk_window_get_deskrelative_origin (GdkWindow       *window,
                                          gint            *x,
                                          gint            *y);
void          gdk_window_get_root_origin (GdkWindow       *window,
                                          gint            *x,
                                          gint            *y);
GdkWindow*    gdk_window_get_pointer     (GdkWindow       *window,
                                          gint            *x,
                                          gint            *y,
                                          GdkModifierType *mask);
GdkWindow*    gdk_window_get_parent      (GdkWindow       *window);
GdkWindow*    gdk_window_get_toplevel    (GdkWindow       *window);
GList*        gdk_window_get_children    (GdkWindow       *window);
GdkEventMask  gdk_window_get_events      (GdkWindow       *window);
void          gdk_window_set_events      (GdkWindow       *window,
                                          GdkEventMask     event_mask);

void          gdk_window_set_icon        (GdkWindow       *window, 
                                          GdkWindow       *icon_window,
                                          GdkPixmap       *pixmap,
                                          GdkBitmap       *mask);
void          gdk_window_set_icon_name   (GdkWindow       *window, 
                                          const gchar     *name);
void          gdk_window_set_group       (GdkWindow       *window, 
                                          GdkWindow       *leader);
void          gdk_window_set_decorations (GdkWindow       *window,
                                          GdkWMDecoration  decorations);
void          gdk_window_set_functions   (GdkWindow       *window,
                                          GdkWMFunction    functions);
GList *       gdk_window_get_toplevels   (void);

void          gdk_window_register_dnd    (GdkWindow       *window);

void          gdk_drawable_set_data      (GdkDrawable     *drawable,
                                          const gchar     *key,
                                          gpointer         data,
                                          GDestroyNotify   destroy_func);
                                          

 

GdkCursor* gdk_cursor_new                (GdkCursorType   cursor_type);
GdkCursor* gdk_cursor_new_from_pixmap    (GdkPixmap       *source,
                                          GdkPixmap       *mask,
                                          GdkColor        *fg,
                                          GdkColor        *bg,
                                          gint             x,
                                          gint             y);
void       gdk_cursor_destroy            (GdkCursor      *cursor);


 

GdkGC* gdk_gc_new                 (GdkWindow        *window);
GdkGC* gdk_gc_new_with_values     (GdkWindow        *window,
                                   GdkGCValues      *values,
                                   GdkGCValuesMask   values_mask);
GdkGC* gdk_gc_ref                 (GdkGC            *gc);
void   gdk_gc_unref               (GdkGC            *gc);
void   gdk_gc_destroy             (GdkGC            *gc);
void   gdk_gc_get_values          (GdkGC            *gc,
                                   GdkGCValues      *values);
void   gdk_gc_set_foreground      (GdkGC            *gc,
                                   GdkColor         *color);
void   gdk_gc_set_background      (GdkGC            *gc,
                                   GdkColor         *color);
void   gdk_gc_set_font            (GdkGC            *gc,
                                   GdkFont          *font);
void   gdk_gc_set_function        (GdkGC            *gc,
                                   GdkFunction       function);
void   gdk_gc_set_fill            (GdkGC            *gc,
                                   GdkFill           fill);
void   gdk_gc_set_tile            (GdkGC            *gc,
                                   GdkPixmap        *tile);
void   gdk_gc_set_stipple         (GdkGC            *gc,
                                   GdkPixmap        *stipple);
void   gdk_gc_set_ts_origin       (GdkGC            *gc,
                                   gint              x,
                                   gint              y);
void   gdk_gc_set_clip_origin     (GdkGC            *gc,
                                   gint              x,
                                   gint              y);
void   gdk_gc_set_clip_mask       (GdkGC            *gc,
                                   GdkBitmap        *mask);
void   gdk_gc_set_clip_rectangle  (GdkGC            *gc,
                                   GdkRectangle     *rectangle);
void   gdk_gc_set_clip_region     (GdkGC            *gc,
                                   GdkRegion        *region);
void   gdk_gc_set_subwindow       (GdkGC            *gc,
                                   GdkSubwindowMode  mode);
void   gdk_gc_set_exposures       (GdkGC            *gc,
                                   gboolean          exposures);
void   gdk_gc_set_line_attributes (GdkGC            *gc,
                                   gint              line_width,
                                   GdkLineStyle      line_style,
                                   GdkCapStyle       cap_style,
                                   GdkJoinStyle      join_style);
void   gdk_gc_set_dashes          (GdkGC            *gc,
                                   gint              dash_offset,
                                   gint8             dash_list[],
                                   gint              n);
void   gdk_gc_copy                (GdkGC             *dst_gc,
                                   GdkGC             *src_gc);


 

GdkPixmap* gdk_pixmap_new               (GdkWindow  *window,
                                         gint        width,
                                         gint        height,
                                         gint        depth);
GdkBitmap* gdk_bitmap_create_from_data  (GdkWindow   *window,
                                         const gchar *data,
                                         gint         width,
                                         gint         height);
GdkPixmap* gdk_pixmap_create_from_data  (GdkWindow   *window,
                                         const gchar *data,
                                         gint         width,
                                         gint         height,
                                         gint         depth,
                                         GdkColor    *fg,
                                         GdkColor    *bg);
GdkPixmap* gdk_pixmap_create_from_xpm   (GdkWindow  *window,
                                         GdkBitmap **mask,
                                         GdkColor   *transparent_color,
                                         const gchar *filename);
GdkPixmap* gdk_pixmap_colormap_create_from_xpm (
                                         GdkWindow   *window,
                                         GdkColormap *colormap,
                                         GdkBitmap  **mask,
                                         GdkColor    *transparent_color,
                                         const gchar *filename);
GdkPixmap* gdk_pixmap_create_from_xpm_d (GdkWindow  *window,
                                         GdkBitmap **mask,
                                         GdkColor   *transparent_color,
                                         gchar     **data);
GdkPixmap* gdk_pixmap_colormap_create_from_xpm_d (
                                         GdkWindow   *window,
                                         GdkColormap *colormap,
                                         GdkBitmap  **mask,
                                         GdkColor    *transparent_color,
                                         gchar     **data);
GdkPixmap *gdk_pixmap_ref               (GdkPixmap  *pixmap);
void       gdk_pixmap_unref             (GdkPixmap  *pixmap);

GdkBitmap *gdk_bitmap_ref               (GdkBitmap  *pixmap);
void       gdk_bitmap_unref             (GdkBitmap  *pixmap);


 

GdkImage* gdk_image_new_bitmap(GdkVisual     *visual,
                                gpointer      data,
                                gint          width,
                                gint          height);
GdkImage*  gdk_image_new       (GdkImageType  type,
                                GdkVisual    *visual,
                                gint          width,
                                gint          height);
GdkImage*  gdk_image_get       (GdkWindow    *window,
                                gint          x,
                                gint          y,
                                gint          width,
                                gint          height);
void       gdk_image_put_pixel (GdkImage     *image,
                                gint          x,
                                gint          y,
                                guint32       pixel);
guint32    gdk_image_get_pixel (GdkImage     *image,
                                gint          x,
                                gint          y);
void       gdk_image_destroy   (GdkImage     *image);


 

GdkColormap* gdk_colormap_new             (GdkVisual      *visual,
                                           gboolean        allocate);
GdkColormap* gdk_colormap_ref             (GdkColormap    *cmap);
void         gdk_colormap_unref           (GdkColormap    *cmap);

GdkColormap* gdk_colormap_get_system      (void);
gint         gdk_colormap_get_system_size (void);

void         gdk_colormap_change          (GdkColormap    *colormap,
                                           gint            ncolors);

void         gdk_colormap_sync            (GdkColormap    *colormap,
                                           gboolean        force);
gint         gdk_colormap_alloc_colors    (GdkColormap    *colormap,
                                           GdkColor       *colors,
                                           gint            ncolors,
                                           gboolean        writeable,
                                           gboolean        best_match,
                                           gboolean       *success);
gboolean     gdk_colormap_alloc_color     (GdkColormap    *colormap,
                                           GdkColor       *color,
                                           gboolean        writeable,
                                           gboolean        best_match);
void         gdk_colormap_free_colors     (GdkColormap    *colormap,
                                           GdkColor       *colors,
                                           gint            ncolors);

GdkVisual*   gdk_colormap_get_visual      (GdkColormap    *colormap);

GdkColor*    gdk_color_copy               (const GdkColor *color);
void         gdk_color_free               (GdkColor       *color);

gboolean     gdk_color_parse              (const gchar    *spec,
                                           GdkColor       *color);
guint        gdk_color_hash               (const GdkColor *colora,
                                           const GdkColor *colorb);
gboolean     gdk_color_equal              (const GdkColor *colora,
                                           const GdkColor *colorb);


 
void     gdk_colors_store (GdkColormap  *colormap,
                           GdkColor     *colors,
                           gint          ncolors);
gboolean gdk_colors_alloc (GdkColormap  *colormap,
                           gboolean      contiguous,
                           gulong       *planes,
                           gint          nplanes,
                           gulong       *pixels,
                           gint          npixels);
void     gdk_colors_free  (GdkColormap  *colormap,
                           gulong       *pixels,
                           gint          npixels,
                           gulong        planes);
gboolean gdk_color_white  (GdkColormap  *colormap,
                           GdkColor     *color);
gboolean gdk_color_black  (GdkColormap  *colormap,
                           GdkColor     *color);
gboolean gdk_color_alloc  (GdkColormap  *colormap,
                           GdkColor     *color);
gboolean gdk_color_change (GdkColormap  *colormap,
                           GdkColor     *color);


 

GdkFont* gdk_font_load      (const gchar    *font_name);
GdkFont* gdk_fontset_load   (const gchar    *fontset_name);
GdkFont* gdk_font_ref       (GdkFont        *font);
void     gdk_font_unref     (GdkFont        *font);
gint     gdk_font_id        (const GdkFont  *font);
gboolean gdk_font_equal     (const GdkFont  *fonta,
                             const GdkFont  *fontb);
gint     gdk_string_width   (GdkFont        *font,
                             const gchar    *string);
gint     gdk_text_width     (GdkFont        *font,
                             const gchar    *text,
                             gint            text_length);
gint     gdk_text_width_wc  (GdkFont        *font,
                             const GdkWChar *text,
                             gint            text_length);
gint     gdk_char_width     (GdkFont        *font,
                             gchar           character);
gint     gdk_char_width_wc  (GdkFont        *font,
                             GdkWChar        character);
gint     gdk_string_measure (GdkFont        *font,
                             const gchar    *string);
gint     gdk_text_measure   (GdkFont        *font,
                             const gchar    *text,
                             gint            text_length);
gint     gdk_char_measure   (GdkFont        *font,
                             gchar           character);
gint     gdk_string_height  (GdkFont        *font,
                             const gchar    *string);
gint     gdk_text_height    (GdkFont        *font,
                             const gchar    *text,
                             gint            text_length);
gint     gdk_char_height    (GdkFont        *font,
                             gchar           character);

void     gdk_text_extents   (GdkFont     *font,
                             const gchar *text,
                             gint         text_length,
                             gint        *lbearing,
                             gint        *rbearing,
                             gint        *width,
                             gint        *ascent,
                             gint        *descent);
void    gdk_text_extents_wc (GdkFont        *font,
                             const GdkWChar *text,
                             gint            text_length,
                             gint           *lbearing,
                             gint           *rbearing,
                             gint           *width,
                             gint           *ascent,
                             gint           *descent);
void     gdk_string_extents (GdkFont     *font,
                             const gchar *string,
                             gint        *lbearing,
                             gint        *rbearing,
                             gint        *width,
                             gint        *ascent,
                             gint        *descent);

 

void gdk_draw_point      (GdkDrawable  *drawable,
                          GdkGC        *gc,
                          gint          x,
                          gint          y);
void gdk_draw_line       (GdkDrawable  *drawable,
                          GdkGC        *gc,
                          gint          x1,
                          gint          y1,
                          gint          x2,
                          gint          y2);
void gdk_draw_rectangle  (GdkDrawable  *drawable,
                          GdkGC        *gc,
                          gint          filled,
                          gint          x,
                          gint          y,
                          gint          width,
                          gint          height);
void gdk_draw_arc        (GdkDrawable  *drawable,
                          GdkGC        *gc,
                          gint          filled,
                          gint          x,
                          gint          y,
                          gint          width,
                          gint          height,
                          gint          angle1,
                          gint          angle2);
void gdk_draw_polygon    (GdkDrawable  *drawable,
                          GdkGC        *gc,
                          gint          filled,
                          GdkPoint     *points,
                          gint          npoints);
void gdk_draw_string     (GdkDrawable  *drawable,
                          GdkFont      *font,
                          GdkGC        *gc,
                          gint          x,
                          gint          y,
                          const gchar  *string);
void gdk_draw_text       (GdkDrawable  *drawable,
                          GdkFont      *font,
                          GdkGC        *gc,
                          gint          x,
                          gint          y,
                          const gchar  *text,
                          gint          text_length);
void gdk_draw_text_wc    (GdkDrawable    *drawable,
                          GdkFont        *font,
                          GdkGC          *gc,
                          gint            x,
                          gint            y,
                          const GdkWChar *text,
                          gint            text_length);
void gdk_draw_pixmap     (GdkDrawable  *drawable,
                          GdkGC        *gc,
                          GdkDrawable  *src,
                          gint          xsrc,
                          gint          ysrc,
                          gint          xdest,
                          gint          ydest,
                          gint          width,
                          gint          height);
void gdk_draw_image      (GdkDrawable  *drawable,
                          GdkGC        *gc,
                          GdkImage     *image,
                          gint          xsrc,
                          gint          ysrc,
                          gint          xdest,
                          gint          ydest,
                          gint          width,
                          gint          height);
void gdk_draw_points     (GdkDrawable  *drawable,
                          GdkGC        *gc,
                          GdkPoint     *points,
                          gint          npoints);
void gdk_draw_segments   (GdkDrawable  *drawable,
                          GdkGC        *gc,
                          GdkSegment   *segs,
                          gint          nsegs);
void gdk_draw_lines      (GdkDrawable  *drawable,
                          GdkGC        *gc,
                          GdkPoint     *points,
                          gint          npoints);
 



 

gboolean   gdk_selection_owner_set (GdkWindow    *owner,
                                    GdkAtom       selection,
                                    guint32       time,
                                    gint          send_event);
GdkWindow* gdk_selection_owner_get (GdkAtom       selection);
void       gdk_selection_convert   (GdkWindow    *requestor,
                                    GdkAtom       selection,
                                    GdkAtom       target,
                                    guint32       time);
gboolean   gdk_selection_property_get (GdkWindow  *requestor,
                                       guchar    **data,
                                       GdkAtom    *prop_type,
                                       gint       *prop_format);
void       gdk_selection_send_notify (guint32       requestor,
                                      GdkAtom       selection,
                                      GdkAtom       target,
                                      GdkAtom       property,
                                      guint32       time);

gint       gdk_text_property_to_text_list (GdkAtom encoding, gint format,
                                           guchar *text, gint length,
                                           gchar ***list);
void       gdk_free_text_list             (gchar **list);
gint       gdk_string_to_compound_text    (const gchar *str,
                                           GdkAtom *encoding, gint *format,
                                           guchar **ctext, gint *length);
void       gdk_free_compound_text         (guchar *ctext);

 

GdkAtom  gdk_atom_intern     (const gchar  *atom_name,
                              gint          only_if_exists);
gchar*   gdk_atom_name       (GdkAtom       atom);
gboolean gdk_property_get    (GdkWindow    *window,
                              GdkAtom       property,
                              GdkAtom       type,
                              gulong        offset,
                              gulong        length,
                              gint          pdelete,
                              GdkAtom      *actual_property_type,
                              gint         *actual_format,
                              gint         *actual_length,
                              guchar      **data);
void     gdk_property_change (GdkWindow    *window,
                              GdkAtom       property,
                              GdkAtom       type,
                              gint          format,
                              GdkPropMode   mode,
                              guchar       *data,
                             gint          nelements);
void     gdk_property_delete (GdkWindow    *window,
                              GdkAtom       property);



 

gboolean gdk_rectangle_intersect (GdkRectangle *src1,
                                  GdkRectangle *src2,
                                  GdkRectangle *dest);
void     gdk_rectangle_union     (GdkRectangle *src1,
                                  GdkRectangle *src2,
                                  GdkRectangle *dest);

 

void          gdk_input_init                 (void);
void          gdk_input_exit                 (void);
GList *       gdk_input_list_devices         (void);
void          gdk_input_set_extension_events (GdkWindow        *window,
                                              gint              mask,
                                              GdkExtensionMode  mode);
void          gdk_input_set_source           (guint32           deviceid,
                                              GdkInputSource    source);
gboolean      gdk_input_set_mode             (guint32           deviceid,
                                              GdkInputMode      mode);
void          gdk_input_set_axes             (guint32           deviceid,
                                              GdkAxisUse       *axes);
void          gdk_input_set_key              (guint32           deviceid,
                                              guint             index,
                                              guint             keyval,
                                              GdkModifierType   modifiers);
void          gdk_input_window_get_pointer   (GdkWindow        *window,
                                              guint32           deviceid,
                                              gdouble          *x,
                                              gdouble          *y,
                                              gdouble          *pressure,
                                              gdouble          *xtilt,
                                              gdouble          *ytilt,
                                              GdkModifierType  *mask);
GdkTimeCoord *gdk_input_motion_events        (GdkWindow        *window,
                                              guint32           deviceid,
                                              guint32           start,
                                              guint32           stop,
                                              gint             *nevents_return);

 


gboolean     gdk_im_ready          (void);

void         gdk_im_begin          (GdkIC               *ic, 
                                    GdkWindow           *window);
void         gdk_im_end            (void);
GdkIMStyle   gdk_im_decide_style   (GdkIMStyle           supported_style);
GdkIMStyle   gdk_im_set_best_style (GdkIMStyle           best_allowed_style);

GdkIC*       gdk_ic_new            (GdkICAttr           *attr,
                                    GdkICAttributesType mask);
void         gdk_ic_destroy        (GdkIC               *ic);
GdkIMStyle   gdk_ic_get_style      (GdkIC               *ic);
GdkEventMask gdk_ic_get_events     (GdkIC               *ic);

GdkICAttr*   gdk_ic_attr_new       (void);
void         gdk_ic_attr_destroy   (GdkICAttr *attr);

GdkICAttributesType  gdk_ic_set_attr (GdkIC              *ic,  
                                      GdkICAttr          *attr,
                                      GdkICAttributesType mask);
GdkICAttributesType  gdk_ic_get_attr (GdkIC              *ic, 
                                      GdkICAttr          *attr,
                                      GdkICAttributesType mask);

 

gchar     *gdk_wcstombs          (const GdkWChar   *src);
gint       gdk_mbstowcs          (GdkWChar         *dest,
                                  const gchar      *src,
                                  gint              dest_max);


 

GdkColorContext *gdk_color_context_new                    (GdkVisual   *visual,
                                                           GdkColormap 
*colormap);

GdkColorContext *gdk_color_context_new_mono               (GdkVisual   *visual,
                                                           GdkColormap 
*colormap);

void             gdk_color_context_free                   (GdkColorContext *cc);

gulong           gdk_color_context_get_pixel              (GdkColorContext *cc,
                                                           gushort          red,
                                                           gushort          
green,
                                                           gushort          
blue,
                                                           gint            
*failed);
void             gdk_color_context_get_pixels             (GdkColorContext *cc,
                                                           gushort         
*reds,
                                                           gushort         
*greens,
                                                           gushort         
*blues,
                                                           gint             
ncolors,
                                                           gulong          
*colors,
                                                           gint            
*nallocated);
void             gdk_color_context_get_pixels_incremental (GdkColorContext *cc,
                                                           gushort         
*reds,
                                                           gushort         
*greens,
                                                           gushort         
*blues,
                                                           gint             
ncolors,
                                                           gint            
*used,
                                                           gulong          
*colors,
                                                           gint            
*nallocated);

gint             gdk_color_context_query_color            (GdkColorContext *cc,
                                                           GdkColor        
*color);
gint             gdk_color_context_query_colors           (GdkColorContext *cc,
                                                           GdkColor        
*colors,
                                                           gint             
num_colors);

gint             gdk_color_context_add_palette            (GdkColorContext *cc,
                                                           GdkColor        
*palette,
                                                           gint             
num_palette);

void             gdk_color_context_init_dither            (GdkColorContext *cc);
void             gdk_color_context_free_dither            (GdkColorContext *cc);

gulong           gdk_color_context_get_pixel_from_palette (GdkColorContext *cc,
                                                           gushort         *red,
                                                           gushort         
*green,
                                                           gushort         
*blue,
                                                           gint            
*failed);
guchar           gdk_color_context_get_index_from_palette (GdkColorContext *cc,
                                                           gint            *red,
                                                           gint            
*green,
                                                           gint            
*blue,
                                                           gint            
*failed);
 


GdkRegion*     gdk_region_new       (void);
void           gdk_region_destroy   (GdkRegion     *region);

void           gdk_region_get_clipbox(GdkRegion    *region,
                                      GdkRectangle *rectangle);

gboolean       gdk_region_empty     (GdkRegion     *region);
gboolean       gdk_region_equal     (GdkRegion     *region1,
                                     GdkRegion     *region2);
gboolean       gdk_region_point_in  (GdkRegion     *region,
                                     int                   x,
                                     int                   y);
GdkOverlapType gdk_region_rect_in   (GdkRegion     *region,
                                     GdkRectangle  *rect);

GdkRegion*     gdk_region_polygon   (GdkPoint      *points,
                                     gint           npoints,
                                     GdkFillRule    fill_rule);

void           gdk_region_offset   (GdkRegion      *region,
                                    gint           dx,
                                    gint           dy);
void           gdk_region_shrink   (GdkRegion      *region,
                                    gint           dx,
                                    gint           dy);

GdkRegion*    gdk_region_union_with_rect  (GdkRegion      *region,
                                           GdkRectangle   *rect);
GdkRegion*    gdk_regions_intersect       (GdkRegion      *source1,
                                           GdkRegion      *source2);
GdkRegion*    gdk_regions_union           (GdkRegion      *source1,
                                           GdkRegion      *source2);
GdkRegion*    gdk_regions_subtract        (GdkRegion      *source1,
                                           GdkRegion      *source2);
GdkRegion*    gdk_regions_xor             (GdkRegion      *source1,
                                           GdkRegion      *source2);

 
void     gdk_event_send_clientmessage_toall (GdkEvent    *event);
gboolean gdk_event_send_client_message (GdkEvent    *event,
                                        guint32      xid);

 

gchar*   gdk_keyval_name                  (guint        keyval);
guint    gdk_keyval_from_name             (const gchar *keyval_name);
guint    gdk_keyval_to_upper              (guint        keyval);
guint    gdk_keyval_to_lower              (guint        keyval);
gboolean gdk_keyval_is_upper              (guint        keyval);
gboolean gdk_keyval_is_lower              (guint        keyval);

 


extern GMutex *gdk_threads_mutex;

void     gdk_threads_enter                (void);
void     gdk_threads_leave                (void);



















# 1 "/usr/include/gtk-1.2/gdk/gdkrgb.h" 1 3
 


















 













typedef struct _GdkRgbCmap GdkRgbCmap;

struct _GdkRgbCmap {
  guint32 colors[256];
  guchar lut[256];  
};

void
gdk_rgb_init (void);

gulong
gdk_rgb_xpixel_from_rgb (guint32 rgb);

void
gdk_rgb_gc_set_foreground (GdkGC *gc, guint32 rgb);

void
gdk_rgb_gc_set_background (GdkGC *gc, guint32 rgb);

typedef enum
{
  GDK_RGB_DITHER_NONE,
  GDK_RGB_DITHER_NORMAL,
  GDK_RGB_DITHER_MAX
} GdkRgbDither;

void
gdk_draw_rgb_image (GdkDrawable *drawable,
                    GdkGC *gc,
                    gint x,
                    gint y,
                    gint width,
                    gint height,
                    GdkRgbDither dith,
                    guchar *rgb_buf,
                    gint rowstride);

void
gdk_draw_rgb_image_dithalign (GdkDrawable *drawable,
                              GdkGC *gc,
                              gint x,
                              gint y,
                              gint width,
                              gint height,
                              GdkRgbDither dith,
                              guchar *rgb_buf,
                              gint rowstride,
                              gint xdith,
                              gint ydith);

void
gdk_draw_rgb_32_image (GdkDrawable *drawable,
                       GdkGC *gc,
                       gint x,
                       gint y,
                       gint width,
                       gint height,
                       GdkRgbDither dith,
                       guchar *buf,
                       gint rowstride);

void
gdk_draw_gray_image (GdkDrawable *drawable,
                     GdkGC *gc,
                     gint x,
                     gint y,
                     gint width,
                     gint height,
                     GdkRgbDither dith,
                     guchar *buf,
                     gint rowstride);

GdkRgbCmap *
gdk_rgb_cmap_new (guint32 *colors, gint n_colors);

void
gdk_rgb_cmap_free (GdkRgbCmap *cmap);

void
gdk_draw_indexed_image (GdkDrawable *drawable,
                        GdkGC *gc,
                        gint x,
                        gint y,
                        gint width,
                        gint height,
                        GdkRgbDither dith,
                        guchar *buf,
                        gint rowstride,
                        GdkRgbCmap *cmap);


 

gboolean
gdk_rgb_ditherable (void);

void
gdk_rgb_set_verbose (gboolean verbose);

 
void
gdk_rgb_set_install (gboolean install);

void
gdk_rgb_set_min_colors (gint min_colors);

GdkColormap *
gdk_rgb_get_cmap (void);

GdkVisual *
gdk_rgb_get_visual (void);







# 1007 "/usr/include/gtk-1.2/gdk/gdk.h" 2 3



# 31 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkaccelgroup.h" 1 3
 





















 











# 1 "/usr/include/gtk-1.2/gtk/gtkobject.h" 1 3
 


















 










# 1 "/usr/include/gtk-1.2/gtk/gtkarg.h" 1 3
 


















 










# 1 "/usr/include/gtk-1.2/gtk/gtktypeutils.h" 1 3
 


















 


















 

typedef enum
{
  GTK_TYPE_INVALID,
  GTK_TYPE_NONE,
  
   
  GTK_TYPE_CHAR,
  GTK_TYPE_UCHAR,
  GTK_TYPE_BOOL,
  GTK_TYPE_INT,
  GTK_TYPE_UINT,
  GTK_TYPE_LONG,
  GTK_TYPE_ULONG,
  GTK_TYPE_FLOAT,
  GTK_TYPE_DOUBLE,
  GTK_TYPE_STRING,
  GTK_TYPE_ENUM,
  GTK_TYPE_FLAGS,
  GTK_TYPE_BOXED,
  GTK_TYPE_POINTER,
  
   
  GTK_TYPE_SIGNAL,
  GTK_TYPE_ARGS,
  GTK_TYPE_CALLBACK,
  GTK_TYPE_C_CALLBACK,
  GTK_TYPE_FOREIGN,
  
   
  GTK_TYPE_OBJECT
} GtkFundamentalType;

 











 







 













 













 

typedef guint GtkType;

typedef struct _GtkTypeObject   GtkTypeObject;
typedef struct _GtkTypeClass    GtkTypeClass;






 

# 1 "/usr/include/gtk-1.2/gtk/gtktypebuiltins.h" 1 3
 

extern GtkType GTK_TYPE_ACCEL_FLAGS;
extern GtkType GTK_TYPE_CALENDAR_DISPLAY_OPTIONS;
extern GtkType GTK_TYPE_CELL_TYPE;
extern GtkType GTK_TYPE_CLIST_DRAG_POS;
extern GtkType GTK_TYPE_BUTTON_ACTION;
extern GtkType GTK_TYPE_CTREE_POS;
extern GtkType GTK_TYPE_CTREE_LINE_STYLE;
extern GtkType GTK_TYPE_CTREE_EXPANDER_STYLE;
extern GtkType GTK_TYPE_CTREE_EXPANSION_TYPE;
extern GtkType GTK_TYPE_DEBUG_FLAG;
extern GtkType GTK_TYPE_DEST_DEFAULTS;
extern GtkType GTK_TYPE_TARGET_FLAGS;
extern GtkType GTK_TYPE_ARROW_TYPE;
extern GtkType GTK_TYPE_ATTACH_OPTIONS;
extern GtkType GTK_TYPE_BUTTON_BOX_STYLE;
extern GtkType GTK_TYPE_CURVE_TYPE;
extern GtkType GTK_TYPE_DIRECTION_TYPE;
extern GtkType GTK_TYPE_JUSTIFICATION;
extern GtkType GTK_TYPE_MATCH_TYPE;
extern GtkType GTK_TYPE_MENU_DIRECTION_TYPE;
extern GtkType GTK_TYPE_MENU_FACTORY_TYPE;
extern GtkType GTK_TYPE_METRIC_TYPE;
extern GtkType GTK_TYPE_ORIENTATION;
extern GtkType GTK_TYPE_CORNER_TYPE;
extern GtkType GTK_TYPE_PACK_TYPE;
extern GtkType GTK_TYPE_PATH_PRIORITY_TYPE;
extern GtkType GTK_TYPE_PATH_TYPE;
extern GtkType GTK_TYPE_POLICY_TYPE;
extern GtkType GTK_TYPE_POSITION_TYPE;
extern GtkType GTK_TYPE_PREVIEW_TYPE;
extern GtkType GTK_TYPE_RELIEF_STYLE;
extern GtkType GTK_TYPE_RESIZE_MODE;
extern GtkType GTK_TYPE_SIGNAL_RUN_TYPE;
extern GtkType GTK_TYPE_SCROLL_TYPE;
extern GtkType GTK_TYPE_SELECTION_MODE;
extern GtkType GTK_TYPE_SHADOW_TYPE;
extern GtkType GTK_TYPE_STATE_TYPE;
extern GtkType GTK_TYPE_SUBMENU_DIRECTION;
extern GtkType GTK_TYPE_SUBMENU_PLACEMENT;
extern GtkType GTK_TYPE_TOOLBAR_STYLE;
extern GtkType GTK_TYPE_TROUGH_TYPE;
extern GtkType GTK_TYPE_UPDATE_TYPE;
extern GtkType GTK_TYPE_VISIBILITY;
extern GtkType GTK_TYPE_WINDOW_POSITION;
extern GtkType GTK_TYPE_WINDOW_TYPE;
extern GtkType GTK_TYPE_SORT_TYPE;
extern GtkType GTK_TYPE_FONT_METRIC_TYPE;
extern GtkType GTK_TYPE_FONT_TYPE;
extern GtkType GTK_TYPE_FONT_FILTER_TYPE;
extern GtkType GTK_TYPE_OBJECT_FLAGS;
extern GtkType GTK_TYPE_ARG_FLAGS;
extern GtkType GTK_TYPE_PACKER_OPTIONS;
extern GtkType GTK_TYPE_SIDE_TYPE;
extern GtkType GTK_TYPE_ANCHOR_TYPE;
extern GtkType GTK_TYPE_PRIVATE_FLAGS;
extern GtkType GTK_TYPE_PROGRESS_BAR_STYLE;
extern GtkType GTK_TYPE_PROGRESS_BAR_ORIENTATION;
extern GtkType GTK_TYPE_RC_FLAGS;
extern GtkType GTK_TYPE_RC_TOKEN_TYPE;
extern GtkType GTK_TYPE_SPIN_BUTTON_UPDATE_POLICY;
extern GtkType GTK_TYPE_SPIN_TYPE;
extern GtkType GTK_TYPE_TOOLBAR_CHILD_TYPE;
extern GtkType GTK_TYPE_TOOLBAR_SPACE_STYLE;
extern GtkType GTK_TYPE_TREE_VIEW_MODE;
extern GtkType GTK_TYPE_FUNDAMENTAL_TYPE;
extern GtkType GTK_TYPE_WIDGET_FLAGS;
extern GtkType GTK_TYPE_GDK_WINDOW_TYPE;
extern GtkType GTK_TYPE_GDK_WINDOW_CLASS;
extern GtkType GTK_TYPE_GDK_IMAGE_TYPE;
extern GtkType GTK_TYPE_GDK_VISUAL_TYPE;
extern GtkType GTK_TYPE_GDK_FONT_TYPE;
extern GtkType GTK_TYPE_GDK_WINDOW_ATTRIBUTES_TYPE;
extern GtkType GTK_TYPE_GDK_WINDOW_HINTS;
extern GtkType GTK_TYPE_GDK_FUNCTION;
extern GtkType GTK_TYPE_GDK_FILL;
extern GtkType GTK_TYPE_GDK_FILL_RULE;
extern GtkType GTK_TYPE_GDK_LINE_STYLE;
extern GtkType GTK_TYPE_GDK_CAP_STYLE;
extern GtkType GTK_TYPE_GDK_JOIN_STYLE;
extern GtkType GTK_TYPE_GDK_CURSOR_TYPE;
extern GtkType GTK_TYPE_GDK_FILTER_RETURN;
extern GtkType GTK_TYPE_GDK_VISIBILITY_STATE;
extern GtkType GTK_TYPE_GDK_EVENT_TYPE;
extern GtkType GTK_TYPE_GDK_EVENT_MASK;
extern GtkType GTK_TYPE_GDK_NOTIFY_TYPE;
extern GtkType GTK_TYPE_GDK_CROSSING_MODE;
extern GtkType GTK_TYPE_GDK_MODIFIER_TYPE;
extern GtkType GTK_TYPE_GDK_SUBWINDOW_MODE;
extern GtkType GTK_TYPE_GDK_INPUT_CONDITION;
extern GtkType GTK_TYPE_GDK_STATUS;
extern GtkType GTK_TYPE_GDK_BYTE_ORDER;
extern GtkType GTK_TYPE_GDK_GC_VALUES_MASK;
extern GtkType GTK_TYPE_GDK_SELECTION;
extern GtkType GTK_TYPE_GDK_PROPERTY_STATE;
extern GtkType GTK_TYPE_GDK_PROP_MODE;
extern GtkType GTK_TYPE_GDK_INPUT_SOURCE;
extern GtkType GTK_TYPE_GDK_INPUT_MODE;
extern GtkType GTK_TYPE_GDK_AXIS_USE;
extern GtkType GTK_TYPE_GDK_TARGET;
extern GtkType GTK_TYPE_GDK_SELECTION_TYPE;
extern GtkType GTK_TYPE_GDK_EXTENSION_MODE;
extern GtkType GTK_TYPE_GDK_IM_STYLE;
extern GtkType GTK_TYPE_GDK_IC_ATTRIBUTES_TYPE;
extern GtkType GTK_TYPE_GDK_WM_DECORATION;
extern GtkType GTK_TYPE_GDK_WM_FUNCTION;
extern GtkType GTK_TYPE_GDK_COLOR_CONTEXT_MODE;
extern GtkType GTK_TYPE_GDK_OVERLAP_TYPE;
extern GtkType GTK_TYPE_GDK_DRAG_ACTION;
extern GtkType GTK_TYPE_GDK_DRAG_PROTOCOL;
extern GtkType GTK_TYPE_GDK_RGB_DITHER;
extern GtkType GTK_TYPE_ACCEL_GROUP;
extern GtkType GTK_TYPE_SELECTION_DATA;
extern GtkType GTK_TYPE_STYLE;
extern GtkType GTK_TYPE_CTREE_NODE;
extern GtkType GTK_TYPE_GDK_COLORMAP;
extern GtkType GTK_TYPE_GDK_VISUAL;
extern GtkType GTK_TYPE_GDK_FONT;
extern GtkType GTK_TYPE_GDK_WINDOW;
extern GtkType GTK_TYPE_GDK_DRAG_CONTEXT;
extern GtkType GTK_TYPE_GDK_EVENT;
extern GtkType GTK_TYPE_GDK_COLOR;


# 135 "/usr/include/gtk-1.2/gtk/gtktypeutils.h" 2 3







GtkType         gtk_identifier_get_type         (void);

 





typedef struct _GtkArg         GtkArg;
typedef struct _GtkObject      GtkObject;    
typedef struct _GtkTypeInfo    GtkTypeInfo;
typedef struct _GtkTypeQuery   GtkTypeQuery;
typedef struct _GtkEnumValue   GtkEnumValue;
typedef struct _GtkEnumValue   GtkFlagValue;




typedef void (*GtkClassInitFunc)   (gpointer   klass);
typedef void (*GtkObjectInitFunc)  (gpointer   object,
                                    gpointer   klass);
typedef void (*GtkSignalFunc)      ();
typedef gint (*GtkFunction)        (gpointer   data);
typedef void (*GtkDestroyNotify)   (gpointer   data);
typedef void (*GtkCallbackMarshal) (GtkObject *object,
                                    gpointer   data,
                                    guint      n_args,
                                    GtkArg    *args);
typedef void (*GtkSignalMarshaller) (GtkObject      *object,
                                     GtkSignalFunc   func,
                                     gpointer        func_data,
                                     GtkArg         *args);

 
typedef void (*GtkArgGetFunc)      (GtkObject*, GtkArg*, guint);
typedef void (*GtkArgSetFunc)      (GtkObject*, GtkArg*, guint);


 




struct _GtkTypeObject
{
   



  GtkTypeClass  *klass;
};


 




struct _GtkTypeClass
{
   


  GtkType type;
};


struct _GtkArg
{
  GtkType type;
  gchar *name;
  
   





  union {
     
    gchar char_data;
    guchar uchar_data;
    gboolean bool_data;
    gint int_data;
    guint uint_data;
    glong long_data;
    gulong ulong_data;
    gfloat float_data;
    gdouble double_data;
    gchar *string_data;
    gpointer pointer_data;
    GtkObject *object_data;
    
     
    struct {
      GtkSignalFunc f;
      gpointer d;
    } signal_data;
    struct {
      gint n_args;
      GtkArg *args;
    } args_data;
    struct {
      GtkCallbackMarshal marshal;
      gpointer data;
      GtkDestroyNotify notify;
    } callback_data;
    struct {
      GtkFunction func;
      gpointer func_data;
    } c_callback_data;
    struct {
      gpointer data;
      GtkDestroyNotify notify;
    } foreign_data;
  } d;
};

 




 
















 






 




 
















struct _GtkTypeInfo
{
  gchar                 *type_name;
  guint                  object_size;
  guint                  class_size;
  GtkClassInitFunc       class_init_func;
  GtkObjectInitFunc      object_init_func;
  gpointer               reserved_1;
  gpointer               reserved_2;
  GtkClassInitFunc       base_class_init_func;
};

struct _GtkTypeQuery
{
  GtkType                type;
  const gchar           *type_name;
  guint                  object_size;
  guint                  class_size;
};

struct _GtkEnumValue
{
  guint  value;
  gchar *value_name;
  gchar *value_nick;
};


void            gtk_type_init                   (void);
GtkType         gtk_type_unique                 (GtkType           parent_type,
                                                 const GtkTypeInfo *type_info);
void            gtk_type_set_chunk_alloc        (GtkType         type,
                                                 guint           n_chunks);
gchar*          gtk_type_name                   (guint           type);
GtkType         gtk_type_from_name              (const gchar    *name);
GtkType         gtk_type_parent                 (GtkType         type);
gpointer        gtk_type_class                  (GtkType         type);
gpointer        gtk_type_parent_class           (GtkType         type);
GList*          gtk_type_children_types         (GtkType         type);
gpointer        gtk_type_new                    (GtkType         type);
void            gtk_type_free                   (GtkType         type,
                                                 gpointer        mem);
void            gtk_type_describe_heritage      (GtkType         type);
void            gtk_type_describe_tree          (GtkType         type,
                                                 gboolean        show_size);
gboolean        gtk_type_is_a                   (GtkType         type,
                                                 GtkType         is_a_type);
GtkTypeObject*  gtk_type_check_object_cast      (GtkTypeObject  *type_object,
                                                 GtkType         cast_type);
GtkTypeClass*   gtk_type_check_class_cast       (GtkTypeClass   *klass,
                                                 GtkType         cast_type);
GtkType         gtk_type_register_enum          (const gchar    *type_name,
                                                 GtkEnumValue   *values);
GtkType         gtk_type_register_flags         (const gchar    *type_name,
                                                 GtkFlagValue   *values);
GtkEnumValue*   gtk_type_enum_get_values        (GtkType         enum_type);
GtkFlagValue*   gtk_type_flags_get_values       (GtkType         flags_type);
GtkEnumValue*   gtk_type_enum_find_value        (GtkType         enum_type,
                                                 const gchar    *value_name);
GtkFlagValue*   gtk_type_flags_find_value       (GtkType         flag_type,
                                                 const gchar    *value_name);
 
void            gtk_type_set_varargs_type       (GtkType        foreign_type,
                                                 GtkType        varargs_type);
GtkType         gtk_type_get_varargs_type       (GtkType        foreign_type);
 



GtkTypeQuery*   gtk_type_query                  (GtkType        type);









# 31 "/usr/include/gtk-1.2/gtk/gtkarg.h" 2 3










typedef struct _GtkArgInfo       GtkArgInfo;

struct _GtkArgInfo
{
   
  GtkType class_type;
  gchar *name;
  
  GtkType type;
  guint arg_flags;
  gchar *full_name;
  
   
  guint arg_id;
  guint seq_id;
};


 

GtkArg*         gtk_arg_new              (GtkType       arg_type);
GtkArg*         gtk_arg_copy             (GtkArg       *src_arg,
                                          GtkArg       *dest_arg);
void            gtk_arg_free             (GtkArg       *arg,
                                          gboolean      free_contents);
void            gtk_arg_reset            (GtkArg       *arg);
gboolean        gtk_arg_values_equal     (const GtkArg *arg1,
                                          const GtkArg *arg2);
gchar*          gtk_args_collect         (GtkType       object_type,
                                          GHashTable    *arg_info_hash_table,
                                          GSList      **arg_list_p,
                                          GSList      **info_list_p,
                                          const gchar   *first_arg_name,
                                          va_list       var_args);
void            gtk_args_collect_cleanup (GSList       *arg_list,
                                          GSList       *info_list);
gchar*          gtk_arg_get_info         (GtkType       object_type,
                                          GHashTable    *arg_info_hash_table,
                                          const gchar   *arg_name,
                                          GtkArgInfo   **info_p);
GtkArgInfo*     gtk_arg_type_new_static  (GtkType       base_class_type,
                                          const gchar   *arg_name,
                                          guint         class_n_args_offset,
                                          GHashTable    *arg_info_hash_table,
                                          GtkType       arg_type,
                                          guint         arg_flags,
                                          guint         arg_id);
GtkArg*         gtk_args_query           (GtkType       class_type,
                                          GHashTable    *arg_info_hash_table,
                                          guint32      **arg_flags,
                                          guint        *n_args_p);
gchar*          gtk_arg_name_strip_type  (const gchar   *arg_name);
gint            gtk_arg_info_equal       (gconstpointer  arg_info_1,
                                          gconstpointer  arg_info_2);
guint           gtk_arg_info_hash        (gconstpointer  arg_info);
void            gtk_arg_to_valueloc      (GtkArg        *arg,
                                          gpointer       value_pointer);
       









# 31 "/usr/include/gtk-1.2/gtk/gtkobject.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkenums.h" 1 3
 


















 













 
typedef enum
{
  GTK_ARROW_UP,
  GTK_ARROW_DOWN,
  GTK_ARROW_LEFT,
  GTK_ARROW_RIGHT
} GtkArrowType;

 
typedef enum
{
  GTK_EXPAND = 1 << 0,
  GTK_SHRINK = 1 << 1,
  GTK_FILL   = 1 << 2
} GtkAttachOptions;

 
typedef enum 
{
  GTK_BUTTONBOX_DEFAULT_STYLE,
  GTK_BUTTONBOX_SPREAD,
  GTK_BUTTONBOX_EDGE,
  GTK_BUTTONBOX_START,
  GTK_BUTTONBOX_END
} GtkButtonBoxStyle;

 
typedef enum
{
  GTK_CURVE_TYPE_LINEAR,        
  GTK_CURVE_TYPE_SPLINE,        
  GTK_CURVE_TYPE_FREE           
} GtkCurveType;
 
 
typedef enum
{
  GTK_DIR_TAB_FORWARD,
  GTK_DIR_TAB_BACKWARD,
  GTK_DIR_UP,
  GTK_DIR_DOWN,
  GTK_DIR_LEFT,
  GTK_DIR_RIGHT
} GtkDirectionType;

 
typedef enum
{
  GTK_JUSTIFY_LEFT,
  GTK_JUSTIFY_RIGHT,
  GTK_JUSTIFY_CENTER,
  GTK_JUSTIFY_FILL
} GtkJustification;

 
typedef enum
{
  GTK_MATCH_ALL,        
  GTK_MATCH_ALL_TAIL,   
  GTK_MATCH_HEAD,       
  GTK_MATCH_TAIL,       
  GTK_MATCH_EXACT,      
  GTK_MATCH_LAST
} GtkMatchType;

 
typedef enum
{
  GTK_MENU_DIR_PARENT,
  GTK_MENU_DIR_CHILD,
  GTK_MENU_DIR_NEXT,
  GTK_MENU_DIR_PREV
} GtkMenuDirectionType;

typedef enum
{
  GTK_MENU_FACTORY_MENU,
  GTK_MENU_FACTORY_MENU_BAR,
  GTK_MENU_FACTORY_OPTION_MENU
} GtkMenuFactoryType;

typedef enum
{
  GTK_PIXELS,
  GTK_INCHES,
  GTK_CENTIMETERS
} GtkMetricType;

 
typedef enum
{
  GTK_ORIENTATION_HORIZONTAL,
  GTK_ORIENTATION_VERTICAL
} GtkOrientation;

 
typedef enum
{
  GTK_CORNER_TOP_LEFT,
  GTK_CORNER_BOTTOM_LEFT,
  GTK_CORNER_TOP_RIGHT,
  GTK_CORNER_BOTTOM_RIGHT
} GtkCornerType;

 
typedef enum
{
  GTK_PACK_START,
  GTK_PACK_END
} GtkPackType;

 
typedef enum
{
  GTK_PATH_PRIO_LOWEST      = 0,
  GTK_PATH_PRIO_GTK         = 4,
  GTK_PATH_PRIO_APPLICATION = 8,
  GTK_PATH_PRIO_RC          = 12,
  GTK_PATH_PRIO_HIGHEST     = 15,
  GTK_PATH_PRIO_MASK        = 0x0f
} GtkPathPriorityType;

 
typedef enum
{
  GTK_PATH_WIDGET,
  GTK_PATH_WIDGET_CLASS,
  GTK_PATH_CLASS
} GtkPathType;

 
typedef enum
{
  GTK_POLICY_ALWAYS,
  GTK_POLICY_AUTOMATIC,
  GTK_POLICY_NEVER
} GtkPolicyType;

typedef enum
{
  GTK_POS_LEFT,
  GTK_POS_RIGHT,
  GTK_POS_TOP,
  GTK_POS_BOTTOM
} GtkPositionType;

typedef enum
{
  GTK_PREVIEW_COLOR,
  GTK_PREVIEW_GRAYSCALE
} GtkPreviewType;

 
typedef enum
{
  GTK_RELIEF_NORMAL,
  GTK_RELIEF_HALF,
  GTK_RELIEF_NONE
} GtkReliefStyle;

 
typedef enum
{
  GTK_RESIZE_PARENT,             
  GTK_RESIZE_QUEUE,              
  GTK_RESIZE_IMMEDIATE           
} GtkResizeMode;

 
typedef enum                     
{
  GTK_RUN_FIRST      = 1 << 0,
  GTK_RUN_LAST       = 1 << 1,
  GTK_RUN_BOTH       = (GTK_RUN_FIRST | GTK_RUN_LAST),
  GTK_RUN_NO_RECURSE = 1 << 2,
  GTK_RUN_ACTION     = 1 << 3,
  GTK_RUN_NO_HOOKS   = 1 << 4
} GtkSignalRunType;

 
typedef enum
{
  GTK_SCROLL_NONE,
  GTK_SCROLL_STEP_BACKWARD,
  GTK_SCROLL_STEP_FORWARD,
  GTK_SCROLL_PAGE_BACKWARD,
  GTK_SCROLL_PAGE_FORWARD,
  GTK_SCROLL_JUMP
} GtkScrollType;

 
typedef enum
{
  GTK_SELECTION_SINGLE,
  GTK_SELECTION_BROWSE,
  GTK_SELECTION_MULTIPLE,
  GTK_SELECTION_EXTENDED
} GtkSelectionMode;

 
typedef enum
{
  GTK_SHADOW_NONE,
  GTK_SHADOW_IN,
  GTK_SHADOW_OUT,
  GTK_SHADOW_ETCHED_IN,
  GTK_SHADOW_ETCHED_OUT
} GtkShadowType;

 
typedef enum
{
  GTK_STATE_NORMAL,
  GTK_STATE_ACTIVE,
  GTK_STATE_PRELIGHT,
  GTK_STATE_SELECTED,
  GTK_STATE_INSENSITIVE
} GtkStateType;

 
typedef enum
{
  GTK_DIRECTION_LEFT,
  GTK_DIRECTION_RIGHT
} GtkSubmenuDirection;

 
typedef enum
{
  GTK_TOP_BOTTOM,
  GTK_LEFT_RIGHT
} GtkSubmenuPlacement;

 
typedef enum
{
  GTK_TOOLBAR_ICONS,
  GTK_TOOLBAR_TEXT,
  GTK_TOOLBAR_BOTH
} GtkToolbarStyle;

 
typedef enum
{
  GTK_TROUGH_NONE,
  GTK_TROUGH_START,
  GTK_TROUGH_END,
  GTK_TROUGH_JUMP
} GtkTroughType;

 
typedef enum
{
  GTK_UPDATE_CONTINUOUS,
  GTK_UPDATE_DISCONTINUOUS,
  GTK_UPDATE_DELAYED
} GtkUpdateType;

 
typedef enum
{
  GTK_VISIBILITY_NONE,
  GTK_VISIBILITY_PARTIAL,
  GTK_VISIBILITY_FULL
} GtkVisibility;

 
typedef enum
{
  GTK_WIN_POS_NONE,
  GTK_WIN_POS_CENTER,
  GTK_WIN_POS_MOUSE,
  GTK_WIN_POS_CENTER_ALWAYS
} GtkWindowPosition;

 
typedef enum
{
  GTK_WINDOW_TOPLEVEL,
  GTK_WINDOW_DIALOG,
  GTK_WINDOW_POPUP
} GtkWindowType;

 
typedef enum
{
  GTK_SORT_ASCENDING,
  GTK_SORT_DESCENDING
} GtkSortType;







# 32 "/usr/include/gtk-1.2/gtk/gtkobject.h" 2 3


# 1 "/usr/include/gtk-1.2/gtk/gtkdebug.h" 1 3
 


















 













typedef enum {
  GTK_DEBUG_OBJECTS    = 1 << 0,
  GTK_DEBUG_MISC       = 1 << 1,
  GTK_DEBUG_SIGNALS    = 1 << 2,
  GTK_DEBUG_DND        = 1 << 3,
  GTK_DEBUG_PLUGSOCKET = 1 << 4
} GtkDebugFlag;










      


extern guint gtk_debug_flags;







# 34 "/usr/include/gtk-1.2/gtk/gtkobject.h" 2 3









 














 










 





 




typedef enum
{
  GTK_DESTROYED         = 1 << 0,
  GTK_FLOATING          = 1 << 1,
  GTK_CONNECTED         = 1 << 2,
  GTK_CONSTRUCTED       = 1 << 3
} GtkObjectFlags;

 







 




 

typedef enum
{
  GTK_ARG_READABLE       = 1 << 0,
  GTK_ARG_WRITABLE       = 1 << 1,
  GTK_ARG_CONSTRUCT      = 1 << 2,
  GTK_ARG_CONSTRUCT_ONLY = 1 << 3,
  GTK_ARG_CHILD_ARG      = 1 << 4,
  GTK_ARG_MASK           = 0x1f,
  
   

  GTK_ARG_READWRITE      = GTK_ARG_READABLE | GTK_ARG_WRITABLE
} GtkArgFlags;

typedef struct _GtkObjectClass  GtkObjectClass;


 




struct _GtkObject
{
   
  GtkObjectClass *klass;
  
  
   




  guint32 flags;
  
   


  guint ref_count;
  
   


  GData *object_data;
};

 






struct _GtkObjectClass
{
   
  GtkType type;
  
  
   


  guint *signals;
  
   

  guint nsignals;
  
   

  guint n_args;
  GSList *construct_args;
  
   
  void (*set_arg) (GtkObject *object,
                   GtkArg    *arg,
                   guint      arg_id);
  void (*get_arg) (GtkObject *object,
                   GtkArg    *arg,
                   guint      arg_id);
  
   







  void (* shutdown) (GtkObject *object);
  void (* destroy)  (GtkObject *object);
  
  void (* finalize) (GtkObject *object);
};



 

GtkType gtk_object_get_type             (void);

 
guint   gtk_object_class_user_signal_new  (GtkObjectClass     *klass,
                                           const gchar        *name,
                                           GtkSignalRunType    signal_flags,
                                           GtkSignalMarshaller marshaller,
                                           GtkType             return_val,
                                           guint               nparams,
                                           ...);
guint   gtk_object_class_user_signal_newv (GtkObjectClass     *klass,
                                           const gchar        *name,
                                           GtkSignalRunType    signal_flags,
                                           GtkSignalMarshaller marshaller,
                                           GtkType             return_val,
                                           guint               nparams,
                                           GtkType            *params);
GtkObject*      gtk_object_new            (GtkType             type,
                                           const gchar        *first_arg_name,
                                           ...);
GtkObject*      gtk_object_newv           (GtkType             object_type,
                                           guint               n_args,
                                           GtkArg             *args);
void gtk_object_default_construct         (GtkObject          *object);
void gtk_object_constructed               (GtkObject          *object);
void gtk_object_sink      (GtkObject        *object);
void gtk_object_ref       (GtkObject        *object);
void gtk_object_unref     (GtkObject        *object);
void gtk_object_weakref   (GtkObject        *object,
                           GtkDestroyNotify  notify,
                           gpointer          data);
void gtk_object_weakunref (GtkObject        *object,
                           GtkDestroyNotify  notify,
                           gpointer          data);
void gtk_object_destroy   (GtkObject *object);

 




void    gtk_object_getv         (GtkObject      *object,
                                 guint          n_args,
                                 GtkArg         *args);
 




void    gtk_object_get          (GtkObject      *object,
                                 const gchar    *first_arg_name,
                                 ...);

 




void    gtk_object_set          (GtkObject      *object,
                                 const gchar    *first_arg_name,
                                 ...);
void    gtk_object_setv         (GtkObject      *object,
                                 guint          n_args,
                                 GtkArg         *args);

 







GtkArg* gtk_object_query_args   (GtkType          class_type,
                                 guint32        **arg_flags,
                                 guint           *n_args);

 











void     gtk_object_set_data         (GtkObject      *object,
                                      const gchar    *key,
                                      gpointer        data);
void     gtk_object_set_data_full    (GtkObject      *object,
                                      const gchar    *key,
                                      gpointer        data,
                                      GtkDestroyNotify destroy);
void     gtk_object_remove_data      (GtkObject      *object,
                                      const gchar    *key);
gpointer gtk_object_get_data         (GtkObject      *object,
                                      const gchar    *key);
void     gtk_object_remove_no_notify (GtkObject      *object,
                                      const gchar    *key);

 




void     gtk_object_set_user_data (GtkObject    *object,
                                   gpointer      data);
gpointer gtk_object_get_user_data (GtkObject    *object);


 

 
void    gtk_object_class_add_signals    (GtkObjectClass *klass,
                                         guint          *signals,
                                         guint           nsignals);
 
void    gtk_object_add_arg_type         (const gchar    *arg_name,
                                         GtkType         arg_type,
                                         guint           arg_flags,
                                         guint           arg_id);

 
void gtk_object_set_data_by_id          (GtkObject       *object,
                                         GQuark           data_id,
                                         gpointer         data);
void gtk_object_set_data_by_id_full     (GtkObject       *object,
                                         GQuark           data_id,
                                         gpointer         data,
                                         GtkDestroyNotify destroy);
gpointer gtk_object_get_data_by_id      (GtkObject       *object,
                                         GQuark           data_id);
void  gtk_object_remove_data_by_id      (GtkObject       *object,
                                         GQuark           data_id);
void  gtk_object_remove_no_notify_by_id (GtkObject       *object,
                                         GQuark           key_id);




 

void    gtk_object_arg_set      (GtkObject   *object,
                                 GtkArg      *arg,
                                 GtkArgInfo  *info);
void    gtk_object_arg_get      (GtkObject   *object,
                                 GtkArg      *arg,
                                 GtkArgInfo  *info);
gchar*  gtk_object_args_collect (GtkType      object_type,
                                 GSList     **arg_list_p,
                                 GSList     **info_list_p,
                                 const gchar *first_arg_name,
                                 va_list      var_args);
gchar*  gtk_object_arg_get_info (GtkType      object_type,
                                 const gchar *arg_name,
                                 GtkArgInfo **info_p);
void    gtk_trace_referencing   (GtkObject   *object,
                                 const gchar *func,
                                 guint        dummy,
                                 guint        line,
                                 gboolean     do_ref);


















# 35 "/usr/include/gtk-1.2/gtk/gtkaccelgroup.h" 2 3









typedef struct _GtkAccelGroup   GtkAccelGroup;
typedef struct _GtkAccelEntry   GtkAccelEntry;

typedef enum
{
   


  GTK_ACCEL_VISIBLE        = 1 << 0,
   


  GTK_ACCEL_SIGNAL_VISIBLE = 1 << 1,
   


  GTK_ACCEL_LOCKED         = 1 << 2,
  GTK_ACCEL_MASK           = 0x07
} GtkAccelFlags;

struct _GtkAccelGroup
{
  guint           ref_count;
  guint           lock_count;
  GdkModifierType modifier_mask;
  GSList         *attach_objects;
};

struct _GtkAccelEntry
{
   

  GtkAccelGroup         *accel_group;
  guint                  accelerator_key;
  GdkModifierType        accelerator_mods;
  
  GtkAccelFlags          accel_flags;
  GtkObject             *object;
  guint                  signal_id;
};


 

gboolean gtk_accelerator_valid                (guint            keyval,
                                               GdkModifierType  modifiers);
void     gtk_accelerator_parse                (const gchar     *accelerator,
                                               guint           *accelerator_key,
                                               GdkModifierType 
*accelerator_mods);
gchar*   gtk_accelerator_name                 (guint            accelerator_key,
                                               GdkModifierType  
accelerator_mods);
void     gtk_accelerator_set_default_mod_mask (GdkModifierType  
default_mod_mask);
guint    gtk_accelerator_get_default_mod_mask (void);


 

GtkAccelGroup*  gtk_accel_group_new             (void);
GtkAccelGroup*  gtk_accel_group_get_default     (void);
GtkAccelGroup*  gtk_accel_group_ref             (GtkAccelGroup  *accel_group);
void            gtk_accel_group_unref           (GtkAccelGroup  *accel_group);
void            gtk_accel_group_lock            (GtkAccelGroup  *accel_group);
void            gtk_accel_group_unlock          (GtkAccelGroup  *accel_group);
gboolean        gtk_accel_groups_activate       (GtkObject      *object,
                                                 guint           accel_key,
                                                 GdkModifierType accel_mods);

 

gboolean        gtk_accel_group_activate        (GtkAccelGroup  *accel_group,
                                                 guint           accel_key,
                                                 GdkModifierType accel_mods);
void            gtk_accel_group_attach          (GtkAccelGroup  *accel_group,
                                                 GtkObject      *object);
void            gtk_accel_group_detach          (GtkAccelGroup  *accel_group,
                                                 GtkObject      *object);

 

GtkAccelEntry*  gtk_accel_group_get_entry       (GtkAccelGroup  *accel_group,
                                                 guint           accel_key,
                                                 GdkModifierType accel_mods);
void            gtk_accel_group_lock_entry      (GtkAccelGroup  *accel_group,
                                                 guint           accel_key,
                                                 GdkModifierType accel_mods);
void            gtk_accel_group_unlock_entry    (GtkAccelGroup  *accel_group,
                                                 guint           accel_key,
                                                 GdkModifierType accel_mods);
void            gtk_accel_group_add             (GtkAccelGroup  *accel_group,
                                                 guint           accel_key,
                                                 GdkModifierType accel_mods,
                                                 GtkAccelFlags   accel_flags,
                                                 GtkObject      *object,
                                                 const gchar    *accel_signal);
void            gtk_accel_group_remove          (GtkAccelGroup  *accel_group,
                                                 guint           accel_key,
                                                 GdkModifierType accel_mods,
                                                 GtkObject      *object);

 

void            gtk_accel_group_handle_add      (GtkObject      *object,
                                                 guint           
accel_signal_id,
                                                 GtkAccelGroup  *accel_group,
                                                 guint           accel_key,
                                                 GdkModifierType accel_mods,
                                                 GtkAccelFlags   accel_flags);
void            gtk_accel_group_handle_remove   (GtkObject      *object,
                                                 GtkAccelGroup  *accel_group,
                                                 guint           accel_key,
                                                 GdkModifierType accel_mods);
guint           gtk_accel_group_create_add      (GtkType         class_type,
                                                 GtkSignalRunType signal_flags,
                                                 guint           
handler_offset);
guint           gtk_accel_group_create_remove   (GtkType         class_type,
                                                 GtkSignalRunType signal_flags,
                                                 guint           
handler_offset);

 

GSList* gtk_accel_groups_from_object            (GtkObject      *object);
GSList* gtk_accel_group_entries_from_object     (GtkObject      *object);









# 32 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkaccellabel.h" 1 3
 





















 










# 1 "/usr/include/gtk-1.2/gtk/gtklabel.h" 1 3
 

















 











# 1 "/usr/include/gtk-1.2/gtk/gtkmisc.h" 1 3
 


















 











# 1 "/usr/include/gtk-1.2/gtk/gtkwidget.h" 1 3
 


















 












# 1 "/usr/include/gtk-1.2/gtk/gtkadjustment.h" 1 3
 


















 











# 1 "/usr/include/gtk-1.2/gtk/gtkdata.h" 1 3
 


















 



























typedef struct _GtkData       GtkData;
typedef struct _GtkDataClass  GtkDataClass;

struct _GtkData
{
  GtkObject object;
};

struct _GtkDataClass
{
  GtkObjectClass parent_class;

  void (* disconnect) (GtkData *data);
};


GtkType gtk_data_get_type (void);








# 32 "/usr/include/gtk-1.2/gtk/gtkadjustment.h" 2 3















typedef struct _GtkAdjustment       GtkAdjustment;
typedef struct _GtkAdjustmentClass  GtkAdjustmentClass;

struct _GtkAdjustment
{
  GtkData data;
  
  gfloat lower;
  gfloat upper;
  gfloat value;
  gfloat step_increment;
  gfloat page_increment;
  gfloat page_size;
};

struct _GtkAdjustmentClass
{
  GtkDataClass parent_class;
  
  void (* changed)       (GtkAdjustment *adjustment);
  void (* value_changed) (GtkAdjustment *adjustment);
};


GtkType    gtk_adjustment_get_type              (void);
GtkObject* gtk_adjustment_new                   (gfloat           value,
                                                 gfloat           lower,
                                                 gfloat           upper,
                                                 gfloat           
step_increment,
                                                 gfloat           
page_increment,
                                                 gfloat           page_size);
void       gtk_adjustment_changed               (GtkAdjustment   *adjustment);
void       gtk_adjustment_value_changed         (GtkAdjustment   *adjustment);
void       gtk_adjustment_clamp_page            (GtkAdjustment   *adjustment,
                                                 gfloat           lower,
                                                 gfloat           upper);
void       gtk_adjustment_set_value             (GtkAdjustment   *adjustment,
                                                 gfloat           value);







# 33 "/usr/include/gtk-1.2/gtk/gtkwidget.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkstyle.h" 1 3
 


















 

















typedef struct _GtkStyle       GtkStyle;
typedef struct _GtkStyleClass  GtkStyleClass;

 


typedef struct _GtkThemeEngine GtkThemeEngine;
typedef struct _GtkRcStyle     GtkRcStyle;


 


typedef struct _GtkWidget      GtkWidget;

 






struct _GtkStyle
{
  GtkStyleClass *klass;

  GdkColor fg[5];
  GdkColor bg[5];
  GdkColor light[5];
  GdkColor dark[5];
  GdkColor mid[5];
  GdkColor text[5];
  GdkColor base[5];
  
  GdkColor black;
  GdkColor white;
  GdkFont *font;
  
  GdkGC *fg_gc[5];
  GdkGC *bg_gc[5];
  GdkGC *light_gc[5];
  GdkGC *dark_gc[5];
  GdkGC *mid_gc[5];
  GdkGC *text_gc[5];
  GdkGC *base_gc[5];
  GdkGC *black_gc;
  GdkGC *white_gc;
  
  GdkPixmap *bg_pixmap[5];
  
   
  
  gint ref_count;
  gint attach_count;
  
  gint depth;
  GdkColormap *colormap;
  
  GtkThemeEngine *engine;
  
  gpointer        engine_data;
  
  GtkRcStyle     *rc_style;      


  GSList         *styles;
};

struct _GtkStyleClass
{
  gint xthickness;
  gint ythickness;
  
  void (*draw_hline)            (GtkStyle               *style,
                                 GdkWindow              *window,
                                 GtkStateType            state_type,
                                 GdkRectangle           *area,
                                 GtkWidget              *widget,
                                 gchar                  *detail,
                                 gint                    x1,
                                 gint                    x2,
                                 gint                    y);
  void (*draw_vline)            (GtkStyle               *style,
                                 GdkWindow              *window,
                                 GtkStateType            state_type,
                                 GdkRectangle           *area,
                                 GtkWidget              *widget,
                                 gchar                  *detail,
                                 gint                    y1,
                                 gint                    y2,
                                 gint                    x);
  void (*draw_shadow)           (GtkStyle               *style,
                                 GdkWindow              *window,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GdkRectangle           *area,
                                 GtkWidget              *widget,
                                 gchar                  *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height);
  void (*draw_polygon)          (GtkStyle               *style,
                                 GdkWindow              *window,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GdkRectangle           *area,
                                 GtkWidget              *widget,
                                 gchar                  *detail,
                                 GdkPoint               *point,
                                 gint                    npoints,
                                 gboolean                fill);
  void (*draw_arrow)            (GtkStyle               *style,
                                 GdkWindow              *window,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GdkRectangle           *area,
                                 GtkWidget              *widget,
                                 gchar                  *detail,
                                 GtkArrowType            arrow_type,
                                 gboolean                fill,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height);
  void (*draw_diamond)          (GtkStyle               *style,
                                 GdkWindow              *window,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GdkRectangle           *area,
                                 GtkWidget              *widget,
                                 gchar                  *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height);
  void (*draw_oval)             (GtkStyle               *style,
                                 GdkWindow              *window,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GdkRectangle           *area,
                                 GtkWidget              *widget,
                                 gchar                  *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height);
  void (*draw_string)           (GtkStyle               *style,
                                 GdkWindow              *window,
                                 GtkStateType            state_type,
                                 GdkRectangle           *area,
                                 GtkWidget              *widget,
                                 gchar                  *detail,
                                 gint                    x,
                                 gint                    y,
                                 const gchar            *string);
  void (*draw_box)              (GtkStyle               *style,
                                 GdkWindow              *window,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GdkRectangle           *area,
                                 GtkWidget              *widget,
                                 gchar                  *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height);
  void (*draw_flat_box)         (GtkStyle               *style,
                                 GdkWindow              *window,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GdkRectangle           *area,
                                 GtkWidget              *widget,
                                 gchar                  *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height);
  void (*draw_check)            (GtkStyle               *style,
                                 GdkWindow              *window,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GdkRectangle           *area,
                                 GtkWidget              *widget,
                                 gchar                  *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height);
  void (*draw_option)           (GtkStyle               *style,
                                 GdkWindow              *window,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GdkRectangle           *area,
                                 GtkWidget              *widget,
                                 gchar                  *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height);
  void (*draw_cross)            (GtkStyle               *style,
                                 GdkWindow              *window,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GdkRectangle           *area,
                                 GtkWidget              *widget,
                                 gchar                  *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height);
  void (*draw_ramp)             (GtkStyle               *style,
                                 GdkWindow              *window,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GdkRectangle           *area,
                                 GtkWidget              *widget,
                                 gchar                  *detail,
                                 GtkArrowType            arrow_type,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height);
  void (*draw_tab)              (GtkStyle               *style,
                                 GdkWindow              *window,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GdkRectangle           *area,
                                 GtkWidget              *widget,
                                 gchar                  *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height); 
  void (*draw_shadow_gap)       (GtkStyle               *style,
                                 GdkWindow              *window,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GdkRectangle           *area,
                                 GtkWidget              *widget,
                                 gchar                  *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height,
                                 GtkPositionType         gap_side,
                                 gint                    gap_x,
                                 gint                    gap_width);
  void (*draw_box_gap)          (GtkStyle               *style,
                                 GdkWindow              *window,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GdkRectangle           *area,
                                 GtkWidget              *widget,
                                 gchar                  *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height,
                                 GtkPositionType         gap_side,
                                 gint                    gap_x,
                                 gint                    gap_width);
  void (*draw_extension)        (GtkStyle               *style,
                                 GdkWindow              *window,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GdkRectangle           *area,
                                 GtkWidget              *widget,
                                 gchar                  *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height,
                                 GtkPositionType         gap_side);
  void (*draw_focus)            (GtkStyle               *style,
                                 GdkWindow              *window,
                                 GdkRectangle           *area,
                                 GtkWidget              *widget,
                                 gchar                  *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height);
  void (*draw_slider)           (GtkStyle               *style,
                                 GdkWindow              *window,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GdkRectangle           *area,
                                 GtkWidget              *widget,
                                 gchar                  *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height,
                                 GtkOrientation          orientation);
  void (*draw_handle)           (GtkStyle               *style,
                                 GdkWindow              *window,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GdkRectangle           *area,
                                 GtkWidget              *widget,
                                 gchar                  *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height,
                                 GtkOrientation          orientation);
};

GtkStyle* gtk_style_new                      (void);
GtkStyle* gtk_style_copy                     (GtkStyle      *style);
GtkStyle* gtk_style_attach                   (GtkStyle      *style,
                                              GdkWindow     *window);
void      gtk_style_detach                   (GtkStyle     *style);
GtkStyle* gtk_style_ref                      (GtkStyle     *style);
void      gtk_style_unref                    (GtkStyle     *style);
void      gtk_style_set_background           (GtkStyle     *style,
                                              GdkWindow    *window,
                                              GtkStateType  state_type);
void      gtk_style_apply_default_background (GtkStyle     *style,
                                              GdkWindow    *window,
                                              gboolean      set_bg,
                                              GtkStateType  state_type, 
                                              GdkRectangle *area, 
                                              gint          x, 
                                              gint          y, 
                                              gint          width, 
                                              gint          height);

void gtk_draw_hline   (GtkStyle      *style,
                       GdkWindow     *window,
                       GtkStateType   state_type,
                       gint           x1,
                       gint           x2,
                       gint           y);
void gtk_draw_vline   (GtkStyle      *style,
                       GdkWindow     *window,
                       GtkStateType   state_type,
                       gint           y1,
                       gint           y2,
                       gint           x);
void gtk_draw_shadow  (GtkStyle      *style,
                       GdkWindow     *window,
                       GtkStateType   state_type,
                       GtkShadowType  shadow_type,
                       gint           x,
                       gint           y,
                       gint           width,
                       gint           height);
void gtk_draw_polygon (GtkStyle      *style,
                       GdkWindow     *window,
                       GtkStateType   state_type,
                       GtkShadowType  shadow_type,
                       GdkPoint      *points,
                       gint           npoints,
                       gboolean       fill);
void gtk_draw_arrow   (GtkStyle      *style,
                       GdkWindow     *window,
                       GtkStateType   state_type,
                       GtkShadowType  shadow_type,
                       GtkArrowType   arrow_type,
                       gboolean       fill,
                       gint           x,
                       gint           y,
                       gint           width,
                       gint           height);
void gtk_draw_diamond (GtkStyle      *style,
                       GdkWindow     *window,
                       GtkStateType   state_type,
                       GtkShadowType  shadow_type,
                       gint           x,
                       gint           y,
                       gint           width,
                       gint           height);
void gtk_draw_oval    (GtkStyle      *style,
                       GdkWindow     *window,
                       GtkStateType   state_type,
                       GtkShadowType  shadow_type,
                       gint           x,
                       gint           y,
                       gint           width,
                       gint           height);
void gtk_draw_string  (GtkStyle      *style,
                       GdkWindow     *window,
                       GtkStateType   state_type,
                       gint           x,
                       gint           y,
                       const gchar   *string);
void gtk_draw_box     (GtkStyle      *style,
                       GdkWindow     *window,
                       GtkStateType   state_type,
                       GtkShadowType  shadow_type,
                       gint           x,
                       gint           y,
                       gint           width,
                       gint           height);
void gtk_draw_flat_box (GtkStyle      *style,
                        GdkWindow     *window,
                        GtkStateType   state_type,
                        GtkShadowType  shadow_type,
                        gint           x,
                        gint           y,
                        gint           width,
                        gint           height);
void gtk_draw_check   (GtkStyle      *style,
                       GdkWindow     *window,
                       GtkStateType   state_type,
                       GtkShadowType  shadow_type,
                       gint           x,
                       gint           y,
                       gint           width,
                       gint           height);
void gtk_draw_option  (GtkStyle      *style,
                       GdkWindow     *window,
                       GtkStateType   state_type,
                       GtkShadowType  shadow_type,
                       gint           x,
                       gint           y,
                       gint           width,
                       gint           height);
void gtk_draw_cross   (GtkStyle      *style,
                       GdkWindow     *window,
                       GtkStateType   state_type,
                       GtkShadowType  shadow_type,
                       gint           x,
                       gint           y,
                       gint           width,
                       gint           height);
void gtk_draw_ramp    (GtkStyle      *style,
                       GdkWindow     *window,
                       GtkStateType   state_type,
                       GtkShadowType  shadow_type,
                       GtkArrowType   arrow_type,
                       gint           x,
                       gint           y,
                       gint           width,
                       gint           height);
void gtk_draw_tab     (GtkStyle      *style,
                       GdkWindow     *window,
                       GtkStateType   state_type,
                       GtkShadowType  shadow_type,
                       gint           x,
                       gint           y,
                       gint           width,
                       gint           height);
void gtk_draw_shadow_gap (GtkStyle       *style,
                          GdkWindow      *window,
                          GtkStateType    state_type,
                          GtkShadowType   shadow_type,
                          gint            x,
                          gint            y,
                          gint            width,
                          gint            height,
                          GtkPositionType gap_side,
                          gint            gap_x,
                          gint            gap_width);
void gtk_draw_box_gap (GtkStyle       *style,
                       GdkWindow      *window,
                       GtkStateType    state_type,
                       GtkShadowType   shadow_type,
                       gint            x,
                       gint            y,
                       gint            width,
                       gint            height,
                       GtkPositionType gap_side,
                       gint            gap_x,
                       gint            gap_width);
void gtk_draw_extension (GtkStyle       *style,
                         GdkWindow      *window,
                         GtkStateType    state_type,
                         GtkShadowType   shadow_type,
                         gint            x,
                         gint            y,
                         gint            width,
                         gint            height,
                         GtkPositionType gap_side);
void gtk_draw_focus   (GtkStyle      *style,
                       GdkWindow     *window,
                       gint           x,
                       gint           y,
                       gint           width,
                       gint           height);
void gtk_draw_slider  (GtkStyle      *style,
                       GdkWindow     *window,
                       GtkStateType   state_type,
                       GtkShadowType  shadow_type,
                       gint           x,
                       gint           y,
                       gint           width,
                       gint           height,
                       GtkOrientation orientation);
void gtk_draw_handle  (GtkStyle      *style,
                       GdkWindow     *window,
                       GtkStateType   state_type,
                       GtkShadowType  shadow_type,
                       gint           x,
                       gint           y,
                       gint           width,
                       gint           height,
                       GtkOrientation orientation);

void gtk_paint_hline   (GtkStyle      *style,
                        GdkWindow     *window,
                        GtkStateType   state_type,
                        GdkRectangle  *area,
                        GtkWidget     *widget,
                        gchar         *detail,
                        gint           x1,
                        gint           x2,
                        gint           y);
void gtk_paint_vline   (GtkStyle      *style,
                        GdkWindow     *window,
                        GtkStateType   state_type,
                        GdkRectangle  *area,
                        GtkWidget     *widget,
                        gchar         *detail,
                        gint           y1,
                        gint           y2,
                        gint           x);
void gtk_paint_shadow  (GtkStyle     *style,
                        GdkWindow    *window,
                        GtkStateType  state_type,
                        GtkShadowType shadow_type,
                        GdkRectangle  *area,
                        GtkWidget     *widget,
                        gchar         *detail,
                        gint           x,
                        gint           y,
                        gint           width,
                        gint           height);
void gtk_paint_polygon (GtkStyle      *style,
                        GdkWindow     *window,
                        GtkStateType   state_type,
                        GtkShadowType  shadow_type,
                        GdkRectangle  *area,
                        GtkWidget     *widget,
                        gchar         *detail,
                        GdkPoint      *points,
                        gint           npoints,
                        gboolean       fill);
void gtk_paint_arrow   (GtkStyle      *style,
                        GdkWindow     *window,
                        GtkStateType   state_type,
                        GtkShadowType  shadow_type,
                        GdkRectangle  *area,
                        GtkWidget     *widget,
                        gchar         *detail,
                        GtkArrowType   arrow_type,
                        gboolean       fill,
                        gint           x,
                        gint           y,
                        gint           width,
                        gint           height);
void gtk_paint_diamond (GtkStyle      *style,
                        GdkWindow     *window,
                        GtkStateType   state_type,
                        GtkShadowType  shadow_type,
                        GdkRectangle  *area,
                        GtkWidget     *widget,
                        gchar         *detail,
                        gint           x,
                        gint           y,
                        gint           width,
                        gint           height);
void gtk_paint_oval    (GtkStyle      *style,
                        GdkWindow     *window,
                        GtkStateType   state_type,
                        GtkShadowType  shadow_type,
                        GdkRectangle  *area,
                        GtkWidget     *widget,
                        gchar         *detail,
                        gint           x,
                        gint           y,
                        gint           width,
                        gint           height);
void gtk_paint_string  (GtkStyle      *style,
                        GdkWindow     *window,
                        GtkStateType   state_type,
                        GdkRectangle  *area,
                        GtkWidget     *widget,
                        gchar         *detail,
                        gint           x,
                        gint           y,
                        const gchar   *string);
void gtk_paint_box     (GtkStyle      *style,
                        GdkWindow     *window,
                        GtkStateType   state_type,
                        GtkShadowType  shadow_type,
                        GdkRectangle  *area,
                        GtkWidget     *widget,
                        gchar         *detail,
                        gint           x,
                        gint           y,
                        gint           width,
                        gint           height);
void gtk_paint_flat_box (GtkStyle      *style,
                         GdkWindow     *window,
                         GtkStateType   state_type,
                         GtkShadowType  shadow_type,
                         GdkRectangle  *area,
                         GtkWidget     *widget,
                         gchar         *detail,
                         gint           x,
                         gint           y,
                         gint           width,
                         gint           height);
void gtk_paint_check   (GtkStyle      *style,
                        GdkWindow     *window,
                        GtkStateType   state_type,
                        GtkShadowType  shadow_type,
                        GdkRectangle  *area,
                        GtkWidget     *widget,
                        gchar         *detail,
                        gint           x,
                        gint           y,
                        gint           width,
                        gint           height);
void gtk_paint_option  (GtkStyle      *style,
                        GdkWindow     *window,
                        GtkStateType   state_type,
                        GtkShadowType  shadow_type,
                        GdkRectangle  *area,
                        GtkWidget     *widget,
                        gchar         *detail,
                        gint           x,
                        gint           y,
                        gint           width,
                        gint           height);
void gtk_paint_cross   (GtkStyle      *style,
                        GdkWindow     *window,
                        GtkStateType   state_type,
                        GtkShadowType  shadow_type,
                        GdkRectangle  *area,
                        GtkWidget     *widget,
                        gchar         *detail,
                        gint           x,
                        gint           y,
                        gint           width,
                        gint           height);
void gtk_paint_ramp    (GtkStyle      *style,
                        GdkWindow     *window,
                        GtkStateType   state_type,
                        GtkShadowType  shadow_type,
                        GdkRectangle  *area,
                        GtkWidget     *widget,
                        gchar         *detail,
                        GtkArrowType   arrow_type,
                        gint           x,
                        gint           y,
                        gint           width,
                        gint           height);
void gtk_paint_tab     (GtkStyle      *style,
                        GdkWindow     *window,
                        GtkStateType   state_type,
                        GtkShadowType  shadow_type,
                        GdkRectangle  *area,
                        GtkWidget     *widget,
                        gchar         *detail,
                        gint           x,
                        gint           y,
                        gint           width,
                        gint           height);
void gtk_paint_shadow_gap (GtkStyle       *style,
                           GdkWindow      *window,
                           GtkStateType    state_type,
                           GtkShadowType   shadow_type,
                           GdkRectangle   *area,
                           GtkWidget      *widget,
                           gchar          *detail,
                           gint            x,
                           gint            y,
                           gint            width,
                           gint            height,
                           GtkPositionType gap_side,
                           gint            gap_x,
                           gint            gap_width);
void gtk_paint_box_gap (GtkStyle       *style,
                        GdkWindow      *window,
                        GtkStateType    state_type,
                        GtkShadowType   shadow_type,
                        GdkRectangle   *area,
                        GtkWidget      *widget,
                        gchar          *detail,
                        gint            x,
                        gint            y,
                        gint            width,
                        gint            height,
                        GtkPositionType gap_side,
                        gint            gap_x,
                        gint            gap_width);
void gtk_paint_extension (GtkStyle       *style,
                          GdkWindow      *window,
                          GtkStateType    state_type,
                          GtkShadowType   shadow_type,
                          GdkRectangle   *area,
                          GtkWidget      *widget,
                          gchar          *detail,
                          gint            x,
                          gint            y,
                          gint            width,
                          gint            height,
                          GtkPositionType gap_side);
void gtk_paint_focus   (GtkStyle      *style,
                        GdkWindow     *window,
                        GdkRectangle  *area,
                        GtkWidget     *widget,
                        gchar         *detail,
                        gint           x,
                        gint           y,
                        gint           width,
                        gint           height);
void gtk_paint_slider  (GtkStyle      *style,
                        GdkWindow     *window,
                        GtkStateType   state_type,
                        GtkShadowType  shadow_type,
                        GdkRectangle  *area,
                        GtkWidget     *widget,
                        gchar         *detail,
                        gint           x,
                        gint           y,
                        gint           width,
                        gint           height,
                        GtkOrientation orientation);
void gtk_paint_handle  (GtkStyle      *style,
                        GdkWindow     *window,
                        GtkStateType   state_type,
                        GtkShadowType  shadow_type,
                        GdkRectangle  *area,
                        GtkWidget     *widget,
                        gchar         *detail,
                        gint           x,
                        gint           y,
                        gint           width,
                        gint           height,
                        GtkOrientation orientation);


 


void gtk_style_set_prop_experimental (GtkStyle    *style,
                                      const gchar *name,
                                      gint         value);
gint gtk_style_get_prop_experimental (GtkStyle    *style,
                                      const gchar *name,
                                      gint         default_value);







# 34 "/usr/include/gtk-1.2/gtk/gtkwidget.h" 2 3








 


typedef enum
{
  GTK_TOPLEVEL         = 1 << 4,
  GTK_NO_WINDOW        = 1 << 5,
  GTK_REALIZED         = 1 << 6,
  GTK_MAPPED           = 1 << 7,
  GTK_VISIBLE          = 1 << 8,
  GTK_SENSITIVE        = 1 << 9,
  GTK_PARENT_SENSITIVE = 1 << 10,
  GTK_CAN_FOCUS        = 1 << 11,
  GTK_HAS_FOCUS        = 1 << 12,
 
   

  GTK_CAN_DEFAULT      = 1 << 13,

   

  GTK_HAS_DEFAULT      = 1 << 14,

  GTK_HAS_GRAB         = 1 << 15,
  GTK_RC_STYLE         = 1 << 16,
  GTK_COMPOSITE_CHILD  = 1 << 17,
  GTK_NO_REPARENT      = 1 << 18,
  GTK_APP_PAINTABLE    = 1 << 19,
 
   

  GTK_RECEIVES_DEFAULT = 1 << 20
} GtkWidgetFlags;

 








 





 





















  
 



  
  
  
typedef struct _GtkRequisition    GtkRequisition;
typedef struct _GtkAllocation     GtkAllocation;
typedef struct _GtkSelectionData GtkSelectionData;
typedef struct _GtkWidgetClass    GtkWidgetClass;
typedef struct _GtkWidgetAuxInfo  GtkWidgetAuxInfo;
typedef struct _GtkWidgetShapeInfo GtkWidgetShapeInfo;

typedef void (*GtkCallback) (GtkWidget *widget,
                             gpointer   data);

 


struct _GtkRequisition
{
  gint16 width;
  gint16 height;
};

 



struct _GtkAllocation
{
  gint16 x;
  gint16 y;
  guint16 width;
  guint16 height;
};

 








struct _GtkSelectionData
{
  GdkAtom selection;
  GdkAtom target;
  GdkAtom type;
  gint    format;
  guchar *data;
  gint    length;
};

 




struct _GtkWidget
{
   





  GtkObject object;
  
   




  guint16 private_flags;
  
   


  guint8 state;
  
   





  guint8 saved_state;
  
   





  gchar *name;
  
   




  GtkStyle *style;
  
   

  GtkRequisition requisition;
  
   

  GtkAllocation allocation;
  
   



  GdkWindow *window;
  
   

  GtkWidget *parent;
};

struct _GtkWidgetClass
{
   





  GtkObjectClass parent_class;
  
   



  guint activate_signal;

   




  guint set_scroll_adjustments_signal;
  
   
  void (* show)                (GtkWidget      *widget);
  void (* show_all)            (GtkWidget      *widget);
  void (* hide)                (GtkWidget      *widget);
  void (* hide_all)            (GtkWidget      *widget);
  void (* map)                 (GtkWidget      *widget);
  void (* unmap)               (GtkWidget      *widget);
  void (* realize)             (GtkWidget      *widget);
  void (* unrealize)           (GtkWidget      *widget);
  void (* draw)                (GtkWidget      *widget,
                                GdkRectangle   *area);
  void (* draw_focus)          (GtkWidget      *widget);
  void (* draw_default)        (GtkWidget      *widget);
  void (* size_request)        (GtkWidget      *widget,
                                GtkRequisition *requisition);
  void (* size_allocate)       (GtkWidget      *widget,
                                GtkAllocation  *allocation);
  void (* state_changed)       (GtkWidget      *widget,
                                GtkStateType    previous_state);
  void (* parent_set)          (GtkWidget      *widget,
                                GtkWidget      *previous_parent);
  void (* style_set)           (GtkWidget      *widget,
                                GtkStyle       *previous_style);
  
   
  gint (* add_accelerator)     (GtkWidget      *widget,
                                guint           accel_signal_id,
                                GtkAccelGroup  *accel_group,
                                guint           accel_key,
                                GdkModifierType accel_mods,
                                GtkAccelFlags   accel_flags);
  void (* remove_accelerator)  (GtkWidget      *widget,
                                GtkAccelGroup  *accel_group,
                                guint           accel_key,
                                GdkModifierType accel_mods);

   
  void (* grab_focus)          (GtkWidget      *widget);
  
   
  gint (* event)                   (GtkWidget          *widget,
                                    GdkEvent           *event);
  gint (* button_press_event)      (GtkWidget          *widget,
                                    GdkEventButton     *event);
  gint (* button_release_event)    (GtkWidget          *widget,
                                    GdkEventButton     *event);
  gint (* motion_notify_event)     (GtkWidget          *widget,
                                    GdkEventMotion     *event);
  gint (* delete_event)            (GtkWidget          *widget,
                                    GdkEventAny        *event);
  gint (* destroy_event)           (GtkWidget          *widget,
                                    GdkEventAny        *event);
  gint (* expose_event)            (GtkWidget          *widget,
                                    GdkEventExpose     *event);
  gint (* key_press_event)         (GtkWidget          *widget,
                                    GdkEventKey        *event);
  gint (* key_release_event)       (GtkWidget          *widget,
                                    GdkEventKey        *event);
  gint (* enter_notify_event)      (GtkWidget          *widget,
                                    GdkEventCrossing   *event);
  gint (* leave_notify_event)      (GtkWidget          *widget,
                                    GdkEventCrossing   *event);
  gint (* configure_event)         (GtkWidget          *widget,
                                    GdkEventConfigure  *event);
  gint (* focus_in_event)          (GtkWidget          *widget,
                                    GdkEventFocus      *event);
  gint (* focus_out_event)         (GtkWidget          *widget,
                                    GdkEventFocus      *event);
  gint (* map_event)               (GtkWidget          *widget,
                                    GdkEventAny        *event);
  gint (* unmap_event)             (GtkWidget          *widget,
                                    GdkEventAny        *event);
  gint (* property_notify_event)   (GtkWidget          *widget,
                                    GdkEventProperty   *event);
  gint (* selection_clear_event)   (GtkWidget          *widget,
                                    GdkEventSelection  *event);
  gint (* selection_request_event) (GtkWidget          *widget,
                                    GdkEventSelection  *event);
  gint (* selection_notify_event)  (GtkWidget          *widget,
                                    GdkEventSelection  *event);
  gint (* proximity_in_event)      (GtkWidget          *widget,
                                    GdkEventProximity  *event);
  gint (* proximity_out_event)     (GtkWidget          *widget,
                                    GdkEventProximity  *event);
  gint (* visibility_notify_event)  (GtkWidget         *widget,
                                     GdkEventVisibility *event);
  gint (* client_event)            (GtkWidget          *widget,
                                    GdkEventClient     *event);
  gint (* no_expose_event)         (GtkWidget          *widget,
                                    GdkEventAny        *event);

   
  void (* selection_get)           (GtkWidget          *widget,
                                    GtkSelectionData   *selection_data,
                                    guint               info,
                                    guint               time);
  void (* selection_received)      (GtkWidget          *widget,
                                    GtkSelectionData   *selection_data,
                                    guint               time);

   
  void (* drag_begin)              (GtkWidget          *widget,
                                    GdkDragContext     *context);
  void (* drag_end)                (GtkWidget          *widget,
                                    GdkDragContext     *context);
  void (* drag_data_get)           (GtkWidget          *widget,
                                    GdkDragContext     *context,
                                    GtkSelectionData   *selection_data,
                                    guint               info,
                                    guint               time);
  void (* drag_data_delete)        (GtkWidget          *widget,
                                    GdkDragContext     *context);

   
  void (* drag_leave)              (GtkWidget          *widget,
                                    GdkDragContext     *context,
                                    guint               time);
  gboolean (* drag_motion)         (GtkWidget          *widget,
                                    GdkDragContext     *context,
                                    gint                x,
                                    gint                y,
                                    guint               time);
  gboolean (* drag_drop)           (GtkWidget          *widget,
                                    GdkDragContext     *context,
                                    gint                x,
                                    gint                y,
                                    guint               time);
  void (* drag_data_received)      (GtkWidget          *widget,
                                    GdkDragContext     *context,
                                    gint                x,
                                    gint                y,
                                    GtkSelectionData   *selection_data,
                                    guint               info,
                                    guint               time);
  
   
  void (* debug_msg)               (GtkWidget          *widget,
                                    const gchar        *string);

   
  GtkFunction pad1;
  GtkFunction pad2;
  GtkFunction pad3;
  GtkFunction pad4;
};

struct _GtkWidgetAuxInfo
{
  gint16  x;
  gint16  y;
  gint16 width;
  gint16 height;
};

struct _GtkWidgetShapeInfo
{
  gint16     offset_x;
  gint16     offset_y;
  GdkBitmap *shape_mask;
};


GtkType    gtk_widget_get_type            (void);
GtkWidget* gtk_widget_new                 (GtkType              type,
                                           const gchar         *first_arg_name,
                                           ...);
GtkWidget* gtk_widget_newv                (GtkType              type,
                                           guint                nargs,
                                           GtkArg              *args);
void       gtk_widget_ref                 (GtkWidget           *widget);
void       gtk_widget_unref               (GtkWidget           *widget);
void       gtk_widget_destroy             (GtkWidget           *widget);
void       gtk_widget_destroyed           (GtkWidget           *widget,
                                           GtkWidget          **widget_pointer);
void       gtk_widget_get                 (GtkWidget           *widget,
                                           GtkArg              *arg);
void       gtk_widget_getv                (GtkWidget           *widget,
                                           guint                nargs,
                                           GtkArg              *args);
void       gtk_widget_set                 (GtkWidget           *widget,
                                           const gchar         *first_arg_name,
                                           ...);
void       gtk_widget_setv                (GtkWidget           *widget,
                                           guint                nargs,
                                           GtkArg              *args);
void       gtk_widget_unparent            (GtkWidget           *widget);
void       gtk_widget_show                (GtkWidget           *widget);
void       gtk_widget_show_now            (GtkWidget           *widget);
void       gtk_widget_hide                (GtkWidget           *widget);
void       gtk_widget_show_all            (GtkWidget           *widget);
void       gtk_widget_hide_all            (GtkWidget           *widget);
void       gtk_widget_map                 (GtkWidget           *widget);
void       gtk_widget_unmap               (GtkWidget           *widget);
void       gtk_widget_realize             (GtkWidget           *widget);
void       gtk_widget_unrealize           (GtkWidget           *widget);

 
void       gtk_widget_queue_draw          (GtkWidget           *widget);
void       gtk_widget_queue_draw_area     (GtkWidget           *widget,
                                           gint                 x,
                                           gint                 y,
                                           gint                 width,
                                           gint                 height);
void       gtk_widget_queue_clear         (GtkWidget           *widget);
void       gtk_widget_queue_clear_area    (GtkWidget           *widget,
                                           gint                 x,
                                           gint                 y,
                                           gint                 width,
                                           gint                 height);


void       gtk_widget_queue_resize        (GtkWidget           *widget);
void       gtk_widget_draw                (GtkWidget           *widget,
                                           GdkRectangle        *area);
void       gtk_widget_draw_focus          (GtkWidget           *widget);
void       gtk_widget_draw_default        (GtkWidget           *widget);
void       gtk_widget_size_request        (GtkWidget           *widget,
                                           GtkRequisition      *requisition);
void       gtk_widget_size_allocate       (GtkWidget           *widget,
                                           GtkAllocation       *allocation);
void       gtk_widget_get_child_requisition (GtkWidget         *widget,
                                             GtkRequisition    *requisition);
void       gtk_widget_add_accelerator     (GtkWidget           *widget,
                                           const gchar         *accel_signal,
                                           GtkAccelGroup       *accel_group,
                                           guint                accel_key,
                                           guint                accel_mods,
                                           GtkAccelFlags        accel_flags);
void       gtk_widget_remove_accelerator  (GtkWidget           *widget,
                                           GtkAccelGroup       *accel_group,
                                           guint                accel_key,
                                           guint                accel_mods);
void       gtk_widget_remove_accelerators (GtkWidget           *widget,
                                           const gchar         *accel_signal,
                                           gboolean             visible_only);
guint      gtk_widget_accelerator_signal  (GtkWidget           *widget,
                                           GtkAccelGroup       *accel_group,
                                           guint                accel_key,
                                           guint                accel_mods);
void       gtk_widget_lock_accelerators   (GtkWidget           *widget);
void       gtk_widget_unlock_accelerators (GtkWidget           *widget);
gboolean   gtk_widget_accelerators_locked (GtkWidget           *widget);
gint       gtk_widget_event               (GtkWidget           *widget,
                                           GdkEvent            *event);

gboolean   gtk_widget_activate               (GtkWidget        *widget);
gboolean   gtk_widget_set_scroll_adjustments (GtkWidget        *widget,
                                              GtkAdjustment    *hadjustment,
                                              GtkAdjustment    *vadjustment);
     
void       gtk_widget_reparent            (GtkWidget           *widget,
                                           GtkWidget           *new_parent);
void       gtk_widget_popup               (GtkWidget           *widget,
                                           gint                 x,
                                           gint                 y);
gint       gtk_widget_intersect           (GtkWidget           *widget,
                                           GdkRectangle        *area,
                                           GdkRectangle        *intersection);

void       gtk_widget_grab_focus          (GtkWidget           *widget);
void       gtk_widget_grab_default        (GtkWidget           *widget);

void       gtk_widget_set_name            (GtkWidget           *widget,
                                           const gchar         *name);
gchar*     gtk_widget_get_name            (GtkWidget           *widget);
void       gtk_widget_set_state           (GtkWidget           *widget,
                                           GtkStateType         state);
void       gtk_widget_set_sensitive       (GtkWidget           *widget,
                                           gboolean             sensitive);
void       gtk_widget_set_app_paintable   (GtkWidget           *widget,
                                           gboolean             app_paintable);
void       gtk_widget_set_parent          (GtkWidget           *widget,
                                           GtkWidget           *parent);
void       gtk_widget_set_parent_window   (GtkWidget           *widget,
                                           GdkWindow           *parent_window);
GdkWindow *gtk_widget_get_parent_window   (GtkWidget           *widget);
void       gtk_widget_set_uposition       (GtkWidget           *widget,
                                           gint                 x,
                                           gint                 y);
void       gtk_widget_set_usize           (GtkWidget           *widget,
                                           gint                 width,
                                           gint                 height);
void       gtk_widget_set_events          (GtkWidget           *widget,
                                           gint                 events);
void       gtk_widget_add_events          (GtkWidget           *widget,
                                           gint                 events);
void       gtk_widget_set_extension_events (GtkWidget           *widget,
                                            GdkExtensionMode    mode);

GdkExtensionMode gtk_widget_get_extension_events (GtkWidget     *widget);
GtkWidget*   gtk_widget_get_toplevel    (GtkWidget      *widget);
GtkWidget*   gtk_widget_get_ancestor    (GtkWidget      *widget,
                                         GtkType        widget_type);
GdkColormap* gtk_widget_get_colormap    (GtkWidget      *widget);
GdkVisual*   gtk_widget_get_visual      (GtkWidget      *widget);

 





void         gtk_widget_set_colormap    (GtkWidget      *widget,
                                         GdkColormap    *colormap);
void         gtk_widget_set_visual      (GtkWidget      *widget, 
                                         GdkVisual      *visual);


gint         gtk_widget_get_events      (GtkWidget      *widget);
void         gtk_widget_get_pointer     (GtkWidget      *widget,
                                         gint           *x,
                                         gint           *y);

gboolean     gtk_widget_is_ancestor     (GtkWidget      *widget,
                                         GtkWidget      *ancestor);

 

gint       gtk_widget_hide_on_delete    (GtkWidget      *widget);

 

void       gtk_widget_set_style         (GtkWidget      *widget,
                                         GtkStyle       *style);
void       gtk_widget_set_rc_style      (GtkWidget      *widget);
void       gtk_widget_ensure_style      (GtkWidget      *widget);
GtkStyle*  gtk_widget_get_style         (GtkWidget      *widget);
void       gtk_widget_restore_default_style (GtkWidget  *widget);

void       gtk_widget_modify_style      (GtkWidget      *widget,
                                         GtkRcStyle     *style);

 


void   gtk_widget_set_composite_name    (GtkWidget      *widget,
                                         const gchar    *name);
gchar* gtk_widget_get_composite_name    (GtkWidget      *widget);
     
 
void       gtk_widget_reset_rc_styles   (GtkWidget      *widget);

 



void         gtk_widget_push_style           (GtkStyle   *style);
void         gtk_widget_push_colormap        (GdkColormap *cmap);
void         gtk_widget_push_visual          (GdkVisual  *visual);
void         gtk_widget_push_composite_child (void);
void         gtk_widget_pop_composite_child  (void);
void         gtk_widget_pop_style            (void);
void         gtk_widget_pop_colormap         (void);
void         gtk_widget_pop_visual           (void);

 

void         gtk_widget_set_default_style    (GtkStyle    *style);
void         gtk_widget_set_default_colormap (GdkColormap *colormap);
void         gtk_widget_set_default_visual   (GdkVisual   *visual);
GtkStyle*    gtk_widget_get_default_style    (void);
GdkColormap* gtk_widget_get_default_colormap (void);
GdkVisual*   gtk_widget_get_default_visual   (void);

 

void         gtk_widget_shape_combine_mask (GtkWidget *widget,
                                            GdkBitmap *shape_mask,
                                            gint       offset_x,
                                            gint       offset_y);

 
void         gtk_widget_reset_shapes       (GtkWidget *widget);

 


void         gtk_widget_path               (GtkWidget *widget,
                                            guint     *path_length,
                                            gchar    **path,
                                            gchar    **path_reversed);
void         gtk_widget_class_path         (GtkWidget *widget,
                                            guint     *path_length,
                                            gchar    **path,
                                            gchar    **path_reversed);














# 32 "/usr/include/gtk-1.2/gtk/gtkmisc.h" 2 3















typedef struct _GtkMisc       GtkMisc;
typedef struct _GtkMiscClass  GtkMiscClass;

struct _GtkMisc
{
  GtkWidget widget;
  
  gfloat xalign;
  gfloat yalign;
  
  guint16 xpad;
  guint16 ypad;
};

struct _GtkMiscClass
{
  GtkWidgetClass parent_class;
};


GtkType gtk_misc_get_type      (void);
void    gtk_misc_set_alignment (GtkMisc *misc,
                                gfloat   xalign,
                                gfloat   yalign);
void    gtk_misc_set_padding   (GtkMisc *misc,
                                gint     xpad,
                                gint     ypad);








# 31 "/usr/include/gtk-1.2/gtk/gtklabel.h" 2 3















typedef struct _GtkLabel       GtkLabel;
typedef struct _GtkLabelClass  GtkLabelClass;

typedef struct _GtkLabelWord   GtkLabelWord;

struct _GtkLabel
{
  GtkMisc misc;

  gchar    *label;
  GdkWChar *label_wc;
  gchar    *pattern;

  GtkLabelWord *words;

  guint   max_width : 16;
  guint   jtype : 2;
  gboolean wrap;
};

struct _GtkLabelClass
{
  GtkMiscClass parent_class;
};


GtkType    gtk_label_get_type      (void);
GtkWidget* gtk_label_new           (const gchar       *str);
void       gtk_label_set_text      (GtkLabel          *label,
                                    const gchar       *str);
void       gtk_label_set_justify   (GtkLabel          *label,
                                    GtkJustification   jtype);
void       gtk_label_set_pattern   (GtkLabel          *label,
                                    const gchar       *pattern);
void       gtk_label_set_line_wrap (GtkLabel          *label,
                                    gboolean           wrap);
void       gtk_label_get           (GtkLabel          *label,
                                    gchar            **str);

 



guint      gtk_label_parse_uline    (GtkLabel         *label,
                                     const gchar      *string);











# 34 "/usr/include/gtk-1.2/gtk/gtkaccellabel.h" 2 3















typedef struct _GtkAccelLabel       GtkAccelLabel;
typedef struct _GtkAccelLabelClass  GtkAccelLabelClass;

struct _GtkAccelLabel
{
  GtkLabel label;

  guint      queue_id;
  guint      accel_padding;
  GtkWidget *accel_widget;
  gchar     *accel_string;
  guint16     accel_string_width;
};

struct _GtkAccelLabelClass
{
  GtkLabelClass  parent_class;

  gchar         *signal_quote1;
  gchar         *signal_quote2;
  gchar         *mod_name_shift;
  gchar         *mod_name_control;
  gchar         *mod_name_alt;
  gchar         *mod_separator;
  gchar         *accel_seperator;
  guint          latin1_to_char : 1;
};


GtkType    gtk_accel_label_get_type          (void);
GtkWidget* gtk_accel_label_new               (const gchar   *string);
guint      gtk_accel_label_get_accel_width   (GtkAccelLabel *accel_label);
void       gtk_accel_label_set_accel_widget  (GtkAccelLabel *accel_label,
                                              GtkWidget     *accel_widget);
gboolean   gtk_accel_label_refetch           (GtkAccelLabel *accel_label);








# 33 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3


# 1 "/usr/include/gtk-1.2/gtk/gtkalignment.h" 1 3
 


















 











# 1 "/usr/include/gtk-1.2/gtk/gtkbin.h" 1 3
 


















 











# 1 "/usr/include/gtk-1.2/gtk/gtkcontainer.h" 1 3
 


















 






























typedef struct _GtkContainer       GtkContainer;
typedef struct _GtkContainerClass  GtkContainerClass;

struct _GtkContainer
{
  GtkWidget widget;
  
  GtkWidget *focus_child;
  
  guint border_width : 16;
  guint need_resize : 1;
  guint resize_mode : 2;
  guint reallocate_redraws : 1;
  
   

  GSList *resize_widgets;
};

struct _GtkContainerClass
{
  GtkWidgetClass parent_class;
  
  guint   n_child_args;

  void (* add)                  (GtkContainer    *container,
                                 GtkWidget       *widget);
  void (* remove)               (GtkContainer    *container,
                                 GtkWidget       *widget);
  void (* check_resize)         (GtkContainer    *container);
  void (* forall)               (GtkContainer    *container,
                                 gboolean         include_internals,
                                 GtkCallback      callback,
                                 gpointer         callbabck_data);
  gint (* focus)                (GtkContainer    *container,
                                 GtkDirectionType  direction);
  void (* set_focus_child)      (GtkContainer    *container,
                                 GtkWidget       *widget);
  GtkType (*child_type)         (GtkContainer   *container);
  void    (*set_child_arg)      (GtkContainer   *container,
                                 GtkWidget      *child,
                                 GtkArg         *arg,
                                 guint           arg_id);
  void    (*get_child_arg)      (GtkContainer   *container,
                                 GtkWidget      *child,
                                 GtkArg         *arg,
                                 guint           arg_id);
  gchar*  (*composite_name)     (GtkContainer   *container,
                                 GtkWidget      *child);

   
  GtkFunction pad1;
  GtkFunction pad2;
};

 

GtkType gtk_container_get_type           (void);
void    gtk_container_set_border_width   (GtkContainer     *container,
                                          guint             border_width);
void    gtk_container_add                (GtkContainer     *container,
                                          GtkWidget        *widget);
void    gtk_container_remove             (GtkContainer     *container,
                                          GtkWidget        *widget);

void    gtk_container_set_resize_mode    (GtkContainer     *container,
                                          GtkResizeMode     resize_mode);

void    gtk_container_check_resize       (GtkContainer     *container);

void    gtk_container_foreach            (GtkContainer     *container,
                                          GtkCallback       callback,
                                          gpointer          callback_data);
void    gtk_container_foreach_full       (GtkContainer     *container,
                                          GtkCallback       callback,
                                          GtkCallbackMarshal marshal,
                                          gpointer          callback_data,
                                          GtkDestroyNotify  notify);
GList* gtk_container_children            (GtkContainer     *container);
gint   gtk_container_focus                 (GtkContainer     *container,
                                            GtkDirectionType  direction);

 

void   gtk_container_set_reallocate_redraws (GtkContainer    *container,
                                             gboolean         needs_redraws);
void   gtk_container_set_focus_child       (GtkContainer     *container,
                                            GtkWidget        *child);
void   gtk_container_set_focus_vadjustment (GtkContainer     *container,
                                            GtkAdjustment    *adjustment);
void   gtk_container_set_focus_hadjustment (GtkContainer     *container,
                                            GtkAdjustment    *adjustment);
void    gtk_container_register_toplevel    (GtkContainer     *container);
void    gtk_container_unregister_toplevel  (GtkContainer     *container);
GList*  gtk_container_get_toplevels        (void);

void    gtk_container_resize_children      (GtkContainer     *container);

GtkType gtk_container_child_type           (GtkContainer     *container);

 
void    gtk_container_add_child_arg_type   (const gchar      *arg_name,
                                            GtkType           arg_type,
                                            guint             arg_flags,
                                            guint             arg_id);
     
 








GtkArg* gtk_container_query_child_args     (GtkType            class_type,
                                            guint32          **arg_flags,
                                            guint             *nargs);

 




void    gtk_container_child_getv           (GtkContainer      *container,
                                            GtkWidget         *child,
                                            guint              n_args,
                                            GtkArg            *args);
void    gtk_container_child_setv           (GtkContainer      *container,
                                            GtkWidget         *child,
                                            guint              n_args,
                                            GtkArg            *args);

 




void    gtk_container_add_with_args        (GtkContainer      *container,
                                            GtkWidget         *widget,
                                            const gchar       *first_arg_name,
                                            ...);
void    gtk_container_addv                 (GtkContainer      *container,
                                            GtkWidget         *widget,
                                            guint              n_args,
                                            GtkArg            *args);
void    gtk_container_child_set            (GtkContainer      *container,
                                            GtkWidget         *child,
                                            const gchar       *first_arg_name,
                                            ...);
     

 

void    gtk_container_queue_resize           (GtkContainer *container);
void    gtk_container_clear_resize_widgets   (GtkContainer *container);
void    gtk_container_arg_set                (GtkContainer *container,
                                              GtkWidget    *child,
                                              GtkArg       *arg,
                                              GtkArgInfo   *info);
void    gtk_container_arg_get                (GtkContainer *container,
                                              GtkWidget    *child,
                                              GtkArg       *arg,
                                              GtkArgInfo   *info);
gchar*  gtk_container_child_args_collect     (GtkType       object_type,
                                              GSList      **arg_list_p,
                                              GSList      **info_list_p,
                                              const gchar  *first_arg_name,
                                              va_list       args);
gchar*  gtk_container_child_arg_get_info     (GtkType       object_type,
                                              const gchar  *arg_name,
                                              GtkArgInfo  **info_p);
void    gtk_container_forall                 (GtkContainer *container,
                                              GtkCallback   callback,
                                              gpointer      callback_data);
gchar*  gtk_container_child_composite_name   (GtkContainer *container,
                                              GtkWidget    *child);
void    gtk_container_dequeue_resize_handler (GtkContainer *container);







# 32 "/usr/include/gtk-1.2/gtk/gtkbin.h" 2 3















typedef struct _GtkBin       GtkBin;
typedef struct _GtkBinClass  GtkBinClass;

struct _GtkBin
{
  GtkContainer container;

  GtkWidget *child;
};

struct _GtkBinClass
{
  GtkContainerClass parent_class;
};


GtkType  gtk_bin_get_type   (void);








# 32 "/usr/include/gtk-1.2/gtk/gtkalignment.h" 2 3















typedef struct _GtkAlignment       GtkAlignment;
typedef struct _GtkAlignmentClass  GtkAlignmentClass;

struct _GtkAlignment
{
  GtkBin bin;

  gfloat xalign;
  gfloat yalign;
  gfloat xscale;
  gfloat yscale;
};

struct _GtkAlignmentClass
{
  GtkBinClass parent_class;
};


GtkType    gtk_alignment_get_type   (void);
GtkWidget* gtk_alignment_new        (gfloat             xalign,
                                     gfloat             yalign,
                                     gfloat             xscale,
                                     gfloat             yscale);
void       gtk_alignment_set        (GtkAlignment      *alignment,
                                     gfloat             xalign,
                                     gfloat             yalign,
                                     gfloat             xscale,
                                     gfloat             yscale);








# 35 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3


# 1 "/usr/include/gtk-1.2/gtk/gtkaspectframe.h" 1 3
 


















 












# 1 "/usr/include/gtk-1.2/gtk/gtkframe.h" 1 3
 


















 


























typedef struct _GtkFrame       GtkFrame;
typedef struct _GtkFrameClass  GtkFrameClass;

struct _GtkFrame
{
  GtkBin bin;
  
  gchar *label;
  gint16 shadow_type;
  gint16 label_width;
  gint16 label_height;
  gfloat label_xalign;
  gfloat label_yalign;
};

struct _GtkFrameClass
{
  GtkBinClass parent_class;
};


GtkType    gtk_frame_get_type        (void);
GtkWidget* gtk_frame_new             (const gchar   *label);
void       gtk_frame_set_label       (GtkFrame      *frame,
                                      const gchar   *label);
void       gtk_frame_set_label_align (GtkFrame      *frame,
                                      gfloat         xalign,
                                      gfloat         yalign);
void       gtk_frame_set_shadow_type (GtkFrame      *frame,
                                      GtkShadowType  type);








# 33 "/usr/include/gtk-1.2/gtk/gtkaspectframe.h" 2 3















typedef struct _GtkAspectFrame       GtkAspectFrame;
typedef struct _GtkAspectFrameClass  GtkAspectFrameClass;

struct _GtkAspectFrame
{
  GtkFrame frame;

  gfloat xalign;
  gfloat yalign;
  gfloat ratio;
  gboolean obey_child;

  GtkAllocation center_allocation;
};

struct _GtkAspectFrameClass
{
  GtkBinClass parent_class;
};


GtkType    gtk_aspect_frame_get_type   (void);
GtkWidget* gtk_aspect_frame_new        (const gchar     *label,
                                        gfloat           xalign,
                                        gfloat           yalign,
                                        gfloat           ratio,
                                        gboolean         obey_child);
void       gtk_aspect_frame_set        (GtkAspectFrame  *aspect_frame,
                                        gfloat           xalign,
                                        gfloat           yalign,
                                        gfloat           ratio,
                                        gboolean         obey_child);








# 37 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkarrow.h" 1 3
 


















 


























typedef struct _GtkArrow       GtkArrow;
typedef struct _GtkArrowClass  GtkArrowClass;

struct _GtkArrow
{
  GtkMisc misc;

  gint16 arrow_type;
  gint16 shadow_type;
};

struct _GtkArrowClass
{
  GtkMiscClass parent_class;
};


GtkType    gtk_arrow_get_type   (void);
GtkWidget* gtk_arrow_new        (GtkArrowType   arrow_type,
                                 GtkShadowType  shadow_type);
void       gtk_arrow_set        (GtkArrow      *arrow,
                                 GtkArrowType   arrow_type,
                                 GtkShadowType  shadow_type);








# 38 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3


# 1 "/usr/include/gtk-1.2/gtk/gtkbindings.h" 1 3
 





















 




















 

typedef struct  _GtkPatternSpec GtkPatternSpec;

struct _GtkPatternSpec
{
  GtkMatchType   match_type;
  guint          pattern_length;
  gchar         *pattern;
  gchar         *pattern_reversed;
  gpointer       user_data;
  guint          seq_id;
};

void     gtk_pattern_spec_init      (GtkPatternSpec      *pspec,
                                     const gchar         *pattern);
void     gtk_pattern_spec_free_segs (GtkPatternSpec      *pspec);
gboolean gtk_pattern_match          (GtkPatternSpec      *pspec,
                                     guint                string_length,
                                     const gchar         *string,
                                     const gchar         *string_reversed);
gboolean gtk_pattern_match_string   (GtkPatternSpec      *pspec,
                                     const gchar         *string);
gboolean gtk_pattern_match_simple   (const gchar         *pattern,
                                     const gchar         *string);


 


typedef struct _GtkBindingSet           GtkBindingSet;
typedef struct _GtkBindingEntry         GtkBindingEntry;
typedef struct _GtkBindingSignal        GtkBindingSignal;
typedef struct _GtkBindingArg           GtkBindingArg;

struct _GtkBindingSet
{
  gchar                 *set_name;
  gint                   priority;
  GSList                *widget_path_pspecs;
  GSList                *widget_class_pspecs;
  GSList                *class_branch_pspecs;
  GtkBindingEntry       *entries;
  GtkBindingEntry       *current;
};

struct _GtkBindingEntry
{
   

  guint                  keyval;
  guint                  modifiers;
  
  GtkBindingSet         *binding_set;
  guint                 destroyed : 1;
  guint                 in_emission : 1;
  GtkBindingEntry       *set_next;
  GtkBindingEntry       *hash_next;
  GtkBindingSignal      *signals;
};

struct _GtkBindingSignal
{
  GtkBindingSignal      *next;
  gchar                 *signal_name;
  guint                  n_args;
  GtkBindingArg         *args;
};

struct _GtkBindingArg
{
  GtkType       arg_type;
  union {
    glong        long_data;
    gdouble      double_data;
    gchar       *string_data;
  } d;
};


 

GtkBindingSet*  gtk_binding_set_new     (const gchar    *set_name);
GtkBindingSet*  gtk_binding_set_by_class(gpointer        object_class);
GtkBindingSet*  gtk_binding_set_find    (const gchar    *set_name);
gboolean gtk_bindings_activate          (GtkObject      *object,
                                         guint           keyval,
                                         guint           modifiers);
gboolean gtk_binding_set_activate       (GtkBindingSet  *binding_set,
                                         guint           keyval,
                                         guint           modifiers,
                                         GtkObject      *object);

void     gtk_binding_entry_clear        (GtkBindingSet  *binding_set,
                                         guint           keyval,
                                         guint           modifiers);
void     gtk_binding_entry_add_signal   (GtkBindingSet  *binding_set,
                                         guint           keyval,
                                         guint           modifiers,
                                         const gchar    *signal_name,
                                         guint           n_args,
                                         ...);
void     gtk_binding_set_add_path       (GtkBindingSet  *binding_set,
                                         GtkPathType     path_type,
                                         const gchar    *path_pattern,
                                         GtkPathPriorityType priority);


 

void     gtk_binding_entry_remove       (GtkBindingSet  *binding_set,
                                         guint           keyval,
                                         guint           modifiers);
void     gtk_binding_entry_add_signall  (GtkBindingSet  *binding_set,
                                         guint           keyval,
                                         guint           modifiers,
                                         const gchar    *signal_name,
                                         GSList         *binding_args);
guint    gtk_binding_parse_binding      (GScanner       *scanner);










# 40 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkbox.h" 1 3
 


















 


























typedef struct _GtkBox        GtkBox;
typedef struct _GtkBoxClass   GtkBoxClass;
typedef struct _GtkBoxChild   GtkBoxChild;

struct _GtkBox
{
  GtkContainer container;
  
  GList *children;
  gint16 spacing;
  guint homogeneous : 1;
};

struct _GtkBoxClass
{
  GtkContainerClass parent_class;
};

struct _GtkBoxChild
{
  GtkWidget *widget;
  guint16 padding;
  guint expand : 1;
  guint fill : 1;
  guint pack : 1;
};


GtkType    gtk_box_get_type            (void);
void       gtk_box_pack_start          (GtkBox       *box,
                                        GtkWidget    *child,
                                        gboolean      expand,
                                        gboolean      fill,
                                        guint         padding);
void       gtk_box_pack_end            (GtkBox       *box,
                                        GtkWidget    *child,
                                        gboolean      expand,
                                        gboolean      fill,
                                        guint         padding);
void       gtk_box_pack_start_defaults (GtkBox       *box,
                                        GtkWidget    *widget);
void       gtk_box_pack_end_defaults   (GtkBox       *box,
                                        GtkWidget    *widget);
void       gtk_box_set_homogeneous     (GtkBox       *box,
                                        gboolean      homogeneous);
void       gtk_box_set_spacing         (GtkBox       *box,
                                        gint          spacing);
void       gtk_box_reorder_child       (GtkBox       *box,
                                        GtkWidget    *child,
                                        gint          position);
void       gtk_box_query_child_packing (GtkBox       *box,
                                        GtkWidget    *child,
                                        gboolean     *expand,
                                        gboolean     *fill,
                                        guint        *padding,
                                        GtkPackType  *pack_type);
void       gtk_box_set_child_packing   (GtkBox       *box,
                                        GtkWidget    *child,
                                        gboolean      expand,
                                        gboolean      fill,
                                        guint         padding,
                                        GtkPackType   pack_type);









# 41 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkbbox.h" 1 3
 


















 















  






  


 
typedef struct _GtkButtonBox       GtkButtonBox;
typedef struct _GtkButtonBoxClass  GtkButtonBoxClass;

struct _GtkButtonBox
{
  GtkBox box;
  gint spacing;
  gint child_min_width;
  gint child_min_height;
  gint child_ipad_x;
  gint child_ipad_y;
  GtkButtonBoxStyle layout_style;
};

struct _GtkButtonBoxClass
{
  GtkBoxClass parent_class;
};


GtkType gtk_button_box_get_type (void);

void gtk_button_box_get_child_size_default (gint *min_width, gint *min_height);
void gtk_button_box_get_child_ipadding_default (gint *ipad_x, gint *ipad_y);

void gtk_button_box_set_child_size_default (gint min_width, gint min_height);
void gtk_button_box_set_child_ipadding_default (gint ipad_x, gint ipad_y);

gint gtk_button_box_get_spacing (GtkButtonBox *widget);
GtkButtonBoxStyle gtk_button_box_get_layout (GtkButtonBox *widget);
void gtk_button_box_get_child_size (GtkButtonBox *widget,
                                    gint *min_width, gint *min_height);
void gtk_button_box_get_child_ipadding (GtkButtonBox *widget, gint *ipad_x, 
gint *ipad_y);

void gtk_button_box_set_spacing (GtkButtonBox *widget, gint spacing);
void gtk_button_box_set_layout (GtkButtonBox *widget, 
                                GtkButtonBoxStyle layout_style);
void gtk_button_box_set_child_size (GtkButtonBox *widget,
                                    gint min_width, gint min_height);
void gtk_button_box_set_child_ipadding (GtkButtonBox *widget, gint ipad_x, gint 
ipad_y);


 
void gtk_button_box_child_requisition (GtkWidget *widget,
                                       int *nvis_children,
                                       int *width,
                                       int *height);









# 42 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkbutton.h" 1 3
 


















 


























typedef struct _GtkButton       GtkButton;
typedef struct _GtkButtonClass  GtkButtonClass;

struct _GtkButton
{
  GtkBin bin;

  GtkWidget *child  

;

  guint in_button : 1;
  guint button_down : 1;
  guint relief : 2;
};

struct _GtkButtonClass
{
  GtkBinClass        parent_class;
  
  void (* pressed)  (GtkButton *button);
  void (* released) (GtkButton *button);
  void (* clicked)  (GtkButton *button);
  void (* enter)    (GtkButton *button);
  void (* leave)    (GtkButton *button);
};


GtkType        gtk_button_get_type       (void);
GtkWidget*     gtk_button_new            (void);
GtkWidget*     gtk_button_new_with_label (const gchar *label);
void           gtk_button_pressed        (GtkButton *button);
void           gtk_button_released       (GtkButton *button);
void           gtk_button_clicked        (GtkButton *button);
void           gtk_button_enter          (GtkButton *button);
void           gtk_button_leave          (GtkButton *button);
void           gtk_button_set_relief     (GtkButton *button,
                                          GtkReliefStyle newstyle);
GtkReliefStyle gtk_button_get_relief      (GtkButton *button);








# 43 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkcalendar.h" 1 3
 




















 










# 1 "/usr/include/gtk-1.2/gtk/gtksignal.h" 1 3
 


















 













# 1 "/usr/include/gtk-1.2/gtk/gtkmarshal.h" 1 3













  void gtk_marshal_BOOL__NONE (GtkObject * object,
                               GtkSignalFunc func,
                               gpointer func_data, GtkArg * args);

  void gtk_marshal_BOOL__POINTER (GtkObject * object,
                                  GtkSignalFunc func,
                                  gpointer func_data, GtkArg * args);

  void gtk_marshal_BOOL__POINTER_POINTER_INT_INT (GtkObject * object,
                                                  GtkSignalFunc func,
                                                  gpointer func_data,
                                                  GtkArg * args);

  void gtk_marshal_BOOL__POINTER_INT_INT (GtkObject * object,
                                          GtkSignalFunc func,
                                          gpointer func_data, GtkArg * args);



  void gtk_marshal_BOOL__POINTER_INT_INT_INT (GtkObject * object,
                                              GtkSignalFunc func,
                                              gpointer func_data,
                                              GtkArg * args);



  void gtk_marshal_BOOL__POINTER_POINTER_POINTER_POINTER (GtkObject * object,
                                                          GtkSignalFunc func,
                                                          gpointer func_data,
                                                          GtkArg * args);



  void gtk_marshal_INT__INT (GtkObject * object,
                             GtkSignalFunc func,
                             gpointer func_data, GtkArg * args);

  void gtk_marshal_INT__POINTER (GtkObject * object,
                                 GtkSignalFunc func,
                                 gpointer func_data, GtkArg * args);

  void gtk_marshal_INT__POINTER_CHAR_CHAR (GtkObject * object,
                                           GtkSignalFunc func,
                                           gpointer func_data, GtkArg * args);

  void gtk_marshal_NONE__BOOL (GtkObject * object,
                               GtkSignalFunc func,
                               gpointer func_data, GtkArg * args);



  void gtk_marshal_NONE__POINTER (GtkObject * object,
                                  GtkSignalFunc func,
                                  gpointer func_data, GtkArg * args);

  void gtk_marshal_NONE__C_CALLBACK (GtkObject * object,
                                     GtkSignalFunc func,
                                     gpointer func_data, GtkArg * args);

  void gtk_marshal_NONE__C_CALLBACK_C_CALLBACK (GtkObject * object,
                                                GtkSignalFunc func,
                                                gpointer func_data,
                                                GtkArg * args);



  void gtk_marshal_NONE__INT (GtkObject * object,
                              GtkSignalFunc func,
                              gpointer func_data, GtkArg * args);



  void gtk_marshal_NONE__INT_FLOAT (GtkObject * object,
                                    GtkSignalFunc func,
                                    gpointer func_data, GtkArg * args);



  void gtk_marshal_NONE__INT_FLOAT_BOOL (GtkObject * object,
                                         GtkSignalFunc func,
                                         gpointer func_data, GtkArg * args);

  void gtk_marshal_NONE__INT_INT (GtkObject * object,
                                  GtkSignalFunc func,
                                  gpointer func_data, GtkArg * args);

  void gtk_marshal_NONE__INT_INT_POINTER (GtkObject * object,
                                          GtkSignalFunc func,
                                          gpointer func_data, GtkArg * args);

  void gtk_marshal_NONE__NONE (GtkObject * object,
                               GtkSignalFunc func,
                               gpointer func_data, GtkArg * args);



  void gtk_marshal_NONE__POINTER_INT (GtkObject * object,
                                      GtkSignalFunc func,
                                      gpointer func_data, GtkArg * args);

  void gtk_marshal_NONE__POINTER_POINTER (GtkObject * object,
                                          GtkSignalFunc func,
                                          gpointer func_data, GtkArg * args);

  void gtk_marshal_NONE__POINTER_POINTER_POINTER (GtkObject * object,
                                                  GtkSignalFunc func,
                                                  gpointer func_data,
                                                  GtkArg * args);







  void gtk_marshal_NONE__POINTER_INT_INT (GtkObject * object,
                                          GtkSignalFunc func,
                                          gpointer func_data, GtkArg * args);



  void gtk_marshal_NONE__POINTER_POINTER_INT_INT (GtkObject * object,
                                                  GtkSignalFunc func,
                                                  gpointer func_data,
                                                  GtkArg * args);



  void gtk_marshal_NONE__POINTER_INT_INT_POINTER_INT_INT (GtkObject * object,
                                                          GtkSignalFunc func,
                                                          gpointer func_data,
                                                          GtkArg * args);







  void gtk_marshal_NONE__POINTER_INT_POINTER (GtkObject * object,
                                              GtkSignalFunc func,
                                              gpointer func_data,
                                              GtkArg * args);





  void gtk_marshal_NONE__INT_POINTER_INT_INT_INT_POINTER (GtkObject * object,
                                                          GtkSignalFunc func,
                                                          gpointer func_data,
                                                          GtkArg * args);



  void gtk_marshal_NONE__INT_POINTER_INT_INT_INT (GtkObject * object,
                                                  GtkSignalFunc func,
                                                  gpointer func_data,
                                                  GtkArg * args);



  void gtk_marshal_NONE__INT_POINTER (GtkObject * object,
                                      GtkSignalFunc func,
                                      gpointer func_data, GtkArg * args);







# 34 "/usr/include/gtk-1.2/gtk/gtksignal.h" 2 3






  

  
  
typedef void    (*GtkSignalMarshal) (GtkObject      *object,
                                     gpointer        data,
                                     guint           nparams,
                                     GtkArg         *args,
                                     GtkType        *arg_types,
                                     GtkType         return_type);
typedef void    (*GtkSignalDestroy) (gpointer        data);
typedef gboolean (*GtkEmissionHook) (GtkObject      *object,
                                     guint           signal_id,
                                     guint           n_params,
                                     GtkArg         *params,
                                     gpointer        data);

typedef struct _GtkSignalQuery          GtkSignalQuery;

struct  _GtkSignalQuery
{
  GtkType          object_type;
  guint            signal_id;
  const gchar     *signal_name;
  guint            is_user_signal : 1;
  GtkSignalRunType signal_flags;
  GtkType          return_val;
  guint            nparams;
  const GtkType   *params;
};


 
guint  gtk_signal_lookup                  (const gchar         *name,
                                           GtkType              object_type);
gchar* gtk_signal_name                    (guint                signal_id);
guint  gtk_signal_n_emissions             (GtkObject           *object,
                                           guint                signal_id);
guint  gtk_signal_n_emissions_by_name     (GtkObject           *object,
                                           const gchar         *name);
void   gtk_signal_emit_stop               (GtkObject           *object,
                                           guint                signal_id);
void   gtk_signal_emit_stop_by_name       (GtkObject           *object,
                                           const gchar         *name);
guint  gtk_signal_connect                 (GtkObject           *object,
                                           const gchar         *name,
                                           GtkSignalFunc        func,
                                           gpointer             func_data);
guint  gtk_signal_connect_after           (GtkObject           *object,
                                           const gchar         *name,
                                           GtkSignalFunc        func,
                                           gpointer             func_data);
guint  gtk_signal_connect_object          (GtkObject           *object,
                                           const gchar         *name,
                                           GtkSignalFunc        func,
                                           GtkObject           *slot_object);
guint  gtk_signal_connect_object_after    (GtkObject           *object,
                                           const gchar         *name,
                                           GtkSignalFunc        func,
                                           GtkObject           *slot_object);
guint  gtk_signal_connect_full            (GtkObject           *object,
                                           const gchar         *name,
                                           GtkSignalFunc        func,
                                           GtkCallbackMarshal   marshal,
                                           gpointer             data,
                                           GtkDestroyNotify     destroy_func,
                                           gint                 object_signal,
                                           gint                 after);

void   gtk_signal_connect_object_while_alive (GtkObject        *object,
                                              const gchar      *signal,
                                              GtkSignalFunc     func,
                                              GtkObject        *alive_object);
void   gtk_signal_connect_while_alive        (GtkObject        *object,
                                              const gchar      *signal,
                                              GtkSignalFunc     func,
                                              gpointer          func_data,
                                              GtkObject        *alive_object);

void   gtk_signal_disconnect              (GtkObject           *object,
                                           guint                handler_id);
void   gtk_signal_disconnect_by_func      (GtkObject           *object,
                                           GtkSignalFunc        func,
                                           gpointer             data);
void   gtk_signal_disconnect_by_data      (GtkObject           *object,
                                           gpointer             data);
void   gtk_signal_handler_block           (GtkObject           *object,
                                           guint                handler_id);
void   gtk_signal_handler_block_by_func   (GtkObject           *object,
                                           GtkSignalFunc        func,
                                           gpointer             data);
void   gtk_signal_handler_block_by_data   (GtkObject           *object,
                                           gpointer             data);
void   gtk_signal_handler_unblock         (GtkObject           *object,
                                           guint                handler_id);
void   gtk_signal_handler_unblock_by_func (GtkObject           *object,
                                           GtkSignalFunc        func,
                                           gpointer             data);
void   gtk_signal_handler_unblock_by_data (GtkObject           *object,
                                           gpointer             data);
guint  gtk_signal_handler_pending         (GtkObject           *object,
                                           guint                signal_id,
                                           gboolean             may_be_blocked);
guint  gtk_signal_handler_pending_by_func (GtkObject           *object,
                                           guint                signal_id,
                                           gboolean             may_be_blocked,
                                           GtkSignalFunc        func,
                                           gpointer             data);
gint   gtk_signal_handler_pending_by_id   (GtkObject           *object,
                                           guint                handler_id,
                                           gboolean             may_be_blocked);
guint  gtk_signal_add_emission_hook       (guint                signal_id,
                                           GtkEmissionHook      hook_func,
                                           gpointer             data);
guint  gtk_signal_add_emission_hook_full  (guint                signal_id,
                                           GtkEmissionHook      hook_func,
                                           gpointer             data,
                                           GDestroyNotify       destroy);
void   gtk_signal_remove_emission_hook    (guint                signal_id,
                                           guint                hook_id);

 



GtkSignalQuery* gtk_signal_query          (guint                signal_id);


 
void   gtk_signal_init                    (void);
guint  gtk_signal_new                     (const gchar         *name,
                                           GtkSignalRunType     signal_flags,
                                           GtkType              object_type,
                                           guint                function_offset,
                                           GtkSignalMarshaller  marshaller,
                                           GtkType              return_val,
                                           guint                nparams,
                                           ...);
guint  gtk_signal_newv                    (const gchar         *name,
                                           GtkSignalRunType     signal_flags,
                                           GtkType              object_type,
                                           guint                function_offset,
                                           GtkSignalMarshaller  marshaller,
                                           GtkType              return_val,
                                           guint                nparams,
                                           GtkType             *params);
void   gtk_signal_emit                    (GtkObject           *object,
                                           guint                signal_id,
                                           ...);
void   gtk_signal_emit_by_name            (GtkObject           *object,
                                           const gchar         *name,
                                           ...);
void   gtk_signal_emitv                   (GtkObject           *object,
                                           guint                signal_id,
                                           GtkArg              *params);
void   gtk_signal_emitv_by_name           (GtkObject           *object,
                                           const gchar         *name,
                                           GtkArg              *params);
 
void   gtk_signal_handlers_destroy        (GtkObject           *object);
void   gtk_signal_set_funcs               (GtkSignalMarshal     marshal_func,
                                           GtkSignalDestroy     destroy_func);
       








# 33 "/usr/include/gtk-1.2/gtk/gtkcalendar.h" 2 3
















typedef struct _GtkCalendar            GtkCalendar;
typedef struct _GtkCalendarClass       GtkCalendarClass;

typedef enum
{
  GTK_CALENDAR_SHOW_HEADING             = 1 << 0,
  GTK_CALENDAR_SHOW_DAY_NAMES           = 1 << 1,
  GTK_CALENDAR_NO_MONTH_CHANGE          = 1 << 2,
  GTK_CALENDAR_SHOW_WEEK_NUMBERS        = 1 << 3,
  GTK_CALENDAR_WEEK_START_MONDAY        = 1 << 4
} GtkCalendarDisplayOptions;

struct _GtkCalendar
{
  GtkWidget widget;
  
  GtkStyle  *header_style;
  GtkStyle  *label_style;
  
  gint month;
  gint year;
  gint selected_day;
  
  gint day_month[6][7];
  gint day[6][7];
  
  gint num_marked_dates;
  gint marked_date[31];
  GtkCalendarDisplayOptions  display_flags;
  GdkColor marked_date_color[31];
  
  GdkGC *gc;
  GdkGC *xor_gc;

  gint focus_row;
  gint focus_col;

  gint highlight_row;
  gint highlight_col;
  
  gpointer private_data;
  gchar grow_space [32];
};

struct _GtkCalendarClass
{
  GtkWidgetClass parent_class;
  
   
  void (* month_changed)                (GtkCalendar *calendar);
  void (* day_selected)                 (GtkCalendar *calendar);
  void (* day_selected_double_click)    (GtkCalendar *calendar);
  void (* prev_month)                   (GtkCalendar *calendar);
  void (* next_month)                   (GtkCalendar *calendar);
  void (* prev_year)                    (GtkCalendar *calendar);
  void (* next_year)                    (GtkCalendar *calendar);
  
};


GtkType    gtk_calendar_get_type        (void);
GtkWidget* gtk_calendar_new             (void);

gint       gtk_calendar_select_month    (GtkCalendar *calendar, 
                                         guint        month,
                                         guint        year);
void       gtk_calendar_select_day      (GtkCalendar *calendar,
                                         guint        day);

gint       gtk_calendar_mark_day        (GtkCalendar *calendar,
                                         guint        day);
gint       gtk_calendar_unmark_day      (GtkCalendar *calendar,
                                         guint        day);
void       gtk_calendar_clear_marks     (GtkCalendar *calendar);


void       gtk_calendar_display_options (GtkCalendar              *calendar,
                                         GtkCalendarDisplayOptions flags);

void       gtk_calendar_get_date        (GtkCalendar *calendar, 
                                         guint       *year,
                                         guint       *month,
                                         guint       *day);
void       gtk_calendar_freeze          (GtkCalendar *calendar);
void       gtk_calendar_thaw            (GtkCalendar *calendar);









# 44 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkcheckbutton.h" 1 3
 


















 











# 1 "/usr/include/gtk-1.2/gtk/gtktogglebutton.h" 1 3
 


















 


























typedef struct _GtkToggleButton       GtkToggleButton;
typedef struct _GtkToggleButtonClass  GtkToggleButtonClass;

struct _GtkToggleButton
{
  GtkButton button;

  guint active : 1;
  guint draw_indicator : 1;
  
  GdkWindow *event_window;
};

struct _GtkToggleButtonClass
{
  GtkButtonClass parent_class;

  void (* toggled) (GtkToggleButton *toggle_button);
};


GtkType    gtk_toggle_button_get_type       (void);
GtkWidget* gtk_toggle_button_new            (void);
GtkWidget* gtk_toggle_button_new_with_label (const gchar     *label);
void       gtk_toggle_button_set_mode       (GtkToggleButton *toggle_button,
                                             gboolean         draw_indicator);
void       gtk_toggle_button_set_active     (GtkToggleButton *toggle_button,
                                             gboolean         is_active);
gboolean   gtk_toggle_button_get_active     (GtkToggleButton *toggle_button);
void       gtk_toggle_button_toggled        (GtkToggleButton *toggle_button);








# 32 "/usr/include/gtk-1.2/gtk/gtkcheckbutton.h" 2 3















typedef struct _GtkCheckButton       GtkCheckButton;
typedef struct _GtkCheckButtonClass  GtkCheckButtonClass;

struct _GtkCheckButton
{
  GtkToggleButton toggle_button;
};

struct _GtkCheckButtonClass
{
  GtkToggleButtonClass parent_class;

  guint16 indicator_size;
  guint16 indicator_spacing;

  void (* draw_indicator) (GtkCheckButton *check_button,
                           GdkRectangle   *area);
};


GtkType    gtk_check_button_get_type       (void);
GtkWidget* gtk_check_button_new            (void);
GtkWidget* gtk_check_button_new_with_label (const gchar *label);

void _gtk_check_button_get_props (GtkCheckButton *check_button,
                                  gint           *indicator_size,
                                  gint           *indicator_spacing);







# 45 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkcheckmenuitem.h" 1 3
 


















 











# 1 "/usr/include/gtk-1.2/gtk/gtkmenuitem.h" 1 3
 


















 











# 1 "/usr/include/gtk-1.2/gtk/gtkitem.h" 1 3
 


















 


























typedef struct _GtkItem       GtkItem;
typedef struct _GtkItemClass  GtkItemClass;

struct _GtkItem
{
  GtkBin bin;
};

struct _GtkItemClass
{
  GtkBinClass parent_class;

  void (* select)   (GtkItem *item);
  void (* deselect) (GtkItem *item);
  void (* toggle)   (GtkItem *item);
};


GtkType gtk_item_get_type (void);
void    gtk_item_select   (GtkItem *item);
void    gtk_item_deselect (GtkItem *item);
void    gtk_item_toggle   (GtkItem *item);








# 32 "/usr/include/gtk-1.2/gtk/gtkmenuitem.h" 2 3















typedef struct _GtkMenuItem       GtkMenuItem;
typedef struct _GtkMenuItemClass  GtkMenuItemClass;

struct _GtkMenuItem
{
  GtkItem item;
  
  GtkWidget *submenu;
  
  guint   accelerator_signal;
  guint16 toggle_size;
  guint16 accelerator_width;
  
  guint show_toggle_indicator : 1;
  guint show_submenu_indicator : 1;
  guint submenu_placement : 1;
  guint submenu_direction : 1;
  guint right_justify: 1;
  guint timer;
};

struct _GtkMenuItemClass
{
  GtkItemClass parent_class;
  
  guint toggle_size;
   





  guint hide_on_activate : 1;
  
  void (* activate)      (GtkMenuItem *menu_item);
  void (* activate_item) (GtkMenuItem *menu_item);
};


GtkType    gtk_menu_item_get_type         (void);
GtkWidget* gtk_menu_item_new              (void);
GtkWidget* gtk_menu_item_new_with_label   (const gchar         *label);
void       gtk_menu_item_set_submenu      (GtkMenuItem         *menu_item,
                                           GtkWidget           *submenu);
void       gtk_menu_item_remove_submenu   (GtkMenuItem         *menu_item);
void       gtk_menu_item_set_placement    (GtkMenuItem         *menu_item,
                                           GtkSubmenuPlacement  placement);
void       gtk_menu_item_configure        (GtkMenuItem         *menu_item,
                                           gint                 
show_toggle_indicator,
                                           gint                 
show_submenu_indicator);
void       gtk_menu_item_select           (GtkMenuItem         *menu_item);
void       gtk_menu_item_deselect         (GtkMenuItem         *menu_item);
void       gtk_menu_item_activate         (GtkMenuItem         *menu_item);
void       gtk_menu_item_right_justify    (GtkMenuItem         *menu_item);








# 32 "/usr/include/gtk-1.2/gtk/gtkcheckmenuitem.h" 2 3















typedef struct _GtkCheckMenuItem       GtkCheckMenuItem;
typedef struct _GtkCheckMenuItemClass  GtkCheckMenuItemClass;

struct _GtkCheckMenuItem
{
  GtkMenuItem menu_item;
  
  guint active : 1;
  guint always_show_toggle : 1;
};

struct _GtkCheckMenuItemClass
{
  GtkMenuItemClass parent_class;
  
  void (* toggled)        (GtkCheckMenuItem *check_menu_item);
  void (* draw_indicator) (GtkCheckMenuItem *check_menu_item,
                           GdkRectangle     *area);
};


GtkType    gtk_check_menu_item_get_type        (void);
GtkWidget* gtk_check_menu_item_new             (void);
GtkWidget* gtk_check_menu_item_new_with_label  (const gchar      *label);
void       gtk_check_menu_item_set_active      (GtkCheckMenuItem 
*check_menu_item,
                                                gboolean          is_active);
void       gtk_check_menu_item_set_show_toggle (GtkCheckMenuItem *menu_item,
                                                gboolean          always);
void       gtk_check_menu_item_toggled         (GtkCheckMenuItem 
*check_menu_item);








# 46 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkclist.h" 1 3
 



















 














# 1 "/usr/include/gtk-1.2/gtk/gtkhscrollbar.h" 1 3
 


















 











# 1 "/usr/include/gtk-1.2/gtk/gtkscrollbar.h" 1 3
 


















 











# 1 "/usr/include/gtk-1.2/gtk/gtkrange.h" 1 3
 


















 



























typedef struct _GtkRange        GtkRange;
typedef struct _GtkRangeClass   GtkRangeClass;

struct _GtkRange
{
  GtkWidget widget;

  GdkWindow *trough;
  GdkWindow *slider;
  GdkWindow *step_forw;
  GdkWindow *step_back;

  gint16 x_click_point;
  gint16 y_click_point;

  guint8 button;
  gint8 digits;
  guint policy : 2;
  guint scroll_type : 3;
  guint in_child : 3;
  guint click_child : 3;
  guint need_timer : 1;

  guint32 timer;

  gfloat old_value;
  gfloat old_lower;
  gfloat old_upper;
  gfloat old_page_size;

  GtkAdjustment *adjustment;
};

struct _GtkRangeClass
{
  GtkWidgetClass parent_class;

  gint slider_width;
  gint stepper_size;
  gint stepper_slider_spacing;
  gint min_slider_size;

  guint8 trough;
  guint8 slider;
  guint8 step_forw;
  guint8 step_back;

  void (* draw_background)  (GtkRange *range);
  void (* clear_background) (GtkRange *range);
  void (* draw_trough)     (GtkRange *range);
  void (* draw_slider)     (GtkRange *range);
  void (* draw_step_forw)  (GtkRange *range);
  void (* draw_step_back)  (GtkRange *range);
  void (* slider_update)   (GtkRange *range);
  gint (* trough_click)    (GtkRange *range,
                            gint      x,
                            gint      y,
                            gfloat   *jump_perc);
  gint (* trough_keys)     (GtkRange *range,
                            GdkEventKey *key,
                            GtkScrollType *scroll,
                            GtkTroughType *trough);
  void (* motion)          (GtkRange *range,
                            gint      xdelta,
                            gint      ydelta);
  gint (* timer)           (GtkRange *range);
};


GtkType        gtk_range_get_type               (void);
GtkAdjustment* gtk_range_get_adjustment         (GtkRange      *range);
void           gtk_range_set_update_policy      (GtkRange      *range,
                                                 GtkUpdateType  policy);
void           gtk_range_set_adjustment         (GtkRange      *range,
                                                 GtkAdjustment *adjustment);

void           gtk_range_draw_background        (GtkRange      *range);
void           gtk_range_clear_background        (GtkRange      *range);
void           gtk_range_draw_trough            (GtkRange      *range);
void           gtk_range_draw_slider            (GtkRange      *range);
void           gtk_range_draw_step_forw         (GtkRange      *range);
void           gtk_range_draw_step_back         (GtkRange      *range);
void           gtk_range_slider_update          (GtkRange      *range);
gint           gtk_range_trough_click           (GtkRange      *range,
                                                 gint           x,
                                                 gint           y,
                                                 gfloat        *jump_perc);

void           gtk_range_default_hslider_update (GtkRange      *range);
void           gtk_range_default_vslider_update (GtkRange      *range);
gint           gtk_range_default_htrough_click  (GtkRange      *range,
                                                 gint           x,
                                                 gint           y,
                                                 gfloat        *jump_perc);
gint           gtk_range_default_vtrough_click  (GtkRange      *range,
                                                 gint           x,
                                                 gint           y,
                                                 gfloat        *jump_perc);
void           gtk_range_default_hmotion        (GtkRange      *range,
                                                 gint           xdelta,
                                                 gint           ydelta);
void           gtk_range_default_vmotion        (GtkRange      *range,
                                                 gint           xdelta,
                                                 gint           ydelta);

void _gtk_range_get_props (GtkRange *range,
                           gint     *slider_width,
                           gint     *trough_border,
                           gint     *stepper_size,
                           gint     *stepper_spacing);







# 32 "/usr/include/gtk-1.2/gtk/gtkscrollbar.h" 2 3















typedef struct _GtkScrollbar        GtkScrollbar;
typedef struct _GtkScrollbarClass   GtkScrollbarClass;

struct _GtkScrollbar
{
  GtkRange range;
};

struct _GtkScrollbarClass
{
  GtkRangeClass parent_class;
};


GtkType gtk_scrollbar_get_type (void);








# 32 "/usr/include/gtk-1.2/gtk/gtkhscrollbar.h" 2 3















typedef struct _GtkHScrollbar       GtkHScrollbar;
typedef struct _GtkHScrollbarClass  GtkHScrollbarClass;

struct _GtkHScrollbar
{
  GtkScrollbar scrollbar;
};

struct _GtkHScrollbarClass
{
  GtkScrollbarClass parent_class;
};


GtkType    gtk_hscrollbar_get_type (void);
GtkWidget* gtk_hscrollbar_new      (GtkAdjustment *adjustment);








# 36 "/usr/include/gtk-1.2/gtk/gtkclist.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkvscrollbar.h" 1 3
 


















 





















typedef struct _GtkVScrollbar       GtkVScrollbar;
typedef struct _GtkVScrollbarClass  GtkVScrollbarClass;

struct _GtkVScrollbar
{
  GtkScrollbar scrollbar;
};

struct _GtkVScrollbarClass
{
  GtkScrollbarClass parent_class;
};







GtkType    gtk_vscrollbar_get_type (void);
GtkWidget* gtk_vscrollbar_new      (GtkAdjustment *adjustment);








# 37 "/usr/include/gtk-1.2/gtk/gtkclist.h" 2 3







 
enum {
  GTK_CLIST_IN_DRAG             = 1 <<  0,
  GTK_CLIST_ROW_HEIGHT_SET      = 1 <<  1,
  GTK_CLIST_SHOW_TITLES         = 1 <<  2,
  GTK_CLIST_CHILD_HAS_FOCUS     = 1 <<  3,
  GTK_CLIST_ADD_MODE            = 1 <<  4,
  GTK_CLIST_AUTO_SORT           = 1 <<  5,
  GTK_CLIST_AUTO_RESIZE_BLOCKED = 1 <<  6,
  GTK_CLIST_REORDERABLE         = 1 <<  7,
  GTK_CLIST_USE_DRAG_ICONS      = 1 <<  8,
  GTK_CLIST_DRAW_DRAG_LINE      = 1 <<  9,
  GTK_CLIST_DRAW_DRAG_RECT      = 1 << 10
}; 

 
typedef enum
{
  GTK_CELL_EMPTY,
  GTK_CELL_TEXT,
  GTK_CELL_PIXMAP,
  GTK_CELL_PIXTEXT,
  GTK_CELL_WIDGET
} GtkCellType;

typedef enum
{
  GTK_CLIST_DRAG_NONE,
  GTK_CLIST_DRAG_BEFORE,
  GTK_CLIST_DRAG_INTO,
  GTK_CLIST_DRAG_AFTER
} GtkCListDragPos;

typedef enum
{
  GTK_BUTTON_IGNORED = 0,
  GTK_BUTTON_SELECTS = 1 << 0,
  GTK_BUTTON_DRAGS   = 1 << 1,
  GTK_BUTTON_EXPANDS = 1 << 2
} GtkButtonAction;

























 





typedef struct _GtkCList GtkCList;
typedef struct _GtkCListClass GtkCListClass;
typedef struct _GtkCListColumn GtkCListColumn;
typedef struct _GtkCListRow GtkCListRow;

typedef struct _GtkCell GtkCell;
typedef struct _GtkCellText GtkCellText;
typedef struct _GtkCellPixmap GtkCellPixmap;
typedef struct _GtkCellPixText GtkCellPixText;
typedef struct _GtkCellWidget GtkCellWidget;

typedef gint (*GtkCListCompareFunc) (GtkCList     *clist,
                                     gconstpointer ptr1,
                                     gconstpointer ptr2);

typedef struct _GtkCListCellInfo GtkCListCellInfo;
typedef struct _GtkCListDestInfo GtkCListDestInfo;

struct _GtkCListCellInfo
{
  gint row;
  gint column;
};

struct _GtkCListDestInfo
{
  GtkCListCellInfo cell;
  GtkCListDragPos  insert_pos;
};

struct _GtkCList
{
  GtkContainer container;
  
  guint16 flags;
  
   
  GMemChunk *row_mem_chunk;
  GMemChunk *cell_mem_chunk;

  guint freeze_count;
  
   

  GdkRectangle internal_allocation;
  
   
  gint rows;
  gint row_center_offset;
  gint row_height;
  GList *row_list;
  GList *row_list_end;
  
   
  gint columns;
  GdkRectangle column_title_area;
  GdkWindow *title_window;
  
   
  GtkCListColumn *column;
  
   

  GdkWindow *clist_window;
  gint clist_window_width;
  gint clist_window_height;
  
   
  gint hoffset;
  gint voffset;
  
   
  GtkShadowType shadow_type;
  
   
  GtkSelectionMode selection_mode;
  
   
  GList *selection;
  GList *selection_end;
  
  GList *undo_selection;
  GList *undo_unselection;
  gint undo_anchor;
  
   
  guint8 button_actions[5];

  guint8 drag_button;

   
  GtkCListCellInfo click_cell;

   
  GtkAdjustment *hadjustment;
  GtkAdjustment *vadjustment;
  
   
  GdkGC *xor_gc;
  
   
  GdkGC *fg_gc;
  GdkGC *bg_gc;
  
   
  GdkCursor *cursor_drag;
  
   
  gint x_drag;
  
   
  gint focus_row;
  
   
  gint anchor;
  GtkStateType anchor_state;
  gint drag_pos;
  gint htimer;
  gint vtimer;
  
  GtkSortType sort_type;
  GtkCListCompareFunc compare;
  gint sort_column;
};

struct _GtkCListClass
{
  GtkContainerClass parent_class;
  
  void  (*set_scroll_adjustments) (GtkCList       *clist,
                                   GtkAdjustment  *hadjustment,
                                   GtkAdjustment  *vadjustment);
  void   (*refresh)             (GtkCList       *clist);
  void   (*select_row)          (GtkCList       *clist,
                                 gint            row,
                                 gint            column,
                                 GdkEvent       *event);
  void   (*unselect_row)        (GtkCList       *clist,
                                 gint            row,
                                 gint            column,
                                 GdkEvent       *event);
  void   (*row_move)            (GtkCList       *clist,
                                 gint            source_row,
                                 gint            dest_row);
  void   (*click_column)        (GtkCList       *clist,
                                 gint            column);
  void   (*resize_column)       (GtkCList       *clist,
                                 gint            column,
                                 gint            width);
  void   (*toggle_focus_row)    (GtkCList       *clist);
  void   (*select_all)          (GtkCList       *clist);
  void   (*unselect_all)        (GtkCList       *clist);
  void   (*undo_selection)      (GtkCList       *clist);
  void   (*start_selection)     (GtkCList       *clist);
  void   (*end_selection)       (GtkCList       *clist);
  void   (*extend_selection)    (GtkCList       *clist,
                                 GtkScrollType   scroll_type,
                                 gfloat          position,
                                 gboolean        auto_start_selection);
  void   (*scroll_horizontal)   (GtkCList       *clist,
                                 GtkScrollType   scroll_type,
                                 gfloat          position);
  void   (*scroll_vertical)     (GtkCList       *clist,
                                 GtkScrollType   scroll_type,
                                 gfloat          position);
  void   (*toggle_add_mode)     (GtkCList       *clist);
  void   (*abort_column_resize) (GtkCList       *clist);
  void   (*resync_selection)    (GtkCList       *clist,
                                 GdkEvent       *event);
  GList* (*selection_find)      (GtkCList       *clist,
                                 gint            row_number,
                                 GList          *row_list_element);
  void   (*draw_row)            (GtkCList       *clist,
                                 GdkRectangle   *area,
                                 gint            row,
                                 GtkCListRow    *clist_row);
  void   (*draw_drag_highlight) (GtkCList        *clist,
                                 GtkCListRow     *target_row,
                                 gint             target_row_number,
                                 GtkCListDragPos  drag_pos);
  void   (*clear)               (GtkCList       *clist);
  void   (*fake_unselect_all)   (GtkCList       *clist,
                                 gint            row);
  void   (*sort_list)           (GtkCList       *clist);
  gint   (*insert_row)          (GtkCList       *clist,
                                 gint            row,
                                 gchar          *text[]);
  void   (*remove_row)          (GtkCList       *clist,
                                 gint            row);
  void   (*set_cell_contents)   (GtkCList       *clist,
                                 GtkCListRow    *clist_row,
                                 gint            column,
                                 GtkCellType     type,
                                 const gchar    *text,
                                 guint8          spacing,
                                 GdkPixmap      *pixmap,
                                 GdkBitmap      *mask);
  void   (*cell_size_request)   (GtkCList       *clist,
                                 GtkCListRow    *clist_row,
                                 gint            column,
                                 GtkRequisition *requisition);

};

struct _GtkCListColumn
{
  gchar *title;
  GdkRectangle area;
  
  GtkWidget *button;
  GdkWindow *window;
  
  gint width;
  gint min_width;
  gint max_width;
  GtkJustification justification;
  
  guint visible        : 1;  
  guint width_set      : 1;
  guint resizeable     : 1;
  guint auto_resize    : 1;
  guint button_passive : 1;
};

struct _GtkCListRow
{
  GtkCell *cell;
  GtkStateType state;
  
  GdkColor foreground;
  GdkColor background;
  
  GtkStyle *style;

  gpointer data;
  GtkDestroyNotify destroy;
  
  guint fg_set     : 1;
  guint bg_set     : 1;
  guint selectable : 1;
};

 
struct _GtkCellText
{
  GtkCellType type;
  
  gint16 vertical;
  gint16 horizontal;
  
  GtkStyle *style;

  gchar *text;
};

struct _GtkCellPixmap
{
  GtkCellType type;
  
  gint16 vertical;
  gint16 horizontal;
  
  GtkStyle *style;

  GdkPixmap *pixmap;
  GdkBitmap *mask;
};

struct _GtkCellPixText
{
  GtkCellType type;
  
  gint16 vertical;
  gint16 horizontal;
  
  GtkStyle *style;

  gchar *text;
  guint8 spacing;
  GdkPixmap *pixmap;
  GdkBitmap *mask;
};

struct _GtkCellWidget
{
  GtkCellType type;
  
  gint16 vertical;
  gint16 horizontal;
  
  GtkStyle *style;

  GtkWidget *widget;
};

struct _GtkCell
{
  GtkCellType type;
  
  gint16 vertical;
  gint16 horizontal;
  
  GtkStyle *style;

  union {
    gchar *text;
    
    struct {
      GdkPixmap *pixmap;
      GdkBitmap *mask;
    } pm;
    
    struct {
      gchar *text;
      guint8 spacing;
      GdkPixmap *pixmap;
      GdkBitmap *mask;
    } pt;
    
    GtkWidget *widget;
  } u;
};

GtkType gtk_clist_get_type (void);

 
void gtk_clist_construct (GtkCList *clist,
                          gint      columns,
                          gchar    *titles[]);

 
GtkWidget* gtk_clist_new             (gint   columns);
GtkWidget* gtk_clist_new_with_titles (gint   columns,
                                      gchar *titles[]);

 
void gtk_clist_set_hadjustment (GtkCList      *clist,
                                GtkAdjustment *adjustment);
void gtk_clist_set_vadjustment (GtkCList      *clist,
                                GtkAdjustment *adjustment);

 
GtkAdjustment* gtk_clist_get_hadjustment (GtkCList *clist);
GtkAdjustment* gtk_clist_get_vadjustment (GtkCList *clist);

 
void gtk_clist_set_shadow_type (GtkCList      *clist,
                                GtkShadowType  type);

 
void gtk_clist_set_selection_mode (GtkCList         *clist,
                                   GtkSelectionMode  mode);

 
void gtk_clist_set_reorderable (GtkCList *clist,
                                gboolean  reorderable);
void gtk_clist_set_use_drag_icons (GtkCList *clist,
                                   gboolean  use_icons);
void gtk_clist_set_button_actions (GtkCList *clist,
                                   guint     button,
                                   guint8    button_actions);

 



void gtk_clist_freeze (GtkCList *clist);
void gtk_clist_thaw   (GtkCList *clist);

 
void gtk_clist_column_titles_show (GtkCList *clist);
void gtk_clist_column_titles_hide (GtkCList *clist);

 



void gtk_clist_column_title_active   (GtkCList *clist,
                                      gint      column);
void gtk_clist_column_title_passive  (GtkCList *clist,
                                      gint      column);
void gtk_clist_column_titles_active  (GtkCList *clist);
void gtk_clist_column_titles_passive (GtkCList *clist);

 
void gtk_clist_set_column_title (GtkCList    *clist,
                                 gint         column,
                                 const gchar *title);

 
gchar * gtk_clist_get_column_title (GtkCList *clist,
                                    gint      column);

 
void gtk_clist_set_column_widget (GtkCList  *clist,
                                  gint       column,
                                  GtkWidget *widget);

 
GtkWidget * gtk_clist_get_column_widget (GtkCList *clist,
                                         gint      column);

 
void gtk_clist_set_column_justification (GtkCList         *clist,
                                         gint              column,
                                         GtkJustification  justification);

 
void gtk_clist_set_column_visibility (GtkCList *clist,
                                      gint      column,
                                      gboolean  visible);

 
void gtk_clist_set_column_resizeable (GtkCList *clist,
                                      gint      column,
                                      gboolean  resizeable);

 
void gtk_clist_set_column_auto_resize (GtkCList *clist,
                                       gint      column,
                                       gboolean  auto_resize);

gint gtk_clist_columns_autosize (GtkCList *clist);

 
gint gtk_clist_optimal_column_width (GtkCList *clist,
                                     gint      column);

 



void gtk_clist_set_column_width (GtkCList *clist,
                                 gint      column,
                                 gint      width);

 
void gtk_clist_set_column_min_width (GtkCList *clist,
                                     gint      column,
                                     gint      min_width);
void gtk_clist_set_column_max_width (GtkCList *clist,
                                     gint      column,
                                     gint      max_width);

 


void gtk_clist_set_row_height (GtkCList *clist,
                               guint     height);

 




void gtk_clist_moveto (GtkCList *clist,
                       gint      row,
                       gint      column,
                       gfloat    row_align,
                       gfloat    col_align);

 
GtkVisibility gtk_clist_row_is_visible (GtkCList *clist,
                                        gint      row);

 
GtkCellType gtk_clist_get_cell_type (GtkCList *clist,
                                     gint      row,
                                     gint      column);

 
void gtk_clist_set_text (GtkCList    *clist,
                         gint         row,
                         gint         column,
                         const gchar *text);

 


gint gtk_clist_get_text (GtkCList  *clist,
                         gint       row,
                         gint       column,
                         gchar    **text);

 
void gtk_clist_set_pixmap (GtkCList  *clist,
                           gint       row,
                           gint       column,
                           GdkPixmap *pixmap,
                           GdkBitmap *mask);

gint gtk_clist_get_pixmap (GtkCList   *clist,
                           gint        row,
                           gint        column,
                           GdkPixmap **pixmap,
                           GdkBitmap **mask);

 
void gtk_clist_set_pixtext (GtkCList    *clist,
                            gint         row,
                            gint         column,
                            const gchar *text,
                            guint8       spacing,
                            GdkPixmap   *pixmap,
                            GdkBitmap   *mask);

gint gtk_clist_get_pixtext (GtkCList   *clist,
                            gint        row,
                            gint        column,
                            gchar     **text,
                            guint8     *spacing,
                            GdkPixmap **pixmap,
                            GdkBitmap **mask);

 


void gtk_clist_set_foreground (GtkCList *clist,
                               gint      row,
                               GdkColor *color);

 


void gtk_clist_set_background (GtkCList *clist,
                               gint      row,
                               GdkColor *color);

 
void gtk_clist_set_cell_style (GtkCList *clist,
                               gint      row,
                               gint      column,
                               GtkStyle *style);

GtkStyle *gtk_clist_get_cell_style (GtkCList *clist,
                                    gint      row,
                                    gint      column);

void gtk_clist_set_row_style (GtkCList *clist,
                              gint      row,
                              GtkStyle *style);

GtkStyle *gtk_clist_get_row_style (GtkCList *clist,
                                   gint      row);

 



void gtk_clist_set_shift (GtkCList *clist,
                          gint      row,
                          gint      column,
                          gint      vertical,
                          gint      horizontal);

 
void gtk_clist_set_selectable (GtkCList *clist,
                               gint      row,
                               gboolean  selectable);
gboolean gtk_clist_get_selectable (GtkCList *clist,
                                   gint      row);

 


gint gtk_clist_prepend (GtkCList    *clist,
                        gchar       *text[]);
gint gtk_clist_append  (GtkCList    *clist,
                        gchar       *text[]);

 


gint gtk_clist_insert (GtkCList    *clist,
                       gint         row,
                       gchar       *text[]);

 
void gtk_clist_remove (GtkCList *clist,
                       gint      row);

 
void gtk_clist_set_row_data (GtkCList *clist,
                             gint      row,
                             gpointer  data);

 
void gtk_clist_set_row_data_full (GtkCList         *clist,
                                  gint              row,
                                  gpointer          data,
                                  GtkDestroyNotify  destroy);

 
gpointer gtk_clist_get_row_data (GtkCList *clist,
                                 gint      row);

 


gint gtk_clist_find_row_from_data (GtkCList *clist,
                                   gpointer  data);

 
void gtk_clist_select_row (GtkCList *clist,
                           gint      row,
                           gint      column);

 
void gtk_clist_unselect_row (GtkCList *clist,
                             gint      row,
                             gint      column);

 
void gtk_clist_undo_selection (GtkCList *clist);

 


void gtk_clist_clear (GtkCList *clist);

 



gint gtk_clist_get_selection_info (GtkCList *clist,
                                   gint      x,
                                   gint      y,
                                   gint     *row,
                                   gint     *column);

 
void gtk_clist_select_all (GtkCList *clist);

 
void gtk_clist_unselect_all (GtkCList *clist);

 
void gtk_clist_swap_rows (GtkCList *clist,
                          gint      row1,
                          gint      row2);

 
void gtk_clist_row_move (GtkCList *clist,
                         gint      source_row,
                         gint      dest_row);

 
void gtk_clist_set_compare_func (GtkCList            *clist,
                                 GtkCListCompareFunc  cmp_func);

 
void gtk_clist_set_sort_column (GtkCList *clist,
                                gint      column);

 
void gtk_clist_set_sort_type (GtkCList    *clist,
                              GtkSortType  sort_type);

 
void gtk_clist_sort (GtkCList *clist);

 
void gtk_clist_set_auto_sort (GtkCList *clist,
                              gboolean  auto_sort);







# 47 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkcolorsel.h" 1 3
 


















 









# 1 "/usr/include/gtk-1.2/gtk/gtkwindow.h" 1 3
 


















 




























typedef struct _GtkWindow       GtkWindow;
typedef struct _GtkWindowClass  GtkWindowClass;

struct _GtkWindow
{
  GtkBin bin;

  gchar *title;
  gchar *wmclass_name;
  gchar *wmclass_class;
  GtkWindowType type;

  GtkWidget *focus_widget;
  GtkWidget *default_widget;
  GtkWindow *transient_parent;

  gushort resize_count;
  guint allow_shrink : 1;
  guint allow_grow : 1;
  guint auto_shrink : 1;
  guint handling_resize : 1;
  guint position : 2;

   





  guint use_uposition : 1;
  guint modal : 1;

   

  guint window_has_focus : 1;
  
   



  guint window_has_pointer_focus : 1;
};

struct _GtkWindowClass
{
  GtkBinClass parent_class;

  void (* set_focus)   (GtkWindow *window,
                        GtkWidget *focus);
};


GtkType    gtk_window_get_type                 (void);
GtkWidget* gtk_window_new                      (GtkWindowType        type);
void       gtk_window_set_title                (GtkWindow           *window,
                                                const gchar         *title);
void       gtk_window_set_wmclass              (GtkWindow           *window,
                                                const gchar         
*wmclass_name,
                                                const gchar         
*wmclass_class);
void       gtk_window_set_policy               (GtkWindow           *window,
                                                gint                 
allow_shrink,
                                                gint                 allow_grow,
                                                gint                 
auto_shrink);
void       gtk_window_add_accel_group          (GtkWindow           *window,
                                                GtkAccelGroup       
*accel_group);
void       gtk_window_remove_accel_group       (GtkWindow           *window,
                                                GtkAccelGroup       
*accel_group);
void       gtk_window_set_position             (GtkWindow           *window,
                                                GtkWindowPosition    position);
gint       gtk_window_activate_focus           (GtkWindow           *window);
gint       gtk_window_activate_default         (GtkWindow           *window);

void       gtk_window_set_transient_for        (GtkWindow           *window, 
                                                GtkWindow           *parent);
void       gtk_window_set_geometry_hints       (GtkWindow           *window,
                                                GtkWidget           
*geometry_widget,
                                                GdkGeometry         *geometry,
                                                GdkWindowHints       geom_mask);
 



void       gtk_window_set_default_size         (GtkWindow           *window,
                                                gint                 width,
                                                gint                 height);

 
void       gtk_window_set_modal                (GtkWindow           *window,
                                                gboolean             modal);

 
void       gtk_window_set_focus                (GtkWindow           *window,
                                                GtkWidget           *focus);
void       gtk_window_set_default              (GtkWindow           *window,
                                                GtkWidget           *defaultw);
void       gtk_window_remove_embedded_xid      (GtkWindow           *window,
                                                guint                xid);
void       gtk_window_add_embedded_xid         (GtkWindow           *window,
                                                guint                xid);
void       gtk_window_reposition               (GtkWindow           *window,
                                                gint                 x,
                                                gint                 y);







# 30 "/usr/include/gtk-1.2/gtk/gtkcolorsel.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkvbox.h" 1 3
 


















 


























typedef struct _GtkVBox       GtkVBox;
typedef struct _GtkVBoxClass  GtkVBoxClass;

struct _GtkVBox
{
  GtkBox box;
};

struct _GtkVBoxClass
{
  GtkBoxClass parent_class;
};


GtkType    gtk_vbox_get_type (void);
GtkWidget* gtk_vbox_new      (gboolean homogeneous,
                              gint spacing);








# 31 "/usr/include/gtk-1.2/gtk/gtkcolorsel.h" 2 3


# 1 "/usr/include/gtk-1.2/gtk/gtkpreview.h" 1 3
 


















 

























typedef struct _GtkPreview       GtkPreview;
typedef struct _GtkPreviewInfo   GtkPreviewInfo;
typedef union  _GtkDitherInfo    GtkDitherInfo;
typedef struct _GtkPreviewClass  GtkPreviewClass;

struct _GtkPreview
{
  GtkWidget widget;

  guchar *buffer;
  guint16 buffer_width;
  guint16 buffer_height;

  guint16 bpp;
  guint16 rowstride;

  GdkRgbDither dither;

  guint type : 1;
  guint expand : 1;
};

struct _GtkPreviewInfo
{
  GdkVisual *visual;
  GdkColormap *cmap;

  guchar *lookup;

  gdouble gamma;
};

union _GtkDitherInfo
{
  gushort s[2];
  guchar c[4];
};

struct _GtkPreviewClass
{
  GtkWidgetClass parent_class;

  GtkPreviewInfo info;

};


GtkType         gtk_preview_get_type           (void);
void            gtk_preview_uninit             (void);
GtkWidget*      gtk_preview_new                (GtkPreviewType   type);
void            gtk_preview_size               (GtkPreview      *preview,
                                                gint             width,
                                                gint             height);
void            gtk_preview_put                (GtkPreview      *preview,
                                                GdkWindow       *window,
                                                GdkGC           *gc,
                                                gint             srcx,
                                                gint             srcy,
                                                gint             destx,
                                                gint             desty,
                                                gint             width,
                                                gint             height);
void            gtk_preview_draw_row           (GtkPreview      *preview,
                                                guchar          *data,
                                                gint             x,
                                                gint             y,
                                                gint             w);
void            gtk_preview_set_expand         (GtkPreview      *preview,
                                                gboolean         expand);

void            gtk_preview_set_gamma          (double           gamma);
void            gtk_preview_set_color_cube     (guint            nred_shades,
                                                guint            ngreen_shades,
                                                guint            nblue_shades,
                                                guint            ngray_shades);
void            gtk_preview_set_install_cmap   (gint             install_cmap);
void            gtk_preview_set_reserved       (gint             nreserved);
void            gtk_preview_set_dither         (GtkPreview      *preview,
                                                GdkRgbDither     dither);
GdkVisual*      gtk_preview_get_visual         (void);
GdkColormap*    gtk_preview_get_cmap           (void);
GtkPreviewInfo* gtk_preview_get_info           (void);

 




void            gtk_preview_reset              (void);








# 33 "/usr/include/gtk-1.2/gtk/gtkcolorsel.h" 2 3


# 1 "/usr/include/gtk-1.2/gtk/gtkentry.h" 1 3
 


















 











# 1 "/usr/include/gtk-1.2/gtk/gtkeditable.h" 1 3
 


















 


























typedef struct _GtkEditable       GtkEditable;
typedef struct _GtkEditableClass  GtkEditableClass;

typedef void (*GtkTextFunction) (GtkEditable  *editable, guint32 time);

struct _GtkEditable
{
  GtkWidget widget;

   
  guint      current_pos;

  guint      selection_start_pos;
  guint      selection_end_pos;
  guint      has_selection : 1;

   
  guint      editable : 1;
  guint      visible : 1;
  GdkIC     *ic;
  GdkICAttr *ic_attr;
  
  gchar *clipboard_text;
};

struct _GtkEditableClass
{
  GtkWidgetClass parent_class;
  
   
  void (* changed)      (GtkEditable    *editable);
  void (* insert_text)  (GtkEditable    *editable,
                         const gchar    *text,
                         gint            length,
                         gint           *position);
  void (* delete_text)  (GtkEditable    *editable,
                         gint            start_pos,
                         gint            end_pos);

   
  void (* activate)        (GtkEditable *editable);
  void (* set_editable)    (GtkEditable *editable,
                            gboolean     is_editable);
  void (* move_cursor)     (GtkEditable *editable,
                            gint         x,
                            gint         y);
  void (* move_word)       (GtkEditable *editable,
                            gint         n);
  void (* move_page)       (GtkEditable *editable,
                            gint         x,
                            gint         y);
  void (* move_to_row)     (GtkEditable *editable,
                            gint         row);
  void (* move_to_column)  (GtkEditable *editable,
                            gint         row);
  void (* kill_char)       (GtkEditable *editable,
                            gint         direction);
  void (* kill_word)       (GtkEditable *editable,
                            gint         direction);
  void (* kill_line)       (GtkEditable *editable,
                            gint         direction);
  void (* cut_clipboard)   (GtkEditable *editable);
  void (* copy_clipboard)  (GtkEditable *editable);
  void (* paste_clipboard) (GtkEditable *editable);

   




  void (* update_text)  (GtkEditable    *editable,
                         gint            start_pos,
                         gint            end_pos);
  gchar* (* get_chars)  (GtkEditable    *editable,
                         gint            start_pos,
                         gint            end_pos);
  void (* set_selection)(GtkEditable    *editable,
                         gint            start_pos,
                         gint            end_pos);
  void (* set_position) (GtkEditable    *editable,
                         gint            position);
};

GtkType    gtk_editable_get_type       (void);
void       gtk_editable_select_region  (GtkEditable      *editable,
                                        gint              start,
                                        gint              end);
void       gtk_editable_insert_text   (GtkEditable       *editable,
                                        const gchar      *new_text,
                                        gint              new_text_length,
                                        gint             *position);
void       gtk_editable_delete_text    (GtkEditable      *editable,
                                        gint              start_pos,
                                        gint              end_pos);
gchar*     gtk_editable_get_chars      (GtkEditable      *editable,
                                        gint              start_pos,
                                        gint              end_pos);
void       gtk_editable_cut_clipboard  (GtkEditable      *editable);
void       gtk_editable_copy_clipboard (GtkEditable      *editable);
void       gtk_editable_paste_clipboard (GtkEditable     *editable);
void       gtk_editable_claim_selection (GtkEditable     *editable, 
                                         gboolean         claim, 
                                         guint32          time);
void       gtk_editable_delete_selection (GtkEditable    *editable);

void       gtk_editable_changed         (GtkEditable    *editable);
void       gtk_editable_set_position    (GtkEditable    *editable,
                                         gint            position);
gint       gtk_editable_get_position    (GtkEditable    *editable);
void       gtk_editable_set_editable    (GtkEditable    *editable,
                                         gboolean        is_editable);








# 32 "/usr/include/gtk-1.2/gtk/gtkentry.h" 2 3















typedef struct _GtkEntry       GtkEntry;
typedef struct _GtkEntryClass  GtkEntryClass;

struct _GtkEntry
{
  GtkEditable editable;

  GdkWindow *text_area;
  GdkPixmap *backing_pixmap;
  GdkCursor *cursor;
  GdkWChar  *text;

  guint16 text_size;     
  guint16 text_length;   
  guint16 text_max_length;
  gint    scroll_offset;
  guint   visible : 1;   
  guint32 timer;
  guint   button;

   

  gint   *char_offset;

   
  gchar  *text_mb;
   
  guint   text_mb_dirty : 1;
   

  guint   use_wchar : 1;
};

struct _GtkEntryClass
{
  GtkEditableClass parent_class;
};

GtkType    gtk_entry_get_type                   (void);
GtkWidget* gtk_entry_new                        (void);
GtkWidget* gtk_entry_new_with_max_length        (guint16       max);
void       gtk_entry_set_text                   (GtkEntry      *entry,
                                                 const gchar   *text);
void       gtk_entry_append_text                (GtkEntry      *entry,
                                                 const gchar   *text);
void       gtk_entry_prepend_text               (GtkEntry      *entry,
                                                 const gchar   *text);
void       gtk_entry_set_position               (GtkEntry      *entry,
                                                 gint           position);
 
gchar*     gtk_entry_get_text                   (GtkEntry      *entry);
void       gtk_entry_select_region              (GtkEntry      *entry,
                                                 gint           start,
                                                 gint           end);
void       gtk_entry_set_visibility             (GtkEntry      *entry,
                                                 gboolean       visible);
void       gtk_entry_set_editable               (GtkEntry      *entry,
                                                 gboolean       editable);
 
void       gtk_entry_set_max_length             (GtkEntry      *entry,
                                                 guint16        max);







# 35 "/usr/include/gtk-1.2/gtk/gtkcolorsel.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkhbox.h" 1 3
 


















 


























typedef struct _GtkHBox       GtkHBox;
typedef struct _GtkHBoxClass  GtkHBoxClass;

struct _GtkHBox
{
  GtkBox box;
};

struct _GtkHBoxClass
{
  GtkBoxClass parent_class;
};


GtkType    gtk_hbox_get_type (void);
GtkWidget* gtk_hbox_new      (gboolean homogeneous,
                              gint spacing);








# 36 "/usr/include/gtk-1.2/gtk/gtkcolorsel.h" 2 3


# 1 "/usr/include/gtk-1.2/gtk/gtkmain.h" 1 3
 


















 


















 




 






typedef void    (*GtkModuleInitFunc)    (gint           *argc,
                                         gchar        ***argv);
typedef gint    (*GtkKeySnoopFunc)      (GtkWidget      *grab_widget,
                                         GdkEventKey    *event,
                                         gpointer        func_data);

 

extern const guint gtk_major_version;
extern const guint gtk_minor_version;
extern const guint gtk_micro_version;
extern const guint gtk_binary_age;
extern const guint gtk_interface_age;
gchar* gtk_check_version (guint required_major,
                          guint required_minor,
                          guint required_micro);


 

void       gtk_init              (int          *argc,
                                  char       ***argv);
gboolean   gtk_init_check        (int          *argc,
                                  char       ***argv);
void       gtk_exit              (gint          error_code);
gchar*     gtk_set_locale        (void);
gint       gtk_events_pending    (void);

 



void  gtk_main_do_event          (GdkEvent           *event);

void       gtk_main              (void);
guint      gtk_main_level        (void);
void       gtk_main_quit         (void);
gint       gtk_main_iteration    (void);
 
gint       gtk_main_iteration_do (gboolean blocking);

gint       gtk_true                (void);
gint       gtk_false               (void);

void       gtk_grab_add            (GtkWidget          *widget);
GtkWidget* gtk_grab_get_current    (void);
void       gtk_grab_remove         (GtkWidget          *widget);

void       gtk_init_add            (GtkFunction        function,
                                    gpointer           data);
void       gtk_quit_add_destroy    (guint              main_level,
                                    GtkObject         *object);
guint      gtk_quit_add            (guint              main_level,
                                    GtkFunction        function,
                                    gpointer           data);
guint      gtk_quit_add_full       (guint              main_level,
                                    GtkFunction        function,
                                    GtkCallbackMarshal marshal,
                                    gpointer           data,
                                    GtkDestroyNotify   destroy);
void       gtk_quit_remove         (guint              quit_handler_id);
void       gtk_quit_remove_by_data (gpointer           data);
guint      gtk_timeout_add         (guint32            interval,
                                    GtkFunction        function,
                                    gpointer           data);
guint      gtk_timeout_add_full    (guint32            interval,
                                    GtkFunction        function,
                                    GtkCallbackMarshal marshal,
                                    gpointer           data,
                                    GtkDestroyNotify   destroy);
void       gtk_timeout_remove      (guint              timeout_handler_id);

guint      gtk_idle_add            (GtkFunction        function,
                                    gpointer           data);
guint      gtk_idle_add_priority   (gint               priority,
                                    GtkFunction        function,
                                    gpointer           data);
guint      gtk_idle_add_full       (gint               priority,
                                    GtkFunction        function,
                                    GtkCallbackMarshal marshal,
                                    gpointer           data,
                                    GtkDestroyNotify   destroy);
void       gtk_idle_remove         (guint              idle_handler_id);
void       gtk_idle_remove_by_data (gpointer           data);
guint      gtk_input_add_full      (gint               source,
                                    GdkInputCondition  condition,
                                    GdkInputFunction   function,
                                    GtkCallbackMarshal marshal,
                                    gpointer           data,
                                    GtkDestroyNotify   destroy);
void       gtk_input_remove        (guint              input_handler_id);


guint      gtk_key_snooper_install (GtkKeySnoopFunc snooper,
                                    gpointer        func_data);
void       gtk_key_snooper_remove  (guint           snooper_handler_id);
  
GdkEvent*  gtk_get_current_event   (void);
GtkWidget* gtk_get_event_widget    (GdkEvent       *event);


 

void       gtk_propagate_event     (GtkWidget         *widget,
                                    GdkEvent          *event);







# 38 "/usr/include/gtk-1.2/gtk/gtkcolorsel.h" 2 3




# 1 "/usr/include/gtk-1.2/gtk/gtkscale.h" 1 3
 


















 


























typedef struct _GtkScale        GtkScale;
typedef struct _GtkScaleClass   GtkScaleClass;

struct _GtkScale
{
  GtkRange range;

  guint draw_value : 1;
  guint value_pos : 2;
};

struct _GtkScaleClass
{
  GtkRangeClass parent_class;

  gint slider_length;
  gint value_spacing;
  
  void (* draw_value) (GtkScale *scale);
};


GtkType gtk_scale_get_type        (void);
void    gtk_scale_set_digits      (GtkScale        *scale,
                                   gint             digits);
void    gtk_scale_set_draw_value  (GtkScale        *scale,
                                   gboolean         draw_value);
void    gtk_scale_set_value_pos   (GtkScale        *scale,
                                   GtkPositionType  pos);
gint    gtk_scale_get_value_width (GtkScale        *scale);

void    gtk_scale_draw_value      (GtkScale        *scale);








# 42 "/usr/include/gtk-1.2/gtk/gtkcolorsel.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkhscale.h" 1 3
 


















 



























typedef struct _GtkHScale       GtkHScale;
typedef struct _GtkHScaleClass  GtkHScaleClass;

struct _GtkHScale
{
  GtkScale scale;
};

struct _GtkHScaleClass
{
  GtkScaleClass parent_class;
};


GtkType    gtk_hscale_get_type (void);
GtkWidget* gtk_hscale_new      (GtkAdjustment *adjustment);








# 43 "/usr/include/gtk-1.2/gtk/gtkcolorsel.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtktable.h" 1 3
 


















 


























typedef struct _GtkTable        GtkTable;
typedef struct _GtkTableClass   GtkTableClass;
typedef struct _GtkTableChild   GtkTableChild;
typedef struct _GtkTableRowCol  GtkTableRowCol;

struct _GtkTable
{
  GtkContainer container;
  
  GList *children;
  GtkTableRowCol *rows;
  GtkTableRowCol *cols;
  guint16 nrows;
  guint16 ncols;
  guint16 column_spacing;
  guint16 row_spacing;
  guint homogeneous : 1;
};

struct _GtkTableClass
{
  GtkContainerClass parent_class;
};

struct _GtkTableChild
{
  GtkWidget *widget;
  guint16 left_attach;
  guint16 right_attach;
  guint16 top_attach;
  guint16 bottom_attach;
  guint16 xpadding;
  guint16 ypadding;
  guint xexpand : 1;
  guint yexpand : 1;
  guint xshrink : 1;
  guint yshrink : 1;
  guint xfill : 1;
  guint yfill : 1;
};

struct _GtkTableRowCol
{
  guint16 requisition;
  guint16 allocation;
  guint16 spacing;
  guint need_expand : 1;
  guint need_shrink : 1;
  guint expand : 1;
  guint shrink : 1;
  guint empty : 1;
};


GtkType    gtk_table_get_type         (void);
GtkWidget* gtk_table_new              (guint            rows,
                                       guint            columns,
                                       gboolean         homogeneous);
void       gtk_table_resize           (GtkTable        *table,
                                       guint            rows,
                                       guint            columns);
void       gtk_table_attach           (GtkTable        *table,
                                       GtkWidget       *child,
                                       guint            left_attach,
                                       guint            right_attach,
                                       guint            top_attach,
                                       guint            bottom_attach,
                                       GtkAttachOptions xoptions,
                                       GtkAttachOptions yoptions,
                                       guint            xpadding,
                                       guint            ypadding);
void       gtk_table_attach_defaults  (GtkTable        *table,
                                       GtkWidget       *widget,
                                       guint            left_attach,
                                       guint            right_attach,
                                       guint            top_attach,
                                       guint            bottom_attach);
void       gtk_table_set_row_spacing  (GtkTable        *table,
                                       guint            row,
                                       guint            spacing);
void       gtk_table_set_col_spacing  (GtkTable        *table,
                                       guint            column,
                                       guint            spacing);
void       gtk_table_set_row_spacings (GtkTable        *table,
                                       guint            spacing);
void       gtk_table_set_col_spacings (GtkTable        *table,
                                       guint            spacing);
void       gtk_table_set_homogeneous  (GtkTable        *table,
                                       gboolean         homogeneous);








# 44 "/usr/include/gtk-1.2/gtk/gtkcolorsel.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkeventbox.h" 1 3
 


















 


























typedef struct _GtkEventBox       GtkEventBox;
typedef struct _GtkEventBoxClass  GtkEventBoxClass;

struct _GtkEventBox
{
  GtkBin bin;
};

struct _GtkEventBoxClass
{
  GtkBinClass parent_class;
};

GtkType        gtk_event_box_get_type        (void);
GtkWidget*     gtk_event_box_new             (void);







# 45 "/usr/include/gtk-1.2/gtk/gtkcolorsel.h" 2 3




















typedef struct _GtkColorSelection             GtkColorSelection;
typedef struct _GtkColorSelectionClass        GtkColorSelectionClass;

typedef struct _GtkColorSelectionDialog       GtkColorSelectionDialog;
typedef struct _GtkColorSelectionDialogClass  GtkColorSelectionDialogClass;


struct _GtkColorSelection
{
  GtkVBox vbox;

  GtkWidget *wheel_area;
  GtkWidget *value_area;
  GtkWidget *sample_area;
  GtkWidget *sample_area_eb;

  GtkWidget *scales[8];
  GtkWidget *entries[8];
  GtkWidget *opacity_label;

  GdkGC *wheel_gc;
  GdkGC *value_gc;
  GdkGC *sample_gc;

  GtkUpdateType policy;
  gint use_opacity;
  gint timer_active;
  gint timer_tag;
  gdouble values[8];
  gdouble old_values[8];

  guchar *wheel_buf;
  guchar *value_buf;
  guchar *sample_buf;
};

struct _GtkColorSelectionClass
{
  GtkVBoxClass parent_class;

  void (* color_changed) (GtkColorSelection *colorsel);
};

struct _GtkColorSelectionDialog
{
  GtkWindow window;

  GtkWidget *colorsel;
  GtkWidget *main_vbox;
  GtkWidget *ok_button;
  GtkWidget *reset_button;
  GtkWidget *cancel_button;
  GtkWidget *help_button;
};

struct _GtkColorSelectionDialogClass
{
  GtkWindowClass parent_class;
};


 

GtkType    gtk_color_selection_get_type          (void);

GtkWidget* gtk_color_selection_new               (void);

void       gtk_color_selection_set_update_policy (GtkColorSelection     
*colorsel,
                                                  GtkUpdateType          
policy);

void       gtk_color_selection_set_opacity       (GtkColorSelection     
*colorsel,
                                                  gint                   
use_opacity);

void       gtk_color_selection_set_color         (GtkColorSelection     
*colorsel,
                                                  gdouble               *color);

void       gtk_color_selection_get_color         (GtkColorSelection     
*colorsel,
                                                  gdouble               *color);

 

GtkType    gtk_color_selection_dialog_get_type   (void);

GtkWidget* gtk_color_selection_dialog_new        (const gchar *title);








# 48 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkcombo.h" 1 3
 


















 




















typedef struct _GtkCombo                GtkCombo;
typedef struct _GtkComboClass   GtkComboClass;

 
struct _GtkCombo {
        GtkHBox hbox;
        GtkWidget *entry;
        GtkWidget *button;
        GtkWidget *popup;
        GtkWidget *popwin;
        GtkWidget *list;

        guint entry_change_id;
        guint list_change_id;

        guint value_in_list:1;
        guint ok_if_empty:1;
        guint case_sensitive:1;
        guint use_arrows:1;
        guint use_arrows_always:1;

        guint16 current_button;
        guint activate_id;
};

struct _GtkComboClass {
        GtkHBoxClass parent_class;
};

guint      gtk_combo_get_type              (void);

GtkWidget *gtk_combo_new                   (void);
 
void       gtk_combo_set_value_in_list     (GtkCombo*    combo, 
                                            gint         val,
                                            gint         ok_if_empty);
 
void       gtk_combo_set_use_arrows        (GtkCombo*    combo, 
                                            gint         val);
 
void       gtk_combo_set_use_arrows_always (GtkCombo*    combo, 
                                            gint         val);
 
void       gtk_combo_set_case_sensitive    (GtkCombo*    combo, 
                                            gint         val);
 

void       gtk_combo_set_item_string       (GtkCombo*    combo,
                                            GtkItem*     item,
                                            const gchar* item_value);
 
void       gtk_combo_set_popdown_strings   (GtkCombo*    combo, 
                                            GList        *strings);

void       gtk_combo_disable_activate      (GtkCombo*    combo);








# 49 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkcompat.h" 1 3
 


















 















 
















 












# 50 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3


# 1 "/usr/include/gtk-1.2/gtk/gtkctree.h" 1 3
 






















 



























typedef enum
{
  GTK_CTREE_POS_BEFORE,
  GTK_CTREE_POS_AS_CHILD,
  GTK_CTREE_POS_AFTER
} GtkCTreePos;

typedef enum
{
  GTK_CTREE_LINES_NONE,
  GTK_CTREE_LINES_SOLID,
  GTK_CTREE_LINES_DOTTED,
  GTK_CTREE_LINES_TABBED
} GtkCTreeLineStyle;

typedef enum
{
  GTK_CTREE_EXPANDER_NONE,
  GTK_CTREE_EXPANDER_SQUARE,
  GTK_CTREE_EXPANDER_TRIANGLE,
  GTK_CTREE_EXPANDER_CIRCULAR
} GtkCTreeExpanderStyle;

typedef enum
{
  GTK_CTREE_EXPANSION_EXPAND,
  GTK_CTREE_EXPANSION_EXPAND_RECURSIVE,
  GTK_CTREE_EXPANSION_COLLAPSE,
  GTK_CTREE_EXPANSION_COLLAPSE_RECURSIVE,
  GTK_CTREE_EXPANSION_TOGGLE,
  GTK_CTREE_EXPANSION_TOGGLE_RECURSIVE
} GtkCTreeExpansionType;

typedef struct _GtkCTree      GtkCTree;
typedef struct _GtkCTreeClass GtkCTreeClass;
typedef struct _GtkCTreeRow   GtkCTreeRow;
typedef struct _GtkCTreeNode  GtkCTreeNode;

typedef void (*GtkCTreeFunc) (GtkCTree     *ctree,
                              GtkCTreeNode *node,
                              gpointer      data);

typedef gboolean (*GtkCTreeGNodeFunc) (GtkCTree     *ctree,
                                       guint         depth,
                                       GNode        *gnode,
                                       GtkCTreeNode *cnode,
                                       gpointer      data);

typedef gboolean (*GtkCTreeCompareDragFunc) (GtkCTree     *ctree,
                                             GtkCTreeNode *source_node,
                                             GtkCTreeNode *new_parent,
                                             GtkCTreeNode *new_sibling);

struct _GtkCTree
{
  GtkCList clist;
  
  GdkGC *lines_gc;
  
  gint tree_indent;
  gint tree_spacing;
  gint tree_column;

  guint line_style     : 2;
  guint expander_style : 2;
  guint show_stub      : 1;

  GtkCTreeCompareDragFunc drag_compare;
};

struct _GtkCTreeClass
{
  GtkCListClass parent_class;
  
  void (*tree_select_row)   (GtkCTree     *ctree,
                             GtkCTreeNode *row,
                             gint          column);
  void (*tree_unselect_row) (GtkCTree     *ctree,
                             GtkCTreeNode *row,
                             gint          column);
  void (*tree_expand)       (GtkCTree     *ctree,
                             GtkCTreeNode *node);
  void (*tree_collapse)     (GtkCTree     *ctree,
                             GtkCTreeNode *node);
  void (*tree_move)         (GtkCTree     *ctree,
                             GtkCTreeNode *node,
                             GtkCTreeNode *new_parent,
                             GtkCTreeNode *new_sibling);
  void (*change_focus_row_expansion) (GtkCTree *ctree,
                                      GtkCTreeExpansionType action);
};

struct _GtkCTreeRow
{
  GtkCListRow row;
  
  GtkCTreeNode *parent;
  GtkCTreeNode *sibling;
  GtkCTreeNode *children;
  
  GdkPixmap *pixmap_closed;
  GdkBitmap *mask_closed;
  GdkPixmap *pixmap_opened;
  GdkBitmap *mask_opened;
  
  guint16 level;
  
  guint is_leaf  : 1;
  guint expanded : 1;
};

struct _GtkCTreeNode {
  GList list;
};


 



GtkType gtk_ctree_get_type                       (void);
void gtk_ctree_construct                         (GtkCTree     *ctree,
                                                  gint          columns, 
                                                  gint          tree_column,
                                                  gchar        *titles[]);
GtkWidget * gtk_ctree_new_with_titles            (gint          columns, 
                                                  gint          tree_column,
                                                  gchar        *titles[]);
GtkWidget * gtk_ctree_new                        (gint          columns, 
                                                  gint          tree_column);
GtkCTreeNode * gtk_ctree_insert_node             (GtkCTree     *ctree,
                                                  GtkCTreeNode *parent, 
                                                  GtkCTreeNode *sibling,
                                                  gchar        *text[],
                                                  guint8        spacing,
                                                  GdkPixmap    *pixmap_closed,
                                                  GdkBitmap    *mask_closed,
                                                  GdkPixmap    *pixmap_opened,
                                                  GdkBitmap    *mask_opened,
                                                  gboolean      is_leaf,
                                                  gboolean      expanded);
void gtk_ctree_remove_node                       (GtkCTree     *ctree, 
                                                  GtkCTreeNode *node);
GtkCTreeNode * gtk_ctree_insert_gnode            (GtkCTree          *ctree,
                                                  GtkCTreeNode      *parent,
                                                  GtkCTreeNode      *sibling,
                                                  GNode             *gnode,
                                                  GtkCTreeGNodeFunc  func,
                                                  gpointer           data);
GNode * gtk_ctree_export_to_gnode                (GtkCTree          *ctree,
                                                  GNode             *parent,
                                                  GNode             *sibling,
                                                  GtkCTreeNode      *node,
                                                  GtkCTreeGNodeFunc  func,
                                                  gpointer           data);

 




void gtk_ctree_post_recursive                    (GtkCTree     *ctree, 
                                                  GtkCTreeNode *node,
                                                  GtkCTreeFunc  func,
                                                  gpointer      data);
void gtk_ctree_post_recursive_to_depth           (GtkCTree     *ctree, 
                                                  GtkCTreeNode *node,
                                                  gint          depth,
                                                  GtkCTreeFunc  func,
                                                  gpointer      data);
void gtk_ctree_pre_recursive                     (GtkCTree     *ctree, 
                                                  GtkCTreeNode *node,
                                                  GtkCTreeFunc  func,
                                                  gpointer      data);
void gtk_ctree_pre_recursive_to_depth            (GtkCTree     *ctree, 
                                                  GtkCTreeNode *node,
                                                  gint          depth,
                                                  GtkCTreeFunc  func,
                                                  gpointer      data);
gboolean gtk_ctree_is_viewable                   (GtkCTree     *ctree, 
                                                  GtkCTreeNode *node);
GtkCTreeNode * gtk_ctree_last                    (GtkCTree     *ctree,
                                                  GtkCTreeNode *node);
GtkCTreeNode * gtk_ctree_find_node_ptr           (GtkCTree     *ctree,
                                                  GtkCTreeRow  *ctree_row);
GtkCTreeNode * gtk_ctree_node_nth                (GtkCTree     *ctree,
                                                  guint         row);
gboolean gtk_ctree_find                          (GtkCTree     *ctree,
                                                  GtkCTreeNode *node,
                                                  GtkCTreeNode *child);
gboolean gtk_ctree_is_ancestor                   (GtkCTree     *ctree,
                                                  GtkCTreeNode *node,
                                                  GtkCTreeNode *child);
GtkCTreeNode * gtk_ctree_find_by_row_data        (GtkCTree     *ctree,
                                                  GtkCTreeNode *node,
                                                  gpointer      data);
 
GList * gtk_ctree_find_all_by_row_data           (GtkCTree     *ctree,
                                                  GtkCTreeNode *node,
                                                  gpointer      data);
GtkCTreeNode * gtk_ctree_find_by_row_data_custom (GtkCTree     *ctree,
                                                  GtkCTreeNode *node,
                                                  gpointer      data,
                                                  GCompareFunc  func);
 
GList * gtk_ctree_find_all_by_row_data_custom    (GtkCTree     *ctree,
                                                  GtkCTreeNode *node,
                                                  gpointer      data,
                                                  GCompareFunc  func);
gboolean gtk_ctree_is_hot_spot                   (GtkCTree     *ctree,
                                                  gint          x,
                                                  gint          y);

 



void gtk_ctree_move                              (GtkCTree     *ctree,
                                                  GtkCTreeNode *node,
                                                  GtkCTreeNode *new_parent, 
                                                  GtkCTreeNode *new_sibling);
void gtk_ctree_expand                            (GtkCTree     *ctree,
                                                  GtkCTreeNode *node);
void gtk_ctree_expand_recursive                  (GtkCTree     *ctree,
                                                  GtkCTreeNode *node);
void gtk_ctree_expand_to_depth                   (GtkCTree     *ctree,
                                                  GtkCTreeNode *node,
                                                  gint          depth);
void gtk_ctree_collapse                          (GtkCTree     *ctree,
                                                  GtkCTreeNode *node);
void gtk_ctree_collapse_recursive                (GtkCTree     *ctree,
                                                  GtkCTreeNode *node);
void gtk_ctree_collapse_to_depth                 (GtkCTree     *ctree,
                                                  GtkCTreeNode *node,
                                                  gint          depth);
void gtk_ctree_toggle_expansion                  (GtkCTree     *ctree,
                                                  GtkCTreeNode *node);
void gtk_ctree_toggle_expansion_recursive        (GtkCTree     *ctree,
                                                  GtkCTreeNode *node);
void gtk_ctree_select                            (GtkCTree     *ctree, 
                                                  GtkCTreeNode *node);
void gtk_ctree_select_recursive                  (GtkCTree     *ctree, 
                                                  GtkCTreeNode *node);
void gtk_ctree_unselect                          (GtkCTree     *ctree, 
                                                  GtkCTreeNode *node);
void gtk_ctree_unselect_recursive                (GtkCTree     *ctree, 
                                                  GtkCTreeNode *node);
void gtk_ctree_real_select_recursive             (GtkCTree     *ctree, 
                                                  GtkCTreeNode *node, 
                                                  gint          state);

 



void gtk_ctree_node_set_text                     (GtkCTree     *ctree,
                                                  GtkCTreeNode *node,
                                                  gint          column,
                                                  const gchar  *text);
void gtk_ctree_node_set_pixmap                   (GtkCTree     *ctree,
                                                  GtkCTreeNode *node,
                                                  gint          column,
                                                  GdkPixmap    *pixmap,
                                                  GdkBitmap    *mask);
void gtk_ctree_node_set_pixtext                  (GtkCTree     *ctree,
                                                  GtkCTreeNode *node,
                                                  gint          column,
                                                  const gchar  *text,
                                                  guint8        spacing,
                                                  GdkPixmap    *pixmap,
                                                  GdkBitmap    *mask);
void gtk_ctree_set_node_info                     (GtkCTree     *ctree,
                                                  GtkCTreeNode *node,
                                                  const gchar  *text,
                                                  guint8        spacing,
                                                  GdkPixmap    *pixmap_closed,
                                                  GdkBitmap    *mask_closed,
                                                  GdkPixmap    *pixmap_opened,
                                                  GdkBitmap    *mask_opened,
                                                  gboolean      is_leaf,
                                                  gboolean      expanded);
void gtk_ctree_node_set_shift                    (GtkCTree     *ctree,
                                                  GtkCTreeNode *node,
                                                  gint          column,
                                                  gint          vertical,
                                                  gint          horizontal);
void gtk_ctree_node_set_selectable               (GtkCTree     *ctree,
                                                  GtkCTreeNode *node,
                                                  gboolean      selectable);
gboolean gtk_ctree_node_get_selectable           (GtkCTree     *ctree,
                                                  GtkCTreeNode *node);
GtkCellType gtk_ctree_node_get_cell_type         (GtkCTree     *ctree,
                                                  GtkCTreeNode *node,
                                                  gint          column);
gint gtk_ctree_node_get_text                     (GtkCTree     *ctree,
                                                  GtkCTreeNode *node,
                                                  gint          column,
                                                  gchar       **text);
gint gtk_ctree_node_get_pixmap                   (GtkCTree     *ctree,
                                                  GtkCTreeNode *node,
                                                  gint          column,
                                                  GdkPixmap   **pixmap,
                                                  GdkBitmap   **mask);
gint gtk_ctree_node_get_pixtext                  (GtkCTree     *ctree,
                                                  GtkCTreeNode *node,
                                                  gint          column,
                                                  gchar       **text,
                                                  guint8       *spacing,
                                                  GdkPixmap   **pixmap,
                                                  GdkBitmap   **mask);
gint gtk_ctree_get_node_info                     (GtkCTree     *ctree,
                                                  GtkCTreeNode *node,
                                                  gchar       **text,
                                                  guint8       *spacing,
                                                  GdkPixmap   **pixmap_closed,
                                                  GdkBitmap   **mask_closed,
                                                  GdkPixmap   **pixmap_opened,
                                                  GdkBitmap   **mask_opened,
                                                  gboolean     *is_leaf,
                                                  gboolean     *expanded);
void gtk_ctree_node_set_row_style                (GtkCTree     *ctree,
                                                  GtkCTreeNode *node,
                                                  GtkStyle     *style);
GtkStyle * gtk_ctree_node_get_row_style          (GtkCTree     *ctree,
                                                  GtkCTreeNode *node);
void gtk_ctree_node_set_cell_style               (GtkCTree     *ctree,
                                                  GtkCTreeNode *node,
                                                  gint          column,
                                                  GtkStyle     *style);
GtkStyle * gtk_ctree_node_get_cell_style         (GtkCTree     *ctree,
                                                  GtkCTreeNode *node,
                                                  gint          column);
void gtk_ctree_node_set_foreground               (GtkCTree     *ctree,
                                                  GtkCTreeNode *node,
                                                  GdkColor     *color);
void gtk_ctree_node_set_background               (GtkCTree     *ctree,
                                                  GtkCTreeNode *node,
                                                  GdkColor     *color);
void gtk_ctree_node_set_row_data                 (GtkCTree     *ctree,
                                                  GtkCTreeNode *node,
                                                  gpointer      data);
void gtk_ctree_node_set_row_data_full            (GtkCTree     *ctree,
                                                  GtkCTreeNode *node,
                                                  gpointer      data,
                                                  GtkDestroyNotify destroy);
gpointer gtk_ctree_node_get_row_data             (GtkCTree     *ctree,
                                                  GtkCTreeNode *node);
void gtk_ctree_node_moveto                       (GtkCTree     *ctree,
                                                  GtkCTreeNode *node,
                                                  gint          column,
                                                  gfloat        row_align,
                                                  gfloat        col_align);
GtkVisibility gtk_ctree_node_is_visible          (GtkCTree     *ctree,
                                                  GtkCTreeNode *node);

 



void gtk_ctree_set_indent            (GtkCTree                *ctree, 
                                      gint                     indent);
void gtk_ctree_set_spacing           (GtkCTree                *ctree, 
                                      gint                     spacing);
void gtk_ctree_set_show_stub         (GtkCTree                *ctree, 
                                      gboolean                 show_stub);
void gtk_ctree_set_line_style        (GtkCTree                *ctree, 
                                      GtkCTreeLineStyle        line_style);
void gtk_ctree_set_expander_style    (GtkCTree                *ctree, 
                                      GtkCTreeExpanderStyle    expander_style);
void gtk_ctree_set_drag_compare_func (GtkCTree                *ctree,
                                      GtkCTreeCompareDragFunc  cmp_func);

 



void gtk_ctree_sort_node                         (GtkCTree     *ctree, 
                                                  GtkCTreeNode *node);
void gtk_ctree_sort_recursive                    (GtkCTree     *ctree, 
                                                  GtkCTreeNode *node);








# 52 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkcurve.h" 1 3
 


















 











# 1 "/usr/include/gtk-1.2/gtk/gtkdrawingarea.h" 1 3
 


















 


























typedef struct _GtkDrawingArea       GtkDrawingArea;
typedef struct _GtkDrawingAreaClass  GtkDrawingAreaClass;

struct _GtkDrawingArea
{
  GtkWidget widget;

  gpointer draw_data;
};

struct _GtkDrawingAreaClass
{
  GtkWidgetClass parent_class;
};


GtkType    gtk_drawing_area_get_type   (void);
GtkWidget* gtk_drawing_area_new        (void);
void       gtk_drawing_area_size       (GtkDrawingArea      *darea,
                                        gint                 width,
                                        gint                 height);








# 32 "/usr/include/gtk-1.2/gtk/gtkcurve.h" 2 3














typedef struct _GtkCurve        GtkCurve;
typedef struct _GtkCurveClass   GtkCurveClass;


struct _GtkCurve
{
  GtkDrawingArea graph;

  gint cursor_type;
  gfloat min_x;
  gfloat max_x;
  gfloat min_y;
  gfloat max_y;
  GdkPixmap *pixmap;
  GtkCurveType curve_type;
  gint height;                   
  gint grab_point;               
  gint last;

   
  gint num_points;
  GdkPoint *point;

   
  gint num_ctlpoints;            
  gfloat (*ctlpoint)[2];         
};

struct _GtkCurveClass
{
  GtkDrawingAreaClass parent_class;

  void (* curve_type_changed) (GtkCurve *curve);
};


GtkType         gtk_curve_get_type      (void);
GtkWidget*      gtk_curve_new           (void);
void            gtk_curve_reset         (GtkCurve *curve);
void            gtk_curve_set_gamma     (GtkCurve *curve, gfloat gamma);
void            gtk_curve_set_range     (GtkCurve *curve,
                                         gfloat min_x, gfloat max_x,
                                         gfloat min_y, gfloat max_y);
void            gtk_curve_get_vector    (GtkCurve *curve,
                                         int veclen, gfloat vector[]);
void            gtk_curve_set_vector    (GtkCurve *curve,
                                         int veclen, gfloat vector[]);
void            gtk_curve_set_curve_type (GtkCurve *curve, GtkCurveType type);








# 53 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3


# 1 "/usr/include/gtk-1.2/gtk/gtkdialog.h" 1 3
 


















 


























typedef struct _GtkDialog        GtkDialog;
typedef struct _GtkDialogClass   GtkDialogClass;
typedef struct _GtkDialogButton  GtkDialogButton;


struct _GtkDialog
{
  GtkWindow window;

  GtkWidget *vbox;
  GtkWidget *action_area;
};

struct _GtkDialogClass
{
  GtkWindowClass parent_class;
};


GtkType    gtk_dialog_get_type (void);
GtkWidget* gtk_dialog_new      (void);








# 55 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkdnd.h" 1 3
 


















 












# 1 "/usr/include/gtk-1.2/gtk/gtkselection.h" 1 3
 


















 


















typedef struct _GtkSelectionData GtkSelectioData;
typedef struct _GtkTargetList    GtkTargetList;
typedef struct _GtkTargetEntry   GtkTargetEntry;

struct _GtkTargetEntry {
  gchar *target;
  guint  flags;
  guint  info;
};

 



typedef struct _GtkTargetPair GtkTargetPair;

 
struct _GtkTargetList {
  GList *list;
  guint ref_count;
};

struct _GtkTargetPair {
  GdkAtom   target;
  guint     flags;
  guint     info;
};

GtkTargetList *gtk_target_list_new       (const GtkTargetEntry *targets,
                                          guint                 ntargets);
void           gtk_target_list_ref       (GtkTargetList  *list);
void           gtk_target_list_unref     (GtkTargetList  *list);
void           gtk_target_list_add       (GtkTargetList  *list,
                                          GdkAtom         target,
                                          guint           flags,
                                          guint           info);
void           gtk_target_list_add_table (GtkTargetList        *list,
                                          const GtkTargetEntry *targets,
                                          guint                 ntargets);
void           gtk_target_list_remove    (GtkTargetList  *list,
                                          GdkAtom         target);
gboolean       gtk_target_list_find      (GtkTargetList  *list,
                                          GdkAtom         target,
                                          guint          *info);

 

gint gtk_selection_owner_set (GtkWidget           *widget,
                              GdkAtom              selection,
                              guint32              time);
void gtk_selection_add_target (GtkWidget           *widget, 
                               GdkAtom              selection,
                               GdkAtom              target,
                               guint                info);
void gtk_selection_add_targets (GtkWidget            *widget, 
                                GdkAtom               selection,
                                const GtkTargetEntry *targets,
                                guint                 ntargets);
gint gtk_selection_convert   (GtkWidget           *widget, 
                              GdkAtom              selection, 
                              GdkAtom              target,
                              guint32              time);


void gtk_selection_data_set (GtkSelectionData *selection_data,
                             GdkAtom           type,
                             gint              format,
                             const guchar     *data,
                             gint              length);

 

void gtk_selection_remove_all      (GtkWidget *widget);

 

gint gtk_selection_clear           (GtkWidget         *widget,
                                    GdkEventSelection *event);
gint gtk_selection_request         (GtkWidget         *widget,
                                    GdkEventSelection *event);
gint gtk_selection_incr_event      (GdkWindow         *window,
                                    GdkEventProperty  *event);
gint gtk_selection_notify          (GtkWidget         *widget,
                                    GdkEventSelection *event);
gint gtk_selection_property_notify (GtkWidget         *widget,
                                    GdkEventProperty  *event);
GtkSelectioData *gtk_selection_data_copy (GtkSelectionData *data);
void             gtk_selection_data_free (GtkSelectionData *data);









# 33 "/usr/include/gtk-1.2/gtk/gtkdnd.h" 2 3






typedef enum {
  GTK_DEST_DEFAULT_MOTION     = 1 << 0,  
  GTK_DEST_DEFAULT_HIGHLIGHT  = 1 << 1,  
  GTK_DEST_DEFAULT_DROP       = 1 << 2,  
  GTK_DEST_DEFAULT_ALL        = 0x07
} GtkDestDefaults;

 

typedef enum {
  GTK_TARGET_SAME_APP = 1 << 0,     
  GTK_TARGET_SAME_WIDGET = 1 << 1   
} GtkTargetFlags;

 

void gtk_drag_get_data (GtkWidget      *widget,
                        GdkDragContext *context,
                        GdkAtom         target,
                        guint32         time);
void gtk_drag_finish   (GdkDragContext *context,
                        gboolean        success,
                        gboolean        del,
                        guint32         time);

GtkWidget *gtk_drag_get_source_widget (GdkDragContext *context);

void gtk_drag_highlight   (GtkWidget  *widget);
void gtk_drag_unhighlight (GtkWidget  *widget);

void gtk_drag_dest_set   (GtkWidget            *widget,
                          GtkDestDefaults       flags,
                          const GtkTargetEntry *targets,
                          gint                  n_targets,
                          GdkDragAction         actions);

void gtk_drag_dest_set_proxy (GtkWidget      *widget,
                              GdkWindow      *proxy_window,
                              GdkDragProtocol protocol,
                              gboolean        use_coordinates);

 



void gtk_drag_dest_unset (GtkWidget          *widget);

 

void gtk_drag_source_set  (GtkWidget            *widget,
                           GdkModifierType       start_button_mask,
                           const GtkTargetEntry *targets,
                           gint                  n_targets,
                           GdkDragAction         actions);

void gtk_drag_source_unset (GtkWidget        *widget);

void gtk_drag_source_set_icon (GtkWidget     *widget,
                               GdkColormap   *colormap,
                               GdkPixmap     *pixmap,
                               GdkBitmap     *mask);

 



GdkDragContext *gtk_drag_begin (GtkWidget         *widget,
                                GtkTargetList     *targets,
                                GdkDragAction      actions,
                                gint               button,
                                GdkEvent          *event);

 

void gtk_drag_set_icon_widget  (GdkDragContext    *context,
                                GtkWidget         *widget,
                                gint               hot_x,
                                gint               hot_y);

void gtk_drag_set_icon_pixmap  (GdkDragContext    *context,
                                GdkColormap       *colormap,
                                GdkPixmap         *pixmap,
                                GdkBitmap         *mask,
                                gint               hot_x,
                                gint               hot_y);

void gtk_drag_set_icon_default (GdkDragContext    *context);

void gtk_drag_set_default_icon (GdkColormap   *colormap,
                                GdkPixmap     *pixmap,
                                GdkBitmap     *mask,
                                gint           hot_x,
                                gint           hot_y);


 
void gtk_drag_source_handle_event (GtkWidget *widget,
                                   GdkEvent  *event);
void gtk_drag_dest_handle_event (GtkWidget *toplevel,
                                 GdkEvent  *event);









# 56 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3






# 1 "/usr/include/gtk-1.2/gtk/gtkfeatures.h" 1 3
 


























 













 



 





  
 












 




 




 



 



 



 



 



 



 



 



 




 










# 62 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkfilesel.h" 1 3
 


















 


























typedef struct _GtkFileSelection       GtkFileSelection;
typedef struct _GtkFileSelectionClass  GtkFileSelectionClass;

struct _GtkFileSelection
{
  GtkWindow window;

  GtkWidget *dir_list;
  GtkWidget *file_list;
  GtkWidget *selection_entry;
  GtkWidget *selection_text;
  GtkWidget *main_vbox;
  GtkWidget *ok_button;
  GtkWidget *cancel_button;
  GtkWidget *help_button;
  GtkWidget *history_pulldown;
  GtkWidget *history_menu;
  GList     *history_list;
  GtkWidget *fileop_dialog;
  GtkWidget *fileop_entry;
  gchar     *fileop_file;
  gpointer   cmpl_state;
  
  GtkWidget *fileop_c_dir;
  GtkWidget *fileop_del_file;
  GtkWidget *fileop_ren_file;
  
  GtkWidget *button_area;
  GtkWidget *action_area;
  
};

struct _GtkFileSelectionClass
{
  GtkWindowClass parent_class;
};


GtkType    gtk_file_selection_get_type            (void);
GtkWidget* gtk_file_selection_new                 (const gchar      *title);
void       gtk_file_selection_set_filename        (GtkFileSelection *filesel,
                                                   const gchar      *filename);
gchar*     gtk_file_selection_get_filename        (GtkFileSelection *filesel);
void       gtk_file_selection_complete            (GtkFileSelection *filesel,
                                                   const gchar      *pattern);
void       gtk_file_selection_show_fileop_buttons (GtkFileSelection *filesel);
void       gtk_file_selection_hide_fileop_buttons (GtkFileSelection *filesel);


















# 63 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkfixed.h" 1 3
 


















 


























typedef struct _GtkFixed        GtkFixed;
typedef struct _GtkFixedClass   GtkFixedClass;
typedef struct _GtkFixedChild   GtkFixedChild;

struct _GtkFixed
{
  GtkContainer container;

  GList *children;
};

struct _GtkFixedClass
{
  GtkContainerClass parent_class;
};

struct _GtkFixedChild
{
  GtkWidget *widget;
  gint16 x;
  gint16 y;
};


GtkType    gtk_fixed_get_type          (void);
GtkWidget* gtk_fixed_new               (void);
void       gtk_fixed_put               (GtkFixed       *fixed,
                                        GtkWidget      *widget,
                                        gint16         x,
                                        gint16         y);
void       gtk_fixed_move              (GtkFixed       *fixed,
                                        GtkWidget      *widget,
                                        gint16         x,
                                        gint16         y);







# 64 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkfontsel.h" 1 3
 






















 












# 1 "/usr/include/gtk-1.2/gtk/gtknotebook.h" 1 3
 


















 




























typedef struct _GtkNotebook       GtkNotebook;
typedef struct _GtkNotebookClass  GtkNotebookClass;
typedef struct _GtkNotebookPage   GtkNotebookPage;

struct _GtkNotebook
{
  GtkContainer container;
  
  GtkNotebookPage *cur_page;
  GList *children;
  GList *first_tab;
  GList *focus_tab;
  
  GtkWidget *menu;
  GdkWindow *panel;
  
  guint32 timer;
  
  guint16 tab_hborder;
  guint16 tab_vborder;
  
  guint show_tabs          : 1;
  guint homogeneous        : 1;
  guint show_border        : 1;
  guint tab_pos            : 2;
  guint scrollable         : 1;
  guint in_child           : 2;
  guint click_child        : 2;
  guint button             : 2;
  guint need_timer         : 1;
  guint child_has_focus    : 1;
  guint have_visible_child : 1;
};

struct _GtkNotebookClass
{
  GtkContainerClass parent_class;
  
  void (* switch_page)       (GtkNotebook     *notebook,
                              GtkNotebookPage *page,
                              guint            page_num);
};

struct _GtkNotebookPage
{
  GtkWidget *child;
  GtkWidget *tab_label;
  GtkWidget *menu_label;

  guint default_menu : 1;
  guint default_tab  : 1;
  guint expand       : 1;
  guint fill         : 1;
  guint pack         : 1;

  GtkRequisition requisition;
  GtkAllocation allocation;
};

 



GtkType gtk_notebook_get_type       (void);
GtkWidget * gtk_notebook_new        (void);
void gtk_notebook_append_page       (GtkNotebook *notebook,
                                     GtkWidget   *child,
                                     GtkWidget   *tab_label);
void gtk_notebook_append_page_menu  (GtkNotebook *notebook,
                                     GtkWidget   *child,
                                     GtkWidget   *tab_label,
                                     GtkWidget   *menu_label);
void gtk_notebook_prepend_page      (GtkNotebook *notebook,
                                     GtkWidget   *child,
                                     GtkWidget   *tab_label);
void gtk_notebook_prepend_page_menu (GtkNotebook *notebook,
                                     GtkWidget   *child,
                                     GtkWidget   *tab_label,
                                     GtkWidget   *menu_label);
void gtk_notebook_insert_page       (GtkNotebook *notebook,
                                     GtkWidget   *child,
                                     GtkWidget   *tab_label,
                                     gint         position);
void gtk_notebook_insert_page_menu  (GtkNotebook *notebook,
                                     GtkWidget   *child,
                                     GtkWidget   *tab_label,
                                     GtkWidget   *menu_label,
                                     gint         position);
void gtk_notebook_remove_page       (GtkNotebook *notebook,
                                     gint         page_num);

 



gint gtk_notebook_get_current_page   (GtkNotebook *notebook);
GtkWidget* gtk_notebook_get_nth_page (GtkNotebook *notebook,
                                      gint         page_num);
gint gtk_notebook_page_num         (GtkNotebook *notebook,
                                    GtkWidget   *child);
void gtk_notebook_set_page         (GtkNotebook *notebook,
                                    gint         page_num);
void gtk_notebook_next_page        (GtkNotebook *notebook);
void gtk_notebook_prev_page        (GtkNotebook *notebook);

 



void gtk_notebook_set_show_border      (GtkNotebook     *notebook,
                                        gboolean         show_border);
void gtk_notebook_set_show_tabs        (GtkNotebook     *notebook,
                                        gboolean         show_tabs);
void gtk_notebook_set_tab_pos          (GtkNotebook     *notebook,
                                        GtkPositionType  pos);
void gtk_notebook_set_homogeneous_tabs (GtkNotebook     *notebook,
                                        gboolean         homogeneous);
void gtk_notebook_set_tab_border       (GtkNotebook     *notebook,
                                        guint            border_width);
void gtk_notebook_set_tab_hborder      (GtkNotebook     *notebook,
                                        guint            tab_hborder);
void gtk_notebook_set_tab_vborder      (GtkNotebook     *notebook,
                                        guint            tab_vborder);
void gtk_notebook_set_scrollable       (GtkNotebook     *notebook,
                                        gboolean         scrollable);

 



void gtk_notebook_popup_enable  (GtkNotebook *notebook);
void gtk_notebook_popup_disable (GtkNotebook *notebook);

 



GtkWidget * gtk_notebook_get_tab_label    (GtkNotebook *notebook,
                                           GtkWidget   *child);
void gtk_notebook_set_tab_label           (GtkNotebook *notebook,
                                           GtkWidget   *child,
                                           GtkWidget   *tab_label);
void gtk_notebook_set_tab_label_text      (GtkNotebook *notebook,
                                           GtkWidget   *child,
                                           const gchar *tab_text);
GtkWidget * gtk_notebook_get_menu_label   (GtkNotebook *notebook,
                                           GtkWidget   *child);
void gtk_notebook_set_menu_label          (GtkNotebook *notebook,
                                           GtkWidget   *child,
                                           GtkWidget   *menu_label);
void gtk_notebook_set_menu_label_text     (GtkNotebook *notebook,
                                           GtkWidget   *child,
                                           const gchar *menu_text);
void gtk_notebook_query_tab_label_packing (GtkNotebook *notebook,
                                           GtkWidget   *child,
                                           gboolean    *expand,
                                           gboolean    *fill,
                                           GtkPackType *pack_type);
void gtk_notebook_set_tab_label_packing   (GtkNotebook *notebook,
                                           GtkWidget   *child,
                                           gboolean     expand,
                                           gboolean     fill,
                                           GtkPackType  pack_type);
void gtk_notebook_reorder_child           (GtkNotebook *notebook,
                                           GtkWidget   *child,
                                           gint         position);







# 37 "/usr/include/gtk-1.2/gtk/gtkfontsel.h" 2 3



















typedef struct _GtkFontSelection             GtkFontSelection;
typedef struct _GtkFontSelectionClass        GtkFontSelectionClass;

typedef struct _GtkFontSelectionDialog       GtkFontSelectionDialog;
typedef struct _GtkFontSelectionDialogClass  GtkFontSelectionDialogClass;




 



 





 
typedef enum
{
  GTK_FONT_METRIC_PIXELS,
  GTK_FONT_METRIC_POINTS
} GtkFontMetricType;

 

typedef enum
{
  GTK_FONT_BITMAP               = 1 << 0,
  GTK_FONT_SCALABLE             = 1 << 1,
  GTK_FONT_SCALABLE_BITMAP      = 1 << 2,

  GTK_FONT_ALL                  = 0x07
} GtkFontType;

 


typedef enum
{
  GTK_FONT_FILTER_BASE,
  GTK_FONT_FILTER_USER
} GtkFontFilterType;

 


typedef struct _GtkFontFilter   GtkFontFilter;
struct _GtkFontFilter
{
  gint font_type;
  guint16 *property_filters[6 ];
  guint16 property_nfilters[6 ];
};


struct _GtkFontSelection
{
  GtkNotebook notebook;
  
   
  GtkWidget *main_vbox;
  GtkWidget *font_label;
  GtkWidget *font_entry;
  GtkWidget *font_clist;
  GtkWidget *font_style_entry;
  GtkWidget *font_style_clist;
  GtkWidget *size_entry;
  GtkWidget *size_clist;
  GtkWidget *pixels_button;
  GtkWidget *points_button;
  GtkWidget *filter_button;
  GtkWidget *preview_entry;
  GtkWidget *message_label;
  
   
  GtkWidget *info_vbox;
  GtkWidget *info_clist;
  GtkWidget *requested_font_name;
  GtkWidget *actual_font_name;
  
   
  GtkWidget *filter_vbox;
  GtkWidget *type_bitmaps_button;
  GtkWidget *type_scalable_button;
  GtkWidget *type_scaled_bitmaps_button;
  GtkWidget *filter_clists[6 ];
  
  GdkFont *font;
  gint font_index;
  gint style;
  GtkFontMetricType metric;
   
  gint size;
  
   

  gint selected_size;
  
   

  guint16 property_values[5 ];
  
   
  GtkFontFilter filters[2 ];
};


struct _GtkFontSelectionClass
{
  GtkNotebookClass parent_class;
};


struct _GtkFontSelectionDialog
{
  GtkWindow window;
  
  GtkWidget *fontsel;
  
  GtkWidget *main_vbox;
  GtkWidget *action_area;
  GtkWidget *ok_button;
   
  GtkWidget *apply_button;
  GtkWidget *cancel_button;
  
   
  gint dialog_width;
  gboolean auto_resize;
};

struct _GtkFontSelectionDialogClass
{
  GtkWindowClass parent_class;
};



 




GtkType    gtk_font_selection_get_type          (void);
GtkWidget* gtk_font_selection_new               (void);
gchar*     gtk_font_selection_get_font_name     (GtkFontSelection *fontsel);
GdkFont*   gtk_font_selection_get_font          (GtkFontSelection *fontsel);
gboolean   gtk_font_selection_set_font_name     (GtkFontSelection *fontsel,
                                                 const gchar      *fontname);
void       gtk_font_selection_set_filter        (GtkFontSelection *fontsel,
                                                 GtkFontFilterType filter_type,
                                                 GtkFontType       font_type,
                                                 gchar           **foundries,
                                                 gchar           **weights,
                                                 gchar           **slants,
                                                 gchar           **setwidths,
                                                 gchar           **spacings,
                                                 gchar           **charsets);
gchar*     gtk_font_selection_get_preview_text  (GtkFontSelection *fontsel);
void       gtk_font_selection_set_preview_text  (GtkFontSelection *fontsel,
                                                 const gchar      *text);



 





GtkType    gtk_font_selection_dialog_get_type   (void);
GtkWidget* gtk_font_selection_dialog_new        (const gchar      *title);

 




gchar*   gtk_font_selection_dialog_get_font_name    (GtkFontSelectionDialog 
*fsd);

 


GdkFont* gtk_font_selection_dialog_get_font         (GtkFontSelectionDialog 
*fsd);

 



gboolean gtk_font_selection_dialog_set_font_name    (GtkFontSelectionDialog 
*fsd,
                                                     const gchar        
*fontname);

 





















void       gtk_font_selection_dialog_set_filter (GtkFontSelectionDialog *fsd,
                                                 GtkFontFilterType filter_type,
                                                 GtkFontType       font_type,
                                                 gchar           **foundries,
                                                 gchar           **weights,
                                                 gchar           **slants,
                                                 gchar           **setwidths,
                                                 gchar           **spacings,
                                                 gchar           **charsets);

 

gchar*   gtk_font_selection_dialog_get_preview_text (GtkFontSelectionDialog 
*fsd);

 

void     gtk_font_selection_dialog_set_preview_text (GtkFontSelectionDialog 
*fsd,
                                                     const gchar            
*text);








# 65 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3


# 1 "/usr/include/gtk-1.2/gtk/gtkgamma.h" 1 3
 


















 



























typedef struct _GtkGammaCurve           GtkGammaCurve;
typedef struct _GtkGammaCurveClass      GtkGammaCurveClass;


struct _GtkGammaCurve
{
  GtkVBox vbox;

  GtkWidget *table;
  GtkWidget *curve;
  GtkWidget *button[5];  

  gfloat gamma;
  GtkWidget *gamma_dialog;
  GtkWidget *gamma_text;
};

struct _GtkGammaCurveClass
{
  GtkVBoxClass parent_class;
};


guint      gtk_gamma_curve_get_type (void);
GtkWidget* gtk_gamma_curve_new      (void);








# 67 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkgc.h" 1 3
 


















 


















GdkGC* gtk_gc_get     (gint             depth,
                       GdkColormap     *colormap,
                       GdkGCValues     *values,
                       GdkGCValuesMask  values_mask);
void   gtk_gc_release (GdkGC           *gc);








# 68 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkhandlebox.h" 1 3
 



















 






 
























typedef struct _GtkHandleBox       GtkHandleBox;
typedef struct _GtkHandleBoxClass  GtkHandleBoxClass;

struct _GtkHandleBox
{
  GtkBin bin;

  GdkWindow      *bin_window;    
  GdkWindow      *float_window;
  GtkShadowType   shadow_type;
  guint           handle_position : 2;
  guint           float_window_mapped : 1;
  guint           child_detached : 1;
  guint           in_drag : 1;
  guint           shrink_on_detach : 1;

  gint            snap_edge : 3;  
  
   

  gint deskoff_x, deskoff_y;  

  GtkAllocation   attach_allocation;
  GtkAllocation   float_allocation;
};

struct _GtkHandleBoxClass
{
  GtkBinClass parent_class;

  void  (*child_attached)       (GtkHandleBox   *handle_box,
                                 GtkWidget      *child);
  void  (*child_detached)       (GtkHandleBox   *handle_box,
                                 GtkWidget      *child);
};


GtkType     gtk_handle_box_get_type             (void);
GtkWidget*  gtk_handle_box_new                  (void);
void        gtk_handle_box_set_shadow_type      (GtkHandleBox    *handle_box,
                                                 GtkShadowType    type);
void        gtk_handle_box_set_handle_position  (GtkHandleBox    *handle_box,
                                                 GtkPositionType  position);
void        gtk_handle_box_set_snap_edge        (GtkHandleBox    *handle_box,
                                                 GtkPositionType  edge);








# 69 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3


# 1 "/usr/include/gtk-1.2/gtk/gtkhbbox.h" 1 3
 


















 























typedef struct _GtkHButtonBox       GtkHButtonBox;
typedef struct _GtkHButtonBoxClass  GtkHButtonBoxClass;

struct _GtkHButtonBox
{
  GtkButtonBox button_box;
};

struct _GtkHButtonBoxClass
{
  GtkButtonBoxClass parent_class;
};


guint      gtk_hbutton_box_get_type (void);
GtkWidget *gtk_hbutton_box_new      (void);

 

gint gtk_hbutton_box_get_spacing_default (void);
GtkButtonBoxStyle gtk_hbutton_box_get_layout_default (void);

void gtk_hbutton_box_set_spacing_default (gint spacing);
void gtk_hbutton_box_set_layout_default (GtkButtonBoxStyle layout);








# 71 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkhpaned.h" 1 3
 


















 











# 1 "/usr/include/gtk-1.2/gtk/gtkpaned.h" 1 3
 


















 


























typedef struct _GtkPaned       GtkPaned;
typedef struct _GtkPanedClass  GtkPanedClass;

struct _GtkPaned
{
  GtkContainer container;
  
  GtkWidget *child1;
  GtkWidget *child2;
  
  GdkWindow *handle;
  GdkRectangle groove_rectangle;
  GdkGC *xor_gc;

   
  guint16 handle_size;
  guint16 gutter_size;

   
  gint child1_size;
  gint last_allocation;
  gint min_position;
  gint max_position;
  
  guint position_set : 1;
  guint in_drag : 1;
  guint child1_shrink : 1;
  guint child1_resize : 1;
  guint child2_shrink : 1;
  guint child2_resize : 1;
  
  gint16 handle_xpos;
  gint16 handle_ypos;
};

struct _GtkPanedClass
{
  GtkContainerClass parent_class;
};


GtkType gtk_paned_get_type        (void);
void    gtk_paned_add1            (GtkPaned  *paned,
                                   GtkWidget *child);
void    gtk_paned_add2            (GtkPaned  *paned,
                                   GtkWidget *child);
void    gtk_paned_pack1           (GtkPaned  *paned,
                                   GtkWidget *child,
                                   gboolean   resize,
                                   gboolean   shrink);
void    gtk_paned_pack2           (GtkPaned  *paned,
                                   GtkWidget *child,
                                   gboolean   resize,
                                   gboolean   shrink);
void    gtk_paned_set_position    (GtkPaned  *paned,
                                   gint       position);
void    gtk_paned_set_handle_size (GtkPaned *paned,
                                   guint16   size);
void    gtk_paned_set_gutter_size (GtkPaned *paned,
                                   guint16   size);

 
void    gtk_paned_compute_position (GtkPaned *paned,
                                    gint      allocation,
                                    gint      child1_req,
                                    gint      child2_req);

gboolean _gtk_paned_is_handle_full_size (GtkPaned     *paned);
void     _gtk_paned_get_handle_rect     (GtkPaned     *paned,
                                         GdkRectangle *rectangle);
gint     _gtk_paned_get_gutter_size     (GtkPaned     *paned);







# 32 "/usr/include/gtk-1.2/gtk/gtkhpaned.h" 2 3













typedef struct _GtkHPaned       GtkHPaned;
typedef struct _GtkHPanedClass  GtkHPanedClass;

struct _GtkHPaned
{
  GtkPaned paned;
};

struct _GtkHPanedClass
{
  GtkPanedClass parent_class;
};


guint      gtk_hpaned_get_type (void);
GtkWidget* gtk_hpaned_new      (void);








# 72 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkhruler.h" 1 3
 


















 











# 1 "/usr/include/gtk-1.2/gtk/gtkruler.h" 1 3
 


















 

























typedef struct _GtkRuler        GtkRuler;
typedef struct _GtkRulerClass   GtkRulerClass;
typedef struct _GtkRulerMetric  GtkRulerMetric;

 


struct _GtkRuler
{
  GtkWidget widget;

  GdkPixmap *backing_store;
  GdkGC *non_gr_exp_gc;
  GtkRulerMetric *metric;
  gint xsrc, ysrc;
  gint slider_size;

   
  gfloat lower;
   
  gfloat upper;
   
  gfloat position;
   
  gfloat max_size;
};

struct _GtkRulerClass
{
  GtkWidgetClass parent_class;

  void (* draw_ticks) (GtkRuler *ruler);
  void (* draw_pos)   (GtkRuler *ruler);
};

struct _GtkRulerMetric
{
  gchar *metric_name;
  gchar *abbrev;
   

  gfloat pixels_per_unit;
  gfloat ruler_scale[10];
  gint subdivide[5];         
};


GtkType gtk_ruler_get_type   (void);
void    gtk_ruler_set_metric (GtkRuler       *ruler,
                              GtkMetricType   metric);
void    gtk_ruler_set_range  (GtkRuler       *ruler,
                              gfloat          lower,
                              gfloat          upper,
                              gfloat          position,
                              gfloat          max_size);
void    gtk_ruler_draw_ticks (GtkRuler       *ruler);
void    gtk_ruler_draw_pos   (GtkRuler       *ruler);








# 32 "/usr/include/gtk-1.2/gtk/gtkhruler.h" 2 3













typedef struct _GtkHRuler       GtkHRuler;
typedef struct _GtkHRulerClass  GtkHRulerClass;

struct _GtkHRuler
{
  GtkRuler ruler;
};

struct _GtkHRulerClass
{
  GtkRulerClass parent_class;
};


guint      gtk_hruler_get_type (void);
GtkWidget* gtk_hruler_new      (void);








# 73 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3



# 1 "/usr/include/gtk-1.2/gtk/gtkhseparator.h" 1 3
 


















 











# 1 "/usr/include/gtk-1.2/gtk/gtkseparator.h" 1 3
 


















 


























typedef struct _GtkSeparator       GtkSeparator;
typedef struct _GtkSeparatorClass  GtkSeparatorClass;

struct _GtkSeparator
{
  GtkWidget widget;
};

struct _GtkSeparatorClass
{
  GtkWidgetClass parent_class;
};


GtkType  gtk_separator_get_type (void);







# 32 "/usr/include/gtk-1.2/gtk/gtkhseparator.h" 2 3















typedef struct _GtkHSeparator       GtkHSeparator;
typedef struct _GtkHSeparatorClass  GtkHSeparatorClass;

struct _GtkHSeparator
{
  GtkSeparator separator;
};

struct _GtkHSeparatorClass
{
  GtkSeparatorClass parent_class;
};


GtkType    gtk_hseparator_get_type (void);
GtkWidget* gtk_hseparator_new      (void);








# 76 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkimage.h" 1 3
 


















 


























typedef struct _GtkImage       GtkImage;
typedef struct _GtkImageClass  GtkImageClass;

struct _GtkImage
{
  GtkMisc misc;

  GdkImage *image;
  GdkBitmap *mask;
};

struct _GtkImageClass
{
  GtkMiscClass parent_class;
};


GtkType    gtk_image_get_type (void);
GtkWidget* gtk_image_new      (GdkImage   *val,
                               GdkBitmap  *mask);
void       gtk_image_set      (GtkImage   *image,
                               GdkImage   *val,
                               GdkBitmap  *mask);
void       gtk_image_get      (GtkImage   *image,
                               GdkImage  **val,
                               GdkBitmap **mask);








# 77 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkinputdialog.h" 1 3
 


















 


























typedef struct _GtkInputDialog       GtkInputDialog;
typedef struct _GtkInputDialogClass  GtkInputDialogClass;

struct _GtkInputDialog
{
  GtkDialog dialog;

  GtkWidget *axis_list;
  GtkWidget *axis_listbox;
  GtkWidget *mode_optionmenu;

  GtkWidget *close_button;
  GtkWidget *save_button;
  
  GtkWidget *axis_items[GDK_AXIS_LAST];
  guint32    current_device;

  GtkWidget *keys_list;
  GtkWidget *keys_listbox;
};

struct _GtkInputDialogClass
{
  GtkWindowClass parent_class;

  void (* enable_device)               (GtkInputDialog    *inputd,
                                        guint32            devid);
  void (* disable_device)              (GtkInputDialog    *inputd,
                                        guint32            devid);
};


GtkType    gtk_input_dialog_get_type     (void);
GtkWidget* gtk_input_dialog_new          (void);








# 78 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3


# 1 "/usr/include/gtk-1.2/gtk/gtkitemfactory.h" 1 3
 





















 











# 1 "/usr/include/gtk-1.2/gtk/gtkmenufactory.h" 1 3
 


















 


















typedef struct _GtkMenuEntry    GtkMenuEntry;
typedef struct _GtkMenuPath     GtkMenuPath;
typedef struct _GtkMenuFactory  GtkMenuFactory;

typedef void (*GtkMenuCallback) (GtkWidget *widget,
                                 gpointer   user_data);

struct _GtkMenuEntry
{
  gchar *path;
  gchar *accelerator;
  GtkMenuCallback callback;
  gpointer callback_data;
  GtkWidget *widget;
};

struct _GtkMenuPath
{
  char *path;
  GtkWidget *widget;
};

struct _GtkMenuFactory
{
  gchar *path;
  GtkMenuFactoryType type;
  GtkAccelGroup *accel_group;
  GtkWidget *widget;
  GList *subfactories;
};

 





GtkMenuFactory* gtk_menu_factory_new               (GtkMenuFactoryType  type);
void            gtk_menu_factory_destroy           (GtkMenuFactory     
*factory);
void            gtk_menu_factory_add_entries       (GtkMenuFactory     *factory,
                                                    GtkMenuEntry       *entries,
                                                    int                 
nentries);
void            gtk_menu_factory_add_subfactory    (GtkMenuFactory     *factory,
                                                    GtkMenuFactory     
*subfactory,
                                                    const char         *path);
void            gtk_menu_factory_remove_paths      (GtkMenuFactory     *factory,
                                                    char              **paths,
                                                    int                 npaths);
void            gtk_menu_factory_remove_entries    (GtkMenuFactory     *factory,
                                                    GtkMenuEntry       *entries,
                                                    int                 
nentries);
void            gtk_menu_factory_remove_subfactory (GtkMenuFactory     *factory,
                                                    GtkMenuFactory     
*subfactory,
                                                    const char         *path);
GtkMenuPath*    gtk_menu_factory_find              (GtkMenuFactory     *factory,
                                                    const char         *path);








# 35 "/usr/include/gtk-1.2/gtk/gtkitemfactory.h" 2 3









typedef void    (*GtkPrintFunc)            (gpointer             func_data,
                                            gchar               *str);
typedef gchar * (*GtkTranslateFunc)        (const gchar         *path,
                                            gpointer             func_data);
typedef void    (*GtkItemFactoryCallback)  ();
typedef void    (*GtkItemFactoryCallback1) (gpointer             callback_data,
                                            guint                
callback_action,
                                            GtkWidget           *widget);








typedef struct  _GtkItemFactory                 GtkItemFactory;
typedef struct  _GtkItemFactoryClass            GtkItemFactoryClass;
typedef struct  _GtkItemFactoryEntry            GtkItemFactoryEntry;
typedef struct  _GtkItemFactoryItem             GtkItemFactoryItem;

struct _GtkItemFactory
{
  GtkObject              object;

  gchar                 *path;
  GtkAccelGroup         *accel_group;
  GtkWidget             *widget;
  GSList                *items;

  GtkTranslateFunc       translate_func;
  gpointer               translate_data;
  GtkDestroyNotify       translate_notify;   
};

struct _GtkItemFactoryClass
{
  GtkObjectClass         object_class;

  gchar                 *cpair_comment_single;

  GHashTable            *item_ht;

  gpointer               dummy;
};

struct _GtkItemFactoryEntry
{
  gchar *path;
  gchar *accelerator;

  GtkItemFactoryCallback callback;
  guint                  callback_action;

   












  gchar          *item_type;
};

struct _GtkItemFactoryItem
{
  gchar *path;
  guint  accelerator_key;
  guint  accelerator_mods;
  guint  modified : 1;
  guint  in_propagation : 1;
  gchar *dummy;

  GSList *widgets;
};


GtkType         gtk_item_factory_get_type           (void);

 


GtkItemFactory* gtk_item_factory_new       (GtkType              container_type,
                                            const gchar         *path,
                                            GtkAccelGroup       *accel_group);
void            gtk_item_factory_construct (GtkItemFactory      *ifactory,
                                            GtkType              container_type,
                                            const gchar         *path,
                                            GtkAccelGroup       *accel_group);
     
 

void            gtk_item_factory_parse_rc           (const gchar    *file_name);
void            gtk_item_factory_parse_rc_string    (const gchar    *rc_string);
void            gtk_item_factory_parse_rc_scanner   (GScanner       *scanner);
void            gtk_item_factory_add_foreign        (GtkWidget      
*accel_widget,
                                                     const gchar    *full_path,
                                                     GtkAccelGroup  
*accel_group,
                                                     guint           keyval,
                                                     GdkModifierType modifiers);
     
GtkItemFactory* gtk_item_factory_from_widget        (GtkWidget        *widget);
gchar*          gtk_item_factory_path_from_widget   (GtkWidget        *widget);

GtkWidget*      gtk_item_factory_get_item             (GtkItemFactory *ifactory,
                                                       const gchar    *path);
GtkWidget*      gtk_item_factory_get_widget           (GtkItemFactory *ifactory,
                                                       const gchar    *path);
GtkWidget*      gtk_item_factory_get_widget_by_action (GtkItemFactory *ifactory,
                                                       guint           action);
GtkWidget*      gtk_item_factory_get_item_by_action   (GtkItemFactory *ifactory,
                                                       guint           action);

 



void    gtk_item_factory_dump_items     (GtkPatternSpec         *path_pspec,
                                         gboolean                modified_only,
                                         GtkPrintFunc            print_func,
                                         gpointer                func_data);
void    gtk_item_factory_dump_rc        (const gchar            *file_name,
                                         GtkPatternSpec         *path_pspec,
                                         gboolean                modified_only);
void    gtk_item_factory_print_func     (gpointer                FILE_pointer,
                                         gchar                  *string);
void    gtk_item_factory_create_item    (GtkItemFactory         *ifactory,
                                         GtkItemFactoryEntry    *entry,
                                         gpointer                callback_data,
                                         guint                   callback_type);
void    gtk_item_factory_create_items   (GtkItemFactory         *ifactory,
                                         guint                   n_entries,
                                         GtkItemFactoryEntry    *entries,
                                         gpointer                callback_data);
void    gtk_item_factory_delete_item    (GtkItemFactory         *ifactory,
                                         const gchar            *path);
void    gtk_item_factory_delete_entry   (GtkItemFactory         *ifactory,
                                         GtkItemFactoryEntry    *entry);
void    gtk_item_factory_delete_entries (GtkItemFactory         *ifactory,
                                         guint                   n_entries,
                                         GtkItemFactoryEntry    *entries);
void    gtk_item_factory_popup          (GtkItemFactory         *ifactory,
                                         guint                   x,
                                         guint                   y,
                                         guint                   mouse_button,
                                         guint32                 time);
void    gtk_item_factory_popup_with_data(GtkItemFactory         *ifactory,
                                         gpointer                popup_data,
                                         GtkDestroyNotify        destroy,
                                         guint                   x,
                                         guint                   y,
                                         guint                   mouse_button,
                                         guint32                 time);
gpointer gtk_item_factory_popup_data    (GtkItemFactory         *ifactory);
gpointer gtk_item_factory_popup_data_from_widget (GtkWidget     *widget);
void   gtk_item_factory_set_translate_func (GtkItemFactory      *ifactory,
                                            GtkTranslateFunc     func,
                                            gpointer             data,
                                            GtkDestroyNotify     notify);

 

GtkItemFactory* gtk_item_factory_from_path   (const gchar       *path);
void    gtk_item_factory_create_menu_entries (guint              n_entries,
                                              GtkMenuEntry      *entries);
void    gtk_item_factories_path_delete     (const gchar         *ifactory_path,
                                            const gchar         *path);
typedef void    (*GtkItemFactoryCallback2) (GtkWidget           *widget,
                                            gpointer             callback_data,
                                            guint                
callback_action);
void    gtk_item_factory_create_items_ac (GtkItemFactory        *ifactory,
                                          guint                  n_entries,
                                          GtkItemFactoryEntry   *entries,
                                          gpointer               callback_data,
                                          guint                  callback_type);









# 80 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3


# 1 "/usr/include/gtk-1.2/gtk/gtklayout.h" 1 3
 






















 























typedef struct _GtkLayout        GtkLayout;
typedef struct _GtkLayoutClass   GtkLayoutClass;

struct _GtkLayout {
  GtkContainer container;

  GList *children;

  guint width;
  guint height;

  guint xoffset;
  guint yoffset;

  GtkAdjustment *hadjustment;
  GtkAdjustment *vadjustment;
  
  GdkWindow *bin_window;

  GdkVisibilityState visibility;
  gulong configure_serial;
  gint scroll_x;
  gint scroll_y;

  guint freeze_count;
};

struct _GtkLayoutClass {
  GtkContainerClass parent_class;

  void  (*set_scroll_adjustments)   (GtkLayout      *layout,
                                     GtkAdjustment  *hadjustment,
                                     GtkAdjustment  *vadjustment);
};

GtkType        gtk_layout_get_type        (void);
GtkWidget*     gtk_layout_new             (GtkAdjustment *hadjustment,
                                           GtkAdjustment *vadjustment);
void           gtk_layout_put             (GtkLayout     *layout, 
                                           GtkWidget     *widget, 
                                           gint           x, 
                                           gint           y);
  
void           gtk_layout_move            (GtkLayout     *layout, 
                                           GtkWidget     *widget, 
                                           gint           x, 
                                           gint           y);
  
void           gtk_layout_set_size        (GtkLayout     *layout, 
                                           guint          width,
                                           guint          height);

GtkAdjustment* gtk_layout_get_hadjustment (GtkLayout     *layout);
GtkAdjustment* gtk_layout_get_vadjustment (GtkLayout     *layout);
void           gtk_layout_set_hadjustment (GtkLayout     *layout,
                                           GtkAdjustment *adjustment);
void           gtk_layout_set_vadjustment (GtkLayout     *layout,
                                           GtkAdjustment *adjustment);

 







void           gtk_layout_freeze          (GtkLayout     *layout);
void           gtk_layout_thaw            (GtkLayout     *layout);






# 82 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtklist.h" 1 3
 


















 













# 1 "/usr/include/gtk-1.2/gtk/gtklistitem.h" 1 3
 


















 


























typedef struct _GtkListItem       GtkListItem;
typedef struct _GtkListItemClass  GtkListItemClass;

struct _GtkListItem
{
  GtkItem item;
};

struct _GtkListItemClass
{
  GtkItemClass parent_class;

  void (*toggle_focus_row)  (GtkListItem   *list_item);
  void (*select_all)        (GtkListItem   *list_item);
  void (*unselect_all)      (GtkListItem   *list_item);
  void (*undo_selection)    (GtkListItem   *list_item);
  void (*start_selection)   (GtkListItem   *list_item);
  void (*end_selection)     (GtkListItem   *list_item);
  void (*extend_selection)  (GtkListItem   *list_item,
                             GtkScrollType  scroll_type,
                             gfloat         position,
                             gboolean       auto_start_selection);
  void (*scroll_horizontal) (GtkListItem   *list_item,
                             GtkScrollType  scroll_type,
                             gfloat         position);
  void (*scroll_vertical)   (GtkListItem   *list_item,
                             GtkScrollType  scroll_type,
                             gfloat         position);
  void (*toggle_add_mode)   (GtkListItem   *list_item);
};


GtkType    gtk_list_item_get_type       (void);
GtkWidget* gtk_list_item_new            (void);
GtkWidget* gtk_list_item_new_with_label (const gchar      *label);
void       gtk_list_item_select         (GtkListItem      *list_item);
void       gtk_list_item_deselect       (GtkListItem      *list_item);










# 34 "/usr/include/gtk-1.2/gtk/gtklist.h" 2 3














typedef struct _GtkList       GtkList;
typedef struct _GtkListClass  GtkListClass;

struct _GtkList
{
  GtkContainer container;

  GList *children;
  GList *selection;

  GList *undo_selection;
  GList *undo_unselection;

  GtkWidget *last_focus_child;
  GtkWidget *undo_focus_child;

  guint htimer;
  guint vtimer;

  gint anchor;
  gint drag_pos;
  GtkStateType anchor_state;

  guint selection_mode : 2;
  guint drag_selection:1;
  guint add_mode:1;
};

struct _GtkListClass
{
  GtkContainerClass parent_class;

  void (* selection_changed) (GtkList   *list);
  void (* select_child)      (GtkList   *list,
                              GtkWidget *child);
  void (* unselect_child)    (GtkList   *list,
                              GtkWidget *child);
};


GtkType    gtk_list_get_type              (void);
GtkWidget* gtk_list_new                   (void);
void       gtk_list_insert_items          (GtkList          *list,
                                           GList            *items,
                                           gint              position);
void       gtk_list_append_items          (GtkList          *list,
                                           GList            *items);
void       gtk_list_prepend_items         (GtkList          *list,
                                           GList            *items);
void       gtk_list_remove_items          (GtkList          *list,
                                           GList            *items);
void       gtk_list_remove_items_no_unref (GtkList          *list,
                                           GList            *items);
void       gtk_list_clear_items           (GtkList          *list,
                                           gint              start,
                                           gint              end);
void       gtk_list_select_item           (GtkList          *list,
                                           gint              item);
void       gtk_list_unselect_item         (GtkList          *list,
                                           gint              item);
void       gtk_list_select_child          (GtkList          *list,
                                           GtkWidget        *child);
void       gtk_list_unselect_child        (GtkList          *list,
                                           GtkWidget        *child);
gint       gtk_list_child_position        (GtkList          *list,
                                           GtkWidget        *child);
void       gtk_list_set_selection_mode    (GtkList          *list,
                                           GtkSelectionMode  mode);

void       gtk_list_extend_selection      (GtkList          *list,
                                           GtkScrollType     scroll_type,
                                           gfloat            position,
                                           gboolean          
auto_start_selection);
void       gtk_list_start_selection       (GtkList          *list);
void       gtk_list_end_selection         (GtkList          *list);
void       gtk_list_select_all            (GtkList          *list);
void       gtk_list_unselect_all          (GtkList          *list);
void       gtk_list_scroll_horizontal     (GtkList          *list,
                                           GtkScrollType     scroll_type,
                                           gfloat            position);
void       gtk_list_scroll_vertical       (GtkList          *list,
                                           GtkScrollType     scroll_type,
                                           gfloat            position);
void       gtk_list_toggle_add_mode       (GtkList          *list);
void       gtk_list_toggle_focus_row      (GtkList          *list);
void       gtk_list_toggle_row            (GtkList          *list,
                                           GtkWidget        *item);
void       gtk_list_undo_selection        (GtkList          *list);
void       gtk_list_end_drag_selection    (GtkList          *list);







# 83 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3



# 1 "/usr/include/gtk-1.2/gtk/gtkmenu.h" 1 3
 


















 












# 1 "/usr/include/gtk-1.2/gtk/gtkmenushell.h" 1 3
 


















 


























typedef struct _GtkMenuShell       GtkMenuShell;
typedef struct _GtkMenuShellClass  GtkMenuShellClass;

struct _GtkMenuShell
{
  GtkContainer container;
  
  GList *children;
  GtkWidget *active_menu_item;
  GtkWidget *parent_menu_shell;
  
  guint active : 1;
  guint have_grab : 1;
  guint have_xgrab : 1;
  guint button : 2;
  guint ignore_leave : 1;
  guint menu_flag : 1;
  guint ignore_enter : 1;
  
  guint32 activate_time;
};

struct _GtkMenuShellClass
{
  GtkContainerClass parent_class;
  
  guint submenu_placement : 1;
  
  void (*deactivate)     (GtkMenuShell *menu_shell);
  void (*selection_done) (GtkMenuShell *menu_shell);

  void (*move_current)     (GtkMenuShell        *menu_shell,
                            GtkMenuDirectionType direction);
  void (*activate_current) (GtkMenuShell *menu_shell,
                            gboolean      force_hide);
  void (*cancel)           (GtkMenuShell *menu_shell);
};


GtkType gtk_menu_shell_get_type   (void);
void    gtk_menu_shell_append     (GtkMenuShell *menu_shell,
                                   GtkWidget    *child);
void    gtk_menu_shell_prepend    (GtkMenuShell *menu_shell,
                                   GtkWidget    *child);
void    gtk_menu_shell_insert     (GtkMenuShell *menu_shell,
                                   GtkWidget    *child,
                                   gint          position);
void    gtk_menu_shell_deactivate (GtkMenuShell *menu_shell);
void    gtk_menu_shell_select_item (GtkMenuShell      *menu_shell,
                                    GtkWidget         *menu_item);
void    gtk_menu_shell_deselect    (GtkMenuShell      *menu_shell);
void    gtk_menu_shell_activate_item  (GtkMenuShell      *menu_shell,
                                       GtkWidget         *menu_item,
                                       gboolean           force_deactivate);








# 33 "/usr/include/gtk-1.2/gtk/gtkmenu.h" 2 3















typedef struct _GtkMenu       GtkMenu;
typedef struct _GtkMenuClass  GtkMenuClass;

typedef void (*GtkMenuPositionFunc) (GtkMenu   *menu,
                                     gint      *x,
                                     gint      *y,
                                     gpointer   user_data);
typedef void (*GtkMenuDetachFunc)   (GtkWidget *attach_widget,
                                     GtkMenu   *menu);

struct _GtkMenu
{
  GtkMenuShell menu_shell;
  
  GtkWidget *parent_menu_item;
  GtkWidget *old_active_menu_item;
  
  GtkAccelGroup *accel_group;
  GtkMenuPositionFunc position_func;
  gpointer position_func_data;

   



  GtkWidget *toplevel;
  GtkWidget *tearoff_window;

  guint torn_off : 1;
};

struct _GtkMenuClass
{
  GtkMenuShellClass parent_class;
};


GtkType    gtk_menu_get_type              (void);
GtkWidget* gtk_menu_new                   (void);

 
void       gtk_menu_append                (GtkMenu             *menu,
                                           GtkWidget           *child);
void       gtk_menu_prepend               (GtkMenu             *menu,
                                           GtkWidget           *child);
void       gtk_menu_insert                (GtkMenu             *menu,
                                           GtkWidget           *child,
                                           gint                 position);

 
void       gtk_menu_popup                 (GtkMenu             *menu,
                                           GtkWidget           
*parent_menu_shell,
                                           GtkWidget           
*parent_menu_item,
                                           GtkMenuPositionFunc  func,
                                           gpointer             data,
                                           guint                button,
                                           guint32              activate_time);

 


void       gtk_menu_reposition            (GtkMenu             *menu);

void       gtk_menu_popdown               (GtkMenu             *menu);

 


GtkWidget* gtk_menu_get_active            (GtkMenu             *menu);
void       gtk_menu_set_active            (GtkMenu             *menu,
                                           guint                index);

 


void           gtk_menu_set_accel_group   (GtkMenu             *menu,
                                           GtkAccelGroup       *accel_group);
GtkAccelGroup* gtk_menu_get_accel_group   (GtkMenu             *menu);

 


GtkAccelGroup* gtk_menu_get_uline_accel_group    (GtkMenu         *menu);
GtkAccelGroup* gtk_menu_ensure_uline_accel_group (GtkMenu         *menu);


 



void       gtk_menu_attach_to_widget      (GtkMenu             *menu,
                                           GtkWidget           *attach_widget,
                                           GtkMenuDetachFunc    detacher);
void       gtk_menu_detach                (GtkMenu             *menu);

 



GtkWidget* gtk_menu_get_attach_widget     (GtkMenu             *menu);

void       gtk_menu_set_tearoff_state     (GtkMenu             *menu,
                                           gboolean             torn_off);

 


void       gtk_menu_set_title             (GtkMenu             *menu,
                                           const gchar         *title);

void       gtk_menu_reorder_child         (GtkMenu             *menu,
                                           GtkWidget           *child,
                                           gint                position);







# 86 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkmenubar.h" 1 3
 


















 

























typedef struct _GtkMenuBar       GtkMenuBar;
typedef struct _GtkMenuBarClass  GtkMenuBarClass;

struct _GtkMenuBar
{
  GtkMenuShell menu_shell;

  GtkShadowType shadow_type;
};

struct _GtkMenuBarClass
{
  GtkMenuShellClass parent_class;
};


GtkType    gtk_menu_bar_get_type        (void);
GtkWidget* gtk_menu_bar_new             (void);
void       gtk_menu_bar_append          (GtkMenuBar    *menu_bar,
                                         GtkWidget     *child);
void       gtk_menu_bar_prepend         (GtkMenuBar    *menu_bar,
                                         GtkWidget     *child);
void       gtk_menu_bar_insert          (GtkMenuBar    *menu_bar,
                                         GtkWidget     *child,
                                         gint           position);
void       gtk_menu_bar_set_shadow_type (GtkMenuBar    *menu_bar,
                                         GtkShadowType  type);








# 87 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3







# 1 "/usr/include/gtk-1.2/gtk/gtkoptionmenu.h" 1 3
 


















 


























typedef struct _GtkOptionMenu       GtkOptionMenu;
typedef struct _GtkOptionMenuClass  GtkOptionMenuClass;

struct _GtkOptionMenu
{
  GtkButton button;
  
  GtkWidget *menu;
  GtkWidget *menu_item;
  
  guint16 width;
  guint16 height;
};

struct _GtkOptionMenuClass
{
  GtkButtonClass parent_class;
};


GtkType    gtk_option_menu_get_type    (void);
GtkWidget* gtk_option_menu_new         (void);
GtkWidget* gtk_option_menu_get_menu    (GtkOptionMenu *option_menu);
void       gtk_option_menu_set_menu    (GtkOptionMenu *option_menu,
                                        GtkWidget     *menu);
void       gtk_option_menu_remove_menu (GtkOptionMenu *option_menu);
void       gtk_option_menu_set_history (GtkOptionMenu *option_menu,
                                        guint          index);








# 94 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkpacker.h" 1 3
 





















 
























typedef struct _GtkPacker           GtkPacker;
typedef struct _GtkPackerClass      GtkPackerClass;
typedef struct _GtkPackerChild      GtkPackerChild;

typedef enum
{
    GTK_PACK_EXPAND   = 1 << 0,  
    GTK_FILL_X        = 1 << 1,
    GTK_FILL_Y        = 1 << 2
} GtkPackerOptions;

typedef enum
{
    GTK_SIDE_TOP,
    GTK_SIDE_BOTTOM,
    GTK_SIDE_LEFT,
    GTK_SIDE_RIGHT
} GtkSideType;

typedef enum
{
  GTK_ANCHOR_CENTER,
  GTK_ANCHOR_NORTH,
  GTK_ANCHOR_NORTH_WEST,
  GTK_ANCHOR_NORTH_EAST,
  GTK_ANCHOR_SOUTH,
  GTK_ANCHOR_SOUTH_WEST,
  GTK_ANCHOR_SOUTH_EAST,
  GTK_ANCHOR_WEST,
  GTK_ANCHOR_EAST,
  GTK_ANCHOR_N  =       GTK_ANCHOR_NORTH,
  GTK_ANCHOR_NW =       GTK_ANCHOR_NORTH_WEST,
  GTK_ANCHOR_NE =       GTK_ANCHOR_NORTH_EAST,
  GTK_ANCHOR_S  =       GTK_ANCHOR_SOUTH,
  GTK_ANCHOR_SW =       GTK_ANCHOR_SOUTH_WEST,
  GTK_ANCHOR_SE =       GTK_ANCHOR_SOUTH_EAST,
  GTK_ANCHOR_W  =       GTK_ANCHOR_WEST,
  GTK_ANCHOR_E  =       GTK_ANCHOR_EAST
} GtkAnchorType;

struct _GtkPackerChild
{
  GtkWidget *widget;
  
  GtkAnchorType anchor;
  GtkSideType side;
  GtkPackerOptions options;
  
  guint use_default : 1;
  
  guint border_width : 16;
  guint pad_x : 16;
  guint pad_y : 16;
  guint i_pad_x : 16;
  guint i_pad_y : 16;
};

struct _GtkPacker
{
  GtkContainer parent;
  
  GList *children;
  
  guint spacing;
  
  guint default_border_width : 16;
  guint default_pad_x : 16;
  guint default_pad_y : 16;
  guint default_i_pad_x : 16;
  guint default_i_pad_y : 16;
};

struct _GtkPackerClass
{
  GtkContainerClass parent_class;
};


GtkType    gtk_packer_get_type                 (void);
GtkWidget* gtk_packer_new                      (void);
void       gtk_packer_add_defaults             (GtkPacker       *packer, 
                                                GtkWidget       *child,
                                                GtkSideType      side,
                                                GtkAnchorType    anchor,
                                                GtkPackerOptions options);
void       gtk_packer_add                      (GtkPacker       *packer, 
                                                GtkWidget       *child,
                                                GtkSideType      side,
                                                GtkAnchorType    anchor,
                                                GtkPackerOptions options,
                                                guint            border_width, 
                                                guint            pad_x, 
                                                guint            pad_y,
                                                guint            i_pad_x,
                                                guint            i_pad_y);
void       gtk_packer_set_child_packing        (GtkPacker       *packer, 
                                                GtkWidget       *child,
                                                GtkSideType      side,
                                                GtkAnchorType    anchor,
                                                GtkPackerOptions options,
                                                guint            border_width, 
                                                guint            pad_x, 
                                                guint            pad_y,
                                                guint            i_pad_x,
                                                guint            i_pad_y);
void       gtk_packer_reorder_child            (GtkPacker       *packer,
                                                GtkWidget       *child,
                                                gint             position);
void       gtk_packer_set_spacing              (GtkPacker       *packer,
                                                guint            spacing);
void       gtk_packer_set_default_border_width (GtkPacker       *packer,
                                                guint            border);
void       gtk_packer_set_default_pad          (GtkPacker       *packer,
                                                guint             pad_x,
                                                guint             pad_y);
void       gtk_packer_set_default_ipad         (GtkPacker       *packer,
                                                guint            i_pad_x,
                                                guint            i_pad_y);








# 95 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3


# 1 "/usr/include/gtk-1.2/gtk/gtkpixmap.h" 1 3
 


















 


























typedef struct _GtkPixmap       GtkPixmap;
typedef struct _GtkPixmapClass  GtkPixmapClass;

struct _GtkPixmap
{
  GtkMisc misc;
  
  GdkPixmap *pixmap;
  GdkBitmap *mask;

  GdkPixmap *pixmap_insensitive;
  guint build_insensitive : 1;
};

struct _GtkPixmapClass
{
  GtkMiscClass parent_class;
};


GtkType    gtk_pixmap_get_type   (void);
GtkWidget* gtk_pixmap_new        (GdkPixmap  *pixmap,
                                  GdkBitmap  *mask);
void       gtk_pixmap_set        (GtkPixmap  *pixmap,
                                  GdkPixmap  *val,
                                  GdkBitmap  *mask);
void       gtk_pixmap_get        (GtkPixmap  *pixmap,
                                  GdkPixmap **val,
                                  GdkBitmap **mask);

void       gtk_pixmap_set_build_insensitive (GtkPixmap *pixmap,
                                             guint build);








# 97 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkplug.h" 1 3
 

















 
























typedef struct _GtkPlug        GtkPlug;
typedef struct _GtkPlugClass   GtkPlugClass;


struct _GtkPlug
{
  GtkWindow window;

  GdkWindow *socket_window;
  gint same_app;
};

struct _GtkPlugClass
{
  GtkWindowClass parent_class;
};


guint      gtk_plug_get_type  (void);
void       gtk_plug_construct (GtkPlug *plug, guint32 socket_id);
GtkWidget* gtk_plug_new       (guint32 socket_id);








# 98 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3


# 1 "/usr/include/gtk-1.2/gtk/gtkprogress.h" 1 3
 


















 



























typedef struct _GtkProgress       GtkProgress;
typedef struct _GtkProgressClass  GtkProgressClass;


struct _GtkProgress
{
  GtkWidget widget;

  GtkAdjustment *adjustment;
  GdkPixmap     *offscreen_pixmap;
  gchar         *format;
  gfloat         x_align;
  gfloat         y_align;

  guint          show_text : 1;
  guint          activity_mode : 1;
};

struct _GtkProgressClass
{
  GtkWidgetClass parent_class;

  void (* paint)            (GtkProgress *progress);
  void (* update)           (GtkProgress *progress);
  void (* act_mode_enter)   (GtkProgress *progress);
};


GtkType    gtk_progress_get_type            (void);
void       gtk_progress_set_show_text       (GtkProgress   *progress,
                                             gint           show_text);
void       gtk_progress_set_text_alignment  (GtkProgress   *progress,
                                             gfloat         x_align,
                                             gfloat         y_align);
void       gtk_progress_set_format_string   (GtkProgress   *progress,
                                             const gchar   *format);
void       gtk_progress_set_adjustment      (GtkProgress   *progress,
                                             GtkAdjustment *adjustment);
void       gtk_progress_configure           (GtkProgress   *progress,
                                             gfloat         value,
                                             gfloat         min,
                                             gfloat         max);
void       gtk_progress_set_percentage      (GtkProgress   *progress,
                                             gfloat         percentage);
void       gtk_progress_set_value           (GtkProgress   *progress,
                                             gfloat         value);
gfloat     gtk_progress_get_value           (GtkProgress   *progress);
void       gtk_progress_set_activity_mode   (GtkProgress   *progress,
                                             guint          activity_mode);
gchar*     gtk_progress_get_current_text    (GtkProgress   *progress);
gchar*     gtk_progress_get_text_from_value (GtkProgress   *progress,
                                             gfloat         value);
gfloat     gtk_progress_get_current_percentage (GtkProgress *progress);
gfloat     gtk_progress_get_percentage_from_value (GtkProgress *progress,
                                                   gfloat       value);








# 100 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkprogressbar.h" 1 3
 


















 


























typedef struct _GtkProgressBar       GtkProgressBar;
typedef struct _GtkProgressBarClass  GtkProgressBarClass;

typedef enum
{
  GTK_PROGRESS_CONTINUOUS,
  GTK_PROGRESS_DISCRETE
} GtkProgressBarStyle;

typedef enum
{
  GTK_PROGRESS_LEFT_TO_RIGHT,
  GTK_PROGRESS_RIGHT_TO_LEFT,
  GTK_PROGRESS_BOTTOM_TO_TOP,
  GTK_PROGRESS_TOP_TO_BOTTOM
} GtkProgressBarOrientation;

struct _GtkProgressBar
{
  GtkProgress progress;

  GtkProgressBarStyle bar_style;
  GtkProgressBarOrientation orientation;

  guint blocks;
  gint  in_block;

  gint  activity_pos;
  guint activity_step;
  guint activity_blocks;
  guint activity_dir : 1;
};

struct _GtkProgressBarClass
{
  GtkProgressClass parent_class;
};


GtkType    gtk_progress_bar_get_type             (void);
GtkWidget* gtk_progress_bar_new                  (void);
GtkWidget* gtk_progress_bar_new_with_adjustment  (GtkAdjustment  *adjustment);
void       gtk_progress_bar_set_bar_style        (GtkProgressBar *pbar,
                                                  GtkProgressBarStyle style);
void       gtk_progress_bar_set_discrete_blocks  (GtkProgressBar *pbar,
                                                  guint           blocks);
void       gtk_progress_bar_set_activity_step    (GtkProgressBar *pbar,
                                                  guint           step);
void       gtk_progress_bar_set_activity_blocks  (GtkProgressBar *pbar,
                                                  guint           blocks);
void       gtk_progress_bar_set_orientation      (GtkProgressBar *pbar,
                                                  GtkProgressBarOrientation 
orientation);
void       gtk_progress_bar_update               (GtkProgressBar *pbar,
                                                  gfloat          percentage);








# 101 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkradiobutton.h" 1 3
 


















 


























typedef struct _GtkRadioButton       GtkRadioButton;
typedef struct _GtkRadioButtonClass  GtkRadioButtonClass;

struct _GtkRadioButton
{
  GtkCheckButton check_button;
  
  GSList *group;
};

struct _GtkRadioButtonClass
{
  GtkCheckButtonClass parent_class;
};


GtkType     gtk_radio_button_get_type        (void);
GtkWidget*  gtk_radio_button_new             (GSList         *group);
GtkWidget*  gtk_radio_button_new_from_widget (GtkRadioButton *group);
GtkWidget*  gtk_radio_button_new_with_label  (GSList         *group,
                                              const gchar    *label);
GtkWidget*  gtk_radio_button_new_with_label_from_widget (GtkRadioButton *group,
                                                         const gchar    *label);
GSList*     gtk_radio_button_group           (GtkRadioButton *radio_button);
void        gtk_radio_button_set_group       (GtkRadioButton *radio_button,
                                              GSList         *group);








# 102 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkradiomenuitem.h" 1 3
 


















 


























typedef struct _GtkRadioMenuItem       GtkRadioMenuItem;
typedef struct _GtkRadioMenuItemClass  GtkRadioMenuItemClass;

struct _GtkRadioMenuItem
{
  GtkCheckMenuItem check_menu_item;
  
  GSList *group;
};

struct _GtkRadioMenuItemClass
{
  GtkCheckMenuItemClass parent_class;
};


GtkType    gtk_radio_menu_item_get_type       (void);
GtkWidget* gtk_radio_menu_item_new            (GSList           *group);
GtkWidget* gtk_radio_menu_item_new_with_label (GSList           *group,
                                               const gchar      *label);
GSList*    gtk_radio_menu_item_group          (GtkRadioMenuItem 
*radio_menu_item);
void       gtk_radio_menu_item_set_group      (GtkRadioMenuItem 
*radio_menu_item,
                                               GSList           *group);








# 103 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3


# 1 "/usr/include/gtk-1.2/gtk/gtkrc.h" 1 3
 


















 


















typedef enum {
  GTK_RC_FG   = 1 << 0,
  GTK_RC_BG   = 1 << 1,
  GTK_RC_TEXT = 1 << 2,
  GTK_RC_BASE = 1 << 3
} GtkRcFlags;

struct _GtkRcStyle
{
  gchar *name;
  gchar *font_name;
  gchar *fontset_name;
  gchar *bg_pixmap_name[5];

  GtkRcFlags color_flags[5];
  GdkColor   fg[5];
  GdkColor   bg[5];
  GdkColor   text[5];
  GdkColor   base[5];

  GtkThemeEngine *engine;
  gpointer        engine_data;
};

void      gtk_rc_init                   (void);
void      gtk_rc_add_default_file    (const gchar *filename);
void      gtk_rc_set_default_files      (gchar **filenames);
gchar**   gtk_rc_get_default_files      (void);
void      gtk_rc_parse                  (const gchar *filename);
void      gtk_rc_parse_string           (const gchar *rc_string);
gboolean  gtk_rc_reparse_all            (void);
GtkStyle* gtk_rc_get_style              (GtkWidget   *widget);
void      gtk_rc_add_widget_name_style  (GtkRcStyle  *rc_style,
                                         const gchar *pattern);
void      gtk_rc_add_widget_class_style (GtkRcStyle  *rc_style,
                                         const gchar *pattern);
void      gtk_rc_add_class_style        (GtkRcStyle  *rc_style,
                                         const gchar *pattern);

GtkRcStyle* gtk_rc_style_new              (void);
void        gtk_rc_style_ref              (GtkRcStyle  *rc_style);
void        gtk_rc_style_unref            (GtkRcStyle  *rc_style);

 


typedef GdkPixmap*  (*GtkImageLoader)           (GdkWindow      *window,
                                                 GdkColormap    *colormap,
                                                 GdkBitmap     **mask,
                                                 GdkColor       
*transparent_color,
                                                 const gchar    *filename);
void            gtk_rc_set_image_loader         (GtkImageLoader  loader);

GdkPixmap*      gtk_rc_load_image               (GdkColormap    *colormap,
                                                 GdkColor       
*transparent_color,
                                                 const gchar    *filename);
gchar*          gtk_rc_find_pixmap_in_path      (GScanner       *scanner,
                                                 const gchar    *pixmap_file);
gchar*          gtk_rc_find_module_in_path      (const gchar    *module_file);
gchar*          gtk_rc_get_theme_dir            (void);
gchar*          gtk_rc_get_module_dir           (void);

 
typedef enum {
  GTK_RC_TOKEN_INVALID = G_TOKEN_LAST,
  GTK_RC_TOKEN_INCLUDE,
  GTK_RC_TOKEN_NORMAL,
  GTK_RC_TOKEN_ACTIVE,
  GTK_RC_TOKEN_PRELIGHT,
  GTK_RC_TOKEN_SELECTED,
  GTK_RC_TOKEN_INSENSITIVE,
  GTK_RC_TOKEN_FG,
  GTK_RC_TOKEN_BG,
  GTK_RC_TOKEN_BASE,
  GTK_RC_TOKEN_TEXT,
  GTK_RC_TOKEN_FONT,
  GTK_RC_TOKEN_FONTSET,
  GTK_RC_TOKEN_BG_PIXMAP,
  GTK_RC_TOKEN_PIXMAP_PATH,
  GTK_RC_TOKEN_STYLE,
  GTK_RC_TOKEN_BINDING,
  GTK_RC_TOKEN_BIND,
  GTK_RC_TOKEN_WIDGET,
  GTK_RC_TOKEN_WIDGET_CLASS,
  GTK_RC_TOKEN_CLASS,
  GTK_RC_TOKEN_LOWEST,
  GTK_RC_TOKEN_GTK,
  GTK_RC_TOKEN_APPLICATION,
  GTK_RC_TOKEN_RC,
  GTK_RC_TOKEN_HIGHEST,
  GTK_RC_TOKEN_ENGINE,
  GTK_RC_TOKEN_MODULE_PATH,
  GTK_RC_TOKEN_LAST
} GtkRcTokenType;

guint   gtk_rc_parse_color      (GScanner            *scanner,
                                 GdkColor            *color);
guint   gtk_rc_parse_state      (GScanner            *scanner,
                                 GtkStateType        *state);
guint   gtk_rc_parse_priority   (GScanner            *scanner,
                                 GtkPathPriorityType *priority);
     








# 105 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3




# 1 "/usr/include/gtk-1.2/gtk/gtkscrolledwindow.h" 1 3
 


















 













# 1 "/usr/include/gtk-1.2/gtk/gtkviewport.h" 1 3
 


















 



























typedef struct _GtkViewport       GtkViewport;
typedef struct _GtkViewportClass  GtkViewportClass;

struct _GtkViewport
{
  GtkBin bin;

  GtkShadowType shadow_type;
  GdkWindow *view_window;
  GdkWindow *bin_window;
  GtkAdjustment *hadjustment;
  GtkAdjustment *vadjustment;
};

struct _GtkViewportClass
{
  GtkBinClass parent_class;

  void  (*set_scroll_adjustments)       (GtkViewport    *viewport,
                                         GtkAdjustment  *hadjustment,
                                         GtkAdjustment  *vadjustment);
};


GtkType        gtk_viewport_get_type        (void);
GtkWidget*     gtk_viewport_new             (GtkAdjustment *hadjustment,
                                             GtkAdjustment *vadjustment);
GtkAdjustment* gtk_viewport_get_hadjustment (GtkViewport   *viewport);
GtkAdjustment* gtk_viewport_get_vadjustment (GtkViewport   *viewport);
void           gtk_viewport_set_hadjustment (GtkViewport   *viewport,
                                             GtkAdjustment *adjustment);
void           gtk_viewport_set_vadjustment (GtkViewport   *viewport,
                                             GtkAdjustment *adjustment);
void           gtk_viewport_set_shadow_type (GtkViewport   *viewport,
                                             GtkShadowType  type);








# 34 "/usr/include/gtk-1.2/gtk/gtkscrolledwindow.h" 2 3















typedef struct _GtkScrolledWindow       GtkScrolledWindow;
typedef struct _GtkScrolledWindowClass  GtkScrolledWindowClass;

struct _GtkScrolledWindow
{
  GtkBin container;

  GtkWidget *hscrollbar;
  GtkWidget *vscrollbar;

  guint hscrollbar_policy      : 2;
  guint vscrollbar_policy      : 2;
  guint hscrollbar_visible     : 1;
  guint vscrollbar_visible     : 1;
  guint window_placement       : 2;
};

struct _GtkScrolledWindowClass
{
  GtkBinClass parent_class;
  
  gint scrollbar_spacing;
};


GtkType        gtk_scrolled_window_get_type          (void);
GtkWidget*     gtk_scrolled_window_new               (GtkAdjustment     
*hadjustment,
                                                      GtkAdjustment     
*vadjustment);
void           gtk_scrolled_window_set_hadjustment   (GtkScrolledWindow 
*scrolled_window,
                                                      GtkAdjustment     
*hadjustment);
void           gtk_scrolled_window_set_vadjustment   (GtkScrolledWindow 
*scrolled_window,
                                                      GtkAdjustment     
*hadjustment);
GtkAdjustment* gtk_scrolled_window_get_hadjustment   (GtkScrolledWindow 
*scrolled_window);
GtkAdjustment* gtk_scrolled_window_get_vadjustment   (GtkScrolledWindow 
*scrolled_window);
void           gtk_scrolled_window_set_policy        (GtkScrolledWindow 
*scrolled_window,
                                                      GtkPolicyType      
hscrollbar_policy,
                                                      GtkPolicyType      
vscrollbar_policy);
void           gtk_scrolled_window_set_placement     (GtkScrolledWindow 
*scrolled_window,
                                                      GtkCornerType      
window_placement);
void           gtk_scrolled_window_add_with_viewport (GtkScrolledWindow 
*scrolled_window,
                                                      GtkWidget         *child);








# 109 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3




# 1 "/usr/include/gtk-1.2/gtk/gtksocket.h" 1 3
 

















 





















typedef struct _GtkSocket        GtkSocket;
typedef struct _GtkSocketClass   GtkSocketClass;

struct _GtkSocket
{
  GtkContainer container;

  guint16 request_width;
  guint16 request_height;
  guint16 current_width;
  guint16 current_height;
  
  GdkWindow *plug_window;
  guint same_app : 1;
  guint focus_in : 1;
  guint have_size : 1;
  guint need_map : 1;
};

struct _GtkSocketClass
{
  GtkContainerClass parent_class;
};


GtkWidget*     gtk_socket_new      (void);
guint          gtk_socket_get_type (void );
void           gtk_socket_steal    (GtkSocket *socket,
                                    guint32 wid);







# 113 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkspinbutton.h" 1 3
 





















 



























typedef enum
{
  GTK_UPDATE_ALWAYS,
  GTK_UPDATE_IF_VALID
} GtkSpinButtonUpdatePolicy;

typedef enum
{
  GTK_SPIN_STEP_FORWARD,
  GTK_SPIN_STEP_BACKWARD,
  GTK_SPIN_PAGE_FORWARD,
  GTK_SPIN_PAGE_BACKWARD,
  GTK_SPIN_HOME,
  GTK_SPIN_END,
  GTK_SPIN_USER_DEFINED
} GtkSpinType;


typedef struct _GtkSpinButton       GtkSpinButton;
typedef struct _GtkSpinButtonClass  GtkSpinButtonClass;


struct _GtkSpinButton
{
  GtkEntry entry;
  
  GtkAdjustment *adjustment;
  
  GdkWindow *panel;
  GtkShadowType shadow_type;
  
  guint32 timer;
  guint32 ev_time;
  
  gfloat climb_rate;
  gfloat timer_step;
  
  GtkSpinButtonUpdatePolicy update_policy;
  
  guint in_child : 2;
  guint click_child : 2;
  guint button : 2;
  guint need_timer : 1;
  guint timer_calls : 3;
  guint digits : 3;
  guint numeric : 1;
  guint wrap : 1;
  guint snap_to_ticks : 1;
};

struct _GtkSpinButtonClass
{
  GtkEntryClass parent_class;
};


GtkType         gtk_spin_button_get_type           (void);

void            gtk_spin_button_configure          (GtkSpinButton  *spin_button,
                                                    GtkAdjustment  *adjustment,
                                                    gfloat          climb_rate,
                                                    guint           digits);

GtkWidget*      gtk_spin_button_new                (GtkAdjustment  *adjustment,
                                                    gfloat          climb_rate,
                                                    guint           digits);

void            gtk_spin_button_set_adjustment     (GtkSpinButton  *spin_button,
                                                    GtkAdjustment  *adjustment);

GtkAdjustment*  gtk_spin_button_get_adjustment     (GtkSpinButton  
*spin_button);

void            gtk_spin_button_set_digits         (GtkSpinButton  *spin_button,
                                                    guint           digits);

gfloat          gtk_spin_button_get_value_as_float (GtkSpinButton  
*spin_button);

gint            gtk_spin_button_get_value_as_int   (GtkSpinButton  
*spin_button);

void            gtk_spin_button_set_value          (GtkSpinButton  
*spin_button, 
                                                    gfloat          value);

void            gtk_spin_button_set_update_policy  (GtkSpinButton  *spin_button,
                                                    GtkSpinButtonUpdatePolicy  
policy);

void            gtk_spin_button_set_numeric        (GtkSpinButton  *spin_button,
                                                    gboolean        numeric);

void            gtk_spin_button_spin               (GtkSpinButton  *spin_button,
                                                    GtkSpinType     direction,
                                                    gfloat          increment);

void            gtk_spin_button_set_wrap           (GtkSpinButton  *spin_button,
                                                    gboolean        wrap);

void            gtk_spin_button_set_shadow_type    (GtkSpinButton  *spin_button,
                                                    GtkShadowType   
shadow_type);

void            gtk_spin_button_set_snap_to_ticks  (GtkSpinButton  *spin_button,
                                                    gboolean        
snap_to_ticks);
void            gtk_spin_button_update             (GtkSpinButton  
*spin_button);









# 114 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3


# 1 "/usr/include/gtk-1.2/gtk/gtkstatusbar.h" 1 3
 



















 



















typedef struct _GtkStatusbar      GtkStatusbar;
typedef struct _GtkStatusbarClass GtkStatusbarClass;
typedef struct _GtkStatusbarMsg GtkStatusbarMsg;

struct _GtkStatusbar
{
  GtkHBox parent_widget;

  GtkWidget *frame;
  GtkWidget *label;

  GSList *messages;
  GSList *keys;

  guint seq_context_id;
  guint seq_message_id;
};

struct _GtkStatusbarClass
{
  GtkHBoxClass parent_class;

  GMemChunk *messages_mem_chunk;

  void  (*text_pushed)  (GtkStatusbar   *statusbar,
                         guint           context_id,
                         const gchar    *text);
  void  (*text_popped)  (GtkStatusbar   *statusbar,
                         guint           context_id,
                         const gchar    *text);
};

struct _GtkStatusbarMsg
{
  gchar *text;
  guint context_id;
  guint message_id;
};

guint      gtk_statusbar_get_type       (void);
GtkWidget* gtk_statusbar_new            (void);
guint      gtk_statusbar_get_context_id (GtkStatusbar *statusbar,
                                         const gchar  *context_description);
 
guint      gtk_statusbar_push           (GtkStatusbar *statusbar,
                                         guint         context_id,
                                         const gchar  *text);
void       gtk_statusbar_pop            (GtkStatusbar *statusbar,
                                         guint         context_id);
void       gtk_statusbar_remove         (GtkStatusbar *statusbar,
                                         guint         context_id,
                                         guint         message_id);







# 116 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3


# 1 "/usr/include/gtk-1.2/gtk/gtktearoffmenuitem.h" 1 3
 


















 


























typedef struct _GtkTearoffMenuItem       GtkTearoffMenuItem;
typedef struct _GtkTearoffMenuItemClass  GtkTearoffMenuItemClass;

struct _GtkTearoffMenuItem
{
  GtkMenuItem menu_item;

  guint torn_off : 1;
};

struct _GtkTearoffMenuItemClass
{
  GtkMenuItemClass parent_class;
};


GtkType    gtk_tearoff_menu_item_get_type     (void);
GtkWidget* gtk_tearoff_menu_item_new          (void);







# 118 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtktext.h" 1 3
 


















 

























typedef struct _GtkTextFont       GtkTextFont;
typedef struct _GtkPropertyMark   GtkPropertyMark;
typedef struct _GtkText           GtkText;
typedef struct _GtkTextClass      GtkTextClass;

struct _GtkPropertyMark
{
   
  GList* property;

   
  guint offset;

   
  guint index;
};

struct _GtkText
{
  GtkEditable editable;

  GdkWindow *text_area;

  GtkAdjustment *hadj;
  GtkAdjustment *vadj;

  GdkGC *gc;

  GdkPixmap* line_wrap_bitmap;
  GdkPixmap* line_arrow_bitmap;

                       

   

  union { GdkWChar *wc; guchar  *ch; } text;
   
  guint text_len;
   

  guint gap_position;
   

  guint gap_size;
   


  guint text_end;
                         

   
  GList *line_start_cache;
   
  guint first_line_start_index;
   
  guint first_cut_pixels;
   
  guint first_onscreen_hor_pixel;
   
  guint first_onscreen_ver_pixel;

                              

   

  guint line_wrap : 1;
  guint word_wrap : 1;
  

  guint use_wchar : 1;

   
  guint freeze_count;
                         

   
  GList *text_properties;
   
  GList *text_properties_end;
   



  GtkPropertyMark point;

                           

  union { GdkWChar *wc; guchar *ch; } scratch_buffer;
  guint   scratch_buffer_len;

                            

  gint last_ver_value;

                              

  gint            cursor_pos_x;        
  gint            cursor_pos_y;        
  GtkPropertyMark cursor_mark;         
  GdkWChar        cursor_char;         
  gchar           cursor_char_offset;  
  gint            cursor_virtual_x;    
  gint            cursor_drawn_level;  

                           

  GList *current_line;

                            

  GList *tab_stops;
  gint default_tab_width;

  GtkTextFont *current_font;     

   
  gint timer;
  
  guint button;                  
  GdkGC *bg_gc;                  
};

struct _GtkTextClass
{
  GtkEditableClass parent_class;

  void  (*set_scroll_adjustments)   (GtkText        *text,
                                     GtkAdjustment  *hadjustment,
                                     GtkAdjustment  *vadjustment);
};


GtkType    gtk_text_get_type        (void);
GtkWidget* gtk_text_new             (GtkAdjustment *hadj,
                                     GtkAdjustment *vadj);
void       gtk_text_set_editable    (GtkText       *text,
                                     gboolean       editable);
void       gtk_text_set_word_wrap   (GtkText       *text,
                                     gint           word_wrap);
void       gtk_text_set_line_wrap   (GtkText       *text,
                                     gint           line_wrap);
void       gtk_text_set_adjustments (GtkText       *text,
                                     GtkAdjustment *hadj,
                                     GtkAdjustment *vadj);
void       gtk_text_set_point       (GtkText       *text,
                                     guint          index);
guint      gtk_text_get_point       (GtkText       *text);
guint      gtk_text_get_length      (GtkText       *text);
void       gtk_text_freeze          (GtkText       *text);
void       gtk_text_thaw            (GtkText       *text);
void       gtk_text_insert          (GtkText       *text,
                                     GdkFont       *font,
                                     GdkColor      *fore,
                                     GdkColor      *back,
                                     const char    *chars,
                                     gint           length);
gint       gtk_text_backward_delete (GtkText       *text,
                                     guint          nchars);
gint       gtk_text_forward_delete  (GtkText       *text,
                                     guint          nchars);













# 119 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkthemes.h" 1 3
 



















 



















struct _GtkThemeEngine {
   



  guint (*parse_rc_style)    (GScanner *scanner, GtkRcStyle *rc_style);
  
   



  void (*merge_rc_style)    (GtkRcStyle *dest,     GtkRcStyle *src);

   
  void (*rc_style_to_style) (GtkStyle   *style, GtkRcStyle *rc_style);

   



  void (*duplicate_style)   (GtkStyle *dest,       GtkStyle *src);

   




  void (*realize_style) (GtkStyle   *new_style);

   


  void (*unrealize_style) (GtkStyle   *new_style);

   
  void (*destroy_rc_style)  (GtkRcStyle *rc_style);

   
  void (*destroy_style)     (GtkStyle   *style);

  void (*set_background) (GtkStyle     *style,
                          GdkWindow    *window,
                          GtkStateType  state_type);
};

GtkThemeEngine *gtk_theme_engine_get   (const gchar    *name);
void            gtk_theme_engine_ref   (GtkThemeEngine *engine);
void            gtk_theme_engine_unref (GtkThemeEngine *engine);









# 120 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtktipsquery.h" 1 3
 





















 


















 







 
typedef struct  _GtkTipsQuery           GtkTipsQuery;
typedef struct  _GtkTipsQueryClass      GtkTipsQueryClass;


 
struct  _GtkTipsQuery
{
  GtkLabel      label;

  guint         emit_always : 1;
  guint         in_query : 1;
  gchar         *label_inactive;
  gchar         *label_no_tip;

  GtkWidget     *caller;
  GtkWidget     *last_crossed;

  GdkCursor     *query_cursor;
};

struct  _GtkTipsQueryClass
{
  GtkLabelClass                 parent_class;

  void  (*start_query)          (GtkTipsQuery   *tips_query);
  void  (*stop_query)           (GtkTipsQuery   *tips_query);
  void  (*widget_entered)       (GtkTipsQuery   *tips_query,
                                 GtkWidget      *widget,
                                 const gchar    *tip_text,
                                 const gchar    *tip_private);
  gint  (*widget_selected)      (GtkTipsQuery   *tips_query,
                                 GtkWidget      *widget,
                                 const gchar    *tip_text,
                                 const gchar    *tip_private,
                                 GdkEventButton *event);
};


 
GtkType         gtk_tips_query_get_type         (void);
GtkWidget*      gtk_tips_query_new              (void);
void            gtk_tips_query_start_query      (GtkTipsQuery   *tips_query);
void            gtk_tips_query_stop_query       (GtkTipsQuery   *tips_query);
void            gtk_tips_query_set_caller       (GtkTipsQuery   *tips_query,
                                                 GtkWidget      *caller);
void            gtk_tips_query_set_labels       (GtkTipsQuery   *tips_query,
                                                 const gchar    *label_inactive,
                                                 const gchar    *label_no_tip);
     








# 121 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3


# 1 "/usr/include/gtk-1.2/gtk/gtktoolbar.h" 1 3
 



















 















# 1 "/usr/include/gtk-1.2/gtk/gtktooltips.h" 1 3
 


















 























typedef struct _GtkTooltips      GtkTooltips;
typedef struct _GtkTooltipsClass GtkTooltipsClass;
typedef struct _GtkTooltipsData  GtkTooltipsData;

struct _GtkTooltipsData
{
  GtkTooltips *tooltips;
  GtkWidget *widget;
  gchar *tip_text;
  gchar *tip_private;
  GdkFont *font;
  gint width;
  GList *row;
};

struct _GtkTooltips
{
  GtkData data;

  GtkWidget *tip_window;
  GtkTooltipsData *active_tips_data;
  GList *tips_data_list;

  GdkGC *gc;
  GdkColor *foreground;
  GdkColor *background;

  guint   delay : 30;
  guint   enabled : 1;
  gint    timer_tag;
};

struct _GtkTooltipsClass
{
  GtkDataClass parent_class;
};

GtkType          gtk_tooltips_get_type     (void);
GtkTooltips*     gtk_tooltips_new          (void);

void             gtk_tooltips_enable       (GtkTooltips   *tooltips);
void             gtk_tooltips_disable      (GtkTooltips   *tooltips);
void             gtk_tooltips_set_delay    (GtkTooltips   *tooltips,
                                            guint          delay);
void             gtk_tooltips_set_tip      (GtkTooltips   *tooltips,
                                            GtkWidget     *widget,
                                            const gchar   *tip_text,
                                            const gchar   *tip_private);
void             gtk_tooltips_set_colors   (GtkTooltips   *tooltips,
                                            GdkColor      *background,
                                            GdkColor      *foreground);
GtkTooltipsData* gtk_tooltips_data_get     (GtkWidget     *widget);
void             gtk_tooltips_force_window (GtkTooltips   *tooltips);









# 37 "/usr/include/gtk-1.2/gtk/gtktoolbar.h" 2 3














typedef enum
{
  GTK_TOOLBAR_CHILD_SPACE,
  GTK_TOOLBAR_CHILD_BUTTON,
  GTK_TOOLBAR_CHILD_TOGGLEBUTTON,
  GTK_TOOLBAR_CHILD_RADIOBUTTON,
  GTK_TOOLBAR_CHILD_WIDGET
} GtkToolbarChildType;

typedef enum
{
  GTK_TOOLBAR_SPACE_EMPTY,
  GTK_TOOLBAR_SPACE_LINE
} GtkToolbarSpaceStyle;

typedef struct _GtkToolbarChild      GtkToolbarChild;
typedef struct _GtkToolbar           GtkToolbar;
typedef struct _GtkToolbarClass      GtkToolbarClass;

struct _GtkToolbarChild
{
  GtkToolbarChildType type;
  GtkWidget *widget;
  GtkWidget *icon;
  GtkWidget *label;
};

struct _GtkToolbar
{
  GtkContainer container;

  gint             num_children;
  GList           *children;
  GtkOrientation   orientation;
  GtkToolbarStyle  style;
  gint             space_size;  
  GtkToolbarSpaceStyle space_style;

  GtkTooltips     *tooltips;

  gint             button_maxw;
  gint             button_maxh;
  GtkReliefStyle   relief;
};

struct _GtkToolbarClass
{
  GtkContainerClass parent_class;

  void (* orientation_changed) (GtkToolbar      *toolbar,
                                GtkOrientation   orientation);
  void (* style_changed)       (GtkToolbar      *toolbar,
                                GtkToolbarStyle  style);
};


GtkType    gtk_toolbar_get_type        (void);
GtkWidget* gtk_toolbar_new             (GtkOrientation   orientation,
                                        GtkToolbarStyle  style);

 
GtkWidget* gtk_toolbar_append_item     (GtkToolbar      *toolbar,
                                        const char      *text,
                                        const char      *tooltip_text,
                                        const char      *tooltip_private_text,
                                        GtkWidget       *icon,
                                        GtkSignalFunc    callback,
                                        gpointer         user_data);
GtkWidget* gtk_toolbar_prepend_item    (GtkToolbar      *toolbar,
                                        const char      *text,
                                        const char      *tooltip_text,
                                        const char      *tooltip_private_text,
                                        GtkWidget       *icon,
                                        GtkSignalFunc    callback,
                                        gpointer         user_data);
GtkWidget* gtk_toolbar_insert_item     (GtkToolbar      *toolbar,
                                        const char      *text,
                                        const char      *tooltip_text,
                                        const char      *tooltip_private_text,
                                        GtkWidget       *icon,
                                        GtkSignalFunc    callback,
                                        gpointer         user_data,
                                        gint             position);

 
void       gtk_toolbar_append_space    (GtkToolbar      *toolbar);
void       gtk_toolbar_prepend_space   (GtkToolbar      *toolbar);
void       gtk_toolbar_insert_space    (GtkToolbar      *toolbar,
                                        gint             position);

 
GtkWidget* gtk_toolbar_append_element  (GtkToolbar      *toolbar,
                                        GtkToolbarChildType type,
                                        GtkWidget       *widget,
                                        const char      *text,
                                        const char      *tooltip_text,
                                        const char      *tooltip_private_text,
                                        GtkWidget       *icon,
                                        GtkSignalFunc    callback,
                                        gpointer         user_data);

GtkWidget* gtk_toolbar_prepend_element (GtkToolbar      *toolbar,
                                        GtkToolbarChildType type,
                                        GtkWidget       *widget,
                                        const char      *text,
                                        const char      *tooltip_text,
                                        const char      *tooltip_private_text,
                                        GtkWidget       *icon,
                                        GtkSignalFunc    callback,
                                        gpointer         user_data);

GtkWidget* gtk_toolbar_insert_element  (GtkToolbar      *toolbar,
                                        GtkToolbarChildType type,
                                        GtkWidget       *widget,
                                        const char      *text,
                                        const char      *tooltip_text,
                                        const char      *tooltip_private_text,
                                        GtkWidget       *icon,
                                        GtkSignalFunc    callback,
                                        gpointer         user_data,
                                        gint             position);

 
void       gtk_toolbar_append_widget   (GtkToolbar      *toolbar,
                                        GtkWidget       *widget,
                                        const char      *tooltip_text,
                                        const char      *tooltip_private_text);
void       gtk_toolbar_prepend_widget  (GtkToolbar      *toolbar,
                                        GtkWidget       *widget,
                                        const char      *tooltip_text,
                                        const char      *tooltip_private_text);
void       gtk_toolbar_insert_widget   (GtkToolbar      *toolbar,
                                        GtkWidget       *widget,
                                        const char      *tooltip_text,
                                        const char      *tooltip_private_text,
                                        gint             position);

 
void       gtk_toolbar_set_orientation       (GtkToolbar           *toolbar,
                                              GtkOrientation        
orientation);
void       gtk_toolbar_set_style             (GtkToolbar           *toolbar,
                                              GtkToolbarStyle       style);
void       gtk_toolbar_set_space_size        (GtkToolbar           *toolbar,
                                              gint                  space_size);
void       gtk_toolbar_set_space_style       (GtkToolbar           *toolbar,
                                              GtkToolbarSpaceStyle  
space_style);
void       gtk_toolbar_set_tooltips          (GtkToolbar           *toolbar,
                                              gint                  enable);
void       gtk_toolbar_set_button_relief     (GtkToolbar           *toolbar,
                                              GtkReliefStyle        relief);
GtkReliefStyle gtk_toolbar_get_button_relief (GtkToolbar           *toolbar);







# 123 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3


# 1 "/usr/include/gtk-1.2/gtk/gtktree.h" 1 3
 


















 









 
 




















typedef enum 
{
  GTK_TREE_VIEW_LINE,   
  GTK_TREE_VIEW_ITEM
} GtkTreeViewMode;

typedef struct _GtkTree       GtkTree;
typedef struct _GtkTreeClass  GtkTreeClass;

struct _GtkTree
{
  GtkContainer container;
  
  GList *children;
  
  GtkTree* root_tree;  
  GtkWidget* tree_owner;
  GList *selection;
  guint level;
  guint indent_value;
  guint current_indent;
  guint selection_mode : 2;
  guint view_mode : 1;
  guint view_line : 1;
};

struct _GtkTreeClass
{
  GtkContainerClass parent_class;
  
  void (* selection_changed) (GtkTree   *tree);
  void (* select_child)      (GtkTree   *tree,
                              GtkWidget *child);
  void (* unselect_child)    (GtkTree   *tree,
                              GtkWidget *child);
};


GtkType    gtk_tree_get_type           (void);
GtkWidget* gtk_tree_new                (void);
void       gtk_tree_append             (GtkTree          *tree,
                                        GtkWidget        *tree_item);
void       gtk_tree_prepend            (GtkTree          *tree,
                                        GtkWidget        *tree_item);
void       gtk_tree_insert             (GtkTree          *tree,
                                        GtkWidget        *tree_item,
                                        gint              position);
void       gtk_tree_remove_items       (GtkTree          *tree,
                                        GList            *items);
void       gtk_tree_clear_items        (GtkTree          *tree,
                                        gint              start,
                                        gint              end);
void       gtk_tree_select_item        (GtkTree          *tree,
                                        gint              item);
void       gtk_tree_unselect_item      (GtkTree          *tree,
                                        gint              item);
void       gtk_tree_select_child       (GtkTree          *tree,
                                        GtkWidget        *tree_item);
void       gtk_tree_unselect_child     (GtkTree          *tree,
                                        GtkWidget        *tree_item);
gint       gtk_tree_child_position     (GtkTree          *tree,
                                        GtkWidget        *child);
void       gtk_tree_set_selection_mode (GtkTree          *tree,
                                        GtkSelectionMode  mode);
void       gtk_tree_set_view_mode      (GtkTree          *tree,
                                        GtkTreeViewMode   mode); 
void       gtk_tree_set_view_lines     (GtkTree          *tree,
                                        guint            flag);

 

void       gtk_tree_remove_item        (GtkTree          *tree,
                                        GtkWidget        *child);








# 125 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtktreeitem.h" 1 3
 


















 




























typedef struct _GtkTreeItem       GtkTreeItem;
typedef struct _GtkTreeItemClass  GtkTreeItemClass;

struct _GtkTreeItem
{
  GtkItem item;

  GtkWidget *subtree;
  GtkWidget *pixmaps_box;
  GtkWidget *plus_pix_widget, *minus_pix_widget;

  GList *pixmaps;                

  guint expanded : 1;
};

struct _GtkTreeItemClass
{
  GtkItemClass parent_class;

  void (* expand)   (GtkTreeItem *tree_item);
  void (* collapse) (GtkTreeItem *tree_item);
};


GtkType    gtk_tree_item_get_type       (void);
GtkWidget* gtk_tree_item_new            (void);
GtkWidget* gtk_tree_item_new_with_label (const gchar *label);
void       gtk_tree_item_set_subtree    (GtkTreeItem *tree_item,
                                         GtkWidget   *subtree);
void       gtk_tree_item_remove_subtree (GtkTreeItem *tree_item);
void       gtk_tree_item_select         (GtkTreeItem *tree_item);
void       gtk_tree_item_deselect       (GtkTreeItem *tree_item);
void       gtk_tree_item_expand         (GtkTreeItem *tree_item);
void       gtk_tree_item_collapse       (GtkTreeItem *tree_item);








# 126 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3



# 1 "/usr/include/gtk-1.2/gtk/gtkvbbox.h" 1 3
 


















 























typedef struct _GtkVButtonBox       GtkVButtonBox;
typedef struct _GtkVButtonBoxClass  GtkVButtonBoxClass;

struct _GtkVButtonBox
{
  GtkButtonBox button_box;
};

struct _GtkVButtonBoxClass
{
  GtkButtonBoxClass parent_class;
};


guint      gtk_vbutton_box_get_type (void);
GtkWidget *gtk_vbutton_box_new      (void);

 

gint gtk_vbutton_box_get_spacing_default (void);
void gtk_vbutton_box_set_spacing_default (gint spacing);

GtkButtonBoxStyle gtk_vbutton_box_get_layout_default (void);
void gtk_vbutton_box_set_layout_default (GtkButtonBoxStyle layout);








# 129 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3


# 1 "/usr/include/gtk-1.2/gtk/gtkvpaned.h" 1 3
 


















 
























typedef struct _GtkVPaned       GtkVPaned;
typedef struct _GtkVPanedClass  GtkVPanedClass;

struct _GtkVPaned
{
  GtkPaned paned;
};

struct _GtkVPanedClass
{
  GtkPanedClass parent_class;
};


guint      gtk_vpaned_get_type (void);
GtkWidget* gtk_vpaned_new      (void);








# 131 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkvruler.h" 1 3
 


















 
























typedef struct _GtkVRuler       GtkVRuler;
typedef struct _GtkVRulerClass  GtkVRulerClass;

struct _GtkVRuler
{
  GtkRuler ruler;
};

struct _GtkVRulerClass
{
  GtkRulerClass parent_class;
};


guint      gtk_vruler_get_type (void);
GtkWidget* gtk_vruler_new      (void);








# 132 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3

# 1 "/usr/include/gtk-1.2/gtk/gtkvscale.h" 1 3
 


















 


























typedef struct _GtkVScale       GtkVScale;
typedef struct _GtkVScaleClass  GtkVScaleClass;

struct _GtkVScale
{
  GtkScale scale;
};

struct _GtkVScaleClass
{
  GtkScaleClass parent_class;
};


GtkType    gtk_vscale_get_type (void);
GtkWidget* gtk_vscale_new      (GtkAdjustment *adjustment);








# 133 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3


# 1 "/usr/include/gtk-1.2/gtk/gtkvseparator.h" 1 3
 


















 


























typedef struct _GtkVSeparator       GtkVSeparator;
typedef struct _GtkVSeparatorClass  GtkVSeparatorClass;

struct _GtkVSeparator
{
  GtkSeparator separator;
};

struct _GtkVSeparatorClass
{
  GtkSeparatorClass parent_class;
};


GtkType    gtk_vseparator_get_type (void);
GtkWidget* gtk_vseparator_new      (void);








# 135 "/usr/include/gtk-1.2/gtk/gtk.h" 2 3






# 27 "guile-gtk.c" 2

# 1 "/usr/include/gtk-1.2/gdk/gdkprivate.h" 1 3
 


















 










# 1 "/usr/X11R6/include/X11/Xlib.h" 1
 
 




















 


 




















# 1 "/usr/include/sys/types.h" 1 3
 

















 








 




typedef __u_char u_char;
typedef __u_short u_short;
typedef __u_int u_int;
typedef __u_long u_long;
typedef __quad_t quad_t;
typedef __u_quad_t u_quad_t;
typedef __fsid_t fsid_t;


typedef __loff_t loff_t;



typedef __ino_t ino_t;











typedef __dev_t dev_t;




typedef __gid_t gid_t;




typedef __mode_t mode_t;




typedef __nlink_t nlink_t;




typedef __uid_t uid_t;





typedef __off_t off_t;











typedef __pid_t pid_t;




typedef __id_t id_t;




typedef __ssize_t ssize_t;




typedef __daddr_t daddr_t;
typedef __caddr_t caddr_t;



typedef __key_t key_t;









# 1 "/usr/include/time.h" 1 3
 

















 














# 51 "/usr/include/time.h" 3


# 61 "/usr/include/time.h" 3








 
typedef __time_t time_t;










 
typedef __clockid_t clockid_t;










 
typedef __timer_t timer_t;





# 112 "/usr/include/time.h" 3




# 364 "/usr/include/time.h" 3



# 126 "/usr/include/sys/types.h" 2 3


# 137 "/usr/include/sys/types.h" 3



# 1 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 1 3






 


# 19 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3



 


 





 


# 61 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


 





 


















 





 

 

# 131 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


 

 


# 188 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3





 




 

# 271 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


# 283 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


 

 

# 317 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3




 





















# 140 "/usr/include/sys/types.h" 2 3



 
typedef unsigned long int ulong;
typedef unsigned short int ushort;
typedef unsigned int uint;


 

# 174 "/usr/include/sys/types.h" 3


 







typedef int int8_t __attribute__ ((__mode__ (  __QI__ ))) ;
typedef int int16_t __attribute__ ((__mode__ (  __HI__ ))) ;
typedef int int32_t __attribute__ ((__mode__ (  __SI__ ))) ;
typedef int int64_t __attribute__ ((__mode__ (  __DI__ ))) ;


typedef unsigned int u_int8_t __attribute__ ((__mode__ (  __QI__ ))) ;
typedef unsigned int u_int16_t __attribute__ ((__mode__ (  __HI__ ))) ;
typedef unsigned int u_int32_t __attribute__ ((__mode__ (  __SI__ ))) ;
typedef unsigned int u_int64_t __attribute__ ((__mode__ (  __DI__ ))) ;

typedef int register_t __attribute__ ((__mode__ (__word__)));


 






 


 
# 1 "/usr/include/sys/select.h" 1 3
 


















 






 


 
# 1 "/usr/include/bits/select.h" 1 3
 

























# 36 "/usr/include/bits/select.h" 3












# 56 "/usr/include/bits/select.h" 3

# 72 "/usr/include/bits/select.h" 3

# 31 "/usr/include/sys/select.h" 2 3


 
# 1 "/usr/include/bits/sigset.h" 1 3
 





















typedef int __sig_atomic_t;

 


typedef struct
  {
    unsigned long int __val[(1024 / (8 * sizeof (unsigned long int))) ];
  } __sigset_t;




 





# 125 "/usr/include/bits/sigset.h" 3

# 34 "/usr/include/sys/select.h" 2 3




typedef __sigset_t sigset_t;


 

# 1 "/usr/include/time.h" 1 3
 

















 














# 51 "/usr/include/time.h" 3


# 61 "/usr/include/time.h" 3



# 72 "/usr/include/time.h" 3



# 84 "/usr/include/time.h" 3



# 96 "/usr/include/time.h" 3








 

struct timespec
  {
    long int tv_sec;             
    long int tv_nsec;            
  };





# 364 "/usr/include/time.h" 3



# 43 "/usr/include/sys/select.h" 2 3


# 1 "/usr/include/bits/time.h" 1 3
 


















 



# 57 "/usr/include/bits/time.h" 3








 

struct timeval
  {
    __time_t tv_sec;             
    __suseconds_t tv_usec;       
  };


# 45 "/usr/include/sys/select.h" 2 3



 
typedef long int __fd_mask;

 




 
typedef struct
  {
     





    __fd_mask __fds_bits[1024  / (8 * sizeof (__fd_mask)) ];


  } fd_set;

 



 
typedef __fd_mask fd_mask;

 




 






 

 




extern int select (int __nfds, fd_set *__restrict __readfds,
                   fd_set *__restrict __writefds,
                   fd_set *__restrict __exceptfds,
                   struct timeval *__restrict __timeout)  ;

# 110 "/usr/include/sys/select.h" 3


 


# 209 "/usr/include/sys/types.h" 2 3


 
# 1 "/usr/include/sys/sysmacros.h" 1 3
 





















 








# 47 "/usr/include/sys/sysmacros.h" 3



# 212 "/usr/include/sys/types.h" 2 3









 


typedef __blkcnt_t blkcnt_t;      



typedef __fsblkcnt_t fsblkcnt_t;  



typedef __fsfilcnt_t fsfilcnt_t;  


# 248 "/usr/include/sys/types.h" 3








 


# 47 "/usr/X11R6/include/X11/Xlib.h" 2




# 1 "/usr/X11R6/include/X11/X.h" 1
 



 




 









































 




 

 







typedef unsigned long XID;



typedef unsigned long Mask;



typedef unsigned long Atom;              

typedef unsigned long VisualID;
typedef unsigned long Time;
# 95 "/usr/X11R6/include/X11/X.h"


typedef XID Window;
typedef XID Drawable;


typedef XID Font;

typedef XID Pixmap;
typedef XID Cursor;
typedef XID Colormap;
typedef XID GContext;
typedef XID KeySym;

typedef unsigned char KeyCode;

 
































 



 





























 







































 











 












 











 









 







                       
 










 





 




 





 




 




 




 







 










 





 














# 365 "/usr/X11R6/include/X11/X.h"











 



 
 




 

















 










 













 



 





 





 




 





 







 




 





 



 


















 





 






 





 






 




 




 






 




 





 




 



























 



 






 



 





 



 





 





 



 





 










 


















 














 




 



 




 




 











 





# 51 "/usr/X11R6/include/X11/Xlib.h" 2


 
# 1 "/usr/X11R6/include/X11/Xfuncproto.h" 1
 
 





















 



























































# 54 "/usr/X11R6/include/X11/Xlib.h" 2

# 1 "/usr/X11R6/include/X11/Xosdefs.h" 1
 






















 




 








































  








# 88 "/usr/X11R6/include/X11/Xosdefs.h"










































# 55 "/usr/X11R6/include/X11/Xlib.h" 2













# 1 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 1 3






 







 

 




 


 





 


# 61 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


 





 


















 





 

 





















typedef int ptrdiff_t;









 




 

 


# 188 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3





 




 


# 269 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3
















 

 

# 317 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3




 













 







# 68 "/usr/X11R6/include/X11/Xlib.h" 2

# 80 "/usr/X11R6/include/X11/Xlib.h"










 



typedef char *XPointer;













































 






















 


typedef struct _XExtData {
        int number;              
        struct _XExtData *next;  
        int (*free_private)(     

        struct _XExtData *extension

        );
        XPointer private_data;   
} XExtData;

 


typedef struct {                 
        int extension;           
        int major_opcode;        
        int first_event;         
        int first_error;         
} XExtCodes;

 



typedef struct {
    int depth;
    int bits_per_pixel;
    int scanline_pad;
} XPixmapFormatValues;


 


typedef struct {
        int function;            
        unsigned long plane_mask; 
        unsigned long foreground; 
        unsigned long background; 
        int line_width;          
        int line_style;          
        int cap_style;           

        int join_style;          
        int fill_style;          

        int fill_rule;           
        int arc_mode;            
        Pixmap tile;             
        Pixmap stipple;          
        int ts_x_origin;         
        int ts_y_origin;
        Font font;               
        int subwindow_mode;      
        int  graphics_exposures; 
        int clip_x_origin;       
        int clip_y_origin;
        Pixmap clip_mask;        
        int dash_offset;         
        char dashes;
} XGCValues;

 




typedef struct _XGC







*GC;

 


typedef struct {
        XExtData *ext_data;      
        VisualID visualid;       



        int class;               

        unsigned long red_mask, green_mask, blue_mask;   
        int bits_per_rgb;        
        int map_entries;         
} Visual;

 

        
typedef struct {
        int depth;               
        int nvisuals;            
        Visual *visuals;         
} Depth;

 





struct _XDisplay;                

typedef struct {
        XExtData *ext_data;      
        struct _XDisplay *display; 
        Window root;             
        int width, height;       
        int mwidth, mheight;     
        int ndepths;             
        Depth *depths;           
        int root_depth;          
        Visual *root_visual;     
        GC default_gc;           
        Colormap cmap;           
        unsigned long white_pixel;
        unsigned long black_pixel;       
        int max_maps, min_maps;  
        int backing_store;       
        int  save_unders;       
        long root_input_mask;    
} Screen;

 


typedef struct {
        XExtData *ext_data;      
        int depth;               
        int bits_per_pixel;      
        int scanline_pad;        
} ScreenFormat;

 


typedef struct {
    Pixmap background_pixmap;    
    unsigned long background_pixel;      
    Pixmap border_pixmap;        
    unsigned long border_pixel;  
    int bit_gravity;             
    int win_gravity;             
    int backing_store;           
    unsigned long backing_planes; 
    unsigned long backing_pixel; 
    int  save_under;             
    long event_mask;             
    long do_not_propagate_mask;  
    int  override_redirect;      
    Colormap colormap;           
    Cursor cursor;               
} XSetWindowAttributes;

typedef struct {
    int x, y;                    
    int width, height;           
    int border_width;            
    int depth;                   
    Visual *visual;              
    Window root;                 



    int class;                   

    int bit_gravity;             
    int win_gravity;             
    int backing_store;           
    unsigned long backing_planes; 
    unsigned long backing_pixel; 
    int  save_under;             
    Colormap colormap;           
    int  map_installed;          
    int map_state;               
    long all_event_masks;        
    long your_event_mask;        
    long do_not_propagate_mask;  
    int  override_redirect;      
    Screen *screen;              
} XWindowAttributes;

 




typedef struct {
        int family;              
        int length;              
        char *address;           
} XHostAddress;

 


typedef struct _XImage {
    int width, height;           
    int xoffset;                 
    int format;                  
    char *data;                  
    int byte_order;              
    int bitmap_unit;             
    int bitmap_bit_order;        
    int bitmap_pad;              
    int depth;                   
    int bytes_per_line;          
    int bits_per_pixel;          
    unsigned long red_mask;      
    unsigned long green_mask;
    unsigned long blue_mask;
    XPointer obdata;             
    struct funcs {               

        struct _XImage *(*create_image)(
                struct _XDisplay*  ,
                Visual*          ,
                unsigned int     ,
                int              ,
                int              ,
                char*            ,
                unsigned int     ,
                unsigned int     ,
                int              ,
                int              );
        int (*destroy_image)        (struct _XImage *);
        unsigned long (*get_pixel)  (struct _XImage *, int, int);
        int (*put_pixel)            (struct _XImage *, int, int, unsigned long);
        struct _XImage *(*sub_image)(struct _XImage *, int, int, unsigned int, 
unsigned int);
        int (*add_pixel)            (struct _XImage *, long);








        } f;
} XImage;

 


typedef struct {
    int x, y;
    int width, height;
    int border_width;
    Window sibling;
    int stack_mode;
} XWindowChanges;

 


typedef struct {
        unsigned long pixel;
        unsigned short red, green, blue;
        char flags;   
        char pad;
} XColor;

 




typedef struct {
    short x1, y1, x2, y2;
} XSegment;

typedef struct {
    short x, y;
} XPoint;
    
typedef struct {
    short x, y;
    unsigned short width, height;
} XRectangle;
    
typedef struct {
    short x, y;
    unsigned short width, height;
    short angle1, angle2;
} XArc;


 

typedef struct {
        int key_click_percent;
        int bell_percent;
        int bell_pitch;
        int bell_duration;
        int led;
        int led_mode;
        int key;
        int auto_repeat_mode;    
} XKeyboardControl;

 

typedef struct {
        int key_click_percent;
        int bell_percent;
        unsigned int bell_pitch, bell_duration;
        unsigned long led_mask;
        int global_auto_repeat;
        char auto_repeats[32];
} XKeyboardState;

 

typedef struct {
        Time time;
        short x, y;
} XTimeCoord;

 

typedef struct {
        int max_keypermod;       
        KeyCode *modifiermap;    
} XModifierKeymap;


 





typedef struct _XDisplay Display;


struct _XPrivate;                
struct _XrmHashBucketRec;

typedef struct 



{
        XExtData *ext_data;      
        struct _XPrivate *private1;
        int fd;                  
        int private2;
        int proto_major_version; 
        int proto_minor_version; 
        char *vendor;            
        XID private3;
        XID private4;
        XID private5;
        int private6;
        XID (*resource_alloc)(   

                struct _XDisplay*

        );
        int byte_order;          
        int bitmap_unit;         
        int bitmap_pad;          
        int bitmap_bit_order;    
        int nformats;            
        ScreenFormat *pixmap_format;     
        int private8;
        int release;             
        struct _XPrivate *private9, *private10;
        int qlen;                
        unsigned long last_request_read;  
        unsigned long request;   
        XPointer private11;
        XPointer private12;
        XPointer private13;
        XPointer private14;
        unsigned max_request_size;  
        struct _XrmHashBucketRec *db;
        int (*private15)(

                struct _XDisplay*

                );
        char *display_name;      
        int default_screen;      
        int nscreens;            
        Screen *screens;         
        unsigned long motion_buffer;     
        unsigned long private16;
        int min_keycode;         
        int max_keycode;         
        XPointer private17;
        XPointer private18;
        int private19;
        char *xdefaults;         
         
}



*_XPrivDisplay;





 


typedef struct {
        int type;                
        unsigned long serial;    
        int  send_event;         
        Display *display;        
        Window window;           
        Window root;             
        Window subwindow;        
        Time time;               
        int x, y;                
        int x_root, y_root;      
        unsigned int state;      
        unsigned int keycode;    
        int  same_screen;        
} XKeyEvent;
typedef XKeyEvent XKeyPressedEvent;
typedef XKeyEvent XKeyReleasedEvent;

typedef struct {
        int type;                
        unsigned long serial;    
        int  send_event;         
        Display *display;        
        Window window;           
        Window root;             
        Window subwindow;        
        Time time;               
        int x, y;                
        int x_root, y_root;      
        unsigned int state;      
        unsigned int button;     
        int  same_screen;        
} XButtonEvent;
typedef XButtonEvent XButtonPressedEvent;
typedef XButtonEvent XButtonReleasedEvent;

typedef struct {
        int type;                
        unsigned long serial;    
        int  send_event;         
        Display *display;        
        Window window;           
        Window root;             
        Window subwindow;        
        Time time;               
        int x, y;                
        int x_root, y_root;      
        unsigned int state;      
        char is_hint;            
        int  same_screen;        
} XMotionEvent;
typedef XMotionEvent XPointerMovedEvent;

typedef struct {
        int type;                
        unsigned long serial;    
        int  send_event;         
        Display *display;        
        Window window;           
        Window root;             
        Window subwindow;        
        Time time;               
        int x, y;                
        int x_root, y_root;      
        int mode;                
        int detail;
         



        int  same_screen;        
        int  focus;              
        unsigned int state;      
} XCrossingEvent;
typedef XCrossingEvent XEnterWindowEvent;
typedef XCrossingEvent XLeaveWindowEvent;

typedef struct {
        int type;                
        unsigned long serial;    
        int  send_event;         
        Display *display;        
        Window window;           
        int mode;                
        int detail;
         




} XFocusChangeEvent;
typedef XFocusChangeEvent XFocusInEvent;
typedef XFocusChangeEvent XFocusOutEvent;

 
typedef struct {
        int type;
        unsigned long serial;    
        int  send_event;         
        Display *display;        
        Window window;
        char key_vector[32];
} XKeymapEvent; 

typedef struct {
        int type;
        unsigned long serial;    
        int  send_event;         
        Display *display;        
        Window window;
        int x, y;
        int width, height;
        int count;               
} XExposeEvent;

typedef struct {
        int type;
        unsigned long serial;    
        int  send_event;         
        Display *display;        
        Drawable drawable;
        int x, y;
        int width, height;
        int count;               
        int major_code;          
        int minor_code;          
} XGraphicsExposeEvent;

typedef struct {
        int type;
        unsigned long serial;    
        int  send_event;         
        Display *display;        
        Drawable drawable;
        int major_code;          
        int minor_code;          
} XNoExposeEvent;

typedef struct {
        int type;
        unsigned long serial;    
        int  send_event;         
        Display *display;        
        Window window;
        int state;               
} XVisibilityEvent;

typedef struct {
        int type;
        unsigned long serial;    
        int  send_event;         
        Display *display;        
        Window parent;           
        Window window;           
        int x, y;                
        int width, height;       
        int border_width;        
        int  override_redirect;  
} XCreateWindowEvent;

typedef struct {
        int type;
        unsigned long serial;    
        int  send_event;         
        Display *display;        
        Window event;
        Window window;
} XDestroyWindowEvent;

typedef struct {
        int type;
        unsigned long serial;    
        int  send_event;         
        Display *display;        
        Window event;
        Window window;
        int  from_configure;
} XUnmapEvent;

typedef struct {
        int type;
        unsigned long serial;    
        int  send_event;         
        Display *display;        
        Window event;
        Window window;
        int  override_redirect;  
} XMapEvent;

typedef struct {
        int type;
        unsigned long serial;    
        int  send_event;         
        Display *display;        
        Window parent;
        Window window;
} XMapRequestEvent;

typedef struct {
        int type;
        unsigned long serial;    
        int  send_event;         
        Display *display;        
        Window event;
        Window window;
        Window parent;
        int x, y;
        int  override_redirect;
} XReparentEvent;

typedef struct {
        int type;
        unsigned long serial;    
        int  send_event;         
        Display *display;        
        Window event;
        Window window;
        int x, y;
        int width, height;
        int border_width;
        Window above;
        int  override_redirect;
} XConfigureEvent;

typedef struct {
        int type;
        unsigned long serial;    
        int  send_event;         
        Display *display;        
        Window event;
        Window window;
        int x, y;
} XGravityEvent;

typedef struct {
        int type;
        unsigned long serial;    
        int  send_event;         
        Display *display;        
        Window window;
        int width, height;
} XResizeRequestEvent;

typedef struct {
        int type;
        unsigned long serial;    
        int  send_event;         
        Display *display;        
        Window parent;
        Window window;
        int x, y;
        int width, height;
        int border_width;
        Window above;
        int detail;              
        unsigned long value_mask;
} XConfigureRequestEvent;

typedef struct {
        int type;
        unsigned long serial;    
        int  send_event;         
        Display *display;        
        Window event;
        Window window;
        int place;               
} XCirculateEvent;

typedef struct {
        int type;
        unsigned long serial;    
        int  send_event;         
        Display *display;        
        Window parent;
        Window window;
        int place;               
} XCirculateRequestEvent;

typedef struct {
        int type;
        unsigned long serial;    
        int  send_event;         
        Display *display;        
        Window window;
        Atom atom;
        Time time;
        int state;               
} XPropertyEvent;

typedef struct {
        int type;
        unsigned long serial;    
        int  send_event;         
        Display *display;        
        Window window;
        Atom selection;
        Time time;
} XSelectionClearEvent;

typedef struct {
        int type;
        unsigned long serial;    
        int  send_event;         
        Display *display;        
        Window owner;
        Window requestor;
        Atom selection;
        Atom target;
        Atom property;
        Time time;
} XSelectionRequestEvent;

typedef struct {
        int type;
        unsigned long serial;    
        int  send_event;         
        Display *display;        
        Window requestor;
        Atom selection;
        Atom target;
        Atom property;           
        Time time;
} XSelectionEvent;

typedef struct {
        int type;
        unsigned long serial;    
        int  send_event;         
        Display *display;        
        Window window;
        Colormap colormap;       



        int  new;

        int state;               
} XColormapEvent;

typedef struct {
        int type;
        unsigned long serial;    
        int  send_event;         
        Display *display;        
        Window window;
        Atom message_type;
        int format;
        union {
                char b[20];
                short s[10];
                long l[5];
                } data;
} XClientMessageEvent;

typedef struct {
        int type;
        unsigned long serial;    
        int  send_event;         
        Display *display;        
        Window window;           
        int request;             

        int first_keycode;       
        int count;               
} XMappingEvent;

typedef struct {
        int type;
        Display *display;        
        XID resourceid;          
        unsigned long serial;    
        unsigned char error_code;        
        unsigned char request_code;      
        unsigned char minor_code;        
} XErrorEvent;

typedef struct {
        int type;
        unsigned long serial;    
        int  send_event;         
        Display *display; 
        Window window;   
} XAnyEvent;

 



typedef union _XEvent {
        int type;                
        XAnyEvent xany;
        XKeyEvent xkey;
        XButtonEvent xbutton;
        XMotionEvent xmotion;
        XCrossingEvent xcrossing;
        XFocusChangeEvent xfocus;
        XExposeEvent xexpose;
        XGraphicsExposeEvent xgraphicsexpose;
        XNoExposeEvent xnoexpose;
        XVisibilityEvent xvisibility;
        XCreateWindowEvent xcreatewindow;
        XDestroyWindowEvent xdestroywindow;
        XUnmapEvent xunmap;
        XMapEvent xmap;
        XMapRequestEvent xmaprequest;
        XReparentEvent xreparent;
        XConfigureEvent xconfigure;
        XGravityEvent xgravity;
        XResizeRequestEvent xresizerequest;
        XConfigureRequestEvent xconfigurerequest;
        XCirculateEvent xcirculate;
        XCirculateRequestEvent xcirculaterequest;
        XPropertyEvent xproperty;
        XSelectionClearEvent xselectionclear;
        XSelectionRequestEvent xselectionrequest;
        XSelectionEvent xselection;
        XColormapEvent xcolormap;
        XClientMessageEvent xclient;
        XMappingEvent xmapping;
        XErrorEvent xerror;
        XKeymapEvent xkeymap;
        long pad[24];
} XEvent;




 


typedef struct {
    short       lbearing;        
    short       rbearing;        
    short       width;           
    short       ascent;          
    short       descent;         
    unsigned short attributes;   
} XCharStruct;

 



typedef struct {
    Atom name;
    unsigned long card32;
} XFontProp;

typedef struct {
    XExtData    *ext_data;       
    Font        fid;             
    unsigned    direction;       
    unsigned    min_char_or_byte2; 
    unsigned    max_char_or_byte2; 
    unsigned    min_byte1;       
    unsigned    max_byte1;       
    int         all_chars_exist; 
    unsigned    default_char;    
    int         n_properties;    
    XFontProp   *properties;     
    XCharStruct min_bounds;      
    XCharStruct max_bounds;      
    XCharStruct *per_char;       
    int         ascent;          
    int         descent;         
} XFontStruct;

 


typedef struct {
    char *chars;                 
    int nchars;                  
    int delta;                   
    Font font;                   
} XTextItem;

typedef struct {                 
    unsigned char byte1;
    unsigned char byte2;
} XChar2b;

typedef struct {
    XChar2b *chars;              
    int nchars;                  
    int delta;                   
    Font font;                   
} XTextItem16;


typedef union { Display *display;
                GC gc;
                Visual *visual;
                Screen *screen;
                ScreenFormat *pixmap_format;
                XFontStruct *font; } XEDataObject;

typedef struct {
    XRectangle      max_ink_extent;
    XRectangle      max_logical_extent;
} XFontSetExtents;

 



typedef struct _XOM *XOM;
typedef struct _XOC *XOC, *XFontSet;

typedef struct {
    char           *chars;
    int             nchars;
    int             delta;
    XFontSet        font_set;
} XmbTextItem;

typedef struct {
    wchar_t        *chars;
    int             nchars;
    int             delta;
    XFontSet        font_set;
} XwcTextItem;












typedef struct {
    int charset_count;
    char **charset_list;
} XOMCharSetList;

typedef enum {
    XOMOrientation_LTR_TTB,
    XOMOrientation_RTL_TTB,
    XOMOrientation_TTB_LTR,
    XOMOrientation_TTB_RTL,
    XOMOrientation_Context
} XOrientation;

typedef struct {
    int num_orientation;
    XOrientation *orientation;   
} XOMOrientation;

typedef struct {
    int num_font;
    XFontStruct **font_struct_list;
    char **font_name_list;
} XOMFontInfo;

typedef struct _XIM *XIM;
typedef struct _XIC *XIC;

typedef void (*XIMProc)(

    XIM,
    XPointer,
    XPointer

);

typedef int  (*XICProc)(

    XIC,
    XPointer,
    XPointer

);

typedef void (*XIDProc)(

    Display*,
    XPointer,
    XPointer

);

typedef unsigned long XIMStyle;

typedef struct {
    unsigned short count_styles;
    XIMStyle *supported_styles;
} XIMStyles;






























































typedef void *XVaNestedList;




typedef struct {
    XPointer client_data;
    XIMProc callback;
} XIMCallback;

typedef struct {
    XPointer client_data;
    XICProc callback;
} XICCallback;

typedef unsigned long XIMFeedback;











typedef struct _XIMText {
    unsigned short length;
    XIMFeedback *feedback;
    int  encoding_is_wchar; 
    union {
        char *multi_byte;
        wchar_t *wide_char;
    } string; 
} XIMText;

typedef unsigned long    XIMPreeditState;





typedef struct  _XIMPreeditStateNotifyCallbackStruct {
    XIMPreeditState state;
} XIMPreeditStateNotifyCallbackStruct;

typedef unsigned long    XIMResetState;




typedef unsigned long XIMStringConversionFeedback;








typedef struct _XIMStringConversionText {
    unsigned short length;
    XIMStringConversionFeedback *feedback;
    int  encoding_is_wchar; 
    union {
        char *mbs;
        wchar_t *wcs;
    } string; 
} XIMStringConversionText;

typedef unsigned short  XIMStringConversionPosition;

typedef unsigned short  XIMStringConversionType;






typedef unsigned short  XIMStringConversionOperation;




typedef enum {
    XIMForwardChar, XIMBackwardChar,
    XIMForwardWord, XIMBackwardWord,
    XIMCaretUp, XIMCaretDown,
    XIMNextLine, XIMPreviousLine,
    XIMLineStart, XIMLineEnd, 
    XIMAbsolutePosition,
    XIMDontChange
} XIMCaretDirection;

typedef struct _XIMStringConversionCallbackStruct {
    XIMStringConversionPosition position;
    XIMCaretDirection direction;
    XIMStringConversionOperation operation;
    unsigned short factor;
    XIMStringConversionText *text;
} XIMStringConversionCallbackStruct;

typedef struct _XIMPreeditDrawCallbackStruct {
    int caret;           
    int chg_first;       
    int chg_length;      
    XIMText *text;
} XIMPreeditDrawCallbackStruct;

typedef enum {
    XIMIsInvisible,       
    XIMIsPrimary,        
    XIMIsSecondary       
} XIMCaretStyle;

typedef struct _XIMPreeditCaretCallbackStruct {
    int position;                 
    XIMCaretDirection direction;  
    XIMCaretStyle style;          
} XIMPreeditCaretCallbackStruct;

typedef enum {
    XIMTextType,
    XIMBitmapType
} XIMStatusDataType;
        
typedef struct _XIMStatusDrawCallbackStruct {
    XIMStatusDataType type;
    union {
        XIMText *text;
        Pixmap  bitmap;
    } data;
} XIMStatusDrawCallbackStruct;

typedef struct _XIMHotKeyTrigger {
    KeySym       keysym;
    int          modifier;
    int          modifier_mask;
} XIMHotKeyTrigger;

typedef struct _XIMHotKeyTriggers {
    int                  num_hot_key;
    XIMHotKeyTrigger    *key;
} XIMHotKeyTriggers;

typedef unsigned long    XIMHotKeyState;




typedef struct {
    unsigned short count_values;
    char **supported_values;
} XIMValuesList;

 





extern int _Xdebug;

extern XFontStruct *XLoadQueryFont(

    Display*             ,
    const  char*         

);

extern XFontStruct *XQueryFont(

    Display*             ,
    XID                  

);


extern XTimeCoord *XGetMotionEvents(

    Display*             ,
    Window               ,
    Time                 ,
    Time                 ,
    int*                 

);

extern XModifierKeymap *XDeleteModifiermapEntry(

    XModifierKeymap*     ,

    unsigned int         ,



    int                  

);

extern XModifierKeymap  *XGetModifierMapping(

    Display*             

);

extern XModifierKeymap  *XInsertModifiermapEntry(

    XModifierKeymap*     ,

    unsigned int         ,



    int                      

);

extern XModifierKeymap *XNewModifiermap(

    int                  

);

extern XImage *XCreateImage(

    Display*             ,
    Visual*              ,
    unsigned int         ,
    int                  ,
    int                  ,
    char*                ,
    unsigned int         ,
    unsigned int         ,
    int                  ,
    int                  

);
extern int  XInitImage(

    XImage*              

);
extern XImage *XGetImage(

    Display*             ,
    Drawable             ,
    int                  ,
    int                  ,
    unsigned int         ,
    unsigned int         ,
    unsigned long        ,
    int                  

);
extern XImage *XGetSubImage(

    Display*             ,
    Drawable             ,
    int                  ,
    int                  ,
    unsigned int         ,
    unsigned int         ,
    unsigned long        ,
    int                  ,
    XImage*              ,
    int                  ,
    int                  

);

 


extern Display *XOpenDisplay(

    const  char*         

);

extern void XrmInitialize(

    void

);

extern char *XFetchBytes(

    Display*             ,
    int*                 

);
extern char *XFetchBuffer(

    Display*             ,
    int*                 ,
    int                  

);
extern char *XGetAtomName(

    Display*             ,
    Atom                 

);
extern int  XGetAtomNames(

    Display*             ,
    Atom*                ,
    int                  ,
    char**               

);
extern char *XGetDefault(

    Display*             ,
    const  char*         ,
    const  char*                          

);
extern char *XDisplayName(

    const  char*         

);
extern char *XKeysymToString(

    KeySym               

);

extern int (*XSynchronize(

    Display*             ,
    int                  

))(

    Display*             

);
extern int (*XSetAfterFunction(

    Display*             ,
    int (*) (

             Display*    

            )            

))(

    Display*             

);
extern Atom XInternAtom(

    Display*             ,
    const  char*         ,
    int                                  

);
extern int  XInternAtoms(

    Display*             ,
    char**               ,
    int                  ,
    int                  ,
    Atom*                

);
extern Colormap XCopyColormapAndFree(

    Display*             ,
    Colormap             

);
extern Colormap XCreateColormap(

    Display*             ,
    Window               ,
    Visual*              ,
    int                                          

);
extern Cursor XCreatePixmapCursor(

    Display*             ,
    Pixmap               ,
    Pixmap               ,
    XColor*              ,
    XColor*              ,
    unsigned int         ,
    unsigned int                                   

);
extern Cursor XCreateGlyphCursor(

    Display*             ,
    Font                 ,
    Font                 ,
    unsigned int         ,
    unsigned int         ,
    XColor const  *      ,
    XColor const  *      

);
extern Cursor XCreateFontCursor(

    Display*             ,
    unsigned int         

);
extern Font XLoadFont(

    Display*             ,
    const  char*         

);
extern GC XCreateGC(

    Display*             ,
    Drawable             ,
    unsigned long        ,
    XGCValues*           

);
extern GContext XGContextFromGC(

    GC                   

);
extern void XFlushGC(

    Display*             ,
    GC                   

);
extern Pixmap XCreatePixmap(

    Display*             ,
    Drawable             ,
    unsigned int         ,
    unsigned int         ,
    unsigned int                                

);
extern Pixmap XCreateBitmapFromData(

    Display*             ,
    Drawable             ,
    const  char*         ,
    unsigned int         ,
    unsigned int         

);
extern Pixmap XCreatePixmapFromBitmapData(

    Display*             ,
    Drawable             ,
    char*                ,
    unsigned int         ,
    unsigned int         ,
    unsigned long        ,
    unsigned long        ,
    unsigned int         

);
extern Window XCreateSimpleWindow(

    Display*             ,
    Window               ,
    int                  ,
    int                  ,
    unsigned int         ,
    unsigned int         ,
    unsigned int         ,
    unsigned long        ,
    unsigned long        

);
extern Window XGetSelectionOwner(

    Display*             ,
    Atom                 

);
extern Window XCreateWindow(

    Display*             ,
    Window               ,
    int                  ,
    int                  ,
    unsigned int         ,
    unsigned int         ,
    unsigned int         ,
    int                  ,
    unsigned int         ,
    Visual*              ,
    unsigned long        ,
    XSetWindowAttributes*        

); 
extern Colormap *XListInstalledColormaps(

    Display*             ,
    Window               ,
    int*                 

);
extern char **XListFonts(

    Display*             ,
    const  char*         ,
    int                  ,
    int*                 

);
extern char **XListFontsWithInfo(

    Display*             ,
    const  char*         ,
    int                  ,
    int*                 ,
    XFontStruct**        

);
extern char **XGetFontPath(

    Display*             ,
    int*                 

);
extern char **XListExtensions(

    Display*             ,
    int*                 

);
extern Atom *XListProperties(

    Display*             ,
    Window               ,
    int*                 

);
extern XHostAddress *XListHosts(

    Display*             ,
    int*                 ,
    int *                

);
extern KeySym XKeycodeToKeysym(

    Display*             ,

    unsigned int         ,



    int                  

);
extern KeySym XLookupKeysym(

    XKeyEvent*           ,
    int                  

);
extern KeySym *XGetKeyboardMapping(

    Display*             ,

    unsigned int         ,



    int                  ,
    int*                 

);
extern KeySym XStringToKeysym(

    const  char*         

);
extern long XMaxRequestSize(

    Display*             

);
extern long XExtendedMaxRequestSize(

    Display*             

);
extern char *XResourceManagerString(

    Display*             

);
extern char *XScreenResourceString(

        Screen*          

);
extern unsigned long XDisplayMotionBufferSize(

    Display*             

);
extern VisualID XVisualIDFromVisual(

    Visual*              

);

 

extern int  XInitThreads(

    void

);

extern void XLockDisplay(

    Display*             

);

extern void XUnlockDisplay(

    Display*             

);

 

extern XExtCodes *XInitExtension(

    Display*             ,
    const  char*         

);

extern XExtCodes *XAddExtension(

    Display*             

);
extern XExtData *XFindOnExtensionList(

    XExtData**           ,
    int                  

);
extern XExtData **XEHeadOfExtensionList(

    XEDataObject         

);

 
extern Window XRootWindow(

    Display*             ,
    int                  

);
extern Window XDefaultRootWindow(

    Display*             

);
extern Window XRootWindowOfScreen(

    Screen*              

);
extern Visual *XDefaultVisual(

    Display*             ,
    int                  

);
extern Visual *XDefaultVisualOfScreen(

    Screen*              

);
extern GC XDefaultGC(

    Display*             ,
    int                  

);
extern GC XDefaultGCOfScreen(

    Screen*              

);
extern unsigned long XBlackPixel(

    Display*             ,
    int                  

);
extern unsigned long XWhitePixel(

    Display*             ,
    int                  

);
extern unsigned long XAllPlanes(

    void

);
extern unsigned long XBlackPixelOfScreen(

    Screen*              

);
extern unsigned long XWhitePixelOfScreen(

    Screen*              

);
extern unsigned long XNextRequest(

    Display*             

);
extern unsigned long XLastKnownRequestProcessed(

    Display*             

);
extern char *XServerVendor(

    Display*             

);
extern char *XDisplayString(

    Display*             

);
extern Colormap XDefaultColormap(

    Display*             ,
    int                  

);
extern Colormap XDefaultColormapOfScreen(

    Screen*              

);
extern Display *XDisplayOfScreen(

    Screen*              

);
extern Screen *XScreenOfDisplay(

    Display*             ,
    int                  

);
extern Screen *XDefaultScreenOfDisplay(

    Display*             

);
extern long XEventMaskOfScreen(

    Screen*              

);

extern int XScreenNumberOfScreen(

    Screen*              

);

typedef int (*XErrorHandler) (       

    Display*             ,
    XErrorEvent*         

);

extern XErrorHandler XSetErrorHandler (

    XErrorHandler        

);


typedef int (*XIOErrorHandler) (     

    Display*             

);

extern XIOErrorHandler XSetIOErrorHandler (

    XIOErrorHandler      

);


extern XPixmapFormatValues *XListPixmapFormats(

    Display*             ,
    int*                 

);
extern int *XListDepths(

    Display*             ,
    int                  ,
    int*                 

);

 
 
extern int  XReconfigureWMWindow(

    Display*             ,
    Window               ,
    int                  ,
    unsigned int         ,
    XWindowChanges*      

);

extern int  XGetWMProtocols(

    Display*             ,
    Window               ,
    Atom**               ,
    int*                 

);
extern int  XSetWMProtocols(

    Display*             ,
    Window               ,
    Atom*                ,
    int                  

);
extern int  XIconifyWindow(

    Display*             ,
    Window               ,
    int                  

);
extern int  XWithdrawWindow(

    Display*             ,
    Window               ,
    int                  

);
extern int  XGetCommand(

    Display*             ,
    Window               ,
    char***              ,
    int*                 

);
extern int  XGetWMColormapWindows(

    Display*             ,
    Window               ,
    Window**             ,
    int*                 

);
extern int  XSetWMColormapWindows(

    Display*             ,
    Window               ,
    Window*              ,
    int                  

);
extern void XFreeStringList(

    char**               

);
extern int XSetTransientForHint(

    Display*             ,
    Window               ,
    Window               

);

 

extern int XActivateScreenSaver(

    Display*             

);

extern int XAddHost(

    Display*             ,
    XHostAddress*        

);

extern int XAddHosts(

    Display*             ,
    XHostAddress*        ,
    int                      

);

extern int XAddToExtensionList(

    struct _XExtData**   ,
    XExtData*            

);

extern int XAddToSaveSet(

    Display*             ,
    Window               

);

extern int  XAllocColor(

    Display*             ,
    Colormap             ,
    XColor*              

);

extern int  XAllocColorCells(

    Display*             ,
    Colormap             ,
    int                  ,
    unsigned long*       ,
    unsigned int         ,
    unsigned long*       ,
    unsigned int         

);

extern int  XAllocColorPlanes(

    Display*             ,
    Colormap             ,
    int                  ,
    unsigned long*       ,
    int                  ,
    int                  ,
    int                  ,
    int                  ,
    unsigned long*       ,
    unsigned long*       ,
    unsigned long*       

);

extern int  XAllocNamedColor(

    Display*             ,
    Colormap             ,
    const  char*         ,
    XColor*              ,
    XColor*              

);

extern int XAllowEvents(

    Display*             ,
    int                  ,
    Time                 

);

extern int XAutoRepeatOff(

    Display*             

);

extern int XAutoRepeatOn(

    Display*             

);

extern int XBell(

    Display*             ,
    int                  

);

extern int XBitmapBitOrder(

    Display*             

);

extern int XBitmapPad(

    Display*             

);

extern int XBitmapUnit(

    Display*             

);

extern int XCellsOfScreen(

    Screen*              

);

extern int XChangeActivePointerGrab(

    Display*             ,
    unsigned int         ,
    Cursor               ,
    Time                 

);

extern int XChangeGC(

    Display*             ,
    GC                   ,
    unsigned long        ,
    XGCValues*           

);

extern int XChangeKeyboardControl(

    Display*             ,
    unsigned long        ,
    XKeyboardControl*    

);

extern int XChangeKeyboardMapping(

    Display*             ,
    int                  ,
    int                  ,
    KeySym*              ,
    int                  

);

extern int XChangePointerControl(

    Display*             ,
    int                  ,
    int                  ,
    int                  ,
    int                  ,
    int                  

);

extern int XChangeProperty(

    Display*             ,
    Window               ,
    Atom                 ,
    Atom                 ,
    int                  ,
    int                  ,
    const  unsigned char*        ,
    int                  

);

extern int XChangeSaveSet(

    Display*             ,
    Window               ,
    int                  

);

extern int XChangeWindowAttributes(

    Display*             ,
    Window               ,
    unsigned long        ,
    XSetWindowAttributes*  

);

extern int  XCheckIfEvent(

    Display*             ,
    XEvent*              ,
    int  (*) (

               Display*                  ,
               XEvent*                   ,
               XPointer                  

             )           ,
    XPointer             

);

extern int  XCheckMaskEvent(

    Display*             ,
    long                 ,
    XEvent*              

);

extern int  XCheckTypedEvent(

    Display*             ,
    int                  ,
    XEvent*              

);

extern int  XCheckTypedWindowEvent(

    Display*             ,
    Window               ,
    int                  ,
    XEvent*              

);

extern int  XCheckWindowEvent(

    Display*             ,
    Window               ,
    long                 ,
    XEvent*              

);

extern int XCirculateSubwindows(

    Display*             ,
    Window               ,
    int                  

);

extern int XCirculateSubwindowsDown(

    Display*             ,
    Window               

);

extern int XCirculateSubwindowsUp(

    Display*             ,
    Window               

);

extern int XClearArea(

    Display*             ,
    Window               ,
    int                  ,
    int                  ,
    unsigned int         ,
    unsigned int         ,
    int                  

);

extern int XClearWindow(

    Display*             ,
    Window               

);

extern int XCloseDisplay(

    Display*             

);

extern int XConfigureWindow(

    Display*             ,
    Window               ,
    unsigned int         ,
    XWindowChanges*                      

);

extern int XConnectionNumber(

    Display*             

);

extern int XConvertSelection(

    Display*             ,
    Atom                 ,
    Atom                 ,
    Atom                 ,
    Window               ,
    Time                 

);

extern int XCopyArea(

    Display*             ,
    Drawable             ,
    Drawable             ,
    GC                   ,
    int                  ,
    int                  ,
    unsigned int         ,
    unsigned int         ,
    int                  ,
    int                  

);

extern int XCopyGC(

    Display*             ,
    GC                   ,
    unsigned long        ,
    GC                   

);

extern int XCopyPlane(

    Display*             ,
    Drawable             ,
    Drawable             ,
    GC                   ,
    int                  ,
    int                  ,
    unsigned int         ,
    unsigned int         ,
    int                  ,
    int                  ,
    unsigned long        

);

extern int XDefaultDepth(

    Display*             ,
    int                  

);

extern int XDefaultDepthOfScreen(

    Screen*              

);

extern int XDefaultScreen(

    Display*             

);

extern int XDefineCursor(

    Display*             ,
    Window               ,
    Cursor               

);

extern int XDeleteProperty(

    Display*             ,
    Window               ,
    Atom                 

);

extern int XDestroyWindow(

    Display*             ,
    Window               

);

extern int XDestroySubwindows(

    Display*             ,
    Window               

);

extern int XDoesBackingStore(

    Screen*                  

);

extern int  XDoesSaveUnders(

    Screen*              

);

extern int XDisableAccessControl(

    Display*             

);


extern int XDisplayCells(

    Display*             ,
    int                  

);

extern int XDisplayHeight(

    Display*             ,
    int                  

);

extern int XDisplayHeightMM(

    Display*             ,
    int                  

);

extern int XDisplayKeycodes(

    Display*             ,
    int*                 ,
    int*                 

);

extern int XDisplayPlanes(

    Display*             ,
    int                  

);

extern int XDisplayWidth(

    Display*             ,
    int                  

);

extern int XDisplayWidthMM(

    Display*             ,
    int                  

);

extern int XDrawArc(

    Display*             ,
    Drawable             ,
    GC                   ,
    int                  ,
    int                  ,
    unsigned int         ,
    unsigned int         ,
    int                  ,
    int                  

);

extern int XDrawArcs(

    Display*             ,
    Drawable             ,
    GC                   ,
    XArc*                ,
    int                  

);

extern int XDrawImageString(

    Display*             ,
    Drawable             ,
    GC                   ,
    int                  ,
    int                  ,
    const  char*         ,
    int                  

);

extern int XDrawImageString16(

    Display*             ,
    Drawable             ,
    GC                   ,
    int                  ,
    int                  ,
    const  XChar2b*      ,
    int                  

);

extern int XDrawLine(

    Display*             ,
    Drawable             ,
    GC                   ,
    int                  ,
    int                  ,
    int                  ,
    int                  

);

extern int XDrawLines(

    Display*             ,
    Drawable             ,
    GC                   ,
    XPoint*              ,
    int                  ,
    int                  

);

extern int XDrawPoint(

    Display*             ,
    Drawable             ,
    GC                   ,
    int                  ,
    int                  

);

extern int XDrawPoints(

    Display*             ,
    Drawable             ,
    GC                   ,
    XPoint*              ,
    int                  ,
    int                  

);

extern int XDrawRectangle(

    Display*             ,
    Drawable             ,
    GC                   ,
    int                  ,
    int                  ,
    unsigned int         ,
    unsigned int         

);

extern int XDrawRectangles(

    Display*             ,
    Drawable             ,
    GC                   ,
    XRectangle*          ,
    int                  

);

extern int XDrawSegments(

    Display*             ,
    Drawable             ,
    GC                   ,
    XSegment*            ,
    int                  

);

extern int XDrawString(

    Display*             ,
    Drawable             ,
    GC                   ,
    int                  ,
    int                  ,
    const  char*         ,
    int                  

);

extern int XDrawString16(

    Display*             ,
    Drawable             ,
    GC                   ,
    int                  ,
    int                  ,
    const  XChar2b*      ,
    int                  

);

extern int XDrawText(

    Display*             ,
    Drawable             ,
    GC                   ,
    int                  ,
    int                  ,
    XTextItem*           ,
    int                  

);

extern int XDrawText16(

    Display*             ,
    Drawable             ,
    GC                   ,
    int                  ,
    int                  ,
    XTextItem16*         ,
    int                  

);

extern int XEnableAccessControl(

    Display*             

);

extern int XEventsQueued(

    Display*             ,
    int                  

);

extern int  XFetchName(

    Display*             ,
    Window               ,
    char**               

);

extern int XFillArc(

    Display*             ,
    Drawable             ,
    GC                   ,
    int                  ,
    int                  ,
    unsigned int         ,
    unsigned int         ,
    int                  ,
    int                  

);

extern int XFillArcs(

    Display*             ,
    Drawable             ,
    GC                   ,
    XArc*                ,
    int                  

);

extern int XFillPolygon(

    Display*             ,
    Drawable             ,
    GC                   ,
    XPoint*              ,
    int                  ,
    int                  ,
    int                  

);

extern int XFillRectangle(

    Display*             ,
    Drawable             ,
    GC                   ,
    int                  ,
    int                  ,
    unsigned int         ,
    unsigned int         

);

extern int XFillRectangles(

    Display*             ,
    Drawable             ,
    GC                   ,
    XRectangle*          ,
    int                  

);

extern int XFlush(

    Display*             

);

extern int XForceScreenSaver(

    Display*             ,
    int                  

);

extern int XFree(

    void*                

);

extern int XFreeColormap(

    Display*             ,
    Colormap             

);

extern int XFreeColors(

    Display*             ,
    Colormap             ,
    unsigned long*       ,
    int                  ,
    unsigned long        

);

extern int XFreeCursor(

    Display*             ,
    Cursor               

);

extern int XFreeExtensionList(

    char**                   

);

extern int XFreeFont(

    Display*             ,
    XFontStruct*         

);

extern int XFreeFontInfo(

    char**               ,
    XFontStruct*         ,
    int                  

);

extern int XFreeFontNames(

    char**               

);

extern int XFreeFontPath(

    char**               

);

extern int XFreeGC(

    Display*             ,
    GC                   

);

extern int XFreeModifiermap(

    XModifierKeymap*     

);

extern int XFreePixmap(

    Display*             ,
    Pixmap               

);

extern int XGeometry(

    Display*             ,
    int                  ,
    const  char*         ,
    const  char*         ,
    unsigned int         ,
    unsigned int         ,
    unsigned int         ,
    int                  ,
    int                  ,
    int*                 ,
    int*                 ,
    int*                 ,
    int*                 

);

extern int XGetErrorDatabaseText(

    Display*             ,
    const  char*         ,
    const  char*         ,
    const  char*         ,
    char*                ,
    int                  

);

extern int XGetErrorText(

    Display*             ,
    int                  ,
    char*                ,
    int                  

);

extern int  XGetFontProperty(

    XFontStruct*         ,
    Atom                 ,
    unsigned long*       

);

extern int  XGetGCValues(

    Display*             ,
    GC                   ,
    unsigned long        ,
    XGCValues*           

);

extern int  XGetGeometry(

    Display*             ,
    Drawable             ,
    Window*              ,
    int*                 ,
    int*                 ,
    unsigned int*        ,
    unsigned int*        ,
    unsigned int*        ,
    unsigned int*        

);

extern int  XGetIconName(

    Display*             ,
    Window               ,
    char**               

);

extern int XGetInputFocus(

    Display*             ,
    Window*              ,
    int*                 

);

extern int XGetKeyboardControl(

    Display*             ,
    XKeyboardState*      

);

extern int XGetPointerControl(

    Display*             ,
    int*                 ,
    int*                 ,
    int*                 

);

extern int XGetPointerMapping(

    Display*             ,
    unsigned char*       ,
    int                  

);

extern int XGetScreenSaver(

    Display*             ,
    int*                 ,
    int*                 ,
    int*                 ,
    int*                 

);

extern int  XGetTransientForHint(

    Display*             ,
    Window               ,
    Window*              

);

extern int XGetWindowProperty(

    Display*             ,
    Window               ,
    Atom                 ,
    long                 ,
    long                 ,
    int                  ,
    Atom                 ,
    Atom*                ,
    int*                 ,
    unsigned long*       ,
    unsigned long*       ,
    unsigned char**      

);

extern int  XGetWindowAttributes(

    Display*             ,
    Window               ,
    XWindowAttributes*   

);

extern int XGrabButton(

    Display*             ,
    unsigned int         ,
    unsigned int         ,
    Window               ,
    int                  ,
    unsigned int         ,
    int                  ,
    int                  ,
    Window               ,
    Cursor               

);

extern int XGrabKey(

    Display*             ,
    int                  ,
    unsigned int         ,
    Window               ,
    int                  ,
    int                  ,
    int                  

);

extern int XGrabKeyboard(

    Display*             ,
    Window               ,
    int                  ,
    int                  ,
    int                  ,
    Time                 

);

extern int XGrabPointer(

    Display*             ,
    Window               ,
    int                  ,
    unsigned int         ,
    int                  ,
    int                  ,
    Window               ,
    Cursor               ,
    Time                 

);

extern int XGrabServer(

    Display*             

);

extern int XHeightMMOfScreen(

    Screen*              

);

extern int XHeightOfScreen(

    Screen*              

);

extern int XIfEvent(

    Display*             ,
    XEvent*              ,
    int  (*) (

               Display*                  ,
               XEvent*                   ,
               XPointer                  

             )           ,
    XPointer             

);

extern int XImageByteOrder(

    Display*             

);

extern int XInstallColormap(

    Display*             ,
    Colormap             

);

extern KeyCode XKeysymToKeycode(

    Display*             ,
    KeySym               

);

extern int XKillClient(

    Display*             ,
    XID                  

);

extern int  XLookupColor(

    Display*             ,
    Colormap             ,
    const  char*         ,
    XColor*              ,
    XColor*              

);

extern int XLowerWindow(

    Display*             ,
    Window               

);

extern int XMapRaised(

    Display*             ,
    Window               

);

extern int XMapSubwindows(

    Display*             ,
    Window               

);

extern int XMapWindow(

    Display*             ,
    Window               

);

extern int XMaskEvent(

    Display*             ,
    long                 ,
    XEvent*              

);

extern int XMaxCmapsOfScreen(

    Screen*              

);

extern int XMinCmapsOfScreen(

    Screen*              

);

extern int XMoveResizeWindow(

    Display*             ,
    Window               ,
    int                  ,
    int                  ,
    unsigned int         ,
    unsigned int         

);

extern int XMoveWindow(

    Display*             ,
    Window               ,
    int                  ,
    int                  

);

extern int XNextEvent(

    Display*             ,
    XEvent*              

);

extern int XNoOp(

    Display*             

);

extern int  XParseColor(

    Display*             ,
    Colormap             ,
    const  char*         ,
    XColor*              

);

extern int XParseGeometry(

    const  char*         ,
    int*                 ,
    int*                 ,
    unsigned int*        ,
    unsigned int*        

);

extern int XPeekEvent(

    Display*             ,
    XEvent*              

);

extern int XPeekIfEvent(

    Display*             ,
    XEvent*              ,
    int  (*) (

               Display*          ,
               XEvent*           ,
               XPointer          

             )           ,
    XPointer             

);

extern int XPending(

    Display*             

);

extern int XPlanesOfScreen(

    Screen*              
    

);

extern int XProtocolRevision(

    Display*             

);

extern int XProtocolVersion(

    Display*             

);


extern int XPutBackEvent(

    Display*             ,
    XEvent*              

);

extern int XPutImage(

    Display*             ,
    Drawable             ,
    GC                   ,
    XImage*              ,
    int                  ,
    int                  ,
    int                  ,
    int                  ,
    unsigned int         ,
    unsigned int                  

);

extern int XQLength(

    Display*             

);

extern int  XQueryBestCursor(

    Display*             ,
    Drawable             ,
    unsigned int         ,
    unsigned int         ,
    unsigned int*        ,
    unsigned int*        

);

extern int  XQueryBestSize(

    Display*             ,
    int                  ,
    Drawable             ,
    unsigned int         ,
    unsigned int         ,
    unsigned int*        ,
    unsigned int*        

);

extern int  XQueryBestStipple(

    Display*             ,
    Drawable             ,
    unsigned int         ,
    unsigned int         ,
    unsigned int*        ,
    unsigned int*        

);

extern int  XQueryBestTile(

    Display*             ,
    Drawable             ,
    unsigned int         ,
    unsigned int         ,
    unsigned int*        ,
    unsigned int*        

);

extern int XQueryColor(

    Display*             ,
    Colormap             ,
    XColor*              

);

extern int XQueryColors(

    Display*             ,
    Colormap             ,
    XColor*              ,
    int                  

);

extern int  XQueryExtension(

    Display*             ,
    const  char*         ,
    int*                 ,
    int*                 ,
    int*                 

);

extern int XQueryKeymap(

    Display*             ,
    char [32]            

);

extern int  XQueryPointer(

    Display*             ,
    Window               ,
    Window*              ,
    Window*              ,
    int*                 ,
    int*                 ,
    int*                 ,
    int*                 ,
    unsigned int*        

);

extern int XQueryTextExtents(

    Display*             ,
    XID                  ,
    const  char*         ,
    int                  ,
    int*                 ,
    int*                 ,
    int*                 ,
    XCharStruct*             

);

extern int XQueryTextExtents16(

    Display*             ,
    XID                  ,
    const  XChar2b*      ,
    int                  ,
    int*                 ,
    int*                 ,
    int*                 ,
    XCharStruct*         

);

extern int  XQueryTree(

    Display*             ,
    Window               ,
    Window*              ,
    Window*              ,
    Window**             ,
    unsigned int*        

);

extern int XRaiseWindow(

    Display*             ,
    Window               

);

extern int XReadBitmapFile(

    Display*             ,
    Drawable             ,
    const  char*         ,
    unsigned int*        ,
    unsigned int*        ,
    Pixmap*              ,
    int*                 ,
    int*                 

);

extern int XReadBitmapFileData(

    const  char*         ,
    unsigned int*        ,
    unsigned int*        ,
    unsigned char**      ,
    int*                 ,
    int*                 

);

extern int XRebindKeysym(

    Display*             ,
    KeySym               ,
    KeySym*              ,
    int                  ,
    const  unsigned char*        ,
    int                  

);

extern int XRecolorCursor(

    Display*             ,
    Cursor               ,
    XColor*              ,
    XColor*              

);

extern int XRefreshKeyboardMapping(

    XMappingEvent*           

);

extern int XRemoveFromSaveSet(

    Display*             ,
    Window               

);

extern int XRemoveHost(

    Display*             ,
    XHostAddress*        

);

extern int XRemoveHosts(

    Display*             ,
    XHostAddress*        ,
    int                  

);

extern int XReparentWindow(

    Display*             ,
    Window               ,
    Window               ,
    int                  ,
    int                  

);

extern int XResetScreenSaver(

    Display*             

);

extern int XResizeWindow(

    Display*             ,
    Window               ,
    unsigned int         ,
    unsigned int         

);

extern int XRestackWindows(

    Display*             ,
    Window*              ,
    int                  

);

extern int XRotateBuffers(

    Display*             ,
    int                  

);

extern int XRotateWindowProperties(

    Display*             ,
    Window               ,
    Atom*                ,
    int                  ,
    int                  

);

extern int XScreenCount(

    Display*             

);

extern int XSelectInput(

    Display*             ,
    Window               ,
    long                 

);

extern int  XSendEvent(

    Display*             ,
    Window               ,
    int                  ,
    long                 ,
    XEvent*              

);

extern int XSetAccessControl(

    Display*             ,
    int                  

);

extern int XSetArcMode(

    Display*             ,
    GC                   ,
    int                  

);

extern int XSetBackground(

    Display*             ,
    GC                   ,
    unsigned long        

);

extern int XSetClipMask(

    Display*             ,
    GC                   ,
    Pixmap               

);

extern int XSetClipOrigin(

    Display*             ,
    GC                   ,
    int                  ,
    int                  

);

extern int XSetClipRectangles(

    Display*             ,
    GC                   ,
    int                  ,
    int                  ,
    XRectangle*          ,
    int                  ,
    int                  

);

extern int XSetCloseDownMode(

    Display*             ,
    int                  

);

extern int XSetCommand(

    Display*             ,
    Window               ,
    char**               ,
    int                  

);

extern int XSetDashes(

    Display*             ,
    GC                   ,
    int                  ,
    const  char*         ,
    int                  

);

extern int XSetFillRule(

    Display*             ,
    GC                   ,
    int                  

);

extern int XSetFillStyle(

    Display*             ,
    GC                   ,
    int                  

);

extern int XSetFont(

    Display*             ,
    GC                   ,
    Font                 

);

extern int XSetFontPath(

    Display*             ,
    char**               ,
    int                              

);

extern int XSetForeground(

    Display*             ,
    GC                   ,
    unsigned long        

);

extern int XSetFunction(

    Display*             ,
    GC                   ,
    int                  

);

extern int XSetGraphicsExposures(

    Display*             ,
    GC                   ,
    int                  

);

extern int XSetIconName(

    Display*             ,
    Window               ,
    const  char*         

);

extern int XSetInputFocus(

    Display*             ,
    Window               ,
    int                  ,
    Time                 

);

extern int XSetLineAttributes(

    Display*             ,
    GC                   ,
    unsigned int         ,
    int                  ,
    int                  ,
    int                  

);

extern int XSetModifierMapping(

    Display*             ,
    XModifierKeymap*     

);

extern int XSetPlaneMask(

    Display*             ,
    GC                   ,
    unsigned long        

);

extern int XSetPointerMapping(

    Display*             ,
    const  unsigned char*        ,
    int                  

);

extern int XSetScreenSaver(

    Display*             ,
    int                  ,
    int                  ,
    int                  ,
    int                  

);

extern int XSetSelectionOwner(

    Display*             ,
    Atom                 ,
    Window               ,
    Time                 

);

extern int XSetState(

    Display*             ,
    GC                   ,
    unsigned long        ,
    unsigned long        ,
    int                  ,
    unsigned long        

);

extern int XSetStipple(

    Display*             ,
    GC                   ,
    Pixmap               

);

extern int XSetSubwindowMode(

    Display*             ,
    GC                   ,
    int                  

);

extern int XSetTSOrigin(

    Display*             ,
    GC                   ,
    int                  ,
    int                  

);

extern int XSetTile(

    Display*             ,
    GC                   ,
    Pixmap               

);

extern int XSetWindowBackground(

    Display*             ,
    Window               ,
    unsigned long        

);

extern int XSetWindowBackgroundPixmap(

    Display*             ,
    Window               ,
    Pixmap               

);

extern int XSetWindowBorder(

    Display*             ,
    Window               ,
    unsigned long        

);

extern int XSetWindowBorderPixmap(

    Display*             ,
    Window               ,
    Pixmap               

);

extern int XSetWindowBorderWidth(

    Display*             ,
    Window               ,
    unsigned int         

);

extern int XSetWindowColormap(

    Display*             ,
    Window               ,
    Colormap             

);

extern int XStoreBuffer(

    Display*             ,
    const  char*         ,
    int                  ,
    int                  

);

extern int XStoreBytes(

    Display*             ,
    const  char*         ,
    int                  

);

extern int XStoreColor(

    Display*             ,
    Colormap             ,
    XColor*              

);

extern int XStoreColors(

    Display*             ,
    Colormap             ,
    XColor*              ,
    int                  

);

extern int XStoreName(

    Display*             ,
    Window               ,
    const  char*         

);

extern int XStoreNamedColor(

    Display*             ,
    Colormap             ,
    const  char*         ,
    unsigned long        ,
    int                  

);

extern int XSync(

    Display*             ,
    int                  

);

extern int XTextExtents(

    XFontStruct*         ,
    const  char*         ,
    int                  ,
    int*                 ,
    int*                 ,
    int*                 ,
    XCharStruct*         

);

extern int XTextExtents16(

    XFontStruct*         ,
    const  XChar2b*      ,
    int                  ,
    int*                 ,
    int*                 ,
    int*                 ,
    XCharStruct*         

);

extern int XTextWidth(

    XFontStruct*         ,
    const  char*         ,
    int                  

);

extern int XTextWidth16(

    XFontStruct*         ,
    const  XChar2b*      ,
    int                  

);

extern int  XTranslateCoordinates(

    Display*             ,
    Window               ,
    Window               ,
    int                  ,
    int                  ,
    int*                 ,
    int*                 ,
    Window*              

);

extern int XUndefineCursor(

    Display*             ,
    Window               

);

extern int XUngrabButton(

    Display*             ,
    unsigned int         ,
    unsigned int         ,
    Window               

);

extern int XUngrabKey(

    Display*             ,
    int                  ,
    unsigned int         ,
    Window               

);

extern int XUngrabKeyboard(

    Display*             ,
    Time                 

);

extern int XUngrabPointer(

    Display*             ,
    Time                 

);

extern int XUngrabServer(

    Display*             

);

extern int XUninstallColormap(

    Display*             ,
    Colormap             

);

extern int XUnloadFont(

    Display*             ,
    Font                 

);

extern int XUnmapSubwindows(

    Display*             ,
    Window               

);

extern int XUnmapWindow(

    Display*             ,
    Window               

);

extern int XVendorRelease(

    Display*             

);

extern int XWarpPointer(

    Display*             ,
    Window               ,
    Window               ,
    int                  ,
    int                  ,
    unsigned int         ,
    unsigned int         ,
    int                  ,
    int                              

);

extern int XWidthMMOfScreen(

    Screen*              

);

extern int XWidthOfScreen(

    Screen*              

);

extern int XWindowEvent(

    Display*             ,
    Window               ,
    long                 ,
    XEvent*              

);

extern int XWriteBitmapFile(

    Display*             ,
    const  char*         ,
    Pixmap               ,
    unsigned int         ,
    unsigned int         ,
    int                  ,
    int                                      

);

extern int  XSupportsLocale (void);

extern char *XSetLocaleModifiers(
    const char*          
);

extern XOM XOpenOM(

    Display*                     ,
    struct _XrmHashBucketRec*    ,
    const  char*                 ,
    const  char*                 

);

extern int  XCloseOM(

    XOM                  

);

extern char *XSetOMValues(

    XOM                  ,
    ...

);

extern char *XGetOMValues(

    XOM                  ,
    ...

);

extern Display *XDisplayOfOM(

    XOM                  

);

extern char *XLocaleOfOM(

    XOM                  

);

extern XOC XCreateOC(

    XOM                  ,
    ...

);

extern void XDestroyOC(

    XOC                  

);

extern XOM XOMOfOC(

    XOC                  

);

extern char *XSetOCValues(

    XOC                  ,
    ...

);

extern char *XGetOCValues(

    XOC                  ,
    ...

);

extern XFontSet XCreateFontSet(

    Display*             ,
    const  char*         ,
    char***              ,
    int*                 ,
    char**               

);

extern void XFreeFontSet(

    Display*             ,
    XFontSet             

);

extern int XFontsOfFontSet(

    XFontSet             ,
    XFontStruct***       ,
    char***              

);

extern char *XBaseFontNameListOfFontSet(

    XFontSet             

);

extern char *XLocaleOfFontSet(

    XFontSet             

);

extern int  XContextDependentDrawing(

    XFontSet             

);

extern int  XDirectionalDependentDrawing(

    XFontSet             

);

extern int  XContextualDrawing(

    XFontSet             

);

extern XFontSetExtents *XExtentsOfFontSet(

    XFontSet             

);

extern int XmbTextEscapement(

    XFontSet             ,
    const  char*         ,
    int                  

);

extern int XwcTextEscapement(

    XFontSet             ,
    const  wchar_t*      ,
    int                  

);

extern int Xutf8TextEscapement(

    XFontSet             ,
    const  char*         ,
    int                  

);

extern int XmbTextExtents(

    XFontSet             ,
    const  char*         ,
    int                  ,
    XRectangle*          ,
    XRectangle*          

);

extern int XwcTextExtents(

    XFontSet             ,
    const  wchar_t*      ,
    int                  ,
    XRectangle*          ,
    XRectangle*          

);

extern int Xutf8TextExtents(

    XFontSet             ,
    const  char*         ,
    int                  ,
    XRectangle*          ,
    XRectangle*          

);

extern int  XmbTextPerCharExtents(

    XFontSet             ,
    const  char*         ,
    int                  ,
    XRectangle*          ,
    XRectangle*          ,
    int                  ,
    int*                 ,
    XRectangle*          ,
    XRectangle*          

);

extern int  XwcTextPerCharExtents(

    XFontSet             ,
    const  wchar_t*      ,
    int                  ,
    XRectangle*          ,
    XRectangle*          ,
    int                  ,
    int*                 ,
    XRectangle*          ,
    XRectangle*          

);

extern int  Xutf8TextPerCharExtents(

    XFontSet             ,
    const  char*         ,
    int                  ,
    XRectangle*          ,
    XRectangle*          ,
    int                  ,
    int*                 ,
    XRectangle*          ,
    XRectangle*          

);

extern void XmbDrawText(

    Display*             ,
    Drawable             ,
    GC                   ,
    int                  ,
    int                  ,
    XmbTextItem*         ,
    int                  

);

extern void XwcDrawText(

    Display*             ,
    Drawable             ,
    GC                   ,
    int                  ,
    int                  ,
    XwcTextItem*         ,
    int                  

);

extern void Xutf8DrawText(

    Display*             ,
    Drawable             ,
    GC                   ,
    int                  ,
    int                  ,
    XmbTextItem*         ,
    int                  

);

extern void XmbDrawString(

    Display*             ,
    Drawable             ,
    XFontSet             ,
    GC                   ,
    int                  ,
    int                  ,
    const  char*         ,
    int                  

);

extern void XwcDrawString(

    Display*             ,
    Drawable             ,
    XFontSet             ,
    GC                   ,
    int                  ,
    int                  ,
    const  wchar_t*      ,
    int                  

);

extern void Xutf8DrawString(

    Display*             ,
    Drawable             ,
    XFontSet             ,
    GC                   ,
    int                  ,
    int                  ,
    const  char*         ,
    int                  

);

extern void XmbDrawImageString(

    Display*             ,
    Drawable             ,
    XFontSet             ,
    GC                   ,
    int                  ,
    int                  ,
    const  char*         ,
    int                  

);

extern void XwcDrawImageString(

    Display*             ,
    Drawable             ,
    XFontSet             ,
    GC                   ,
    int                  ,
    int                  ,
    const  wchar_t*      ,
    int                  

);

extern void Xutf8DrawImageString(

    Display*             ,
    Drawable             ,
    XFontSet             ,
    GC                   ,
    int                  ,
    int                  ,
    const  char*         ,
    int                  

);

extern XIM XOpenIM(

    Display*                     ,
    struct _XrmHashBucketRec*    ,
    char*                        ,
    char*                        

);

extern int  XCloseIM(

    XIM  

);

extern char *XGetIMValues(

    XIM  , ...

);

extern Display *XDisplayOfIM(

    XIM  

);

extern char *XLocaleOfIM(

    XIM  

);

extern XIC XCreateIC(

    XIM  , ...

);

extern void XDestroyIC(

    XIC  

);

extern void XSetICFocus(

    XIC  

);

extern void XUnsetICFocus(

    XIC  

);

extern wchar_t *XwcResetIC(

    XIC  

);

extern char *XmbResetIC(

    XIC  

);

extern char *Xutf8ResetIC(

    XIC  

);

extern char *XSetICValues(

    XIC  , ...

);

extern char *XGetICValues(

    XIC  , ...

);

extern XIM XIMOfIC(

    XIC  

);

extern int  XFilterEvent(

    XEvent*      ,
    Window       

);

extern int XmbLookupString(

    XIC                  ,
    XKeyPressedEvent*    ,
    char*                ,
    int                  ,
    KeySym*              ,
    int *                

);

extern int XwcLookupString(

    XIC                  ,
    XKeyPressedEvent*    ,
    wchar_t*             ,
    int                  ,
    KeySym*              ,
    int *                

);

extern int Xutf8LookupString(

    XIC                  ,
    XKeyPressedEvent*    ,
    char*                ,
    int                  ,
    KeySym*              ,
    int *                

);

extern XVaNestedList XVaCreateNestedList(

    int  , ...

);

 

extern int  XRegisterIMInstantiateCallback(

    Display*                     ,
    struct _XrmHashBucketRec*    ,
    char*                        ,
    char*                        ,
    XIDProc                      ,
    XPointer                     

);

extern int  XUnregisterIMInstantiateCallback(

    Display*                     ,
    struct _XrmHashBucketRec*    ,
    char*                        ,
    char*                        ,
    XIDProc                      ,
    XPointer                     

);

typedef void (*XConnectionWatchProc)(

    Display*                     ,
    XPointer                     ,
    int                          ,
    int                          ,        
    XPointer*                      

);
    

extern int  XInternalConnectionNumbers(

    Display*                     ,
    int**                        ,
    int*                         

);

extern void XProcessInternalConnection(

    Display*                     ,
    int                          

);

extern int  XAddConnectionWatch(

    Display*                     ,
    XConnectionWatchProc         ,
    XPointer                     

);

extern void XRemoveConnectionWatch(

    Display*                     ,
    XConnectionWatchProc         ,
    XPointer                     

);

extern void XSetAuthorization(

    char *                       ,
    int                          , 
    char *                       ,
    int                          

);

 


# 31 "/usr/include/gtk-1.2/gdk/gdkprivate.h" 2 3

# 1 "/usr/X11R6/include/X11/Xutil.h" 1
 

 









































 




 

 












 



typedef struct {
        long flags;      
        int x, y;                
        int width, height;       
        int min_width, min_height;
        int max_width, max_height;
        int width_inc, height_inc;
        struct {
                int x;   
                int y;   
        } min_aspect, max_aspect;
        int base_width, base_height;             
        int win_gravity;                         
} XSizeHints;

 




 












 




typedef struct {
        long flags;      
        int  input;      

        int initial_state;       
        Pixmap icon_pixmap;      
        Window icon_window;      
        int icon_x, icon_y;      
        Pixmap icon_mask;        
        XID window_group;        
         
} XWMHints;

 












 




 





                         


 



typedef struct {
    unsigned char *value;                
    Atom encoding;                       
    int format;                          
    unsigned long nitems;                
} XTextProperty;





typedef enum {
    XStringStyle,                
    XCompoundTextStyle,          
    XTextStyle,                  
    XStdICCTextStyle,            
     
    XUTF8StringStyle             
} XICCEncodingStyle;

typedef struct {
        int min_width, min_height;
        int max_width, max_height;
        int width_inc, height_inc;
} XIconSize;

typedef struct {
        char *res_name;
        char *res_class;
} XClassHint;

 














 


typedef struct _XComposeStatus {
    XPointer compose_ptr;        
    int chars_matched;           
} XComposeStatus;

 
























 


typedef struct _XRegion *Region; 

 
 



 

 




typedef struct {
  Visual *visual;
  VisualID visualid;
  int screen;
  int depth;



  int class;

  unsigned long red_mask;
  unsigned long green_mask;
  unsigned long blue_mask;
  int colormap_size;
  int bits_per_rgb;
} XVisualInfo;













 



typedef struct {
        Colormap colormap;
        unsigned long red_max;
        unsigned long red_mult;
        unsigned long green_max;
        unsigned long green_mult;
        unsigned long blue_max;
        unsigned long blue_mult;
        unsigned long base_pixel;
        VisualID visualid;               
        XID killid;                      
} XStandardColormap;




 







 






 





typedef int XContext;




 

 

extern XClassHint *XAllocClassHint (

    void

);

extern XIconSize *XAllocIconSize (

    void

);

extern XSizeHints *XAllocSizeHints (

    void

);

extern XStandardColormap *XAllocStandardColormap (

    void

);

extern XWMHints *XAllocWMHints (

    void

);

extern int XClipBox(

    Region               ,
    XRectangle*          

);

extern Region XCreateRegion(

    void

);

extern const char *XDefaultString (void);

extern int XDeleteContext(

    Display*             ,
    XID                  ,
    XContext             

);

extern int XDestroyRegion(

    Region               

);

extern int XEmptyRegion(

    Region               

);

extern int XEqualRegion(

    Region               ,
    Region               

);

extern int XFindContext(

    Display*             ,
    XID                  ,
    XContext             ,
    XPointer*            

);

extern int  XGetClassHint(

    Display*             ,
    Window               ,
    XClassHint*          

);

extern int  XGetIconSizes(

    Display*             ,
    Window               ,
    XIconSize**          ,
    int*                 

);

extern int  XGetNormalHints(

    Display*             ,
    Window               ,
    XSizeHints*          

);

extern int  XGetRGBColormaps(

    Display*             ,
    Window               ,
    XStandardColormap**  ,
    int*                 ,
    Atom                 

);

extern int  XGetSizeHints(

    Display*             ,
    Window               ,
    XSizeHints*          ,
    Atom                 

);

extern int  XGetStandardColormap(

    Display*             ,
    Window               ,
    XStandardColormap*   ,
    Atom                                            

);

extern int  XGetTextProperty(

    Display*             ,
    Window               ,
    XTextProperty*       ,
    Atom                 

);

extern XVisualInfo *XGetVisualInfo(

    Display*             ,
    long                 ,
    XVisualInfo*         ,
    int*                 

);

extern int  XGetWMClientMachine(

    Display*             ,
    Window               ,
    XTextProperty*       

);

extern XWMHints *XGetWMHints(

    Display*             ,
    Window                                    

);

extern int  XGetWMIconName(

    Display*             ,
    Window               ,
    XTextProperty*       

);

extern int  XGetWMName(

    Display*             ,
    Window               ,
    XTextProperty*       

);

extern int  XGetWMNormalHints(

    Display*             ,
    Window               ,
    XSizeHints*          ,
    long*                 

);

extern int  XGetWMSizeHints(

    Display*             ,
    Window               ,
    XSizeHints*          ,
    long*                ,
    Atom                 

);

extern int  XGetZoomHints(

    Display*             ,
    Window               ,
    XSizeHints*          

);

extern int XIntersectRegion(

    Region               ,
    Region               ,
    Region               

);

extern void XConvertCase(

    KeySym               ,
    KeySym*              ,
    KeySym*              

);

extern int XLookupString(

    XKeyEvent*           ,
    char*                ,
    int                  ,
    KeySym*              ,
    XComposeStatus*      

);

extern int  XMatchVisualInfo(

    Display*             ,
    int                  ,
    int                  ,
    int                  ,
    XVisualInfo*         

);

extern int XOffsetRegion(

    Region               ,
    int                  ,
    int                  

);

extern int  XPointInRegion(

    Region               ,
    int                  ,
    int                  

);

extern Region XPolygonRegion(

    XPoint*              ,
    int                  ,
    int                  

);

extern int XRectInRegion(

    Region               ,
    int                  ,
    int                  ,
    unsigned int         ,
    unsigned int         

);

extern int XSaveContext(

    Display*             ,
    XID                  ,
    XContext             ,
    const  char*         

);

extern int XSetClassHint(

    Display*             ,
    Window               ,
    XClassHint*          

);

extern int XSetIconSizes(

    Display*             ,
    Window               ,
    XIconSize*           ,
    int                      

);

extern int XSetNormalHints(

    Display*             ,
    Window               ,
    XSizeHints*          

);

extern void XSetRGBColormaps(

    Display*             ,
    Window               ,
    XStandardColormap*   ,
    int                  ,
    Atom                 

);

extern int XSetSizeHints(

    Display*             ,
    Window               ,
    XSizeHints*          ,
    Atom                 

);

extern int XSetStandardProperties(

    Display*             ,
    Window               ,
    const  char*         ,
    const  char*         ,
    Pixmap               ,
    char**               ,
    int                  ,
    XSizeHints*          

);

extern void XSetTextProperty(

    Display*             ,
    Window               ,
    XTextProperty*       ,
    Atom                 

);

extern void XSetWMClientMachine(

    Display*             ,
    Window               ,
    XTextProperty*       

);

extern int XSetWMHints(

    Display*             ,
    Window               ,
    XWMHints*            

);

extern void XSetWMIconName(

    Display*             ,
    Window               ,
    XTextProperty*       

);

extern void XSetWMName(

    Display*             ,
    Window               ,
    XTextProperty*       

);

extern void XSetWMNormalHints(

    Display*             ,
    Window               ,
    XSizeHints*          

);

extern void XSetWMProperties(

    Display*             ,
    Window               ,
    XTextProperty*       ,
    XTextProperty*       ,
    char**               ,
    int                  ,
    XSizeHints*          ,
    XWMHints*            ,
    XClassHint*          

);

extern void XmbSetWMProperties(

    Display*             ,
    Window               ,
    const  char*         ,
    const  char*         ,
    char**               ,
    int                  ,
    XSizeHints*          ,
    XWMHints*            ,
    XClassHint*          

);

extern void Xutf8SetWMProperties(

    Display*             ,
    Window               ,
    const  char*         ,
    const  char*         ,
    char**               ,
    int                  ,
    XSizeHints*          ,
    XWMHints*            ,
    XClassHint*          

);

extern void XSetWMSizeHints(

    Display*             ,
    Window               ,
    XSizeHints*          ,
    Atom                 

);

extern int XSetRegion(

    Display*             ,
    GC                   ,
    Region               

);

extern void XSetStandardColormap(

    Display*             ,
    Window               ,
    XStandardColormap*   ,
    Atom                 

);

extern int XSetZoomHints(

    Display*             ,
    Window               ,
    XSizeHints*          

);

extern int XShrinkRegion(

    Region               ,
    int                  ,
    int                  

);

extern int  XStringListToTextProperty(

    char**               ,
    int                  ,
    XTextProperty*       

);

extern int XSubtractRegion(

    Region               ,
    Region               ,
    Region               

);

extern int XmbTextListToTextProperty(
    Display*            display,
    char**              list,
    int                 count,
    XICCEncodingStyle   style,
    XTextProperty*      text_prop_return
);

extern int XwcTextListToTextProperty(
    Display*            display,
    wchar_t**           list,
    int                 count,
    XICCEncodingStyle   style,
    XTextProperty*      text_prop_return
);

extern int Xutf8TextListToTextProperty(
    Display*            display,
    char**              list,
    int                 count,
    XICCEncodingStyle   style,
    XTextProperty*      text_prop_return
);

extern void XwcFreeStringList(
    wchar_t**           list
);

extern int  XTextPropertyToStringList(

    XTextProperty*       ,
    char***              ,
    int*                 

);

extern int XmbTextPropertyToTextList(
    Display*            display,
    const XTextProperty* text_prop,
    char***             list_return,
    int*                count_return
);

extern int XwcTextPropertyToTextList(
    Display*            display,
    const XTextProperty* text_prop,
    wchar_t***          list_return,
    int*                count_return
);

extern int Xutf8TextPropertyToTextList(
    Display*            display,
    const XTextProperty* text_prop,
    char***             list_return,
    int*                count_return
);

extern int XUnionRectWithRegion(

    XRectangle*          ,
    Region               ,
    Region               

);

extern int XUnionRegion(

    Region               ,
    Region               ,
    Region               

);

extern int XWMGeometry(

    Display*             ,
    int                  ,
    const  char*         ,
    const  char*         ,
    unsigned int         ,
    XSizeHints*          ,
    int*                 ,
    int*                 ,
    int*                 ,
    int*                 ,
    int*                 

);

extern int XXorRegion(

    Region               ,
    Region               ,
    Region               

);

 


# 32 "/usr/include/gtk-1.2/gdk/gdkprivate.h" 2 3













typedef struct _GdkWindowPrivate       GdkWindowPrivate;
typedef struct _GdkWindowPrivate       GdkPixmapPrivate;
typedef struct _GdkImagePrivate        GdkImagePrivate;
typedef struct _GdkGCPrivate           GdkGCPrivate;
typedef struct _GdkColormapPrivate     GdkColormapPrivate;
typedef struct _GdkColorInfo           GdkColorInfo;
typedef struct _GdkVisualPrivate       GdkVisualPrivate;
typedef struct _GdkFontPrivate         GdkFontPrivate;
typedef struct _GdkCursorPrivate       GdkCursorPrivate;
typedef struct _GdkEventFilter         GdkEventFilter;
typedef struct _GdkClientFilter        GdkClientFilter;
typedef struct _GdkColorContextPrivate GdkColorContextPrivate;
typedef struct _GdkRegionPrivate       GdkRegionPrivate;


struct _GdkWindowPrivate
{
  GdkWindow window;
  GdkWindow *parent;
  Window xwindow;
  Display *xdisplay;
  gint16 x;
  gint16 y;
  guint16 width;
  guint16 height;
  guint8 resize_count;
  guint8 window_type;
  guint ref_count;
  guint destroyed : 2;
  guint mapped : 1;
  guint guffaw_gravity : 1;

  gint extension_events;

  GList *filters;
  GdkColormap *colormap;
  GList *children;
};

struct _GdkImagePrivate
{
  GdkImage image;
  XImage *ximage;
  Display *xdisplay;
  gpointer x_shm_info;

  void (*image_put) (GdkDrawable *window,
                     GdkGC       *gc,
                     GdkImage    *image,
                     gint         xsrc,
                     gint         ysrc,
                     gint         xdest,
                     gint         ydest,
                     gint         width,
                     gint         height);
};

struct _GdkGCPrivate
{
  GdkGC gc;
  GC xgc;
  Display *xdisplay;
  guint ref_count;
};

typedef enum {
  GDK_COLOR_WRITEABLE = 1 << 0
} GdkColorInfoFlags;

struct _GdkColorInfo
{
  GdkColorInfoFlags flags;
  guint ref_count;
};

struct _GdkColormapPrivate
{
  GdkColormap colormap;
  Colormap xcolormap;
  Display *xdisplay;
  GdkVisual *visual;
  gint private_val;

  GHashTable *hash;
  GdkColorInfo *info;
  time_t last_sync_time;
  
  guint ref_count;
};

struct _GdkVisualPrivate
{
  GdkVisual visual;
  Visual *xvisual;
};

struct _GdkFontPrivate
{
  GdkFont font;
   
   
  gpointer xfont;
  Display *xdisplay;
  guint ref_count;

  GSList *names;
};

struct _GdkCursorPrivate
{
  GdkCursor cursor;
  Cursor xcursor;
  Display *xdisplay;
};

struct _GdkDndCursorInfo {
  Cursor          gdk_cursor_dragdefault, gdk_cursor_dragok;
  GdkWindow      *drag_pm_default, *drag_pm_ok;
  GdkPoint        default_hotspot, ok_hotspot;
  GList *xids;
};
typedef struct _GdkDndCursorInfo GdkDndCursorInfo;

struct _GdkDndGlobals {
  GdkAtom            gdk_XdeEnter, gdk_XdeLeave, gdk_XdeRequest;
  GdkAtom            gdk_XdeDataAvailable, gdk_XdeDataShow, gdk_XdeCancel;
  GdkAtom            gdk_XdeTypelist;

  GdkDndCursorInfo  *c;
  GdkWindow     **drag_startwindows;
  guint           drag_numwindows;
  gboolean        drag_really, drag_perhaps, dnd_grabbed;
  Window          dnd_drag_target;
  GdkPoint        drag_dropcoords;

  GdkPoint dnd_drag_start, dnd_drag_oldpos;
  GdkRectangle dnd_drag_dropzone;
  GdkWindowPrivate *real_sw;
  Window dnd_drag_curwin;
  Time last_drop_time;  
};
typedef struct _GdkDndGlobals GdkDndGlobals;

struct _GdkEventFilter {
  GdkFilterFunc function;
  gpointer data;
};

struct _GdkClientFilter {
  GdkAtom       type;
  GdkFilterFunc function;
  gpointer      data;
};

# 210 "/usr/include/gtk-1.2/gdk/gdkprivate.h" 3


struct _GdkColorContextPrivate
{
  GdkColorContext color_context;
  Display *xdisplay;
  XStandardColormap std_cmap;
};

struct _GdkRegionPrivate
{
  GdkRegion region;
  Region xregion;
};

typedef enum {
  GDK_DEBUG_MISC          = 1 << 0,
  GDK_DEBUG_EVENTS        = 1 << 1,
  GDK_DEBUG_DND           = 1 << 2,
  GDK_DEBUG_COLOR_CONTEXT = 1 << 3,
  GDK_DEBUG_XIM           = 1 << 4
} GdkDebugFlag;

void gdk_events_init (void);
void gdk_window_init (void);
void gdk_visual_init (void);
void gdk_dnd_init    (void);

void gdk_image_init  (void);
void gdk_image_exit (void);

GdkColormap* gdk_colormap_lookup (Colormap  xcolormap);
GdkVisual*   gdk_visual_lookup   (Visual   *xvisual);

void gdk_window_add_colormap_windows (GdkWindow *window);
void gdk_window_destroy_notify       (GdkWindow *window);

void     gdk_xid_table_insert (XID      *xid,
                               gpointer  data);
void     gdk_xid_table_remove (XID       xid);
gpointer gdk_xid_table_lookup (XID       xid);

gint gdk_send_xevent (Window window, gboolean propagate, glong event_mask,
                      XEvent *event_send);

 




void gdk_dnd_display_drag_cursor(gint x,
                                 gint y,
                                 gboolean drag_ok,
                                 gboolean change_made);

  
Window gdk_window_xid_at(Window base, gint bx, gint by, gint x, gint y, GList 
*excludes, gboolean excl_child);
Window gdk_window_xid_at_coords(gint x, gint y, GList *excludes, gboolean 
excl_child);

extern gint              gdk_debug_level;
extern gint              gdk_show_events;
extern gint              gdk_use_xshm;
extern gint              gdk_stack_trace;
extern gchar            *gdk_display_name;
extern Display          *gdk_display;
extern gint              gdk_screen;
extern Window            gdk_root_window;
extern Window            gdk_leader_window;
extern GdkWindowPrivate  gdk_root_parent;
extern Atom              gdk_wm_delete_window;
extern Atom              gdk_wm_take_focus;
extern Atom              gdk_wm_protocols;
extern Atom              gdk_wm_window_protocols[];
extern Atom              gdk_selection_property;
extern GdkDndGlobals     gdk_dnd;
extern GdkWindow        *selection_owner[];
extern gchar            *gdk_progclass;
extern gint              gdk_error_code;
extern gint              gdk_error_warnings;
extern gint              gdk_null_window_warnings;
extern GList            *gdk_default_filters;
extern const int         gdk_nevent_masks;
extern const int         gdk_event_mask_table[];

extern GdkWindowPrivate *gdk_xgrab_window;   



# 306 "/usr/include/gtk-1.2/gdk/gdkprivate.h" 3


 










      


extern guint gdk_debug_flags;


gboolean _gdk_font_wc_to_glyphs (GdkFont         *font,
                                 const GdkWChar  *text,
                                 gint             text_length,
                                 gchar          **result,
                                 gint            *result_length);
gchar *_gdk_wcstombs_len      (const GdkWChar  *src,
                               int              length);







# 28 "guile-gtk.c" 2


# 1 "/usr/local/include/libguile.h" 1 3



 













































# 1 "/usr/local/include/libguile/__scm.h" 1 3
 




 










































 










 







 









 













 




 
 

 

 












 




 



 
 
 

 





 




 







 





 






 













 
# 1 "/usr/local/include/libguile/scmconfig.h" 1 3
 
 
 













































 


 


 




 
 

 
 

 


 



 


 


 

 

 

 

 



 

 

 

 
 

 
 

 
 

 
 

 


 
 

 
 

 


 


 


 
 

 
 

 


 


 


 


 


 


 
 

 


 
 

 
 

 
 

 
 

 
 

 


 


 

 
 

 



 


 


 


 


 


 


 


 


 


 
 

 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 
 

 


 


 
 

 


 
 

 
 

 
 

 
 

 
 

 
 

 


 


 


 


 


 


 


 


 


 
 

 


 


 


 


 


 


 


 


 



 


 
 

 
 

 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 



 


 


 


 
 

 


 


 
 

 


 


 


 
 

 


 


 


 


 
 

 


 


 


 


 


 


 



 


 

 

 


 


 


 


 


 


 
 

 


 


 


 


 


 


 


 


 


 





 

 


 


 
 

 
 

 

 

 



 


 
 

 

 

 
 

 
 

 
 

 

 

 
 

 
 
# 175 "/usr/local/include/libguile/__scm.h" 2 3




 


















 







 








 






 







 








 










 

















 









 



































# 1 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/limits.h" 1 3
 


 

# 114 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/limits.h" 3







# 314 "/usr/local/include/libguile/__scm.h" 2 3
























# 1 "/usr/include/stdlib.h" 1 3
 

















 







 





# 1 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 1 3






 


# 19 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3



 


 





 


# 61 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


 





 


















 





 

 


# 126 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


 




 

 


# 188 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3





 




 


# 269 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3
















 

 

# 317 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3




 













 







# 33 "/usr/include/stdlib.h" 2 3


 




# 91 "/usr/include/stdlib.h" 3


 
typedef struct
  {
    int quot;                    
    int rem;                     
  } div_t;

 

typedef struct
  {
    long int quot;               
    long int rem;                
  } ldiv_t;



# 118 "/usr/include/stdlib.h" 3



 



 





 

extern size_t __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)    ;


 
__extension__ extern long long int atoll (__const char *__nptr)
        ;


 
extern double strtod (__const char *__restrict __nptr,
                      char **__restrict __endptr)  ;










 
extern long int strtol (__const char *__restrict __nptr,
                        char **__restrict __endptr, int __base)  ;
 
extern unsigned long int strtoul (__const char *__restrict __nptr,
                                  char **__restrict __endptr, int __base)
      ;


 
__extension__
extern long long int strtoq (__const char *__restrict __nptr,
                             char **__restrict __endptr, int __base)  ;
 
__extension__
extern unsigned long long int strtouq (__const char *__restrict __nptr,
                                       char **__restrict __endptr, int __base)
      ;



 

 
__extension__
extern long long int strtoll (__const char *__restrict __nptr,
                              char **__restrict __endptr, int __base)  ;
 
__extension__
extern unsigned long long int strtoull (__const char *__restrict __nptr,
                                        char **__restrict __endptr, int __base)
      ;



# 244 "/usr/include/stdlib.h" 3



 


extern double __strtod_internal (__const char *__restrict __nptr,
                                 char **__restrict __endptr, int __group)
      ;
extern float __strtof_internal (__const char *__restrict __nptr,
                                char **__restrict __endptr, int __group)
      ;
extern long double __strtold_internal (__const char *__restrict __nptr,
                                       char **__restrict __endptr,
                                       int __group)  ;

extern long int __strtol_internal (__const char *__restrict __nptr,
                                   char **__restrict __endptr,
                                   int __base, int __group)  ;



extern unsigned long int __strtoul_internal (__const char *__restrict __nptr,
                                             char **__restrict __endptr,
                                             int __base, int __group)  ;




__extension__
extern long long int __strtoll_internal (__const char *__restrict __nptr,
                                         char **__restrict __endptr,
                                         int __base, int __group)  ;



__extension__
extern unsigned long long int __strtoull_internal (__const char *
                                                   __restrict __nptr,
                                                   char **__restrict __endptr,
                                                   int __base, int __group)
      ;






 

extern __inline double
strtod (__const char *__restrict __nptr, char **__restrict __endptr)  
{
  return __strtod_internal (__nptr, __endptr, 0);
}
extern __inline long int
strtol (__const char *__restrict __nptr, char **__restrict __endptr,
        int __base)  
{
  return __strtol_internal (__nptr, __endptr, __base, 0);
}
extern __inline unsigned long int
strtoul (__const char *__restrict __nptr, char **__restrict __endptr,
         int __base)  
{
  return __strtoul_internal (__nptr, __endptr, __base, 0);
}

# 323 "/usr/include/stdlib.h" 3



__extension__ extern __inline long long int
strtoq (__const char *__restrict __nptr, char **__restrict __endptr,
        int __base)  
{
  return __strtoll_internal (__nptr, __endptr, __base, 0);
}
__extension__ extern __inline unsigned long long int
strtouq (__const char *__restrict __nptr, char **__restrict __endptr,
         int __base)  
{
  return __strtoull_internal (__nptr, __endptr, __base, 0);
}



__extension__ extern __inline long long int
strtoll (__const char *__restrict __nptr, char **__restrict __endptr,
         int __base)  
{
  return __strtoll_internal (__nptr, __endptr, __base, 0);
}
__extension__ extern __inline unsigned long long int
strtoull (__const char * __restrict __nptr, char **__restrict __endptr,
          int __base)  
{
  return __strtoull_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);
}


__extension__ 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 long int random (void)  ;

 
extern void srandom (unsigned int __seed)  ;

 



extern char *initstate (unsigned int __seed, char *__statebuf,
                        size_t __statelen)  ;

 

extern char *setstate (char *__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 *__restrict __buf,
                     int32_t *__restrict __result)  ;

extern int srandom_r (unsigned int __seed, struct random_data *__buf)  ;

extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
                        size_t __statelen,
                        struct random_data *__restrict __buf)  ;

extern int setstate_r (char *__restrict __statebuf,
                       struct random_data *__restrict __buf)  ;




 
extern int rand (void)  ;
 
extern void srand (unsigned int __seed)  ;


 
extern int rand_r (unsigned int *__seed)  ;




 

 
extern double drand48 (void)  ;
extern double erand48 (unsigned short int __xsubi[3])  ;

 
extern long int lrand48 (void)  ;
extern long int nrand48 (unsigned short int __xsubi[3])  ;

 
extern long int mrand48 (void)  ;
extern long int jrand48 (unsigned short int __xsubi[3])  ;

 
extern void srand48 (long int __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 __old_x[3];  
    unsigned short int __c;      
    unsigned short int __init;   
    unsigned long long int __a;  
  };

 
extern int drand48_r (struct drand48_data *__restrict __buffer,
                      double *__restrict __result)  ;
extern int erand48_r (unsigned short int __xsubi[3],
                      struct drand48_data *__restrict __buffer,
                      double *__restrict __result)  ;

 
extern int lrand48_r (struct drand48_data *__restrict __buffer,
                      long int *__restrict __result)  ;
extern int nrand48_r (unsigned short int __xsubi[3],
                      struct drand48_data *__restrict __buffer,
                      long int *__restrict __result)  ;

 
extern int mrand48_r (struct drand48_data *__restrict __buffer,
                      long int *__restrict __result)  ;
extern int jrand48_r (unsigned short int __xsubi[3],
                      struct drand48_data *__restrict __buffer,
                      long int *__restrict __result)  ;

 
extern int srand48_r (long int __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 void *realloc (void *__ptr, 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/i486-suse-linux/2.95.3/include/stddef.h" 1 3






 


# 19 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3



 


 





 


# 61 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


 





 


















 





 

 


# 126 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


 




 

 


# 188 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3





 




 


# 269 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3
















 

 

# 317 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3




 













 







# 25 "/usr/include/alloca.h" 2 3


 

 


 
extern void *alloca (size_t __size)  ;





 


# 547 "/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 void exit (int __status)   __attribute__ ((__noreturn__));








 
extern char *getenv (__const char *__name)  ;

 

extern char *__secure_getenv (__const char *__name)  ;


 
 

extern int putenv (char *__string)  ;



 

extern int setenv (__const char *__name, __const char *__value, int __replace)
      ;

 
extern int unsetenv (__const char *__name)  ;



 


extern int clearenv (void)  ;




 



extern char *mktemp (char *__template)  ;

 





extern int mkstemp (char *__template)  ;













 




extern char *mkdtemp (char *__template)  ;



 
extern int system (__const char *__command)  ;










 





extern char *realpath (__const char *__restrict __name,
                       char *__restrict __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 *__restrict __decpt,
                   int *__restrict __sign)  ;

 


extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt,
                   int *__restrict __sign)  ;

 


extern char *gcvt (double __value, int __ndigit, char *__buf)  ;



 
extern char *qecvt (long double __value, int __ndigit,
                    int *__restrict __decpt, int *__restrict __sign)  ;
extern char *qfcvt (long double __value, int __ndigit,
                    int *__restrict __decpt, int *__restrict __sign)  ;
extern char *qgcvt (long double __value, int __ndigit, char *__buf)  ;


 

extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt,
                   int *__restrict __sign, char *__restrict __buf,
                   size_t __len)  ;
extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt,
                   int *__restrict __sign, char *__restrict __buf,
                   size_t __len)  ;

extern int qecvt_r (long double __value, int __ndigit,
                    int *__restrict __decpt, int *__restrict __sign,
                    char *__restrict __buf, size_t __len)  ;
extern int qfcvt_r (long double __value, int __ndigit,
                    int *__restrict __decpt, int *__restrict __sign,
                    char *__restrict __buf, size_t __len)  ;




 

extern int mblen (__const char *__s, size_t __n)  ;
 

extern int mbtowc (wchar_t *__restrict __pwc,
                   __const char *__restrict __s, size_t __n)  ;
 

extern int wctomb (char *__s, wchar_t __wchar)  ;


 
extern size_t mbstowcs (wchar_t *__restrict  __pwcs,
                        __const char *__restrict __s, size_t __n)  ;
 
extern size_t wcstombs (char *__restrict __s,
                        __const wchar_t *__restrict __pwcs, size_t __n)
      ;



 



extern int rpmatch (__const char *__response)  ;



# 812 "/usr/include/stdlib.h" 3









 






# 843 "/usr/include/stdlib.h" 3


# 853 "/usr/include/stdlib.h" 3



 


extern int getloadavg (double __loadavg[], int __nelem)  ;





 


# 338 "/usr/local/include/libguile/__scm.h" 2 3







# 1 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 1 3
# 342 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3

# 345 "/usr/local/include/libguile/__scm.h" 2 3





 









# 1 "/usr/local/include/libguile/tags.h" 1 3
 




 










































 




# 1 "/usr/include/stdint.h" 1 3
 

















 








# 1 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 1 3






 


# 19 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3



 


 





 


# 61 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


 





 


















 





 

 


# 126 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3


 




 

 


# 188 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3





 




 


# 269 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3
















 

 

# 317 "/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h" 3




 













 







# 28 "/usr/include/stdint.h" 2 3


# 1 "/usr/include/bits/wordsize.h" 1 3
 


















# 30 "/usr/include/stdint.h" 2 3


 

 

 
# 48 "/usr/include/stdint.h" 3


 
typedef unsigned char           uint8_t;
typedef unsigned short int      uint16_t;

typedef unsigned int            uint32_t;





__extension__
typedef unsigned long long int  uint64_t;



 

 
typedef signed char             int_least8_t;
typedef short int               int_least16_t;
typedef int                     int_least32_t;



__extension__
typedef long long int           int_least64_t;


 
typedef unsigned char           uint_least8_t;
typedef unsigned short int      uint_least16_t;
typedef unsigned int            uint_least32_t;



__extension__
typedef unsigned long long int  uint_least64_t;



 

 
typedef signed char             int_fast8_t;





typedef int                     int_fast16_t;
typedef int                     int_fast32_t;
__extension__
typedef long long int           int_fast64_t;


 
typedef unsigned char           uint_fast8_t;





typedef unsigned int            uint_fast16_t;
typedef unsigned int            uint_fast32_t;
__extension__
typedef unsigned long long int  uint_fast64_t;



 








typedef int                     intptr_t;


typedef unsigned int            uintptr_t;



 




__extension__
typedef long long int           intmax_t;
__extension__
typedef unsigned long long int  uintmax_t;



 











 

 




 





 






 




 





 






 









 










 











 











 

 


 



 

 








 



 






 

 




 






 



 









 









 











# 54 "/usr/local/include/libguile/tags.h" 2 3




# 1 "/usr/include/inttypes.h" 1 3
 

















 







 



 











 

 































 















 















 















 
















 








 








 

 















 















 















 















 
















 






 









 

# 271 "/usr/include/inttypes.h" 3


 
typedef struct
  {
    long long int quot;          
    long long int rem;           
  } imaxdiv_t;




 
extern intmax_t imaxabs (intmax_t __n)   __attribute__ ((__const__));

 
extern imaxdiv_t imaxdiv (intmax_t __numer, intmax_t __denom)
        __attribute__ ((__const__));

 
extern intmax_t strtoimax (__const char *__restrict __nptr,
                           char **__restrict __endptr, int __base)  ;

 
extern uintmax_t strtoumax (__const char * __restrict __nptr,
                            char ** __restrict __endptr, int __base)  ;

 
extern intmax_t wcstoimax (__const wchar_t * __restrict __nptr,
                           wchar_t **__restrict __endptr, int __base)  ;

 
extern uintmax_t wcstoumax (__const wchar_t * __restrict __nptr,
                            wchar_t ** __restrict __endptr, int __base)  ;



# 370 "/usr/include/inttypes.h" 3


 







extern __inline intmax_t
strtoimax (__const char *__restrict nptr, char **__restrict endptr,
           int base)  
{
  return __strtoll_internal (nptr, endptr, base, 0);
}

 
# 397 "/usr/include/inttypes.h" 3

extern __inline uintmax_t
strtoumax (__const char *__restrict nptr, char **__restrict endptr,
           int base)  
{
  return __strtoull_internal (nptr, endptr, base, 0);
}

 

__extension__
extern long long int __wcstoll_internal (__const wchar_t *
                                         __restrict __nptr,
                                         wchar_t **__restrict __endptr,
                                         int __base, int __group)  ;


extern __inline intmax_t
wcstoimax (__const wchar_t *__restrict nptr, wchar_t **__restrict endptr,
           int base)  
{
  return __wcstoll_internal (nptr, endptr, base, 0);
}


 

__extension__
extern unsigned long long int __wcstoull_internal (__const wchar_t *
                                                   __restrict __nptr,
                                                   wchar_t **
                                                   __restrict __endptr,
                                                   int __base,
                                                   int __group)  ;


extern __inline uintmax_t
wcstoumax (__const wchar_t *__restrict nptr, wchar_t **__restrict endptr,
           int base)  
{
  return __wcstoull_internal (nptr, endptr, base, 0);
}




 


# 58 "/usr/local/include/libguile/tags.h" 2 3





 


typedef uintptr_t scm_t_bits;
typedef intptr_t scm_t_signed_bits;













 








 


    typedef struct scm_unused_struct * SCM;


# 104 "/usr/local/include/libguile/tags.h" 3



 






 



































 

























































































































 

















 














 



















 




 

 








 









 














 




 




 




 




 






 


enum scm_tags
{
  scm_tc8_char = 0xf4,
  scm_tc8_iloc = 0xfc
};







 


 


 







extern  char *scm_isymnames[];    

 

































 












 














 




 



# 506 "/usr/local/include/libguile/tags.h" 3

 






 






 






 
















 




# 360 "/usr/local/include/libguile/__scm.h" 2 3



# 373 "/usr/local/include/libguile/__scm.h" 3








# 1 "/usr/include/setjmp.h" 1 3
 

















 








 

# 1 "/usr/include/bits/setjmp.h" 1 3
 

















 
















typedef int __jmp_buf[6];


 



# 30 "/usr/include/setjmp.h" 2 3

# 1 "/usr/include/bits/sigset.h" 1 3
 


















# 33 "/usr/include/bits/sigset.h" 3



 





# 125 "/usr/include/bits/sigset.h" 3

# 31 "/usr/include/setjmp.h" 2 3


 
typedef struct __jmp_buf_tag     
  {
     



    __jmp_buf __jmpbuf;          
    int __mask_was_saved;        
    __sigset_t __saved_mask;     
  } jmp_buf[1];


 

extern int setjmp (jmp_buf __env)  ;

 

extern int _setjmp (jmp_buf __env)  ;

 


extern int __sigsetjmp (jmp_buf __env, int __savemask)  ;


 










 

extern void longjmp (jmp_buf __env, int __val)
       __attribute__ ((__noreturn__));

 


extern void _longjmp (jmp_buf __env, int __val)
       __attribute__ ((__noreturn__));




 


typedef jmp_buf sigjmp_buf;

 



 



extern void siglongjmp (sigjmp_buf __env, int __val)
       __attribute__ ((__noreturn__));


 


# 381 "/usr/local/include/libguile/__scm.h" 2 3




 










 


 













typedef long SCM_STACKITEM;









# 431 "/usr/local/include/libguile/__scm.h" 3

extern  int scm_asyncs_pending_p;








# 457 "/usr/local/include/libguile/__scm.h" 3






 





















# 493 "/usr/local/include/libguile/__scm.h" 3










# 513 "/usr/local/include/libguile/__scm.h" 3





























 
















 















 




















 



 




extern  SCM scm_call_generic_0 (SCM gf);








extern  SCM scm_call_generic_1 (SCM gf, SCM a1);








extern  SCM scm_call_generic_2 (SCM gf, SCM a1, SCM a2);










extern  SCM scm_apply_generic (SCM gf, SCM args);












 




















 






















 




# 50 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/alist.h" 1 3
 




 














































extern  SCM scm_acons (SCM w, SCM x, SCM y);
extern  SCM scm_sloppy_assq (SCM x, SCM alist);
extern  SCM scm_sloppy_assv (SCM x, SCM alist);
extern  SCM scm_sloppy_assoc (SCM x, SCM alist);
extern  SCM scm_assq (SCM x, SCM alist);
extern  SCM scm_assv (SCM x, SCM alist);
extern  SCM scm_assoc (SCM x, SCM alist);
extern  SCM scm_assq_ref (SCM alist, SCM key);
extern  SCM scm_assv_ref (SCM alist, SCM key);
extern  SCM scm_assoc_ref (SCM alist, SCM key);
extern  SCM scm_assq_set_x (SCM alist, SCM key, SCM val);
extern  SCM scm_assv_set_x (SCM alist, SCM key, SCM val);
extern  SCM scm_assoc_set_x (SCM alist, SCM key, SCM val);
extern  SCM scm_assq_remove_x (SCM alist, SCM key);
extern  SCM scm_assv_remove_x (SCM alist, SCM key);
extern  SCM scm_assoc_remove_x (SCM alist, SCM key);
extern  void scm_init_alist (void);



 




# 51 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/arbiters.h" 1 3
 




 














































extern  SCM scm_make_arbiter (SCM name);
extern  SCM scm_try_arbiter (SCM arb);
extern  SCM scm_release_arbiter (SCM arb);
extern  void scm_init_arbiters (void);



 




# 52 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/async.h" 1 3
 




 














































extern  unsigned int scm_mask_ints;



extern  int scm_asyncs_pending (void);
extern  void scm_async_click (void);
extern  void scm_switch (void);
extern  SCM scm_async (SCM thunk);
extern  SCM scm_system_async (SCM thunk);
extern  SCM scm_async_mark (SCM a);
extern  SCM scm_system_async_mark (SCM a);
extern  void scm_system_async_mark_from_signal_handler (SCM a);
extern  SCM scm_run_asyncs (SCM list_of_a);
extern  SCM scm_noop (SCM args);
extern  SCM scm_set_tick_rate (SCM n);
extern  SCM scm_set_switch_rate (SCM n);
extern  SCM scm_unmask_signals (void);
extern  SCM scm_mask_signals (void);
extern  void scm_init_async (void);



 




# 53 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/boolean.h" 1 3
 




 














































 

 





 


 


 








extern  SCM scm_not (SCM x);
extern  SCM scm_boolean_p (SCM obj);
extern  void scm_init_boolean (void);



 




# 54 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/chars.h" 1 3
 




 













































 







extern  char *const scm_charnames[];
extern  int scm_n_charnames;
extern  const char scm_charnums[];



extern  SCM scm_char_p (SCM x);
extern  SCM scm_char_eq_p (SCM x, SCM y);
extern  SCM scm_char_less_p (SCM x, SCM y);
extern  SCM scm_char_leq_p (SCM x, SCM y);
extern  SCM scm_char_gr_p (SCM x, SCM y);
extern  SCM scm_char_geq_p (SCM x, SCM y);
extern  SCM scm_char_ci_eq_p (SCM x, SCM y);
extern  SCM scm_char_ci_less_p (SCM x, SCM y);
extern  SCM scm_char_ci_leq_p (SCM x, SCM y);
extern  SCM scm_char_ci_gr_p (SCM x, SCM y);
extern  SCM scm_char_ci_geq_p (SCM x, SCM y);
extern  SCM scm_char_alphabetic_p (SCM chr);
extern  SCM scm_char_numeric_p (SCM chr);
extern  SCM scm_char_whitespace_p (SCM chr);
extern  SCM scm_char_upper_case_p (SCM chr);
extern  SCM scm_char_lower_case_p (SCM chr);
extern  SCM scm_char_is_both_p (SCM chr);
extern  SCM scm_char_to_integer (SCM chr);
extern  SCM scm_integer_to_char (SCM n);
extern  SCM scm_char_upcase (SCM chr);
extern  SCM scm_char_downcase (SCM chr);
extern  void scm_tables_prehistory (void);
extern  int scm_upcase (unsigned int c);
extern  int scm_downcase (unsigned int c);
extern  void scm_init_chars (void);



 




# 55 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/continuations.h" 1 3
 




 


















































 







extern  scm_t_bits scm_tc16_continuation;

typedef struct 
{
  SCM throw_value;
  jmp_buf jmpbuf;
  SCM dynenv;





  SCM_STACKITEM *base;       
  size_t num_stack_items;    
  unsigned long seq;         


   

  struct scm_t_debug_frame *dframe;

  SCM_STACKITEM stack[1];      
} scm_t_contregs;

















extern  SCM scm_make_continuation (int *first);
extern  void scm_init_continuations (void);



 




# 56 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/dynl.h" 1 3
 




 














































extern  SCM scm_dynamic_link (SCM fname);
extern  SCM scm_dynamic_unlink (SCM dobj);
extern  SCM scm_dynamic_object_p (SCM obj);
extern  SCM scm_dynamic_func (SCM symb, SCM dobj);
extern  SCM scm_dynamic_call (SCM symb, SCM dobj);
extern  SCM scm_dynamic_args_call (SCM symb, SCM dobj, SCM args);

extern  void scm_init_dynamic_linking (void);



 




# 57 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/dynwind.h" 1 3
 




 














































typedef void (*scm_t_guard) (void *);
typedef SCM (*scm_t_inner) (void *);

extern  SCM scm_dynamic_wind (SCM thunk1, SCM thunk2, SCM thunk3);
extern  SCM scm_internal_dynamic_wind (scm_t_guard before,
                                       scm_t_inner inner,
                                       scm_t_guard after,
                                       void *inner_data,
                                       void *guard_data);
extern  void scm_dowinds (SCM to, long delta);
extern  void scm_init_dynwind (void);

extern  void scm_swap_bindings (SCM vars, SCM vals);







 




# 58 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/eq.h" 1 3
 




 














































extern  SCM scm_eq_p (SCM x, SCM y);
extern  SCM scm_eqv_p (SCM x, SCM y);
extern  SCM scm_equal_p (SCM x, SCM y);
extern  void scm_init_eq (void);



 




# 59 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/error.h" 1 3
 




 













































extern  int scm_ints_disabled;

extern  SCM scm_system_error_key;
extern  SCM scm_num_overflow_key;
extern  SCM scm_out_of_range_key;
extern  SCM scm_args_number_key;
extern  SCM scm_arg_type_key;
extern  SCM scm_memory_alloc_key;
extern  SCM scm_misc_error_key;



extern  void scm_error (SCM key, const char *subr, const char *message,
                        SCM args, SCM rest) __attribute__ ((noreturn)) ;
extern  SCM scm_error_scm (SCM key, SCM subr, SCM message,
                           SCM args, SCM rest) __attribute__ ((noreturn)) ;
extern  SCM scm_strerror (SCM err);
extern  void scm_syserror (const char *subr) __attribute__ ((noreturn)) ;
extern  void scm_syserror_msg (const char *subr, const char *message,
                               SCM args, int eno) __attribute__ ((noreturn)) ;
extern  void scm_num_overflow (const char *subr) __attribute__ ((noreturn)) ;
extern  void scm_out_of_range (const char *subr, SCM bad_value)
     __attribute__ ((noreturn)) ;
extern  void scm_out_of_range_pos (const char *subr, SCM bad_value, SCM pos)
     __attribute__ ((noreturn)) ;
extern  void scm_wrong_num_args (SCM proc) __attribute__ ((noreturn)) ;
extern  void scm_error_num_args_subr (const char* subr) __attribute__ 
((noreturn)) ;
extern  void scm_wrong_type_arg (const char *subr, int pos,
                                 SCM bad_value) __attribute__ ((noreturn)) ;
extern  void scm_wrong_type_arg_msg (const char *subr, int pos,
                                     SCM bad_value, const char *sz) 
__attribute__ ((noreturn)) ;
extern  void scm_memory_error (const char *subr) __attribute__ ((noreturn)) ;
extern  void scm_misc_error (const char *subr, const char *message,
                             SCM args) __attribute__ ((noreturn)) ;
extern  void scm_init_error (void);



 




# 60 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/eval.h" 1 3
 




 












































# 1 "/usr/local/include/libguile/struct.h" 1 3
 




 











































# 1 "/usr/local/include/libguile/print.h" 1 3
 




 












































# 1 "/usr/local/include/libguile/options.h" 1 3
 




 

















































typedef struct scm_t_option
{
  unsigned int type;
  const char *name;
  scm_t_bits val;
  char *doc;
} scm_t_option;







extern  SCM scm_options (SCM, scm_t_option [], unsigned int, const char*);
extern  void scm_init_opts (SCM (*) (SCM), scm_t_option [], unsigned int n);
extern  void scm_init_options (void);



 




# 51 "/usr/local/include/libguile/print.h" 2 3


extern  scm_t_option scm_print_opts[];





 























typedef struct scm_print_state {
  SCM handle;                    
  int revealed;                  
  unsigned long writingp;        
  unsigned long fancyp;          
  unsigned long level;           
  unsigned long length;          
  SCM hot_ref;                   
  unsigned long list_offset;
  unsigned long top;             
  unsigned long ceiling;         
  SCM *ref_stack;                

  SCM ref_vect;
} scm_print_state;

extern  SCM scm_print_state_vtable;

extern  scm_t_bits scm_tc16_port_with_ps;

extern  SCM scm_print_options (SCM setting);
extern  SCM scm_make_print_state (void);
extern  void scm_free_print_state (SCM print_state);
extern  void scm_intprint (long n, int radix, SCM port);
extern  void scm_ipruk (char *hdr, SCM ptr, SCM port);
extern  void scm_iprlist (char *hdr, SCM exp, int tlr, SCM port, 
scm_print_state *pstate);
extern  void scm_print_symbol_name (const char *str, size_t len, SCM port);
extern  void scm_prin1 (SCM exp, SCM port, int writingp);
extern  void scm_iprin1 (SCM exp, SCM port, scm_print_state *pstate);
extern  SCM scm_write (SCM obj, SCM port);
extern  SCM scm_display (SCM obj, SCM port);
extern  SCM scm_simple_format (SCM port, SCM message, SCM args);
extern  SCM scm_newline (SCM port);
extern  SCM scm_write_char (SCM chr, SCM port);
extern  SCM scm_printer_apply (SCM proc, SCM exp, SCM port, scm_print_state *);
extern  SCM scm_port_with_print_state (SCM port, SCM pstate);
extern  SCM scm_get_print_state (SCM port);
extern  int scm_valid_oport_value_p (SCM val);
extern  void scm_init_print (void);







 




# 50 "/usr/local/include/libguile/struct.h" 2 3




 



 








 






typedef size_t (*scm_t_struct_free) (scm_t_bits * vtable, scm_t_bits * data);




















 






extern  SCM scm_struct_table;



extern  SCM scm_structs_to_free;



extern  scm_t_bits * scm_alloc_struct (int n_words, int n_extra, char * who);
extern  size_t scm_struct_free_0 (scm_t_bits * vtable, scm_t_bits * data);
extern  size_t scm_struct_free_light (scm_t_bits * vtable, scm_t_bits * data);
extern  size_t scm_struct_free_standard (scm_t_bits * vtable, scm_t_bits * 
data);
extern  size_t scm_struct_free_entity (scm_t_bits * vtable, scm_t_bits * data);
extern  SCM scm_make_struct_layout (SCM fields);
extern  SCM scm_struct_p (SCM x);
extern  SCM scm_struct_vtable_p (SCM x);
extern  SCM scm_make_struct (SCM vtable, SCM tail_array_size, SCM init);
extern  SCM scm_make_vtable_vtable (SCM extra_fields, SCM tail_array_size, SCM 
init);
extern  SCM scm_struct_ref (SCM handle, SCM pos);
extern  SCM scm_struct_set_x (SCM handle, SCM pos, SCM val);
extern  SCM scm_struct_vtable (SCM handle);
extern  SCM scm_struct_vtable_tag (SCM handle);
extern  unsigned long scm_struct_ihashq (SCM obj, unsigned long n);
extern  SCM scm_struct_create_handle (SCM obj);
extern  SCM scm_struct_vtable_name (SCM vtable);
extern  SCM scm_set_struct_vtable_name_x (SCM vtable, SCM name);
extern  void scm_print_struct (SCM exp, SCM port, scm_print_state *);
extern  void scm_struct_prehistory (void);
extern  void scm_init_struct (void);



 




# 51 "/usr/local/include/libguile/eval.h" 2 3




 


extern  scm_t_option scm_eval_opts[];




extern  long scm_eval_stack;

extern  scm_t_option scm_evaluator_trap_table[];

extern  SCM scm_eval_options_interface (SCM setting);












 


















 



































 




extern  const char scm_s_expression[];
extern  const char scm_s_test[];
extern  const char scm_s_body[];
extern  const char scm_s_bindings[];
extern  const char scm_s_variable[];
extern  const char scm_s_clauses[];
extern  const char scm_s_formals[];
extern  const char scm_s_set_x[];

extern  SCM scm_sym_and;
extern  SCM scm_sym_begin;
extern  SCM scm_sym_case;
extern  SCM scm_sym_cond;
extern  SCM scm_sym_define;
extern  SCM scm_sym_do;
extern  SCM scm_sym_if;
extern  SCM scm_sym_lambda;
extern  SCM scm_sym_let;
extern  SCM scm_sym_letstar;
extern  SCM scm_sym_letrec;
extern  SCM scm_sym_quote;
extern  SCM scm_sym_quasiquote;
extern  SCM scm_sym_unquote;
extern  SCM scm_sym_uq_splicing;

extern  SCM scm_sym_dot;
extern  SCM scm_sym_atapply;
extern  SCM scm_sym_atcall_cc;
extern  SCM scm_sym_at_call_with_values;
extern  SCM scm_sym_delay;
extern  SCM scm_sym_arrow;
extern  SCM scm_sym_else;
extern  SCM scm_sym_apply;
extern  SCM scm_sym_set_x;
extern  SCM scm_sym_args;

extern  SCM scm_f_apply;



extern  SCM * scm_ilookup (SCM iloc, SCM env);
extern  SCM * scm_lookupcar (SCM vloc, SCM genv, int check);
extern  SCM scm_unmemocar (SCM form, SCM env);
extern  SCM scm_unmemocopy (SCM form, SCM env);
extern  SCM scm_eval_car (SCM pair, SCM env);
extern  SCM scm_eval_body (SCM code, SCM env);
extern  SCM scm_eval_args (SCM i, SCM env, SCM proc);
extern  SCM scm_deval_args (SCM l, SCM env, SCM proc, SCM *lloc);
extern  SCM scm_m_quote (SCM xorig, SCM env);
extern  SCM scm_m_begin (SCM xorig, SCM env);
extern  SCM scm_m_if (SCM xorig, SCM env);
extern  SCM scm_m_set_x (SCM xorig, SCM env);
extern  SCM scm_m_vref (SCM xorig, SCM env);
extern  SCM scm_m_vset (SCM xorig, SCM env);
extern  SCM scm_m_and (SCM xorig, SCM env);
extern  SCM scm_m_or (SCM xorig, SCM env);
extern  SCM scm_m_case (SCM xorig, SCM env);
extern  SCM scm_m_cond (SCM xorig, SCM env);
extern  SCM scm_m_lambda (SCM xorig, SCM env);
extern  SCM scm_m_letstar (SCM xorig, SCM env);
extern  SCM scm_m_do (SCM xorig, SCM env);
extern  SCM scm_m_quasiquote (SCM xorig, SCM env);
extern  SCM scm_m_delay (SCM xorig, SCM env);
extern  SCM scm_m_define (SCM x, SCM env);
extern  SCM scm_m_letrec (SCM xorig, SCM env);
extern  SCM scm_m_let (SCM xorig, SCM env);
extern  SCM scm_m_apply (SCM xorig, SCM env);
extern  SCM scm_m_cont (SCM xorig, SCM env);
extern  SCM scm_m_nil_cond (SCM xorig, SCM env);
extern  SCM scm_m_nil_ify (SCM xorig, SCM env);
extern  SCM scm_m_t_ify (SCM xorig, SCM env);
extern  SCM scm_m_0_cond (SCM xorig, SCM env);
extern  SCM scm_m_0_ify (SCM xorig, SCM env);
extern  SCM scm_m_1_ify (SCM xorig, SCM env);
extern  SCM scm_m_atfop (SCM xorig, SCM env);
extern  SCM scm_m_atbind (SCM xorig, SCM env);
extern  SCM scm_m_at_call_with_values (SCM xorig, SCM env);
extern  int scm_badargsp (SCM formals, SCM args);
extern  SCM scm_ceval (SCM x, SCM env);
extern  SCM scm_deval (SCM x, SCM env);
extern  SCM scm_call_0 (SCM proc);
extern  SCM scm_call_1 (SCM proc, SCM arg1);
extern  SCM scm_call_2 (SCM proc, SCM arg1, SCM arg2);
extern  SCM scm_call_3 (SCM proc, SCM arg1, SCM arg2, SCM arg3);
extern  SCM scm_call_4 (SCM proc, SCM arg1, SCM arg2, SCM arg3, SCM arg4);
extern  SCM scm_apply_0 (SCM proc, SCM args);
extern  SCM scm_apply_1 (SCM proc, SCM arg1, SCM args);
extern  SCM scm_apply_2 (SCM proc, SCM arg1, SCM arg2, SCM args);
extern  SCM scm_apply_3 (SCM proc, SCM arg1, SCM arg2, SCM arg3, SCM args);
extern  SCM scm_nconc2last (SCM lst);
extern  SCM scm_apply (SCM proc, SCM arg1, SCM args);
extern  SCM scm_dapply (SCM proc, SCM arg1, SCM args);
extern  SCM scm_m_expand_body (SCM xorig, SCM env);
extern  SCM scm_macroexp (SCM x, SCM env);
extern  SCM scm_map (SCM proc, SCM arg1, SCM args);
extern  SCM scm_for_each (SCM proc, SCM arg1, SCM args);
extern  SCM scm_closure (SCM code, SCM env);
extern  SCM scm_makprom (SCM code);
extern  SCM scm_force (SCM x);
extern  SCM scm_promise_p (SCM x);
extern  SCM scm_cons_source (SCM xorig, SCM x, SCM y);
extern  SCM scm_copy_tree (SCM obj);
extern  SCM scm_i_eval_x (SCM exp, SCM env);
extern  SCM scm_i_eval (SCM exp, SCM env);
extern  SCM scm_primitive_eval (SCM exp);
extern  SCM scm_primitive_eval_x (SCM exp);
extern  SCM scm_eval (SCM exp, SCM module);
extern  SCM scm_eval_x (SCM exp, SCM module);

extern  void scm_init_eval (void);



 




# 61 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/evalext.h" 1 3
 




 














































extern  SCM scm_m_generalized_set_x (SCM xorig, SCM env);
extern  SCM scm_definedp (SCM sym, SCM env);
extern  SCM scm_m_undefine (SCM x, SCM env);
extern  void scm_init_evalext (void);



 




# 62 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/feature.h" 1 3
 




 












































extern  void scm_add_feature (const char* str);
extern  SCM scm_program_arguments (void);
extern  void scm_set_program_arguments (int argc, char **argv, char *first);
extern  void scm_init_feature (void);



 




# 63 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/filesys.h" 1 3
 




 














































extern  scm_t_bits scm_tc16_dir;








extern  SCM scm_chown (SCM object, SCM owner, SCM group);
extern  SCM scm_chmod (SCM object, SCM mode);
extern  SCM scm_umask (SCM mode);
extern  SCM scm_open_fdes (SCM path, SCM flags, SCM mode);
extern  SCM scm_open (SCM path, SCM flags, SCM mode);
extern  SCM scm_close (SCM fd_or_port);
extern  SCM scm_close_fdes (SCM fd);
extern  SCM scm_stat (SCM object);
extern  SCM scm_link (SCM oldpath, SCM newpath);
extern  SCM scm_rename (SCM oldname, SCM newname);
extern  SCM scm_delete_file (SCM str);
extern  SCM scm_mkdir (SCM path, SCM mode);
extern  SCM scm_rmdir (SCM path);
extern  SCM scm_directory_stream_p (SCM obj);
extern  SCM scm_opendir (SCM dirname);
extern  SCM scm_readdir (SCM port);
extern  SCM scm_rewinddir (SCM port);
extern  SCM scm_closedir (SCM port);
extern  SCM scm_chdir (SCM str);
extern  SCM scm_getcwd (void);
extern  SCM scm_select (SCM reads, SCM writes, SCM excepts, SCM secs, SCM 
msecs);
extern  SCM scm_fcntl (SCM object, SCM cmd, SCM value);
extern  SCM scm_fsync (SCM object);
extern  SCM scm_symlink (SCM oldpath, SCM newpath);
extern  SCM scm_readlink (SCM path);
extern  SCM scm_lstat (SCM str);
extern  SCM scm_copy_file (SCM oldfile, SCM newfile);
extern  SCM scm_dirname (SCM filename);
extern  SCM scm_basename (SCM filename, SCM suffix);

extern  void scm_init_filesys (void);



 




# 64 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/fluids.h" 1 3
 




 











































# 1 "/usr/local/include/libguile/root.h" 1 3
 




 











































# 1 "/usr/local/include/libguile/debug.h" 1 3
 




 


















































 







 


 


extern  scm_t_option scm_debug_opts[];

















extern  SCM (*scm_ceval_ptr) (SCM exp, SCM env);

extern  int scm_debug_mode;
extern  int scm_check_entry_p;
extern  int scm_check_apply_p;
extern  int scm_check_exit_p;






# 111 "/usr/local/include/libguile/debug.h" 3

 


typedef union scm_t_debug_info
{
  struct { SCM exp, env; } e;
  struct { SCM proc, args; } a;
  SCM id;
} scm_t_debug_info;

extern  long scm_debug_eframe_size;

typedef struct scm_t_debug_frame
{
  struct scm_t_debug_frame *prev;
  long status;
  scm_t_debug_info *vect;
  scm_t_debug_info *info;
} scm_t_debug_frame;


extern  scm_t_debug_frame *scm_last_debug_frame;

































 


extern  scm_t_bits scm_tc16_debugobj;







 


extern  scm_t_bits scm_tc16_memoized;







extern  int scm_ready_p (void);
extern  void debug_print (SCM obj);
extern  SCM scm_debug_object_p (SCM obj);
extern  SCM scm_local_eval (SCM exp, SCM env);
extern  SCM scm_reverse_lookup (SCM env, SCM data);
extern  SCM scm_start_stack (SCM id, SCM exp, SCM env);
extern  SCM scm_procedure_environment (SCM proc);
extern  SCM scm_procedure_source (SCM proc);
extern  SCM scm_procedure_name (SCM proc);
extern  SCM scm_memoized_environment (SCM m);
extern  SCM scm_make_memoized (SCM exp, SCM env);
extern  SCM scm_memoized_p (SCM obj);
extern  SCM scm_with_traps (SCM thunk);
extern  SCM scm_evaluator_traps (SCM setting);
extern  SCM scm_debug_options (SCM setting);
extern  SCM scm_unmemoize (SCM memoized);
extern  SCM scm_make_debugobj (scm_t_debug_frame *debug);
extern  void scm_init_debug (void);












 




# 50 "/usr/local/include/libguile/root.h" 2 3

# 1 "/usr/local/include/libguile/throw.h" 1 3
 




 














































typedef SCM (*scm_t_catch_body) (void *data);
typedef SCM (*scm_t_catch_handler) (void *data,
                                    SCM tag, SCM throw_args);

extern  SCM scm_internal_catch (SCM tag,
                                scm_t_catch_body body,
                                void *body_data,
                                scm_t_catch_handler handler,
                                void *handler_data);

extern  SCM scm_internal_lazy_catch (SCM tag,
                                     scm_t_catch_body body,
                                     void *body_data,
                                     scm_t_catch_handler handler,
                                     void *handler_data);

extern  SCM scm_internal_stack_catch (SCM tag,
                                      scm_t_catch_body body,
                                      void *body_data,
                                      scm_t_catch_handler handler,
                                      void *handler_data);

 

struct scm_body_thunk_data
{
   


  SCM tag;

   

  SCM body_proc;
};

extern  SCM scm_body_thunk (void *);


extern  SCM scm_handle_by_proc (void *, SCM, SCM);
extern  SCM scm_handle_by_proc_catching_all (void *, SCM, SCM);
extern  SCM scm_handle_by_message (void *, SCM, SCM);
extern  SCM scm_handle_by_message_noexit (void *, SCM, SCM);
extern  SCM scm_handle_by_throw (void *, SCM, SCM);
extern  int scm_exit_status (SCM args);

extern  SCM scm_catch (SCM tag, SCM thunk, SCM handler);
extern  SCM scm_lazy_catch (SCM tag, SCM thunk, SCM handler);
extern  SCM scm_ithrow (SCM key, SCM args, int noreturn);

extern  SCM scm_throw (SCM key, SCM args);
extern  void scm_init_throw (void);



 




# 51 "/usr/local/include/libguile/root.h" 2 3
























extern  SCM scm_sys_protects[];



extern  scm_t_bits scm_tc16_root;




typedef struct scm_root_state
{
  SCM_STACKITEM * stack_base;
  jmp_buf save_regs_gc_mark;
  int errjmp_bad;

  SCM rootcont;
  SCM dynwinds;

   
  scm_t_debug_frame *last_debug_frame;


  SCM progargs;                  
  SCM exitval;                   

  SCM cur_inp;
  SCM cur_outp;
  SCM cur_errp;
  SCM def_inp;
  SCM def_outp;
  SCM def_errp;
  SCM cur_loadp;

  SCM fluids;

  SCM handle;                    
  SCM parent;                    
} scm_root_state;



















     




extern  struct scm_root_state *scm_root;





extern  SCM scm_make_root (SCM parent);
extern  SCM scm_internal_cwdr (scm_t_catch_body body,
                               void *body_data,
                               scm_t_catch_handler handler,
                               void *handler_data,
                               SCM_STACKITEM *stack_start);
extern  SCM scm_call_with_dynamic_root (SCM thunk, SCM handler);
extern  SCM scm_dynamic_root (void);
extern  SCM scm_apply_with_dynamic_root (SCM proc, SCM a1, SCM args, SCM 
handler);
extern  void scm_init_root (void);



 




# 50 "/usr/local/include/libguile/fluids.h" 2 3

# 1 "/usr/local/include/libguile/vectors.h" 1 3
 




 




























































 









extern  SCM scm_c_make_vector (unsigned long int k, SCM fill);

extern  SCM scm_vector_p (SCM x);
extern  SCM scm_vector_length (SCM v);
extern  SCM scm_vector (SCM l);
extern  SCM scm_vector_ref (SCM v, SCM k);
extern  SCM scm_vector_set_x (SCM v, SCM k, SCM obj);
extern  SCM scm_make_vector (SCM k, SCM fill);
extern  SCM scm_vector_to_list (SCM v);
extern  SCM scm_vector_fill_x (SCM v, SCM fill_x);
extern  SCM scm_vector_equal_p (SCM x, SCM y);
extern  SCM scm_vector_move_left_x (SCM vec1, SCM start1, SCM end1,
                                    SCM vec2, SCM start2);
extern  SCM scm_vector_move_right_x (SCM vec1, SCM start1, SCM end1, 
                                     SCM vec2, SCM start2);
extern  void scm_init_vectors (void);



 




# 51 "/usr/local/include/libguile/fluids.h" 2 3


 





















extern  scm_t_bits scm_tc16_fluid;




 











extern  SCM scm_make_fluid (void);
extern  SCM scm_fluid_p (SCM fl);
extern  SCM scm_fluid_ref (SCM fluid);
extern  SCM scm_fluid_set_x (SCM fluid, SCM value);

extern  SCM scm_c_with_fluids (SCM fluids, SCM vals,
                               SCM (*cproc)(void *), void *cdata);
extern  SCM scm_c_with_fluid (SCM fluid, SCM val,
                              SCM (*cproc)(void *), void *cdata);
extern  SCM scm_with_fluids (SCM fluids, SCM vals, SCM thunk);

extern  SCM scm_make_initial_fluids (void);
extern  void scm_copy_fluids (scm_root_state *);
extern  void scm_swap_fluids (SCM fluids, SCM vals);
extern  void scm_swap_fluids_reverse (SCM fluids, SCM vals);

extern  void scm_init_fluids (void);



 




# 65 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/fports.h" 1 3
 




 












































# 1 "/usr/local/include/libguile/ports.h" 1 3
 




 















































 






 
typedef enum scm_t_port_rw_active {
  SCM_PORT_NEITHER = 0,
  SCM_PORT_READ = 1,
  SCM_PORT_WRITE = 2
} scm_t_port_rw_active;

 

typedef struct 
{
  SCM port;                      
  long entry;                    
  int revealed;                  


   
  scm_t_bits stream;

  SCM file_name;                 
  long line_number;              
  int column_number;             

   




   



  unsigned char *read_buf;       
  const unsigned char *read_pos; 
  unsigned char *read_end;       
  off_t read_buf_size;           

   



  unsigned char *saved_read_buf;
  const unsigned char *saved_read_pos;
  unsigned char *saved_read_end;
  off_t saved_read_buf_size;

   



  unsigned char *write_buf;      
  unsigned char *write_pos;      
  unsigned char *write_end;      
  off_t write_buf_size;          

  unsigned char shortbuf;        

  int rw_random;                 




  scm_t_port_rw_active rw_active;  






   
  unsigned char *putback_buf;
  size_t putback_buf_size;         
} scm_t_port;

extern  scm_t_port **scm_port_table;
extern  long scm_port_table_size;  







 










































 
typedef struct scm_t_ptob_descriptor
{
  char *name;
  SCM (*mark) (SCM);
  size_t (*free) (SCM);
  int (*print) (SCM exp, SCM port, scm_print_state *pstate);
  SCM (*equalp) (SCM, SCM);
  int (*close) (SCM port);

  void (*write) (SCM port, const void *data, size_t size);
  void (*flush) (SCM port);

  void (*end_input) (SCM port, int offset);
  int (*fill_input) (SCM port);
  int (*input_waiting) (SCM port);

  off_t (*seek) (SCM port, off_t OFFSET, int WHENCE);
  void (*truncate) (SCM port, off_t length);

} scm_t_ptob_descriptor;



 




extern  scm_t_ptob_descriptor *scm_ptobs;
extern  long scm_numptob;
extern  long scm_port_table_room;



extern  SCM scm_markstream (SCM ptr);
extern  scm_t_bits scm_make_port_type (char *name,
                                       int (*fill_input) (SCM port),
                                       void (*write) (SCM port, 
                                                      const void *data,
                                                      size_t size));
extern  void scm_set_port_mark (long tc, SCM (*mark) (SCM));
extern  void scm_set_port_free (long tc, size_t (*free) (SCM));
extern  void scm_set_port_print (long tc,
                                 int (*print) (SCM exp,
                                               SCM port,
                                               scm_print_state *pstate));
extern  void scm_set_port_equalp (long tc, SCM (*equalp) (SCM, SCM));
extern  void scm_set_port_close (long tc, int (*close) (SCM));

extern  void scm_set_port_flush (long tc, 
                                 void (*flush) (SCM port));
extern  void scm_set_port_end_input (long tc,
                                     void (*end_input) (SCM port,
                                                        int offset));
extern  void scm_set_port_seek (long tc,
                                off_t (*seek) (SCM port,
                                               off_t OFFSET,
                                               int WHENCE));
extern  void scm_set_port_truncate (long tc,
                                    void (*truncate) (SCM port,
                                                      off_t length));
extern  void scm_set_port_input_waiting (long tc, int (*input_waiting) (SCM));
extern  SCM scm_char_ready_p (SCM port);
size_t scm_take_from_input_buffers (SCM port, char *dest, size_t read_len);
extern  SCM scm_drain_input (SCM port);
extern  SCM scm_current_input_port (void);
extern  SCM scm_current_output_port (void);
extern  SCM scm_current_error_port (void);
extern  SCM scm_current_load_port (void);
extern  SCM scm_set_current_input_port (SCM port);
extern  SCM scm_set_current_output_port (SCM port);
extern  SCM scm_set_current_error_port (SCM port);
extern  scm_t_port * scm_add_to_port_table (SCM port);
extern  void scm_remove_from_port_table (SCM port);
extern  void scm_grow_port_cbuf (SCM port, size_t requested);
extern  SCM scm_pt_size (void);
extern  SCM scm_pt_member (SCM member);
extern  void scm_port_non_buffer (scm_t_port *pt);
extern  int scm_revealed_count (SCM port);
extern  SCM scm_port_revealed (SCM port);
extern  SCM scm_set_port_revealed_x (SCM port, SCM rcount);
extern  long scm_mode_bits (char *modes);
extern  SCM scm_port_mode (SCM port);
extern  SCM scm_close_input_port (SCM port);
extern  SCM scm_close_output_port (SCM port);
extern  SCM scm_close_port (SCM port);
extern  SCM scm_port_for_each (SCM proc);
extern  SCM scm_input_port_p (SCM x);
extern  SCM scm_output_port_p (SCM x);
extern  SCM scm_port_p (SCM x);
extern  SCM scm_port_closed_p (SCM port);
extern  SCM scm_eof_object_p (SCM x);
extern  SCM scm_force_output (SCM port);
extern  SCM scm_flush_all_ports (void);
extern  SCM scm_read_char (SCM port);
extern  void scm_putc (char c, SCM port);
extern  void scm_puts (const char *str_data, SCM port);
extern  size_t scm_c_read (SCM port, void *buffer, size_t size);
extern  void scm_c_write (SCM port, const void *buffer, size_t size);
extern  void scm_lfwrite (const char *ptr, size_t size, SCM port);
extern  void scm_flush (SCM port);
extern  void scm_end_input (SCM port);
extern  int scm_fill_input (SCM port);
extern  int scm_getc (SCM port);
extern  void scm_ungetc (int c, SCM port);
extern  void scm_ungets (const char *s, int n, SCM port);
extern  SCM scm_peek_char (SCM port);
extern  SCM scm_unread_char (SCM cobj, SCM port);
extern  SCM scm_unread_string (SCM str, SCM port);
extern  SCM scm_seek (SCM object, SCM offset, SCM whence);
extern  SCM scm_truncate_file (SCM object, SCM length);
extern  SCM scm_port_line (SCM port);
extern  SCM scm_set_port_line_x (SCM port, SCM line);
extern  SCM scm_port_column (SCM port);
extern  SCM scm_set_port_column_x (SCM port, SCM line);
extern  SCM scm_port_filename (SCM port);
extern  SCM scm_set_port_filename_x (SCM port, SCM filename);
extern  int scm_port_print (SCM exp, SCM port, scm_print_state *);
extern  void scm_print_port_mode (SCM exp, SCM port);
extern  void scm_ports_prehistory (void);
extern  SCM scm_void_port (char * mode_str);
extern  SCM scm_sys_make_void_port (SCM mode);
extern  void scm_init_ports (void);








 




# 51 "/usr/local/include/libguile/fports.h" 2 3




 
typedef struct scm_t_fport {
  int fdes;                      
} scm_t_fport;

extern  scm_t_bits scm_tc16_fport;









 



extern  SCM scm_setbuf0 (SCM port);
extern  SCM scm_setvbuf (SCM port, SCM mode, SCM size);
extern  void scm_evict_ports (int fd);
extern  SCM scm_open_file (SCM filename, SCM modes);
extern  SCM scm_fdes_to_port (int fdes, char *mode, SCM name);
extern  SCM scm_file_port_p (SCM obj);
extern  void scm_init_fports (void);



 




# 66 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/gc.h" 1 3
 




 












































# 1 "/usr/local/include/libguile/hooks.h" 1 3
 




 












































 



 




typedef enum scm_t_c_hookype_t {
  SCM_C_HOOK_NORMAL,
  SCM_C_HOOK_OR,
  SCM_C_HOOK_AND
} scm_t_c_hookype_t;

typedef void  *(*scm_t_c_hook_function) (void *hook_data,
                                         void *func_data,
                                         void *data);

typedef struct scm_t_c_hook_entry {
  struct scm_t_c_hook_entry *next;
  scm_t_c_hook_function func;
  void *data;
} scm_t_c_hook_entry;

typedef struct scm_t_c_hook {
  scm_t_c_hook_entry *first;
  scm_t_c_hookype_t type;
  void *data;
} scm_t_c_hook;

extern  void scm_c_hook_init (scm_t_c_hook *hook,
                              void *hook_data,
                              scm_t_c_hookype_t type);
extern  void scm_c_hook_add (scm_t_c_hook *hook,
                             scm_t_c_hook_function func,
                             void *func_data, 
                             int appendp);
extern  void scm_c_hook_remove (scm_t_c_hook *hook,
                                scm_t_c_hook_function func,
                                void *func_data);
extern  void *scm_c_hook_run (scm_t_c_hook *hook, void *data);

 



extern  scm_t_bits scm_tc16_hook;






extern  SCM scm_make_hook (SCM n_args);
extern  SCM scm_hook_p (SCM x);
extern  SCM scm_hook_empty_p (SCM hook);
extern  SCM scm_add_hook_x (SCM hook, SCM thunk, SCM appendp);
extern  SCM scm_remove_hook_x (SCM hook, SCM thunk);
extern  SCM scm_reset_hook_x (SCM hook);
extern  SCM scm_run_hook (SCM hook, SCM args);
extern  void scm_c_run_hook (SCM hook, SCM args);
extern  SCM scm_hook_to_list (SCM hook);
extern  void scm_init_hooks (void);



 




# 51 "/usr/local/include/libguile/gc.h" 2 3




typedef struct scm_cell
{
  scm_t_bits word_0;
  scm_t_bits word_1;
} scm_cell;


 


typedef scm_cell * SCM_CELLPTR;


 














































 
















 

typedef unsigned long scm_t_c_bvec_limb;




























 






 
















 












































 

















 















extern  struct scm_t_heap_seg_data *scm_heap_table;
extern  size_t scm_n_heap_segs;
extern  int scm_block_gc;
extern  int scm_gc_heap_lock;
extern  unsigned int scm_gc_running_p;


extern  size_t scm_default_init_heap_size_1;
extern  int scm_default_min_yield_1;
extern  size_t scm_default_init_heap_size_2;
extern  int scm_default_min_yield_2;
extern  size_t scm_default_max_segment_size;

extern  size_t scm_max_segment_size;
extern  SCM_CELLPTR scm_heap_org;
extern  SCM scm_freelist;
extern  struct scm_t_freelist scm_master_freelist;
extern  SCM scm_freelist2;
extern  struct scm_t_freelist scm_master_freelist2;
extern  unsigned long scm_gc_cells_collected;
extern  unsigned long scm_gc_yield;
extern  unsigned long scm_gc_malloc_collected;
extern  unsigned long scm_gc_ports_collected;
extern  unsigned long scm_cells_allocated;
extern  unsigned long scm_mallocated;
extern  unsigned long scm_mtrigger;

extern  SCM scm_after_gc_hook;

extern  scm_t_c_hook scm_before_gc_c_hook;
extern  scm_t_c_hook scm_before_mark_c_hook;
extern  scm_t_c_hook scm_before_sweep_c_hook;
extern  scm_t_c_hook scm_after_sweep_c_hook;
extern  scm_t_c_hook scm_after_gc_c_hook;















extern  SCM scm_object_address (SCM obj);
extern  SCM scm_gc_stats (void);
extern  SCM scm_gc (void);
extern  void scm_gc_for_alloc (struct scm_t_freelist *freelist);
extern  SCM scm_gc_for_newcell (struct scm_t_freelist *master, SCM *freelist);



extern  void scm_igc (const char *what);
extern  void scm_gc_mark (SCM p);
extern  void scm_gc_mark_dependencies (SCM p);
extern  void scm_mark_locations (SCM_STACKITEM x[], unsigned long n);
extern  int scm_cellp (SCM value);
extern  void scm_gc_sweep (void);
extern  void * scm_must_malloc (size_t len, const char *what);
extern  void * scm_must_realloc (void *where,
                                 size_t olen, size_t len,
                                 const char *what);
extern  char *scm_must_strdup (const char *str);
extern  char *scm_must_strndup (const char *str, size_t n);
extern  void scm_done_malloc (long size);
extern  void scm_done_free (long size);
extern  void scm_must_free (void *obj);
extern  void scm_remember_upto_here_1 (SCM obj);
extern  void scm_remember_upto_here_2 (SCM obj1, SCM obj2);
extern  void scm_remember_upto_here (SCM obj1, ...);
extern  SCM scm_return_first (SCM elt, ...);
extern  int scm_return_first_int (int x, ...);
extern  SCM scm_permanent_object (SCM obj);
extern  SCM scm_gc_protect_object (SCM obj);
extern  SCM scm_gc_unprotect_object (SCM obj);
extern  void scm_gc_register_root (SCM *p);
extern  void scm_gc_unregister_root (SCM *p);
extern  void scm_gc_register_roots (SCM *b, unsigned long n);
extern  void scm_gc_unregister_roots (SCM *b, unsigned long n);
extern  int scm_init_storage (void);
extern  void *scm_get_stack_base (void);
extern  void scm_init_gc (void);



extern  SCM scm_deprecated_newcell (void);
extern  SCM scm_deprecated_newcell2 (void);










 




# 67 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/gdbint.h" 1 3
 




 

















































extern  int scm_print_carefully_p;

extern  void scm_init_gdbint (void);



 




# 68 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/goops.h" 1 3
 



 









































 








# 1 "/usr/local/include/libguile/validate.h" 1 3
 




 








































 





































































































































 



# 198 "/usr/local/include/libguile/validate.h" 3





















































































# 295 "/usr/local/include/libguile/validate.h" 3


# 308 "/usr/local/include/libguile/validate.h" 3

 







































































































































































 




# 56 "/usr/local/include/libguile/goops.h" 2 3


 













 

















typedef struct scm_t_method {
  SCM generic_function;
  SCM specializers;
  SCM procedure;
} scm_t_method;






 
 




 
 
 










 



























































 
extern  SCM scm_class_top;
extern  SCM scm_class_object;
extern  SCM scm_class_class;
extern  SCM scm_class_entity;
extern  SCM scm_class_entity_with_setter;
extern  SCM scm_class_generic;
extern  SCM scm_class_generic_with_setter;
extern  SCM scm_class_method;
extern  SCM scm_class_simple_method;
extern  SCM scm_class_accessor;
extern  SCM scm_class_procedure_class;
extern  SCM scm_class_operator_class;
extern  SCM scm_class_operator_with_setter_class;
extern  SCM scm_class_entity_class;
extern  SCM scm_class_number;
extern  SCM scm_class_list;
extern  SCM scm_class_keyword;
extern  SCM scm_class_port;
extern  SCM scm_class_input_output_port;
extern  SCM scm_class_input_port;
extern  SCM scm_class_output_port;
extern  SCM scm_class_foreign_class;
extern  SCM scm_class_foreign_object;
extern  SCM scm_class_foreign_slot;
extern  SCM scm_class_self;
extern  SCM scm_class_protected;
extern  SCM scm_class_opaque;
extern  SCM scm_class_read_only;
extern  SCM scm_class_protected_opaque;
extern  SCM scm_class_protected_read_only;
extern  SCM scm_class_scm;
extern  SCM scm_class_int;
extern  SCM scm_class_float;
extern  SCM scm_class_double;
extern  const char *scm_s_slot_set_x;

extern  SCM scm_module_goops;

extern  SCM scm_goops_version (void);
extern  SCM scm_oldfmt (SCM);
extern  char *scm_c_oldfmt0 (char *);
extern  char *scm_c_oldfmt (char *, int n);
extern  void scm_load_goops (void);
extern  SCM scm_make_foreign_object (SCM cls, SCM initargs);
extern  SCM scm_make_class (SCM meta, char *s_name, SCM supers, size_t size,
                            void * (*constructor) (SCM initargs),
                            size_t (*destructor) (void *));
extern  void scm_add_slot (SCM c, char *slot, SCM slot_class,
                           SCM (*getter) (SCM obj),
                           SCM (*setter) (SCM obj, SCM x),
                           char *accessor_name);
extern  SCM scm_wrap_object (SCM c, void *);
extern  SCM scm_wrap_component (SCM c, SCM obj, void *);
extern  SCM scm_ensure_accessor (SCM name);
extern  void scm_add_method (SCM gf, SCM m);

 
extern  SCM scm_make_next_method (SCM methods, SCM args, SCM gf);
extern  SCM scm_basic_basic_make_class (SCM c, SCM name, SCM dsupers, SCM 
dslots);
extern  SCM scm_basic_make_class (SCM c, SCM name, SCM dsupers, SCM dslots);

 
extern  SCM scm_sys_allocate_instance (SCM c, SCM initargs);
extern  SCM scm_sys_set_object_setter_x (SCM obj, SCM setter);
extern  SCM scm_slot_ref (SCM obj, SCM slot_name);
extern  SCM scm_slot_set_x (SCM obj, SCM slot_name, SCM value);

extern  SCM scm_compute_applicable_methods (SCM gf, SCM args, long len, int 
scm_find_method);
extern  SCM scm_sys_compute_applicable_methods (SCM gf, SCM args);
extern  SCM scm_m_atslot_ref (SCM xorig, SCM env);
extern  SCM scm_m_atslot_set_x (SCM xorig, SCM env);
extern  SCM scm_m_atdispatch (SCM xorig, SCM env);




extern  SCM scm_sys_compute_slots (SCM c); 
extern  SCM scm_i_get_keyword (SCM key, SCM l, long len, SCM default_value, 
const char *subr); 
extern  SCM scm_get_keyword (SCM key, SCM l, SCM default_value); 
extern  SCM scm_sys_initialize_object (SCM obj, SCM initargs); 
extern  SCM scm_sys_prep_layout_x (SCM c); 
extern  SCM scm_sys_inherit_magic_x (SCM c, SCM dsupers); 
extern  SCM scm_instance_p (SCM obj); 
extern  SCM scm_class_name (SCM obj); 
extern  SCM scm_class_direct_supers (SCM obj); 
extern  SCM scm_class_direct_slots (SCM obj); 
extern  SCM scm_class_direct_subclasses (SCM obj); 
extern  SCM scm_class_direct_methods (SCM obj); 
extern  SCM scm_class_precedence_list (SCM obj); 
extern  SCM scm_class_slots (SCM obj); 
extern  SCM scm_class_environment (SCM obj); 
extern  SCM scm_generic_function_name (SCM obj); 
extern  SCM scm_generic_function_methods (SCM obj); 
extern  SCM scm_method_generic_function (SCM obj); 
extern  SCM scm_method_specializers (SCM obj); 
extern  SCM scm_method_procedure (SCM obj); 
extern  SCM scm_accessor_method_slot_definition (SCM obj);
extern  SCM scm_sys_tag_body (SCM body);
extern  SCM scm_sys_fast_slot_ref (SCM obj, SCM index); 
extern  SCM scm_sys_fast_slot_set_x (SCM obj, SCM index, SCM value); 
extern  SCM scm_slot_ref_using_class (SCM cls, SCM obj, SCM slot_name); 
extern  SCM scm_slot_set_using_class_x (SCM cls, SCM obj, SCM slot_name, SCM 
value); 
extern  SCM scm_slot_bound_using_class_p (SCM cls, SCM obj, SCM slot_name); 
extern  SCM scm_slot_exists_using_class_p (SCM cls, SCM obj, SCM slot_name); 
extern  SCM scm_slot_bound_p (SCM obj, SCM slot_name); 
extern  SCM scm_slots_exists_p (SCM obj, SCM slot_name); 
extern  SCM scm_sys_modify_instance (SCM old, SCM newinst); 
extern  SCM scm_sys_modify_class (SCM old, SCM newcls);
extern  SCM scm_sys_invalidate_class (SCM cls);
extern  SCM scm_make_method_cache (SCM gf);
extern  SCM scm_sys_invalidate_method_cache_x (SCM gf);
extern  SCM scm_generic_capability_p (SCM proc);
extern  SCM scm_enable_primitive_generic_x (SCM subrs);
extern  SCM scm_primitive_generic_generic (SCM subr);
extern  SCM stklos_version (void); 
extern  SCM scm_make (SCM args); 
extern  SCM scm_find_method (SCM args); 
extern  SCM scm_sys_method_more_specific_p (SCM m1, SCM m2, SCM targs); 

extern  SCM scm_init_goops_builtins (void);
extern  void scm_init_goops (void); 















# 69 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/gsubr.h" 1 3
 




 

























































extern  SCM scm_f_gsubr_apply;

extern  SCM scm_c_make_gsubr (const char *name, 
                              int req, int opt, int rst, SCM (*fcn) ());
extern  SCM scm_c_make_gsubr_with_generic (const char *name,
                                           int req, int opt, int rst,
                                           SCM (*fcn) (), SCM *gf);
extern  SCM scm_c_define_gsubr (const char *name, 
                                int req, int opt, int rst, SCM (*fcn) ());
extern  SCM scm_c_define_gsubr_with_generic (const char *name,
                                             int req, int opt, int rst,
                                             SCM (*fcn) (), SCM *gf);

extern  SCM scm_gsubr_apply (SCM args);
extern  void scm_init_gsubr (void);



 




# 70 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/guardians.h" 1 3
 




 












































extern  SCM scm_make_guardian (SCM greedy_p);
extern  SCM scm_destroy_guardian_x (SCM guardian);

extern  SCM scm_guardian_greedy_p (SCM guardian);
extern  SCM scm_guardian_destroyed_p (SCM guardian);

 
extern  SCM scm_guard (SCM guardian, SCM obj, int throw_p);
extern  SCM scm_get_one_zombie (SCM guardian);

extern  void scm_init_guardians (void);



 




# 71 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/hash.h" 1 3
 




 














































extern  unsigned long scm_string_hash (const unsigned char *str, size_t len);
extern  unsigned long scm_hasher (SCM obj, unsigned long n, size_t d);
extern  unsigned long scm_ihashq (SCM obj, unsigned long n);
extern  SCM scm_hashq (SCM obj, SCM n);
extern  unsigned long scm_ihashv (SCM obj, unsigned long n);
extern  SCM scm_hashv (SCM obj, SCM n);
extern  unsigned long scm_ihash (SCM obj, unsigned long n);
extern  SCM scm_hash (SCM obj, SCM n);
extern  void scm_init_hash (void);



 




# 72 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/hashtab.h" 1 3
 




 




















































extern  SCM scm_c_make_hash_table (unsigned long k);

extern  SCM scm_hash_fn_get_handle (SCM table, SCM obj, unsigned long 
(*hash_fn) (), SCM (*assoc_fn) (), void * closure);
extern  SCM scm_hash_fn_create_handle_x (SCM table, SCM obj, SCM init, unsigned 
long (*hash_fn) (), SCM (*assoc_fn) (), void * closure);
extern  SCM scm_hash_fn_ref (SCM table, SCM obj, SCM dflt, unsigned long 
(*hash_fn) (), SCM (*assoc_fn) (), void * closure);
extern  SCM scm_hash_fn_set_x (SCM table, SCM obj, SCM val, unsigned long 
(*hash_fn) (), SCM (*assoc_fn) (), void * closure);
extern  SCM scm_hash_fn_remove_x (SCM table, SCM obj, unsigned long (*hash_fn) 
(), SCM (*assoc_fn) (), SCM (*delete_fn) (), void * closure);
extern  SCM scm_internal_hash_fold (SCM (*fn) (), void *closure, SCM init, SCM 
table);

extern  SCM scm_hashq_get_handle (SCM table, SCM obj);
extern  SCM scm_hashq_create_handle_x (SCM table, SCM obj, SCM init);
extern  SCM scm_hashq_ref (SCM table, SCM obj, SCM dflt);
extern  SCM scm_hashq_set_x (SCM table, SCM obj, SCM val);
extern  SCM scm_hashq_remove_x (SCM table, SCM obj);
extern  SCM scm_hashv_get_handle (SCM table, SCM obj);
extern  SCM scm_hashv_create_handle_x (SCM table, SCM obj, SCM init);
extern  SCM scm_hashv_ref (SCM table, SCM obj, SCM dflt);
extern  SCM scm_hashv_set_x (SCM table, SCM obj, SCM val);
extern  SCM scm_hashv_remove_x (SCM table, SCM obj);
extern  SCM scm_hash_get_handle (SCM table, SCM obj);
extern  SCM scm_hash_create_handle_x (SCM table, SCM obj, SCM init);
extern  SCM scm_hash_ref (SCM table, SCM obj, SCM dflt);
extern  SCM scm_hash_set_x (SCM table, SCM obj, SCM val);
extern  SCM scm_hash_remove_x (SCM table, SCM obj);
extern  SCM scm_hashx_get_handle (SCM hash, SCM assoc, SCM table, SCM obj);
extern  SCM scm_hashx_create_handle_x (SCM hash, SCM assoc, SCM table, SCM obj, 
SCM init);
extern  SCM scm_hashx_ref (SCM hash, SCM assoc, SCM table, SCM obj, SCM dflt);
extern  SCM scm_hashx_set_x (SCM hash, SCM assoc, SCM table, SCM obj, SCM val);
extern  SCM scm_hashx_remove_x (SCM hash, SCM assoc, SCM del, SCM table, SCM 
obj);
extern  SCM scm_hash_fold (SCM proc, SCM init, SCM hash);
extern  void scm_init_hashtab (void);



 




# 73 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/init.h" 1 3
 




 













































extern  int scm_initialized_p;

extern  void scm_init_guile (void);

extern  void scm_boot_guile (int argc, char **argv,
                             void (*main_func) (void *closure,
                                                int argc,
                                                char **argv),
                             void *closure);

extern  void scm_load_startup_files (void);



 




# 74 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/ioext.h" 1 3
 




 














































extern  SCM scm_ftell (SCM object);
extern  SCM scm_redirect_port (SCM into_pt, SCM from_pt);
extern  SCM scm_dup_to_fdes (SCM fd_or_port, SCM newfd);
extern  SCM scm_dup2 (SCM oldfd, SCM newfd);
extern  SCM scm_fileno (SCM port);
extern  SCM scm_isatty_p (SCM port);
extern  SCM scm_fdopen (SCM fdes, SCM modes);
extern  SCM scm_primitive_move_to_fdes (SCM port, SCM fd);
extern  SCM scm_fdes_to_ports (SCM fd);
extern  void scm_init_ioext (void);



 




# 75 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/rdelim.h" 1 3
 




 












































extern  SCM scm_read_delimited_x (SCM delims, SCM buf, SCM gobble, SCM port,
                                  SCM offset, SCM length);
extern  SCM scm_read_line (SCM port);
extern  SCM scm_write_line (SCM obj, SCM port);
extern  SCM scm_init_rdelim_builtins (void);

extern  void scm_init_rdelim (void);



 




# 76 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/rw.h" 1 3
 




 












































extern  SCM scm_read_string_x_partial (SCM str, SCM port_or_fdes, SCM start,
                                       SCM end);
extern  SCM scm_write_string_partial (SCM str, SCM port_or_fdes, SCM start,
                                      SCM end);

extern  SCM scm_init_rw_builtins (void);
extern  void scm_init_rw (void);



 




# 77 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/keywords.h" 1 3
 




 














































extern  scm_t_bits scm_tc16_keyword;







extern  SCM scm_make_keyword_from_dash_symbol (SCM symbol);
extern  SCM scm_c_make_keyword (char *s);
extern  SCM scm_keyword_p (SCM obj);
extern  SCM scm_keyword_dash_symbol (SCM keyword);
extern  void scm_init_keywords (void);



 




# 78 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/list.h" 1 3
 




 














































extern  SCM scm_list_1 (SCM e1);
extern  SCM scm_list_2 (SCM e1, SCM e2);
extern  SCM scm_list_3 (SCM e1, SCM e2, SCM e3);
extern  SCM scm_list_4 (SCM e1, SCM e2, SCM e3, SCM e4);
extern  SCM scm_list_5 (SCM e1, SCM e2, SCM e3, SCM e4, SCM e5);
extern  SCM scm_list_n (SCM elt, ...);
extern  SCM scm_list_head (SCM lst, SCM k);
extern  SCM scm_list (SCM objs);
extern  SCM scm_cons_star (SCM arg, SCM objs);
extern  SCM scm_null_p (SCM x);
extern  SCM scm_list_p (SCM x);
extern  long scm_ilength (SCM sx);
extern  SCM scm_length (SCM x);
extern  SCM scm_append (SCM args);
extern  SCM scm_append_x (SCM args);
extern  SCM scm_reverse (SCM lst);
extern  SCM scm_reverse_x (SCM lst, SCM newtail);
extern  SCM scm_list_ref (SCM lst, SCM k);
extern  SCM scm_list_set_x (SCM lst, SCM k, SCM val);
extern  SCM scm_list_cdr_set_x (SCM lst, SCM k, SCM val);
extern  SCM scm_last_pair (SCM sx);
extern  SCM scm_list_tail (SCM lst, SCM k);
extern  SCM scm_c_memq (SCM x, SCM lst);
extern  SCM scm_memq (SCM x, SCM lst);
extern  SCM scm_memv (SCM x, SCM lst);
extern  SCM scm_member (SCM x, SCM lst);
extern  SCM scm_delq_x (SCM item, SCM lst);
extern  SCM scm_delv_x (SCM item, SCM lst);
extern  SCM scm_delete_x (SCM item, SCM lst);
extern  SCM scm_list_copy (SCM lst);
extern  SCM scm_delq (SCM item, SCM lst);
extern  SCM scm_delv (SCM item, SCM lst);
extern  SCM scm_delete (SCM item, SCM lst);
extern  SCM scm_delq1_x (SCM item, SCM lst);
extern  SCM scm_delv1_x (SCM item, SCM lst);
extern  SCM scm_delete1_x (SCM item, SCM lst);
extern  void scm_init_list (void);



 




# 79 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/load.h" 1 3
 




 













































extern  SCM scm_internal_parse_path (char *path, SCM tail);
extern  SCM scm_parse_path (SCM path, SCM tail);
extern  void scm_init_load_path (void);
extern  SCM scm_primitive_load (SCM filename);
extern  SCM scm_c_primitive_load (const char *filename);
extern  SCM scm_sys_package_data_dir (void);
extern  SCM scm_sys_library_dir (void);
extern  SCM scm_sys_site_dir (void);
extern  SCM scm_search_path (SCM path, SCM filename, SCM exts);
extern  SCM scm_sys_search_load_path (SCM filename);
extern  SCM scm_primitive_load_path (SCM filename);
extern  SCM scm_c_primitive_load_path (const char *filename);
extern  void scm_init_load (void);



 




# 80 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/macros.h" 1 3
 




 





















































extern  scm_t_bits scm_tc16_macro;

extern  SCM scm_makacro (SCM code);
extern  SCM scm_makmacro (SCM code);
extern  SCM scm_makmmacro (SCM code);
extern  SCM scm_macro_p (SCM obj);
extern  SCM scm_macro_type (SCM m);
extern  SCM scm_macro_name (SCM m);
extern  SCM scm_macro_transformer (SCM m);
extern  SCM scm_make_synt (const char *name,
                           SCM (*macroizer) (SCM),
                           SCM (*fcn) ());
extern  void scm_init_macros (void);



 




# 81 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/mallocs.h" 1 3
 




 













































extern  scm_t_bits scm_tc16_malloc;







extern  SCM scm_malloc_obj (size_t n);
extern  void scm_init_mallocs (void);



 




# 82 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/modules.h" 1 3
 




 
















































extern  int scm_module_system_booted_p;
extern  scm_t_bits scm_module_tag;






 




















extern  scm_t_bits scm_tc16_eval_closure;





extern  SCM scm_current_module (void);
extern  SCM scm_interaction_environment (void);
extern  SCM scm_set_current_module (SCM module);

extern  SCM scm_c_call_with_current_module (SCM module,
                                            SCM (*func)(void *), void *data);

extern  SCM scm_c_lookup (const char *name);
extern  SCM scm_c_define (const char *name, SCM val);
extern  SCM scm_lookup (SCM symbol);
extern  SCM scm_define (SCM symbol, SCM val);

extern  SCM scm_c_module_lookup (SCM module, const char *name);
extern  SCM scm_c_module_define (SCM module, const char *name, SCM val);
extern  SCM scm_module_lookup (SCM module, SCM symbol);
extern  SCM scm_module_define (SCM module, SCM symbol, SCM val);
extern  SCM scm_module_reverse_lookup (SCM module, SCM variable);

extern  SCM scm_c_resolve_module (const char *name);
extern  SCM scm_resolve_module (SCM name);
extern  SCM scm_c_define_module (const char *name,
                                 void (*init)(void *), void *data);
extern  void scm_c_use_module (const char *name);
extern  void scm_c_export (const char *name, ...);

extern  SCM scm_sym2var (SCM sym, SCM thunk, SCM definep);

extern  SCM scm_module_lookup_closure (SCM module);
extern  SCM scm_module_transformer (SCM module);
extern  SCM scm_current_module_lookup_closure (void);
extern  SCM scm_current_module_transformer (void);
extern  SCM scm_eval_closure_lookup (SCM eclo, SCM sym, SCM definep);
extern  SCM scm_standard_eval_closure (SCM module);
extern  SCM scm_standard_interface_eval_closure (SCM module);
extern  SCM scm_get_pre_modules_obarray (void);
extern  SCM scm_lookup_closure_module (SCM proc);

extern  SCM scm_env_top_level (SCM env);
extern  SCM scm_env_module (SCM env);
extern  SCM scm_top_level_env (SCM thunk);
extern  SCM scm_system_module_env_p (SCM env);

extern  void scm_modules_prehistory (void);
extern  void scm_init_modules (void);



 




# 83 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/net_db.h" 1 3
 




 














































extern  SCM scm_gethost (SCM host);
extern  SCM scm_getnet (SCM name);
extern  SCM scm_getproto (SCM name);
extern  SCM scm_getserv (SCM name, SCM proto);
extern  SCM scm_sethost (SCM arg);
extern  SCM scm_setnet (SCM arg);
extern  SCM scm_setproto (SCM arg);
extern  SCM scm_setserv (SCM arg);
extern  void scm_init_net_db (void);



 




# 84 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/numbers.h" 1 3
 




 















































 



 








 













 





 



 




















 






 














 





# 148 "/usr/local/include/libguile/numbers.h" 3







































typedef struct scm_t_double
{
  SCM type;
  SCM pad;
  double real;
} scm_t_double;

typedef struct scm_t_complex
{
  double real;
  double imag;
} scm_t_complex;



extern  SCM scm_exact_p (SCM x);
extern  SCM scm_odd_p (SCM n);
extern  SCM scm_even_p (SCM n);
extern  SCM scm_abs (SCM x);
extern  SCM scm_quotient (SCM x, SCM y);
extern  SCM scm_remainder (SCM x, SCM y);
extern  SCM scm_modulo (SCM x, SCM y);
extern  SCM scm_gcd (SCM x, SCM y);
extern  SCM scm_lcm (SCM n1, SCM n2);
extern  SCM scm_logand (SCM n1, SCM n2);
extern  SCM scm_logior (SCM n1, SCM n2);
extern  SCM scm_logxor (SCM n1, SCM n2);
extern  SCM scm_logtest (SCM n1, SCM n2);
extern  SCM scm_logbit_p (SCM n1, SCM n2);
extern  SCM scm_lognot (SCM n);
extern  SCM scm_integer_expt (SCM z1, SCM z2);
extern  SCM scm_ash (SCM n, SCM cnt);
extern  SCM scm_bit_extract (SCM n, SCM start, SCM end);
extern  SCM scm_logcount (SCM n);
extern  SCM scm_integer_length (SCM n);
extern  SCM scm_i_mkbig (size_t nlen, int sign);
extern  SCM scm_i_big2inum (SCM b, size_t l);
extern  SCM scm_i_adjbig (SCM b, size_t nlen);
extern  SCM scm_i_normbig (SCM b);
extern  SCM scm_i_copybig (SCM b, int sign);
extern  SCM scm_i_short2big (short n);
extern  SCM scm_i_ushort2big (unsigned short n);
extern  SCM scm_i_int2big (int n);
extern  SCM scm_i_uint2big (unsigned int n);
extern  SCM scm_i_long2big (long n);
extern  SCM scm_i_ulong2big (unsigned long n);
extern  SCM scm_i_size2big (size_t n);
extern  SCM scm_i_ptrdiff2big (ptrdiff_t n);


extern  SCM scm_i_long_long2big (long long n);
extern  SCM scm_i_ulong_long2big (unsigned long long n);


extern  int scm_bigcomp (SCM x, SCM y);
extern  long scm_pseudolong (long x);
extern  void scm_longdigs (long x, unsigned short  digs[]);
extern  SCM scm_addbig (unsigned short  *x, size_t nx, int xsgn, SCM bigy, int 
sgny);
extern  SCM scm_mulbig (unsigned short  *x, size_t nx, unsigned short  *y, 
size_t ny, int sgn);
extern  unsigned int scm_divbigdig (unsigned short  *ds, size_t h, unsigned 
short  div);
extern  size_t scm_iint2str (long num, int rad, char *p);
extern  SCM scm_number_to_string (SCM x, SCM radix);
extern  int scm_print_real (SCM sexp, SCM port, scm_print_state *pstate);
extern  int scm_print_complex (SCM sexp, SCM port, scm_print_state *pstate);
extern  int scm_bigprint (SCM exp, SCM port, scm_print_state *pstate);
extern  SCM scm_i_mem2number (const char *mem, size_t len, unsigned int radix);
extern  SCM scm_string_to_number (SCM str, SCM radix);
extern  SCM scm_make_real (double x);
extern  SCM scm_make_complex (double x, double y);
extern  SCM scm_bigequal (SCM x, SCM y);
extern  SCM scm_real_equalp (SCM x, SCM y);
extern  SCM scm_complex_equalp (SCM x, SCM y);
extern  SCM scm_number_p (SCM x);
extern  SCM scm_real_p (SCM x);
extern  SCM scm_integer_p (SCM x);
extern  SCM scm_inexact_p (SCM x);
extern  SCM scm_num_eq_p (SCM x, SCM y);
extern  SCM scm_less_p (SCM x, SCM y);
extern  SCM scm_gr_p (SCM x, SCM y);
extern  SCM scm_leq_p (SCM x, SCM y);
extern  SCM scm_geq_p (SCM x, SCM y);
extern  SCM scm_zero_p (SCM z);
extern  SCM scm_positive_p (SCM x);
extern  SCM scm_negative_p (SCM x);
extern  SCM scm_max (SCM x, SCM y);
extern  SCM scm_min (SCM x, SCM y);
extern  SCM scm_sum (SCM x, SCM y);
extern  SCM scm_difference (SCM x, SCM y);
extern  SCM scm_product (SCM x, SCM y);
extern  double scm_num2dbl (SCM a, const char * why);
extern  SCM scm_divide (SCM x, SCM y);
extern  double scm_asinh (double x);
extern  double scm_acosh (double x);
extern  double scm_atanh (double x);
extern  double scm_truncate (double x);
extern  double scm_round (double x);
extern  SCM scm_sys_expt (SCM z1, SCM z2);
extern  SCM scm_sys_atan2 (SCM z1, SCM z2);
extern  SCM scm_make_rectangular (SCM z1, SCM z2);
extern  SCM scm_make_polar (SCM z1, SCM z2);
extern  SCM scm_real_part (SCM z);
extern  SCM scm_imag_part (SCM z);
extern  SCM scm_magnitude (SCM z);
extern  SCM scm_angle (SCM z);
extern  SCM scm_exact_to_inexact (SCM z);
extern  SCM scm_inexact_to_exact (SCM z);
extern  SCM scm_trunc (SCM x);
extern  SCM scm_i_dbl2big (double d);
extern  double scm_i_big2dbl (SCM b);

extern  SCM scm_short2num (short n);
extern  SCM scm_ushort2num (unsigned short n);
extern  SCM scm_int2num (int n);
extern  SCM scm_uint2num (unsigned int n);
extern  SCM scm_long2num (long n);
extern  SCM scm_ulong2num (unsigned long n);
extern  SCM scm_size2num (size_t n);
extern  SCM scm_ptrdiff2num (ptrdiff_t n);
extern  short scm_num2short (SCM num, unsigned long int pos,
                             const char *s_caller);
extern  unsigned short scm_num2ushort (SCM num, unsigned long int pos,
                                       const char *s_caller);
extern  int scm_num2int (SCM num, unsigned long int pos,
                         const char *s_caller);
extern  unsigned int scm_num2uint (SCM num, unsigned long int pos,
                                   const char *s_caller);
extern  long scm_num2long (SCM num, unsigned long int pos,
                           const char *s_caller);
extern  unsigned long scm_num2ulong (SCM num, unsigned long int pos,
                                     const char *s_caller);
extern  ptrdiff_t scm_num2ptrdiff (SCM num, unsigned long int pos,
                                   const char *s_caller);
extern  size_t scm_num2size (SCM num, unsigned long int pos,
                             const char *s_caller);

extern  SCM scm_long_long2num (long long sl);
extern  SCM scm_ulong_long2num (unsigned long long sl);
extern  long long scm_num2long_long (SCM num, unsigned long int pos,
                                     const char *s_caller);
extern  unsigned long long scm_num2ulong_long (SCM num, unsigned long int pos,
                                               const char *s_caller);


extern  SCM scm_float2num (float n);
extern  SCM scm_double2num (double n);
extern  float scm_num2float (SCM num, unsigned long int pos,
                             const char *s_caller);
extern  double scm_num2double (SCM num, unsigned long int pos,
                               const char *s_caller);





extern  void scm_init_numbers (void);



 




# 85 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/objects.h" 1 3
 




 










































 















 












 



























 
































struct scm_metaclass_standard {
  SCM layout;
  SCM vcell;
  SCM vtable;
  SCM print;
};


struct scm_metaclass_operator {
  SCM layout;
  SCM vcell;
  SCM vtable;
  SCM print;
  SCM procedure;
  SCM setter;
};

 









 






 








typedef struct scm_effective_slot_definition {
  SCM name;
  long location;
  SCM init_value;
  SCM (*get) (SCM obj, SCM slotdef);
  SCM (*set) (SCM obj, SCM slotdef, SCM value);
} scm_effective_slot_definition;






 




 
extern  SCM scm_metaclass_standard;
extern  SCM scm_metaclass_operator;
extern  SCM scm_class_boolean;
extern  SCM scm_class_char;
extern  SCM scm_class_pair;
extern  SCM scm_class_procedure;
extern  SCM scm_class_string;
extern  SCM scm_class_symbol;
extern  SCM scm_class_procedure_with_setter;
extern  SCM scm_class_primitive_generic;
extern  SCM scm_class_vector, scm_class_null;
extern  SCM scm_class_real;
extern  SCM scm_class_complex;
extern  SCM scm_class_integer;
extern  SCM scm_class_unknown;
extern  SCM *scm_port_class;
extern  SCM *scm_smob_class;

extern  SCM scm_no_applicable_method;

 
extern  SCM scm_make_extended_class (char *type_name);
extern  void scm_make_port_classes (long ptobnum, char *type_name);
extern  void scm_change_object_class (SCM, SCM, SCM);
extern  SCM scm_memoize_method (SCM x, SCM args);

extern  SCM scm_class_of (SCM obj);
extern  SCM scm_mcache_lookup_cmethod (SCM cache, SCM args);
extern  SCM scm_mcache_compute_cmethod (SCM cache, SCM args);
 





extern  SCM scm_call_generic_3 (SCM gf, SCM a1, SCM a2, SCM a3);
extern  SCM scm_entity_p (SCM obj);
extern  SCM scm_operator_p (SCM obj);
extern  SCM scm_valid_object_procedure_p (SCM proc);
extern  SCM scm_set_object_procedure_x (SCM obj, SCM proc);



extern  SCM scm_make_class_object (SCM metaclass, SCM layout);
extern  SCM scm_make_subclass_object (SCM c, SCM layout);

extern  SCM scm_i_make_class_object (SCM metaclass, SCM layout_string,
                                     unsigned long flags);
extern  void scm_init_objects (void);



 




# 86 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/objprop.h" 1 3
 




 














































extern  SCM scm_object_properties (SCM obj);
extern  SCM scm_set_object_properties_x (SCM obj, SCM plist);
extern  SCM scm_object_property (SCM obj, SCM key);
extern  SCM scm_set_object_property_x (SCM obj, SCM key, SCM val);
extern  void scm_init_objprop (void);



 




# 87 "/usr/local/include/libguile.h" 2 3


# 1 "/usr/local/include/libguile/pairs.h" 1 3
 




 



































































































extern  SCM scm_cons (SCM x, SCM y);
extern  SCM scm_cons2 (SCM w, SCM x, SCM y);
extern  SCM scm_pair_p (SCM x);
extern  SCM scm_set_car_x (SCM pair, SCM value);
extern  SCM scm_set_cdr_x (SCM pair, SCM value);
extern  void scm_init_pairs (void);



 




# 89 "/usr/local/include/libguile.h" 2 3


# 1 "/usr/local/include/libguile/posix.h" 1 3
 




 

















































extern  SCM scm_tcsetpgrp (SCM port, SCM pgid);
extern  SCM scm_tcgetpgrp (SCM port);
extern  SCM scm_ctermid (void);
extern  SCM scm_setsid (void);
extern  SCM scm_setpgid (SCM pid, SCM pgid);
extern  SCM scm_pipe (void);
extern  SCM scm_getgroups (void);
extern  SCM scm_getpgrp (void);
extern  SCM scm_getpwuid (SCM user);
extern  SCM scm_setpwent (SCM arg);
extern  SCM scm_getgrgid (SCM name);
extern  SCM scm_setgrent (SCM arg);
extern  SCM scm_kill (SCM pid, SCM sig);
extern  SCM scm_waitpid (SCM pid, SCM options);
extern  SCM scm_status_exit_val (SCM status);
extern  SCM scm_status_term_sig (SCM status);
extern  SCM scm_status_stop_sig (SCM status);
extern  SCM scm_getppid (void);
extern  SCM scm_getuid (void);
extern  SCM scm_getgid (void);
extern  SCM scm_geteuid (void);
extern  SCM scm_getegid (void);
extern  SCM scm_setuid (SCM id);
extern  SCM scm_setgid (SCM id);
extern  SCM scm_seteuid (SCM id);
extern  SCM scm_setegid (SCM id);
extern  SCM scm_ttyname (SCM port);
extern  SCM scm_execl (SCM filename, SCM args);
extern  SCM scm_execlp (SCM filename, SCM args);
extern  SCM scm_execle (SCM filename, SCM env, SCM args);
extern  SCM scm_fork (void);
extern  SCM scm_uname (void);
extern  SCM scm_environ (SCM env);
extern  SCM scm_tmpnam (void);
extern  SCM scm_mkstemp (SCM tmpl);
extern  SCM scm_open_pipe (SCM pipestr, SCM modes);
extern  SCM scm_close_pipe (SCM port);
extern  SCM scm_utime (SCM pathname, SCM actime, SCM modtime);
extern  SCM scm_access (SCM path, SCM how);
extern  SCM scm_getpid (void);
extern  SCM scm_putenv (SCM str);
extern  SCM scm_setlocale (SCM category, SCM locale);
extern  SCM scm_mknod (SCM path, SCM type, SCM perms, SCM dev);
extern  SCM scm_nice (SCM incr);
extern  SCM scm_sync (void);
extern  SCM scm_crypt (SCM key, SCM salt);
extern  SCM scm_chroot (SCM path);
extern  SCM scm_getlogin (void);
extern  SCM scm_cuserid (void);
extern  SCM scm_getpriority (SCM which, SCM who);
extern  SCM scm_setpriority (SCM which, SCM who, SCM prio);
extern  SCM scm_getpass (SCM prompt);
extern  SCM scm_flock (SCM file, SCM operation);
extern  SCM scm_sethostname (SCM name);
extern  SCM scm_gethostname (void);
extern  void scm_init_posix (void);



 




# 91 "/usr/local/include/libguile.h" 2 3


# 1 "/usr/local/include/libguile/procprop.h" 1 3
 




 














































extern  SCM scm_sym_name;
extern  SCM scm_sym_arity;
extern  SCM scm_sym_system_procedure;



extern  SCM scm_i_procedure_arity (SCM proc);
extern  SCM scm_procedure_properties (SCM proc);
extern  SCM scm_set_procedure_properties_x (SCM proc, SCM new_val);
extern  SCM scm_procedure_property (SCM p, SCM k);
extern  SCM scm_set_procedure_property_x (SCM p, SCM k, SCM v);
extern  void scm_init_procprop (void);



 




# 93 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/properties.h" 1 3
 




 












































extern  SCM scm_primitive_make_property (SCM not_found_proc);
extern  SCM scm_primitive_property_ref (SCM prop, SCM obj);
extern  SCM scm_primitive_property_set_x (SCM prop, SCM obj, SCM val);
extern  SCM scm_primitive_property_del_x (SCM prop, SCM obj);

extern  void scm_init_properties (void);



 




# 94 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/procs.h" 1 3
 




 















































 


typedef struct
{
  SCM handle;                    
  SCM name;
  SCM *generic;                  


  SCM properties;                
} scm_t_subr_entry;
























 














 


















































extern  scm_t_subr_entry *scm_subr_table;
extern  long scm_subr_table_size;
extern  long scm_subr_table_room;



extern  void scm_mark_subr_table (void);
extern  void scm_free_subr_entry (SCM subr);
extern  SCM scm_c_make_subr (const char *name, long type, SCM (*fcn)());
extern  SCM scm_c_make_subr_with_generic (const char *name, long type,
                                          SCM (*fcn)(), SCM *gf);
extern  SCM scm_c_define_subr (const char *name, long type, SCM (*fcn)());
extern  SCM scm_c_define_subr_with_generic (const char *name, long type,
                                            SCM (*fcn)(), SCM *gf);
extern  SCM scm_makcclo (SCM proc, size_t len);
extern  SCM scm_procedure_p (SCM obj);
extern  SCM scm_closure_p (SCM obj);
extern  SCM scm_thunk_p (SCM obj);
extern  int scm_subr_p (SCM obj);
extern  SCM scm_procedure_documentation (SCM proc);
extern  SCM scm_procedure_with_setter_p (SCM obj);
extern  SCM scm_make_procedure_with_setter (SCM procedure, SCM setter);
extern  SCM scm_procedure (SCM proc);
extern  SCM scm_setter (SCM proc);
extern  void scm_init_subr_table (void);
extern  void scm_init_procs (void);







 




# 95 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/ramap.h" 1 3
 




 














































extern  int scm_ra_matchp (SCM ra0, SCM ras);
extern  int scm_ramapc (int (*cproc) (), SCM data, SCM ra0, SCM lra,
                        const char *what);
extern  int scm_array_fill_int (SCM ra, SCM fill, SCM ignore);
extern  SCM scm_array_fill_x (SCM ra, SCM fill);
extern  SCM scm_array_copy_x (SCM src, SCM dst);
extern  int scm_ra_eqp (SCM ra0, SCM ras);
extern  int scm_ra_lessp (SCM ra0, SCM ras);
extern  int scm_ra_leqp (SCM ra0, SCM ras);
extern  int scm_ra_grp (SCM ra0, SCM ras);
extern  int scm_ra_greqp (SCM ra0, SCM ras);
extern  int scm_ra_sum (SCM ra0, SCM ras);
extern  int scm_ra_difference (SCM ra0, SCM ras);
extern  int scm_ra_product (SCM ra0, SCM ras);
extern  int scm_ra_divide (SCM ra0, SCM ras);
extern  int scm_array_identity (SCM src, SCM dst);
extern  SCM scm_array_map_x (SCM ra0, SCM proc, SCM lra);
extern  SCM scm_array_for_each (SCM proc, SCM ra0, SCM lra);
extern  SCM scm_array_index_map_x (SCM ra, SCM proc);
extern  SCM scm_raequal (SCM ra0, SCM ra1);
extern  SCM scm_array_equal_p (SCM ra0, SCM ra1);
extern  void scm_init_ramap (void);



 




# 96 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/random.h" 1 3
 




 













































 











typedef struct scm_t_rstate {
  int reserved0;
  double reserved1;
   
} scm_t_rstate;

typedef struct scm_t_rng {
  size_t rstate_size;                                
  unsigned long (*random_bits) (scm_t_rstate *state);  
  void (*init_rstate) (scm_t_rstate *state, char *seed, int n);
  scm_t_rstate *(*copy_rstate) (scm_t_rstate *state);
} scm_t_rng;

extern  scm_t_rng scm_the_rng;


 


typedef struct scm_t_i_rstate {
  scm_t_rstate rstate;
  unsigned long w;
  unsigned long c;
} scm_t_i_rstate;

extern  unsigned long scm_i_uniform32 (scm_t_i_rstate *);
extern  void scm_i_init_rstate (scm_t_i_rstate *, char *seed, int n);
extern  scm_t_i_rstate *scm_i_copy_rstate (scm_t_i_rstate *);


 


extern  scm_t_rstate *scm_c_make_rstate (char *, int);
extern  scm_t_rstate *scm_c_default_rstate (void);

extern  double scm_c_uniform01 (scm_t_rstate *);
extern  double scm_c_normal01 (scm_t_rstate *);
extern  double scm_c_exp1 (scm_t_rstate *);
extern  unsigned long scm_c_random (scm_t_rstate *, unsigned long m);
extern  SCM scm_c_random_bignum (scm_t_rstate *, SCM m);


 


extern  scm_t_bits scm_tc16_rstate;



extern  unsigned char scm_masktab[256];

extern  SCM scm_var_random_state;
extern  SCM scm_random (SCM n, SCM state);
extern  SCM scm_copy_random_state (SCM state);
extern  SCM scm_seed_to_random_state (SCM seed);
extern  SCM scm_random_uniform (SCM state);
extern  SCM scm_random_solid_sphere_x (SCM v, SCM state);
extern  SCM scm_random_hollow_sphere_x (SCM v, SCM state);
extern  SCM scm_random_normal (SCM state);
extern  SCM scm_random_normal_vector_x (SCM v, SCM state);
extern  SCM scm_random_exp (SCM state);
extern  void scm_init_random (void);



 




# 97 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/read.h" 1 3
 




 















































 

















extern  scm_t_option scm_read_opts[];









extern  SCM scm_read_options (SCM setting);
extern  SCM scm_read (SCM port);
extern  char * scm_grow_tok_buf (SCM * tok_buf);
extern  int scm_flush_ws (SCM port, const char *eoferr);
extern  int scm_casei_streq (char * s1, char * s2);
extern  SCM scm_lreadr (SCM * tok_buf, SCM port, SCM *copy);
extern  size_t scm_read_token (int ic, SCM * tok_buf, SCM port, int weird);
extern  SCM scm_lreadparen (SCM * tok_buf, SCM port, char *name, SCM *copy);
extern  SCM scm_lreadrecparen (SCM * tok_buf, SCM port, char *name, SCM *copy);
extern  SCM scm_read_hash_extend (SCM chr, SCM proc);
extern  void scm_init_read (void);



 




# 98 "/usr/local/include/libguile.h" 2 3


# 1 "/usr/local/include/libguile/scmsigs.h" 1 3
 




 














































extern  SCM scm_sigaction (SCM signum, SCM handler, SCM flags);
extern  SCM scm_restore_signals (void);
extern  SCM scm_alarm (SCM i);
extern  SCM scm_setitimer (SCM which_timer,
                           SCM interval_seconds, SCM interval_microseconds,
                           SCM value_seconds, SCM value_microseconds);
extern  SCM scm_getitimer (SCM which_timer);
extern  SCM scm_pause (void);
extern  SCM scm_sleep (SCM i);
extern  SCM scm_usleep (SCM i);
extern  SCM scm_raise (SCM sig);
extern  void scm_init_scmsigs (void);



 




# 100 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/script.h" 1 3
 




 













































extern  char *scm_find_executable (const char *name);
extern  char *scm_find_impl_file (char *exec_path,
                                  const char *generic_name,
                                  const char *initname,
                                  const char *sep);
extern  char **scm_get_meta_args (int argc, char **argv);
extern  int scm_count_argv (char **argv);
extern  void scm_shell_usage (int fatal, char *message);
extern  SCM scm_compile_shell_switches (int argc, char **argv);
extern  void scm_shell (int argc, char **argv);
extern  char *scm_usage_name;
extern  void scm_init_script (void);



 




# 101 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/simpos.h" 1 3
 




 














































extern  SCM scm_system (SCM cmd);
extern  SCM scm_getenv (SCM nam);
extern  SCM scm_primitive_exit (SCM status);
extern  void scm_init_simpos (void);



 




# 102 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/smob.h" 1 3
 




 














































 

typedef struct scm_smob_descriptor
{
  char *name;
  size_t size;
  SCM (*mark) (SCM);
  size_t (*free) (SCM);
  int (*print) (SCM exp, SCM port, scm_print_state *pstate);
  SCM (*equalp) (SCM, SCM);
  SCM (*apply) ();
  SCM (*apply_0) (SCM);
  SCM (*apply_1) (SCM, SCM);
  SCM (*apply_2) (SCM, SCM, SCM);
  SCM (*apply_3) (SCM, SCM, SCM, SCM);
  int gsubr_type;  
} scm_smob_descriptor;











































 









extern  long scm_numsmob;
extern  scm_smob_descriptor scm_smobs[];



extern  SCM scm_mark0 (SCM ptr);
extern  SCM scm_markcdr (SCM ptr);
extern  size_t scm_free0 (SCM ptr);
extern  size_t scm_smob_free (SCM obj);
extern  int scm_smob_print (SCM exp, SCM port, scm_print_state *pstate);

 







extern  scm_t_bits scm_make_smob_type (char *name, size_t size);

extern  void scm_set_smob_mark (scm_t_bits tc, SCM (*mark) (SCM));
extern  void scm_set_smob_free (scm_t_bits tc, size_t (*free) (SCM));
extern  void scm_set_smob_print (scm_t_bits tc,
                                 int (*print) (SCM, SCM, scm_print_state*));
extern  void scm_set_smob_equalp (scm_t_bits tc, SCM (*equalp) (SCM, SCM));
extern  void scm_set_smob_apply (scm_t_bits tc,
                                 SCM (*apply) (),
                                 unsigned int req,
                                 unsigned int opt,
                                 unsigned int rst);

 

extern  SCM scm_make_smob (scm_t_bits tc);
extern  void scm_smob_prehistory (void);



 




# 103 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/snarf.h" 1 3
 




 










































 












 

















# 98 "/usr/local/include/libguile/snarf.h" 3



# 110 "/usr/local/include/libguile/snarf.h" 3






















# 140 "/usr/local/include/libguile/snarf.h" 3









# 157 "/usr/local/include/libguile/snarf.h" 3












































 




# 104 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/socket.h" 1 3
 




 














































extern  SCM scm_htons (SCM in);
extern  SCM scm_ntohs (SCM in);
extern  SCM scm_htonl (SCM in);
extern  SCM scm_ntohl (SCM in);
extern  SCM scm_gethost (SCM name);
extern  SCM scm_inet_aton (SCM address);
extern  SCM scm_inet_ntoa (SCM inetid);
extern  SCM scm_inet_netof (SCM address);
extern  SCM scm_lnaof (SCM address);
extern  SCM scm_inet_makeaddr (SCM net, SCM lna);
extern  SCM scm_inet_pton (SCM family, SCM address);
extern  SCM scm_inet_ntop (SCM family, SCM address);
extern  SCM scm_socket (SCM family, SCM style, SCM proto);
extern  SCM scm_socketpair (SCM family, SCM style, SCM proto);
extern  SCM scm_getsockopt (SCM sfd, SCM level, SCM optname);
extern  SCM scm_setsockopt (SCM sfd, SCM level, SCM optname, SCM value);
extern  SCM scm_shutdown (SCM sfd, SCM how);
extern  SCM scm_connect (SCM sockfd, SCM fam, SCM address, SCM args);
extern  SCM scm_bind (SCM sockfd, SCM fam, SCM address, SCM args);
extern  SCM scm_listen (SCM sfd, SCM backlog);
extern  SCM scm_accept (SCM sockfd);
extern  SCM scm_getsockname (SCM sockfd);
extern  SCM scm_getpeername (SCM sockfd);
extern  SCM scm_recv (SCM sockfd, SCM buff_or_size, SCM flags);
extern  SCM scm_send (SCM sockfd, SCM message, SCM flags);
extern  SCM scm_recvfrom (SCM sockfd, SCM buff_or_size, SCM flags, SCM offset, 
SCM length);
extern  SCM scm_sendto (SCM sockfd, SCM message, SCM fam, SCM address, SCM 
args_and_flags);
extern  void scm_init_socket (void);



 




# 105 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/sort.h" 1 3
 




 














































extern  SCM scm_restricted_vector_sort_x (SCM vec,
                                          SCM less,
                                          SCM startpos,
                                          SCM endpos);
extern  SCM scm_sorted_p (SCM ls, SCM less);
extern  SCM scm_merge (SCM ls1, SCM ls2, SCM less);
extern  SCM scm_merge_x (SCM ls1, SCM ls2, SCM less);
extern  SCM scm_sort (SCM ls, SCM less);
extern  SCM scm_sort_x (SCM ls, SCM less);
extern  SCM scm_stable_sort (SCM ls, SCM less);
extern  SCM scm_stable_sort_x (SCM ls, SCM less);
extern  SCM scm_sort_list (SCM ls, SCM less);
extern  SCM scm_sort_list_x (SCM ls, SCM less);
extern  void scm_init_sort (void);



 




# 106 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/srcprop.h" 1 3
 




 

















































 




















 


extern  scm_t_bits scm_tc16_srcprops;

typedef struct scm_t_srcprops
{
  unsigned long pos;
  SCM fname;
  SCM copy;
  SCM plist;
} scm_t_srcprops;


typedef struct scm_t_srcprops_chunk
{
  struct scm_t_srcprops_chunk *next;
  scm_t_srcprops srcprops[1];
} scm_t_srcprops_chunk;





























extern  SCM scm_sym_filename;
extern  SCM scm_sym_copy;
extern  SCM scm_sym_line;
extern  SCM scm_sym_column;
extern  SCM scm_sym_breakpoint;




extern  SCM scm_srcprops_to_plist (SCM obj);
extern  SCM scm_make_srcprops (long line, int col, SCM fname, SCM copy, SCM 
plist);
extern  SCM scm_source_property (SCM obj, SCM key);
extern  SCM scm_set_source_property_x (SCM obj, SCM key, SCM datum);
extern  SCM scm_source_properties (SCM obj);
extern  SCM scm_set_source_properties_x (SCM obj, SCM props);
extern  void scm_finish_srcprop (void);
extern  void scm_init_srcprop (void);



 




# 107 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/stackchk.h" 1 3
 




 


















































 




























extern  int scm_stack_checking_enabled_p;



extern  void scm_report_stack_overflow (void);
extern  long scm_stack_size (SCM_STACKITEM *start);
extern  void scm_stack_report (void);
extern  void scm_init_stackchk (void);



 




# 108 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/stime.h" 1 3
 




 













































extern  long scm_c_get_internal_run_time (void);
extern  SCM scm_get_internal_real_time (void);
extern  SCM scm_get_internal_run_time (void);
extern  SCM scm_current_time (void);
extern  SCM scm_gettimeofday (void);
extern  SCM scm_localtime (SCM time, SCM zone);
extern  SCM scm_gmtime (SCM time);
extern  SCM scm_mktime (SCM sbd_time, SCM zone);
extern  SCM scm_tzset (void);
extern  SCM scm_times (void);
extern  SCM scm_strftime (SCM format, SCM stime);
extern  SCM scm_strptime (SCM format, SCM string);
extern  void scm_init_stime (void);



 




# 109 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/strings.h" 1 3
 




 

























































extern  SCM scm_string_p (SCM x);
extern  SCM scm_string (SCM chrs);
extern  SCM scm_makfromstrs (int argc, char **argv);
extern  SCM scm_take_str (char *s, size_t len);
extern  SCM scm_take0str (char *s);
extern  SCM scm_mem2string (const char *src, size_t len);
extern  SCM scm_str2string (const char *src);
extern  SCM scm_makfrom0str (const char *src);
extern  SCM scm_makfrom0str_opt (const char *src);
extern  SCM scm_allocate_string (size_t len);
extern  SCM scm_make_string (SCM k, SCM chr);
extern  SCM scm_string_length (SCM str);
extern  SCM scm_string_ref (SCM str, SCM k);
extern  SCM scm_string_set_x (SCM str, SCM k, SCM chr);
extern  SCM scm_substring (SCM str, SCM start, SCM end);
extern  SCM scm_string_append (SCM args);
extern  void scm_init_strings (void);











 




# 110 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/strop.h" 1 3
 




 














































extern  SCM scm_string_index (SCM str, SCM chr, SCM frm, SCM to);
extern  SCM scm_string_rindex (SCM str, SCM chr, SCM frm, SCM to);
extern  SCM scm_substring_move_x (SCM str1, SCM start1, SCM end1, 
                                  SCM str2, SCM start2);
extern  SCM scm_substring_fill_x (SCM str, SCM start, SCM end, SCM fill);
extern  SCM scm_string_null_p (SCM str);
extern  SCM scm_string_to_list (SCM str);
extern  SCM scm_string_copy (SCM str);
extern  SCM scm_string_fill_x (SCM str, SCM chr);
extern  void scm_init_strop (void);
extern  SCM scm_string_upcase_x (SCM v);
extern  SCM scm_string_upcase (SCM v);
extern  SCM scm_string_downcase_x (SCM v);
extern  SCM scm_string_downcase (SCM v);
extern  SCM scm_string_capitalize_x (SCM v);
extern  SCM scm_string_capitalize (SCM v);
extern  SCM scm_string_split (SCM str, SCM chr);
extern  SCM scm_string_ci_to_symbol (SCM v);



 




# 111 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/strorder.h" 1 3
 




 














































extern  SCM scm_string_equal_p (SCM s1, SCM s2);
extern  SCM scm_string_ci_equal_p (SCM s1, SCM s2);
extern  SCM scm_string_less_p (SCM s1, SCM s2);
extern  SCM scm_string_leq_p (SCM s1, SCM s2);
extern  SCM scm_string_gr_p (SCM s1, SCM s2);
extern  SCM scm_string_geq_p (SCM s1, SCM s2);
extern  SCM scm_string_ci_less_p (SCM s1, SCM s2);
extern  SCM scm_string_ci_leq_p (SCM s1, SCM s2);
extern  SCM scm_string_ci_gr_p (SCM s1, SCM s2);
extern  SCM scm_string_ci_geq_p (SCM s1, SCM s2);
extern  void scm_init_strorder (void);



 




# 112 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/strports.h" 1 3
 




 


























































extern  scm_t_bits scm_tc16_strport;



extern  SCM scm_mkstrport (SCM pos, SCM str, long modes, const char * caller);
extern  SCM scm_strport_to_string (SCM port);
extern  SCM scm_object_to_string (SCM obj, SCM printer);
extern  SCM scm_call_with_output_string (SCM proc);
extern  SCM scm_call_with_input_string (SCM str, SCM proc);
extern  SCM scm_open_input_string (SCM str);
extern  SCM scm_open_output_string (void);
extern  SCM scm_get_output_string (SCM port);
extern  SCM scm_c_read_string (const char *expr);
extern  SCM scm_c_eval_string (const char *expr);
extern  SCM scm_eval_string (SCM string);
extern  void scm_init_strports (void);



 




# 113 "/usr/local/include/libguile.h" 2 3


# 1 "/usr/local/include/libguile/symbols.h" 1 3
 




 













































 
























extern  SCM scm_mem2symbol (const char*, size_t);
extern  SCM scm_str2symbol (const char*);

extern  SCM scm_symbol_p (SCM x);
extern  SCM scm_symbol_to_string (SCM s);
extern  SCM scm_string_to_symbol (SCM s);

extern  SCM scm_symbol_fref (SCM s);
extern  SCM scm_symbol_pref (SCM s);
extern  SCM scm_symbol_fset_x (SCM s, SCM val);
extern  SCM scm_symbol_pset_x (SCM s, SCM val);

extern  SCM scm_symbol_hash (SCM s);
extern  SCM scm_gensym (SCM prefix);

extern  void scm_symbols_prehistory (void);
extern  void scm_init_symbols (void);



 




# 115 "/usr/local/include/libguile.h" 2 3



# 1 "/usr/local/include/libguile/unif.h" 1 3
 




 














































 









typedef struct scm_t_array
{
  SCM v;   
  unsigned long base;
} scm_t_array;

typedef struct scm_t_array_dim
{
  long lbnd;
  long ubnd;
  long inc;
} scm_t_array_dim;

extern  scm_t_bits scm_tc16_array;



































extern  size_t scm_uniform_element_size (SCM obj);
extern  SCM scm_make_uve (long k, SCM prot);
extern  SCM scm_uniform_vector_length (SCM v);
extern  SCM scm_array_p (SCM v, SCM prot);
extern  SCM scm_array_rank (SCM ra);
extern  SCM scm_array_dimensions (SCM ra);
extern  SCM scm_shared_array_root (SCM ra);
extern  SCM scm_shared_array_offset (SCM ra);
extern  SCM scm_shared_array_increments (SCM ra);
extern  long scm_aind (SCM ra, SCM args, const char *what);
extern  SCM scm_make_ra (int ndim);
extern  SCM scm_shap2ra (SCM args, const char *what);
extern  SCM scm_dimensions_to_uniform_array (SCM dims, SCM prot, SCM fill);
extern  void scm_ra_set_contp (SCM ra);
extern  SCM scm_make_shared_array (SCM oldra, SCM mapfunc, SCM dims);
extern  SCM scm_transpose_array (SCM ra, SCM args);
extern  SCM scm_enclose_array (SCM ra, SCM axes);
extern  SCM scm_array_in_bounds_p (SCM v, SCM args);
extern  SCM scm_uniform_vector_ref (SCM v, SCM args);
extern  SCM scm_cvref (SCM v, unsigned long pos, SCM last);
extern  SCM scm_array_set_x (SCM v, SCM obj, SCM args);
extern  SCM scm_array_contents (SCM ra, SCM strict);
extern  SCM scm_ra2contig (SCM ra, int copy);
extern  SCM scm_uniform_array_read_x (SCM ra, SCM port_or_fd, SCM start, SCM 
end);
extern  SCM scm_uniform_array_write (SCM v, SCM port_or_fd, SCM start, SCM end);
extern  SCM scm_bit_count (SCM item, SCM seq);
extern  SCM scm_bit_position (SCM item, SCM v, SCM k);
extern  SCM scm_bit_set_star_x (SCM v, SCM kv, SCM obj);
extern  SCM scm_bit_count_star (SCM v, SCM kv, SCM obj);
extern  SCM scm_bit_invert_x (SCM v);
extern  SCM scm_istr2bve (char *str, long len);
extern  SCM scm_t_arrayo_list (SCM v);
extern  SCM scm_list_to_uniform_array (SCM ndim, SCM prot, SCM lst);
extern  int scm_raprin1 (SCM exp, SCM port, scm_print_state *pstate);
extern  SCM scm_array_prototype (SCM ra);
extern  void scm_init_unif (void);



 




# 118 "/usr/local/include/libguile.h" 2 3


# 1 "/usr/local/include/libguile/values.h" 1 3
 




 












































extern  SCM scm_values_vtable;




extern  SCM scm_values (SCM args);
extern  void scm_init_values (void);



 




# 120 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/variable.h" 1 3
 




 















































 








extern  SCM scm_make_variable (SCM init);
extern  SCM scm_make_undefined_variable (void);
extern  SCM scm_variable_p (SCM obj);
extern  SCM scm_variable_ref (SCM var);
extern  SCM scm_variable_set_x (SCM var, SCM val);
extern  SCM scm_variable_bound_p (SCM var);

extern  void scm_i_variable_print (SCM var, SCM port, scm_print_state *pstate);

extern  void scm_init_variable (void);



 




# 121 "/usr/local/include/libguile.h" 2 3


# 1 "/usr/local/include/libguile/version.h" 1 3
 




 


















































extern SCM scm_major_version (void);
extern SCM scm_minor_version (void);
extern SCM scm_micro_version (void);
extern SCM scm_version (void);
extern void scm_init_version (void);



 





# 123 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/vports.h" 1 3
 




 














































extern  SCM scm_make_soft_port (SCM pv, SCM modes);
extern  void scm_init_vports (void);



 




# 124 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/weaks.h" 1 3
 




 
























































extern  SCM scm_weak_vectors;



extern  SCM scm_make_weak_vector (SCM k, SCM fill);
extern  SCM scm_weak_vector (SCM l);
extern  SCM scm_weak_vector_p (SCM x);
extern  SCM scm_make_weak_key_hash_table (SCM k);
extern  SCM scm_make_weak_value_hash_table (SCM k);
extern  SCM scm_make_doubly_weak_hash_table (SCM k);
extern  SCM scm_weak_key_hash_table_p (SCM x);
extern  SCM scm_weak_value_hash_table_p (SCM x);
extern  SCM scm_doubly_weak_hash_table_p (SCM x);
extern  void scm_weaks_prehistory (void);
extern  void scm_init_weaks (void);



 




# 125 "/usr/local/include/libguile.h" 2 3


# 1 "/usr/local/include/libguile/backtrace.h" 1 3
 




 















































extern  SCM scm_the_last_stack_fluid_var;

extern  void scm_display_error_message (SCM message, SCM args, SCM port);
extern  void scm_i_display_error (SCM stack, SCM port, SCM subr, SCM message, 
SCM args, SCM rest);
extern  SCM scm_display_error (SCM stack, SCM port, SCM subr, SCM message, SCM 
args, SCM rest);
extern  SCM scm_display_application (SCM frame, SCM port, SCM indent);
extern  SCM scm_display_backtrace (SCM stack, SCM port, SCM first, SCM depth);
extern  SCM scm_backtrace (void);




extern  void scm_init_backtrace (void);



 




# 127 "/usr/local/include/libguile.h" 2 3


# 1 "/usr/local/include/libguile/stacks.h" 1 3
 




 















































 


typedef struct scm_t_info_frame {
   
  scm_t_bits flags;
  SCM source;
  SCM proc;
  SCM args;
} scm_t_info_frame;




typedef struct scm_t_stack {
  SCM id;                        
  scm_t_info_frame *frames;      
  unsigned long length;          
  unsigned long tail_length;
  scm_t_info_frame tail[1];
} scm_t_stack;

extern  SCM scm_t_stackype;









































extern  SCM scm_stack_p (SCM obj);
extern  SCM scm_make_stack (SCM obj, SCM args);
extern  SCM scm_stack_id (SCM stack);
extern  SCM scm_stack_ref (SCM stack, SCM i);
extern  SCM scm_stack_length (SCM stack);

extern  SCM scm_frame_p (SCM obj);
extern  SCM scm_last_stack_frame (SCM obj);
extern  SCM scm_frame_number (SCM frame);
extern  SCM scm_frame_source (SCM frame);
extern  SCM scm_frame_procedure (SCM frame);
extern  SCM scm_frame_arguments (SCM frame);
extern  SCM scm_frame_previous (SCM frame);
extern  SCM scm_frame_next (SCM frame);
extern  SCM scm_frame_real_p (SCM frame);
extern  SCM scm_frame_procedure_p (SCM frame);
extern  SCM scm_frame_evaluating_args_p (SCM frame);
extern  SCM scm_frame_overflow_p (SCM frame);

extern  void scm_init_stacks (void);



 




# 129 "/usr/local/include/libguile.h" 2 3





# 1 "/usr/local/include/libguile/inline.h" 1 3
 




 








































 









static inline SCM
scm_alloc_cell (scm_t_bits car, scm_t_bits cdr)
{
  SCM z;










  if (((((scm_t_bits) (  ( scm_freelist )  ))  == ((scm_t_bits) (   ((SCM) ( (( 
20 ) << 9) + 0x174L ))     )) ) ) )
    {
      z = scm_gc_for_newcell (&scm_master_freelist, &scm_freelist);
    }
  else
    {
      z = scm_freelist;
      scm_freelist = ((((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   ( scm_freelist )   )) )) ) [  1 ] )) ) ) ;
    }

   





  (((scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   z   )) )) ) [  1 ] = 
(scm_t_bits) (  cdr )) ;
  (((scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   z   )) )) ) [  0 ] = 
(scm_t_bits) (  car )) ;

# 99 "/usr/local/include/libguile/inline.h" 3


  return z;
}

static inline SCM
scm_alloc_double_cell (scm_t_bits car, scm_t_bits cbr,
                       scm_t_bits ccr, scm_t_bits cdr)
{
  SCM z;










  if (((((scm_t_bits) (  ( scm_freelist2 )  ))  == ((scm_t_bits) (   ((SCM) ( 
(( 20 ) << 9) + 0x174L ))     )) ) ) )
    {
      z = scm_gc_for_newcell (&scm_master_freelist2, &scm_freelist2);
    }
  else
    {
      z = scm_freelist2;
      scm_freelist2 = ((((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   ( scm_freelist2 )   )) )) ) [  1 ] )) ) ) ;
    }

   





  (((scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   z   )) )) ) [  1 ] = 
(scm_t_bits) (  cbr )) ;
  (((scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   z   )) )) ) [  2 ] = 
(scm_t_bits) (  ccr )) ;
  (((scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   z   )) )) ) [  3 ] = 
(scm_t_bits) (  cdr )) ;
  (((scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   z   )) )) ) [  0 ] = 
(scm_t_bits) (  car )) ;

# 149 "/usr/local/include/libguile/inline.h" 3


  return z;
}










# 134 "/usr/local/include/libguile.h" 2 3










 




# 30 "guile-gtk.c" 2

# 1 "/usr/local/include/guile/gh.h" 1 3
 


















































 








extern  void gh_enter(int argc, char *argv[], 
                      void (*c_main_prog)(int, char **));

extern  void gh_repl(int argc, char *argv[]);
extern  SCM gh_catch(SCM tag, scm_t_catch_body body, void *body_data,
                     scm_t_catch_handler handler, void *handler_data);

extern  SCM gh_standard_handler(void *data, SCM tag, SCM throw_args);

extern  SCM gh_eval_str(const char *scheme_code);
extern  SCM gh_eval_str_with_catch(const char *scheme_code, scm_t_catch_handler 
handler);
extern  SCM gh_eval_str_with_standard_handler(const char *scheme_code);
extern  SCM gh_eval_str_with_stack_saving_handler(const char *scheme_code);

extern  SCM gh_eval_file(const char *fname);

extern  SCM gh_eval_file_with_catch(const char *scheme_code, 
scm_t_catch_handler handler);
extern  SCM gh_eval_file_with_standard_handler(const char *scheme_code);




extern  SCM gh_new_procedure(const char *proc_name, SCM (*fn)(),
                             int n_required_args, int n_optional_args, 
                             int varp);
extern  SCM gh_new_procedure0_0(const char *proc_name, SCM (*fn)(void));
extern  SCM gh_new_procedure0_1(const char *proc_name, SCM (*fn)(SCM));
extern  SCM gh_new_procedure0_2(const char *proc_name, SCM (*fn)(SCM, SCM));
extern  SCM gh_new_procedure1_0(const char *proc_name, SCM (*fn)(SCM));
extern  SCM gh_new_procedure1_1(const char *proc_name, SCM (*fn)(SCM, SCM));
extern  SCM gh_new_procedure1_2(const char *proc_name, SCM (*fn)(SCM, SCM, 
SCM));
extern  SCM gh_new_procedure2_0(const char *proc_name, SCM (*fn)(SCM, SCM));
extern  SCM gh_new_procedure2_1(const char *proc_name, SCM (*fn)(SCM, SCM, 
SCM));
extern  SCM gh_new_procedure2_2(const char *proc_name, SCM (*fn)(SCM, SCM, SCM, 
SCM));
extern  SCM gh_new_procedure3_0(const char *proc_name, SCM (*fn)(SCM, SCM, 
SCM));
extern  SCM gh_new_procedure4_0(const char *proc_name, SCM (*fn)(SCM, SCM, SCM, 
SCM));
extern  SCM gh_new_procedure5_0(const char *proc_name, SCM (*fn)(SCM, SCM, SCM, 
SCM, SCM));

 
extern  SCM gh_bool2scm(int x);
extern  SCM gh_int2scm(int x);
extern  SCM gh_ulong2scm(unsigned long x);
extern  SCM gh_long2scm(long x);
extern  SCM gh_double2scm(double x);
extern  SCM gh_char2scm(char c);
extern  SCM gh_str2scm(const char *s, size_t len);
extern  SCM gh_str02scm(const char *s);
extern  void gh_set_substr(char *src, SCM dst, long start, size_t len);
extern  SCM gh_symbol2scm(const char *symbol_str);
extern  SCM gh_ints2scm(const int *d, long n);


extern  SCM gh_chars2byvect(const char *d, long n);
extern  SCM gh_shorts2svect(const short *d, long n);
extern  SCM gh_longs2ivect(const long *d, long n);
extern  SCM gh_ulongs2uvect(const unsigned long *d, long n);
extern  SCM gh_floats2fvect(const float *d, long n);
extern  SCM gh_doubles2dvect(const double *d, long n);


extern  SCM gh_doubles2scm(const double *d, long n);

 
extern  int gh_scm2bool(SCM obj);
extern  int gh_scm2int(SCM obj);
extern  unsigned long gh_scm2ulong(SCM obj);
extern  long gh_scm2long(SCM obj);
extern  char gh_scm2char(SCM obj);
extern  double gh_scm2double(SCM obj);
extern  char *gh_scm2newstr(SCM str, size_t *lenp);
extern  void gh_get_substr(SCM src, char *dst, long start, size_t len);
extern  char *gh_symbol2newstr(SCM sym, size_t *lenp);
extern  char *gh_scm2chars(SCM vector, char *result);
extern  short *gh_scm2shorts(SCM vector, short *result);
extern  long *gh_scm2longs(SCM vector, long *result);
extern  float *gh_scm2floats(SCM vector, float *result);
extern  double *gh_scm2doubles(SCM vector, double *result);

 
extern  int gh_boolean_p(SCM val);
extern  int gh_symbol_p(SCM val);
extern  int gh_char_p(SCM val);
extern  int gh_vector_p(SCM val);
extern  int gh_pair_p(SCM val);
extern  int gh_number_p(SCM val);
extern  int gh_string_p(SCM val);
extern  int gh_procedure_p(SCM val);
extern  int gh_list_p(SCM val);
extern  int gh_inexact_p(SCM val);
extern  int gh_exact_p(SCM val);

 
extern  int gh_eq_p(SCM x, SCM y);
extern  int gh_eqv_p(SCM x, SCM y);
extern  int gh_equal_p(SCM x, SCM y);
extern  int gh_string_equal_p(SCM s1, SCM s2);
extern  int gh_null_p(SCM l);

 



extern  SCM gh_define(const char *name, SCM val);

 








 
 




extern  SCM gh_make_vector(SCM length, SCM val);
extern  SCM gh_vector_set_x(SCM vec, SCM pos, SCM val);
extern  SCM gh_vector_ref(SCM vec, SCM pos);
extern  unsigned long gh_vector_length (SCM v);
extern  unsigned long gh_uniform_vector_length (SCM v);
extern  SCM gh_uniform_vector_ref (SCM v, SCM ilist);



extern  SCM gh_lookup (const char *sname);
extern  SCM gh_module_lookup (SCM module, const char *sname);

extern  SCM gh_cons(SCM x, SCM y);

extern  unsigned long gh_length(SCM l);
extern  SCM gh_append(SCM args);
extern  SCM gh_append2(SCM l1, SCM l2);
extern  SCM gh_append3(SCM l1, SCM l2, SCM l3);
extern  SCM gh_append4(SCM l1, SCM l2, SCM l3, SCM l4);










extern  SCM gh_car(SCM x);
extern  SCM gh_cdr(SCM x);

extern  SCM gh_caar(SCM x);
extern  SCM gh_cadr(SCM x);
extern  SCM gh_cdar(SCM x);
extern  SCM gh_cddr(SCM x);

extern  SCM gh_caaar(SCM x);
extern  SCM gh_caadr(SCM x);
extern  SCM gh_cadar(SCM x);
extern  SCM gh_caddr(SCM x);
extern  SCM gh_cdaar(SCM x);
extern  SCM gh_cdadr(SCM x);
extern  SCM gh_cddar(SCM x);
extern  SCM gh_cdddr(SCM x);

extern  SCM gh_set_car_x(SCM pair, SCM value);
extern  SCM gh_set_cdr_x(SCM pair, SCM value);


 
extern  SCM gh_apply (SCM proc, SCM ls);
extern  SCM gh_call0 (SCM proc);
extern  SCM gh_call1 (SCM proc, SCM arg);
extern  SCM gh_call2 (SCM proc, SCM arg1, SCM arg2);
extern  SCM gh_call3 (SCM proc, SCM arg1, SCM arg2, SCM arg3);

 
extern  void gh_display (SCM x);
extern  void gh_write (SCM x);
extern  void gh_newline (void);

 
 
 
 
 
 
 
 

 







 




# 31 "guile-gtk.c" 2


# 1 "guile-gtk.h" 1
 


























typedef struct _sgtk_type_info {
  char *name;
  GtkType type;
  SCM (*conversion) (SCM);
} sgtk_type_info;

typedef struct _sgtk_enum_literal {
  SCM symbol;
  char *name;
  int value;
} sgtk_enum_literal;

typedef struct _sgtk_enum_info {
  sgtk_type_info header;
  int n_literals;
  sgtk_enum_literal *literals;
} sgtk_enum_info;

 

typedef struct _sgtk_senum_literal {
  char *name;
  char *value;
} sgtk_senum_literal;

typedef struct _sgtk_senum_info {
  sgtk_type_info header;
  int n_literals;
  sgtk_senum_literal *literals;
} sgtk_senum_info;

typedef struct _sgtk_boxed_info {
  sgtk_type_info header;
  void *(*copy) (void *);
  void (*destroy) (void *);
  size_t size;
} sgtk_boxed_info;

typedef struct _sgtk_object_info {
  sgtk_type_info header;
  GtkType (*init_func) ();

  struct _sgtk_object_info *parent;
  guint n_args;
  GtkArg *args;
  guint *args_flags;
  char **args_short_names;
} sgtk_object_info;

void sgtk_register_type_infos (sgtk_type_info **infos);
sgtk_type_info *sgtk_get_type_info (guint type_seqno);

SCM sgtk_wrap_gtkobj (GtkObject *obj);
int sgtk_is_a_gtkobj (guint type, SCM obj);
GtkObject *sgtk_get_gtkobj (SCM obj);

void sgtk_enum_flags_init (sgtk_enum_info*);
int sgtk_enum_flags_bin_search (SCM key, sgtk_enum_info *info, int *rval);

int sgtk_valid_enum (SCM obj, sgtk_enum_info*);
SCM sgtk_enum2scm (gint val, sgtk_enum_info*);
gint sgtk_scm2enum (SCM obj, sgtk_enum_info*, int pos, char *sname);

int sgtk_valid_flags (SCM obj, sgtk_enum_info*);
SCM sgtk_flags2scm (gint val, sgtk_enum_info*);
gint sgtk_scm2flags (SCM obj, sgtk_enum_info*, int pos, char *sname);

int sgtk_valid_senum (SCM obj, sgtk_senum_info*);
SCM sgtk_senum2scm (char *val, sgtk_senum_info*);
char *sgtk_scm2senum (SCM obj, sgtk_senum_info*);

SCM sgtk_boxed2scm (gpointer ptr, sgtk_boxed_info*, int copyp);
void *sgtk_scm2boxed (SCM obj);
int sgtk_valid_boxed (SCM obj, sgtk_boxed_info*);

int sgtk_valid_float (SCM obj);
gfloat sgtk_scm2float (SCM obj);
SCM sgtk_float2scm (gfloat f);

int sgtk_valid_double (SCM obj);
double sgtk_scm2double (SCM obj);
SCM sgtk_double2scm (double f);

int sgtk_valid_point (SCM obj);
GdkPoint sgtk_scm2point (SCM obj);
SCM sgtk_point2scm (GdkPoint p);

int sgtk_valid_rect (SCM obj);
GdkRectangle sgtk_scm2rect (SCM obj);
SCM sgtk_rect2scm (GdkRectangle r);

int sgtk_port2fileno (SCM port);
SCM sgtk_fileno2port (int fd);

GdkAtom sgtk_scm2atom (SCM symbol);
SCM sgtk_atom2scm (GdkAtom atom);

int sgtk_valid_type (SCM obj);
GtkType sgtk_scm2type (SCM obj);
SCM sgtk_type2scm (GtkType t);

int sgtk_valid_composite (SCM obj, int (*predicate)(SCM));
int sgtk_valid_complen (SCM obj, int (*predicate)(SCM), int len);
SCM sgtk_composite_inconversion (SCM obj, SCM (*conversion)(SCM));
SCM sgtk_composite_outconversion (SCM obj, SCM (*conversion)(SCM));

SCM sgtk_slist2scm (GSList *list, SCM (*toscm)(void*));
GSList *sgtk_scm2slist (SCM obj, void (*fromscm)(SCM, void*));
void sgtk_slist_finish (GSList *list, SCM obj, SCM (*toscm)(void*));

SCM sgtk_list2scm (GList *list, SCM (*toscm)(void*));
GList *sgtk_scm2list (SCM obj, void (*fromscm)(SCM, void*));
void sgtk_list_finish (GList *list, SCM obj, SCM (*toscm)(void*));

typedef struct {
  int count;
  void *vec;
} sgtk_cvec;

sgtk_cvec sgtk_scm2cvec (SCM obj, void (*fromscm)(SCM, void*), size_t sz);
void sgtk_cvec_finish (sgtk_cvec *, SCM obj, SCM (*toscm)(void*), size_t sz);

typedef struct sgtk_protshell sgtk_protshell;

sgtk_protshell *sgtk_protect (SCM protector, SCM obj);
void sgtk_unprotect (sgtk_protshell *);

void sgtk_callback_marshal (GtkObject *,
                            gpointer data,
                            guint n_args,
                            GtkArg *args);
void sgtk_callback_destroy (gpointer data);
SCM sgtk_callback_trampoline (SCM new_trampoline);

int sgtk_valid_arg (GtkArg *, SCM val);
SCM sgtk_arg2scm (GtkArg *a, int free_mem);
void sgtk_scm2arg (GtkArg *a, SCM obj, SCM protector);
void sgtk_scm2ret (GtkArg *a, SCM obj);

sgtk_object_info *sgtk_find_object_info_from_type (GtkType type);
sgtk_object_info *sgtk_find_object_info (char *name);
GtkArg *sgtk_build_args (sgtk_object_info *info, int *n_argsp,
                         SCM scm_args, SCM protector, char *subr);

SCM sgtk_color_conversion (SCM color);
SCM sgtk_font_conversion (SCM color);
SCM sgtk_string_conversion (SCM string);

void sgtk_set_standalone (int flag);
int sgtk_is_standalone ();
SCM sgtk_standalone_p ();

void sgtk_register_glue (char *name, void (*func)(void));


void sgtk_init ();
void sgtk_init_with_args (int *argcp, char ***argvp);

void sgtk_shell (int argc, char **argv);

 

 


GdkColor *gdk_color_intern (GdkColor *);
GdkFont *gdk_font_intern (GdkFont *);

GdkEventType gdk_event_type (GdkEvent *event);
GdkWindow *gdk_event_window (GdkEvent *event);
gboolean gdk_event_send_event (GdkEvent *event);
GdkRectangle gdk_event_area (GdkEvent *event);
GdkVisibilityState gdk_event_visibility_state (GdkEvent *event);
guint32 gdk_event_time (GdkEvent *event);
gdouble gdk_event_x (GdkEvent *event);
gdouble gdk_event_y (GdkEvent *event);
gdouble gdk_event_pressure (GdkEvent *event);
gdouble gdk_event_xtilt (GdkEvent *event);
gdouble gdk_event_ytilt (GdkEvent *event);
gint gdk_event_button (GdkEvent *event);
guint gdk_event_state (GdkEvent *event);
gboolean gdk_event_is_hint (GdkEvent *event);
GdkInputSource gdk_event_source (GdkEvent *event);
guint32 gdk_event_deviceid (GdkEvent *event);
gdouble gdk_event_x_root (GdkEvent *event);
gdouble gdk_event_y_root (GdkEvent *event);
guint gdk_event_keyval (GdkEvent *event);
gchar *gdk_event_string (GdkEvent *event);
GdkWindow *gdk_event_subwindow (GdkEvent *event);
GdkNotifyType gdk_event_notify_detail (GdkEvent *event);
gboolean gdk_event_in (GdkEvent *event);
gint16 gdk_event_configure_x (GdkEvent *event);
gint16 gdk_event_configure_y (GdkEvent *event);
gint16 gdk_event_configure_width (GdkEvent *event);
gint16 gdk_event_configure_height (GdkEvent *event);

guint32 gdk_get_leader_window_id ();

void gdk_draw_text_scm (GdkDrawable  *drawable,
                        GdkFont      *font,
                        GdkGC          *gc,
                        gint            x,
                        gint            y,
                        const gchar  *text);

GdkGC *gtk_style_fg_gc (GtkStyle *style, GtkStateType state);
GdkGC *gtk_style_bg_gc (GtkStyle *style, GtkStateType state);

 





gchar *gtk_label_get_interp (GtkLabel *label);
void gtk_menu_popup_interp (GtkMenu *menu,
                            GtkWidget *parent_menu_shell,
                            GtkWidget *parent_menu_item,
                            gint button,
                            guint32 activate_time);

GtkWidget*
gtk_radio_menu_item_new_with_label_from_widget (GtkRadioMenuItem *group,
                                                gchar            *label);
GtkWidget* gtk_radio_menu_item_new_from_widget (GtkRadioMenuItem *group);
GtkWidget* gtk_pixmap_new_interp (char *file, GtkWidget *intended_parent);

GdkColor *gdk_color_parse_interp (char *spec);
GdkColor *gtk_style_get_white_interp (GtkStyle *style);

GdkColormap *gtk_widget_peek_colormap (void);

void gtk_list_append_item (GtkList *list, GtkListItem *item);

gboolean gtk_type_get_info (GtkType type, GtkTypeInfo *info);
GtkType gtk_class_new (GtkType parent_type, gchar *name);
guint
gtk_signal_new_generic (const gchar     *name,
                        GtkSignalRunType signal_flags,
                        GtkType          type,
                        GtkType          return_type,
                        guint            nparams,
                        GtkType         *params);
void sgtk_signal_emit (GtkObject *obj, char *name, SCM scm_args);
void gtk_signal_set_class_function_full (GtkType            type,
                                         const gchar       *signal,
                                         GtkSignalFunc      func,
                                         GtkCallbackMarshal marshal,
                                         gpointer           data,
                                         GtkDestroyNotify   destroy_func);

void gtk_color_selection_set_color_interp (GtkColorSelection *sel, GdkColor 
*color);
GdkColor *gtk_color_selection_get_color_interp (GtkColorSelection *sel);

int gtk_widget_allocation_width_scm (GtkWidget *widget);
int gtk_widget_allocation_height_scm (GtkWidget *widget);
int gtk_widget_allocation_x_scm (GtkWidget *widget);
int gtk_widget_allocation_y_scm (GtkWidget *widget);

void* g_timer_fake_copy (void *);

void *gtk_no_copy (void *);
void gtk_no_free (void *);

GdkGC *gtk_style_fg_gc (GtkStyle *style, GtkStateType state);
GdkGC *gtk_style_bg_gc (GtkStyle *style, GtkStateType state);
GdkGC *gtk_style_light_gc (GtkStyle *style, GtkStateType state);
GdkGC *gtk_style_dark_gc (GtkStyle *style, GtkStateType state);
GdkGC *gtk_style_mid_gc (GtkStyle *style, GtkStateType state);
GdkGC *gtk_style_text_gc (GtkStyle *style, GtkStateType state);
GdkGC *gtk_style_base_gc (GtkStyle *style, GtkStateType state);

SCM gdk_window_get_size_scm (GdkWindow *);
SCM gdk_window_get_origin_scm (GdkWindow *);


# 33 "guile-gtk.c" 2



 











static SCM
sgtk_make_cell (scm_t_bits word0, scm_t_bits word1)
{
  SCM z;
  do {  z  = scm_deprecated_newcell (); } while (0) ;
  (  (((scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (  z  )   )) )) ) [  (  
0 ) ] = (scm_t_bits) (  (    word0  ) ))  )   ;
  (  (((scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (  z  )   )) )) ) [  (  
1 ) ] = (scm_t_bits) (  (    word1  ) ))  )   ;
  return z;
}

static void *
xmalloc (size_t sz)
{
  void *ptr = malloc (sz);
  if (ptr == ((void *)0)  && sz != 0)
    scm_memory_error ("xmalloc");
  return ptr;


static void *
xrealloc (void *old, size_t sz)
{
  void *new = realloc (old, sz);
  if (new == ((void *)0)  && sz != 0)
    scm_memory_error ("xrealloc");
  return new;
}



 





static GHashTable *proxy_tab;

static guint
gpointer_hash (gpointer a)
{
  return (guint)a;
}

static gint
gpointer_compare (gpointer a, gpointer b)
{
  return a == b;
}

static void
enter_proxy (gpointer obj, SCM proxy)
{
  if (proxy_tab == ((void *)0) )
    proxy_tab = g_hash_table_new ((GHashFunc)gpointer_hash,
                                  (GCompareFunc)gpointer_compare);
  g_hash_table_insert (proxy_tab, obj, (gpointer)proxy);
}

static SCM
get_proxy (gpointer obj)
{
  if (proxy_tab)
    {
      gpointer val = g_hash_table_lookup (proxy_tab, obj);
      return val? (SCM) val : ((SCM) ( (( 16 ) << 9) + 0x174L ))   ;
    }
  return ((SCM) ( (( 16 ) << 9) + 0x174L ))   ;
}

static void
forget_proxy (gpointer obj)
{
  g_hash_table_remove (proxy_tab, obj);
}



 







static sgtk_type_info **type_info_tab;
static guint n_type_info_tab = 0;

static void
enter_type_info (sgtk_type_info *info)
{




  guint seqno = (( info->type ) > 0xFF ? ( info->type ) >> 8 : ( info->type )) ;

  if (seqno >= n_type_info_tab)
    {
      guint i, new_size = (seqno+ 0xFF )&(~0xFF );
      type_info_tab = (sgtk_type_info **)
        xrealloc ((char *)type_info_tab,
                  sizeof(sgtk_type_info*) * new_size);
      for (i = n_type_info_tab; i < new_size; i++)
        type_info_tab[i] = ((void *)0) ;
      n_type_info_tab = new_size;
    }

  type_info_tab[seqno] = info;
}

sgtk_type_info*
sgtk_get_type_info (guint seqno)
{
  if (seqno >= n_type_info_tab)
    return ((void *)0) ;
  return type_info_tab[seqno];
}

static sgtk_type_info*
must_get_type_info (guint seqno)
{
  sgtk_type_info *info = sgtk_get_type_info (seqno);
  if (info == ((void *)0) )
    abort ();
  return info;
}

typedef struct _type_infos {
  struct _type_infos *next;
  sgtk_type_info **infos;
} type_infos;

static type_infos *all_type_infos;

 


# 200 "guile-gtk.c"


void
sgtk_register_type_infos (sgtk_type_info **infos)
{
  type_infos *t;

  sgtk_init ();

  t = (type_infos *) xmalloc (sizeof(type_infos));
  t->infos = infos;
  t->next = all_type_infos;
  all_type_infos = t;




}

void
sgtk_register_type_infos_gtk (GtkTypeInfo **infos)
{
  GtkTypeInfo **t;

  for (t = infos; t && *t; t++)
    gtk_type_unique (GTK_TYPE_BOXED, *t);
}

 





static GtkType
sgtk_try_missing_type (char *name)
{
  static sgtk_type_info missing[] = {
    { "GdkGC", GTK_TYPE_BOXED },
    { "GtkToolbarStyle", GTK_TYPE_ENUM },
    { "GtkToolbarChildType", GTK_TYPE_ENUM },
    { "GtkTreeViewMode", GTK_TYPE_ENUM },
    { "GtkSpinButtonUpdatePolicy", GTK_TYPE_ENUM },
    { "GtkCellType", GTK_TYPE_ENUM },
    { "GdkOverlapType", GTK_TYPE_ENUM },
    { "GdkWMDecoration", GTK_TYPE_FLAGS },
    { "GdkWMFunction", GTK_TYPE_FLAGS },
    { "GdkVisibilityState", GTK_TYPE_ENUM },
    { "GdkInputSource", GTK_TYPE_ENUM },
    {((void *)0) , GTK_TYPE_NONE}
  };

  sgtk_type_info *m;
  for (m = missing; m->name; m++)
    if (! __extension__ ({ size_t __s1_len, __s2_len;   (__builtin_constant_p ( 
m->name ) && __builtin_constant_p (  name )     && (__s1_len = strlen ( m->name 
), __s2_len = strlen (  name ), (! ((size_t)(const void *)((  m->name  ) + 1) - 
(size_t)(const void *)(  m->name  ) == 1)  || __s1_len >= 4)    && (! 
((size_t)(const void *)((   name  ) + 1) - (size_t)(const void *)(   name  ) == 
1)  || __s2_len >= 4))    ? memcmp ((__const char *) ( m->name ), (__const char 
*) (  name ),     (__s1_len < __s2_len ? __s1_len : __s2_len) + 1)        : 
(__builtin_constant_p ( m->name ) && ((size_t)(const void *)((  m->name  ) + 1) 
- (size_t)(const void *)(  m->name  ) == 1)   && (__s1_len = strlen ( m->name 
), __s1_len < 4)        ? (__builtin_constant_p (  name ) && ((size_t)(const 
void *)((   name  ) + 1) - (size_t)(const void *)(   name  ) == 1)         ? 
(__extension__ ({ register int __result =     (((__const unsigned char *) 
(__const char *) (  m->name  ))[0] - ((__const unsigned char *) (__const char 
*)(    name  ))[0]);  if (  __s1_len  > 0 && __result == 0)   {       __result 
= (((__const unsigned char *)  (__const char *) (  m->name  ))[1]      - 
((__const unsigned char *)    (__const char *) (    name  ))[1]);     if (  
__s1_len  > 1 && __result == 0)   {       __result =      (((__const unsigned 
char *)     (__const char *) (  m->name  ))[2]      - ((__const unsigned char 
*)    (__const char *) (    name  ))[2]);     if (  __s1_len  > 2 && __result 
== 0)   __result =      (((__const unsigned char *)     (__const char *) (  
m->name  ))[3]      - ((__const unsigned char *)    (__const char *) (    name  
))[3]);     }       }       __result; }))   : (__extension__ ({ __const 
unsigned char *__s2 =       (__const unsigned char *) (__const char *) (    
name  );        register int __result = (((__const unsigned char *) (__const 
char *) (  m->name  ))[0] - __s2[0]);      if (  __s1_len  > 0 && __result == 
0)   {       __result = (((__const unsigned char *)  (__const char *) (  
m->name  ))[1] - __s2[1]); if (  __s1_len  > 1 && __result == 0)    {       
__result = (((__const unsigned char *)  (__const char *) (  m->name  ))[2] - 
__s2[2]);  if (  __s1_len  > 2 && __result == 0)   __result = (((__const 
unsigned char *)  (__const char *)  (  m->name  ))[3]     - __s2[3]);     }     
  }       __result; })) ) : (__builtin_constant_p (  name ) && ((size_t)(const 
void *)((   name  ) + 1) - (size_t)(const void *)(   name  ) == 1)         && 
(__s2_len = strlen (  name ), __s2_len < 4)  ? (__builtin_constant_p ( m->name 
) && ((size_t)(const void *)((  m->name  ) + 1) - (size_t)(const void *)(  
m->name  ) == 1)   ? (__extension__ ({ register int __result =     (((__const 
unsigned char *) (__const char *) (  m->name  ))[0] - ((__const unsigned char 
*) (__const char *)(    name  ))[0]);  if (  __s2_len  > 0 && __result == 0)   
{       __result = (((__const unsigned char *)  (__const char *) (  m->name  
))[1]      - ((__const unsigned char *)    (__const char *) (    name  ))[1]);  
   if (  __s2_len  > 1 && __result == 0)   {       __result =      (((__const 
unsigned char *)     (__const char *) (  m->name  ))[2]      - ((__const 
unsigned char *)    (__const char *) (    name  ))[2]);     if (  __s2_len  > 2 
&& __result == 0)   __result =      (((__const unsigned char *)     (__const 
char *) (  m->name  ))[3]      - ((__const unsigned char *)    (__const char *) 
(    name  ))[3]);     }       }       __result; }))   : (__extension__ ({ 
__const unsigned char *__s1 =       (__const unsigned char *) (__const char *) 
(  m->name  );       register int __result = __s1[0] - ((__const unsigned char 
*)    (__const char *) (    name  ))[0];      if (  __s2_len  > 0 && __result 
== 0)   {       __result = (__s1[1]     - ((__const unsigned char *)    
(__const char *) (    name  ))[1]);     if (  __s2_len  > 1 && __result == 0)   
{       __result =      (__s1[2] - ((__const unsigned char *)   (__const char 
*) (    name  ))[2]);     if (  __s2_len  > 2 && __result == 0)   __result =    
  (__s1[3]        - ((__const unsigned char *)    (__const char *) (    name  
))[3]);     }       }       __result; })) ) : strcmp ( m->name ,   name )))); 
}) )
      {
        GtkTypeInfo info = { ((void *)0)  };
        info.type_name = name;
        return gtk_type_unique (m->type, &info);
      }

  return GTK_TYPE_INVALID;
}

static int
sgtk_fillin_type_info (sgtk_type_info *info)
{
  if (info->type != GTK_TYPE_OBJECT
      && info->type == ((GtkFundamentalType) (( info->type ) & 0xFF)) 
      && info->type != GTK_TYPE_INVALID)
    {
      GtkType parent_type = info->type;
      GtkType this_type = gtk_type_from_name (info->name);
      if (this_type == GTK_TYPE_INVALID)
        this_type = sgtk_try_missing_type (info->name);
      if (this_type == GTK_TYPE_INVALID)
        {
          fprintf (stderr , "unknown type `%s'.\n", info->name);
          return 0;
        }
      info->type = this_type;
      if (((GtkFundamentalType) (( info->type ) & 0xFF))  != parent_type)
        {
          fprintf (stderr , "mismatch for type `%s'.\n", info->name);
          info->type = GTK_TYPE_INVALID;
          return 0;
        }
      enter_type_info (info);
    }

  return 1;
}      
     
sgtk_type_info*
sgtk_maybe_find_type_info (GtkType type)
{
  sgtk_type_info *info;
  type_infos *infos;
  char *name;




    info = sgtk_get_type_info ((( type ) > 0xFF ? ( type ) >> 8 : ( type )) );

    
  if (info)
    return info;

   


  name = gtk_type_name (type);
  for (infos = all_type_infos; infos; infos = infos->next)
    {
      sgtk_type_info **ip;
      for (ip = infos->infos; *ip; ip++)
        if (! __extension__     ({ size_t __s1_len, __s2_len;   
(__builtin_constant_p ( (*ip)->name ) && __builtin_constant_p (  name ) && 
(__s1_len = strlen ( (*ip)->name ), __s2_len = strlen (  name ),     (! 
((size_t)(const void *)((  (*ip)->name  ) + 1) - (size_t)(const void *)(  
(*ip)->name  ) == 1)  || __s1_len >= 4)    && (! ((size_t)(const void *)((   
name  ) + 1) - (size_t)(const void *)(   name  ) == 1)  || __s2_len >= 4))    ? 
memcmp ((__const char *) ( (*ip)->name ), (__const char *) (  name ), (__s1_len 
< __s2_len ? __s1_len : __s2_len) + 1)        : (__builtin_constant_p ( 
(*ip)->name ) && ((size_t)(const void *)((  (*ip)->name  ) + 1) - 
(size_t)(const void *)(  (*ip)->name  ) == 1)       && (__s1_len = strlen ( 
(*ip)->name ), __s1_len < 4)    ? (__builtin_constant_p (  name ) && 
((size_t)(const void *)((   name  ) + 1) - (size_t)(const void *)(   name  ) == 
1)         ? (__extension__ ({ register int __result =     (((__const unsigned 
char *) (__const char *) (  (*ip)->name  ))[0] - ((__const unsigned char *) 
(__const char *)(    name  ))[0]);      if (  __s1_len  > 0 && __result == 0)   
{       __result = (((__const unsigned char *)  (__const char *) (  (*ip)->name 
 ))[1]  - ((__const unsigned char *)    (__const char *) (    name  ))[1]);     
if (  __s1_len  > 1 && __result == 0)   {       __result =      (((__const 
unsigned char *)     (__const char *) (  (*ip)->name  ))[2]  - ((__const 
unsigned char *)    (__const char *) (    name  ))[2]);     if (  __s1_len  > 2 
&& __result == 0)   __result =      (((__const unsigned char *)     (__const 
char *) (  (*ip)->name  ))[3]  - ((__const unsigned char *)    (__const char *) 
(    name  ))[3]);     }       }       __result; }))   : (__extension__ ({ 
__const unsigned char *__s2 =       (__const unsigned char *) (__const char *) 
(    name  );        register int __result = (((__const unsigned char *) 
(__const char *) (  (*ip)->name  ))[0] - __s2[0]);  if (  __s1_len  > 0 && 
__result == 0)   {       __result = (((__const unsigned char *)  (__const char 
*) (  (*ip)->name  ))[1] - __s2[1]); if (  __s1_len  > 1 && __result == 0)      
  {       __result = (((__const unsigned char *)  (__const char *) (  
(*ip)->name  ))[2] - __s2[2]);      if (  __s1_len  > 2 && __result == 0)   
__result = (((__const unsigned char *)  (__const char *)  (  (*ip)->name  ))[3] 
- __s2[3]);     }       }       __result; })) ) : (__builtin_constant_p (  name 
) && ((size_t)(const void *)((   name  ) + 1) - (size_t)(const void *)(   name  
) == 1)         && (__s2_len = strlen (  name ), __s2_len < 4)  ? 
(__builtin_constant_p ( (*ip)->name ) && ((size_t)(const void *)((  (*ip)->name 
 ) + 1) - (size_t)(const void *)(  (*ip)->name  ) == 1)       ? (__extension__ 
({ register int __result =     (((__const unsigned char *) (__const char *) (  
(*ip)->name  ))[0] - ((__const unsigned char *) (__const char *)(    name  
))[0]);      if (  __s2_len  > 0 && __result == 0)   {       __result = 
(((__const unsigned char *)  (__const char *) (  (*ip)->name  ))[1]  - 
((__const unsigned char *)    (__const char *) (    name  ))[1]);     if (  
__s2_len  > 1 && __result == 0)   {       __result =      (((__const unsigned 
char *)     (__const char *) (  (*ip)->name  ))[2]  - ((__const unsigned char 
*)    (__const char *) (    name  ))[2]);     if (  __s2_len  > 2 && __result 
== 0)   __result =      (((__const unsigned char *)     (__const char *) (  
(*ip)->name  ))[3]  - ((__const unsigned char *)    (__const char *) (    name  
))[3]);     }       }       __result; }))   : (__extension__ ({ __const 
unsigned char *__s1 =       (__const unsigned char *) (__const char *) (  
(*ip)->name  );   register int __result = __s1[0] - ((__const unsigned char *)  
  (__const char *) (    name  ))[0];      if (  __s2_len  > 0 && __result == 0) 
  {       __result = (__s1[1]     - ((__const unsigned char *)    (__const char 
*) (    name  ))[1]);     if (  __s2_len  > 1 && __result == 0)   {       
__result =      (__s1[2] - ((__const unsigned char *)   (__const char *) (    
name  ))[2]);     if (  __s2_len  > 2 && __result == 0)   __result =      
(__s1[3]        - ((__const unsigned char *)    (__const char *) (    name  
))[3]);     }       }       __result; })) ) : strcmp ( (*ip)->name ,   name 
)))); }) )
          {
            if (((GtkFundamentalType) (( type ) & 0xFF))  != (*ip)->type)
              {
                fprintf (stderr , "mismatch for type `%s'.\n", name);
                info->type = GTK_TYPE_INVALID;
                abort ();
              }
            (*ip)->type = type;
            enter_type_info (*ip);
            return *ip;
          }
    }

   


  return ((void *)0) ;
}

sgtk_type_info *
sgtk_find_type_info (GtkType type)
{
  sgtk_type_info *info = sgtk_maybe_find_type_info (type);

  if (info)
    return info;

  fprintf (stderr , "unknown type `%s'.\n", gtk_type_name (type));
  abort ();
}

 







































struct sgtk_protshell {
  SCM object;
  struct sgtk_protshell *next;
  struct sgtk_protshell **prevp;
};

static GMemChunk *sgtk_protshell_chunk;

 


static struct sgtk_protshell *global_protects;

void
sgtk_unprotect (sgtk_protshell *prot)
{
  if (*prot->prevp = prot->next)
    prot->next->prevp = prot->prevp;
  (void)(  { g_mem_chunk_free ((  sgtk_protshell_chunk ), ( prot )); } )  ;
}

static void
sgtk_mark_protects (sgtk_protshell *prots)
{
  while (prots)
    {
      scm_gc_mark (prots->object);
      prots = prots->next;
    }
}

 






typedef struct _sgtk_object_proxy {
   



  GtkObject *obj;
  struct sgtk_protshell *protects;
  int traced_refs;
  struct _sgtk_object_proxy *next;
  struct _sgtk_object_proxy **prevp;
} sgtk_object_proxy;

 

static sgtk_object_proxy *all_proxies = ((void *)0) ;

 



static void
sgtk_move_prots_to_global (sgtk_protshell *prots)
{
  if (prots)
    {
      sgtk_protshell *g = global_protects;
      global_protects = prots;
      global_protects->prevp = &global_protects;
      if (g)
        {
          sgtk_protshell *p;
          for (p = prots; p->next; p = p->next)
            ;
          p->next = g;
          g->prevp = &p->next;
        }
    }
}

# 484 "guile-gtk.c"


 

static long tc16_gtkobj;




sgtk_protshell *
sgtk_protect (SCM protector, SCM obj)
{
  sgtk_protshell *prot = ( ( sgtk_protshell  *) g_mem_chunk_alloc (  
sgtk_protshell_chunk ) ) ;
  sgtk_protshell **prevp;

  prot->object = obj;

  if (((! (6 & ((scm_t_bits) (       protector     )) )  && (0xffff & (  
(((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (         protector    
   )   )) )) ) [  (  0 ) ])  )    )  == (  tc16_gtkobj  ))  ) )
    prevp = &(((sgtk_object_proxy *)((  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (    protector    )   )) )) ) [  (  1 ) ])  )   ) ) 
->protects);
  else
    prevp = &global_protects;
  
  if (prot->next = *prevp)
        prot->next->prevp = &prot->next;
  *prevp = prot;
  prot->prevp = prevp;

  return prot;
}

static void
mark_traced_ref (GtkWidget *obj, void *data)
{
  SCM p = (SCM)get_proxy (obj);
  if (p != ((SCM) ( (( 16 ) << 9) + 0x174L ))   )
    {
      sgtk_object_proxy *proxy = ((sgtk_object_proxy *)((  (((const scm_t_bits 
*) ((SCM_CELLPTR) (((scm_t_bits) (   (    p    )   )) )) ) [  (  1 ) ])  )   ) 
) ;




      sgtk_mark_protects (proxy->protects);
    }
}

static SCM
gtkobj_mark (SCM obj)
{
  sgtk_object_proxy *proxy = ((sgtk_object_proxy *)((  (((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (    obj    )   )) )) ) [  (  1 ) ])  )   ) ) 
;






  if ((( ((GtkTypeObject*) ( ( proxy->obj ) )) != ((void *)0)  && ( 
((GtkTypeClass*) ( ((GtkTypeObject*) ( ( proxy->obj ) ))->klass )) != ((void 
*)0)  && gtk_type_is_a (((GtkTypeClass*) ( ((GtkTypeObject*) ( ( proxy->obj ) 
))->klass ))->type, (  (  (gtk_container_get_type ())  ) )) )  ) ) )
    gtk_container_foreach ((((  GtkContainer *) gtk_type_check_object_cast 
((GtkTypeObject*) ( ( proxy->obj ) ), (  (gtk_container_get_type ())  ))) ) , 
mark_traced_ref, ((void *)0) );
  sgtk_mark_protects (proxy->protects);
  return ((SCM) ( (( 20 ) << 9) + 0x174L ))   ;
}

static int
gtkobj_print (SCM obj, SCM port, scm_print_state *pstate)
{
  sgtk_object_proxy *proxy = ((sgtk_object_proxy *)((  (((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (    obj    )   )) )) ) [  (  1 ) ])  )   ) ) 
;
  GtkType tid = (( ( (   proxy->obj   ) != ((void *)0)  && ( ( ((GtkObject*) (  
 proxy->obj   ))->klass ) != ((void *)0)  && ((GtkFundamentalType) (( 
((GtkObjectClass*) ( ((GtkObject*) (   proxy->obj   ))->klass ))->type ) & 
0xFF))  == GTK_TYPE_OBJECT )  )  ? (GtkObject*) (  proxy->obj  ) : (GtkObject*) 
gtk_type_check_object_cast ((GtkTypeObject*) (  proxy->obj  ), GTK_TYPE_OBJECT) 
) ->klass->type) ;

  scm_puts ("#<", port);
  scm_puts (gtk_type_name (tid), port);
  scm_puts (" ", port);
  scm_intprint ((long)proxy->obj, 16, port);
  scm_puts (">", port);
  return 1;
}

static size_t
gtkobj_free (SCM obj)
{
  sgtk_object_proxy *proxy = ((sgtk_object_proxy *)((  (((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (    obj    )   )) )) ) [  (  1 ) ])  )   ) ) 
;

   






  forget_proxy (proxy->obj);
  gtk_object_unref (proxy->obj);
  if (*proxy->prevp = proxy->next) proxy->next->prevp = proxy->prevp;
  
  sgtk_move_prots_to_global (proxy->protects);

  scm_must_free (proxy);
  return sizeof(*proxy);
}

 






static long tc16_gtkobj_marker_hook;

static void
count_traced_ref (GtkWidget *obj, void *data)
{
  SCM p = (SCM)get_proxy (obj);
  if (p != ((SCM) ( (( 16 ) << 9) + 0x174L ))   )
    {
      sgtk_object_proxy *proxy = ((sgtk_object_proxy *)((  (((const scm_t_bits 
*) ((SCM_CELLPTR) (((scm_t_bits) (   (    p    )   )) )) ) [  (  1 ) ])  )   ) 
) ;




      proxy->traced_refs++;
    }
}

static SCM
gtkobj_marker_hook (SCM obj)
{
  sgtk_object_proxy *proxy;

   













   
  for (proxy = all_proxies; proxy; proxy = proxy->next)
    {
      GtkObject *obj = proxy->obj;



      if ((( ((GtkTypeObject*) ( ( obj ) )) != ((void *)0)  && ( 
((GtkTypeClass*) ( ((GtkTypeObject*) ( ( obj ) ))->klass )) != ((void *)0)  && 
gtk_type_is_a (((GtkTypeClass*) ( ((GtkTypeObject*) ( ( obj ) ))->klass 
))->type, (  (  (gtk_container_get_type ())  ) )) )  ) ) )
        gtk_container_foreach ((((  GtkContainer *) gtk_type_check_object_cast 
((GtkTypeObject*) ( ( obj ) ), (  (gtk_container_get_type ())  ))) ) , 
count_traced_ref, ((void *)0) );
    }




   
  for (proxy = all_proxies; proxy; proxy = proxy->next)
    {







      if (proxy->obj->ref_count > proxy->traced_refs + 1)

        
        {




          sgtk_mark_protects (proxy->protects);
        }
      proxy->traced_refs = 0;
    }
  sgtk_mark_protects (global_protects);
  return ((SCM) ( (( 20 ) << 9) + 0x174L ))   ;
}

static int
gtkobj_marker_hook_print (SCM obj, SCM port, scm_print_state *pstate)
{
  scm_puts ("#<the invisible GtkObject marker hook>", port);
  return 1;
}

static void
install_marker_hook ()
{
  scm_permanent_object (sgtk_make_cell (tc16_gtkobj_marker_hook, 0));
}

 

static SCM
make_gtkobj (GtkObject *obj)
{
  sgtk_object_proxy *proxy;
  SCM z;

  proxy = (sgtk_object_proxy *)scm_must_malloc (sizeof(sgtk_object_proxy),
                                                "GtkObject proxy");
  gtk_object_ref (obj);
  gtk_object_sink (obj);




  proxy->obj = obj;
  proxy->protects = ((void *)0) ;
  proxy->traced_refs = 0;
  proxy->next = all_proxies;
  all_proxies = proxy;
  proxy->prevp = &all_proxies;
  if (proxy->next)
    proxy->next->prevp = &proxy->next;

  z = sgtk_make_cell (tc16_gtkobj, (scm_t_bits)proxy);
  enter_proxy (obj, z);

  sgtk_protect (z, z);  

  return z;
}

 


SCM
sgtk_wrap_gtkobj (GtkObject *obj)
{
  SCM handle;

  if (obj == ((void *)0) )
    return ((SCM) ( (( 16 ) << 9) + 0x174L ))   ;

  handle = get_proxy (obj);
  if (handle == ((SCM) ( (( 16 ) << 9) + 0x174L ))   )
    handle = make_gtkobj (obj);
  return handle;
}

int
sgtk_is_a_gtkobj (guint type, SCM obj)
{

  if (!((! (6 & ((scm_t_bits) (   obj   )) ) )  && ((! (6 & ((scm_t_bits) (     
  obj     )) )  && (0xffff & (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (         obj       )   )) )) ) [  (  0 ) ])  )    )  == (  
tc16_gtkobj  ))  ) ))
    return 0;
  return gtk_type_is_a ((( ( (   ((sgtk_object_proxy *)((  (((const scm_t_bits 
*) ((SCM_CELLPTR) (((scm_t_bits) (   (    obj    )   )) )) ) [  (  1 ) ])  )   
) ) ->obj   ) != ((void *)0)  && ( ( ((GtkObject*) (   ((sgtk_object_proxy *)(( 
 (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (    obj    )   )) )) 
) [  (  1 ) ])  )   ) ) ->obj   ))->klass ) != ((void *)0)  && 
((GtkFundamentalType) (( ((GtkObjectClass*) ( ((GtkObject*) (   
((sgtk_object_proxy *)((  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) 
(   (    obj    )   )) )) ) [  (  1 ) ])  )   ) ) ->obj   ))->klass ))->type ) 
& 0xFF))  == GTK_TYPE_OBJECT )  )  ? (GtkObject*) (  ((sgtk_object_proxy *)((  
(((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (    obj    )   )) )) 
) [  (  1 ) ])  )   ) ) ->obj  ) : (GtkObject*) gtk_type_check_object_cast 
((GtkTypeObject*) (  ((sgtk_object_proxy *)((  (((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (    obj    )   )) )) ) [  (  1 ) ])  )   ) ) 
->obj  ), GTK_TYPE_OBJECT) ) ->klass->type) , type);
}

GtkObject*
sgtk_get_gtkobj (SCM obj)
{
  if (obj == ((SCM) ( (( 16 ) << 9) + 0x174L ))   )
    return ((void *)0) ;
  else
    return ((sgtk_object_proxy *)((  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (    obj    )   )) )) ) [  (  1 ) ])  )   ) ) ->obj;
}

 






SCM sgtk_flags_symbol_protector = ((SCM) ( (( 16 ) << 9) + 0x174L ))   ;

static int
sgtk_flags_comp (const void *first, const void *second)
{
  return (((scm_t_bits) ( ((sgtk_enum_literal *) first)->symbol )) 
          - ((scm_t_bits) ( ((sgtk_enum_literal *) second)->symbol )) );
}

void 
sgtk_enum_flags_init (sgtk_enum_info *info)
{
  int   i;
  SCM   s;

  if (sgtk_flags_symbol_protector == ((SCM) ( (( 16 ) << 9) + 0x174L ))   )
    {
      sgtk_flags_symbol_protector = scm_cons (((SCM) ( (( 16 ) << 9) + 0x174L 
))   , ((SCM) ( (( 20 ) << 9) + 0x174L ))   );
      scm_gc_protect_object (sgtk_flags_symbol_protector);
    }

  for (i = 0; i < info->n_literals; i++)
    {
      info->literals[i].symbol = scm_str2symbol (info->literals[i].name);

      s = scm_cons (info->literals[i].symbol, 
                    ((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   sgtk_flags_symbol_protector   )   )) )) ) [  (  1 ) ] )) 
)  )    ) ) );
      ((  (  (((scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (  ( 
sgtk_flags_symbol_protector )  )   )) )) ) [  (  1 ) ] = ((scm_t_bits) (   (    
(  s )  )  )) )  )    ) ) ;
    }

  qsort (info->literals, info->n_literals, sizeof (sgtk_enum_literal), 
sgtk_flags_comp);
}

int
sgtk_enum_flags_bin_search (SCM key, sgtk_enum_info *info, int *rval)
{
  int                   upper, lower, half;
  sgtk_enum_literal     *ls;
  
  ls = info->literals;

  upper = info->n_literals - 1;
  lower = 0;

  while (upper >= lower)
    {
      half = (upper + lower) >> 1;
      if (key > ls[half].symbol)
        lower = half + 1;
      else
        if (key == ls[half].symbol)
          { 
            *rval = ls[half].value; 
            return (! (0) ) ; 
          }
        else
          upper = half - 1;
    } 

  *rval = -1;
  return (0) ;
}

SCM
sgtk_enum2scm (gint val, sgtk_enum_info *info)
{
  int i;
  for (i = 0; i < info->n_literals; i++)
    if (info->literals[i].value == val)
      return info->literals[i].symbol;
  if (!( 0 )) scm_wrong_type_arg (  "enum->symbol" ,   1  ,   (((SCM) ( 
(((scm_t_signed_bits) ( val )) << 2) + 2 )) )  ) ;
  return ((SCM) ( (( 16 ) << 9) + 0x174L ))   ;
}

gint
sgtk_scm2enum (SCM obj, sgtk_enum_info *info, int pos, char *sname)
{
  int rval;

  if (! (! (6 & ((scm_t_bits) (   obj   )) ) ) )
    return 0;

  if ((! (6 & ((scm_t_bits) (   obj   )) )  && ((0x7f &        (  (((const 
scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (     obj     )   )) )) ) [  (  
0 ) ])  )    )  == 5 ))  &&
      (sgtk_enum_flags_bin_search (obj, info, &rval) == (! (0) ) ))
    return rval;


  if ((2 & ((scm_t_bits) (  obj  )) ) )
    return ((( (scm_t_signed_bits) ((scm_t_bits) (  obj  ))  ) >> (  2 )) ) ;

   



  return scm_num2long (obj, (long) pos, sname);
}

gint
sgtk_valid_enum (SCM obj, sgtk_enum_info *info)
{
  int tmp;

  if (! (! (6 & ((scm_t_bits) (   obj   )) ) ) )
    return 0;

  if ((! (6 & ((scm_t_bits) (   obj   )) )  && ((0x7f &        (  (((const 
scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (     obj     )   )) )) ) [  (  
0 ) ])  )    )  == 5 )) )
    return sgtk_enum_flags_bin_search (obj, info, &tmp);

  return (scm_integer_p (obj)) == ((SCM) ( (( 17 ) << 9) + 0x174L ))   ;
}

 





SCM
sgtk_flags2scm (gint val, sgtk_enum_info *info)
{
  SCM ans = ((SCM) ( (( 20 ) << 9) + 0x174L ))   ;
  int i;
  for (i = 0; i < info->n_literals; i++)
    if (val & info->literals[i].value)
      {
        ans = scm_cons (info->literals[i].symbol, ans);
        val &= ~info->literals[i].value;
      }
  return ans;
}

gint
sgtk_scm2flags (SCM obj, sgtk_enum_info *info, int pos, char *sname)
{
  int ans = 0, m;

  if ((2 & ((scm_t_bits) (  obj  )) ) )
    return ((( (scm_t_signed_bits) ((scm_t_bits) (  obj  ))  ) >> (  2 )) ) ;

  if (scm_integer_p (obj) == ((SCM) ( (( 17 ) << 9) + 0x174L ))   )
    return scm_num2long (obj, (long) pos, sname);

  while ((! (6 & ((scm_t_bits) (   obj   )) ) )  && (! (6 & ((scm_t_bits) (   
obj   )) )  && ((1 & (  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (  
 (    obj    )   )) )) ) [  (  0 ) ])  )    ) == 0)) )
    {
      SCM sym = ((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  0 ) ] )) )  )    ) ) ;

      if ((! (6 & ((scm_t_bits) (   sym   )) )  && ((0x7f &        (  (((const 
scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (     sym     )   )) )) ) [  (  
0 ) ])  )    )  == 5 )) )
        {
          if (sgtk_enum_flags_bin_search (sym, info, &m) == (0) )
            break;
        }
      else
        if ((2 & ((scm_t_bits) (  sym  )) ) )
          m = ((( (scm_t_signed_bits) ((scm_t_bits) (  sym  ))  ) >> (  2 )) ) ;
        else
          if (scm_integer_p (sym) == ((SCM) ( (( 17 ) << 9) + 0x174L ))   )
            m = scm_num2long (sym, (long) pos, sname);
          else
            break;
      
      ans |= m;
      obj = ((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ] )) )  )    ) ) ;
    }

  if (obj != ((SCM) ( (( 20 ) << 9) + 0x174L ))   )
    if (!( 0 )) scm_wrong_type_arg (  sname ,   pos ,   obj ) ;

  return ans;
}

gint
sgtk_valid_flags (SCM obj, sgtk_enum_info *info)
{
  int tmp;

  if ((2 & ((scm_t_bits) (  obj  )) ) )
    return (! (0) ) ;

  if (scm_integer_p (obj) == ((SCM) ( (( 17 ) << 9) + 0x174L ))   )
    return (! (0) ) ;

  while (! ((((scm_t_bits) (  ( obj )  ))  == ((scm_t_bits) (   ((SCM) ( (( 20 
) << 9) + 0x174L ))     )) ) ) )
    {
      SCM sym = ((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  0 ) ] )) )  )    ) ) ;

      if ((! (6 & ((scm_t_bits) (   sym   )) )  && ((0x7f &        (  (((const 
scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (     sym     )   )) )) ) [  (  
0 ) ])  )    )  == 5 )) )
        {
          if (sgtk_enum_flags_bin_search (sym, info, &tmp) == (0) )
            return (0) ;
        }
      else
        if (scm_integer_p (sym) == ((SCM) ( (( 16 ) << 9) + 0x174L ))   )
          return (0) ;
      
      obj = ((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ] )) )  )    ) ) ;
    }
  
  return (! (0) ) ;
}

 





int
sgtk_valid_senum (SCM obj, sgtk_senum_info *info)
{
  int i;

  if (! (! (6 & ((scm_t_bits) (   obj   )) ) ) )
    return 0;
  if ((! (6 & ((scm_t_bits) (   obj   )) )  && ((0x7f &        (  (((const 
scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (     obj     )   )) )) ) [  (  
0 ) ])  )    )  == 21 )) )
    return 1;
  if (! (! (6 & ((scm_t_bits) (   obj   )) )  && ((0x7f &        (  (((const 
scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (     obj     )   )) )) ) [  (  
0 ) ])  )    )  == 5 )) )
    return 0;

  for (i = 0; i < info->n_literals; i++)
    if (! __extension__ ({ size_t __s1_len, __s2_len;   (__builtin_constant_p ( 
info->literals[i].name ) && __builtin_constant_p (  ((char *) ((  (((const 
scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) 
])  )   ))  )        && (__s1_len = strlen ( info->literals[i].name ), __s2_len 
= strlen (  ((char *) ((  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) 
(   (   obj   )   )) )) ) [  (  1 ) ])  )   ))  ),    (! ((size_t)(const void 
*)((  info->literals[i].name  ) + 1) - (size_t)(const void *)(  
info->literals[i].name  ) == 1)  || __s1_len >= 4)      && (! ((size_t)(const 
void *)((   ((char *) ((  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) 
(   (   obj   )   )) )) ) [  (  1 ) ])  )   ))   ) + 1) - (size_t)(const void 
*)(   ((char *) ((  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (  
 obj   )   )) )) ) [  (  1 ) ])  )   ))   ) == 1)  || __s2_len >= 4))        ? 
memcmp ((__const char *) ( info->literals[i].name ), (__const char *) (  ((char 
*) ((  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   
)) )) ) [  (  1 ) ])  )   ))  ),        (__s1_len < __s2_len ? __s1_len : 
__s2_len) + 1)        : (__builtin_constant_p ( info->literals[i].name ) && 
((size_t)(const void *)((  info->literals[i].name  ) + 1) - (size_t)(const void 
*)(  info->literals[i].name  ) == 1)      && (__s1_len = strlen ( 
info->literals[i].name ), __s1_len < 4) ? (__builtin_constant_p (  ((char *) (( 
 (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) 
[  (  1 ) ])  )   ))  ) && ((size_t)(const void *)((   ((char *) ((  (((const 
scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) 
])  )   ))   ) + 1) - (size_t)(const void *)(   ((char *) ((  (((const 
scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) 
])  )   ))   ) == 1)       ? (__extension__ ({ register int __result =     
(((__const unsigned char *) (__const char *) (  info->literals[i].name  ))[0] - 
((__const unsigned char *) (__const char *)(    ((char *) ((  (((const 
scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) 
])  )   ))   ))[0]);     if (  __s1_len  > 0 && __result == 0)   {       
__result = (((__const unsigned char *)  (__const char *) (  
info->literals[i].name  ))[1]       - ((__const unsigned char *)    (__const 
char *) (    ((char *) ((  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) 
(   (   obj   )   )) )) ) [  (  1 ) ])  )   ))   ))[1]);       if (  __s1_len  
> 1 && __result == 0)   {       __result =      (((__const unsigned char *)     
(__const char *) (  info->literals[i].name  ))[2]       - ((__const unsigned 
char *)    (__const char *) (    ((char *) ((  (((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ])  )   ))   
))[2]);       if (  __s1_len  > 2 && __result == 0)   __result =      
(((__const unsigned char *)     (__const char *) (  info->literals[i].name  
))[3]       - ((__const unsigned char *)    (__const char *) (    ((char *) ((  
(((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) 
[  (  1 ) ])  )   ))   ))[3]);       }       }       __result; }))   : 
(__extension__ ({ __const unsigned char *__s2 =       (__const unsigned char *) 
(__const char *) (    ((char *) ((  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ])  )   ))   );  register 
int __result = (((__const unsigned char *) (__const char *) (  
info->literals[i].name  ))[0] - __s2[0]);       if (  __s1_len  > 0 && __result 
== 0)   {       __result = (((__const unsigned char *)  (__const char *) (  
info->literals[i].name  ))[1] - __s2[1]); if (  __s1_len  > 1 && __result == 0) 
    {       __result = (((__const unsigned char *)  (__const char *) (  
info->literals[i].name  ))[2] - __s2[2]);   if (  __s1_len  > 2 && __result == 
0)   __result = (((__const unsigned char *)  (__const char *)  (  
info->literals[i].name  ))[3]      - __s2[3]);     }       }       __result; 
})) ) : (__builtin_constant_p (  ((char *) ((  (((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ])  )   ))  ) 
&& ((size_t)(const void *)((   ((char *) ((  (((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ])  )   ))   
) + 1) - (size_t)(const void *)(   ((char *) ((  (((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ])  )   ))   
) == 1)       && (__s2_len = strlen (  ((char *) ((  (((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ])  )   ))  
), __s2_len < 4)    ? (__builtin_constant_p ( info->literals[i].name ) && 
((size_t)(const void *)((  info->literals[i].name  ) + 1) - (size_t)(const void 
*)(  info->literals[i].name  ) == 1)      ? (__extension__ ({ register int 
__result =     (((__const unsigned char *) (__const char *) (  
info->literals[i].name  ))[0] - ((__const unsigned char *) (__const char *)(    
((char *) ((  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (   obj  
 )   )) )) ) [  (  1 ) ])  )   ))   ))[0]);     if (  __s2_len  > 0 && __result 
== 0)   {       __result = (((__const unsigned char *)  (__const char *) (  
info->literals[i].name  ))[1]       - ((__const unsigned char *)    (__const 
char *) (    ((char *) ((  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) 
(   (   obj   )   )) )) ) [  (  1 ) ])  )   ))   ))[1]);       if (  __s2_len  
> 1 && __result == 0)   {       __result =      (((__const unsigned char *)     
(__const char *) (  info->literals[i].name  ))[2]       - ((__const unsigned 
char *)    (__const char *) (    ((char *) ((  (((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ])  )   ))   
))[2]);       if (  __s2_len  > 2 && __result == 0)   __result =      
(((__const unsigned char *)     (__const char *) (  info->literals[i].name  
))[3]       - ((__const unsigned char *)    (__const char *) (    ((char *) ((  
(((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) 
[  (  1 ) ])  )   ))   ))[3]);       }       }       __result; }))   : 
(__extension__ ({ __const unsigned char *__s1 =       (__const unsigned char *) 
(__const char *) (  info->literals[i].name  );        register int __result = 
__s1[0] - ((__const unsigned char *)    (__const char *) (    ((char *) ((  
(((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) 
[  (  1 ) ])  )   ))   ))[0];        if (  __s2_len  > 0 && __result == 0)   {  
     __result = (__s1[1]     - ((__const unsigned char *)    (__const char *) ( 
   ((char *) ((  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (   
obj   )   )) )) ) [  (  1 ) ])  )   ))   ))[1]);       if (  __s2_len  > 1 && 
__result == 0)   {       __result =      (__s1[2] - ((__const unsigned char *)  
 (__const char *) (    ((char *) ((  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ])  )   ))   ))[2]);       
if (  __s2_len  > 2 && __result == 0)   __result =      (__s1[3]        - 
((__const unsigned char *)    (__const char *) (    ((char *) ((  (((const 
scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) 
])  )   ))   ))[3]);       }       }       __result; })) ) : strcmp ( 
info->literals[i].name ,   ((char *) ((  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ])  )   ))  )))); }) )
      return 1;
  return 0;
}

SCM
sgtk_senum2scm (char *val, sgtk_senum_info *info)
{
  int i;
  for (i = 0; i < info->n_literals; i++)
    if (! __extension__ ({ size_t __s1_len, __s2_len;   (__builtin_constant_p ( 
info->literals[i].value ) && __builtin_constant_p (  val )      && (__s1_len = 
strlen ( info->literals[i].value ), __s2_len = strlen (  val ),  (! 
((size_t)(const void *)((  info->literals[i].value  ) + 1) - (size_t)(const 
void *)(  info->literals[i].value  ) == 1)  || __s1_len >= 4)    && (! 
((size_t)(const void *)((   val  ) + 1) - (size_t)(const void *)(   val  ) == 
1)  || __s2_len >= 4))      ? memcmp ((__const char *) ( 
info->literals[i].value ), (__const char *) (  val ),      (__s1_len < __s2_len 
? __s1_len : __s2_len) + 1)        : (__builtin_constant_p ( 
info->literals[i].value ) && ((size_t)(const void *)((  info->literals[i].value 
 ) + 1) - (size_t)(const void *)(  info->literals[i].value  ) == 1)   && 
(__s1_len = strlen ( info->literals[i].value ), __s1_len < 4)        ? 
(__builtin_constant_p (  val ) && ((size_t)(const void *)((   val  ) + 1) - 
(size_t)(const void *)(   val  ) == 1)    ? (__extension__ ({ register int 
__result =     (((__const unsigned char *) (__const char *) (  
info->literals[i].value  ))[0] - ((__const unsigned char *) (__const char *)(   
 val  ))[0]);   if (  __s1_len  > 0 && __result == 0)   {       __result = 
(((__const unsigned char *)  (__const char *) (  info->literals[i].value  ))[1] 
     - ((__const unsigned char *)    (__const char *) (    val  ))[1]);      if 
(  __s1_len  > 1 && __result == 0)   {       __result =      (((__const 
unsigned char *)     (__const char *) (  info->literals[i].value  ))[2]      - 
((__const unsigned char *)    (__const char *) (    val  ))[2]);      if (  
__s1_len  > 2 && __result == 0)   __result =      (((__const unsigned char *)   
  (__const char *) (  info->literals[i].value  ))[3]      - ((__const unsigned 
char *)    (__const char *) (    val  ))[3]);      }       }       __result; 
}))   : (__extension__ ({ __const unsigned char *__s2 =       (__const unsigned 
char *) (__const char *) (    val  ); register int __result = (((__const 
unsigned char *) (__const char *) (  info->literals[i].value  ))[0] - __s2[0]); 
     if (  __s1_len  > 0 && __result == 0)   {       __result = (((__const 
unsigned char *)  (__const char *) (  info->literals[i].value  ))[1] - 
__s2[1]); if (  __s1_len  > 1 && __result == 0)    {       __result = 
(((__const unsigned char *)  (__const char *) (  info->literals[i].value  ))[2] 
- __s2[2]);  if (  __s1_len  > 2 && __result == 0)   __result = (((__const 
unsigned char *)  (__const char *)  (  info->literals[i].value  ))[3]     - 
__s2[3]);     }       }       __result; })) ) : (__builtin_constant_p (  val ) 
&& ((size_t)(const void *)((   val  ) + 1) - (size_t)(const void *)(   val  ) 
== 1)    && (__s2_len = strlen (  val ), __s2_len < 4)   ? 
(__builtin_constant_p ( info->literals[i].value ) && ((size_t)(const void *)((  
info->literals[i].value  ) + 1) - (size_t)(const void *)(  
info->literals[i].value  ) == 1)   ? (__extension__ ({ register int __result =  
   (((__const unsigned char *) (__const char *) (  info->literals[i].value  
))[0] - ((__const unsigned char *) (__const char *)(    val  ))[0]);   if (  
__s2_len  > 0 && __result == 0)   {       __result = (((__const unsigned char 
*)  (__const char *) (  info->literals[i].value  ))[1]      - ((__const 
unsigned char *)    (__const char *) (    val  ))[1]);      if (  __s2_len  > 1 
&& __result == 0)   {       __result =      (((__const unsigned char *)     
(__const char *) (  info->literals[i].value  ))[2]      - ((__const unsigned 
char *)    (__const char *) (    val  ))[2]);      if (  __s2_len  > 2 && 
__result == 0)   __result =      (((__const unsigned char *)     (__const char 
*) (  info->literals[i].value  ))[3]      - ((__const unsigned char *)    
(__const char *) (    val  ))[3]);      }       }       __result; }))   : 
(__extension__ ({ __const unsigned char *__s1 =       (__const unsigned char *) 
(__const char *) (  info->literals[i].value  );       register int __result = 
__s1[0] - ((__const unsigned char *)    (__const char *) (    val  ))[0];       
if (  __s2_len  > 0 && __result == 0)   {       __result = (__s1[1]     - 
((__const unsigned char *)    (__const char *) (    val  ))[1]);      if (  
__s2_len  > 1 && __result == 0)   {       __result =      (__s1[2] - ((__const 
unsigned char *)   (__const char *) (    val  ))[2]);      if (  __s2_len  > 2 
&& __result == 0)   __result =      (__s1[3]        - ((__const unsigned char 
*)    (__const char *) (    val  ))[3]);      }       }       __result; })) ) : 
strcmp ( info->literals[i].value ,   val )))); }) )
      return scm_str2symbol (info->literals[i].name);
  return scm_makfrom0str (val);
}

char *
sgtk_scm2senum (SCM obj, sgtk_senum_info *info)
{
  int i;

  if ((! (6 & ((scm_t_bits) (   obj   )) )  && ((0x7f &        (  (((const 
scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (     obj     )   )) )) ) [  (  
0 ) ])  )    )  == 21 )) )
    return ((char *) ((  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) ( 
  (   obj   )   )) )) ) [  (  1 ) ])  )   )) ;

  for (i = 0; i < info->n_literals; i++)
    if (! __extension__ ({ size_t __s1_len, __s2_len;   (__builtin_constant_p ( 
info->literals[i].name ) && __builtin_constant_p (  ((char *) ((  (((const 
scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) 
])  )   ))  )        && (__s1_len = strlen ( info->literals[i].name ), __s2_len 
= strlen (  ((char *) ((  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) 
(   (   obj   )   )) )) ) [  (  1 ) ])  )   ))  ),    (! ((size_t)(const void 
*)((  info->literals[i].name  ) + 1) - (size_t)(const void *)(  
info->literals[i].name  ) == 1)  || __s1_len >= 4)      && (! ((size_t)(const 
void *)((   ((char *) ((  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) 
(   (   obj   )   )) )) ) [  (  1 ) ])  )   ))   ) + 1) - (size_t)(const void 
*)(   ((char *) ((  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (  
 obj   )   )) )) ) [  (  1 ) ])  )   ))   ) == 1)  || __s2_len >= 4))        ? 
memcmp ((__const char *) ( info->literals[i].name ), (__const char *) (  ((char 
*) ((  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   
)) )) ) [  (  1 ) ])  )   ))  ),        (__s1_len < __s2_len ? __s1_len : 
__s2_len) + 1)        : (__builtin_constant_p ( info->literals[i].name ) && 
((size_t)(const void *)((  info->literals[i].name  ) + 1) - (size_t)(const void 
*)(  info->literals[i].name  ) == 1)      && (__s1_len = strlen ( 
info->literals[i].name ), __s1_len < 4) ? (__builtin_constant_p (  ((char *) (( 
 (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) 
[  (  1 ) ])  )   ))  ) && ((size_t)(const void *)((   ((char *) ((  (((const 
scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) 
])  )   ))   ) + 1) - (size_t)(const void *)(   ((char *) ((  (((const 
scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) 
])  )   ))   ) == 1)       ? (__extension__ ({ register int __result =     
(((__const unsigned char *) (__const char *) (  info->literals[i].name  ))[0] - 
((__const unsigned char *) (__const char *)(    ((char *) ((  (((const 
scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) 
])  )   ))   ))[0]);     if (  __s1_len  > 0 && __result == 0)   {       
__result = (((__const unsigned char *)  (__const char *) (  
info->literals[i].name  ))[1]       - ((__const unsigned char *)    (__const 
char *) (    ((char *) ((  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) 
(   (   obj   )   )) )) ) [  (  1 ) ])  )   ))   ))[1]);       if (  __s1_len  
> 1 && __result == 0)   {       __result =      (((__const unsigned char *)     
(__const char *) (  info->literals[i].name  ))[2]       - ((__const unsigned 
char *)    (__const char *) (    ((char *) ((  (((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ])  )   ))   
))[2]);       if (  __s1_len  > 2 && __result == 0)   __result =      
(((__const unsigned char *)     (__const char *) (  info->literals[i].name  
))[3]       - ((__const unsigned char *)    (__const char *) (    ((char *) ((  
(((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) 
[  (  1 ) ])  )   ))   ))[3]);       }       }       __result; }))   : 
(__extension__ ({ __const unsigned char *__s2 =       (__const unsigned char *) 
(__const char *) (    ((char *) ((  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ])  )   ))   );  register 
int __result = (((__const unsigned char *) (__const char *) (  
info->literals[i].name  ))[0] - __s2[0]);       if (  __s1_len  > 0 && __result 
== 0)   {       __result = (((__const unsigned char *)  (__const char *) (  
info->literals[i].name  ))[1] - __s2[1]); if (  __s1_len  > 1 && __result == 0) 
    {       __result = (((__const unsigned char *)  (__const char *) (  
info->literals[i].name  ))[2] - __s2[2]);   if (  __s1_len  > 2 && __result == 
0)   __result = (((__const unsigned char *)  (__const char *)  (  
info->literals[i].name  ))[3]      - __s2[3]);     }       }       __result; 
})) ) : (__builtin_constant_p (  ((char *) ((  (((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ])  )   ))  ) 
&& ((size_t)(const void *)((   ((char *) ((  (((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ])  )   ))   
) + 1) - (size_t)(const void *)(   ((char *) ((  (((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ])  )   ))   
) == 1)       && (__s2_len = strlen (  ((char *) ((  (((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ])  )   ))  
), __s2_len < 4)    ? (__builtin_constant_p ( info->literals[i].name ) && 
((size_t)(const void *)((  info->literals[i].name  ) + 1) - (size_t)(const void 
*)(  info->literals[i].name  ) == 1)      ? (__extension__ ({ register int 
__result =     (((__const unsigned char *) (__const char *) (  
info->literals[i].name  ))[0] - ((__const unsigned char *) (__const char *)(    
((char *) ((  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (   obj  
 )   )) )) ) [  (  1 ) ])  )   ))   ))[0]);     if (  __s2_len  > 0 && __result 
== 0)   {       __result = (((__const unsigned char *)  (__const char *) (  
info->literals[i].name  ))[1]       - ((__const unsigned char *)    (__const 
char *) (    ((char *) ((  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) 
(   (   obj   )   )) )) ) [  (  1 ) ])  )   ))   ))[1]);       if (  __s2_len  
> 1 && __result == 0)   {       __result =      (((__const unsigned char *)     
(__const char *) (  info->literals[i].name  ))[2]       - ((__const unsigned 
char *)    (__const char *) (    ((char *) ((  (((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ])  )   ))   
))[2]);       if (  __s2_len  > 2 && __result == 0)   __result =      
(((__const unsigned char *)     (__const char *) (  info->literals[i].name  
))[3]       - ((__const unsigned char *)    (__const char *) (    ((char *) ((  
(((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) 
[  (  1 ) ])  )   ))   ))[3]);       }       }       __result; }))   : 
(__extension__ ({ __const unsigned char *__s1 =       (__const unsigned char *) 
(__const char *) (  info->literals[i].name  );        register int __result = 
__s1[0] - ((__const unsigned char *)    (__const char *) (    ((char *) ((  
(((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) 
[  (  1 ) ])  )   ))   ))[0];        if (  __s2_len  > 0 && __result == 0)   {  
     __result = (__s1[1]     - ((__const unsigned char *)    (__const char *) ( 
   ((char *) ((  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (   
obj   )   )) )) ) [  (  1 ) ])  )   ))   ))[1]);       if (  __s2_len  > 1 && 
__result == 0)   {       __result =      (__s1[2] - ((__const unsigned char *)  
 (__const char *) (    ((char *) ((  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ])  )   ))   ))[2]);       
if (  __s2_len  > 2 && __result == 0)   __result =      (__s1[3]        - 
((__const unsigned char *)    (__const char *) (    ((char *) ((  (((const 
scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) 
])  )   ))   ))[3]);       }       }       __result; })) ) : strcmp ( 
info->literals[i].name ,   ((char *) ((  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ])  )   ))  )))); }) )
      return info->literals[i].value;
  return ((void *)0) ;
}

 



static long tc16_boxed;






static size_t
boxed_free (SCM obj)
{
  sgtk_boxed_info *info = ((sgtk_boxed_info*)must_get_type_info((((guint)((  (  
(((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (     obj     
)   )) )) ) [  (  0 ) ] )) )  )    ) ) )>>16) )) ;




  info->destroy (((gpointer)((  (  (((SCM) ( ((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (    obj    )   )) )) ) [  (  1 ) ] )) )  )   
 ) ) ) );
  return 0;
}

static int
boxed_print (SCM exp, SCM port, scm_print_state *pstate)
{
  sgtk_boxed_info *info = ((sgtk_boxed_info*)must_get_type_info((((guint)((  (  
(((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (     exp     
)   )) )) ) [  (  0 ) ] )) )  )    ) ) )>>16) )) ;
  scm_puts ("#<", port);
  scm_puts (info->header.name, port);
  scm_puts (" ", port);
  scm_intprint ((long)((gpointer)((  (  (((SCM) ( ((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (    exp    )   )) )) ) [  (  1 ) ] )) )  )   
 ) ) ) , 16, port);
  scm_puts (">", port);
  return 1;
}

SCM
sgtk_boxed2scm (gpointer ptr, sgtk_boxed_info *info, int copyp)
{
  SCM z;

  if (ptr == ((void *)0) )
    return ((SCM) ( (( 16 ) << 9) + 0x174L ))   ;

  if (!sgtk_fillin_type_info (&info->header))
    return ((SCM) ( (( 16 ) << 9) + 0x174L ))   ;

  if (copyp)
    ptr = info->copy (ptr);








  if ((( info->header.type ) > 0xFF ? ( info->header.type ) >> 8 : ( 
info->header.type ))  > 0xFFFF)

    abort ();




  z = sgtk_make_cell (tc16_boxed | ((( info->header.type ) > 0xFF ? ( 
info->header.type ) >> 8 : ( info->header.type )) )<<16,
                      (scm_t_bits) ptr);

  return z;
}

void *
sgtk_scm2boxed (SCM obj)
{
  if (obj == ((SCM) ( (( 16 ) << 9) + 0x174L ))   )
    return ((void *)0) ;
  return ((gpointer)((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (    obj    )   )) )) ) [  (  1 ) ] )) )  )    ) ) ) ;
}

int
sgtk_valid_boxed (SCM obj, sgtk_boxed_info *info)
{
  return ((! (6 & ((scm_t_bits) (   obj   )) ) )  && ((! (6 & ((scm_t_bits) (   
 obj    )) ) )  && ((0xffff & (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (     obj     )   )) )) ) [  (  0 ) ])  )    )  == 
tc16_boxed))  && ((sgtk_boxed_info*)must_get_type_info((((guint)((  (  (((SCM) 
( ((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (     obj     )   )) 
)) ) [  (  0 ) ] )) )  )    ) ) )>>16) ))  == info);
}

 



int
sgtk_valid_float (SCM obj)
{
  return ((2 & ((scm_t_bits) (   obj   )) )  || (! (6 & ((scm_t_bits) (    obj  
  )) )  && (0xfcff & (  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (  
 (     obj     )   )) )) ) [  (  0 ) ])  )    ) == 127 ) ) ;
}

gfloat
sgtk_scm2float (SCM obj)
{
  return scm_num2double (obj, 1, "number->float");
}

SCM
sgtk_float2scm (gfloat f)
{
  return scm_double2num ((double)f);
}

int
sgtk_valid_double (SCM obj)
{
  return ((2 & ((scm_t_bits) (   obj   )) )  || (! (6 & ((scm_t_bits) (    obj  
  )) )  && (0xfcff & (  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (  
 (     obj     )   )) )) ) [  (  0 ) ])  )    ) == 127 ) ) ;
}

double
sgtk_scm2double (SCM obj)
{
  return scm_num2double (obj, 1, "number->double");
}

SCM
sgtk_double2scm (double f)
{
  return scm_double2num (f);
}

int
sgtk_valid_point (SCM obj)
{
  return (! (6 & ((scm_t_bits) (   obj   )) ) )  && (! (6 & ((scm_t_bits) (   
obj   )) )  && ((1 & (  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (  
 (    obj    )   )) )) ) [  (  0 ) ])  )    ) == 0)) 
    && ((2 & ((scm_t_bits) (   ((  (  (((SCM) ( ((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) [  (  0 ) ] )) )  )    
) )    )) )  || (! (6 & ((scm_t_bits) (    ((  (  (((SCM) ( ((const scm_t_bits 
*) ((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) [  (  0 ) ] )) )  )  
  ) )     )) )  && (0xfcff & (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (     ((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  0 ) ] )) )  )    ) )      )   )) 
)) ) [  (  0 ) ])  )    ) == 127 ) )      
    && ((2 & ((scm_t_bits) (   ((  (  (((SCM) ( ((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ] )) )  )    
) )    )) )  || (! (6 & ((scm_t_bits) (    ((  (  (((SCM) ( ((const scm_t_bits 
*) ((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ] )) )  )  
  ) )     )) )  && (0xfcff & (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (     ((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ] )) )  )    ) )      )   )) 
)) ) [  (  0 ) ])  )    ) == 127 ) ) ;    
}

GdkPoint
sgtk_scm2point (SCM obj)
{
  GdkPoint res;
  res.x = scm_num2int (((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  0 ) ] )) )  )    ) ) , 1, 
"scheme->point");
  res.y = scm_num2int (((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ] )) )  )    ) ) , 1, 
"scheme->point");
  return res;
}

SCM
sgtk_point2scm (GdkPoint p)
{
  return scm_cons (scm_int2num (p.x),
                   scm_int2num (p.y));
}

int
sgtk_valid_rect (SCM obj)
{
  return (! (6 & ((scm_t_bits) (   obj   )) ) )  && (! (6 & ((scm_t_bits) (   
obj   )) )  && ((1 & (  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (  
 (    obj    )   )) )) ) [  (  0 ) ])  )    ) == 0)) 
    && sgtk_valid_point (((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  0 ) ] )) )  )    ) ) )
    && sgtk_valid_point (((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ] )) )  )    ) ) );
}

GdkRectangle
sgtk_scm2rect (SCM obj)
{
  GdkRectangle res;
  res.x = scm_num2int (((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   ((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (    obj    )   )) )) ) [  (  0 ) ] )) )  )    ) )    )   )) 
)) ) [  (  0 ) ] )) )  )    ) )  , 1, "scheme->rectangle");
  res.y = scm_num2int (((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   ((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (    obj    )   )) )) ) [  (  0 ) ] )) )  )    ) )    )   )) 
)) ) [  (  1 ) ] )) )  )    ) )  , 1, "scheme->rectangle");
  res.width = scm_num2int (((  (  (((SCM) ( ((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (   ((  (  (((SCM) ( ((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (    obj    )   )) )) ) [  (  1 ) ] )) )  )   
 ) )    )   )) )) ) [  (  0 ) ] )) )  )    ) )  , 1, "scheme->rectangle");
  res.height = scm_num2int (((  (  (((SCM) ( ((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (   ((  (  (((SCM) ( ((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (    obj    )   )) )) ) [  (  1 ) ] )) )  )   
 ) )    )   )) )) ) [  (  1 ) ] )) )  )    ) )  , 1, "scheme->rectangle");
  return res;
}

SCM
sgtk_rect2scm (GdkRectangle r)
{
  return scm_cons (scm_cons (scm_int2num (r.x),
                             scm_int2num (r.y)),
                   scm_cons (scm_int2num (r.width),
                             scm_int2num (r.height)));
}

GdkAtom
sgtk_scm2atom (SCM symbol)
{
  return gdk_atom_intern (((char *) ((  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   symbol   )   )) )) ) [  (  1 ) ])  )   )) , (0) );
}

SCM
sgtk_atom2scm (GdkAtom atom)
{
  char *name = gdk_atom_name (atom);
  SCM sym;

  if (name == ((void *)0) )
    return ((SCM) ( (( 16 ) << 9) + 0x174L ))   ;
  sym = scm_str2symbol (name);
  g_free (name);
  return sym;
}

  ^^   sym_gnome_file  = scm_permanent_object (scm_str2symbol (  "gnome-file" 
))   ;

 












            




int
sgtk_port2fileno (SCM port)
{
  return ((scm_t_fport *) (((scm_t_port *) (  (((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (     port     )   )) )) ) [  (  1 ) ])  )   
) ->stream) ) ->fdes;
}

SCM
sgtk_fileno2port (int fd)
{
  SCM res;

  res = scm_fdes_to_port (fd, "r+0", sym_gnome_file);
  if (((! (6 & ((scm_t_bits) (    res    )) )  && ((0xffff & (  (((const 
scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (      res      )   )) )) ) [  
(  0 ) ])  )    )  == scm_tc16_fport))  && ((  (((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (   res   )   )) )) ) [  (  0 ) ])  )    & 
(1L<<16) )) )
    scm_setvbuf (res, (((SCM) ( (((scm_t_signed_bits) ( 2  )) << 2) + 2 )) ) , 
(((SCM) ( (((scm_t_signed_bits) ( 0 )) << 2) + 2 )) ) );
  return res;
}

static long tc16_gtktype;




static int
gtktype_print (SCM obj, SCM port, scm_print_state *pstate)
{
  GtkType type = ((GtkType)((  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (    obj    )   )) )) ) [  (  1 ) ])  )   ) ) ;
  scm_puts ("#<GtkType ", port);
  scm_puts (gtk_type_name (type), port);
  scm_puts (">", port);
  return 1;
}

static SCM
gtktype_equalp (SCM obj1, SCM obj2)
{
  return ((GtkType)((  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   
(    obj1    )   )) )) ) [  (  1 ) ])  )   ) )  == ((GtkType)((  (((const 
scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (    obj2    )   )) )) ) [  (  
1 ) ])  )   ) ) ? ((SCM) ( (( 17 ) << 9) + 0x174L ))    : ((SCM) ( (( 16 ) << 
9) + 0x174L ))   ;
}

GtkType
sgtk_type_from_name (char *name)
{
  GtkType type = gtk_type_from_name (name);
  if (type == GTK_TYPE_INVALID)
    {
      sgtk_object_info *info = sgtk_find_object_info (name);
      if (info)
        type = info->header.type;
    }
  return type;
}

int
sgtk_valid_type (SCM obj)
{
  return (((scm_t_bits) (  obj  ))  == ((scm_t_bits) (   ((SCM) ( (( 16 ) << 9) 
+ 0x174L ))     )) )  || ((! (6 & ((scm_t_bits) (       obj     )) )  && 
(0xffff & (  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (         
obj       )   )) )) ) [  (  0 ) ])  )    )  == (  tc16_gtktype  ))  ) 
    || ((! (6 & ((scm_t_bits) (   obj   )) ) )  && (! (6 & ((scm_t_bits) (   
obj   )) )  && ((0x7f &        (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (     obj     )   )) )) ) [  (  0 ) ])  )    )  == 5 )) 
        && sgtk_type_from_name (((char *) ((  (((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ])  )   )) ));
}

GtkType
sgtk_scm2type (SCM obj)
{
  if (obj == ((SCM) ( (( 16 ) << 9) + 0x174L ))   )
    return GTK_TYPE_INVALID;
  else if (((! (6 & ((scm_t_bits) (       obj     )) )  && (0xffff & (  
(((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (         obj       )  
 )) )) ) [  (  0 ) ])  )    )  == (  tc16_gtktype  ))  ) )
    return ((GtkType)((  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) ( 
  (    obj    )   )) )) ) [  (  1 ) ])  )   ) ) ;
  else
    return sgtk_type_from_name (((char *) ((  (((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ])  )   )) );
}

SCM
sgtk_type2scm (GtkType t)
{
  SCM z;

  if (t == GTK_TYPE_INVALID)
    return ((SCM) ( (( 16 ) << 9) + 0x174L ))   ;

  return sgtk_make_cell (tc16_gtktype, (scm_t_bits) t);
}

 




static long tc16_illobj;




static int
illobj_print (SCM obj, SCM port, scm_print_state *pstate)
{
  GtkType type = ((GtkType)((  (  (((SCM) ( ((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (    obj    )   )) )) ) [  (  1 ) ] )) )  )   
 ) ) ) ;
  scm_puts ("#<object of illegal type ", port);
  scm_puts (gtk_type_name (type), port);
  scm_puts (">", port);
  return 1;
}
 









static SCM
sgtk_make_illegal_type_object (GtkType type)
{
  return sgtk_make_cell (tc16_illobj, (scm_t_bits) type);
}

 

int
sgtk_valid_composite (SCM obj, int (*predicate)(SCM))
{
  return sgtk_valid_complen (obj, predicate, -1);
}

int
sgtk_valid_complen (SCM obj, int (*predicate)(SCM), int len)
{
  int actual_len;

  if ((actual_len = scm_ilength (obj)) >= 0)
    {
      if (len >= 0 && len != actual_len)
        return 0;

      if (predicate)
        {
          while ((! (6 & ((scm_t_bits) (   obj   )) ) )  && (! (6 & 
((scm_t_bits) (   obj   )) )  && ((1 & (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (    obj    )   )) )) ) [  (  0 ) ])  )    ) == 0)) )
            {
              if (!predicate (((  (  (((SCM) ( ((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) [  (  0 ) ] )) )  )    
) ) ))
                return 0;
              obj = ((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ] )) )  )    ) ) ;
            }
        }
      return 1;
    }
  else if ((! (6 & ((scm_t_bits) (   obj   )) ) )  && (! (6 & ((scm_t_bits) (   
obj   )) )  && (((0x7f & ~2) & (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (     obj     )   )) )) ) [  (  0 ) ])  )    )  == 13 )) )
    {
      int i;
      SCM *elts;

      actual_len = (((unsigned long) (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  0 ) ])  )   ) >> 8) ;
      if (len >= 0 && len != actual_len)
        return 0;

      if (predicate)
        {
          for (i = 0; i < actual_len; i++)
            if (!predicate((((SCM *) (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (    obj    )   )) )) ) [  (  1 ) ])  )   ) [ i ]) ))
              return 0;
        }
      return 1;
    }
  else
    return 0;
}

SCM
sgtk_composite_inconversion (SCM obj, SCM (*conversion)(SCM))
{
  if (conversion == ((void *)0) )
    return obj;

  if (obj == ((SCM) ( (( 20 ) << 9) + 0x174L ))    || ((! (6 & ((scm_t_bits) (  
 obj   )) ) )  && (! (6 & ((scm_t_bits) (   obj   )) )  && ((1 & (  (((const 
scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (    obj    )   )) )) ) [  (  0 
) ])  )    ) == 0)) ))
    {
      int pos = 0;
      SCM list = obj;
      SCM newlist = list;
      while ((! (6 & ((scm_t_bits) (   obj   )) ) )  && (! (6 & ((scm_t_bits) ( 
  obj   )) )  && ((1 & (  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) 
(   (    obj    )   )) )) ) [  (  0 ) ])  )    ) == 0)) )
        {
          SCM newelt = conversion (((  (  (((SCM) ( ((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) [  (  0 ) ] )) )  )    
) ) );
          if (newelt != ((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  0 ) ] )) )  )    ) ) )
            {
              if (newlist == list)
                {
                  newlist = scm_list_copy (list);
                  obj = newlist;
                  while (pos > 0)
                    obj = ((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ] )) )  )    ) ) ;
                }
              ((  (  (((scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (  ( 
obj )  )   )) )) ) [  (  0 ) ] = ((scm_t_bits) (   (    (  newelt )  )  )) )  ) 
   ) ) ;
            }
          obj = ((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ] )) )  )    ) ) ;
          pos++;
        }
      return newlist;
    }
  else if ((! (6 & ((scm_t_bits) (   obj   )) ) )  && (! (6 & ((scm_t_bits) (   
obj   )) )  && (((0x7f & ~2) & (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (     obj     )   )) )) ) [  (  0 ) ])  )    )  == 13 )) )
    {
      SCM vec = obj;
      SCM newvec = vec;
      int len = (((unsigned long) (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   newvec   )   )) )) ) [  (  0 ) ])  )   ) >> 8) , i;
      for (i = 0; i < len; i++)
        {
          SCM newelt = conversion (((SCM *) (  (((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (   newvec   )   )) )) ) [  (  1 ) ])  )   ) 
[i]);
          if (newelt != ((SCM *) (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   newvec   )   )) )) ) [  (  1 ) ])  )   ) [i])
            {
              if (newvec == vec)
                {
                  int j;
                  newvec = scm_make_vector ((((SCM) ( (((scm_t_signed_bits) ( 
len )) << 2) + 2 )) ) , ((SCM) ( (( 18 ) << 9) + 0x174L ))   );
                  for (j = 0; j < len; j++)
                    (((SCM *) (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (    newvec    )   )) )) ) [  (  1 ) ])  )   ) [  j ]=(  
(((SCM *) (  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (    vec  
  )   )) )) ) [  (  1 ) ])  )   ) [  j ])  )) ;
                }
              (((SCM *) (  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) 
(   (    newvec    )   )) )) ) [  (  1 ) ])  )   ) [  i ]=(  newelt )) ;
            }
        }
      return newvec;
    }
  else
    return obj;
}

SCM
sgtk_composite_outconversion (SCM obj, SCM (*conversion)(SCM))
{
  if (conversion == ((void *)0) )
    return obj;

  if (obj == ((SCM) ( (( 20 ) << 9) + 0x174L ))    || ((! (6 & ((scm_t_bits) (  
 obj   )) ) )  && (! (6 & ((scm_t_bits) (   obj   )) )  && ((1 & (  (((const 
scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (    obj    )   )) )) ) [  (  0 
) ])  )    ) == 0)) ))
    {
      SCM list = obj;
      while ((! (6 & ((scm_t_bits) (   obj   )) ) )  && (! (6 & ((scm_t_bits) ( 
  obj   )) )  && ((1 & (  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) 
(   (    obj    )   )) )) ) [  (  0 ) ])  )    ) == 0)) )
        {
          ((  (  (((scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (  ( obj )  
)   )) )) ) [  (  0 ) ] = ((scm_t_bits) (   (    (  conversion (((  (  (((SCM) 
( ((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) 
[  (  0 ) ] )) )  )    ) ) ) )  )  )) )  )    ) ) ;
          obj = ((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ] )) )  )    ) ) ;
        }
      return list;
    }
  else if ((! (6 & ((scm_t_bits) (   obj   )) ) )  && (! (6 & ((scm_t_bits) (   
obj   )) )  && (((0x7f & ~2) & (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (     obj     )   )) )) ) [  (  0 ) ])  )    )  == 13 )) )
    {
      int len = (((unsigned long) (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  0 ) ])  )   ) >> 8) , i;
      for (i = 0; i < len; i++)
        (((SCM *) (  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   ( 
   obj    )   )) )) ) [  (  1 ) ])  )   ) [ i ]=(  conversion ((((SCM *) (  
(((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (    obj    )   )) )) 
) [  (  1 ) ])  )   ) [  i ]) ) )) ;
      return obj;
    }
  else
    return obj;
}
  
SCM
sgtk_slist2scm (GSList *list, SCM (*toscm)(void*))
{
  SCM res, *tail = &res;
  while (list)
    {
      *tail = scm_cons (toscm (&list->data), *tail);
      tail = ((SCM *) ((scm_t_bits *) & (  (((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (  ( *tail )  )   )) )) ) [  (    1  ) ])  )  
) ) ;
      list = list->next;
    }
  *tail = ((SCM) ( (( 20 ) << 9) + 0x174L ))   ;
  return res;
}

GSList*
sgtk_scm2slist (SCM obj, void (*fromscm)(SCM, void*))
{
  GSList *res, **tail = &res;

  if (obj == ((SCM) ( (( 16 ) << 9) + 0x174L ))   )
    return ((void *)0) ;
  else if (obj == ((SCM) ( (( 20 ) << 9) + 0x174L ))    || ((! (6 & 
((scm_t_bits) (   obj   )) ) )  && (! (6 & ((scm_t_bits) (   obj   )) )  && ((1 
& (  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (    obj    )   
)) )) ) [  (  0 ) ])  )    ) == 0)) ))
    {
      while ((! (6 & ((scm_t_bits) (   obj   )) ) )  && (! (6 & ((scm_t_bits) ( 
  obj   )) )  && ((1 & (  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) 
(   (    obj    )   )) )) ) [  (  0 ) ])  )    ) == 0)) )
        {
          *tail = g_slist_alloc ();
          if (fromscm)
            fromscm (((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  0 ) ] )) )  )    ) ) , 
&(*tail)->data);
          else
            (*tail)->data = ((void *)0) ;
          obj = ((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ] )) )  )    ) ) ;
          tail = &(*tail)->next;
        }
    }
  else if ((! (6 & ((scm_t_bits) (   obj   )) ) )  && (! (6 & ((scm_t_bits) (   
obj   )) )  && (((0x7f & ~2) & (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (     obj     )   )) )) ) [  (  0 ) ])  )    )  == 13 )) )
    {
      int len = (((unsigned long) (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  0 ) ])  )   ) >> 8) , i;
      for (i = 0; i < len; i++)
        {
          *tail = g_slist_alloc ();
          if (fromscm)
            fromscm ((((SCM *) (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (    obj    )   )) )) ) [  (  1 ) ])  )   ) [  i ]) , 
&(*tail)->data);
          else
            (*tail)->data = ((void *)0) ;
          tail = &(*tail)->next;
        }
    }
  *tail = ((void *)0) ;
  return res;
}

void
sgtk_slist_finish (GSList *list, SCM obj, SCM (*toscm)(void*))
{
  if (list == ((void *)0) )
    return;

  if (toscm)
    {
      if (obj == ((SCM) ( (( 20 ) << 9) + 0x174L ))    || ((! (6 & 
((scm_t_bits) (   obj   )) ) )  && (! (6 & ((scm_t_bits) (   obj   )) )  && ((1 
& (  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (    obj    )   
)) )) ) [  (  0 ) ])  )    ) == 0)) ))
        {
          while ((! (6 & ((scm_t_bits) (   obj   )) ) )  && (! (6 & 
((scm_t_bits) (   obj   )) )  && ((1 & (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (    obj    )   )) )) ) [  (  0 ) ])  )    ) == 0))  && list)
            {
              ((  (  (((scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (  ( 
obj )  )   )) )) ) [  (  0 ) ] = ((scm_t_bits) (   (    (  toscm (list->data) ) 
 )  )) )  )    ) ) ;
              obj = ((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ] )) )  )    ) ) ;
              list = list->next;
            }
        }
      else if ((! (6 & ((scm_t_bits) (   obj   )) ) )  && (! (6 & ((scm_t_bits) 
(   obj   )) )  && (((0x7f & ~2) & (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (     obj     )   )) )) ) [  (  0 ) ])  )    )  == 13 )) )
        {
          int len = (((unsigned long) (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  0 ) ])  )   ) >> 8) , i;
          for (i = 0; i < len && list; i++)
            {
              (((SCM *) (  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) 
(   (    obj    )   )) )) ) [  (  1 ) ])  )   ) [  i ]=(  toscm (list->data) )) 
;
              list = list->next;
            }
        }
    }

  g_slist_free (list);
}

SCM
sgtk_list2scm (GList *list, SCM (*toscm)(void*))
{
  SCM res, *tail = &res;
  while (list)
    {
      *tail = scm_cons (toscm (&list->data), *tail);
      tail = ((SCM *) ((scm_t_bits *) & (  (((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (  ( *tail )  )   )) )) ) [  (    1  ) ])  )  
) ) ;
      list = list->next;
    }
  *tail = ((SCM) ( (( 20 ) << 9) + 0x174L ))   ;
  return res;
}

GList*
sgtk_scm2list (SCM obj, void (*fromscm)(SCM, void*))
{
  GList *res = ((void *)0) , *tail;

  if (obj == ((SCM) ( (( 16 ) << 9) + 0x174L ))   )
    return ((void *)0) ;
  else if (obj == ((SCM) ( (( 20 ) << 9) + 0x174L ))    || ((! (6 & 
((scm_t_bits) (   obj   )) ) )  && (! (6 & ((scm_t_bits) (   obj   )) )  && ((1 
& (  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (    obj    )   
)) )) ) [  (  0 ) ])  )    ) == 0)) ))
    {
      while ((! (6 & ((scm_t_bits) (   obj   )) ) )  && (! (6 & ((scm_t_bits) ( 
  obj   )) )  && ((1 & (  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) 
(   (    obj    )   )) )) ) [  (  0 ) ])  )    ) == 0)) )
      {
        GList *n = g_list_alloc ();
        if (res == ((void *)0) )
          res = tail = n;
        else 
          {
            g_list_concat (tail, n);
            tail = n;
          }
        if (fromscm)
          fromscm (((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  0 ) ] )) )  )    ) ) , 
&(n->data));
        else
          n->data = ((void *)0) ;
        obj = ((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ] )) )  )    ) ) ;
      }
    }
  else if ((! (6 & ((scm_t_bits) (   obj   )) ) )  && (! (6 & ((scm_t_bits) (   
obj   )) )  && (((0x7f & ~2) & (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (     obj     )   )) )) ) [  (  0 ) ])  )    )  == 13 )) )
    {
      int len = (((unsigned long) (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  0 ) ])  )   ) >> 8) , i;
      for (i = 0; i < len; i++)
        {
          GList *n = g_list_alloc ();
          if (res == ((void *)0) )
            res = tail = n;
          else 
            {
              g_list_concat (tail, n);
              tail = n;
            }
          if (fromscm)
            fromscm ((((SCM *) (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (    obj    )   )) )) ) [  (  1 ) ])  )   ) [  i ]) , 
&(n->data));
          else
            n->data = ((void *)0) ;
        }
    }

  return res;
}

void
sgtk_list_finish (GList *list, SCM obj, SCM (*toscm)(void*))
{
  if (list == ((void *)0) )
    return;

  if (toscm)
    {
      if (obj == ((SCM) ( (( 20 ) << 9) + 0x174L ))    || ((! (6 & 
((scm_t_bits) (   obj   )) ) )  && (! (6 & ((scm_t_bits) (   obj   )) )  && ((1 
& (  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (    obj    )   
)) )) ) [  (  0 ) ])  )    ) == 0)) ))
        {
          while ((! (6 & ((scm_t_bits) (   obj   )) ) )  && (! (6 & 
((scm_t_bits) (   obj   )) )  && ((1 & (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (    obj    )   )) )) ) [  (  0 ) ])  )    ) == 0))  && list)
            {
              ((  (  (((scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (  ( 
obj )  )   )) )) ) [  (  0 ) ] = ((scm_t_bits) (   (    (  toscm (list->data) ) 
 )  )) )  )    ) ) ;
              obj = ((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ] )) )  )    ) ) ;
              list = list->next;
            }
        }
      else if ((! (6 & ((scm_t_bits) (   obj   )) ) )  && (! (6 & ((scm_t_bits) 
(   obj   )) )  && (((0x7f & ~2) & (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (     obj     )   )) )) ) [  (  0 ) ])  )    )  == 13 )) )
        {
          int len = (((unsigned long) (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  0 ) ])  )   ) >> 8) , i;
          for (i = 0; i < len && list; i++)
            {
              (((SCM *) (  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) 
(   (    obj    )   )) )) ) [  (  1 ) ])  )   ) [  i ]=(  toscm (list->data) )) 
;
              list = list->next;
            }
        }
    }
  
  g_list_free (list);
}

sgtk_cvec
sgtk_scm2cvec (SCM obj, void (*fromscm)(SCM, void*), size_t sz)
{
  sgtk_cvec res;
  int i;
  char *ptr;

  if (obj == ((SCM) ( (( 16 ) << 9) + 0x174L ))   )
    {
      res.vec = ((void *)0) ;
      res.count = 0;
    }
  else if ((res.count = scm_ilength (obj)) >= 0)
    {
      res.vec = xmalloc (res.count * sz);
      if (fromscm)
        {
          for (i = 0, ptr = res.vec; i < res.count; i++, ptr += sz)
            {
              fromscm (((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  0 ) ] )) )  )    ) ) , ptr);
              obj = ((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ] )) )  )    ) ) ;
            }
        }
      else
        (__extension__ (__builtin_constant_p (  res.count * sz ) && (  
res.count * sz ) <= 16   ? ((  res.count * sz ) == 1     ? ({ void *__s = (  
res.vec  ); *((__uint8_t *) __s) = (__uint8_t)     0  ; __s; })     : ({ void 
*__s = (  res.vec  ); union { unsigned int __ui;      unsigned short int __usi; 
      unsigned char __uc;     } *__u = __s;   __uint8_t __c = (__uint8_t) (    
0  );  switch ((unsigned int) (    res.count * sz  ))  {       case 15:        
__u->__ui = __c * 0x01010101;   __u = __extension__ ((void *) __u + 4); case 
11:        __u->__ui = __c * 0x01010101;   __u = __extension__ ((void *) __u + 
4); case 7: __u->__ui = __c * 0x01010101;   __u = __extension__ ((void *) __u + 
4); case 3: __u->__usi = (unsigned short int) __c * 0x0101; __u = __extension__ 
((void *) __u + 2); __u->__uc = (unsigned char) __c;        break;  case 14:    
    __u->__ui = __c * 0x01010101;   __u = __extension__ ((void *) __u + 4); 
case 10:        __u->__ui = __c * 0x01010101;   __u = __extension__ ((void *) 
__u + 4); case 6: __u->__ui = __c * 0x01010101;   __u = __extension__ ((void *) 
__u + 4); case 2: __u->__usi = (unsigned short int) __c * 0x0101; break;  case 
13:        __u->__ui = __c * 0x01010101;   __u = __extension__ ((void *) __u + 
4); case 9: __u->__ui = __c * 0x01010101;   __u = __extension__ ((void *) __u + 
4); case 5: __u->__ui = __c * 0x01010101;   __u = __extension__ ((void *) __u + 
4); case 1: __u->__uc = (unsigned char) __c;        break;  case 16:        
__u->__ui = __c * 0x01010101;   __u = __extension__ ((void *) __u + 4); case 
12:        __u->__ui = __c * 0x01010101;   __u = __extension__ ((void *) __u + 
4); case 8: __u->__ui = __c * 0x01010101;   __u = __extension__ ((void *) __u + 
4); case 4: __u->__ui = __c * 0x01010101;   case 0: break;  }       __s; }) )   
    : (__builtin_constant_p (  0 ) && (  0 ) == '\0'        ? ({ void *__s = ( 
res.vec ); __builtin_memset ( __s , '\0',     res.count * sz  ) ; __s; })    : 
memset ( res.vec ,   0 ,   res.count * sz )))) ;
    }
  else if ((! (6 & ((scm_t_bits) (   obj   )) ) )  && (! (6 & ((scm_t_bits) (   
obj   )) )  && (((0x7f & ~2) & (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (     obj     )   )) )) ) [  (  0 ) ])  )    )  == 13 )) )
    {
      res.count = (((unsigned long) (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  0 ) ])  )   ) >> 8) ;
      res.vec = (void *)xmalloc (res.count * sz);
      if (fromscm)
        {
          for (i = 0, ptr = res.vec; i < res.count; i++, ptr += sz)
            fromscm ((((SCM *) (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (    obj    )   )) )) ) [  (  1 ) ])  )   ) [  i ]) , ptr);
        }
      else
        (__extension__ (__builtin_constant_p (  res.count * sz ) && (  
res.count * sz ) <= 16   ? ((  res.count * sz ) == 1     ? ({ void *__s = (  
res.vec  ); *((__uint8_t *) __s) = (__uint8_t)     0  ; __s; })     : ({ void 
*__s = (  res.vec  ); union { unsigned int __ui;      unsigned short int __usi; 
      unsigned char __uc;     } *__u = __s;   __uint8_t __c = (__uint8_t) (    
0  );  switch ((unsigned int) (    res.count * sz  ))  {       case 15:        
__u->__ui = __c * 0x01010101;   __u = __extension__ ((void *) __u + 4); case 
11:        __u->__ui = __c * 0x01010101;   __u = __extension__ ((void *) __u + 
4); case 7: __u->__ui = __c * 0x01010101;   __u = __extension__ ((void *) __u + 
4); case 3: __u->__usi = (unsigned short int) __c * 0x0101; __u = __extension__ 
((void *) __u + 2); __u->__uc = (unsigned char) __c;        break;  case 14:    
    __u->__ui = __c * 0x01010101;   __u = __extension__ ((void *) __u + 4); 
case 10:        __u->__ui = __c * 0x01010101;   __u = __extension__ ((void *) 
__u + 4); case 6: __u->__ui = __c * 0x01010101;   __u = __extension__ ((void *) 
__u + 4); case 2: __u->__usi = (unsigned short int) __c * 0x0101; break;  case 
13:        __u->__ui = __c * 0x01010101;   __u = __extension__ ((void *) __u + 
4); case 9: __u->__ui = __c * 0x01010101;   __u = __extension__ ((void *) __u + 
4); case 5: __u->__ui = __c * 0x01010101;   __u = __extension__ ((void *) __u + 
4); case 1: __u->__uc = (unsigned char) __c;        break;  case 16:        
__u->__ui = __c * 0x01010101;   __u = __extension__ ((void *) __u + 4); case 
12:        __u->__ui = __c * 0x01010101;   __u = __extension__ ((void *) __u + 
4); case 8: __u->__ui = __c * 0x01010101;   __u = __extension__ ((void *) __u + 
4); case 4: __u->__ui = __c * 0x01010101;   case 0: break;  }       __s; }) )   
    : (__builtin_constant_p (  0 ) && (  0 ) == '\0'        ? ({ void *__s = ( 
res.vec ); __builtin_memset ( __s , '\0',     res.count * sz  ) ; __s; })    : 
memset ( res.vec ,   0 ,   res.count * sz )))) ;
    }

  return res;
}

void
sgtk_cvec_finish (sgtk_cvec *cvec, SCM obj, SCM (*toscm)(void *), size_t sz)
{
  if (cvec->vec == ((void *)0) )
    return;

  if (toscm)
    {
      if (obj == ((SCM) ( (( 20 ) << 9) + 0x174L ))    || ((! (6 & 
((scm_t_bits) (   obj   )) ) )  && (! (6 & ((scm_t_bits) (   obj   )) )  && ((1 
& (  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (    obj    )   
)) )) ) [  (  0 ) ])  )    ) == 0)) ))
        {
          int i, len = cvec->count;
          char *ptr;

          for (i = 0, ptr = cvec->vec;
               i < len && (! (6 & ((scm_t_bits) (   obj   )) ) )  && (! (6 & 
((scm_t_bits) (   obj   )) )  && ((1 & (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (    obj    )   )) )) ) [  (  0 ) ])  )    ) == 0)) ;
               i++, ptr += sz, obj = ((  (  (((SCM) ( ((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ] )) )  )    
) ) )
            {
              ((  (  (((scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (  ( 
obj )  )   )) )) ) [  (  0 ) ] = ((scm_t_bits) (   (    (  toscm (ptr) )  )  )) 
)  )    ) ) ;
            }
        }
      else if ((! (6 & ((scm_t_bits) (   obj   )) ) )  && (! (6 & ((scm_t_bits) 
(   obj   )) )  && (((0x7f & ~2) & (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (     obj     )   )) )) ) [  (  0 ) ])  )    )  == 13 )) )
        {
          int len1 = (((unsigned long) (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   obj   )   )) )) ) [  (  0 ) ])  )   ) >> 8) , len2 = 
cvec->count, i;
          char *ptr;

          for (i = 0, ptr = cvec->vec; i < len1 && i < len2; i++, ptr += sz)
            (((SCM *) (  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) ( 
  (    obj    )   )) )) ) [  (  1 ) ])  )   ) [  i ]=(  toscm (ptr) )) ;
        }
    }

  free (cvec->vec);
}

SCM
sgtk_cvec2scm (sgtk_cvec *cvec, SCM (*toscm)(void *), size_t sz)
{
    int len, i;
    SCM obj = scm_c_make_vector (len = cvec->count, ((SCM) ( (( 21 ) << 9) + 
0x174L ))   );
    char *ptr;

    for (i = 0, ptr = cvec->vec; i < len; i++, ptr += sz)
      (((SCM *) (  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (   
 obj    )   )) )) ) [  (  1 ) ])  )   ) [  i ]=(  toscm (ptr) )) ;

    g_free (cvec->vec);
    return obj;
}

 

SCM
sgtk_arg2scm (GtkArg *a, int free_mem)
{
  switch (((GtkFundamentalType) (( a->type ) & 0xFF)) )
    {
    case GTK_TYPE_NONE:
      return ((SCM) ( (( 21 ) << 9) + 0x174L ))   ;
    case GTK_TYPE_CHAR:
      return gh_char2scm ((( *a ).d.char_data) );
    case GTK_TYPE_BOOL:
      return (( *a ).d.bool_data) ? ((SCM) ( (( 17 ) << 9) + 0x174L ))    : 
((SCM) ( (( 16 ) << 9) + 0x174L ))   ;
    case GTK_TYPE_INT:
      return scm_long2num ((( *a ).d.int_data) );
    case GTK_TYPE_UINT:
      return scm_ulong2num ((( *a ).d.uint_data) );
    case GTK_TYPE_LONG:
      return scm_long2num ((( *a ).d.long_data) );
    case GTK_TYPE_ULONG:
      return scm_ulong2num ((( *a ).d.ulong_data) );
    case GTK_TYPE_FLOAT:
      return sgtk_float2scm ((( *a ).d.float_data) );
    case GTK_TYPE_DOUBLE:
      return sgtk_double2scm ((( *a ).d.double_data) );
    case GTK_TYPE_STRING:
      {
        SCM ret = scm_makfrom0str ((( *a ).d.string_data) );
        if (free_mem)
          g_free (( *a ).d.string_data) ;
        return ret;
      }
    case GTK_TYPE_ENUM:
      return sgtk_enum2scm ((( *a ).d.uint_data) ,
                             (sgtk_enum_info *)sgtk_find_type_info (a->type));
    case GTK_TYPE_FLAGS:
      return sgtk_flags2scm ((( *a ).d.uint_data) ,
                             (sgtk_enum_info *)sgtk_find_type_info (a->type));
    case GTK_TYPE_BOXED:
      return sgtk_boxed2scm ((( *a ).d.pointer_data) ,
                             (sgtk_boxed_info *)sgtk_find_type_info (a->type),
                             (! (0) ) );

    case GTK_TYPE_OBJECT:
      return sgtk_wrap_gtkobj ((( *a ).d.object_data) );

    default:
      return sgtk_make_illegal_type_object (a->type);
    }
}

int
sgtk_valid_arg (GtkArg *a, SCM obj)
{
  switch (((GtkFundamentalType) (( a->type ) & 0xFF)) )
    {
    case GTK_TYPE_NONE:
      return (! (0) ) ;
    case GTK_TYPE_CHAR:
      return gh_char_p (obj);
    case GTK_TYPE_BOOL:
      return (! (0) ) ;
    case GTK_TYPE_INT:
    case GTK_TYPE_UINT:
    case GTK_TYPE_LONG:
    case GTK_TYPE_ULONG:
    case GTK_TYPE_FLOAT:
    case GTK_TYPE_DOUBLE:
      return gh_number_p (obj);
    case GTK_TYPE_STRING:
      return gh_string_p (obj);
    case GTK_TYPE_ENUM:
      return sgtk_valid_enum (obj, ((sgtk_enum_info *)
                                    sgtk_find_type_info (a->type)));
    case GTK_TYPE_FLAGS:
      return sgtk_valid_flags (obj, ((sgtk_enum_info *)
                                     sgtk_find_type_info (a->type)));
    case GTK_TYPE_BOXED:
      return sgtk_valid_boxed (obj, ((sgtk_boxed_info *)
                                     sgtk_find_type_info (a->type)));
      break;

    case GTK_TYPE_CALLBACK:
      return gh_procedure_p (obj);
    case GTK_TYPE_OBJECT:
      return sgtk_is_a_gtkobj (a->type, obj);

    default:
      fprintf (stderr , "unhandled arg type %s\n", gtk_type_name (a->type));
      return (0) ;
    }
}

void
sgtk_scm2arg (GtkArg *a, SCM obj, SCM protector)
{
  switch (((GtkFundamentalType) (( a->type ) & 0xFF)) )
    {
    case GTK_TYPE_NONE:
      return;
    case GTK_TYPE_CHAR:
      (( *a ).d.char_data)  = gh_scm2char (obj);
      break;
    case GTK_TYPE_BOOL:
      (( *a ).d.bool_data)  = (! ((((scm_t_bits) (  (  obj  )  ))  == 
((scm_t_bits) (   ((SCM) ( (( 16 ) << 9) + 0x174L ))     )) ) ) ) ;
      break;
    case GTK_TYPE_INT:
      (( *a ).d.int_data)  = scm_num2long (obj, (long)1 , "scm->gtk");
      break;
    case GTK_TYPE_UINT:
      (( *a ).d.uint_data)  = scm_num2ulong (obj, (ulong)1 , "scm->gtk");
      break;
    case GTK_TYPE_LONG:
      (( *a ).d.long_data)  = scm_num2long (obj, (long)1 , "scm->gtk");
      break;
    case GTK_TYPE_ULONG:
      (( *a ).d.ulong_data)  = scm_num2ulong (obj, (ulong)1 , "scm->gtk");
      break;
    case GTK_TYPE_FLOAT:
      (( *a ).d.float_data)  = sgtk_scm2float (obj);
      break;
    case GTK_TYPE_DOUBLE:
      (( *a ).d.double_data)  = sgtk_scm2double (obj);
      break;
    case GTK_TYPE_STRING:
      (( *a ).d.string_data)  = ((char *) ((  (((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ])  )   )) ;
      break;
    case GTK_TYPE_ENUM:
      (( *a ).d.int_data)  =
        sgtk_scm2enum (obj, (sgtk_enum_info *)sgtk_find_type_info (a->type),
                       1 , "scm->gtk");
      break;
    case GTK_TYPE_FLAGS:
      (( *a ).d.int_data)  =
        sgtk_scm2flags (obj, (sgtk_enum_info *)sgtk_find_type_info (a->type),
                        1 , "scm->gtk");
      break;
    case GTK_TYPE_BOXED:
      (( *a ).d.pointer_data)  = sgtk_scm2boxed (obj);
      break;

    case GTK_TYPE_CALLBACK:
      sgtk_protect (protector, obj);
      (( *a ).d.callback_data) .marshal = sgtk_callback_marshal;
      (( *a ).d.callback_data) .data = (gpointer)obj;
      (( *a ).d.callback_data) .notify = sgtk_callback_destroy;
      break;
    case GTK_TYPE_OBJECT:
      (( *a ).d.object_data)  = sgtk_get_gtkobj (obj);

      break;
    default:
      fprintf (stderr , "unhandled arg type %s\n", gtk_type_name (a->type));
      break;
    }
}

void
sgtk_scm2ret (GtkArg *a, SCM obj)
{
  switch (((GtkFundamentalType) (( a->type ) & 0xFF)) )
    {
    case GTK_TYPE_NONE:
      return;
    case GTK_TYPE_CHAR:
      * ((gchar*)       ( *a ).d.pointer_data)  = gh_scm2char (obj);
      break;
    case GTK_TYPE_BOOL:
      * ((gboolean*)    ( *a ).d.pointer_data)  = (! ((((scm_t_bits) (  (  obj  
)  ))  == ((scm_t_bits) (   ((SCM) ( (( 16 ) << 9) + 0x174L ))     )) ) ) ) ;
      break;
    case GTK_TYPE_INT:
      * ((gint*)        ( *a ).d.pointer_data)  = scm_num2long (obj, (long) 1 , 
"scm->gtk");
      break;
    case GTK_TYPE_UINT:
      * ((guint*)       ( *a ).d.pointer_data)  = scm_num2ulong (obj, (long) 1 
, "scm->gtk");
      break;
    case GTK_TYPE_LONG:
      * ((glong*)       ( *a ).d.pointer_data)  = scm_num2long (obj, (long) 1 , 
"scm->gtk");
      break;
    case GTK_TYPE_ULONG:
      * ((gulong*)      ( *a ).d.pointer_data)  = scm_num2ulong (obj, (long) 1 
, "scm->gtk");
      break;
    case GTK_TYPE_FLOAT:
      * ((gfloat*)      ( *a ).d.pointer_data)  = sgtk_scm2float (obj);
      break;
    case GTK_TYPE_DOUBLE:
      * ((gdouble*)     ( *a ).d.pointer_data)  = sgtk_scm2double (obj);
      break;
    case GTK_TYPE_STRING:
      if (!( (! (6 & ((scm_t_bits) (   obj   )) ) )  && (! (6 & ((scm_t_bits) ( 
  obj   )) )  && ((0x7f &        (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (     obj     )   )) )) ) [  (  0 ) ])  )    )  == 21 ))  )) 
scm_wrong_type_arg ( 
                  "scm->gtk" ,   1  ,   obj ) ;
      (( *a ).d.string_data)  = g_strdup (((char *) ((  (((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (   obj   )   )) )) ) [  (  1 ) ])  )   )) );
      break;
    case GTK_TYPE_ENUM:
      * ((gint*)        ( *a ).d.pointer_data)  =
        sgtk_scm2enum (obj, (sgtk_enum_info *)sgtk_find_type_info (a->type),
                       1 , "scm->gtk");
      break;
    case GTK_TYPE_FLAGS:
      * ((gint*)        ( *a ).d.pointer_data)  =
        sgtk_scm2flags (obj, (sgtk_enum_info *)sgtk_find_type_info (a->type),
                       1 , "scm->gtk");
      break;
    case GTK_TYPE_BOXED:
      * ((gpointer*)    ( *a ).d.pointer_data)  = sgtk_scm2boxed (obj);
      break;

    case GTK_TYPE_OBJECT:
      if (!( sgtk_is_a_gtkobj (a->type, obj) )) scm_wrong_type_arg (  
"scm->gtk" ,   1  ,   obj ) ;
      * ((GtkObject**)  ( *a ).d.pointer_data)  = sgtk_get_gtkobj (obj);
      break;

    default:
      fprintf (stderr , "unhandled return type %s\n", gtk_type_name (a->type));
      break;
    }
}

 


















static SCM callback_trampoline;

 


SCM
sgtk_callback_trampoline (SCM new)
{
  SCM old = ((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   callback_trampoline   )   )) )) ) [  (  0 ) ] )) )  )    
) ) ;
  if (new != ((SCM) ( (( 18 ) << 9) + 0x174L ))   )
    ((  (  (((scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (  ( 
callback_trampoline )  )   )) )) ) [  (  0 ) ] = ((scm_t_bits) (   (    (  new 
)  )  )) )  )    ) ) ;
  return old;
}

struct callback_info {
  SCM proc;
  gint n_args;
  GtkArg *args;
};

static SCM
inner_callback_marshal (void *data)
{
  struct callback_info *info = (struct callback_info *)data;
  int i;
  SCM args = ((SCM) ( (( 20 ) << 9) + 0x174L ))   , ans;

  for (i = info->n_args-1; i >= 0; i--)
    args = scm_cons (sgtk_arg2scm (info->args+i, 0), args);
  if (((((scm_t_bits) (  ( ((  (  (((SCM) ( ((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (   callback_trampoline   )   )) )) ) [  (  0 
) ] )) )  )    ) )  )  ))  == ((scm_t_bits) (   ((SCM) ( (( 16 ) << 9) + 0x174L 
))     )) ) ) )
    ans = scm_apply (info->proc, args, ((SCM) ( (( 20 ) << 9) + 0x174L ))   );
  else
    ans = scm_apply (((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   callback_trampoline   )   )) )) ) [  (  0 ) ] )) )  )    
) ) ,
                     scm_cons2 (info->proc, args, ((SCM) ( (( 20 ) << 9) + 
0x174L ))   ), ((SCM) ( (( 20 ) << 9) + 0x174L ))   );
  if (info->args[info->n_args].type != GTK_TYPE_NONE)
    sgtk_scm2ret (info->args+info->n_args, ans);

  return ((SCM) ( (( 21 ) << 9) + 0x174L ))   ;
}

 



void
sgtk_callback_marshal (GtkObject *obj,
                       gpointer data,
                       guint n_args,
                       GtkArg *args)
{
  SCM_STACKITEM stack_item;
  struct callback_info info;

  if ((scm_gc_heap_lock) )
    {
       

      fprintf (stderr , "callback ignored during GC!\n");
      return;
    }
  
  info.proc = ((sgtk_protshell *)data)->object;
  info.n_args = n_args;
  info.args = args;

  scm_internal_cwdr ((scm_t_catch_body)inner_callback_marshal, &info,
                     scm_handle_by_message_noexit, "gtk",
                     &stack_item);
}

void
sgtk_callback_destroy (gpointer data)
{
  sgtk_unprotect ((sgtk_protshell *)data);
}



 

extern sgtk_boxed_info sgtk_gdk_color_info;

SCM
sgtk_color_conversion (SCM color)
{
  SCM orig_color = color;

  if ((! (6 & ((scm_t_bits) (   color   )) ) )  && (! (6 & ((scm_t_bits) (   
color   )) )  && ((0x7f &        (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (     color     )   )) )) ) [  (  0 ) ])  )    )  == 21 )) )
    {
      GdkColor colstruct;
      GdkColormap *colmap;

      if (!gdk_color_parse (((char *) ((  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   color   )   )) )) ) [  (  1 ) ])  )   )) , &colstruct))
        {
          scm_misc_error ("string->color", "no such color: ~S",
                          scm_cons (orig_color, ((SCM) ( (( 20 ) << 9) + 0x174L 
))   ));
        }
      colmap = gtk_widget_peek_colormap ();
      if (!gdk_color_alloc (colmap, &colstruct))
        {
          scm_misc_error ("string->color", "can't allocate color: ~S",
                          scm_cons (orig_color, ((SCM) ( (( 20 ) << 9) + 0x174L 
))   ));
        }
      return sgtk_boxed2scm (&colstruct, &sgtk_gdk_color_info, 1);
    }
  return color;
}

extern SCM sgtk_gdk_font_load (SCM font);

SCM
sgtk_font_conversion (SCM font)
{
  SCM orig_font = font;

  if ((! (6 & ((scm_t_bits) (   font   )) ) )  && (! (6 & ((scm_t_bits) (   
font   )) )  && ((0x7f &        (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (     font     )   )) )) ) [  (  0 ) ])  )    )  == 21 )) )
    {
      font = sgtk_gdk_font_load (font);
      if (font == ((SCM) ( (( 16 ) << 9) + 0x174L ))   )
        scm_misc_error ("string->font", "no such font: ~S",
                        scm_cons (orig_font, ((SCM) ( (( 20 ) << 9) + 0x174L )) 
  ));
    }
  return font;
}

SCM
sgtk_string_conversion (SCM str)
{
  return str;
}



 

 


sgtk_object_info *sgtk_find_object_info (char *name);

sgtk_object_info *
sgtk_find_object_info_from_type (GtkType type)
{
  sgtk_object_info *info;
  if (type == GTK_TYPE_INVALID)
    return ((void *)0) ;



  info = (sgtk_object_info *)sgtk_get_type_info ((( type ) > 0xFF ? ( type ) >> 
8 : ( type )) );


  if (info)
    return info;
  
  return sgtk_find_object_info (gtk_type_name (type));
}

sgtk_object_info *
sgtk_find_object_info (char *name)
{
  GtkType type, parent;
  sgtk_object_info *info;
  type_infos *infos;
  int i;

  type = gtk_type_from_name (name);
  if (type != GTK_TYPE_INVALID)
    {



      info = (sgtk_object_info *)sgtk_get_type_info ((( type ) > 0xFF ? ( type 
) >> 8 : ( type )) );

      if (info)
        return info;
    }

  for (infos = all_type_infos; infos; infos = infos->next)
    {
      sgtk_type_info **ip;
      for (ip = infos->infos; *ip; ip++)
        if (! __extension__     ({ size_t __s1_len, __s2_len;   
(__builtin_constant_p ( (*ip)->name ) && __builtin_constant_p (  name ) && 
(__s1_len = strlen ( (*ip)->name ), __s2_len = strlen (  name ),     (! 
((size_t)(const void *)((  (*ip)->name  ) + 1) - (size_t)(const void *)(  
(*ip)->name  ) == 1)  || __s1_len >= 4)    && (! ((size_t)(const void *)((   
name  ) + 1) - (size_t)(const void *)(   name  ) == 1)  || __s2_len >= 4))    ? 
memcmp ((__const char *) ( (*ip)->name ), (__const char *) (  name ), (__s1_len 
< __s2_len ? __s1_len : __s2_len) + 1)        : (__builtin_constant_p ( 
(*ip)->name ) && ((size_t)(const void *)((  (*ip)->name  ) + 1) - 
(size_t)(const void *)(  (*ip)->name  ) == 1)       && (__s1_len = strlen ( 
(*ip)->name ), __s1_len < 4)    ? (__builtin_constant_p (  name ) && 
((size_t)(const void *)((   name  ) + 1) - (size_t)(const void *)(   name  ) == 
1)         ? (__extension__ ({ register int __result =     (((__const unsigned 
char *) (__const char *) (  (*ip)->name  ))[0] - ((__const unsigned char *) 
(__const char *)(    name  ))[0]);      if (  __s1_len  > 0 && __result == 0)   
{       __result = (((__const unsigned char *)  (__const char *) (  (*ip)->name 
 ))[1]  - ((__const unsigned char *)    (__const char *) (    name  ))[1]);     
if (  __s1_len  > 1 && __result == 0)   {       __result =      (((__const 
unsigned char *)     (__const char *) (  (*ip)->name  ))[2]  - ((__const 
unsigned char *)    (__const char *) (    name  ))[2]);     if (  __s1_len  > 2 
&& __result == 0)   __result =      (((__const unsigned char *)     (__const 
char *) (  (*ip)->name  ))[3]  - ((__const unsigned char *)    (__const char *) 
(    name  ))[3]);     }       }       __result; }))   : (__extension__ ({ 
__const unsigned char *__s2 =       (__const unsigned char *) (__const char *) 
(    name  );        register int __result = (((__const unsigned char *) 
(__const char *) (  (*ip)->name  ))[0] - __s2[0]);  if (  __s1_len  > 0 && 
__result == 0)   {       __result = (((__const unsigned char *)  (__const char 
*) (  (*ip)->name  ))[1] - __s2[1]); if (  __s1_len  > 1 && __result == 0)      
  {       __result = (((__const unsigned char *)  (__const char *) (  
(*ip)->name  ))[2] - __s2[2]);      if (  __s1_len  > 2 && __result == 0)   
__result = (((__const unsigned char *)  (__const char *)  (  (*ip)->name  ))[3] 
- __s2[3]);     }       }       __result; })) ) : (__builtin_constant_p (  name 
) && ((size_t)(const void *)((   name  ) + 1) - (size_t)(const void *)(   name  
) == 1)         && (__s2_len = strlen (  name ), __s2_len < 4)  ? 
(__builtin_constant_p ( (*ip)->name ) && ((size_t)(const void *)((  (*ip)->name 
 ) + 1) - (size_t)(const void *)(  (*ip)->name  ) == 1)       ? (__extension__ 
({ register int __result =     (((__const unsigned char *) (__const char *) (  
(*ip)->name  ))[0] - ((__const unsigned char *) (__const char *)(    name  
))[0]);      if (  __s2_len  > 0 && __result == 0)   {       __result = 
(((__const unsigned char *)  (__const char *) (  (*ip)->name  ))[1]  - 
((__const unsigned char *)    (__const char *) (    name  ))[1]);     if (  
__s2_len  > 1 && __result == 0)   {       __result =      (((__const unsigned 
char *)     (__const char *) (  (*ip)->name  ))[2]  - ((__const unsigned char 
*)    (__const char *) (    name  ))[2]);     if (  __s2_len  > 2 && __result 
== 0)   __result =      (((__const unsigned char *)     (__const char *) (  
(*ip)->name  ))[3]  - ((__const unsigned char *)    (__const char *) (    name  
))[3]);     }       }       __result; }))   : (__extension__ ({ __const 
unsigned char *__s1 =       (__const unsigned char *) (__const char *) (  
(*ip)->name  );   register int __result = __s1[0] - ((__const unsigned char *)  
  (__const char *) (    name  ))[0];      if (  __s2_len  > 0 && __result == 0) 
  {       __result = (__s1[1]     - ((__const unsigned char *)    (__const char 
*) (    name  ))[1]);     if (  __s2_len  > 1 && __result == 0)   {       
__result =      (__s1[2] - ((__const unsigned char *)   (__const char *) (    
name  ))[2]);     if (  __s2_len  > 2 && __result == 0)   __result =      
(__s1[3]        - ((__const unsigned char *)    (__const char *) (    name  
))[3]);     }       }       __result; })) ) : strcmp ( (*ip)->name ,   name 
)))); }) )
          {
            if (((GtkFundamentalType) (( (*ip)->type ) & 0xFF))  != 
GTK_TYPE_OBJECT)
              return ((void *)0) ;

            info = (sgtk_object_info *)*ip;
            info->header.type = info->init_func ();
            enter_type_info ((sgtk_type_info*)info);
            goto query_args;
          }
    }

   


  if (type != GTK_TYPE_INVALID)
    {
      fprintf (stderr , "Fresh info for %s, %d\n", name, type);

      info = (sgtk_object_info *)xmalloc (sizeof(sgtk_object_info));
      info->header.type = type;
      info->header.name = name;
      info->init_func = ((void *)0) ;
      enter_type_info ((sgtk_type_info*)info);
    }
  else
    return ((void *)0) ;

 query_args:
  gtk_type_class (info->header.type);
  info->args = gtk_object_query_args (info->header.type,
                                      &info->args_flags,
                                      &info->n_args);
  info->args_short_names =
    (char **)xmalloc (info->n_args*(sizeof(char*)));
  for (i = 0; i < info->n_args; i++)
    {
      char *l = info->args[i].name;
      char *d = (__extension__ (__builtin_constant_p (  ':' ) && (  ':' ) == 
'\0'       ? (char *) __rawmemchr ( l ,   ':' )    : strchr ( l ,   ':' ))) ;
      if (d == ((void *)0)  || d[1] != ':')
        {
          fprintf (stderr , "`%s' has no class part.\n", l);
          info->args_short_names[i] = l;
        }
      else
        info->args_short_names[i] = d+2;
    }
  
  parent = gtk_type_parent (info->header.type);
  if (parent != GTK_TYPE_INVALID)
    info->parent = sgtk_find_object_info_from_type (parent);
  else
    info->parent = ((void *)0) ;
  
  return info;
}

# 2217 "guile-gtk.c"


static void
sgtk_find_arg_info (GtkArg *arg, sgtk_object_info *info, char *name)
{
   

  char *d = (__extension__ (__builtin_constant_p (  ':' ) && (  ':' ) == '\0'   
? (char *) __rawmemchr ( name ,   ':' ) : strchr ( name ,   ':' ))) ;
  if (d && d[1] == ':')
    {
       
      int len = d-name;

      while (info)
        {
          if (info->header.name[len] == '\0'
              && ! (__extension__ (__builtin_constant_p (  len )        && 
((__builtin_constant_p ( info->header.name ) && strlen ( info->header.name ) < 
((size_t) (  len )))  || (__builtin_constant_p (  name )      && strlen (  name 
) < ((size_t) (  len ))))     ? __extension__ ({ size_t __s1_len, __s2_len;   
(__builtin_constant_p (  info->header.name  ) && __builtin_constant_p (    name 
 )      && (__s1_len = strlen (  info->header.name  ), __s2_len = strlen (    
name  ),  (! ((size_t)(const void *)((   info->header.name   ) + 1) - 
(size_t)(const void *)(   info->header.name   ) == 1)  || __s1_len >= 4)    && 
(! ((size_t)(const void *)((     name   ) + 1) - (size_t)(const void *)(     
name   ) == 1)  || __s2_len >= 4))      ? memcmp ((__const char *) (  
info->header.name  ), (__const char *) (    name  ),      (__s1_len < __s2_len 
? __s1_len : __s2_len) + 1)        : (__builtin_constant_p (  info->header.name 
 ) && ((size_t)(const void *)((   info->header.name   ) + 1) - (size_t)(const 
void *)(   info->header.name   ) == 1)       && (__s1_len = strlen (  
info->header.name  ), __s1_len < 4)    ? (__builtin_constant_p (    name  ) && 
((size_t)(const void *)((     name   ) + 1) - (size_t)(const void *)(     name  
 ) == 1)        ? (__extension__ ({ register int __result =     (((__const 
unsigned char *) (__const char *) (   info->header.name   ))[0] - ((__const 
unsigned char *) (__const char *)(      name   ))[0]);   if (  __s1_len  > 0 && 
__result == 0)   {       __result = (((__const unsigned char *)  (__const char 
*) (   info->header.name   ))[1]  - ((__const unsigned char *)    (__const char 
*) (      name   ))[1]);  if (  __s1_len  > 1 && __result == 0)   {       
__result =      (((__const unsigned char *)     (__const char *) (   
info->header.name   ))[2]  - ((__const unsigned char *)    (__const char *) (   
   name   ))[2]);  if (  __s1_len  > 2 && __result == 0)   __result =      
(((__const unsigned char *)     (__const char *) (   info->header.name   ))[3]  
- ((__const unsigned char *)    (__const char *) (      name   ))[3]);  }       
}       __result; }))   : (__extension__ ({ __const unsigned char *__s2 =       
(__const unsigned char *) (__const char *) (      name   );     register int 
__result = (((__const unsigned char *) (__const char *) (   info->header.name   
))[0] - __s2[0]);  if (  __s1_len  > 0 && __result == 0)   {       __result = 
(((__const unsigned char *)  (__const char *) (   info->header.name   ))[1] - 
__s2[1]); if (  __s1_len  > 1 && __result == 0)        {       __result = 
(((__const unsigned char *)  (__const char *) (   info->header.name   ))[2] - 
__s2[2]);      if (  __s1_len  > 2 && __result == 0)   __result = (((__const 
unsigned char *)  (__const char *)  (   info->header.name   ))[3] - __s2[3]);   
  }       }       __result; })) ) : (__builtin_constant_p (    name  ) && 
((size_t)(const void *)((     name   ) + 1) - (size_t)(const void *)(     name  
 ) == 1)        && (__s2_len = strlen (    name  ), __s2_len < 4)       ? 
(__builtin_constant_p (  info->header.name  ) && ((size_t)(const void *)((   
info->header.name   ) + 1) - (size_t)(const void *)(   info->header.name   ) == 
1)       ? (__extension__ ({ register int __result =     (((__const unsigned 
char *) (__const char *) (   info->header.name   ))[0] - ((__const unsigned 
char *) (__const char *)(      name   ))[0]);   if (  __s2_len  > 0 && __result 
== 0)   {       __result = (((__const unsigned char *)  (__const char *) (   
info->header.name   ))[1]  - ((__const unsigned char *)    (__const char *) (   
   name   ))[1]);  if (  __s2_len  > 1 && __result == 0)   {       __result =   
   (((__const unsigned char *)     (__const char *) (   info->header.name   
))[2]  - ((__const unsigned char *)    (__const char *) (      name   ))[2]);  
if (  __s2_len  > 2 && __result == 0)   __result =      (((__const unsigned 
char *)     (__const char *) (   info->header.name   ))[3]  - ((__const 
unsigned char *)    (__const char *) (      name   ))[3]);  }       }       
__result; }))   : (__extension__ ({ __const unsigned char *__s1 =       
(__const unsigned char *) (__const char *) (   info->header.name   );   
register int __result = __s1[0] - ((__const unsigned char *)    (__const char 
*) (      name   ))[0];   if (  __s2_len  > 0 && __result == 0)   {       
__result = (__s1[1]     - ((__const unsigned char *)    (__const char *) (      
name   ))[1]);  if (  __s2_len  > 1 && __result == 0)   {       __result =      
(__s1[2] - ((__const unsigned char *)   (__const char *) (      name   ))[2]);  
if (  __s2_len  > 2 && __result == 0)   __result =      (__s1[3]        - 
((__const unsigned char *)    (__const char *) (      name   ))[3]);  }       } 
      __result; })) ) : strcmp (  info->header.name  ,     name  )))); })  : 
strncmp ( info->header.name ,   name ,   len ))) )
            break;
          info = info->parent;
        }
      name = d+2;
    }
  



  while (info)
    {
      int i;
      for (i = 0; i < info->n_args; i++)
        {



          if (! __extension__   ({ size_t __s1_len, __s2_len;   
(__builtin_constant_p ( info->args_short_names[i] ) && __builtin_constant_p (  
name )   && (__s1_len = strlen ( info->args_short_names[i] ), __s2_len = strlen 
(  name ),       (! ((size_t)(const void *)((  info->args_short_names[i]  ) + 
1) - (size_t)(const void *)(  info->args_short_names[i]  ) == 1)  || __s1_len 
>= 4)        && (! ((size_t)(const void *)((   name  ) + 1) - (size_t)(const 
void *)(   name  ) == 1)  || __s2_len >= 4))    ? memcmp ((__const char *) ( 
info->args_short_names[i] ), (__const char *) (  name ),   (__s1_len < __s2_len 
? __s1_len : __s2_len) + 1)        : (__builtin_constant_p ( 
info->args_short_names[i] ) && ((size_t)(const void *)((  
info->args_short_names[i]  ) + 1) - (size_t)(const void *)(  
info->args_short_names[i]  ) == 1)     && (__s1_len = strlen ( 
info->args_short_names[i] ), __s1_len < 4)      ? (__builtin_constant_p (  name 
) && ((size_t)(const void *)((   name  ) + 1) - (size_t)(const void *)(   name  
) == 1)         ? (__extension__ ({ register int __result =     (((__const 
unsigned char *) (__const char *) (  info->args_short_names[i]  ))[0] - 
((__const unsigned char *) (__const char *)(    name  ))[0]);        if (  
__s1_len  > 0 && __result == 0)   {       __result = (((__const unsigned char 
*)  (__const char *) (  info->args_short_names[i]  ))[1]    - ((__const 
unsigned char *)    (__const char *) (    name  ))[1]);     if (  __s1_len  > 1 
&& __result == 0)   {       __result =      (((__const unsigned char *)     
(__const char *) (  info->args_short_names[i]  ))[2]    - ((__const unsigned 
char *)    (__const char *) (    name  ))[2]);     if (  __s1_len  > 2 && 
__result == 0)   __result =      (((__const unsigned char *)     (__const char 
*) (  info->args_short_names[i]  ))[3]    - ((__const unsigned char *)    
(__const char *) (    name  ))[3]);     }       }       __result; }))   : 
(__extension__ ({ __const unsigned char *__s2 =       (__const unsigned char *) 
(__const char *) (    name  );        register int __result = (((__const 
unsigned char *) (__const char *) (  info->args_short_names[i]  ))[0] - 
__s2[0]);    if (  __s1_len  > 0 && __result == 0)   {       __result = 
(((__const unsigned char *)  (__const char *) (  info->args_short_names[i]  
))[1] - __s2[1]); if (  __s1_len  > 1 && __result == 0)  {       __result = 
(((__const unsigned char *)  (__const char *) (  info->args_short_names[i]  
))[2] - __s2[2]);        if (  __s1_len  > 2 && __result == 0)   __result = 
(((__const unsigned char *)  (__const char *)  (  info->args_short_names[i]  
))[3]   - __s2[3]);     }       }       __result; })) ) : (__builtin_constant_p 
(  name ) && ((size_t)(const void *)((   name  ) + 1) - (size_t)(const void *)( 
  name  ) == 1)         && (__s2_len = strlen (  name ), __s2_len < 4)  ? 
(__builtin_constant_p ( info->args_short_names[i] ) && ((size_t)(const void 
*)((  info->args_short_names[i]  ) + 1) - (size_t)(const void *)(  
info->args_short_names[i]  ) == 1)     ? (__extension__ ({ register int 
__result =     (((__const unsigned char *) (__const char *) (  
info->args_short_names[i]  ))[0] - ((__const unsigned char *) (__const char *)( 
   name  ))[0]);        if (  __s2_len  > 0 && __result == 0)   {       
__result = (((__const unsigned char *)  (__const char *) (  
info->args_short_names[i]  ))[1]    - ((__const unsigned char *)    (__const 
char *) (    name  ))[1]);     if (  __s2_len  > 1 && __result == 0)   {       
__result =      (((__const unsigned char *)     (__const char *) (  
info->args_short_names[i]  ))[2]    - ((__const unsigned char *)    (__const 
char *) (    name  ))[2]);     if (  __s2_len  > 2 && __result == 0)   __result 
=      (((__const unsigned char *)     (__const char *) (  
info->args_short_names[i]  ))[3]    - ((__const unsigned char *)    (__const 
char *) (    name  ))[3]);     }       }       __result; }))   : (__extension__ 
({ __const unsigned char *__s1 =       (__const unsigned char *) (__const char 
*) (  info->args_short_names[i]  );     register int __result = __s1[0] - 
((__const unsigned char *)    (__const char *) (    name  ))[0];      if (  
__s2_len  > 0 && __result == 0)   {       __result = (__s1[1]     - ((__const 
unsigned char *)    (__const char *) (    name  ))[1]);     if (  __s2_len  > 1 
&& __result == 0)   {       __result =      (__s1[2] - ((__const unsigned char 
*)   (__const char *) (    name  ))[2]);     if (  __s2_len  > 2 && __result == 
0)   __result =      (__s1[3]        - ((__const unsigned char *)    (__const 
char *) (    name  ))[3]);     }       }       __result; })) ) : strcmp ( 
info->args_short_names[i] ,   name )))); }) )
            {
              *arg = info->args[i];
              return;
            }
        }
      info = info->parent;
    }
  
  arg->type = GTK_TYPE_INVALID;
  return;
}
      
GtkArg*
sgtk_build_args (sgtk_object_info *info, int *n_argsp, SCM scm_args,
                 SCM protector, char *subr)
{
  int i, n_args = *n_argsp;
  GtkArg *args;
  char *name;
  SCM kw, val;
  sgtk_type_info *type_info;

  args = (( GtkArg  *) g_malloc0 ((unsigned) sizeof ( GtkArg ) * (  n_args ))) ;

  for (i = 0; i < n_args; i++)
    {
      kw = ((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) 
(   (   scm_args   )   )) )) ) [  (  0 ) ] )) )  )    ) ) ;
      val = ((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   ((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (    scm_args    )   )) )) ) [  (  1 ) ] )) )  )    ) )    ) 
  )) )) ) [  (  0 ) ] )) )  )    ) )  ;
      scm_args = ((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   ((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (    scm_args    )   )) )) ) [  (  1 ) ] )) )  )    ) )    ) 
  )) )) ) [  (  1 ) ] )) )  )    ) )  ;

      if ((! (6 & ((scm_t_bits) (   kw   )) ) )  && (! (6 & ((scm_t_bits) (   
kw   )) )  && ((0x7f &        (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (     kw     )   )) )) ) [  (  0 ) ])  )    )  == 5 )) )
        name = ((char *) ((  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   kw   )   )) )) ) [  (  1 ) ])  )   )) ;
      else if ((! (6 & ((scm_t_bits) (   kw   )) ) )  && (! (6 & ((scm_t_bits) 
(   kw   )) )  && ((  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   
(    kw    )   )) )) ) [  (  0 ) ])  )     == scm_tc16_keyword)) )
        name = ((char *) ((  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   ((  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   kw   )   )) )) ) [  (  1 ) ] )) )  )   )    )   )) )) ) 
[  (  1 ) ])  )   )) +1;
      else
        {
          fprintf (stderr , "bad keyword\n");
          n_args -= 1;
          i -= 1;
          continue;
        }

      sgtk_find_arg_info (&args[i], info, name);
      if (args[i].type == GTK_TYPE_INVALID)
        {
          fprintf (stderr , "no such arg for type `%s': %s\n",
                   info->header.name, name);
          n_args -= 1;
          i -= 1;
          continue;
        }

       

      type_info = sgtk_maybe_find_type_info (args[i].type);
      if (type_info && type_info->conversion)
        val = type_info->conversion (val);

      if (!sgtk_valid_arg (&args[i], val))
        {
          SCM throw_args = 
            scm_list_2 (scm_makfrom0str (gtk_type_name (args[i].type)),
                        val);
          g_free (args);
          scm_misc_error (subr, "wrong type for ~A: ~S",
                          throw_args);
        }
          
      sgtk_scm2arg (&args[i], val, protector);
    }

  *n_argsp = n_args;
  return args;
}

SCM
sgtk_gtk_object_new (SCM type_obj, SCM scm_args)
{
  int n_args;
  sgtk_object_info *info;
  GtkArg *args;
  GtkObject *obj;
  SCM scm_obj;

  if (!( type_obj != ((SCM) ( (( 16 ) << 9) + 0x174L ))    && sgtk_valid_type 
(type_obj) )) scm_wrong_type_arg (  "gtk-object-new" ,  
              1  ,   type_obj ) ;
  n_args = scm_ilength (scm_args);
  if (!( n_args >= 0 && (n_args%2) == 0 )) scm_wrong_type_arg (  
"gtk-object-new" ,  
              2  ,   scm_args ) ;
  n_args = n_args/2;

  info = sgtk_find_object_info_from_type (sgtk_scm2type (type_obj));
  if (!( info != ((void *)0)  )) scm_wrong_type_arg (  "gtk-object-new" ,   1  
,   type_obj ) ;

  obj = gtk_object_new (info->header.type, ((void *)0) );
  scm_obj = sgtk_wrap_gtkobj (obj);
  args = sgtk_build_args (info, &n_args, scm_args, scm_obj, "gtk-object-new");
  gtk_object_setv (obj, n_args, args);
  g_free (args);

  return scm_obj;
}

SCM
sgtk_gtk_object_set (SCM scm_obj, SCM scm_args)
{
  int n_args;
  sgtk_object_info *info;
  GtkArg *args;
  GtkObject *obj;

  if (!( ((! (6 & ((scm_t_bits) (       scm_obj     )) )  && (0xffff & (  
(((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (         scm_obj      
 )   )) )) ) [  (  0 ) ])  )    )  == (  tc16_gtkobj  ))  )  )) 
scm_wrong_type_arg (  "gtk-object-set" ,   1  ,   scm_obj ) ;
  n_args = scm_ilength (scm_args);
  if (!( n_args >= 0 && (n_args%2) == 0 )) scm_wrong_type_arg (  
"gtk-object-set" ,  
              2  ,   scm_args ) ;
  n_args = n_args/2;

  obj = ((sgtk_object_proxy *)((  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (    scm_obj    )   )) )) ) [  (  1 ) ])  )   ) ) ->obj;
  info = sgtk_find_object_info_from_type ((( ( (   obj   ) != ((void *)0)  && ( 
( ((GtkObject*) (   obj   ))->klass ) != ((void *)0)  && ((GtkFundamentalType) 
(( ((GtkObjectClass*) ( ((GtkObject*) (   obj   ))->klass ))->type ) & 0xFF))  
== GTK_TYPE_OBJECT )  )  ? (GtkObject*) (  obj  ) : (GtkObject*) 
gtk_type_check_object_cast ((GtkTypeObject*) (  obj  ), GTK_TYPE_OBJECT) ) 
->klass->type) );
  if (!( info != ((void *)0)  )) scm_wrong_type_arg (  "gtk-object-set" ,   1  
,   scm_obj ) ;
  
  args = sgtk_build_args (info, &n_args, scm_args, scm_obj, "gtk-object-set");
  gtk_object_setv (obj, n_args, args);
  g_free (args);

  return ((SCM) ( (( 21 ) << 9) + 0x174L ))   ;
}

SCM
sgtk_gtk_object_get (SCM scm_obj, SCM argsym)
{
  GtkObject *obj;
  sgtk_object_info *info;
  char *name;
  GtkArg arg;

  if (!( ((! (6 & ((scm_t_bits) (       scm_obj     )) )  && (0xffff & (  
(((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (         scm_obj      
 )   )) )) ) [  (  0 ) ])  )    )  == (  tc16_gtkobj  ))  )  )) 
scm_wrong_type_arg (  "gtk-object-get" ,   1  ,   scm_obj ) ;
  if (!( (! (6 & ((scm_t_bits) (   argsym   )) ) )  &&
              ((! (6 & ((scm_t_bits) (   argsym   )) )  && ((  (((const 
scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (    argsym    )   )) )) ) [  ( 
 0 ) ])  )     == scm_tc16_keyword))  || (! (6 & ((scm_t_bits) (   argsym   )) 
)  && ((0x7f &        (  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) ( 
  (     argsym     )   )) )) ) [  (  0 ) ])  )    )  == 5 )) ) )) 
scm_wrong_type_arg (  "gtk-object-get" ,  
              2  ,   argsym ) ;

  obj = ((sgtk_object_proxy *)((  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (    scm_obj    )   )) )) ) [  (  1 ) ])  )   ) ) ->obj;
  info = sgtk_find_object_info_from_type ((( ( (   obj   ) != ((void *)0)  && ( 
( ((GtkObject*) (   obj   ))->klass ) != ((void *)0)  && ((GtkFundamentalType) 
(( ((GtkObjectClass*) ( ((GtkObject*) (   obj   ))->klass ))->type ) & 0xFF))  
== GTK_TYPE_OBJECT )  )  ? (GtkObject*) (  obj  ) : (GtkObject*) 
gtk_type_check_object_cast ((GtkTypeObject*) (  obj  ), GTK_TYPE_OBJECT) ) 
->klass->type) );
  if (!( info != ((void *)0)  )) scm_wrong_type_arg (  "gtk-object-get" ,   1  
,   scm_obj ) ;

  if ((! (6 & ((scm_t_bits) (   argsym   )) )  && ((0x7f &        (  (((const 
scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (     argsym     )   )) )) ) [  
(  0 ) ])  )    )  == 5 )) )
    name = ((char *) ((  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) ( 
  (   argsym   )   )) )) ) [  (  1 ) ])  )   )) ;
  else
    name = ((char *) ((  (((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) ( 
  (   ((  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (   
argsym   )   )) )) ) [  (  1 ) ] )) )  )   )    )   )) )) ) [  (  1 ) ])  )   
)) +1;
  sgtk_find_arg_info (&arg, info, name);

  if (arg.type != GTK_TYPE_INVALID)
    gtk_object_getv (obj, 1, &arg);

  if (arg.type == GTK_TYPE_INVALID)
    return ((SCM) ( (( 16 ) << 9) + 0x174L ))   ;
  else
    return sgtk_arg2scm (&arg, 1);
}



 

GtkType
gtk_class_new (GtkType parent_type, gchar *name)
{
  GtkTypeInfo info = { 0 };
  GtkTypeInfo parent_info;

  if (!gtk_type_get_info (parent_type, &parent_info))
    return GTK_TYPE_INVALID;

  info.type_name = name;
  info.object_size = parent_info.object_size;
  info.class_size = parent_info.class_size;
  info.class_init_func = ((void *)0) ;
  info.object_init_func = ((void *)0) ;

  info.base_class_init_func = ((void *)0) ;


  return gtk_type_unique (parent_type, &info);
}

guint
gtk_signal_new_generic (const gchar     *name,
                        GtkSignalRunType signal_flags,
                        GtkType          type,
                        GtkType          return_type,
                        guint            nparams,
                        GtkType         *params)
{
  guint signal_id;

  if (((GtkFundamentalType) (( type ) & 0xFF))  != GTK_TYPE_OBJECT)
    return 0;

  signal_id = gtk_signal_newv (name, signal_flags, type,
                               0, ((void *)0) ,
                               return_type, nparams, params);
  if (signal_id > 0)
    gtk_object_class_add_signals (gtk_type_class (type),
                                  &signal_id, 1);

  return signal_id;
}

void
sgtk_signal_emit (GtkObject *obj, char *name, SCM scm_args)
{



  GtkSignalQuery *info;

  guint signal_id, i;
  guint n_params;
  GtkArg *args;

  signal_id = gtk_signal_lookup (name, (( ( (   obj   ) != ((void *)0)  && ( ( 
((GtkObject*) (   obj   ))->klass ) != ((void *)0)  && ((GtkFundamentalType) (( 
((GtkObjectClass*) ( ((GtkObject*) (   obj   ))->klass ))->type ) & 0xFF))  == 
GTK_TYPE_OBJECT )  )  ? (GtkObject*) (  obj  ) : (GtkObject*) 
gtk_type_check_object_cast ((GtkTypeObject*) (  obj  ), GTK_TYPE_OBJECT) ) 
->klass->type) );







  if (signal_id == 0)
    {
      scm_misc_error ("gtk-signal-emit", "no such signal: ~S",
                      scm_cons (scm_makfrom0str (name), ((SCM) ( (( 20 ) << 9) 
+ 0x174L ))   ));
    }




  info = gtk_signal_query (signal_id);
  n_params = info->nparams;

  if (scm_ilength (scm_args) != n_params)
    {

      g_free (info);

      scm_misc_error ("gtk-signal-emit", "wrong number of signal arguments",
                      ((SCM) ( (( 20 ) << 9) + 0x174L ))   );
    }

  args = (( GtkArg  *) g_malloc ((unsigned) sizeof ( GtkArg ) * (  n_params+1 
))) ;
  i = 0;
  while ((! (6 & ((scm_t_bits) (   scm_args   )) ) ) )
    {
      args[i].name = ((void *)0) ;



      args[i].type = info->params[i];


      if (!sgtk_valid_arg (&args[i], ((  (  (((SCM) ( ((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (   scm_args   )   )) )) ) [  (  0 ) ] )) )  
)    ) ) ))
        {
          SCM throw_args =
            scm_list_2 (scm_makfrom0str (gtk_type_name (args[i].type)),
                        ((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   scm_args   )   )) )) ) [  (  0 ) ] )) )  )    ) ) );
          g_free (args);
          scm_misc_error ("gtk-signal-emit", "wrong type for ~A: ~S",
                          throw_args);
        }

      sgtk_scm2arg (&args[i], ((  (  (((SCM) ( ((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (   scm_args   )   )) )) ) [  (  0 ) ] )) )  
)    ) ) , ((SCM) ( (( 17 ) << 9) + 0x174L ))   );
      i++;
      scm_args = ((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   scm_args   )   )) )) ) [  (  1 ) ] )) )  )    ) ) ;
    }
  args[i].type = GTK_TYPE_NONE;

  gtk_signal_emitv (obj, signal_id, args);

  g_free (args);

  g_free (info);

}



 

static int standalone_p = 1;

void
sgtk_set_standalone (int flag)
{
  standalone_p = flag;
}

int
sgtk_is_standalone ()
{
  return standalone_p;
}

SCM
sgtk_standalone_p ()
{
  return standalone_p? ((SCM) ( (( 17 ) << 9) + 0x174L ))    : ((SCM) ( (( 16 ) 
<< 9) + 0x174L ))   ;
}

void
sgtk_register_glue (char *name, void (*func)(void))
{
  scm_c_register_extension (((void *)0) , name, (void (*)(void *))func, ((void 
*)0) );
}

  ^^   sym_top_repl  = scm_permanent_object (scm_str2symbol (  "top-repl" ))   ;
  ^^   sym_quit  = scm_permanent_object (scm_str2symbol (  "quit" ))   ;
  ^^   sym_use_modules  = scm_permanent_object (scm_str2symbol (  "use-modules" 
))   ;
  ^^   sym_gtk  = scm_permanent_object (scm_str2symbol (  "gtk" ))   ;
  ^^   sym_repl  = scm_permanent_object (scm_str2symbol (  "repl" ))   ;
  ^^   sym_gtk_repl  = scm_permanent_object (scm_str2symbol (  "gtk-repl" ))   ;


  ^^   sym_gtk_version  = scm_permanent_object (scm_str2symbol (  "gtk-1.2" ))  
 ;






static void
sgtk_init_substrate (void)
{       
  
  tc16_gtkobj_marker_hook = scm_make_smob_type ("gtkobj_marker_hook", 
sizeof(sgtk_object_proxy));
  scm_set_smob_mark (tc16_gtkobj_marker_hook, gtkobj_marker_hook);
  scm_set_smob_print (tc16_gtkobj_marker_hook, gtkobj_marker_hook_print);
    
  tc16_gtkobj = scm_make_smob_type ("gtkobj", sizeof(sgtk_object_proxy));
  scm_set_smob_mark (tc16_gtkobj, gtkobj_mark);
  scm_set_smob_free (tc16_gtkobj, gtkobj_free);
  scm_set_smob_print (tc16_gtkobj, gtkobj_print);
  
  tc16_boxed = scm_make_smob_type ("gtkboxed", sizeof(sgtk_boxed_info));
  scm_set_smob_mark (tc16_boxed, scm_mark0);
  scm_set_smob_free (tc16_boxed, boxed_free);
  scm_set_smob_print (tc16_boxed, boxed_print);
   
  tc16_gtktype = scm_make_smob_type ("gtktype", sizeof(sgtk_type_info));
  scm_set_smob_mark (tc16_gtktype, scm_mark0);
  scm_set_smob_free (tc16_gtktype, scm_free0);
  scm_set_smob_print (tc16_gtktype, gtktype_print);
  scm_set_smob_equalp (tc16_gtktype, gtktype_equalp);
  
  tc16_illobj = scm_make_smob_type ("gtkillobj", sizeof(GtkType));
  scm_set_smob_mark (tc16_illobj, scm_mark0);
  scm_set_smob_free (tc16_illobj, scm_free0);
  scm_set_smob_print (tc16_illobj, illobj_print);
  
  global_protects = ((void *)0) ;
  sgtk_protshell_chunk = ( g_mem_chunk_new ("sgtk_protshell" " mem chunks (" 
"128" ")", sizeof ( sgtk_protshell ), sizeof ( sgtk_protshell ) * (  128 ), ( 
                                             2  )) ) ;
  install_marker_hook ();

  callback_trampoline = scm_permanent_object (scm_cons (((SCM) ( (( 16 ) << 9) 
+ 0x174L ))   , ((SCM) ( (( 20 ) << 9) + 0x174L ))   ));

  sgtk_init_threads ();



# 1 "guile-gtk.x" 1
# 2621 "guile-gtk.c" 2



}

static int sgtk_inited = 0;

void
sgtk_init_with_args (int *argcp, char ***argvp)
{
  if (sgtk_inited)
    return;

   



  if (gdk_display == ((void *)0) )
    {
      gtk_set_locale ();
      gtk_init (argcp, argvp);
    }
  sgtk_init_substrate ();
  sgtk_inited = 1;
}

static char*
xstrdup (char *str)
{
  if (str)
    {
      char *newstr = xmalloc (strlen(str)+1);
      (__extension__ (__builtin_constant_p (  str )     ? (((size_t)(const void 
*)((   str  ) + 1) - (size_t)(const void *)(   str  ) == 1)  && strlen (  str ) 
+ 1 <= 8        ? __strcpy_small ( newstr , __extension__ (((__const unsigned 
char *) (__const char *) (    str   ))[  0  + 1] << 8     | ((__const unsigned 
char *) (__const char *) (    str   ))[  0 ]) ,    __extension__ (((__const 
unsigned char *) (__const char *) (    str   ))[  4  + 1] << 8 | ((__const 
unsigned char *) (__const char *) (    str   ))[  4 ]) ,    __extension__ 
(((((__const unsigned char *) (__const char *) (    str   ))[  0  + 3] << 8 | 
((__const unsigned char *) (__const char *) (    str   ))[  0  + 2]) << 8 | 
((__const unsigned char *) (__const char *) (    str   ))[  0  + 1]) << 8 | 
((__const unsigned char *) (__const char *) (    str   ))[  0 ]) ,  
__extension__ (((((__const unsigned char *) (__const char *) (    str   ))[  4  
+ 3] << 8 | ((__const unsigned char *) (__const char *) (    str   ))[  4  + 
2]) << 8 | ((__const unsigned char *) (__const char *) (    str   ))[  4  + 1]) 
<< 8 | ((__const unsigned char *) (__const char *) (    str   ))[  4 ])  , 
strlen (  str ) + 1)    : (char *) memcpy ( newstr ,   str , strlen (  str ) + 
1))      : strcpy ( newstr ,   str ))) ;
      return newstr;
    }
  else
    return ((void *)0) ;
}

static void
make_argv (SCM list, int *argc, char ***argv)
{
  static char *argv_storage[1] = { "guile-gtk" };

  int c = scm_ilength (list), i;
  char **v;

  *argv = argv_storage;
  *argc = 1;

  if (c < 0)
    return;

  v = (char **)xmalloc ((c+1) * sizeof(char**));
  for (i = 0; i < c; i++, list = ((  (  (((SCM) ( ((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (   list   )   )) )) ) [  (  1 ) ] )) )  )    
) ) )
    {
      if (! (! (6 & ((scm_t_bits) (   ((  (  (((SCM) ( ((const scm_t_bits *) 
((SCM_CELLPTR) (((scm_t_bits) (   (   list   )   )) )) ) [  (  0 ) ] )) )  )    
) )    )) )  && ((0x7f &        (  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (     ((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   list   )   )) )) ) [  (  0 ) ] )) )  )    ) )      )   
)) )) ) [  (  0 ) ])  )    )  == 21 )) )
        {
          free ((char *)v);
          return;
        }
      v[i] = xstrdup (((char *) ((  (((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   ((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   list   )   )) )) ) [  (  0 ) ] )) )  )    ) )    )   )) 
)) ) [  (  1 ) ])  )   )) );
    }
  v[c] = ((void *)0) ;
  
  *argv = v;
  *argc = c;
}

void
sgtk_init ()
{
  int argc;
  char **argv;

  make_argv (scm_program_arguments (), &argc, &argv);
  sgtk_init_with_args (&argc, &argv);
  scm_set_program_arguments (argc, argv, ((void *)0) );
}

static SCM
hack_compiled_switches (SCM script)
{
  SCM last_action;

  script = scm_reverse_x (script, ((SCM) ( (( 18 ) << 9) + 0x174L ))   );
  last_action = ((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) 
(((scm_t_bits) (   (   script   )   )) )) ) [  (  0 ) ] )) )  )    ) ) ;
  ((  (  (((scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   (  ( script )  )   
)) )) ) [  (  0 ) ] = ((scm_t_bits) (   (    (  scm_list_2 (sym_use_modules,
                                  scm_list_2 (sym_gtk_version, sym_gtk)) )  )  
)) )  )    ) ) ;
  script = scm_cons (scm_list_2 (sym_use_modules,
                                 scm_list_2 (sym_gtk, sym_repl)),
                     script);
  
  if (((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) (   
(   last_action   )   )) )) ) [  (  0 ) ] )) )  )    ) )  == sym_top_repl)
    {
      script = scm_cons (scm_list_1 (sym_gtk_repl), script);
      sgtk_set_standalone (0);
    }
  else if (((  (  (((SCM) ( ((const scm_t_bits *) ((SCM_CELLPTR) (((scm_t_bits) 
(   (   last_action   )   )) )) ) [  (  0 ) ] )) )  )    ) )  != sym_quit)
    {
      fprintf (stderr , "guile-gtk: unknown action in startup script\n");
      scm_display (last_action, ((SCM) ( (( 18 ) << 9) + 0x174L ))   );
      scm_newline (((SCM) ( (( 18 ) << 9) + 0x174L ))   );
      exit (1);
    }

  return scm_reverse_x (script, ((SCM) ( (( 18 ) << 9) + 0x174L ))   );
}

void
sgtk_shell (int argc, char **argv)
{
  SCM script;

  sgtk_init_with_args (&argc, &argv);

   


  {
    char **new_argv = scm_get_meta_args (argc, argv);

    if (new_argv)
      {
        argv = new_argv;
        argc = scm_count_argv (new_argv);
      }
  }

  script = hack_compiled_switches (scm_compile_shell_switches (argc, argv));
  scm_eval_x (script, scm_current_module ());
  exit (0);
}

reply via email to

[Prev in Thread] Current Thread [Next in Thread]