unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
* [Fwd: problem compiling guile-gtk-1.2-0.31]
@ 2002-09-30 16:21 Stanislas Pinte
  2002-10-01 22:27 ` Marius Vollmer
  0 siblings, 1 reply; 9+ messages in thread
From: Stanislas Pinte @ 2002-09-30 16:21 UTC (permalink / raw)




-------- Original Message --------
Subject: problem compiling guile-gtk-1.2-0.31
Date: Mon, 30 Sep 2002 18:20:54 +0200
From: Stanislas Pinte <alto_stan@wanadoo.be>
To: guile-gtk@sources.redhat.com

hello,

I am trying to compile guile-gtk-1.2-0.31 with guile-1.6, and it fails
miserably...

I have got the impression of having gtk-1.2, which should be allright...


thanks for any help, here enclosed the first errors...

source='guile-gtk.c' object='guile-gtk.lo' libtool=yes \
depfile='.deps/guile-gtk.Plo' tmpdepfile='.deps/guile-gtk.TPlo' \
depmode=gcc /bin/sh ./depcomp \
/bin/sh ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I. -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 -c -o guile-gtk.lo `test -f 'guile-gtk.c'
|| echo './'`guile-gtk.c
mkdir .libs
gcc -DHAVE_CONFIG_H -I. -I. -I. -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 -c
guile-gtk.c -Wp,-MD,.deps/guile-gtk.TPlo  -fPIC -DPIC -o .libs/guile-gtk.lo
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'
In file included from /usr/include/stdio.h:35,
                   from guile-gtk.c:18,
                   from guile-gtk.c:2621:
/usr/include/bits/types.h: At top level:
/usr/include/bits/types.h:78: warning: empty declaration
/usr/include/bits/types.h:81: warning: redefinition of `__daddr_t'
/usr/include/bits/types.h:81: warning: `__daddr_t' previously declared here
/usr/include/bits/types.h:82: warning: redefinition of `__caddr_t'








_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-user


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Fwd: problem compiling guile-gtk-1.2-0.31]
  2002-09-30 16:21 [Fwd: problem compiling guile-gtk-1.2-0.31] Stanislas Pinte
@ 2002-10-01 22:27 ` Marius Vollmer
  2002-10-02 17:32   ` Stanislas Pinte
  2002-10-02 18:00   ` Stanislas Pinte
  0 siblings, 2 replies; 9+ messages in thread
From: Marius Vollmer @ 2002-10-01 22:27 UTC (permalink / raw)
  Cc: SmartList

Stanislas Pinte <alto_stan@wanadoo.be> 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" ))   ;

-- 
GPG: D5D4E405 - 2F9B BCCC 8527 692A 04E3  331E FAF8 226A D5D4 E405


_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-user


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Fwd: problem compiling guile-gtk-1.2-0.31]
  2002-10-01 22:27 ` Marius Vollmer
@ 2002-10-02 17:32   ` Stanislas Pinte
  2002-10-03 18:43     ` Marius Vollmer
  2002-10-02 18:00   ` Stanislas Pinte
  1 sibling, 1 reply; 9+ messages in thread
From: Stanislas Pinte @ 2002-10-02 17:32 UTC (permalink / raw)
  Cc: SmartList

[-- Attachment #1: Type: text/plain, Size: 1622 bytes --]

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

Marius Vollmer wrote:

> Stanislas Pinte <alto_stan@wanadoo.be> 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" ))   ;
> 
> 


[-- Attachment #2: guile-gtk.x --]
[-- Type: text/plain, Size: 768705 bytes --]

# 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;		 
\f
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



 







































\f





# 1 "/usr/local/include/libguile/__scm.h" 1 3
 




 








































\f

 










 







 









 













 




 
 

 

 












 




 



 
 
 

 





 



\f
 







 



\f

 




\f

 











\f

 
# 1 "/usr/local/include/libguile/scmconfig.h" 1 3
 
 
 











































\f

 


 


 




 
 

 
 

 


 



 


 


 

 

 

 

 



 

 

 

 
 

 
 

 
 

 
 

 


 
 

 
 

 


 


 


 
 

 
 

 


 


 


 


 


 


 
 

 


 
 

 
 

 
 

 
 

 
 

 


 


 

 
 

 



 


 


 


 


 


 


 


 


 


 
 

 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 
 

 


 


 
 

 


 
 

 
 

 
 

 
 

 
 

 
 

 


 


 


 


 


 


 


 


 


 
 

 


 


 


 


 


 


 


 


 



 


 
 

 
 

 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 



 


 


 


 
 

 


 


 
 

 


 


 


 
 

 


 


 


 


 
 

 


 


 


 


 


 


 



 


 

 

 


 


 


 


 


 


 
 

 


 


 


 


 


 


 


 


 


 





 

 


 


 
 

 
 

 

 

 



 


 
 

 

 

 
 

 
 

 
 

 

 

 
 

 
 
# 175 "/usr/local/include/libguile/__scm.h" 2 3


\f

 


















 







 








 






 







 








 








\f

 

















 







\f

 



































# 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





















\f


# 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



\f

 







\f

# 1 "/usr/local/include/libguile/tags.h" 1 3
 




 








































\f

 




# 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



\f

 


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



 




\f

 



































 
























































































































\f
 















\f

 














 














\f




 




 

 








 









 














 




 




 




 




 





\f
 


enum scm_tags
{
  scm_tc8_char = 0xf4,
  scm_tc8_iloc = 0xfc
};






\f
 


 


 







extern  char *scm_isymnames[];    

 

































 












 












\f

 




 



# 506 "/usr/local/include/libguile/tags.h" 3

 






 






 






 





\f










 




# 360 "/usr/local/include/libguile/__scm.h" 2 3


\f
# 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;

\f







# 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



























\f

 
















 













\f

 




















 



 




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);












 


















\f

 






















 




# 50 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/alist.h" 1 3
 




 








































\f



\f

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
 




 








































\f



\f

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
 




 








































\f



\f

extern  unsigned int scm_mask_ints;

\f

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
 




 








































\f



\f

 

 





 


 


 






\f

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
 




 








































\f



\f
 





\f

extern  char *const scm_charnames[];
extern  int scm_n_charnames;
extern  const char scm_charnums[];

\f

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
 




 








































\f







\f

 







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;















\f

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
 




 








































\f



\f

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
 




 








































\f



\f

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
 




 








































\f



\f

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
 




 








































\f



\f
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;

\f

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
 




 








































\f



# 1 "/usr/local/include/libguile/struct.h" 1 3
 




 








































\f


# 1 "/usr/local/include/libguile/print.h" 1 3
 




 








































\f



# 1 "/usr/local/include/libguile/options.h" 1 3
 




 











































\f



\f

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

\f
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


\f

 



 








 






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;

\f

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


\f

 


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);










\f

 















\f


 































\f



 



\f
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;

\f

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
 




 








































\f



\f

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
 




 








































\f



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
 




 








































\f



\f

extern  scm_t_bits scm_tc16_dir;






\f

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
 




 








































\f


# 1 "/usr/local/include/libguile/root.h" 1 3
 




 








































\f


# 1 "/usr/local/include/libguile/debug.h" 1 3
 




 











































\f




\f

 







 


 


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;





\f

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
 




 








































\f



\f

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


\f





















extern  SCM scm_sys_protects[];

\f

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;



\f

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
 




 








































\f



\f














\f
 







\f

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
 




 








































\f



# 1 "/usr/local/include/libguile/ports.h" 1 3
 




 








































\f






 


\f



 
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;  



\f



 








































\f

 
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;



 


\f

extern  scm_t_ptob_descriptor *scm_ptobs;
extern  long scm_numptob;
extern  long scm_port_table_room;

\f

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


\f

 
typedef struct scm_t_fport {
  int fdes;			 
} scm_t_fport;

extern  scm_t_bits scm_tc16_fport;









 


\f
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
 




 








































\f



# 1 "/usr/local/include/libguile/hooks.h" 1 3
 




 








































\f



 



 




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


\f

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;
\f

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;









\f





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
 




 











































\f



\f

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
 



 







































\f

 








# 1 "/usr/local/include/libguile/validate.h" 1 3
 




 








































 

\f






























































































\f




































 



# 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
 




 








































\f



\f












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
 




 








































\f



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
 




 








































\f



\f

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
 




 








































\f



\f







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
 




 








































\f



\f
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
 




 








































\f



\f

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
 




 








































\f



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
 




 








































\f



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
 




 








































\f



\f

extern  scm_t_bits scm_tc16_keyword;




\f


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
 




 








































\f



\f

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
 




 








































\f



\f
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
 




 








































\f



\f








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
 




 








































\f



\f
extern  scm_t_bits scm_tc16_malloc;





\f

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
 




 








































\f





\f

extern  int scm_module_system_booted_p;
extern  scm_t_bits scm_module_tag;






 




















extern  scm_t_bits scm_tc16_eval_closure;



\f

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
 




 








































\f



\f

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
 




 








































\f




\f

 



 








 













 





 



 




















 




\f

 














 





# 148 "/usr/local/include/libguile/numbers.h" 3





































\f

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;

\f

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
 




 








































\f

 













\f

 












 



























 
































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
 




 








































\f



\f

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
 




 








































\f



\f

















































\f




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
 




 








































\f



\f


\f

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
 




 








































\f



\f

extern  SCM scm_sym_name;
extern  SCM scm_sym_arity;
extern  SCM scm_sym_system_procedure;

\f

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
 




 








































\f



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
 




 








































\f



\f


 


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;

\f

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
 




 








































\f



\f

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
 




 








































\f



\f
 











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;

\f
 


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 *);

\f
 


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);

\f
 


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
 




 








































\f




\f

 

















extern  scm_t_option scm_read_opts[];







\f

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
 




 








































\f



\f

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
 




 








































\f



\f
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
 




 








































\f



\f

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
 




 








































\f




\f
 

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;

\f









































 









extern  long scm_numsmob;
extern  scm_smob_descriptor scm_smobs[];

\f

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
 




 








































\f

 












 

















# 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
 




 








































\f



\f

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
 




 








































\f



\f

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
 




 











































\f



\f

 




















 


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;

\f


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
 




 








































\f







\f

 




























extern  int scm_stack_checking_enabled_p;

\f

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
 




 








































\f



\f
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
 




 








































\f



\f










\f

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);

\f









 




# 110 "/usr/local/include/libguile.h" 2 3

# 1 "/usr/local/include/libguile/strop.h" 1 3
 




 








































\f



\f

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
 




 








































\f



\f

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
 




 








































\f



\f











\f

extern  scm_t_bits scm_tc16_strport;

\f

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
 




 








































\f


\f

 



















\f




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
 




 








































\f



\f

 









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;

































\f

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
 




 








































\f



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
 




 








































\f




\f

 






\f

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
 




 








































\f



\f





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
 




 








































\f



\f

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
 




 








































\f



\f











extern  SCM scm_weak_vectors;

\f

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
 




 











































\f



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
 




 











































\f



 


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;







































\f

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






\f



 




# 30 "guile-gtk.c" 2

# 1 "/usr/local/include/guile/gh.h" 1 3
 







































\f










 








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;
}

\f

 





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);
}

\f

 







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);
}

\f

 

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;
}

\f

 

 


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);
}

\f

 

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);

}

\f

 

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);
}

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Fwd: problem compiling guile-gtk-1.2-0.31]
  2002-10-01 22:27 ` Marius Vollmer
  2002-10-02 17:32   ` Stanislas Pinte
@ 2002-10-02 18:00   ` Stanislas Pinte
  1 sibling, 0 replies; 9+ messages in thread
From: Stanislas Pinte @ 2002-10-02 18:00 UTC (permalink / raw)
  Cc: SmartList

[-- Attachment #1: Type: text/plain, Size: 1723 bytes --]

I see strange things in my guile-gtk.x file....

I included it in case you might have an idea of the problem,

thanks for your help,



Marius Vollmer wrote:

> Stanislas Pinte <alto_stan@wanadoo.be> 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" ))   ;
> 
> 


[-- Attachment #2: guile-gtk.x.gz --]
[-- Type: application/octet-stream, Size: 117714 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Fwd: problem compiling guile-gtk-1.2-0.31]
  2002-10-02 17:32   ` Stanislas Pinte
@ 2002-10-03 18:43     ` Marius Vollmer
  2002-10-04  5:38       ` Stanislas Pinte
  2002-10-04 18:55       ` Keith Wright
  0 siblings, 2 replies; 9+ messages in thread
From: Marius Vollmer @ 2002-10-03 18:43 UTC (permalink / raw)
  Cc: SmartList

(Please don't sent such large mails without asking first.)

Stanislas Pinte <alto_stan@wanadoo.be> writes:

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

Yes, it does help.  It seems to contain the complete output of the
preprocessor, which is wrong.  It should contain only the lines
starting with "^^".

I can't say why this has happened.  Please run

    $ rm guile-gtk.x
    $ make guile-gtk.x

and show the output.  Is guile-gtk.x still incorrect?

-- 
GPG: D5D4E405 - 2F9B BCCC 8527 692A 04E3  331E FAF8 226A D5D4 E405


_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-user


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Fwd: problem compiling guile-gtk-1.2-0.31]
  2002-10-03 18:43     ` Marius Vollmer
@ 2002-10-04  5:38       ` Stanislas Pinte
  2002-10-04  6:33         ` Stanislas Pinte
  2002-10-04 18:55       ` Keith Wright
  1 sibling, 1 reply; 9+ messages in thread
From: Stanislas Pinte @ 2002-10-04  5:38 UTC (permalink / raw)
  Cc: SmartList

Would there be a problem with my environment?

what are the exact requirements to have guile-gtk-1.2-0.31 compile properly?

Any other things than guile-1.6 and gtk-1.2 ?


thanks a lot for your patient help,

Stan.

I include below the head of my compile output, hoping that it might give 
you a clue,


stan@pablo:/usr/local/src/guile/guile-gtk-1.2-0.31 2 $ make
guile -l ./gtk-1.2/config.scm -s ./build-guile-gtk-1.2 -I . glue 
gdk-1.2.defs >tmpd && mv tmpd gdk-glue.c
(reading "gdk-1.2.defs")
guile -l ./gtk-1.2/config.scm -s ./build-guile-gtk-1.2 -I . glue 
gtk-1.2.defs >tmpt && mv tmpt gtk-glue.c
(reading "gtk-1.2.defs")
(reading "gdk-1.2.defs")
guile-snarf -o guile-gtk.x 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

guile-snarf -o gtk-support.x gtk-support.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

make  all-recursive
make[1]: Entering directory `/usr/local/src/guile/guile-gtk-1.2-0.31'
Making all in gtk
make[2]: Entering directory `/usr/local/src/guile/guile-gtk-1.2-0.31/gtk'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/usr/local/src/guile/guile-gtk-1.2-0.31/gtk'
Making all in gtk-1.2
make[2]: Entering directory 
`/usr/local/src/guile/guile-gtk-1.2-0.31/gtk-1.2'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/usr/local/src/guile/guile-gtk-1.2-0.31/gtk-1.2'
Making all in examples
make[2]: Entering directory 
`/usr/local/src/guile/guile-gtk-1.2-0.31/examples'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory 
`/usr/local/src/guile/guile-gtk-1.2-0.31/examples'
make[2]: Entering directory `/usr/local/src/guile/guile-gtk-1.2-0.31'
source='guile-gtk.c' object='guile-gtk.lo' libtool=yes \
depfile='.deps/guile-gtk.Plo' tmpdepfile='.deps/guile-gtk.TPlo' \
depmode=gcc /bin/sh ./depcomp \
/bin/sh ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I. -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 -c -o guile-gtk.lo `test -f 'guile-gtk.c' 
|| echo './'`guile-gtk.c
mkdir .libs
gcc -DHAVE_CONFIG_H -I. -I. -I. -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 -c 
guile-gtk.c -Wp,-MD,.deps/guile-gtk.TPlo  -fPIC -DPIC -o .libs/guile-gtk.lo
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'
In file included from /usr/include/stdio.h:35,
                  from guile-gtk.c:18,
                  from guile-gtk.c:2621:
/usr/include/bits/types.h: At top level:
/usr/include/bits/types.h:78: warning: empty declaration
/usr/include/bits/types.h:81: warning: redefinition of `__daddr_t'
/usr/include/bits/types.h:81: warning: `__daddr_t' previously declared here
/usr/include/bits/types.h:82: warning: redefinition of `__caddr_t'
/usr/include/bits/types.h:82: warning: `__caddr_t' previously declared here
/usr/include/bits/types.h:83: warning: redefinition of `__time_t'
/usr/include/bits/types.h:83: warning: `__time_t' previously declared here
/usr/include/bits/types.h:84: warning: redefinition of `__useconds_t'
/usr/include/bits/types.h:84: warning: `__useconds_t' previously 
declared here
/usr/include/bits/types.h:85: warning: redefinition of `__suseconds_t'
/usr/include/bits/types.h:85: warning: `__suseconds_t' previously 
declared here
/usr/include/bits/types.h:86: warning: redefinition of `__swblk_t'
/usr/include/bits/types.h:86: warning: `__swblk_t' previously declared here
/usr/include/bits/types.h:88: warning: redefinition of `__clock_t'
/usr/include/bits/types.h:88: warning: `__clock_t' previously declared here
/usr/include/bits/types.h:91: warning: redefinition of `__clockid_t'
/usr/include/bits/types.h:91: warning: `__clockid_t' previously declared 
here
/usr/include/bits/types.h:94: warning: redefinition of `__timer_t'
/usr/include/bits/types.h:94: warning: `__timer_t' previously declared here
/usr/include/bits/types.h:101: warning: redefinition of `__key_t'
/usr/include/bits/types.h:101: warning: `__key_t' previously declared here
/usr/include/bits/types.h:104: warning: redefinition of `__ipc_pid_t'
/usr/include/bits/types.h:104: warning: `__ipc_pid_t' previously 
declared here
/usr/include/bits/types.h:108: warning: redefinition of `__blksize_t'
/usr/include/bits/types.h:108: warning: `__blksize_t' previously 
declared here
/usr/include/bits/types.h:113: warning: redefinition of `__blkcnt_t'
/usr/include/bits/types.h:113: warning: `__blkcnt_t' previously declared 
here
/usr/include/bits/types.h:114: warning: redefinition of `__blkcnt64_t'
/usr/include/bits/types.h:114: warning: `__blkcnt64_t' previously 
declared here
/usr/include/bits/types.h:117: warning: redefinition of `__fsblkcnt_t'
/usr/include/bits/types.h:117: warning: `__fsblkcnt_t' previously 
declared here
/usr/include/bits/types.h:118: warning: redefinition of `__fsblkcnt64_t'
/usr/include/bits/types.h:118: warning: `__fsblkcnt64_t' previously 
declared here
/usr/include/bits/types.h:121: warning: redefinition of `__fsfilcnt_t'
/usr/include/bits/types.h:121: warning: `__fsfilcnt_t' previously 
declared here
/usr/include/bits/types.h:122: warning: redefinition of `__fsfilcnt64_t'
/usr/include/bits/types.h:122: warning: `__fsfilcnt64_t' previously 
declared here
/usr/include/bits/types.h:125: warning: redefinition of `__ino64_t'
/usr/include/bits/types.h:125: warning: `__ino64_t' previously declared here
/usr/include/bits/types.h:128: warning: redefinition of `__off64_t'
/usr/include/bits/types.h:128: warning: `__off64_t' previously declared here
/usr/include/bits/types.h:131: warning: redefinition of `__t_scalar_t'
/usr/include/bits/types.h:131: warning: `__t_scalar_t' previously 
declared here
/usr/include/bits/types.h:132: warning: redefinition of `__t_uscalar_t'
/usr/include/bits/types.h:132: warning: `__t_uscalar_t' previously 
declared here
/usr/include/bits/types.h:135: warning: redefinition of `__intptr_t'
/usr/include/bits/types.h:135: warning: `__intptr_t' previously declared 
here
/usr/include/bits/types.h:138: warning: redefinition of `__socklen_t'
/usr/include/bits/types.h:138: warning: `__socklen_t' previously 
declared here
In file included from /usr/include/bits/pthreadtypes.h:23,
                  from /usr/include/bits/types.h:143,
                  from /usr/include/stdio.h:35,
                  from guile-gtk.c:18,
                  from guile-gtk.c:2621:
/usr/include/bits/sched.h:69: redefinition of `struct __sched_param'
In file included from /usr/include/bits/types.h:143,
                  from /usr/include/stdio.h:35,
                  from guile-gtk.c:18,
                  from guile-gtk.c:2621:
/usr/include/bits/pthreadtypes.h:27: redefinition of `struct 
_pthread_fastlock'
/usr/include/bits/pthreadtypes.h:35: warning: redefinition of 
`_pthread_descr'
/usr/include/bits/pthreadtypes.h:35: warning: `_pthread_descr' 
previously declared here
/usr/include/bits/pthreadtypes.h:42: redefinition of `struct 
__pthread_attr_s'
/usr/include/bits/pthreadtypes.h:52: warning: redefinition of 
`pthread_attr_t'
/usr/include/bits/pthreadtypes.h:52: warning: `pthread_attr_t' 
previously declared here
/usr/include/bits/pthreadtypes.h:60: conflicting types for `pthread_cond_t'
/usr/include/bits/pthreadtypes.h:60: previous declaration of 
`pthread_cond_t'
/usr/include/bits/pthreadtypes.h:67: conflicting types for 
`pthread_condattr_t'
/usr/include/bits/pthreadtypes.h:67: previous declaration of 
`pthread_condattr_t'
/usr/include/bits/pthreadtypes.h:70: warning: redefinition of 
`pthread_key_t'
/usr/include/bits/pthreadtypes.h:70: warning: `pthread_key_t' previously 
declared here


Marius Vollmer wrote:

> (Please don't sent such large mails without asking first.)
> 
> Stanislas Pinte <alto_stan@wanadoo.be> writes:
> 
> 
>>If my guile-gtk.x can help you...
>>
> 
> Yes, it does help.  It seems to contain the complete output of the
> preprocessor, which is wrong.  It should contain only the lines
> starting with "^^".
> 
> I can't say why this has happened.  Please run
> 
>     $ rm guile-gtk.x
>     $ make guile-gtk.x
> 
> and show the output.  Is guile-gtk.x still incorrect?
> 
> 




_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-user


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Fwd: problem compiling guile-gtk-1.2-0.31]
  2002-10-04  5:38       ` Stanislas Pinte
@ 2002-10-04  6:33         ` Stanislas Pinte
  2002-10-04 12:39           ` Marius Vollmer
  0 siblings, 1 reply; 9+ messages in thread
From: Stanislas Pinte @ 2002-10-04  6:33 UTC (permalink / raw)
  Cc: Marius Vollmer, SmartList, david Pirotte

APOLOGIES!!!!!


I checked my references, and the path pointed to another guile 
installation than the 1.6.0....

I updated all, and guile-gtk-1.2-0.31
  compiles well with guile-1.6.0!!!

Sorry for all the fuss,


Stan.

Stanislas Pinte wrote:

> Would there be a problem with my environment?
> 
> what are the exact requirements to have guile-gtk-1.2-0.31 compile 
> properly?
> 
> Any other things than guile-1.6 and gtk-1.2 ?
> 
> 
> thanks a lot for your patient help,
> 
> Stan.
> 
> I include below the head of my compile output, hoping that it might give 
> you a clue,
> 
> 
> stan@pablo:/usr/local/src/guile/guile-gtk-1.2-0.31 2 $ make
> guile -l ./gtk-1.2/config.scm -s ./build-guile-gtk-1.2 -I . glue 
> gdk-1.2.defs >tmpd && mv tmpd gdk-glue.c
> (reading "gdk-1.2.defs")
> guile -l ./gtk-1.2/config.scm -s ./build-guile-gtk-1.2 -I . glue 
> gtk-1.2.defs >tmpt && mv tmpt gtk-glue.c
> (reading "gtk-1.2.defs")
> (reading "gdk-1.2.defs")
> guile-snarf -o guile-gtk.x 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
> 
> guile-snarf -o gtk-support.x gtk-support.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
> 
> make  all-recursive
> make[1]: Entering directory `/usr/local/src/guile/guile-gtk-1.2-0.31'
> Making all in gtk
> make[2]: Entering directory `/usr/local/src/guile/guile-gtk-1.2-0.31/gtk'
> make[2]: Nothing to be done for `all'.
> make[2]: Leaving directory `/usr/local/src/guile/guile-gtk-1.2-0.31/gtk'
> Making all in gtk-1.2
> make[2]: Entering directory 
> `/usr/local/src/guile/guile-gtk-1.2-0.31/gtk-1.2'
> make[2]: Nothing to be done for `all'.
> make[2]: Leaving directory 
> `/usr/local/src/guile/guile-gtk-1.2-0.31/gtk-1.2'
> Making all in examples
> make[2]: Entering directory 
> `/usr/local/src/guile/guile-gtk-1.2-0.31/examples'
> make[2]: Nothing to be done for `all'.
> make[2]: Leaving directory 
> `/usr/local/src/guile/guile-gtk-1.2-0.31/examples'
> make[2]: Entering directory `/usr/local/src/guile/guile-gtk-1.2-0.31'
> source='guile-gtk.c' object='guile-gtk.lo' libtool=yes \
> depfile='.deps/guile-gtk.Plo' tmpdepfile='.deps/guile-gtk.TPlo' \
> depmode=gcc /bin/sh ./depcomp \
> /bin/sh ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I. -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 -c -o guile-gtk.lo `test -f 'guile-gtk.c' 
> || echo './'`guile-gtk.c
> mkdir .libs
> gcc -DHAVE_CONFIG_H -I. -I. -I. -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 -c 
> guile-gtk.c -Wp,-MD,.deps/guile-gtk.TPlo  -fPIC -DPIC -o .libs/guile-gtk.lo
> 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'
> In file included from /usr/include/stdio.h:35,
>                  from guile-gtk.c:18,
>                  from guile-gtk.c:2621:
> /usr/include/bits/types.h: At top level:
> /usr/include/bits/types.h:78: warning: empty declaration
> /usr/include/bits/types.h:81: warning: redefinition of `__daddr_t'
> /usr/include/bits/types.h:81: warning: `__daddr_t' previously declared here
> /usr/include/bits/types.h:82: warning: redefinition of `__caddr_t'
> /usr/include/bits/types.h:82: warning: `__caddr_t' previously declared here
> /usr/include/bits/types.h:83: warning: redefinition of `__time_t'
> /usr/include/bits/types.h:83: warning: `__time_t' previously declared here
> /usr/include/bits/types.h:84: warning: redefinition of `__useconds_t'
> /usr/include/bits/types.h:84: warning: `__useconds_t' previously 
> declared here
> /usr/include/bits/types.h:85: warning: redefinition of `__suseconds_t'
> /usr/include/bits/types.h:85: warning: `__suseconds_t' previously 
> declared here
> /usr/include/bits/types.h:86: warning: redefinition of `__swblk_t'
> /usr/include/bits/types.h:86: warning: `__swblk_t' previously declared here
> /usr/include/bits/types.h:88: warning: redefinition of `__clock_t'
> /usr/include/bits/types.h:88: warning: `__clock_t' previously declared here
> /usr/include/bits/types.h:91: warning: redefinition of `__clockid_t'
> /usr/include/bits/types.h:91: warning: `__clockid_t' previously declared 
> here
> /usr/include/bits/types.h:94: warning: redefinition of `__timer_t'
> /usr/include/bits/types.h:94: warning: `__timer_t' previously declared here
> /usr/include/bits/types.h:101: warning: redefinition of `__key_t'
> /usr/include/bits/types.h:101: warning: `__key_t' previously declared here
> /usr/include/bits/types.h:104: warning: redefinition of `__ipc_pid_t'
> /usr/include/bits/types.h:104: warning: `__ipc_pid_t' previously 
> declared here
> /usr/include/bits/types.h:108: warning: redefinition of `__blksize_t'
> /usr/include/bits/types.h:108: warning: `__blksize_t' previously 
> declared here
> /usr/include/bits/types.h:113: warning: redefinition of `__blkcnt_t'
> /usr/include/bits/types.h:113: warning: `__blkcnt_t' previously declared 
> here
> /usr/include/bits/types.h:114: warning: redefinition of `__blkcnt64_t'
> /usr/include/bits/types.h:114: warning: `__blkcnt64_t' previously 
> declared here
> /usr/include/bits/types.h:117: warning: redefinition of `__fsblkcnt_t'
> /usr/include/bits/types.h:117: warning: `__fsblkcnt_t' previously 
> declared here
> /usr/include/bits/types.h:118: warning: redefinition of `__fsblkcnt64_t'
> /usr/include/bits/types.h:118: warning: `__fsblkcnt64_t' previously 
> declared here
> /usr/include/bits/types.h:121: warning: redefinition of `__fsfilcnt_t'
> /usr/include/bits/types.h:121: warning: `__fsfilcnt_t' previously 
> declared here
> /usr/include/bits/types.h:122: warning: redefinition of `__fsfilcnt64_t'
> /usr/include/bits/types.h:122: warning: `__fsfilcnt64_t' previously 
> declared here
> /usr/include/bits/types.h:125: warning: redefinition of `__ino64_t'
> /usr/include/bits/types.h:125: warning: `__ino64_t' previously declared 
> here
> /usr/include/bits/types.h:128: warning: redefinition of `__off64_t'
> /usr/include/bits/types.h:128: warning: `__off64_t' previously declared 
> here
> /usr/include/bits/types.h:131: warning: redefinition of `__t_scalar_t'
> /usr/include/bits/types.h:131: warning: `__t_scalar_t' previously 
> declared here
> /usr/include/bits/types.h:132: warning: redefinition of `__t_uscalar_t'
> /usr/include/bits/types.h:132: warning: `__t_uscalar_t' previously 
> declared here
> /usr/include/bits/types.h:135: warning: redefinition of `__intptr_t'
> /usr/include/bits/types.h:135: warning: `__intptr_t' previously declared 
> here
> /usr/include/bits/types.h:138: warning: redefinition of `__socklen_t'
> /usr/include/bits/types.h:138: warning: `__socklen_t' previously 
> declared here
> In file included from /usr/include/bits/pthreadtypes.h:23,
>                  from /usr/include/bits/types.h:143,
>                  from /usr/include/stdio.h:35,
>                  from guile-gtk.c:18,
>                  from guile-gtk.c:2621:
> /usr/include/bits/sched.h:69: redefinition of `struct __sched_param'
> In file included from /usr/include/bits/types.h:143,
>                  from /usr/include/stdio.h:35,
>                  from guile-gtk.c:18,
>                  from guile-gtk.c:2621:
> /usr/include/bits/pthreadtypes.h:27: redefinition of `struct 
> _pthread_fastlock'
> /usr/include/bits/pthreadtypes.h:35: warning: redefinition of 
> `_pthread_descr'
> /usr/include/bits/pthreadtypes.h:35: warning: `_pthread_descr' 
> previously declared here
> /usr/include/bits/pthreadtypes.h:42: redefinition of `struct 
> __pthread_attr_s'
> /usr/include/bits/pthreadtypes.h:52: warning: redefinition of 
> `pthread_attr_t'
> /usr/include/bits/pthreadtypes.h:52: warning: `pthread_attr_t' 
> previously declared here
> /usr/include/bits/pthreadtypes.h:60: conflicting types for `pthread_cond_t'
> /usr/include/bits/pthreadtypes.h:60: previous declaration of 
> `pthread_cond_t'
> /usr/include/bits/pthreadtypes.h:67: conflicting types for 
> `pthread_condattr_t'
> /usr/include/bits/pthreadtypes.h:67: previous declaration of 
> `pthread_condattr_t'
> /usr/include/bits/pthreadtypes.h:70: warning: redefinition of 
> `pthread_key_t'
> /usr/include/bits/pthreadtypes.h:70: warning: `pthread_key_t' previously 
> declared here
> 
> 
> Marius Vollmer wrote:
> 
>> (Please don't sent such large mails without asking first.)
>>
>> Stanislas Pinte <alto_stan@wanadoo.be> writes:
>>
>>
>>> If my guile-gtk.x can help you...
>>>
>>
>> Yes, it does help.  It seems to contain the complete output of the
>> preprocessor, which is wrong.  It should contain only the lines
>> starting with "^^".
>>
>> I can't say why this has happened.  Please run
>>
>>     $ rm guile-gtk.x
>>     $ make guile-gtk.x
>>
>> and show the output.  Is guile-gtk.x still incorrect?
>>
>>
> 
> 





_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-user


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Fwd: problem compiling guile-gtk-1.2-0.31]
  2002-10-04  6:33         ` Stanislas Pinte
@ 2002-10-04 12:39           ` Marius Vollmer
  0 siblings, 0 replies; 9+ messages in thread
From: Marius Vollmer @ 2002-10-04 12:39 UTC (permalink / raw)
  Cc: SmartList, david Pirotte

Stanislas Pinte <alto_stan@wanadoo.be> writes:

> I checked my references, and the path pointed to another guile
> installation than the 1.6.0....

Ahh!  I could've thought of this.  The "-o" option to guile-snarf is
interpreted differently by older versions of guile-snarf: it is passed
directly to the preprocessor who dutifully dumps its output into the
.x file, without giving guile-snarf the chance to filter it.

> Sorry for all the fuss,

No problem!

-- 
GPG: D5D4E405 - 2F9B BCCC 8527 692A 04E3  331E FAF8 226A D5D4 E405


_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-user


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Fwd: problem compiling guile-gtk-1.2-0.31]
  2002-10-03 18:43     ` Marius Vollmer
  2002-10-04  5:38       ` Stanislas Pinte
@ 2002-10-04 18:55       ` Keith Wright
  1 sibling, 0 replies; 9+ messages in thread
From: Keith Wright @ 2002-10-04 18:55 UTC (permalink / raw)


> From: Marius Vollmer <mvo@zagadka.ping.de>
> 
> (Please don't sent such large mails without asking first.)

You didn't curse at him, threaten to get his ISP to cut
him off, or speculate on his ancestor's sexual habits.

This is admirable restraint, but I fear he may take your
request as one person's mild preference.

To the list manager:
  Can the mailing list be configured to reject postings
  over say 50K?

> Stanislas Pinte <alto_stan@wanadoo.be> writes:

      >>>Two _Megabytes_ of crap!<<<

This list is copied to hundreds of people world-wide, only a
few of whom have any ability or desire to debug your
problem.  Others are attached through slow dial-up lines or
have ISP's that limit the total size of their incoming mail
to a megabyte or two.  They may be missing important
messages because the inbox is full of your computer
generated sludge.

Don't do that again!

> APOLOGIES!!!!!
> 
> I checked my references, and the path pointed to another
> guile installation than the 1.6.0....

If this is an apology for asking questions when the problem
was just your own mis-configuration, then no apology is
needed.  It happens to everybody at least once, sooner or
later.

If it's an apology for the megabyte emails to a mailing
list, I suppose I must be gracious and accept it, but it
it really should have more blood attached.

      -- Keith


_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-user


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2002-10-04 18:55 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-09-30 16:21 [Fwd: problem compiling guile-gtk-1.2-0.31] Stanislas Pinte
2002-10-01 22:27 ` Marius Vollmer
2002-10-02 17:32   ` Stanislas Pinte
2002-10-03 18:43     ` Marius Vollmer
2002-10-04  5:38       ` Stanislas Pinte
2002-10-04  6:33         ` Stanislas Pinte
2002-10-04 12:39           ` Marius Vollmer
2002-10-04 18:55       ` Keith Wright
2002-10-02 18:00   ` Stanislas Pinte

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).