public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: c/6516: 3.1 xfree86 4.0.2 -fpic -frename-registers does not output .L GOT label
@ 2002-04-30 15:32 rth
  0 siblings, 0 replies; 2+ messages in thread
From: rth @ 2002-04-30 15:32 UTC (permalink / raw)
  To: gcc-bugs, gcc-prs, nobody, rth, tmwg

Synopsis: 3.1 xfree86 4.0.2 -fpic -frename-registers does not output .L GOT label

Responsible-Changed-From-To: unassigned->rth
Responsible-Changed-By: rth
Responsible-Changed-When: Tue Apr 30 15:32:07 2002
Responsible-Changed-Why:
    .
State-Changed-From-To: open->analyzed
State-Changed-By: rth
State-Changed-When: Tue Apr 30 15:32:07 2002
State-Changed-Why:
    Last cross-jump pass deleted the tablejump, but not the code
    feeding the tablejump address.

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=6516


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

* c/6516: 3.1 xfree86 4.0.2 -fpic -frename-registers does not output .L GOT label
@ 2002-04-30  7:06 tmwg-gcc
  0 siblings, 0 replies; 2+ messages in thread
From: tmwg-gcc @ 2002-04-30  7:06 UTC (permalink / raw)
  To: gcc-gnats


>Number:         6516
>Category:       c
>Synopsis:       3.1 xfree86 4.0.2 -fpic -frename-registers does not output .L GOT label
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          wrong-code
>Submitter-Id:   net
>Arrival-Date:   Tue Apr 30 07:06:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     George Garvey
>Release:        3.0.99.11 20020425 (prerelease) (locally renumbered from 3.1)
>Organization:
inX Services
>Environment:
System: Linux mwg 2.4.19-pre5ac1N #1 Mon Apr 22 08:44:58 PDT 2002 i686 unknown
Architecture: i686

	
host: i686-inX-linux
build: i686-inX-linux
target: i686-inX-linux
configured with: ../configure --prefix=/usr --exec-prefix=/usr --datadir=/usr/lib --includedir=/usr/local/include --with-gnu-ld --with-gnu-as --with-local-prefix=/usr/local --with-gxx-include-dir=/usr/include/c++3.1 --with-cpp-install-dir=/lib --disable-c-mbchar --enable-threads=posix --with-dwarf2 --enable-shared --disable-nls --with-system-zlib --enable-version-specific-runtime-libs --with-slibdir=/lib --enable-fast-character --enable-interpreter --with-x --enable-clocale=gnu --disable-c-mbchar --enable-c99 --enable-long-long --enable-cheaders=c_std --enable-cxx-flags="-march=i686 -pipe -O2 -fomit-frame-pointer -momit-leaf-frame-pointer -frename-registers -fexpensive-optimizations -fschedule-insns -fschedule-insns2 -malign-stringops -fno-keep-static-consts -fno-keep-inline-functions -fdata-sections -ffunction-sections" --enable-languages=c,c++,gcov,proto --verbose --host=i686-inX-linux --build=i686-inX-linux --target=i686-inX-linux
>Description:
In Xaw/SimpleMenu.c, GetEventEntry, the following line
	movl	.L264@GOTOFF(%ebx,%eax,4), %eax
never has its table emitted into the assembler, so is an undefined label.
>How-To-Repeat:
gcc -c -pipe -O2 -frename-registers -fomit-frame-pointer -momit-leaf-frame-pointer -fexpensive-optimizations -fschedule-insns2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fexpensive-optimizations -fschedule-insns2 -ansi -pedantic -Wall -Wmissing-prototypes -Wmissing-declarations -Wnested-externs    -I../.. -I../../exports/include   -Dlinux -D__i386__ -march=i686 -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE  -D_GNU_SOURCE   -DFUNCPROTO=15 -DNARROWPROTO   -DHAS_WCHAR_H -DHAS_WCTYPE_H -DNO_WIDEC_H -DPROJECT_ROOT=\"/usr/X11\"     -fpic -fomit-frame-pointer -momit-leaf-frame-pointer -g1 SimpleMenu.c


# 1 "SimpleMenu.c"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "SimpleMenu.c"
# 39 "SimpleMenu.c"
# 1 "/usr/lib/gcc/../../i686-inX-linux/include/stdio.h" 1 3
# 28 "/usr/lib/gcc/../../i686-inX-linux/include/stdio.h" 3
# 1 "/usr/lib/gcc/../../i686-inX-linux/include/features.h" 1 3
# 283 "/usr/lib/gcc/../../i686-inX-linux/include/features.h" 3
# 1 "/usr/lib/gcc/../../i686-inX-linux/include/sys/cdefs.h" 1 3
# 284 "/usr/lib/gcc/../../i686-inX-linux/include/features.h" 2 3
# 312 "/usr/lib/gcc/../../i686-inX-linux/include/features.h" 3
# 1 "/usr/lib/gcc/../../i686-inX-linux/include/gnu/stubs.h" 1 3
# 313 "/usr/lib/gcc/../../i686-inX-linux/include/features.h" 2 3
# 29 "/usr/lib/gcc/../../i686-inX-linux/include/stdio.h" 2 3





# 1 "/usr/lib/gcc/i686-inX-linux/3.0.99.11/include/stddef.h" 1 3
# 201 "/usr/lib/gcc/i686-inX-linux/3.0.99.11/include/stddef.h" 3
typedef unsigned int size_t;
# 35 "/usr/lib/gcc/../../i686-inX-linux/include/stdio.h" 2 3

# 1 "/usr/lib/gcc/../../i686-inX-linux/include/bits/types.h" 1 3
# 29 "/usr/lib/gcc/../../i686-inX-linux/include/bits/types.h" 3
# 1 "/usr/lib/gcc/i686-inX-linux/3.0.99.11/include/stddef.h" 1 3
# 30 "/usr/lib/gcc/../../i686-inX-linux/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;
# 49 "/usr/lib/gcc/../../i686-inX-linux/include/bits/types.h" 3
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;

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

typedef __quad_t *__qaddr_t;

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

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


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

typedef long int __clock_t;


typedef int __clockid_t;


typedef int __timer_t;






typedef int __key_t;


typedef unsigned short int __ipc_pid_t;



typedef long int __blksize_t;




typedef long int __blkcnt_t;
typedef __quad_t __blkcnt64_t;


typedef __u_long __fsblkcnt_t;
typedef __u_quad_t __fsblkcnt64_t;


typedef __u_long __fsfilcnt_t;
typedef __u_quad_t __fsfilcnt64_t;


typedef __u_quad_t __ino64_t;


typedef __loff_t __off64_t;


typedef long int __t_scalar_t;
typedef unsigned long int __t_uscalar_t;


typedef int __intptr_t;


typedef unsigned int __socklen_t;




# 1 "/usr/lib/gcc/../../i686-inX-linux/include/bits/pthreadtypes.h" 1 3
# 23 "/usr/lib/gcc/../../i686-inX-linux/include/bits/pthreadtypes.h" 3
# 1 "/usr/lib/gcc/../../i686-inX-linux/include/bits/sched.h" 1 3
# 68 "/usr/lib/gcc/../../i686-inX-linux/include/bits/sched.h" 3
struct __sched_param
  {
    int __sched_priority;
  };
# 24 "/usr/lib/gcc/../../i686-inX-linux/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;




typedef struct _pthread_rwlock_t
{
  struct _pthread_fastlock __rw_lock;
  int __rw_readers;
  _pthread_descr __rw_writer;
  _pthread_descr __rw_read_waiting;
  _pthread_descr __rw_write_waiting;
  int __rw_kind;
  int __rw_pshared;
} pthread_rwlock_t;



typedef struct
{
  int __lockkind;
  int __pshared;
} pthread_rwlockattr_t;




typedef volatile int pthread_spinlock_t;


typedef struct {
  struct _pthread_fastlock __ba_lock;
  int __ba_required;
  int __ba_present;
  _pthread_descr __ba_waiting;
} pthread_barrier_t;


typedef struct {
  int __pshared;
} pthread_barrierattr_t;





typedef unsigned long int pthread_t;
# 144 "/usr/lib/gcc/../../i686-inX-linux/include/bits/types.h" 2 3
# 37 "/usr/lib/gcc/../../i686-inX-linux/include/stdio.h" 2 3
# 45 "/usr/lib/gcc/../../i686-inX-linux/include/stdio.h" 3
typedef struct _IO_FILE FILE;
# 55 "/usr/lib/gcc/../../i686-inX-linux/include/stdio.h" 3
typedef struct _IO_FILE __FILE;
# 65 "/usr/lib/gcc/../../i686-inX-linux/include/stdio.h" 3
# 1 "/usr/lib/gcc/../../i686-inX-linux/include/libio.h" 1 3
# 32 "/usr/lib/gcc/../../i686-inX-linux/include/libio.h" 3
# 1 "/usr/lib/gcc/../../i686-inX-linux/include/_G_config.h" 1 3
# 14 "/usr/lib/gcc/../../i686-inX-linux/include/_G_config.h" 3
# 1 "/usr/lib/gcc/i686-inX-linux/3.0.99.11/include/stddef.h" 1 3
# 294 "/usr/lib/gcc/i686-inX-linux/3.0.99.11/include/stddef.h" 3
typedef long int wchar_t;
# 321 "/usr/lib/gcc/i686-inX-linux/3.0.99.11/include/stddef.h" 3
typedef unsigned int wint_t;
# 15 "/usr/lib/gcc/../../i686-inX-linux/include/_G_config.h" 2 3
# 24 "/usr/lib/gcc/../../i686-inX-linux/include/_G_config.h" 3
# 1 "/usr/lib/gcc/../../i686-inX-linux/include/wchar.h" 1 3
# 48 "/usr/lib/gcc/../../i686-inX-linux/include/wchar.h" 3
# 1 "/usr/lib/gcc/i686-inX-linux/3.0.99.11/include/stddef.h" 1 3
# 49 "/usr/lib/gcc/../../i686-inX-linux/include/wchar.h" 2 3

# 1 "/usr/lib/gcc/../../i686-inX-linux/include/bits/wchar.h" 1 3
# 51 "/usr/lib/gcc/../../i686-inX-linux/include/wchar.h" 2 3
# 67 "/usr/lib/gcc/../../i686-inX-linux/include/wchar.h" 3
typedef struct
{
  int __count;
  union
  {
    wint_t __wch;
    char __wchb[4];
  } __value;
} __mbstate_t;
# 25 "/usr/lib/gcc/../../i686-inX-linux/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;
# 44 "/usr/lib/gcc/../../i686-inX-linux/include/_G_config.h" 3
# 1 "/usr/lib/gcc/../../i686-inX-linux/include/gconv.h" 1 3
# 28 "/usr/lib/gcc/../../i686-inX-linux/include/gconv.h" 3
# 1 "/usr/lib/gcc/../../i686-inX-linux/include/wchar.h" 1 3
# 48 "/usr/lib/gcc/../../i686-inX-linux/include/wchar.h" 3
# 1 "/usr/lib/gcc/i686-inX-linux/3.0.99.11/include/stddef.h" 1 3
# 49 "/usr/lib/gcc/../../i686-inX-linux/include/wchar.h" 2 3
# 29 "/usr/lib/gcc/../../i686-inX-linux/include/gconv.h" 2 3


# 1 "/usr/lib/gcc/i686-inX-linux/3.0.99.11/include/stddef.h" 1 3
# 32 "/usr/lib/gcc/../../i686-inX-linux/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 [];
} *__gconv_t;
# 45 "/usr/lib/gcc/../../i686-inX-linux/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__)));
# 33 "/usr/lib/gcc/../../i686-inX-linux/include/libio.h" 2 3
# 53 "/usr/lib/gcc/../../i686-inX-linux/include/libio.h" 3
# 1 "/usr/lib/gcc/i686-inX-linux/3.0.99.11/include/stdarg.h" 1 3
# 43 "/usr/lib/gcc/i686-inX-linux/3.0.99.11/include/stdarg.h" 3
typedef __builtin_va_list __gnuc_va_list;
# 54 "/usr/lib/gcc/../../i686-inX-linux/include/libio.h" 2 3
# 160 "/usr/lib/gcc/../../i686-inX-linux/include/libio.h" 3
struct _IO_jump_t; struct _IO_FILE;
# 170 "/usr/lib/gcc/../../i686-inX-linux/include/libio.h" 3
typedef void _IO_lock_t;





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



  int _pos;
# 193 "/usr/lib/gcc/../../i686-inX-linux/include/libio.h" 3
};


enum __codecvt_result
{
  __codecvt_ok,
  __codecvt_partial,
  __codecvt_error,
  __codecvt_noconv
};
# 261 "/usr/lib/gcc/../../i686-inX-linux/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;
# 305 "/usr/lib/gcc/../../i686-inX-linux/include/libio.h" 3
  __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_;
# 344 "/usr/lib/gcc/../../i686-inX-linux/include/libio.h" 3
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);




typedef __io_read_fn cookie_read_function_t;
typedef __io_write_fn cookie_write_function_t;
typedef __io_seek_fn cookie_seek_function_t;
typedef __io_close_fn cookie_close_function_t;


typedef struct
{
  __io_read_fn *read;
  __io_write_fn *write;
  __io_seek_fn *seek;
  __io_close_fn *close;
} _IO_cookie_io_functions_t;
typedef _IO_cookie_io_functions_t cookie_io_functions_t;

struct _IO_cookie_file;


extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write,
                             void *__cookie, _IO_cookie_io_functions_t __fns);







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) ;
# 426 "/usr/lib/gcc/../../i686-inX-linux/include/libio.h" 3
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 *) ;
# 456 "/usr/lib/gcc/../../i686-inX-linux/include/libio.h" 3
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 *) ;
# 66 "/usr/lib/gcc/../../i686-inX-linux/include/stdio.h" 2 3




typedef __gnuc_va_list va_list;
# 80 "/usr/lib/gcc/../../i686-inX-linux/include/stdio.h" 3
typedef _G_fpos_t fpos_t;




typedef _G_fpos64_t fpos64_t;
# 129 "/usr/lib/gcc/../../i686-inX-linux/include/stdio.h" 3
# 1 "/usr/lib/gcc/../../i686-inX-linux/include/bits/stdio_lim.h" 1 3
# 130 "/usr/lib/gcc/../../i686-inX-linux/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) ;
# 158 "/usr/lib/gcc/../../i686-inX-linux/include/stdio.h" 3
extern FILE *tmpfile64 (void) ;


extern char *tmpnam (char *__s) ;




extern char *tmpnam_r (char *__s) ;
# 178 "/usr/lib/gcc/../../i686-inX-linux/include/stdio.h" 3
extern char *tempnam (__const char *__dir, __const char *__pfx)
     __attribute__ ((__malloc__));




extern int fclose (FILE *__stream) ;

extern int fflush (FILE *__stream) ;



extern int fflush_unlocked (FILE *__stream) ;




extern int fcloseall (void) ;





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) ;
# 222 "/usr/lib/gcc/../../i686-inX-linux/include/stdio.h" 3
extern FILE *fopen64 (__const char *__restrict __filename,
                      __const char *__restrict __modes) ;
extern FILE *freopen64 (__const char *__restrict __filename,
                        __const char *__restrict __modes,
                        FILE *__restrict __stream) ;




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





extern FILE *fopencookie (void *__restrict __magic_cookie,
                          __const char *__restrict __modes,
                          _IO_cookie_io_functions_t __io_funcs) ;


extern FILE *fmemopen (void *__s, size_t __len, __const char *__modes) ;




extern FILE *open_memstream (char **__restrict __bufloc,
                             size_t *__restrict __sizeloc) ;





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





extern int vasprintf (char **__restrict __ptr, __const char *__restrict __f,
                      __gnuc_va_list __arg)
     __attribute__ ((__format__ (__printf__, 2, 0)));
extern int __asprintf (char **__restrict __ptr,
                       __const char *__restrict __fmt, ...)
     __attribute__ ((__format__ (__printf__, 2, 3)));
extern int asprintf (char **__restrict __ptr,
                     __const char *__restrict __fmt, ...)
     __attribute__ ((__format__ (__printf__, 2, 3)));


extern int vdprintf (int __fd, __const char *__restrict __fmt,
                     __gnuc_va_list __arg)
     __attribute__ ((__format__ (__printf__, 2, 0)));
extern int dprintf (int __fd, __const char *__restrict __fmt, ...)
     __attribute__ ((__format__ (__printf__, 2, 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, ...) ;



extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format,
                    __gnuc_va_list __arg)
     __attribute__ ((__format__ (__scanf__, 2, 0)));


extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg)
     __attribute__ ((__format__ (__scanf__, 1, 0)));


extern int vsscanf (__const char *__restrict __s,
                    __const char *__restrict __format, __gnuc_va_list __arg)
     __attribute__ ((__format__ (__scanf__, 2, 0)));




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


extern int getchar (void) ;
# 365 "/usr/lib/gcc/../../i686-inX-linux/include/stdio.h" 3
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) ;
# 390 "/usr/lib/gcc/../../i686-inX-linux/include/stdio.h" 3
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 *fgets_unlocked (char *__restrict __s, int __n,
                             FILE *__restrict __stream) ;




extern char *gets (char *__s) ;
# 430 "/usr/lib/gcc/../../i686-inX-linux/include/stdio.h" 3
extern __ssize_t __getdelim (char **__restrict __lineptr,
                               size_t *__restrict __n, int __delimiter,
                               FILE *__restrict __stream) ;
extern __ssize_t getdelim (char **__restrict __lineptr,
                             size_t *__restrict __n, int __delimiter,
                             FILE *__restrict __stream) ;


extern __ssize_t getline (char **__restrict __lineptr,
                            size_t *__restrict __n,
                            FILE *__restrict __stream) ;




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



extern int fputs_unlocked (__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) ;
# 493 "/usr/lib/gcc/../../i686-inX-linux/include/stdio.h" 3
extern int fseeko (FILE *__stream, __off_t __off, int __whence) ;

extern __off_t ftello (FILE *__stream) ;



extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos)
     ;

extern int fsetpos (FILE *__stream, __const fpos_t *__pos) ;
# 527 "/usr/lib/gcc/../../i686-inX-linux/include/stdio.h" 3
extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence) ;
extern __off64_t ftello64 (FILE *__stream) ;
extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos)
     ;
extern int fsetpos64 (FILE *__stream, __const fpos64_t *__pos) ;



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





extern char *cuserid (char *__s) ;




struct obstack;


extern int obstack_printf (struct obstack *__restrict __obstack,
                           __const char *__restrict __format, ...) ;
extern int obstack_vprintf (struct obstack *__restrict __obstack,
                            __const char *__restrict __format,
                            __gnuc_va_list __args) ;







extern void flockfile (FILE *__stream) ;



extern int ftrylockfile (FILE *__stream) ;


extern void funlockfile (FILE *__stream) ;
# 634 "/usr/lib/gcc/../../i686-inX-linux/include/stdio.h" 3
# 1 "/usr/lib/gcc/../../i686-inX-linux/include/bits/stdio.h" 1 3
# 33 "/usr/lib/gcc/../../i686-inX-linux/include/bits/stdio.h" 3
extern __inline int
vprintf (__const char *__restrict __fmt, __gnuc_va_list __arg)
{
  return vfprintf (stdout, __fmt, __arg);
}
# 51 "/usr/lib/gcc/../../i686-inX-linux/include/bits/stdio.h" 3
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++);
}
# 78 "/usr/lib/gcc/../../i686-inX-linux/include/bits/stdio.h" 3
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 __ssize_t
getline (char **__lineptr, size_t *__n, FILE *__stream)
{
  return __getdelim (__lineptr, __n, '\n', __stream);
}





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


extern __inline int
ferror_unlocked (FILE *__stream)
{
  return (((__stream)->_flags & 0x20) != 0);
}
# 635 "/usr/lib/gcc/../../i686-inX-linux/include/stdio.h" 2 3
# 644 "/usr/lib/gcc/../../i686-inX-linux/include/stdio.h" 3
extern __inline int
fflush (FILE *__stream) {
        return fflush_unlocked(__stream);
}



extern __inline int
getc(FILE *__stream) {

        return ((__stream)->_IO_read_ptr >= (__stream)->_IO_read_end ? __uflow (__stream) : *(unsigned char *) (__stream)->_IO_read_ptr++);



}
extern __inline int
getchar(void) {

        return ((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++);



}


extern __inline int
fgetc(FILE *__stream) {
        return fgetc_unlocked(__stream);
}
extern __inline int
fputc(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(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(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 char *
fgets(char *__restrict __s, int __n, FILE *__restrict __stream) {
        return fgets_unlocked(__s, __n, __stream);
}
extern __inline int
fputs(__const char *__restrict __s, FILE *__restrict __stream) {
        return fputs_unlocked(__s, __stream);
}






extern __inline void
clearerr(FILE *__stream) {
        clearerr_unlocked(__stream);
}
extern __inline int
feof(FILE *__stream) {

        return (((__stream)->_flags & 0x10) != 0);



}
extern __inline int
ferror(FILE *__stream) {

        return (((__stream)->_flags & 0x20) != 0);



}
extern __inline int
fileno(FILE *__stream) {
        return fileno_unlocked(__stream);
}





# 40 "SimpleMenu.c" 2
# 1 "../../exports/include/X11/IntrinsicP.h" 1
# 53 "../../exports/include/X11/IntrinsicP.h"
# 1 "../../exports/include/X11/Intrinsic.h" 1
# 56 "../../exports/include/X11/Intrinsic.h"
# 1 "../../exports/include/X11/Xlib.h" 1
# 51 "../../exports/include/X11/Xlib.h"
# 1 "/usr/lib/gcc/../../i686-inX-linux/include/sys/types.h" 1 3
# 28 "/usr/lib/gcc/../../i686-inX-linux/include/sys/types.h" 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 __ino64_t ino64_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 __off64_t off64_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;
# 132 "/usr/lib/gcc/../../i686-inX-linux/include/sys/types.h" 3
# 1 "/usr/lib/gcc/../../i686-inX-linux/include/time.h" 1 3
# 59 "/usr/lib/gcc/../../i686-inX-linux/include/time.h" 3
typedef __clock_t clock_t;
# 70 "/usr/lib/gcc/../../i686-inX-linux/include/time.h" 3
typedef __time_t time_t;
# 82 "/usr/lib/gcc/../../i686-inX-linux/include/time.h" 3
typedef __clockid_t clockid_t;
# 94 "/usr/lib/gcc/../../i686-inX-linux/include/time.h" 3
typedef __timer_t timer_t;
# 133 "/usr/lib/gcc/../../i686-inX-linux/include/sys/types.h" 2 3



typedef __useconds_t useconds_t;



typedef __suseconds_t suseconds_t;





# 1 "/usr/lib/gcc/i686-inX-linux/3.0.99.11/include/stddef.h" 1 3
# 147 "/usr/lib/gcc/../../i686-inX-linux/include/sys/types.h" 2 3



typedef unsigned long int ulong;
typedef unsigned short int ushort;
typedef unsigned int uint;
# 190 "/usr/lib/gcc/../../i686-inX-linux/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__)));
# 212 "/usr/lib/gcc/../../i686-inX-linux/include/sys/types.h" 3
# 1 "/usr/lib/gcc/../../i686-inX-linux/include/endian.h" 1 3
# 37 "/usr/lib/gcc/../../i686-inX-linux/include/endian.h" 3
# 1 "/usr/lib/gcc/../../i686-inX-linux/include/bits/endian.h" 1 3
# 38 "/usr/lib/gcc/../../i686-inX-linux/include/endian.h" 2 3
# 213 "/usr/lib/gcc/../../i686-inX-linux/include/sys/types.h" 2 3


# 1 "/usr/lib/gcc/../../i686-inX-linux/include/sys/select.h" 1 3
# 31 "/usr/lib/gcc/../../i686-inX-linux/include/sys/select.h" 3
# 1 "/usr/lib/gcc/../../i686-inX-linux/include/bits/select.h" 1 3
# 32 "/usr/lib/gcc/../../i686-inX-linux/include/sys/select.h" 2 3


# 1 "/usr/lib/gcc/../../i686-inX-linux/include/bits/sigset.h" 1 3
# 23 "/usr/lib/gcc/../../i686-inX-linux/include/bits/sigset.h" 3
typedef int __sig_atomic_t;




typedef struct
  {
    unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
  } __sigset_t;
# 35 "/usr/lib/gcc/../../i686-inX-linux/include/sys/select.h" 2 3



typedef __sigset_t sigset_t;





# 1 "/usr/lib/gcc/../../i686-inX-linux/include/time.h" 1 3
# 106 "/usr/lib/gcc/../../i686-inX-linux/include/time.h" 3
struct timespec
  {
    __time_t tv_sec;
    long int tv_nsec;
  };
# 45 "/usr/lib/gcc/../../i686-inX-linux/include/sys/select.h" 2 3

# 1 "/usr/lib/gcc/../../i686-inX-linux/include/bits/time.h" 1 3
# 67 "/usr/lib/gcc/../../i686-inX-linux/include/bits/time.h" 3
struct timeval
  {
    __time_t tv_sec;
    __suseconds_t tv_usec;
  };
# 47 "/usr/lib/gcc/../../i686-inX-linux/include/sys/select.h" 2 3
# 55 "/usr/lib/gcc/../../i686-inX-linux/include/sys/select.h" 3
typedef long int __fd_mask;







typedef struct
  {



    __fd_mask fds_bits[1024 / (8 * sizeof (__fd_mask))];





  } fd_set;






typedef __fd_mask fd_mask;
# 95 "/usr/lib/gcc/../../i686-inX-linux/include/sys/select.h" 3







extern int select (int __nfds, fd_set *__restrict __readfds,
                   fd_set *__restrict __writefds,
                   fd_set *__restrict __exceptfds,
                   struct timeval *__restrict __timeout) ;





extern int pselect (int __nfds, fd_set *__restrict __readfds,
                    fd_set *__restrict __writefds,
                    fd_set *__restrict __exceptfds,
                    const struct timespec *__restrict __timeout,
                    const __sigset_t *__restrict __sigmask) ;



# 216 "/usr/lib/gcc/../../i686-inX-linux/include/sys/types.h" 2 3


# 1 "/usr/lib/gcc/../../i686-inX-linux/include/sys/sysmacros.h" 1 3
# 219 "/usr/lib/gcc/../../i686-inX-linux/include/sys/types.h" 2 3




typedef __blksize_t blksize_t;






typedef __blkcnt_t blkcnt_t;



typedef __fsblkcnt_t fsblkcnt_t;



typedef __fsfilcnt_t fsfilcnt_t;
# 257 "/usr/lib/gcc/../../i686-inX-linux/include/sys/types.h" 3
typedef __blkcnt64_t blkcnt64_t;
typedef __fsblkcnt64_t fsblkcnt64_t;
typedef __fsfilcnt64_t fsfilcnt64_t;



# 52 "../../exports/include/X11/Xlib.h" 2



# 1 "../../exports/include/X11/X.h" 1
# 71 "../../exports/include/X11/X.h"
typedef unsigned long XID;



typedef unsigned long Mask;



typedef unsigned long Atom;

typedef unsigned long VisualID;
typedef unsigned long Time;
# 101 "../../exports/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;
# 56 "../../exports/include/X11/Xlib.h" 2


# 1 "../../exports/include/X11/Xfuncproto.h" 1
# 59 "../../exports/include/X11/Xlib.h" 2
# 1 "../../exports/include/X11/Xosdefs.h" 1
# 60 "../../exports/include/X11/Xlib.h" 2
# 72 "../../exports/include/X11/Xlib.h"
# 1 "/usr/lib/gcc/i686-inX-linux/3.0.99.11/include/stddef.h" 1 3
# 147 "/usr/lib/gcc/i686-inX-linux/3.0.99.11/include/stddef.h" 3
typedef int ptrdiff_t;
# 73 "../../exports/include/X11/Xlib.h" 2
# 94 "../../exports/include/X11/Xlib.h"
typedef char *XPointer;
# 166 "../../exports/include/X11/Xlib.h"
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);
# 412 "../../exports/include/X11/Xlib.h"
        } 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;
# 506 "../../exports/include/X11/Xlib.h"
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;
# 582 "../../exports/include/X11/Xlib.h"
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;
# 1116 "../../exports/include/X11/Xlib.h"
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;
# 1235 "../../exports/include/X11/Xlib.h"
typedef void *XVaNestedList;




typedef struct {
    XPointer client_data;
    XIMProc callback;
} XIMCallback;

typedef struct {
    XPointer client_data;
    XICProc callback;
} XICCallback;

typedef unsigned long XIMFeedback;
# 1262 "../../exports/include/X11/Xlib.h"
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;
# 1296 "../../exports/include/X11/Xlib.h"
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* ,



    KeyCode ,

    int

);

extern XModifierKeymap *XGetModifierMapping(

    Display*

);

extern XModifierKeymap *XInsertModifiermapEntry(

    XModifierKeymap* ,



    KeyCode ,

    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* ,



    KeyCode ,

    int

);
extern KeySym XLookupKeysym(

    XKeyEvent* ,
    int

);
extern KeySym *XGetKeyboardMapping(

    Display* ,



    KeyCode ,

    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 char *XSetIMValues(

    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

);

extern int _Xmbtowc(

    wchar_t * ,




    char * ,
    int


);

extern int _Xwctomb(

    char * ,
    wchar_t

);


# 57 "../../exports/include/X11/Intrinsic.h" 2
# 1 "../../exports/include/X11/Xutil.h" 1
# 74 "../../exports/include/X11/Xutil.h"
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;
# 112 "../../exports/include/X11/Xutil.h"
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;
# 156 "../../exports/include/X11/Xutil.h"
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;
# 205 "../../exports/include/X11/Xutil.h"
typedef struct _XComposeStatus {
    XPointer compose_ptr;
    int chars_matched;
} XComposeStatus;
# 238 "../../exports/include/X11/Xutil.h"
typedef struct _XRegion *Region;
# 252 "../../exports/include/X11/Xutil.h"
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;
# 285 "../../exports/include/X11/Xutil.h"
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;
# 322 "../../exports/include/X11/Xutil.h"
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

);


# 58 "../../exports/include/X11/Intrinsic.h" 2
# 1 "../../exports/include/X11/Xresource.h" 1
# 68 "../../exports/include/X11/Xresource.h"








extern char *Xpermalloc(

    unsigned int

);







typedef int XrmQuark, *XrmQuarkList;


typedef char *XrmString;



extern XrmQuark XrmStringToQuark(

    const char*

);

extern XrmQuark XrmPermStringToQuark(

    const char*

);


extern XrmString XrmQuarkToString(

    XrmQuark

);

extern XrmQuark XrmUniqueQuark(

    void

);
# 129 "../../exports/include/X11/Xresource.h"
typedef enum {XrmBindTightly, XrmBindLoosely} XrmBinding, *XrmBindingList;

extern void XrmStringToQuarkList(

    const char* ,
    XrmQuarkList

);

extern void XrmStringToBindingQuarkList(

    const char* ,
    XrmBindingList ,
    XrmQuarkList

);







typedef XrmQuark XrmName;
typedef XrmQuarkList XrmNameList;




typedef XrmQuark XrmClass;
typedef XrmQuarkList XrmClassList;
# 172 "../../exports/include/X11/Xresource.h"
typedef XrmQuark XrmRepresentation;



typedef struct {
    unsigned int size;
    XPointer addr;
} XrmValue, *XrmValuePtr;
# 188 "../../exports/include/X11/Xresource.h"
typedef struct _XrmHashBucketRec *XrmHashBucket;
typedef XrmHashBucket *XrmHashTable;
typedef XrmHashTable XrmSearchList[];
typedef struct _XrmHashBucketRec *XrmDatabase;


extern void XrmDestroyDatabase(

    XrmDatabase

);

extern void XrmQPutResource(

    XrmDatabase* ,
    XrmBindingList ,
    XrmQuarkList ,
    XrmRepresentation ,
    XrmValue*

);

extern void XrmPutResource(

    XrmDatabase* ,
    const char* ,
    const char* ,
    XrmValue*

);

extern void XrmQPutStringResource(

    XrmDatabase* ,
    XrmBindingList ,
    XrmQuarkList ,
    const char*

);

extern void XrmPutStringResource(

    XrmDatabase* ,
    const char* ,
    const char*

);

extern void XrmPutLineResource(

    XrmDatabase* ,
    const char*

);

extern int XrmQGetResource(

    XrmDatabase ,
    XrmNameList ,
    XrmClassList ,
    XrmRepresentation* ,
    XrmValue*

);

extern int XrmGetResource(

    XrmDatabase ,
    const char* ,
    const char* ,
    char** ,
    XrmValue*

);

extern int XrmQGetSearchList(

    XrmDatabase ,
    XrmNameList ,
    XrmClassList ,
    XrmSearchList ,
    int

);

extern int XrmQGetSearchResource(

    XrmSearchList ,
    XrmName ,
    XrmClass ,
    XrmRepresentation* ,
    XrmValue*

);
# 291 "../../exports/include/X11/Xresource.h"
extern void XrmSetDatabase(

    Display* ,
    XrmDatabase

);

extern XrmDatabase XrmGetDatabase(

    Display*

);



extern XrmDatabase XrmGetFileDatabase(

    const char*

);

extern int XrmCombineFileDatabase(

    const char* ,
    XrmDatabase* ,
    int

);

extern XrmDatabase XrmGetStringDatabase(

    const char*

);

extern void XrmPutFileDatabase(

    XrmDatabase ,
    const char*

);

extern void XrmMergeDatabases(

    XrmDatabase ,
    XrmDatabase*

);

extern void XrmCombineDatabase(

    XrmDatabase ,
    XrmDatabase* ,
    int

);




extern int XrmEnumerateDatabase(

    XrmDatabase ,
    XrmNameList ,
    XrmClassList ,
    int ,
    int (*)(

             XrmDatabase* ,
             XrmBindingList ,
             XrmQuarkList ,
             XrmRepresentation* ,
             XrmValue* ,
             XPointer

             ) ,
    XPointer

);

extern const char *XrmLocaleOfDatabase(

    XrmDatabase

);
# 384 "../../exports/include/X11/Xresource.h"
typedef enum {
    XrmoptionNoArg,
    XrmoptionIsArg,
    XrmoptionStickyArg,
    XrmoptionSepArg,
    XrmoptionResArg,
    XrmoptionSkipArg,
    XrmoptionSkipLine,
    XrmoptionSkipNArgs

} XrmOptionKind;

typedef struct {
    char *option;
    char *specifier;
    XrmOptionKind argKind;
    XPointer value;
} XrmOptionDescRec, *XrmOptionDescList;


extern void XrmParseCommand(

    XrmDatabase* ,
    XrmOptionDescList ,
    int ,
    const char* ,
    int* ,
    char**

);


# 59 "../../exports/include/X11/Intrinsic.h" 2





# 1 "/usr/lib/gcc/../../i686-inX-linux/include/string.h" 1 3
# 28 "/usr/lib/gcc/../../i686-inX-linux/include/string.h" 3





# 1 "/usr/lib/gcc/i686-inX-linux/3.0.99.11/include/stddef.h" 1 3
# 34 "/usr/lib/gcc/../../i686-inX-linux/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)
     __attribute__ ((__pure__));


extern void *memchr (__const void *__s, int __c, size_t __n)
      __attribute__ ((__pure__));




extern void *rawmemchr (__const void *__s, int __c) __attribute__ ((__pure__));


extern void *memrchr (__const void *__s, int __c, size_t __n)
      __attribute__ ((__pure__));




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

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

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


extern int strcmp (__const char *__s1, __const char *__s2)
     __attribute__ ((__pure__));

extern int strncmp (__const char *__s1, __const char *__s2, size_t __n)
     __attribute__ ((__pure__));


extern int strcoll (__const char *__s1, __const char *__s2)
     __attribute__ ((__pure__));

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





# 1 "/usr/lib/gcc/../../i686-inX-linux/include/xlocale.h" 1 3
# 28 "/usr/lib/gcc/../../i686-inX-linux/include/xlocale.h" 3
typedef struct __locale_struct
{

  struct locale_data *__locales[13];


  const unsigned short int *__ctype_b;
  const int *__ctype_tolower;
  const int *__ctype_toupper;
} *__locale_t;
# 115 "/usr/lib/gcc/../../i686-inX-linux/include/string.h" 2 3


extern int __strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l)
     __attribute__ ((__pure__));

extern size_t __strxfrm_l (char *__dest, __const char *__src, size_t __n,
                           __locale_t __l) ;




extern char *strdup (__const char *__s) __attribute__ ((__malloc__));






extern char *strndup (__const char *__string, size_t __n)
     __attribute__ ((__malloc__));
# 161 "/usr/lib/gcc/../../i686-inX-linux/include/string.h" 3
extern char *strchr (__const char *__s, int __c) __attribute__ ((__pure__));

extern char *strrchr (__const char *__s, int __c) __attribute__ ((__pure__));




extern char *strchrnul (__const char *__s, int __c) __attribute__ ((__pure__));




extern size_t strcspn (__const char *__s, __const char *__reject)
     __attribute__ ((__pure__));


extern size_t strspn (__const char *__s, __const char *__accept)
     __attribute__ ((__pure__));

extern char *strpbrk (__const char *__s, __const char *__accept)
     __attribute__ ((__pure__));

extern char *strstr (__const char *__haystack, __const char *__needle)
     __attribute__ ((__pure__));



extern char *strcasestr (__const char *__haystack, __const char *__needle)
     __attribute__ ((__pure__));



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






extern void *memmem (__const void *__haystack, size_t __haystacklen,
                     __const void *__needle, size_t __needlelen)
     __attribute__ ((__pure__));



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




extern size_t strlen (__const char *__s) __attribute__ ((__pure__));




extern size_t strnlen (__const char *__string, size_t __maxlen)
     __attribute__ ((__pure__));




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


extern char *index (__const char *__s, int __c) __attribute__ ((__pure__));


extern char *rindex (__const char *__s, int __c) __attribute__ ((__pure__));



extern int ffs (int __i) __attribute__ ((__const__));




extern int ffsl (long int __l) __attribute__ ((__const__));

__extension__ extern int ffsll (long long int __ll)
     __attribute__ ((__const__));




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


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





extern int __strcasecmp_l (__const char *__s1, __const char *__s2,
                           __locale_t __loc) __attribute__ ((__pure__));

extern int __strncasecmp_l (__const char *__s1, __const char *__s2,
                            size_t __n, __locale_t __loc)
     __attribute__ ((__pure__));





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




extern int strverscmp (__const char *__s1, __const char *__s2)
     __attribute__ ((__pure__));


extern char *strsignal (int __sig) ;


extern char *__stpcpy (char *__restrict __dest, __const char *__restrict __src)
     ;
extern char *stpcpy (char *__restrict __dest, __const char *__restrict __src)
     ;



extern char *__stpncpy (char *__restrict __dest,
                        __const char *__restrict __src, size_t __n) ;
extern char *stpncpy (char *__restrict __dest,
                      __const char *__restrict __src, size_t __n) ;


extern char *strfry (char *__string) ;


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






extern char *basename (__const char *__filename) ;
# 363 "/usr/lib/gcc/../../i686-inX-linux/include/string.h" 3
# 1 "/usr/lib/gcc/../../i686-inX-linux/include/bits/string.h" 1 3
# 364 "/usr/lib/gcc/../../i686-inX-linux/include/string.h" 2 3


# 1 "/usr/lib/gcc/../../i686-inX-linux/include/bits/string2.h" 1 3
# 221 "/usr/lib/gcc/../../i686-inX-linux/include/bits/string2.h" 3
extern __inline void *__mempcpy_small (void *, char, char, char, char,
                                       __uint16_t, __uint16_t, __uint32_t,
                                       __uint32_t, size_t);
extern __inline void *
__mempcpy_small (void *__dest1,
                 char __src0_1, char __src2_1, char __src4_1, char __src6_1,
                 __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;
    unsigned char __c;
  } *__u = __dest1;
  switch ((unsigned int) __srclen)
    {
    case 1:
      __u->__c = __src0_1;
      __u = __extension__ ((void *) __u + 1);
      break;
    case 2:
      __u->__usi = __src0_2;
      __u = __extension__ ((void *) __u + 2);
      break;
    case 3:
      __u->__usi = __src0_2;
      __u = __extension__ ((void *) __u + 2);
      __u->__c = __src2_1;
      __u = __extension__ ((void *) __u + 1);
      break;
    case 4:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 4);
      break;
    case 5:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 4);
      __u->__c = __src4_1;
      __u = __extension__ ((void *) __u + 1);
      break;
    case 6:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 4);
      __u->__usi = __src4_2;
      __u = __extension__ ((void *) __u + 2);
      break;
    case 7:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 4);
      __u->__usi = __src4_2;
      __u = __extension__ ((void *) __u + 2);
      __u->__c = __src6_1;
      __u = __extension__ ((void *) __u + 1);
      break;
    case 8:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 4);
      __u->__ui = __src4_4;
      __u = __extension__ ((void *) __u + 4);
      break;
    }
  return (void *) __u;
}
# 377 "/usr/lib/gcc/../../i686-inX-linux/include/bits/string2.h" 3
extern void *__rawmemchr (const void *__s, int __c);
# 405 "/usr/lib/gcc/../../i686-inX-linux/include/bits/string2.h" 3
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;
}
# 570 "/usr/lib/gcc/../../i686-inX-linux/include/bits/string2.h" 3
extern __inline char *__stpcpy_small (char *, __uint16_t, __uint16_t,
                                      __uint32_t, __uint32_t, size_t);
extern __inline char *
__stpcpy_small (char *__dest,
                __uint16_t __src0_2, __uint16_t __src4_2,
                __uint32_t __src0_4, __uint32_t __src4_4,
                size_t __srclen)
{
  union {
    unsigned int __ui;
    unsigned short int __usi;
    unsigned char __uc;
    char __c;
  } *__u = (void *) __dest;
  switch ((unsigned int) __srclen)
    {
    case 1:
      __u->__uc = '\0';
      break;
    case 2:
      __u->__usi = __src0_2;
      __u = __extension__ ((void *) __u + 1);
      break;
    case 3:
      __u->__usi = __src0_2;
      __u = __extension__ ((void *) __u + 2);
      __u->__uc = '\0';
      break;
    case 4:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 3);
      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;
      __u = __extension__ ((void *) __u + 1);
      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;
      __u = __extension__ ((void *) __u + 3);
      break;
    }
  return &__u->__c;
}
# 893 "/usr/lib/gcc/../../i686-inX-linux/include/bits/string2.h" 3
extern __inline size_t __strcspn_c1 (__const char *__s, int __reject);
extern __inline size_t
__strcspn_c1 (__const char *__s, int __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, int __reject1,
                                     int __reject2);
extern __inline size_t
__strcspn_c2 (__const char *__s, int __reject1, int __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, int __reject1,
                                     int __reject2, int __reject3);
extern __inline size_t
__strcspn_c3 (__const char *__s, int __reject1, int __reject2,
              int __reject3)
{
  register size_t __result = 0;
  while (__s[__result] != '\0' && __s[__result] != __reject1
         && __s[__result] != __reject2 && __s[__result] != __reject3)
    ++__result;
  return __result;
}
# 950 "/usr/lib/gcc/../../i686-inX-linux/include/bits/string2.h" 3
extern __inline size_t __strspn_c1 (__const char *__s, int __accept);
extern __inline size_t
__strspn_c1 (__const char *__s, int __accept)
{
  register size_t __result = 0;

  while (__s[__result] == __accept)
    ++__result;
  return __result;
}

extern __inline size_t __strspn_c2 (__const char *__s, int __accept1,
                                    int __accept2);
extern __inline size_t
__strspn_c2 (__const char *__s, int __accept1, int __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, int __accept1,
                                    int __accept2, int __accept3);
extern __inline size_t
__strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3)
{
  register size_t __result = 0;

  while (__s[__result] == __accept1 || __s[__result] == __accept2
         || __s[__result] == __accept3)
    ++__result;
  return __result;
}
# 1007 "/usr/lib/gcc/../../i686-inX-linux/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;
}
# 1059 "/usr/lib/gcc/../../i686-inX-linux/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;
  __result = ((void *)0);
  if (*__s != '\0')
    {
      __result = __s++;
      while (*__s != '\0')
        if (*__s++ == __sep)
          {
            __s[-1] = '\0';
            break;
          }
      *__nextp = __s;
    }
  return __result;
}
# 1091 "/usr/lib/gcc/../../i686-inX-linux/include/bits/string2.h" 3
extern char *__strsep_g (char **__stringp, __const char *__delim);
# 1109 "/usr/lib/gcc/../../i686-inX-linux/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) && (*__s = (__extension__ (__builtin_constant_p (__reject) && (__reject) == '\0' ? (char *) __rawmemchr (__retval, __reject) : strchr (__retval, __reject)))) != ((void *)0))
    *(*__s)++ = '\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))
    {
      register char *__cp = __retval;
      while (1)
        {
          if (*__cp == '\0')
            {
              __cp = ((void *)0);
          break;
            }
          if (*__cp == __reject1 || *__cp == __reject2)
            {
              *__cp++ = '\0';
              break;
            }
          ++__cp;
        }
      *__s = __cp;
    }
  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))
    {
      register char *__cp = __retval;
      while (1)
        {
          if (*__cp == '\0')
            {
              __cp = ((void *)0);
          break;
            }
          if (*__cp == __reject1 || *__cp == __reject2 || *__cp == __reject3)
            {
              *__cp++ = '\0';
              break;
            }
          ++__cp;
        }
      *__s = __cp;
    }
  return __retval;
}
# 1185 "/usr/lib/gcc/../../i686-inX-linux/include/bits/string2.h" 3
# 1 "/usr/lib/gcc/../../i686-inX-linux/include/stdlib.h" 1 3
# 33 "/usr/lib/gcc/../../i686-inX-linux/include/stdlib.h" 3
# 1 "/usr/lib/gcc/i686-inX-linux/3.0.99.11/include/stddef.h" 1 3
# 34 "/usr/lib/gcc/../../i686-inX-linux/include/stdlib.h" 2 3


# 527 "/usr/lib/gcc/../../i686-inX-linux/include/stdlib.h" 3
extern void *malloc (size_t __size) __attribute__ ((__malloc__));

extern void *calloc (size_t __nmemb, size_t __size)
     __attribute__ ((__malloc__));
# 864 "/usr/lib/gcc/../../i686-inX-linux/include/stdlib.h" 3

# 1186 "/usr/lib/gcc/../../i686-inX-linux/include/bits/string2.h" 2 3




extern char *__strdup (__const char *__string) __attribute__ ((__malloc__));
# 1209 "/usr/lib/gcc/../../i686-inX-linux/include/bits/string2.h" 3
extern char *__strndup (__const char *__string, size_t __n)
     __attribute__ ((__malloc__));
# 367 "/usr/lib/gcc/../../i686-inX-linux/include/string.h" 2 3




# 65 "../../exports/include/X11/Intrinsic.h" 2




typedef char *String;
# 97 "../../exports/include/X11/Intrinsic.h"
# 1 "/usr/lib/gcc/i686-inX-linux/3.0.99.11/include/stddef.h" 1 3
# 98 "../../exports/include/X11/Intrinsic.h" 2
# 114 "../../exports/include/X11/Intrinsic.h"
typedef struct _WidgetRec *Widget;
typedef Widget *WidgetList;
typedef struct _WidgetClassRec *WidgetClass;
typedef struct _CompositeRec *CompositeWidget;
typedef struct _XtActionsRec *XtActionList;
typedef struct _XtEventRec *XtEventTable;

typedef struct _XtAppStruct *XtAppContext;
typedef unsigned long XtValueMask;
typedef unsigned long XtIntervalId;
typedef unsigned long XtInputId;
typedef unsigned long XtWorkProcId;
typedef unsigned long XtSignalId;
typedef unsigned int XtGeometryMask;
typedef unsigned long XtGCMask;
typedef unsigned long Pixel;
typedef int XtCacheType;
# 162 "../../exports/include/X11/Intrinsic.h"
typedef char Boolean;
typedef long XtArgVal;
typedef unsigned char XtEnum;


typedef unsigned int Cardinal;
typedef unsigned short Dimension;
typedef short Position;


typedef void* XtPointer;






typedef XtPointer Opaque;

# 1 "../../exports/include/X11/Core.h" 1
# 56 "../../exports/include/X11/Core.h"
typedef struct _WidgetClassRec *CoreWidgetClass;
typedef struct _WidgetRec *CoreWidget;
extern WidgetClass coreWidgetClass;


extern WidgetClass widgetClass;
# 182 "../../exports/include/X11/Intrinsic.h" 2
# 1 "../../exports/include/X11/Composite.h" 1
# 53 "../../exports/include/X11/Composite.h"
typedef struct _CompositeClassRec *CompositeWidgetClass;

typedef Cardinal (*XtOrderProc)(

    Widget

);



extern void XtManageChildren(

    WidgetList ,
    Cardinal

);

extern void XtManageChild(

    Widget

);

extern void XtUnmanageChildren(

    WidgetList ,
    Cardinal

);

extern void XtUnmanageChild(

    Widget

);

typedef void (*XtDoChangeProc)(

    Widget ,
    WidgetList ,
    Cardinal * ,
    WidgetList ,
    Cardinal * ,
    XtPointer

);

extern void XtChangeManagedSet(

    WidgetList ,
    Cardinal ,
    XtDoChangeProc ,
    XtPointer ,
    WidgetList ,
    Cardinal

);




extern WidgetClass compositeWidgetClass;
# 183 "../../exports/include/X11/Intrinsic.h" 2
# 1 "../../exports/include/X11/Constraint.h" 1
# 53 "../../exports/include/X11/Constraint.h"
typedef struct _ConstraintClassRec *ConstraintWidgetClass;


extern WidgetClass constraintWidgetClass;
# 184 "../../exports/include/X11/Intrinsic.h" 2
# 1 "../../exports/include/X11/Object.h" 1
# 53 "../../exports/include/X11/Object.h"
typedef struct _ObjectRec *Object;
typedef struct _ObjectClassRec *ObjectClass;


extern WidgetClass objectClass;
# 185 "../../exports/include/X11/Intrinsic.h" 2
# 1 "../../exports/include/X11/RectObj.h" 1
# 53 "../../exports/include/X11/RectObj.h"
typedef struct _RectObjRec *RectObj;
typedef struct _RectObjClassRec *RectObjClass;


extern WidgetClass rectObjClass;
# 186 "../../exports/include/X11/Intrinsic.h" 2

typedef struct _TranslationData *XtTranslations;
typedef struct _TranslationData *XtAccelerators;
typedef unsigned int Modifiers;

typedef void (*XtActionProc)(

    Widget ,
    XEvent* ,
    String* ,
    Cardinal*

);

typedef XtActionProc* XtBoundActions;

typedef struct _XtActionsRec{
    String string;
    XtActionProc proc;
} XtActionsRec;

typedef enum {


    XtAddress,
    XtBaseOffset,
    XtImmediate,
    XtResourceString,
    XtResourceQuark,
    XtWidgetBaseOffset,
    XtProcedureArg
} XtAddressMode;

typedef struct {
    XtAddressMode address_mode;
    XtPointer address_id;
    Cardinal size;
} XtConvertArgRec, *XtConvertArgList;

typedef void (*XtConvertArgProc)(

    Widget ,
    Cardinal* ,
    XrmValue*

);

typedef struct {
    XtGeometryMask request_mode;
    Position x, y;
    Dimension width, height, border_width;
    Widget sibling;
    int stack_mode;
} XtWidgetGeometry;







typedef void (*XtConverter)(

    XrmValue* ,
    Cardinal* ,
    XrmValue* ,
    XrmValue*

);

typedef Boolean (*XtTypeConverter)(

    Display* ,
    XrmValue* ,
    Cardinal* ,
    XrmValue* ,
    XrmValue* ,
    XtPointer*

);

typedef void (*XtDestructor)(

    XtAppContext ,
    XrmValue* ,
    XtPointer ,
    XrmValue* ,
    Cardinal*

);

typedef Opaque XtCacheRef;

typedef Opaque XtActionHookId;

typedef void (*XtActionHookProc)(

    Widget ,
    XtPointer ,
    String ,
    XEvent* ,
    String* ,
    Cardinal*

);

typedef unsigned long XtBlockHookId;

typedef void (*XtBlockHookProc)(

    XtPointer

);

typedef void (*XtKeyProc)(

    Display* ,
    KeyCode ,
    Modifiers ,
    Modifiers* ,
    KeySym*

);

typedef void (*XtCaseProc)(

    Display* ,
    KeySym ,
    KeySym* ,
    KeySym*

);

typedef void (*XtEventHandler)(

    Widget ,
    XtPointer ,
    XEvent* ,
    Boolean*

);
typedef unsigned long EventMask;

typedef enum {XtListHead, XtListTail } XtListPosition;

typedef unsigned long XtInputMask;





typedef void (*XtTimerCallbackProc)(

    XtPointer ,
    XtIntervalId*

);

typedef void (*XtInputCallbackProc)(

    XtPointer ,
    int* ,
    XtInputId*

);

typedef void (*XtSignalCallbackProc)(

    XtPointer ,
    XtSignalId*

);

typedef struct {
    String name;
    XtArgVal value;
} Arg, *ArgList;

typedef XtPointer XtVarArgsList;

typedef void (*XtCallbackProc)(

    Widget ,
    XtPointer ,
    XtPointer

);

typedef struct _XtCallbackRec {
    XtCallbackProc callback;
    XtPointer closure;
} XtCallbackRec, *XtCallbackList;

typedef enum {
        XtCallbackNoList,
        XtCallbackHasNone,
        XtCallbackHasSome
} XtCallbackStatus;

typedef enum {
    XtGeometryYes,
    XtGeometryNo,
    XtGeometryAlmost,
    XtGeometryDone
} XtGeometryResult;

typedef enum {XtGrabNone, XtGrabNonexclusive, XtGrabExclusive} XtGrabKind;

typedef struct {
    Widget shell_widget;
    Widget enable_widget;
} XtPopdownIDRec, *XtPopdownID;

typedef struct _XtResource {
    String resource_name;
    String resource_class;
    String resource_type;
    Cardinal resource_size;
    Cardinal resource_offset;
    String default_type;
    XtPointer default_addr;
} XtResource, *XtResourceList;

typedef void (*XtResourceDefaultProc)(

    Widget ,
    int ,
    XrmValue*

);

typedef String (*XtLanguageProc)(

    Display* ,
    String ,
    XtPointer

);

typedef void (*XtErrorMsgHandler)(

    String ,
    String ,
    String ,
    String ,
    String* ,
    Cardinal*

);

typedef void (*XtErrorHandler)(

  String

);

typedef void (*XtCreatePopupChildProc)(

    Widget

);

typedef Boolean (*XtWorkProc)(

    XtPointer

);

typedef struct {
    char match;
    String substitution;
} SubstitutionRec, *Substitution;

typedef Boolean (*XtFilePredicate)(

   String

);

typedef XtPointer XtRequestId;

typedef Boolean (*XtConvertSelectionProc)(

    Widget ,
    Atom* ,
    Atom* ,
    Atom* ,
    XtPointer* ,
    unsigned long* ,
    int*

);

typedef void (*XtLoseSelectionProc)(

    Widget ,
    Atom*

);

typedef void (*XtSelectionDoneProc)(

    Widget ,
    Atom* ,
    Atom*

);

typedef void (*XtSelectionCallbackProc)(

    Widget ,
    XtPointer ,
    Atom* ,
    Atom* ,
    XtPointer ,
    unsigned long* ,
    int*

);

typedef void (*XtLoseSelectionIncrProc)(

    Widget ,
    Atom* ,
    XtPointer

);

typedef void (*XtSelectionDoneIncrProc)(

    Widget ,
    Atom* ,
    Atom* ,
    XtRequestId* ,
    XtPointer

);

typedef Boolean (*XtConvertSelectionIncrProc)(

    Widget ,
    Atom* ,
    Atom* ,
    Atom* ,
    XtPointer* ,
    unsigned long* ,
    int* ,
    unsigned long* ,
    XtPointer ,
    XtRequestId*

);

typedef void (*XtCancelConvertSelectionProc)(

    Widget ,
    Atom* ,
    Atom* ,
    XtRequestId* ,
    XtPointer

);

typedef Boolean (*XtEventDispatchProc)(

    XEvent*

);

typedef void (*XtExtensionSelectProc)(

    Widget ,
    int* ,
    XtPointer* ,
    int ,
    XtPointer

);









extern Boolean XtConvertAndStore(

    Widget ,
    const char* ,
    XrmValue* ,
    const char* ,
    XrmValue*

);

extern Boolean XtCallConverter(

    Display* ,
    XtTypeConverter ,
    XrmValuePtr ,
    Cardinal ,
    XrmValuePtr ,
    XrmValue* ,
    XtCacheRef*

);

extern Boolean XtDispatchEvent(

    XEvent*

);

extern Boolean XtCallAcceptFocus(

    Widget ,
    Time*

);

extern Boolean XtPeekEvent(

    XEvent*

);

extern Boolean XtAppPeekEvent(

    XtAppContext ,
    XEvent*

);

extern Boolean XtIsSubclass(

    Widget ,
    WidgetClass

);

extern Boolean XtIsObject(

    Widget

);

extern Boolean _XtCheckSubclassFlag(

    Widget ,
    XtEnum

);

extern Boolean _XtIsSubclassOf(

    Widget ,
    WidgetClass ,
    WidgetClass ,
    XtEnum

);

extern Boolean XtIsManaged(

    Widget

);

extern Boolean XtIsRealized(

    Widget

);

extern Boolean XtIsSensitive(

    Widget

);

extern Boolean XtOwnSelection(

    Widget ,
    Atom ,
    Time ,
    XtConvertSelectionProc ,
    XtLoseSelectionProc ,
    XtSelectionDoneProc

);

extern Boolean XtOwnSelectionIncremental(

    Widget ,
    Atom ,
    Time ,
    XtConvertSelectionIncrProc ,
    XtLoseSelectionIncrProc ,
    XtSelectionDoneIncrProc ,
    XtCancelConvertSelectionProc ,
    XtPointer

);

extern XtGeometryResult XtMakeResizeRequest(

    Widget ,
    Dimension ,
    Dimension ,
    Dimension* ,
    Dimension*

);

extern void XtTranslateCoords(

    Widget ,
    Position ,
    Position ,
    Position* ,
    Position*

);

extern KeySym* XtGetKeysymTable(

    Display* ,
    KeyCode* ,
    int*

);

extern void XtKeysymToKeycodeList(

    Display* ,
    KeySym ,
    KeyCode** ,
    Cardinal*

);

extern void XtStringConversionWarning(

    const char* ,
    const char*

);

extern void XtDisplayStringConversionWarning(

    Display* ,
    const char* ,
    const char*

);

extern XtConvertArgRec const colorConvertArgs[];
extern XtConvertArgRec const screenConvertArg[];

extern void XtAppAddConverter(

    XtAppContext ,
    const char* ,
    const char* ,
    XtConverter ,
    XtConvertArgList ,
    Cardinal

);

extern void XtAddConverter(

    const char* ,
    const char* ,
    XtConverter ,
    XtConvertArgList ,
    Cardinal

);

extern void XtSetTypeConverter(

    const char* ,
    const char* ,
    XtTypeConverter ,
    XtConvertArgList ,
    Cardinal ,
    XtCacheType ,
    XtDestructor

);

extern void XtAppSetTypeConverter(

    XtAppContext ,
    const char* ,
    const char* ,
    XtTypeConverter ,
    XtConvertArgList ,
    Cardinal ,
    XtCacheType ,
    XtDestructor

);

extern void XtConvert(

    Widget ,
    const char* ,
    XrmValue* ,
    const char* ,
    XrmValue*

);

extern void XtDirectConvert(

    XtConverter ,
    XrmValuePtr ,
    Cardinal ,
    XrmValuePtr ,
    XrmValue*

);







extern XtTranslations XtParseTranslationTable(

    const char*

);

extern XtAccelerators XtParseAcceleratorTable(

    const char*

);

extern void XtOverrideTranslations(

    Widget ,
    XtTranslations

);

extern void XtAugmentTranslations(

    Widget ,
    XtTranslations

);

extern void XtInstallAccelerators(

    Widget ,
    Widget

);

extern void XtInstallAllAccelerators(

    Widget ,
    Widget

);

extern void XtUninstallTranslations(

    Widget

);

extern void XtAppAddActions(

    XtAppContext ,
    XtActionList ,
    Cardinal

);

extern void XtAddActions(

    XtActionList ,
    Cardinal

);

extern XtActionHookId XtAppAddActionHook(

    XtAppContext ,
    XtActionHookProc ,
    XtPointer

);

extern void XtRemoveActionHook(

    XtActionHookId

);

extern void XtGetActionList(

    WidgetClass ,
    XtActionList* ,
    Cardinal*

);

extern void XtCallActionProc(

    Widget ,
    const char* ,
    XEvent* ,
    String* ,
    Cardinal

);

extern void XtRegisterGrabAction(

    XtActionProc ,
    Boolean ,
    unsigned int ,
    int ,
    int

);

extern void XtSetMultiClickTime(

    Display* ,
    int

);

extern int XtGetMultiClickTime(

    Display*

);

extern KeySym XtGetActionKeysym(

    XEvent* ,
    Modifiers*

);







extern void XtTranslateKeycode(

    Display* ,
    KeyCode ,
    Modifiers ,
    Modifiers* ,
    KeySym*

);

extern void XtTranslateKey(

    Display* ,
    KeyCode ,
    Modifiers ,
    Modifiers* ,
    KeySym*

);

extern void XtSetKeyTranslator(

    Display* ,
    XtKeyProc

);

extern void XtRegisterCaseConverter(

    Display* ,
    XtCaseProc ,
    KeySym ,
    KeySym

);

extern void XtConvertCase(

    Display* ,
    KeySym ,
    KeySym* ,
    KeySym*

);
# 1004 "../../exports/include/X11/Intrinsic.h"
extern void XtAddEventHandler(

    Widget ,
    EventMask ,
    Boolean ,
    XtEventHandler ,
    XtPointer

);

extern void XtRemoveEventHandler(

    Widget ,
    EventMask ,
    Boolean ,
    XtEventHandler ,
    XtPointer

);

extern void XtAddRawEventHandler(

    Widget ,
    EventMask ,
    Boolean ,
    XtEventHandler ,
    XtPointer

);

extern void XtRemoveRawEventHandler(

    Widget ,
    EventMask ,
    Boolean ,
    XtEventHandler ,
    XtPointer

);

extern void XtInsertEventHandler(

    Widget ,
    EventMask ,
    Boolean ,
    XtEventHandler ,
    XtPointer ,
    XtListPosition

);

extern void XtInsertRawEventHandler(

    Widget ,
    EventMask ,
    Boolean ,
    XtEventHandler ,
    XtPointer ,
    XtListPosition

);

extern XtEventDispatchProc XtSetEventDispatcher(

    Display* ,
    int ,
    XtEventDispatchProc

);

extern Boolean XtDispatchEventToWidget(

    Widget ,
    XEvent*

);

extern void XtInsertEventTypeHandler(

    Widget ,
    int ,
    XtPointer ,
    XtEventHandler ,
    XtPointer ,
    XtListPosition

);

extern void XtRemoveEventTypeHandler(

    Widget ,
    int ,
    XtPointer ,
    XtEventHandler ,
    XtPointer

);

extern EventMask XtBuildEventMask(

    Widget

);

extern void XtRegisterExtensionSelector(

    Display* ,
    int ,
    int ,
    XtExtensionSelectProc ,
    XtPointer

);

extern void XtAddGrab(

    Widget ,
    Boolean ,
    Boolean

);

extern void XtRemoveGrab(

    Widget

);

extern void XtProcessEvent(

    XtInputMask

);

extern void XtAppProcessEvent(

    XtAppContext ,
    XtInputMask

);

extern void XtMainLoop(

    void

);

extern void XtAppMainLoop(

    XtAppContext

);

extern void XtAddExposureToRegion(

    XEvent* ,
    Region

);

extern void XtSetKeyboardFocus(

    Widget ,
    Widget

);

extern Widget XtGetKeyboardFocusWidget(

    Widget

);

extern XEvent* XtLastEventProcessed(

    Display*

);

extern Time XtLastTimestampProcessed(

    Display*

);







extern XtIntervalId XtAddTimeOut(

    unsigned long ,
    XtTimerCallbackProc ,
    XtPointer

);

extern XtIntervalId XtAppAddTimeOut(

    XtAppContext ,
    unsigned long ,
    XtTimerCallbackProc ,
    XtPointer

);

extern void XtRemoveTimeOut(

    XtIntervalId

);

extern XtInputId XtAddInput(

    int ,
    XtPointer ,
    XtInputCallbackProc ,
    XtPointer

);

extern XtInputId XtAppAddInput(

    XtAppContext ,
    int ,
    XtPointer ,
    XtInputCallbackProc ,
    XtPointer

);

extern void XtRemoveInput(

    XtInputId

);

extern XtSignalId XtAppAddSignal(

    XtAppContext ,
    XtSignalCallbackProc ,
    XtPointer

);

extern void XtRemoveSignal(

    XtSignalId

);

extern void XtNoticeSignal(

    XtSignalId

);

extern void XtNextEvent(

    XEvent*

);

extern void XtAppNextEvent(

    XtAppContext ,
    XEvent*

);







extern Boolean XtPending(

    void

);

extern XtInputMask XtAppPending(

    XtAppContext

);

extern XtBlockHookId XtAppAddBlockHook(

    XtAppContext ,
    XtBlockHookProc ,
    XtPointer

);

extern void XtRemoveBlockHook(

    XtBlockHookId

);
# 1337 "../../exports/include/X11/Intrinsic.h"
extern void XtRealizeWidget(

    Widget

);

void XtUnrealizeWidget(

    Widget

);

extern void XtDestroyWidget(

    Widget

);

extern void XtSetSensitive(

    Widget ,
    Boolean

);

extern void XtSetMappedWhenManaged(

    Widget ,
    Boolean

);

extern Widget XtNameToWidget(

    Widget ,
    const char*

);

extern Widget XtWindowToWidget(

    Display* ,
    Window

);

extern XtPointer XtGetClassExtension(

    WidgetClass ,
    Cardinal ,
    XrmQuark ,
    long ,
    Cardinal

);
# 1403 "../../exports/include/X11/Intrinsic.h"
extern ArgList XtMergeArgLists(

    ArgList ,
    Cardinal ,
    ArgList ,
    Cardinal

);
# 1421 "../../exports/include/X11/Intrinsic.h"
extern XtVarArgsList XtVaCreateArgsList(

    XtPointer , ...

);
# 1437 "../../exports/include/X11/Intrinsic.h"
extern Display *XtDisplay(

    Widget

);

extern Display *XtDisplayOfObject(

    Widget

);

extern Screen *XtScreen(

    Widget

);

extern Screen *XtScreenOfObject(

    Widget

);

extern Window XtWindow(

    Widget

);

extern Window XtWindowOfObject(

    Widget

);

extern String XtName(

    Widget

);

extern WidgetClass XtSuperclass(

    Widget

);

extern WidgetClass XtClass(

    Widget

);

extern Widget XtParent(

    Widget

);







extern void XtAddCallback(

    Widget ,
    const char* ,
    XtCallbackProc ,
    XtPointer

);

extern void XtRemoveCallback(

    Widget ,
    const char* ,
    XtCallbackProc ,
    XtPointer

);

extern void XtAddCallbacks(

    Widget ,
    const char* ,
    XtCallbackList

);

extern void XtRemoveCallbacks(

    Widget ,
    const char* ,
    XtCallbackList

);

extern void XtRemoveAllCallbacks(

    Widget ,
    const char*

);


extern void XtCallCallbacks(

    Widget ,
    const char* ,
    XtPointer

);

extern void XtCallCallbackList(

    Widget ,
    XtCallbackList ,
    XtPointer

);

extern XtCallbackStatus XtHasCallbacks(

    Widget ,
    const char*

);
# 1575 "../../exports/include/X11/Intrinsic.h"
extern XtGeometryResult XtMakeGeometryRequest(

    Widget ,
    XtWidgetGeometry* ,
    XtWidgetGeometry*

);

extern XtGeometryResult XtQueryGeometry(

    Widget ,
    XtWidgetGeometry* ,
    XtWidgetGeometry*

);

extern Widget XtCreatePopupShell(

    const char* ,
    WidgetClass ,
    Widget ,
    ArgList ,
    Cardinal

);

extern Widget XtVaCreatePopupShell(

    const char* ,
    WidgetClass ,
    Widget ,
    ...

);

extern void XtPopup(

    Widget ,
    XtGrabKind

);

extern void XtPopupSpringLoaded(

    Widget

);

extern void XtCallbackNone(

    Widget ,
    XtPointer ,
    XtPointer

);

extern void XtCallbackNonexclusive(

    Widget ,
    XtPointer ,
    XtPointer

);

extern void XtCallbackExclusive(

    Widget ,
    XtPointer ,
    XtPointer

);

extern void XtPopdown(

    Widget

);

extern void XtCallbackPopdown(

    Widget ,
    XtPointer ,
    XtPointer

);

extern void XtMenuPopupAction(

    Widget ,
    XEvent* ,
    String* ,
    Cardinal*

);

extern Widget XtCreateWidget(

    const char* ,
    WidgetClass ,
    Widget ,
    ArgList ,
    Cardinal

);

extern Widget XtCreateManagedWidget(

    const char* ,
    WidgetClass ,
    Widget ,
    ArgList ,
    Cardinal

);

extern Widget XtVaCreateWidget(

    const char* ,
    WidgetClass ,
    Widget ,
    ...

);

extern Widget XtVaCreateManagedWidget(

    const char* ,
    WidgetClass ,
    Widget ,
    ...

);

extern Widget XtCreateApplicationShell(

    const char* ,
    WidgetClass ,
    ArgList ,
    Cardinal

);

extern Widget XtAppCreateShell(

    const char* ,
    const char* ,
    WidgetClass ,
    Display* ,
    ArgList ,
    Cardinal

);

extern Widget XtVaAppCreateShell(

    const char* ,
    const char* ,
    WidgetClass ,
    Display* ,
    ...

);







extern void XtToolkitInitialize(

    void

);

extern XtLanguageProc XtSetLanguageProc(

    XtAppContext ,
    XtLanguageProc ,
    XtPointer

);

extern void XtDisplayInitialize(

    XtAppContext ,
    Display* ,
    const char* ,
    const char* ,
    XrmOptionDescRec* ,
    Cardinal ,
    int* ,
    char**

);

extern Widget XtOpenApplication(

    XtAppContext* ,
    const char* ,
    XrmOptionDescList ,
    Cardinal ,
    int* ,
    String* ,
    String* ,
    WidgetClass ,
    ArgList ,
    Cardinal

);

extern Widget XtVaOpenApplication(

    XtAppContext* ,
    const char* ,
    XrmOptionDescList ,
    Cardinal ,
    int* ,
    String* ,
    String* ,
    WidgetClass ,
    ...

);

extern Widget XtAppInitialize(

    XtAppContext* ,
    const char* ,
    XrmOptionDescList ,
    Cardinal ,
    int* ,
    String* ,
    String* ,
    ArgList ,
    Cardinal

);

extern Widget XtVaAppInitialize(

    XtAppContext* ,
    const char* ,
    XrmOptionDescList ,
    Cardinal ,
    int* ,
    String* ,
    String* ,
    ...

);

extern Widget XtInitialize(

    const char* ,
    const char* ,
    XrmOptionDescRec* ,
    Cardinal ,
    int* ,
    char**

);

extern Display *XtOpenDisplay(

    XtAppContext ,
    const char* ,
    const char* ,
    const char* ,
    XrmOptionDescRec* ,
    Cardinal ,
    int* ,
    char**

);

extern XtAppContext XtCreateApplicationContext(

    void

);

extern void XtAppSetFallbackResources(

    XtAppContext ,
    String*

);

extern void XtDestroyApplicationContext(

    XtAppContext

);

extern void XtInitializeWidgetClass(

    WidgetClass

);

extern XtAppContext XtWidgetToApplicationContext(

    Widget

);

extern XtAppContext XtDisplayToApplicationContext(

    Display*

);

extern XrmDatabase XtDatabase(

    Display*

);

extern XrmDatabase XtScreenDatabase(

    Screen*

);

extern void XtCloseDisplay(

    Display*

);

extern void XtGetApplicationResources(

    Widget ,
    XtPointer ,
    XtResourceList ,
    Cardinal ,
    ArgList ,
    Cardinal

);

extern void XtVaGetApplicationResources(

    Widget ,
    XtPointer ,
    XtResourceList ,
    Cardinal ,
    ...

);

extern void XtGetSubresources(

    Widget ,
    XtPointer ,
    const char* ,
    const char* ,
    XtResourceList ,
    Cardinal ,
    ArgList ,
    Cardinal

);

extern void XtVaGetSubresources(

    Widget ,
    XtPointer ,
    const char* ,
    const char* ,
    XtResourceList ,
    Cardinal ,
    ...

);

extern void XtSetValues(

    Widget ,
    ArgList ,
    Cardinal

);

extern void XtVaSetValues(

    Widget ,
    ...

);

extern void XtGetValues(

    Widget ,
    ArgList ,
    Cardinal

);

extern void XtVaGetValues(

    Widget ,
    ...

);

extern void XtSetSubvalues(

    XtPointer ,
    XtResourceList ,
    Cardinal ,
    ArgList ,
    Cardinal

);

extern void XtVaSetSubvalues(

    XtPointer ,
    XtResourceList ,
    Cardinal ,
    ...

);

extern void XtGetSubvalues(

    XtPointer ,
    XtResourceList ,
    Cardinal ,
    ArgList ,
    Cardinal

);

extern void XtVaGetSubvalues(

    XtPointer ,
    XtResourceList ,
    Cardinal ,
    ...

);

extern void XtGetResourceList(

    WidgetClass ,
    XtResourceList* ,
    Cardinal*

);

extern void XtGetConstraintResourceList(

    WidgetClass ,
    XtResourceList* ,
    Cardinal*

);
# 2065 "../../exports/include/X11/Intrinsic.h"
typedef struct _XtCheckpointTokenRec {
    int save_type;
    int interact_style;
    Boolean shutdown;
    Boolean fast;
    Boolean cancel_shutdown;
    int phase;
    int interact_dialog_type;
    Boolean request_cancel;
    Boolean request_next_phase;
    Boolean save_success;
    int type;
    Widget widget;
} XtCheckpointTokenRec, *XtCheckpointToken;

XtCheckpointToken XtSessionGetToken(

    Widget

);

void XtSessionReturnToken(

    XtCheckpointToken

);







extern XtErrorMsgHandler XtAppSetErrorMsgHandler(

    XtAppContext ,
    XtErrorMsgHandler

);

extern void XtSetErrorMsgHandler(

    XtErrorMsgHandler

);

extern XtErrorMsgHandler XtAppSetWarningMsgHandler(

    XtAppContext ,
    XtErrorMsgHandler

);

extern void XtSetWarningMsgHandler(

    XtErrorMsgHandler

);

extern void XtAppErrorMsg(

    XtAppContext ,
    const char* ,
    const char* ,
    const char* ,
    const char* ,
    String* ,
    Cardinal*

);

extern void XtErrorMsg(

    const char* ,
    const char* ,
    const char* ,
    const char* ,
    String* ,
    Cardinal*

);

extern void XtAppWarningMsg(

    XtAppContext ,
    const char* ,
    const char* ,
    const char* ,
    const char* ,
    String* ,
    Cardinal*

);

extern void XtWarningMsg(

    const char* ,
    const char* ,
    const char* ,
    const char* ,
    String* ,
    Cardinal*

);

extern XtErrorHandler XtAppSetErrorHandler(

    XtAppContext ,
    XtErrorHandler

);

extern void XtSetErrorHandler(

    XtErrorHandler

);

extern XtErrorHandler XtAppSetWarningHandler(

    XtAppContext ,
    XtErrorHandler

);

extern void XtSetWarningHandler(

    XtErrorHandler

);

extern void XtAppError(

    XtAppContext ,
    const char*

);

extern void XtError(

    const char*

);

extern void XtAppWarning(

    XtAppContext ,
    const char*

);

extern void XtWarning(

    const char*

);

extern XrmDatabase *XtAppGetErrorDatabase(

    XtAppContext

);

extern XrmDatabase *XtGetErrorDatabase(

    void

);

extern void XtAppGetErrorDatabaseText(

    XtAppContext ,
    const char* ,
    const char* ,
    const char* ,
    const char* ,
    String ,
    int ,
    XrmDatabase

);

extern void XtGetErrorDatabaseText(

    const char* ,
    const char* ,
    const char* ,
    const char* ,
    String ,
    int

);







extern char *XtMalloc(

    Cardinal

);

extern char *XtCalloc(

    Cardinal ,
    Cardinal

);

extern char *XtRealloc(

    char* ,
    Cardinal

);

extern void XtFree(

    char*

);
# 2341 "../../exports/include/X11/Intrinsic.h"
extern XtWorkProcId XtAddWorkProc(

    XtWorkProc ,
    XtPointer

);

extern XtWorkProcId XtAppAddWorkProc(

    XtAppContext ,
    XtWorkProc ,
    XtPointer

);

extern void XtRemoveWorkProc(

    XtWorkProcId

);







extern GC XtGetGC(

    Widget ,
    XtGCMask ,
    XGCValues*

);

extern GC XtAllocateGC(

    Widget ,
    Cardinal ,
    XtGCMask ,
    XGCValues* ,
    XtGCMask ,
    XtGCMask

);





extern void XtDestroyGC(

    GC

);

extern void XtReleaseGC(

    Widget ,
    GC

);



extern void XtAppReleaseCacheRefs(

    XtAppContext ,
    XtCacheRef*

);

extern void XtCallbackReleaseCacheRef(

    Widget ,
    XtPointer ,
    XtPointer

);

extern void XtCallbackReleaseCacheRefList(

    Widget ,
    XtPointer ,
    XtPointer

);

extern void XtSetWMColormapWindows(

    Widget ,
    Widget* ,
    Cardinal

);

extern String XtFindFile(

    const char* ,
    Substitution ,
    Cardinal ,
    XtFilePredicate

);

extern String XtResolvePathname(

    Display* ,
    const char* ,
    const char* ,
    const char* ,
    const char* ,
    Substitution ,
    Cardinal ,
    XtFilePredicate

);
# 2467 "../../exports/include/X11/Intrinsic.h"
extern void XtDisownSelection(

    Widget ,
    Atom ,
    Time

);

extern void XtGetSelectionValue(

    Widget ,
    Atom ,
    Atom ,
    XtSelectionCallbackProc ,
    XtPointer ,
    Time

);

extern void XtGetSelectionValues(

    Widget ,
    Atom ,
    Atom* ,
    int ,
    XtSelectionCallbackProc ,
    XtPointer* ,
    Time

);

extern void XtAppSetSelectionTimeout(

    XtAppContext ,
    unsigned long

);

extern void XtSetSelectionTimeout(

    unsigned long

);

extern unsigned long XtAppGetSelectionTimeout(

    XtAppContext

);

extern unsigned long XtGetSelectionTimeout(

    void

);

extern XSelectionRequestEvent *XtGetSelectionRequest(

    Widget ,
    Atom ,
    XtRequestId

);

extern void XtGetSelectionValueIncremental(

    Widget ,
    Atom ,
    Atom ,
    XtSelectionCallbackProc ,
    XtPointer ,
    Time

);

extern void XtGetSelectionValuesIncremental(

    Widget ,
    Atom ,
    Atom* ,
    int ,
    XtSelectionCallbackProc ,
    XtPointer* ,
    Time

);

extern void XtSetSelectionParameters(

    Widget ,
    Atom ,
    Atom ,
    XtPointer ,
    unsigned long ,
    int

);

extern void XtGetSelectionParameters(

    Widget ,
    Atom ,
    XtRequestId ,
    Atom* ,
    XtPointer* ,
    unsigned long* ,
    int*

);

extern void XtCreateSelectionRequest(

    Widget ,
    Atom

);

extern void XtSendSelectionRequest(

    Widget ,
    Atom ,
    Time

);

extern void XtCancelSelectionRequest(

    Widget ,
    Atom

);

extern Atom XtReservePropertyAtom(

    Widget

);

extern void XtReleasePropertyAtom(

    Widget ,
    Atom

);

extern void XtGrabKey(

    Widget ,
    KeyCode ,
    Modifiers ,
    Boolean ,
    int ,
    int

);

extern void XtUngrabKey(

    Widget ,
    KeyCode ,
    Modifiers

);

extern int XtGrabKeyboard(

    Widget ,
    Boolean ,
    int ,
    int ,
    Time

);

extern void XtUngrabKeyboard(

    Widget ,
    Time

);

extern void XtGrabButton(

    Widget ,
    int ,
    Modifiers ,
    Boolean ,
    unsigned int ,
    int ,
    int ,
    Window ,
    Cursor

);

extern void XtUngrabButton(

    Widget ,
    unsigned int ,
    Modifiers

);

extern int XtGrabPointer(

    Widget ,
    Boolean ,
    unsigned int ,
    int ,
    int ,
    Window ,
    Cursor ,
    Time

);

extern void XtUngrabPointer(

    Widget ,
    Time

);

extern void XtGetApplicationNameAndClass(

    Display* ,
    String* ,
    String*

);

extern void XtRegisterDrawable(

    Display* ,
    Drawable ,
    Widget

);

extern void XtUnregisterDrawable(

    Display* ,
    Drawable

);

extern Widget XtHooksOfDisplay(

    Display*

);

typedef struct {
    String type;
    Widget widget;
    ArgList args;
    Cardinal num_args;
} XtCreateHookDataRec, *XtCreateHookData;

typedef struct {
    String type;
    Widget widget;
    XtPointer event_data;
    Cardinal num_event_data;
} XtChangeHookDataRec, *XtChangeHookData;

typedef struct {
    Widget old, req;
    ArgList args;
    Cardinal num_args;
} XtChangeHookSetValuesDataRec, *XtChangeHookSetValuesData;

typedef struct {
    String type;
    Widget widget;
    XtGeometryMask changeMask;
    XWindowChanges changes;
} XtConfigureHookDataRec, *XtConfigureHookData;

typedef struct {
    String type;
    Widget widget;
    XtWidgetGeometry* request;
    XtWidgetGeometry* reply;
    XtGeometryResult result;
} XtGeometryHookDataRec, *XtGeometryHookData;

typedef struct {
    String type;
    Widget widget;
} XtDestroyHookDataRec, *XtDestroyHookData;

extern void XtGetDisplays(

    XtAppContext ,
    Display*** ,
    Cardinal*

);

extern Boolean XtToolkitThreadInitialize(

    void

);

extern void XtAppSetExitFlag(

    XtAppContext

);

extern Boolean XtAppGetExitFlag(

    XtAppContext

);

extern void XtAppLock(

    XtAppContext

);

extern void XtAppUnlock(

    XtAppContext

);
# 2804 "../../exports/include/X11/Intrinsic.h"
extern Boolean XtCvtStringToAcceleratorTable(

    Display* ,
    XrmValuePtr ,
    Cardinal* ,
    XrmValuePtr ,
    XrmValuePtr ,
    XtPointer*

);

extern Boolean XtCvtStringToAtom(

    Display* ,
    XrmValuePtr ,
    Cardinal* ,
    XrmValuePtr ,
    XrmValuePtr ,
    XtPointer*

);

extern Boolean XtCvtStringToBool(

    Display* ,
    XrmValuePtr ,
    Cardinal* ,
    XrmValuePtr ,
    XrmValuePtr ,
    XtPointer*

);

extern Boolean XtCvtStringToBoolean(

    Display* ,
    XrmValuePtr ,
    Cardinal* ,
    XrmValuePtr ,
    XrmValuePtr ,
    XtPointer*

);

extern Boolean XtCvtStringToCommandArgArray(

    Display* ,
    XrmValuePtr ,
    Cardinal* ,
    XrmValuePtr ,
    XrmValuePtr ,
    XtPointer*

);

extern Boolean XtCvtStringToCursor(

    Display* ,
    XrmValuePtr ,
    Cardinal* ,
    XrmValuePtr ,
    XrmValuePtr ,
    XtPointer*

);

extern Boolean XtCvtStringToDimension(

    Display* ,
    XrmValuePtr ,
    Cardinal* ,
    XrmValuePtr ,
    XrmValuePtr ,
    XtPointer*

);

extern Boolean XtCvtStringToDirectoryString(

    Display* ,
    XrmValuePtr ,
    Cardinal* ,
    XrmValuePtr ,
    XrmValuePtr ,
    XtPointer*

);

extern Boolean XtCvtStringToDisplay(

    Display* ,
    XrmValuePtr ,
    Cardinal* ,
    XrmValuePtr ,
    XrmValuePtr ,
    XtPointer*

);

extern Boolean XtCvtStringToFile(

    Display* ,
    XrmValuePtr ,
    Cardinal* ,
    XrmValuePtr ,
    XrmValuePtr ,
    XtPointer*

);

extern Boolean XtCvtStringToFloat(

    Display* ,
    XrmValuePtr ,
    Cardinal* ,
    XrmValuePtr ,
    XrmValuePtr ,
    XtPointer*

);

extern Boolean XtCvtStringToFont(

    Display* ,
    XrmValuePtr ,
    Cardinal* ,
    XrmValuePtr ,
    XrmValuePtr ,
    XtPointer*

);

extern Boolean XtCvtStringToFontSet(

    Display* ,
    XrmValuePtr ,
    Cardinal* ,
    XrmValuePtr ,
    XrmValuePtr ,
    XtPointer*

);

extern Boolean XtCvtStringToFontStruct(

    Display* ,
    XrmValuePtr ,
    Cardinal* ,
    XrmValuePtr ,
    XrmValuePtr ,
    XtPointer*

);

extern Boolean XtCvtStringToGravity(

    Display* ,
    XrmValuePtr ,
    Cardinal* ,
    XrmValuePtr ,
    XrmValuePtr ,
    XtPointer*

);

extern Boolean XtCvtStringToInitialState(

    Display* ,
    XrmValuePtr ,
    Cardinal* ,
    XrmValuePtr ,
    XrmValuePtr ,
    XtPointer*

);

extern Boolean XtCvtStringToInt(

    Display* ,
    XrmValuePtr ,
    Cardinal* ,
    XrmValuePtr ,
    XrmValuePtr ,
    XtPointer*

);

extern Boolean XtCvtStringToPixel(

    Display* ,
    XrmValuePtr ,
    Cardinal* ,
    XrmValuePtr ,
    XrmValuePtr ,
    XtPointer*

);



extern Boolean XtCvtStringToRestartStyle(

    Display* ,
    XrmValuePtr ,
    Cardinal* ,
    XrmValuePtr ,
    XrmValuePtr ,
    XtPointer*

);

extern Boolean XtCvtStringToShort(

    Display* ,
    XrmValuePtr ,
    Cardinal* ,
    XrmValuePtr ,
    XrmValuePtr ,
    XtPointer*

);

extern Boolean XtCvtStringToTranslationTable(

    Display* ,
    XrmValuePtr ,
    Cardinal* ,
    XrmValuePtr ,
    XrmValuePtr ,
    XtPointer*

);

extern Boolean XtCvtStringToUnsignedChar(

    Display* ,
    XrmValuePtr ,
    Cardinal* ,
    XrmValuePtr ,
    XrmValuePtr ,
    XtPointer*

);

extern Boolean XtCvtStringToVisual(

    Display* ,
    XrmValuePtr ,
    Cardinal* ,
    XrmValuePtr ,
    XrmValuePtr ,
    XtPointer*

);



extern Boolean XtCvtIntToBool(

    Display* ,
    XrmValuePtr ,
    Cardinal* ,
    XrmValuePtr ,
    XrmValuePtr ,
    XtPointer*

);

extern Boolean XtCvtIntToBoolean(

    Display* ,
    XrmValuePtr ,
    Cardinal* ,
    XrmValuePtr ,
    XrmValuePtr ,
    XtPointer*

);

extern Boolean XtCvtIntToColor(

    Display* ,
    XrmValuePtr ,
    Cardinal* ,
    XrmValuePtr ,
    XrmValuePtr ,
    XtPointer*

);



extern Boolean XtCvtIntToFloat(

    Display* ,
    XrmValuePtr ,
    Cardinal* ,
    XrmValuePtr ,
    XrmValuePtr ,
    XtPointer*

);

extern Boolean XtCvtIntToFont(

    Display* ,
    XrmValuePtr ,
    Cardinal* ,
    XrmValuePtr ,
    XrmValuePtr ,
    XtPointer*

);

extern Boolean XtCvtIntToPixel(

    Display* ,
    XrmValuePtr ,
    Cardinal* ,
    XrmValuePtr ,
    XrmValuePtr ,
    XtPointer*

);

extern Boolean XtCvtIntToPixmap(

    Display* ,
    XrmValuePtr ,
    Cardinal* ,
    XrmValuePtr ,
    XrmValuePtr ,
    XtPointer*

);



extern Boolean XtCvtIntToShort(

    Display* ,
    XrmValuePtr ,
    Cardinal* ,
    XrmValuePtr ,
    XrmValuePtr ,
    XtPointer*

);

extern Boolean XtCvtIntToUnsignedChar(

    Display* ,
    XrmValuePtr ,
    Cardinal* ,
    XrmValuePtr ,
    XrmValuePtr ,
    XtPointer*

);



extern Boolean XtCvtColorToPixel(

    Display* ,
    XrmValuePtr ,
    Cardinal* ,
    XrmValuePtr ,
    XrmValuePtr ,
    XtPointer*

);







# 54 "../../exports/include/X11/IntrinsicP.h" 2






typedef struct {
    long xrm_name;
    long xrm_class;
    long xrm_type;
    Cardinal xrm_size;
    int xrm_offset;
    long xrm_default_type;
    XtPointer xrm_default_addr;
} XrmResource, *XrmResourceList;

typedef unsigned long XtVersionType;
# 79 "../../exports/include/X11/IntrinsicP.h"
typedef void (*XtProc)(

    void

);

typedef void (*XtWidgetClassProc)(

    WidgetClass

);

typedef void (*XtWidgetProc)(

    Widget

);

typedef Boolean (*XtAcceptFocusProc)(

    Widget ,
    Time*

);

typedef void (*XtArgsProc)(

    Widget ,
    ArgList ,
    Cardinal*

);

typedef void (*XtInitProc)(

    Widget ,
    Widget ,
    ArgList ,
    Cardinal*

);

typedef Boolean (*XtSetValuesFunc)(

    Widget ,
    Widget ,
    Widget ,
    ArgList ,
    Cardinal*

);

typedef Boolean (*XtArgsFunc)(

    Widget ,
    ArgList ,
    Cardinal*

);

typedef void (*XtAlmostProc)(

    Widget ,
    Widget ,
    XtWidgetGeometry* ,
    XtWidgetGeometry*

);

typedef void (*XtExposeProc)(

    Widget ,
    XEvent* ,
    Region

);
# 168 "../../exports/include/X11/IntrinsicP.h"
typedef void (*XtRealizeProc)(

    Widget ,
    XtValueMask* ,
    XSetWindowAttributes*

);

typedef XtGeometryResult (*XtGeometryHandler)(

    Widget ,
    XtWidgetGeometry* ,
    XtWidgetGeometry*

);

typedef void (*XtStringProc)(

    Widget ,
    String

);

typedef struct {
    String name;
    String type;
    XtArgVal value;
    int size;
} XtTypedArg, *XtTypedArgList;

typedef void (*XtAllocateProc)(

    WidgetClass ,
    Cardinal * ,
    Cardinal * ,
    ArgList ,
    Cardinal * ,
    XtTypedArgList ,
    Cardinal * ,
    Widget * ,
    XtPointer *

);

typedef void (*XtDeallocateProc)(

    Widget ,
    XtPointer

);

struct _XtStateRec;

typedef struct _XtTMRec {
    XtTranslations translations;
    XtBoundActions proc_table;
    struct _XtStateRec *current_state;
    unsigned long lastEventTime;
} XtTMRec, *XtTM;

# 1 "../../exports/include/X11/CoreP.h" 1
# 58 "../../exports/include/X11/CoreP.h"
extern int _XtInheritTranslations;
# 75 "../../exports/include/X11/CoreP.h"
typedef struct _CorePart {
    Widget self;
    WidgetClass widget_class;
    Widget parent;
    XrmName xrm_name;
    Boolean being_destroyed;
    XtCallbackList destroy_callbacks;
    XtPointer constraints;
    Position x, y;
    Dimension width, height;
    Dimension border_width;
    Boolean managed;
    Boolean sensitive;
    Boolean ancestor_sensitive;
    XtEventTable event_table;
    XtTMRec tm;
    XtTranslations accelerators;
    Pixel border_pixel;
    Pixmap border_pixmap;
    WidgetList popup_list;
    Cardinal num_popups;
    String name;
    Screen *screen;
    Colormap colormap;
    Window window;
    Cardinal depth;
    Pixel background_pixel;
    Pixmap background_pixmap;
    Boolean visible;
    Boolean mapped_when_managed;
} CorePart;

typedef struct _WidgetRec {
    CorePart core;
 } WidgetRec, CoreRec;
# 128 "../../exports/include/X11/CoreP.h"
typedef struct _CoreClassPart {
    WidgetClass superclass;
    String class_name;
    Cardinal widget_size;
    XtProc class_initialize;
    XtWidgetClassProc class_part_initialize;
    XtEnum class_inited;
    XtInitProc initialize;
    XtArgsProc initialize_hook;
    XtRealizeProc realize;
    XtActionList actions;
    Cardinal num_actions;
    XtResourceList resources;
    Cardinal num_resources;
    XrmClass xrm_class;
    Boolean compress_motion;
    XtEnum compress_exposure;
    Boolean compress_enterleave;
    Boolean visible_interest;
    XtWidgetProc destroy;
    XtWidgetProc resize;
    XtExposeProc expose;
    XtSetValuesFunc set_values;
    XtArgsFunc set_values_hook;
    XtAlmostProc set_values_almost;
    XtArgsProc get_values_hook;
    XtAcceptFocusProc accept_focus;
    XtVersionType version;
    XtPointer callback_private;
    String tm_table;
    XtGeometryHandler query_geometry;
    XtStringProc display_accelerator;
    XtPointer extension;
 } CoreClassPart;

typedef struct _WidgetClassRec {
    CoreClassPart core_class;
} WidgetClassRec, CoreClassRec;

extern WidgetClassRec widgetClassRec;
# 229 "../../exports/include/X11/IntrinsicP.h" 2
# 1 "../../exports/include/X11/CompositeP.h" 1
# 61 "../../exports/include/X11/CompositeP.h"
typedef struct _CompositePart {
    WidgetList children;
    Cardinal num_children;
    Cardinal num_slots;
    XtOrderProc insert_position;
} CompositePart,*CompositePtr;

typedef struct _CompositeRec {
    CorePart core;
    CompositePart composite;
} CompositeRec;







typedef struct _CompositeClassPart {
    XtGeometryHandler geometry_manager;
    XtWidgetProc change_managed;
    XtWidgetProc insert_child;
    XtWidgetProc delete_child;
    XtPointer extension;
} CompositeClassPart,*CompositePartPtr;

typedef struct {
    XtPointer next_extension;
    XrmQuark record_type;
    long version;
    Cardinal record_size;
    Boolean accepts_objects;
    Boolean allows_change_managed_set;
} CompositeClassExtensionRec, *CompositeClassExtension;


typedef struct _CompositeClassRec {
     CoreClassPart core_class;
     CompositeClassPart composite_class;
} CompositeClassRec;

extern CompositeClassRec compositeClassRec;
# 230 "../../exports/include/X11/IntrinsicP.h" 2
# 1 "../../exports/include/X11/ConstrainP.h" 1
# 55 "../../exports/include/X11/ConstrainP.h"
typedef struct _ConstraintPart {
    XtPointer mumble;
} ConstraintPart;

typedef struct _ConstraintRec {
    CorePart core;
    CompositePart composite;
    ConstraintPart constraint;
} ConstraintRec, *ConstraintWidget;

typedef struct _ConstraintClassPart {
    XtResourceList resources;
    Cardinal num_resources;
    Cardinal constraint_size;
    XtInitProc initialize;
    XtWidgetProc destroy;
    XtSetValuesFunc set_values;
    XtPointer extension;
} ConstraintClassPart;

typedef struct {
    XtPointer next_extension;
    XrmQuark record_type;
    long version;
    Cardinal record_size;
    XtArgsProc get_values_hook;
} ConstraintClassExtensionRec, *ConstraintClassExtension;

typedef struct _ConstraintClassRec {
    CoreClassPart core_class;
    CompositeClassPart composite_class;
    ConstraintClassPart constraint_class;
} ConstraintClassRec;

extern ConstraintClassRec constraintClassRec;
# 231 "../../exports/include/X11/IntrinsicP.h" 2
# 1 "../../exports/include/X11/ObjectP.h" 1
# 61 "../../exports/include/X11/ObjectP.h"
typedef struct _ObjectPart {
    Widget self;
    WidgetClass widget_class;
    Widget parent;
    XrmName xrm_name;
    Boolean being_destroyed;
    XtCallbackList destroy_callbacks;
    XtPointer constraints;
} ObjectPart;

typedef struct _ObjectRec {
    ObjectPart object;
} ObjectRec;
# 84 "../../exports/include/X11/ObjectP.h"
typedef struct _ObjectClassPart {

    WidgetClass superclass;
    String class_name;
    Cardinal widget_size;
    XtProc class_initialize;
    XtWidgetClassProc class_part_initialize;
    XtEnum class_inited;
    XtInitProc initialize;
    XtArgsProc initialize_hook;
    XtProc obj1;
    XtPointer obj2;
    Cardinal obj3;
    XtResourceList resources;
    Cardinal num_resources;
    XrmClass xrm_class;
    Boolean obj4;
    XtEnum obj5;
    Boolean obj6;
    Boolean obj7;
    XtWidgetProc destroy;
    XtProc obj8;
    XtProc obj9;
    XtSetValuesFunc set_values;
    XtArgsFunc set_values_hook;
    XtProc obj10;
    XtArgsProc get_values_hook;
    XtProc obj11;
    XtVersionType version;
    XtPointer callback_private;
    String obj12;
    XtProc obj13;
    XtProc obj14;
    XtPointer extension;
}ObjectClassPart;

typedef struct {
    XtPointer next_extension;
    XrmQuark record_type;
    long version;
    Cardinal record_size;
    XtAllocateProc allocate;
    XtDeallocateProc deallocate;
} ObjectClassExtensionRec, *ObjectClassExtension;

typedef struct _ObjectClassRec {
    ObjectClassPart object_class;
} ObjectClassRec;

extern ObjectClassRec objectClassRec;
# 232 "../../exports/include/X11/IntrinsicP.h" 2
# 1 "../../exports/include/X11/RectObjP.h" 1
# 62 "../../exports/include/X11/RectObjP.h"
typedef struct _RectObjPart {
    Position x, y;
    Dimension width, height;
    Dimension border_width;
    Boolean managed;
    Boolean sensitive;
    Boolean ancestor_sensitive;
}RectObjPart;

typedef struct _RectObjRec {
    ObjectPart object;
    RectObjPart rectangle;
} RectObjRec;
# 87 "../../exports/include/X11/RectObjP.h"
typedef struct _RectObjClassPart {

    WidgetClass superclass;
    String class_name;
    Cardinal widget_size;
    XtProc class_initialize;
    XtWidgetClassProc class_part_initialize;
    XtEnum class_inited;
    XtInitProc initialize;
    XtArgsProc initialize_hook;
    XtProc rect1;
    XtPointer rect2;
    Cardinal rect3;
    XtResourceList resources;
    Cardinal num_resources;
    XrmClass xrm_class;
    Boolean rect4;
    XtEnum rect5;
    Boolean rect6;
    Boolean rect7;
    XtWidgetProc destroy;
    XtWidgetProc resize;
    XtExposeProc expose;
    XtSetValuesFunc set_values;
    XtArgsFunc set_values_hook;
    XtAlmostProc set_values_almost;
    XtArgsProc get_values_hook;
    XtProc rect9;
    XtVersionType version;
    XtPointer callback_private;
    String rect10;
    XtGeometryHandler query_geometry;
    XtProc rect11;
    XtPointer extension;
} RectObjClassPart;

typedef struct _RectObjClassRec {
    RectObjClassPart rect_class;
} RectObjClassRec;

extern RectObjClassRec rectObjClassRec;
# 233 "../../exports/include/X11/IntrinsicP.h" 2
# 288 "../../exports/include/X11/IntrinsicP.h"


extern Widget _XtWindowedAncestor(

    Widget

);

extern void _XtInherit(

    void

);

extern void XtCreateWindow(

    Widget ,
    unsigned int ,
    Visual* ,
    XtValueMask ,
    XSetWindowAttributes*

);

extern void XtResizeWidget(

    Widget ,
    Dimension ,
    Dimension ,
    Dimension

);

extern void XtMoveWidget(

    Widget ,
    Position ,
    Position

);

extern void XtConfigureWidget(

    Widget ,
    Position ,
    Position ,
    Dimension ,
    Dimension ,
    Dimension

);

extern void XtResizeWindow(

    Widget

);

extern void XtProcessLock(

    void

);

extern void XtProcessUnlock(

    void

);


# 41 "SimpleMenu.c" 2
# 1 "../../exports/include/X11/StringDefs.h" 1
# 321 "../../exports/include/X11/StringDefs.h"
extern const char XtStrings[];
# 42 "SimpleMenu.c" 2
# 1 "../../exports/include/X11/Xmu/Initer.h" 1
# 41 "../../exports/include/X11/Xmu/Initer.h"
typedef void (*XmuInitializerProc)(XtAppContext app_context, XPointer data);



void XmuCallInitializers
(
 XtAppContext app_context
 );

void XmuAddInitializer
(
 XmuInitializerProc func,
 XPointer data
 );


# 43 "SimpleMenu.c" 2
# 1 "../../exports/include/X11/Xmu/SysUtil.h" 1
# 35 "../../exports/include/X11/Xmu/SysUtil.h"


int XmuGetHostname
(
    char *buf_return,
    int maxlen
);


int XmuSnprintf
(
 char *str,
 int size,
 const char *fmt,
    ...
 );



# 44 "SimpleMenu.c" 2
# 1 "../../exports/include/X11/Xaw/Cardinals.h" 1
# 45 "SimpleMenu.c" 2
# 1 "../../exports/include/X11/Xaw/SimpleMenP.h" 1
# 42 "../../exports/include/X11/Xaw/SimpleMenP.h"
# 1 "../../exports/include/X11/Xaw/SimpleMenu.h" 1
# 50 "../../exports/include/X11/Xaw/SimpleMenu.h"
# 1 "../../exports/include/X11/Shell.h" 1
# 54 "../../exports/include/X11/Shell.h"
# 1 "../../exports/include/X11/SM/SMlib.h" 1
# 36 "../../exports/include/X11/SM/SMlib.h"
# 1 "../../exports/include/X11/SM/SM.h" 1
# 37 "../../exports/include/X11/SM/SMlib.h" 2
# 1 "../../exports/include/X11/ICE/ICElib.h" 1
# 34 "../../exports/include/X11/ICE/ICElib.h"
# 1 "../../exports/include/X11/ICE/ICE.h" 1
# 35 "../../exports/include/X11/ICE/ICElib.h" 2
# 43 "../../exports/include/X11/ICE/ICElib.h"
typedef void *IcePointer;




typedef enum {
    IcePoAuthHaveReply,
    IcePoAuthRejected,
    IcePoAuthFailed,
    IcePoAuthDoneCleanup
} IcePoAuthStatus;

typedef enum {
    IcePaAuthContinue,
    IcePaAuthAccepted,
    IcePaAuthRejected,
    IcePaAuthFailed
} IcePaAuthStatus;

typedef enum {
    IceConnectPending,
    IceConnectAccepted,
    IceConnectRejected,
    IceConnectIOError
} IceConnectStatus;

typedef enum {
    IceProtocolSetupSuccess,
    IceProtocolSetupFailure,
    IceProtocolSetupIOError,
    IceProtocolAlreadyActive
} IceProtocolSetupStatus;

typedef enum {
    IceAcceptSuccess,
    IceAcceptFailure,
    IceAcceptBadMalloc
} IceAcceptStatus;

typedef enum {
    IceClosedNow,
    IceClosedASAP,
    IceConnectionInUse,
    IceStartedShutdownNegotiation
} IceCloseStatus;

typedef enum {
    IceProcessMessagesSuccess,
    IceProcessMessagesIOError,
    IceProcessMessagesConnectionClosed
} IceProcessMessagesStatus;

typedef struct {
    unsigned long sequence_of_request;
    int major_opcode_of_request;
    int minor_opcode_of_request;
    IcePointer reply;
} IceReplyWaitInfo;

typedef struct _IceConn *IceConn;
typedef struct _IceListenObj *IceListenObj;

typedef void (*IceWatchProc) (

    IceConn ,
    IcePointer ,
    int ,
    IcePointer *

);

typedef void (*IcePoProcessMsgProc) (

    IceConn ,
    IcePointer ,
    int ,
    unsigned long ,
    int ,
    IceReplyWaitInfo * ,
    int *

);

typedef void (*IcePaProcessMsgProc) (

    IceConn ,
    IcePointer ,
    int ,
    unsigned long ,
    int

);

typedef struct {
    int major_version;
    int minor_version;
    IcePoProcessMsgProc process_msg_proc;
} IcePoVersionRec;

typedef struct {
    int major_version;
    int minor_version;
    IcePaProcessMsgProc process_msg_proc;
} IcePaVersionRec;

typedef IcePoAuthStatus (*IcePoAuthProc) (

    IceConn ,
    IcePointer * ,
    int ,
    int ,
    int ,
    IcePointer ,
    int * ,
    IcePointer * ,
    char **

);

typedef IcePaAuthStatus (*IcePaAuthProc) (

    IceConn ,
    IcePointer * ,
    int ,
    int ,
    IcePointer ,
    int * ,
    IcePointer * ,
    char **

);

typedef int (*IceHostBasedAuthProc) (

    char *

);

typedef int (*IceProtocolSetupProc) (

    IceConn ,
    int ,
    int ,
    char * ,
    char * ,
    IcePointer * ,
    char **

);

typedef void (*IceProtocolActivateProc) (

    IceConn ,
    IcePointer

);

typedef void (*IceIOErrorProc) (

    IceConn

);

typedef void (*IcePingReplyProc) (

    IceConn ,
    IcePointer

);

typedef void (*IceErrorHandler) (

    IceConn ,
    int ,
    int ,
    unsigned long ,
    int ,
    int ,
    IcePointer

);

typedef void (*IceIOErrorHandler) (

    IceConn

);








extern int IceRegisterForProtocolSetup (

    char * ,
    char * ,
    char * ,
    int ,
    IcePoVersionRec * ,
    int ,
    char ** ,
    IcePoAuthProc * ,
    IceIOErrorProc

);

extern int IceRegisterForProtocolReply (

    char * ,
    char * ,
    char * ,
    int ,
    IcePaVersionRec * ,
    int ,
    char ** ,
    IcePaAuthProc * ,
    IceHostBasedAuthProc ,
    IceProtocolSetupProc ,
    IceProtocolActivateProc ,
    IceIOErrorProc

);

extern IceConn IceOpenConnection (

    char * ,
    IcePointer ,
    int ,
    int ,
    int ,
    char *

);

extern IcePointer IceGetConnectionContext (

    IceConn

);

extern int IceListenForConnections (

    int * ,
    IceListenObj ** ,
    int ,
    char *

);

extern int IceListenForWellKnownConnections (

    char * ,
    int * ,
    IceListenObj ** ,
    int ,
    char *

);

extern int IceGetListenConnectionNumber (

    IceListenObj

);

extern char *IceGetListenConnectionString (

    IceListenObj

);

extern char *IceComposeNetworkIdList (

    int ,
    IceListenObj *

);

extern void IceFreeListenObjs (

    int ,
    IceListenObj *

);

extern void IceSetHostBasedAuthProc (

    IceListenObj ,
    IceHostBasedAuthProc

);

extern IceConn IceAcceptConnection (

    IceListenObj ,
    IceAcceptStatus *

);

extern void IceSetShutdownNegotiation (

    IceConn ,
    int

);

extern int IceCheckShutdownNegotiation (

    IceConn

);

extern IceCloseStatus IceCloseConnection (

    IceConn

);

extern int IceAddConnectionWatch (

    IceWatchProc ,
    IcePointer

);

extern void IceRemoveConnectionWatch (

    IceWatchProc ,
    IcePointer

);

extern IceProtocolSetupStatus IceProtocolSetup (

    IceConn ,
    int ,
    IcePointer ,
    int ,
    int * ,
    int * ,
    char ** ,
    char ** ,
    int ,
    char *

);

extern int IceProtocolShutdown (

    IceConn ,
    int

);

extern IceProcessMessagesStatus IceProcessMessages (

    IceConn ,
    IceReplyWaitInfo * ,
    int *

);

extern int IcePing (

   IceConn ,
   IcePingReplyProc ,
   IcePointer

);

extern char *IceAllocScratch (

   IceConn ,
   unsigned long

);

extern int IceFlush (

   IceConn

);

extern int IceGetOutBufSize (

   IceConn

);

extern int IceGetInBufSize (

   IceConn

);

extern IceConnectStatus IceConnectionStatus (

    IceConn

);

extern char *IceVendor (

    IceConn

);

extern char *IceRelease (

    IceConn

);

extern int IceProtocolVersion (

    IceConn

);

extern int IceProtocolRevision (

    IceConn

);

extern int IceConnectionNumber (

    IceConn

);

extern char *IceConnectionString (

    IceConn

);

extern unsigned long IceLastSentSequenceNumber (

    IceConn

);

extern unsigned long IceLastReceivedSequenceNumber (

    IceConn

);

extern int IceSwapping (

    IceConn

);

extern IceErrorHandler IceSetErrorHandler (

    IceErrorHandler

);

extern IceIOErrorHandler IceSetIOErrorHandler (

    IceIOErrorHandler

);






extern int IceInitThreads (

    void

);

extern void IceAppLockConn (

    IceConn

);

extern void IceAppUnlockConn (

    IceConn

);


# 38 "../../exports/include/X11/SM/SMlib.h" 2






typedef IcePointer SmPointer;






typedef struct _SmcConn *SmcConn;
typedef struct _SmsConn *SmsConn;






typedef struct {
    int length;
    SmPointer value;
} SmPropValue;

typedef struct {
    char *name;
    char *type;
    int num_vals;
    SmPropValue *vals;
} SmProp;







typedef enum {
    SmcClosedNow,
    SmcClosedASAP,
    SmcConnectionInUse
} SmcCloseStatus;







typedef void (*SmcSaveYourselfProc) (

    SmcConn ,
    SmPointer ,
    int ,
    int ,
    int ,
    int

);

typedef void (*SmcSaveYourselfPhase2Proc) (

    SmcConn ,
    SmPointer

);

typedef void (*SmcInteractProc) (

    SmcConn ,
    SmPointer

);

typedef void (*SmcDieProc) (

    SmcConn ,
    SmPointer

);

typedef void (*SmcShutdownCancelledProc) (

    SmcConn ,
    SmPointer

);

typedef void (*SmcSaveCompleteProc) (

    SmcConn ,
    SmPointer

);

typedef void (*SmcPropReplyProc) (

    SmcConn ,
    SmPointer ,
    int ,
    SmProp **

);






typedef struct {

    struct {
        SmcSaveYourselfProc callback;
        SmPointer client_data;
    } save_yourself;

    struct {
        SmcDieProc callback;
        SmPointer client_data;
    } die;

    struct {
        SmcSaveCompleteProc callback;
        SmPointer client_data;
    } save_complete;

    struct {
        SmcShutdownCancelledProc callback;
        SmPointer client_data;
    } shutdown_cancelled;

} SmcCallbacks;
# 184 "../../exports/include/X11/SM/SMlib.h"
typedef int (*SmsRegisterClientProc) (

    SmsConn ,
    SmPointer ,
    char *

);

typedef void (*SmsInteractRequestProc) (

    SmsConn ,
    SmPointer ,
    int

);

typedef void (*SmsInteractDoneProc) (

    SmsConn ,
    SmPointer ,
    int

);

typedef void (*SmsSaveYourselfRequestProc) (

    SmsConn ,
    SmPointer ,
    int ,
    int ,
    int ,
    int ,
    int

);

typedef void (*SmsSaveYourselfPhase2RequestProc) (

    SmsConn ,
    SmPointer

);

typedef void (*SmsSaveYourselfDoneProc) (

    SmsConn ,
    SmPointer ,
    int

);

typedef void (*SmsCloseConnectionProc) (

    SmsConn ,
    SmPointer ,
    int ,
    char **

);

typedef void (*SmsSetPropertiesProc) (

    SmsConn ,
    SmPointer ,
    int ,
    SmProp **

);

typedef void (*SmsDeletePropertiesProc) (

    SmsConn ,
    SmPointer ,
    int ,
    char **

);

typedef void (*SmsGetPropertiesProc) (

    SmsConn ,
    SmPointer

);






typedef struct {

    struct {
        SmsRegisterClientProc callback;
        SmPointer manager_data;
    } register_client;

    struct {
        SmsInteractRequestProc callback;
        SmPointer manager_data;
    } interact_request;

    struct {
        SmsInteractDoneProc callback;
        SmPointer manager_data;
    } interact_done;

    struct {
        SmsSaveYourselfRequestProc callback;
        SmPointer manager_data;
    } save_yourself_request;

    struct {
        SmsSaveYourselfPhase2RequestProc callback;
        SmPointer manager_data;
    } save_yourself_phase2_request;

    struct {
        SmsSaveYourselfDoneProc callback;
        SmPointer manager_data;
    } save_yourself_done;

    struct {
        SmsCloseConnectionProc callback;
        SmPointer manager_data;
    } close_connection;

    struct {
        SmsSetPropertiesProc callback;
        SmPointer manager_data;
    } set_properties;

    struct {
        SmsDeletePropertiesProc callback;
        SmPointer manager_data;
    } delete_properties;

    struct {
        SmsGetPropertiesProc callback;
        SmPointer manager_data;
    } get_properties;

} SmsCallbacks;
# 342 "../../exports/include/X11/SM/SMlib.h"
typedef int (*SmsNewClientProc) (

    SmsConn ,
    SmPointer ,
    unsigned long * ,
    SmsCallbacks * ,
    char **

);







typedef void (*SmcErrorHandler) (

    SmcConn ,
    int ,
    int ,
    unsigned long ,
    int ,
    int ,
    SmPointer

);

typedef void (*SmsErrorHandler) (

    SmsConn ,
    int ,
    int ,
    unsigned long ,
    int ,
    int ,
    SmPointer

);









extern SmcConn SmcOpenConnection (

    char * ,
    SmPointer ,
    int ,
    int ,
    unsigned long ,
    SmcCallbacks * ,
    char * ,
    char ** ,
    int ,
    char *

);

extern SmcCloseStatus SmcCloseConnection (

    SmcConn ,
    int ,
    char **

);

extern void SmcModifyCallbacks (

    SmcConn ,
    unsigned long ,
    SmcCallbacks *

);

extern void SmcSetProperties (

    SmcConn ,
    int ,
    SmProp **

);

extern void SmcDeleteProperties (

    SmcConn ,
    int ,
    char **

);

extern int SmcGetProperties (

    SmcConn ,
    SmcPropReplyProc ,
    SmPointer

);

extern int SmcInteractRequest (

    SmcConn ,
    int ,
    SmcInteractProc ,
    SmPointer

);

extern void SmcInteractDone (

    SmcConn ,
    int

);

extern void SmcRequestSaveYourself (

    SmcConn ,
    int ,
    int ,
    int ,
    int ,
    int

);

extern int SmcRequestSaveYourselfPhase2 (

    SmcConn ,
    SmcSaveYourselfPhase2Proc ,
    SmPointer

);

extern void SmcSaveYourselfDone (

    SmcConn ,
    int

);

extern int SmcProtocolVersion (

    SmcConn

);

extern int SmcProtocolRevision (

    SmcConn

);

extern char *SmcVendor (

    SmcConn

);

extern char *SmcRelease (

    SmcConn

);

extern char *SmcClientID (

    SmcConn

);

extern IceConn SmcGetIceConnection (

    SmcConn

);

extern int SmsInitialize (

    char * ,
    char * ,
    SmsNewClientProc ,
    SmPointer ,
    IceHostBasedAuthProc ,
    int ,
    char *

);

extern char *SmsClientHostName (

    SmsConn

);

extern char *SmsGenerateClientID (

    SmsConn

);

extern int SmsRegisterClientReply (

    SmsConn ,
    char *

);

extern void SmsSaveYourself (

    SmsConn ,
    int ,
    int ,
    int ,
    int

);

extern void SmsSaveYourselfPhase2 (

    SmsConn

);

extern void SmsInteract (

    SmsConn

);

extern void SmsDie (

    SmsConn

);

extern void SmsSaveComplete (

    SmsConn

);

extern void SmsShutdownCancelled (

    SmsConn

);

extern void SmsReturnProperties (

    SmsConn ,
    int ,
    SmProp **

);

extern void SmsCleanUp (

    SmsConn

);

extern int SmsProtocolVersion (

    SmsConn

);

extern int SmsProtocolRevision (

    SmsConn

);

extern char *SmsClientID (

    SmsConn

);

extern IceConn SmsGetIceConnection (

    SmsConn

);

extern SmcErrorHandler SmcSetErrorHandler (

    SmcErrorHandler

);

extern SmsErrorHandler SmsSetErrorHandler (

    SmsErrorHandler

);

extern void SmFreeProperty (

    SmProp *

);

extern void SmFreeReasons (

    int ,
    char **

);


# 55 "../../exports/include/X11/Shell.h" 2
# 194 "../../exports/include/X11/Shell.h"
extern const char XtShellStrings[];
# 548 "../../exports/include/X11/Shell.h"
typedef struct _ShellClassRec *ShellWidgetClass;
typedef struct _OverrideShellClassRec *OverrideShellWidgetClass;
typedef struct _WMShellClassRec *WMShellWidgetClass;
typedef struct _TransientShellClassRec *TransientShellWidgetClass;
typedef struct _TopLevelShellClassRec *TopLevelShellWidgetClass;
typedef struct _ApplicationShellClassRec *ApplicationShellWidgetClass;
typedef struct _SessionShellClassRec *SessionShellWidgetClass;


extern WidgetClass shellWidgetClass;
extern WidgetClass overrideShellWidgetClass;
extern WidgetClass wmShellWidgetClass;
extern WidgetClass transientShellWidgetClass;
extern WidgetClass topLevelShellWidgetClass;
extern WidgetClass applicationShellWidgetClass;
extern WidgetClass sessionShellWidgetClass;
# 51 "../../exports/include/X11/Xaw/SimpleMenu.h" 2
# 1 "../../exports/include/X11/Xmu/Converters.h" 1
# 42 "../../exports/include/X11/Xmu/Converters.h"


void XmuCvtFunctionToCallback
(
 XrmValue *args,
 Cardinal *num_args,
 XrmValuePtr fromVal,
 XrmValuePtr toVal
 );
# 59 "../../exports/include/X11/Xmu/Converters.h"
void XmuCvtStringToBackingStore
(
 XrmValue *args,
 Cardinal *num_args,
 XrmValuePtr fromVal,
 XrmValuePtr toVal
 );

Boolean XmuCvtBackingStoreToString
(
 Display *dpy,
 XrmValue *args,
 Cardinal *num_args,
 XrmValuePtr fromVal,
 XrmValuePtr toVal,
 XtPointer *converter_data
 );

void XmuCvtStringToCursor
(
 XrmValue *args,
 Cardinal *num_args,
 XrmValuePtr fromVal,
 XrmValuePtr toVal
 );




Boolean XmuCvtStringToColorCursor
(
 Display *dpy,
 XrmValue *args,
 Cardinal *num_args,
 XrmValuePtr fromVal,
 XrmValuePtr toVal,
 XtPointer *converter_data
 );

typedef int XtGravity;
# 115 "../../exports/include/X11/Xmu/Converters.h"
void XmuCvtStringToGravity
(
 XrmValue *args,
 Cardinal *num_args,
 XrmValuePtr fromVal,
 XrmValuePtr toVal
 );

Boolean XmuCvtGravityToString
(
 Display *dpy,
 XrmValue *args,
 Cardinal *num_args,
 XrmValuePtr fromVal,
 XrmValuePtr toVal,
 XtPointer *converter_data
 );

typedef enum {
    XtJustifyLeft,
    XtJustifyCenter,
    XtJustifyRight
} XtJustify;
# 146 "../../exports/include/X11/Xmu/Converters.h"
void XmuCvtStringToJustify
(
 XrmValue *args,
 Cardinal *num_args,
 XrmValuePtr fromVal,
 XrmValuePtr toVal
 );

Boolean XmuCvtJustifyToString
(
 Display *dpy,
 XrmValue *args,
 Cardinal *num_args,
 XrmValuePtr fromVal,
 XrmValuePtr toVal,
 XtPointer *converter_data
 );


void XmuCvtStringToLong
(
 XrmValue *args,
 Cardinal *num_args,
 XrmValuePtr fromVal,
 XrmValuePtr toVal
 );
Boolean XmuCvtLongToString
(
 Display *dpy,
 XrmValue *args,
 Cardinal *num_args,
 XrmValuePtr fromVal,
 XrmValuePtr toVal,
 XtPointer *converter_data
 );

typedef enum {
  XtorientHorizontal,
  XtorientVertical
} XtOrientation;
void XmuCvtStringToOrientation
(
 XrmValue *args,
 Cardinal *num_args,
 XrmValuePtr fromVal,
 XrmValuePtr toVal
 );

Boolean XmuCvtOrientationToString
(
 Display *dpy,
 XrmValue *args,
 Cardinal *num_args,
 XrmValuePtr fromVal,
 XrmValuePtr toVal,
 XtPointer *converter_data
 );

void XmuCvtStringToBitmap
(
 XrmValue *args,
 Cardinal *num_args,
 XrmValuePtr fromVal,
 XrmValuePtr toVal
 );
# 223 "../../exports/include/X11/Xmu/Converters.h"
Boolean XmuCvtStringToShapeStyle
(
 Display *dpy,
 XrmValue *args,
 Cardinal *num_args,
 XrmValuePtr fromVal,
 XrmValuePtr toVal,
 XtPointer *converter_data
 );

Boolean XmuCvtShapeStyleToString
(
 Display *dpy,
 XrmValue *args,
 Cardinal *num_args,
 XrmValuePtr fromVal,
 XrmValuePtr toVal,
 XtPointer *converter_data
 );

Boolean XmuReshapeWidget
(
 Widget w,
 int shape_style,
 int corner_width,
 int corner_height
 );

void XmuCvtStringToWidget
(
 XrmValue *args,
 Cardinal *num_args,
 XrmValuePtr fromVal,
 XrmValuePtr toVal
 );

Boolean XmuNewCvtStringToWidget
(
 Display *display,
 XrmValue *args,
 Cardinal *num_args,
 XrmValue *fromVal,
 XrmValue *toVal,
 XtPointer *converter_data
 );

Boolean XmuCvtWidgetToString
(
 Display *dpy,
 XrmValue *args,
 Cardinal *num_args,
 XrmValue *fromVal,
 XrmValue *toVal,
 XtPointer *converter_data
 );


# 52 "../../exports/include/X11/Xaw/SimpleMenu.h" 2
# 86 "../../exports/include/X11/Xaw/SimpleMenu.h"
typedef struct _SimpleMenuClassRec* SimpleMenuWidgetClass;
typedef struct _SimpleMenuRec* SimpleMenuWidget;

extern WidgetClass simpleMenuWidgetClass;
# 121 "../../exports/include/X11/Xaw/SimpleMenu.h"

# 133 "../../exports/include/X11/Xaw/SimpleMenu.h"
void XawSimpleMenuAddGlobalActions
(
 XtAppContext app_con
 );
# 151 "../../exports/include/X11/Xaw/SimpleMenu.h"
Widget XawSimpleMenuGetActiveEntry
(
 Widget w
 );
# 166 "../../exports/include/X11/Xaw/SimpleMenu.h"
void XawSimpleMenuClearActiveEntry
(
 Widget w
);


# 43 "../../exports/include/X11/Xaw/SimpleMenP.h" 2
# 1 "../../exports/include/X11/Xaw/SmeP.h" 1
# 47 "../../exports/include/X11/Xaw/SmeP.h"
# 1 "../../exports/include/X11/Xaw/Sme.h" 1
# 68 "../../exports/include/X11/Xaw/Sme.h"
typedef struct _SmeClassRec *SmeObjectClass;
typedef struct _SmeRec *SmeObject;

extern WidgetClass smeObjectClass;
# 48 "../../exports/include/X11/Xaw/SmeP.h" 2




typedef struct _SmeClassPart {
    XtWidgetProc highlight;
    XtWidgetProc unhighlight;
    XtWidgetProc notify;
    XtPointer extension;
} SmeClassPart;


typedef struct _SmeClassRec {
    RectObjClassPart rect_class;
    SmeClassPart sme_class;
} SmeClassRec;

extern SmeClassRec smeClassRec;


typedef struct {

    XtCallbackList callbacks;
    Boolean international;

    XtPointer pad[4];

} SmePart;


typedef struct _SmeRec {
    ObjectPart object;
    RectObjPart rectangle;
    SmePart sme;
} SmeRec;






# 44 "../../exports/include/X11/Xaw/SimpleMenP.h" 2
# 1 "../../exports/include/X11/ShellP.h" 1
# 78 "../../exports/include/X11/ShellP.h"
typedef struct {
    XtPointer extension;
} ShellClassPart;

typedef struct {
    XtPointer next_extension;
    XrmQuark record_type;
    long version;
    Cardinal record_size;
    XtGeometryHandler root_geometry_manager;
} ShellClassExtensionRec, *ShellClassExtension;




typedef struct _ShellClassRec {
        CoreClassPart core_class;
        CompositeClassPart composite_class;
        ShellClassPart shell_class;
} ShellClassRec;

extern ShellClassRec shellClassRec;



typedef struct {
        char *geometry;
        XtCreatePopupChildProc create_popup_child_proc;
        XtGrabKind grab_kind;
        Boolean spring_loaded;
        Boolean popped_up;
        Boolean allow_shell_resize;
        Boolean client_specified;




        Boolean save_under;
        Boolean override_redirect;

        XtCallbackList popup_callback;
        XtCallbackList popdown_callback;
        Visual* visual;
} ShellPart;

typedef struct {
        CorePart core;
        CompositePart composite;
        ShellPart shell;
} ShellRec, *ShellWidget;
# 137 "../../exports/include/X11/ShellP.h"
typedef struct {
    XtPointer extension;
} OverrideShellClassPart;

typedef struct _OverrideShellClassRec {
        CoreClassPart core_class;
        CompositeClassPart composite_class;
        ShellClassPart shell_class;
        OverrideShellClassPart override_shell_class;
} OverrideShellClassRec;

extern OverrideShellClassRec overrideShellClassRec;



typedef struct {int frabjous;} OverrideShellPart;

typedef struct {
        CorePart core;
        CompositePart composite;
        ShellPart shell;
        OverrideShellPart override;
} OverrideShellRec, *OverrideShellWidget;
# 169 "../../exports/include/X11/ShellP.h"
typedef struct {
    XtPointer extension;
} WMShellClassPart;

typedef struct _WMShellClassRec {
        CoreClassPart core_class;
        CompositeClassPart composite_class;
        ShellClassPart shell_class;
        WMShellClassPart wm_shell_class;
} WMShellClassRec;

extern WMShellClassRec wmShellClassRec;



typedef struct {
        char *title;
        int wm_timeout;
        Boolean wait_for_wm;
        Boolean transient;
        Boolean urgency;
        Widget client_leader;
        String window_role;
        struct _OldXSizeHints {
            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;
        } size_hints;
        XWMHints wm_hints;
        int base_width, base_height;
        int win_gravity;
        Atom title_encoding;
} WMShellPart;

typedef struct {
        CorePart core;
        CompositePart composite;
        ShellPart shell;
        WMShellPart wm;
} WMShellRec, *WMShellWidget;

# 1 "../../exports/include/X11/VendorP.h" 1
# 71 "../../exports/include/X11/VendorP.h"
# 1 "../../exports/include/X11/Vendor.h" 1
# 66 "../../exports/include/X11/Vendor.h"
typedef struct _VendorShellClassRec *VendorShellWidgetClass;

extern WidgetClass vendorShellWidgetClass;
# 72 "../../exports/include/X11/VendorP.h" 2



typedef struct {
    XtPointer extension;
} VendorShellClassPart;

typedef struct _VendorShellClassRec {
        CoreClassPart core_class;
        CompositeClassPart composite_class;
        ShellClassPart shell_class;
        WMShellClassPart wm_shell_class;
        VendorShellClassPart vendor_shell_class;
} VendorShellClassRec;

extern VendorShellClassRec vendorShellClassRec;



typedef struct {
        int vendor_specific;
} VendorShellPart;

typedef struct {
        CorePart core;
        CompositePart composite;
        ShellPart shell;
        WMShellPart wm;
        VendorShellPart vendor;
} VendorShellRec, *VendorShellWidget;
# 218 "../../exports/include/X11/ShellP.h" 2
# 227 "../../exports/include/X11/ShellP.h"
typedef struct {
    XtPointer extension;
} TransientShellClassPart;

typedef struct _TransientShellClassRec {
        CoreClassPart core_class;
        CompositeClassPart composite_class;
        ShellClassPart shell_class;
        WMShellClassPart wm_shell_class;
        VendorShellClassPart vendor_shell_class;
        TransientShellClassPart transient_shell_class;
} TransientShellClassRec;

extern TransientShellClassRec transientShellClassRec;



typedef struct {
        Widget transient_for;
} TransientShellPart;

typedef struct {
        CorePart core;
        CompositePart composite;
        ShellPart shell;
        WMShellPart wm;
        VendorShellPart vendor;
        TransientShellPart transient;
} TransientShellRec, *TransientShellWidget;
# 265 "../../exports/include/X11/ShellP.h"
typedef struct {
    XtPointer extension;
} TopLevelShellClassPart;

typedef struct _TopLevelShellClassRec {
        CoreClassPart core_class;
        CompositeClassPart composite_class;
        ShellClassPart shell_class;
        WMShellClassPart wm_shell_class;
        VendorShellClassPart vendor_shell_class;
        TopLevelShellClassPart top_level_shell_class;
} TopLevelShellClassRec;

extern TopLevelShellClassRec topLevelShellClassRec;



typedef struct {
        char *icon_name;
        Boolean iconic;
        Atom icon_name_encoding;
} TopLevelShellPart;

typedef struct {
        CorePart core;
        CompositePart composite;
        ShellPart shell;
        WMShellPart wm;
        VendorShellPart vendor;
        TopLevelShellPart topLevel;
} TopLevelShellRec, *TopLevelShellWidget;
# 305 "../../exports/include/X11/ShellP.h"
typedef struct {
    XtPointer extension;
} ApplicationShellClassPart;

typedef struct _ApplicationShellClassRec {
        CoreClassPart core_class;
        CompositeClassPart composite_class;
        ShellClassPart shell_class;
        WMShellClassPart wm_shell_class;
        VendorShellClassPart vendor_shell_class;
        TopLevelShellClassPart top_level_shell_class;
        ApplicationShellClassPart application_shell_class;
} ApplicationShellClassRec;

extern ApplicationShellClassRec applicationShellClassRec;



typedef struct {



    char *class;

    XrmClass xrm_class;
    int argc;
    char **argv;
} ApplicationShellPart;

typedef struct {
        CorePart core;
        CompositePart composite;
        ShellPart shell;
        WMShellPart wm;
        VendorShellPart vendor;
        TopLevelShellPart topLevel;
        ApplicationShellPart application;
} ApplicationShellRec, *ApplicationShellWidget;
# 352 "../../exports/include/X11/ShellP.h"
typedef struct {
    XtPointer extension;
} SessionShellClassPart;

typedef struct _SessionShellClassRec {
        CoreClassPart core_class;
        CompositeClassPart composite_class;
        ShellClassPart shell_class;
        WMShellClassPart wm_shell_class;
        VendorShellClassPart vendor_shell_class;
        TopLevelShellClassPart top_level_shell_class;
        ApplicationShellClassPart application_shell_class;
        SessionShellClassPart session_shell_class;
} SessionShellClassRec;

extern SessionShellClassRec sessionShellClassRec;

typedef struct _XtSaveYourselfRec *XtSaveYourself;



typedef struct {
    SmcConn connection;
    String session_id;
    String* restart_command;
    String* clone_command;
    String* discard_command;
    String* resign_command;
    String* shutdown_command;
    String* environment;
    String current_dir;
    String program_path;
    unsigned char restart_style;
    unsigned char checkpoint_state;
    Boolean join_session;
    XtCallbackList save_callbacks;
    XtCallbackList interact_callbacks;
    XtCallbackList cancel_callbacks;
    XtCallbackList save_complete_callbacks;
    XtCallbackList die_callbacks;
    XtCallbackList error_callbacks;
    XtSaveYourself save;
    XtInputId input_id;
    XtPointer ses20;
    XtPointer ses19;
    XtPointer ses18;
    XtPointer ses17;
    XtPointer ses16;
    XtPointer ses15;
    XtPointer ses14;
    XtPointer ses13;
    XtPointer ses12;
    XtPointer ses11;
    XtPointer ses10;
    XtPointer ses9;
    XtPointer ses8;
    XtPointer ses7;
    XtPointer ses6;
    XtPointer ses5;
    XtPointer ses4;
    XtPointer ses3;
    XtPointer ses2;
    XtPointer ses1;
} SessionShellPart;

typedef struct {
        CorePart core;
        CompositePart composite;
        ShellPart shell;
        WMShellPart wm;
        VendorShellPart vendor;
        TopLevelShellPart topLevel;
        ApplicationShellPart application;
        SessionShellPart session;
} SessionShellRec, *SessionShellWidget;
# 45 "../../exports/include/X11/Xaw/SimpleMenP.h" 2
# 1 "../../exports/include/X11/Xaw/XawInit.h" 1
# 37 "../../exports/include/X11/Xaw/XawInit.h"
typedef struct _XawDL XawDisplayList;






void XawInitializeWidgetSet(void);

void XawInitializeDefaultConverters(void);



# 46 "../../exports/include/X11/Xaw/SimpleMenP.h" 2

typedef struct {
    XtPointer extension;
} SimpleMenuClassPart;

typedef struct _SimpleMenuClassRec {
    CoreClassPart core_class;
    CompositeClassPart composite_class;
    ShellClassPart shell_class;
    OverrideShellClassPart override_shell_class;
    SimpleMenuClassPart simpleMenu_class;
} SimpleMenuClassRec;

extern SimpleMenuClassRec simpleMenuClassRec;

typedef struct _SimpleMenuPart {

    String label_string;
    SmeObject label;

    WidgetClass label_class;
    Dimension top_margin;
    Dimension bottom_margin;
    Dimension row_height;
    Cursor cursor;
    SmeObject popup_entry;

    Boolean menu_on_screen;
    int backing_store;


    Boolean recursive_set_values;
    Boolean menu_width;

    Boolean menu_height;
    SmeObject entry_set;


    Dimension left_margin;
    Dimension right_margin;
    XawDisplayList *display_list;
    Widget sub_menu;
    unsigned char state;
    XtPointer pad[4];

} SimpleMenuPart;

typedef struct _SimpleMenuRec {
    CorePart core;
    CompositePart composite;
    ShellPart shell;
    OverrideShellPart override;
    SimpleMenuPart simple_menu;
} SimpleMenuRec;
# 46 "SimpleMenu.c" 2
# 1 "../../exports/include/X11/Xaw/SmeBSBP.h" 1
# 37 "../../exports/include/X11/Xaw/SmeBSBP.h"
# 1 "../../exports/include/X11/Xaw/SmeBSB.h" 1
# 71 "../../exports/include/X11/Xaw/SmeBSB.h"
typedef struct _SmeBSBClassRec *SmeBSBObjectClass;
typedef struct _SmeBSBRec *SmeBSBObject;

extern WidgetClass smeBSBObjectClass;
# 38 "../../exports/include/X11/Xaw/SmeBSBP.h" 2

typedef struct _SmeBSBClassPart {
    XtPointer extension;
} SmeBSBClassPart;


typedef struct _SmeBSBClassRec {
    RectObjClassPart rect_class;
    SmeClassPart sme_class;
    SmeBSBClassPart sme_bsb_class;
} SmeBSBClassRec;

extern SmeBSBClassRec smeBSBClassRec;


typedef struct {

    String label;
    int vert_space;


    Pixmap left_bitmap, right_bitmap;
    Dimension left_margin, right_margin;
    Pixel foreground;
    XFontStruct *font;
    XFontSet fontset;
    XtJustify justify;


    Boolean set_values_area_cleared;
    GC norm_gc;
    GC rev_gc;
    GC norm_gray_gc;
    GC invert_gc;
    Dimension left_bitmap_width;
    Dimension left_bitmap_height;
    Dimension right_bitmap_width;
    Dimension right_bitmap_height;



    String menu_name;
    XtPointer pad[4];

} SmeBSBPart;




typedef struct _SmeBSBRec {
    ObjectPart object;
    RectObjPart rectangle;
    SmePart sme;
    SmeBSBPart sme_bsb;
} SmeBSBRec;
# 47 "SimpleMenu.c" 2

# 1 "Private.h" 1
# 67 "Private.h"
typedef int (*XawParseBooleanProc)(Widget, String, XEvent*, int*);

typedef struct _XawActionVarList XawActionVarList;
typedef struct _XawActionResList XawActionResList;


int XawParseBoolean(Widget, String, XEvent*, int*);
int XawBooleanExpression(Widget, String, XEvent*);


void XawPrintActionErrorMsg(String, Widget, String*, Cardinal*);
XawActionResList *XawGetActionResList(WidgetClass);
XawActionVarList *XawGetActionVarList(Widget);

void XawSetValuesAction(Widget, XEvent*, String*, Cardinal*);
void XawGetValuesAction(Widget, XEvent*, String*, Cardinal*);
void XawDeclareAction(Widget, XEvent*, String*, Cardinal*);
void XawCallProcAction(Widget, XEvent*, String*, Cardinal*);



typedef struct _XawDL _XawDisplayList;
typedef struct _XawDLClass XawDLClass, XawDisplayListClass;

typedef void (*XawDisplayListProc)(Widget, XtPointer, XtPointer,
                                   XEvent*, Region);
typedef void *(*XawDLArgsInitProc)(String, String*, Cardinal*,
                                   Screen*, Colormap, int);
typedef void *(*XawDLDataInitProc)(String,
                                   Screen*, Colormap, int);
typedef void (*XawDLArgsDestructor)(Display*, String, XtPointer,
                                    String*, Cardinal*);
typedef void (*XawDLDataDestructor)(Display*, String, XtPointer);

void XawRunDisplayList(Widget, _XawDisplayList*, XEvent*, Region);
void XawDisplayListInitialize(void);

_XawDisplayList *XawCreateDisplayList(String, Screen*, Colormap, int);
void XawDestroyDisplayList(_XawDisplayList*);
String XawDisplayListString(_XawDisplayList*);
XawDLClass *XawGetDisplayListClass(String);
XawDLClass *XawCreateDisplayListClass(String,
                                      XawDLArgsInitProc, XawDLArgsDestructor,
                                      XawDLDataInitProc, XawDLDataDestructor);
int XawDeclareDisplayListProc(XawDLClass*, String, XawDisplayListProc);


typedef struct _XawArgVal {
  String name;
  String value;
} XawArgVal;

typedef struct _XawParams {
  String name;
  String type;
  String ext;
  XawArgVal **args;
  Cardinal num_args;
} XawParams;

typedef struct _XawPixmap {
  String name;
  Pixmap pixmap;
  Pixmap mask;
  Dimension width;
  Dimension height;
} XawPixmap;

typedef int (*XawPixmapLoader)(XawParams*, Screen*, Colormap, int,
                                   Pixmap*, Pixmap*,
                                   Dimension*, Dimension*);
int XawPixmapsInitialize(void);
int XawAddPixmapLoader(String, String, XawPixmapLoader);
XawPixmap *XawLoadPixmap(String, Screen*, Colormap, int);
XawPixmap *XawPixmapFromXPixmap(Pixmap, Screen*, Colormap, int);
XawParams *XawParseParamsString(String name);
void XawFreeParamsStruct(XawParams *params);
XawArgVal *XawFindArgVal(XawParams *params, String name);
void XawReshapeWidget(Widget, XawPixmap*);



void XawTypeToStringWarning(Display*, String);


int _XawGetPageSize(void);
# 49 "SimpleMenu.c" 2
# 66 "SimpleMenu.c"
static void XawSimpleMenuChangeManaged(Widget);
static void XawSimpleMenuClassInitialize(void);
static void XawSimpleMenuClassPartInitialize(WidgetClass);
static XtGeometryResult XawSimpleMenuGeometryManager(Widget, XtWidgetGeometry*,
                                                     XtWidgetGeometry*);
static void XawSimpleMenuInitialize(Widget, Widget, ArgList, Cardinal*);
static void XawSimpleMenuRealize(Widget, XtValueMask*, XSetWindowAttributes*);
static void XawSimpleMenuRedisplay(Widget, XEvent*, Region);
static void XawSimpleMenuResize(Widget);
static Boolean XawSimpleMenuSetValues(Widget, Widget, Widget,
                                      ArgList, Cardinal*);
static Boolean XawSimpleMenuSetValuesHook(Widget, ArgList, Cardinal*);

static void PopupSubMenu(SimpleMenuWidget);
static void PopdownSubMenu(SimpleMenuWidget);
static void PopupCB(Widget, XtPointer, XtPointer);





static void AddPositionAction(XtAppContext, XPointer);
static void CalculateNewSize(Widget, Dimension*, Dimension*);
static void ChangeCursorOnGrab(Widget, XtPointer, XtPointer);
static void CreateLabel(Widget);
static SmeObject DoGetEventEntry(Widget, int, int);
static Widget FindMenu(Widget, String);
static SmeObject GetEventEntry(Widget, XEvent*);
static void Layout(Widget, Dimension*, Dimension*);
static void MakeResizeRequest(Widget);
static void MakeSetValuesRequest(Widget, unsigned int, unsigned int);
static void MoveMenu(Widget, int, int);
static void PositionMenu(Widget, XPoint*);




static void Highlight(Widget, XEvent*, String*, Cardinal*);
static void Notify(Widget, XEvent*, String*, Cardinal*);

static void Popdown(Widget, XEvent*, String*, Cardinal*);

static void PositionMenuAction(Widget, XEvent*, String*, Cardinal*);
static void Unhighlight(Widget, XEvent*, String*, Cardinal*);






static XtResource resources[] = {

  {
    ((char*)&XtStrings[429]),
    ((char*)&XtStrings[1151]),
    ((char*)&XtStrings[1797]),
    sizeof(String),
    ((size_t) &((SimpleMenuRec *)0)->simple_menu.label_string),
    ((char*)&XtStrings[1797]),
    ((void *)0)
  },
  {
    "labelClass",
    "LabelClass",
    ((char*)&XtStrings[1767]),
    sizeof(WidgetClass),
    ((size_t) &((SimpleMenuRec *)0)->simple_menu.label_class),
    ((char*)&XtStrings[1695]),
    ((void *)0)
  },


  {
    "rowHeight",
    "RowHeight",
    ((char*)&XtStrings[1618]),
    sizeof(Dimension),
    ((size_t) &((SimpleMenuRec *)0)->simple_menu.row_height),
    ((char*)&XtStrings[1695]),
    (XtPointer)0
  },
  {
    "topMargin",
    "VerticalMargins",
    ((char*)&XtStrings[1618]),
    sizeof(Dimension),
    ((size_t) &((SimpleMenuRec *)0)->simple_menu.top_margin),
    ((char*)&XtStrings[1695]),
    (XtPointer)0
  },
  {
    "bottomMargin",
    "VerticalMargins",
    ((char*)&XtStrings[1618]),
    sizeof(Dimension),
    ((size_t) &((SimpleMenuRec *)0)->simple_menu.bottom_margin),
    ((char*)&XtStrings[1695]),
    (XtPointer)0
  },

  {
    "leftMargin",
    "HorizontalMargins",
    ((char*)&XtStrings[1618]),
    sizeof(Dimension),
    ((size_t) &((SimpleMenuRec *)0)->simple_menu.left_margin),
    ((char*)&XtStrings[1695]),
    (XtPointer)0
  },
  {
    "rightMargin",
    "HorizontalMargins",
    ((char*)&XtStrings[1618]),
    sizeof(Dimension),
    ((size_t) &((SimpleMenuRec *)0)->simple_menu.right_margin),
    ((char*)&XtStrings[1695]),
    (XtPointer)0
  },



  {
    ((char*)&XtShellStrings[280]),
    ((char*)&XtShellStrings[297]),
    ((char*)&XtStrings[1561]),
    sizeof(Boolean),
    ((size_t) &((SimpleMenuRec *)0)->shell.allow_shell_resize),
    ((char*)&XtStrings[1695]),
    (XtPointer)1
  },
  {
    "cursor",
    ((char*)&XtStrings[976]),
    ((char*)&XtStrings[1611]),
    sizeof(Cursor),
    ((size_t) &((SimpleMenuRec *)0)->simple_menu.cursor),
    ((char*)&XtStrings[1695]),
    (XtPointer)0L
  },
  {
    "menuOnScreen",
    "MenuOnScreen",
    ((char*)&XtStrings[1561]),
    sizeof(Boolean),
    ((size_t) &((SimpleMenuRec *)0)->simple_menu.menu_on_screen),
    ((char*)&XtStrings[1695]),
    (XtPointer)1
  },
  {
    "popupOnEntry",
    "PopupOnEntry",
    ((char*)&XtStrings[1865]),
    sizeof(Widget),
    ((size_t) &((SimpleMenuRec *)0)->simple_menu.popup_entry),
    ((char*)&XtStrings[1865]),
    ((void *)0)
  },
  {
    "backingStore",
    "BackingStore",
    "BackingStore",
    sizeof(int),
    ((size_t) &((SimpleMenuRec *)0)->simple_menu.backing_store),
    ((char*)&XtStrings[1695]),
    (XtPointer)(2 + 1 + 0)
  },

  {
    "displayList",
    "DisplayList",
    "XawDisplayList",
    sizeof(XawDisplayList*),
    ((size_t) &((SimpleMenuRec *)0)->simple_menu.display_list),
    ((char*)&XtStrings[1695]),
    ((void *)0)
  },

};


static char defaultTranslations[] =
"<Enter>:" "highlight()\n"
"<Leave>:" "unhighlight()\n"
"<BtnMotion>:" "highlight()\n"

"<BtnUp>:" "popdown() notify() unhighlight()\n"



;

static XtActionsRec actionsList[] =
{
  {"notify", Notify},
  {"highlight", Highlight},
  {"unhighlight", Unhighlight},

  {"popdown", Popdown},
  {"set-values", XawSetValuesAction},
  {"get-values", XawGetValuesAction},
  {"declare", XawDeclareAction},
  {"call-proc", XawCallProcAction},

};

static CompositeClassExtensionRec extension_rec = {
  ((void *)0),
  ((XrmQuark) 0),
  2L,
  sizeof(CompositeClassExtensionRec),
  1,
};


SimpleMenuClassRec simpleMenuClassRec = {

  {
    (WidgetClass)(&overrideShellClassRec),
    "SimpleMenu",
    sizeof(SimpleMenuRec),
    XawSimpleMenuClassInitialize,
    XawSimpleMenuClassPartInitialize,
    0,
    XawSimpleMenuInitialize,
    ((void *)0),
    XawSimpleMenuRealize,
    actionsList,
    ((Cardinal) (sizeof(actionsList) / sizeof(actionsList[0]))),
    resources,
    ((Cardinal) (sizeof(resources) / sizeof(resources[0]))),
    ((XrmQuark) 0),
    1,
    1,
    1,
    0,
    ((void *)0),
    XawSimpleMenuResize,
    XawSimpleMenuRedisplay,
    XawSimpleMenuSetValues,
    XawSimpleMenuSetValuesHook,
    ((XtAlmostProc) _XtInherit),
    ((void *)0),
    ((void *)0),
    (11 * 1000 + 6),
    ((void *)0),
    defaultTranslations,
    ((void *)0),
    ((void *)0),
    ((void *)0),
  },

  {
    XawSimpleMenuGeometryManager,
    XawSimpleMenuChangeManaged,
    ((XtWidgetProc) _XtInherit),
    ((XtWidgetProc) _XtInherit),
    ((void *)0),
  },

  {
    ((void *)0),
  },

  {
    ((void *)0),
  },

  {
    ((void *)0),
  },
};

WidgetClass simpleMenuWidgetClass = (WidgetClass)&simpleMenuClassRec;
# 350 "SimpleMenu.c"
static void
XawSimpleMenuClassInitialize(void)
{
    XawInitializeWidgetSet();
    XtAddConverter(((char*)&XtStrings[1797]), "BackingStore", XmuCvtStringToBackingStore,
                   ((void *)0), 0);
    XtSetTypeConverter("BackingStore", ((char*)&XtStrings[1797]), XmuCvtBackingStoreToString,
                       ((void *)0), 0, 0x001, ((void *)0));
    XmuAddInitializer(AddPositionAction, ((void *)0));
}
# 370 "SimpleMenu.c"
static void
XawSimpleMenuClassPartInitialize(WidgetClass wc)
{
    SimpleMenuWidgetClass smwc = (SimpleMenuWidgetClass)wc;




    extension_rec.next_extension = smwc->composite_class.extension;
    smwc->composite_class.extension = (XtPointer) &extension_rec;
}
# 394 "SimpleMenu.c"
static void
XawSimpleMenuInitialize(Widget request, Widget cnew,
                        ArgList args, Cardinal *num_args)
{
    SimpleMenuWidget smw = (SimpleMenuWidget)cnew;
    Dimension width, height;

    XmuCallInitializers(XtWidgetToApplicationContext(cnew));

    if (smw->simple_menu.label_class == ((void *)0))
        smw->simple_menu.label_class = smeBSBObjectClass;

    smw->simple_menu.label = ((void *)0);
    smw->simple_menu.entry_set = ((void *)0);
    smw->simple_menu.recursive_set_values = 0;

    smw->simple_menu.sub_menu = ((void *)0);
    smw->simple_menu.state = 0;

    XtAddCallback(cnew, ((char*)&XtStrings[534]), PopupCB, ((void *)0));


    if (smw->simple_menu.label_string != ((void *)0))
        CreateLabel(cnew);

    width = height = 0;
    CalculateNewSize(cnew, &width, &height);

    smw->simple_menu.menu_width = 1;

    if ((((RectObj)smw)->rectangle.width) == 0) {
        smw->simple_menu.menu_width = 0;
        (((RectObj)smw)->rectangle.width) = width;
    }

    smw->simple_menu.menu_height = 1;

    if ((((RectObj)smw)->rectangle.height) == 0) {
        smw->simple_menu.menu_height = 0;
        (((RectObj)smw)->rectangle.height) = height;
    }




    XtAddCallback(cnew, ((char*)&XtStrings[534]), ChangeCursorOnGrab, ((void *)0));
}
# 455 "SimpleMenu.c"
static void
XawSimpleMenuRedisplay(Widget w, XEvent *event, Region region)
{
    SimpleMenuWidget smw = (SimpleMenuWidget)w;
    SmeObject *entry;
    SmeObjectClass cclass;

    if (region == ((void *)0))
        XClearWindow((((w)->core.screen)->display), ((w)->core.window));


    if (smw->simple_menu.display_list)
      XawRunDisplayList(w, smw->simple_menu.display_list, event, region);





    for ((entry) = (SmeObject *)(smw)->composite.children; (entry) < (SmeObject *)((smw)->composite.children + (smw)->composite.num_children); (entry)++) {
        if (!XtIsManaged((Widget)*entry))
            continue;

        if (region != ((void *)0))
            switch(XRectInRegion(region, (((RectObj)*entry)->rectangle.x),(((RectObj)*entry)->rectangle.y),
                                 (((RectObj)*entry)->rectangle.width), (((RectObj)*entry)->rectangle.height))) {
                case 1:
                case 2:
                    break;
                default:
                    continue;
            }

        cclass = (SmeObjectClass)(*entry)->object.widget_class;

        if (cclass->rect_class.expose != ((void *)0))
            (cclass->rect_class.expose)((Widget)*entry, ((void *)0), ((void *)0));
    }
}
# 506 "SimpleMenu.c"
static void
XawSimpleMenuRealize(Widget w, XtValueMask *mask, XSetWindowAttributes *attrs)
{
    SimpleMenuWidget smw = (SimpleMenuWidget)w;

    XawPixmap *pixmap;


    attrs->cursor = smw->simple_menu.cursor;
    *mask |= (1L<<14);
    if (smw->simple_menu.backing_store == 2 ||
        smw->simple_menu.backing_store == 0 ||
        smw->simple_menu.backing_store == 1) {
        *mask |= (1L<<6);
        attrs->backing_store = smw->simple_menu.backing_store;
    }
    else
        *mask &= ~(1L<<6);

    (*(&overrideShellClassRec)->core_class.realize)(w, mask, attrs);


    if (w->core.background_pixmap > ((Pixmap)2)) {
        pixmap = XawPixmapFromXPixmap(w->core.background_pixmap, ((w)->core.screen),
                                      w->core.colormap, w->core.depth);
        if (pixmap && pixmap->mask)
            XawReshapeWidget(w, pixmap);
    }

}
# 547 "SimpleMenu.c"
static void
XawSimpleMenuResize(Widget w)
{
    if (!(XtWindowOfObject(w) != 0L))
        return;

    Layout(w, ((void *)0), ((void *)0));

    XawSimpleMenuRedisplay(w, ((void *)0), ((void *)0));
}
# 571 "SimpleMenu.c"
static Boolean
XawSimpleMenuSetValues(Widget current, Widget request, Widget cnew,
                       ArgList args, Cardinal *num_args)
{
    SimpleMenuWidget smw_old = (SimpleMenuWidget)current;
    SimpleMenuWidget smw_new = (SimpleMenuWidget)cnew;
    Boolean ret_val = 0, layout = 0;

    if (!(XtWindowOfObject(current) != 0L))
        return (0);

    if (!smw_new->simple_menu.recursive_set_values) {
        if ((((RectObj)smw_new)->rectangle.width) != (((RectObj)smw_old)->rectangle.width)) {
            smw_new->simple_menu.menu_width = (((RectObj)smw_new)->rectangle.width) != 0;
            layout = 1;
        }
        if ((((RectObj)smw_new)->rectangle.height) != (((RectObj)smw_old)->rectangle.height)) {
            smw_new->simple_menu.menu_height = (((RectObj)smw_new)->rectangle.height) != 0;
            layout = 1;
        }
    }

    if (smw_old->simple_menu.cursor != smw_new->simple_menu.cursor)
        XDefineCursor((((cnew)->core.screen)->display), ((cnew)->core.window),
                      smw_new->simple_menu.cursor);

    if (smw_old->simple_menu.label_string !=smw_new->simple_menu.label_string) {
        if (smw_new->simple_menu.label_string == ((void *)0))
            XtDestroyWidget((Widget)smw_old->simple_menu.label);
        else if (smw_old->simple_menu.label_string == ((void *)0))
            CreateLabel(cnew);
        else {
            Arg arglist[1];

            ((void)( (arglist[0]).name = (((char*)&XtStrings[429])), (arglist[0]).value = (XtArgVal)(smw_new->simple_menu.label_string) ));
            XtSetValues((Widget)smw_new->simple_menu.label, arglist, ((Cardinal)1));
        }
    }

    if (smw_old->simple_menu.label_class != smw_new->simple_menu.label_class)
        XtAppWarning(XtWidgetToApplicationContext(cnew),
                     "No Dynamic class change of the SimpleMenu Label.");

    if (smw_old->simple_menu.top_margin != smw_new->simple_menu.top_margin
        || smw_old->simple_menu.bottom_margin
        != smw_new->simple_menu.bottom_margin) {
        layout = 1;
        ret_val = 1;
    }


    if (smw_old->core.background_pixmap != smw_new->core.background_pixmap) {
        XawPixmap *opix, *npix;

        opix = XawPixmapFromXPixmap(smw_old->core.background_pixmap,
                                    ((smw_old)->core.screen), smw_old->core.colormap,
                                    smw_old->core.depth);
        npix = XawPixmapFromXPixmap(smw_new->core.background_pixmap,
                                    ((smw_new)->core.screen), smw_new->core.colormap,
                                    smw_new->core.depth);
        if ((npix && npix->mask) || (opix && opix->mask))
            XawReshapeWidget(cnew, npix);
    }


    if (layout)
        Layout(cnew, ((void *)0), ((void *)0));

    return (ret_val);
}
# 654 "SimpleMenu.c"
static Boolean
XawSimpleMenuSetValuesHook(Widget w, ArgList arglist, Cardinal *num_args)
{
    Cardinal i;
    Dimension width, height;

    width = (((RectObj)w)->rectangle.width);
    height = (((RectObj)w)->rectangle.height);

    for (i = 0 ; i < *num_args ; i++) {
        if ((__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ((arglist[i].name)) && __builtin_constant_p ((((char*)&XtStrings[872]))) && (__s1_len = strlen ((arglist[i].name)), __s2_len = strlen ((((char*)&XtStrings[872]))), (!((size_t)(const void *)(((arglist[i].name)) + 1) - (size_t)(const void *)((arglist[i].name)) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(((((char*)&XtStrings[872]))) + 1) - (size_t)(const void *)((((char*)&XtStrings[872]))) == 1) || __s2_len >= 4)) ? memcmp ((__const char *) ((arglist[i].name)), (__const char *) ((((char*)&XtStrings[872]))), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p ((arglist[i].name)) && ((size_t)(const void *)(((arglist[i].name)) + 1) - (size_t)(const void *)((arglist[i].name)) == 1) && (__s1_len = strlen ((arglist[i].name)), __s1_len < 4) ? (__builtin_constant_p ((((char*)&XtStrings[872]))) && ((size_t)(const void *)(((((char*)&XtStrings[872]))) + 1) - (size_t)(const void *)((((char*)&XtStrings[872]))) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((arglist[i].name)))[0] - ((__const unsigned char *) (__const char *)((((char*)&XtStrings[872]))))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((arglist[i].name)))[1] - ((__const unsigned char *) (__const char *) ((((char*)&XtStrings[872]))))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((arglist[i].name)))[2] - ((__const unsigned char *) (__const char *) ((((char*)&XtStrings[872]))))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((arglist[i].name)))[3] - ((__const unsigned char *) (__const char *) ((((char*)&XtStrings[872]))))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ((((char*)&XtStrings[872]))); register int __result = (((__const unsigned char *) (__const char *) ((arglist[i].name)))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((arglist[i].name)))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((arglist[i].name)))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((arglist[i].name)))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ((((char*)&XtStrings[872]))) && ((size_t)(const void *)(((((char*)&XtStrings[872]))) + 1) - (size_t)(const void *)((((char*)&XtStrings[872]))) == 1) && (__s2_len = strlen ((((char*)&XtStrings[872]))), __s2_len < 4) ? (__builtin_constant_p ((arglist[i].name)) && ((size_t)(const void *)(((arglist[i].name)) + 1) - (size_t)(const void *)((arglist[i].name)) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((arglist[i].name)))[0] - ((__const unsigned char *) (__const char *)((((char*)&XtStrings[872]))))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((arglist[i].name)))[1] - ((__const unsigned char *) (__const char *) ((((char*)&XtStrings[872]))))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((arglist[i].name)))[2] - ((__const unsigned char *) (__const char *) ((((char*)&XtStrings[872]))))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((arglist[i].name)))[3] - ((__const unsigned char *) (__const char *) ((((char*)&XtStrings[872]))))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) ((arglist[i].name)); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ((((char*)&XtStrings[872]))))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ((((char*)&XtStrings[872]))))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ((((char*)&XtStrings[872]))))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ((((char*)&XtStrings[872]))))[3]); } } __result; }))) : strcmp ((arglist[i].name), (((char*)&XtStrings[872])))))); }) == 0))
            width = (Dimension)arglist[i].value;
        if ((__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ((arglist[i].name)) && __builtin_constant_p ((((char*)&XtStrings[234]))) && (__s1_len = strlen ((arglist[i].name)), __s2_len = strlen ((((char*)&XtStrings[234]))), (!((size_t)(const void *)(((arglist[i].name)) + 1) - (size_t)(const void *)((arglist[i].name)) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(((((char*)&XtStrings[234]))) + 1) - (size_t)(const void *)((((char*)&XtStrings[234]))) == 1) || __s2_len >= 4)) ? memcmp ((__const char *) ((arglist[i].name)), (__const char *) ((((char*)&XtStrings[234]))), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p ((arglist[i].name)) && ((size_t)(const void *)(((arglist[i].name)) + 1) - (size_t)(const void *)((arglist[i].name)) == 1) && (__s1_len = strlen ((arglist[i].name)), __s1_len < 4) ? (__builtin_constant_p ((((char*)&XtStrings[234]))) && ((size_t)(const void *)(((((char*)&XtStrings[234]))) + 1) - (size_t)(const void *)((((char*)&XtStrings[234]))) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((arglist[i].name)))[0] - ((__const unsigned char *) (__const char *)((((char*)&XtStrings[234]))))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((arglist[i].name)))[1] - ((__const unsigned char *) (__const char *) ((((char*)&XtStrings[234]))))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((arglist[i].name)))[2] - ((__const unsigned char *) (__const char *) ((((char*)&XtStrings[234]))))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((arglist[i].name)))[3] - ((__const unsigned char *) (__const char *) ((((char*)&XtStrings[234]))))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ((((char*)&XtStrings[234]))); register int __result = (((__const unsigned char *) (__const char *) ((arglist[i].name)))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((arglist[i].name)))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((arglist[i].name)))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((arglist[i].name)))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ((((char*)&XtStrings[234]))) && ((size_t)(const void *)(((((char*)&XtStrings[234]))) + 1) - (size_t)(const void *)((((char*)&XtStrings[234]))) == 1) && (__s2_len = strlen ((((char*)&XtStrings[234]))), __s2_len < 4) ? (__builtin_constant_p ((arglist[i].name)) && ((size_t)(const void *)(((arglist[i].name)) + 1) - (size_t)(const void *)((arglist[i].name)) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((arglist[i].name)))[0] - ((__const unsigned char *) (__const char *)((((char*)&XtStrings[234]))))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((arglist[i].name)))[1] - ((__const unsigned char *) (__const char *) ((((char*)&XtStrings[234]))))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((arglist[i].name)))[2] - ((__const unsigned char *) (__const char *) ((((char*)&XtStrings[234]))))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((arglist[i].name)))[3] - ((__const unsigned char *) (__const char *) ((((char*)&XtStrings[234]))))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) ((arglist[i].name)); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ((((char*)&XtStrings[234]))))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ((((char*)&XtStrings[234]))))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ((((char*)&XtStrings[234]))))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ((((char*)&XtStrings[234]))))[3]); } } __result; }))) : strcmp ((arglist[i].name), (((char*)&XtStrings[234])))))); }) == 0))
            height = (Dimension) arglist[i].value;
    }

    if (width != (((RectObj)w)->rectangle.width) || height != (((RectObj)w)->rectangle.height))
        MakeSetValuesRequest(w, width, height);

    return (0);
}
# 694 "SimpleMenu.c"
static XtGeometryResult
XawSimpleMenuGeometryManager(Widget w, XtWidgetGeometry *request,
                             XtWidgetGeometry *reply)
{
    SimpleMenuWidget smw = (SimpleMenuWidget)((w)->core.parent);
    SmeObject entry = (SmeObject)w;
    XtGeometryMask mode = request->request_mode;
    XtGeometryResult answer;
    Dimension old_height, old_width;

    if (!(mode & (1<<2)) && !(mode & (1<<3)))
        return (XtGeometryNo);

    reply->width = request->width;
    reply->height = request->height;

    old_width = (((RectObj)entry)->rectangle.width);
    old_height = (((RectObj)entry)->rectangle.height);

    Layout(w, &reply->width, &reply->height);
# 723 "SimpleMenu.c"
    if ((!(mode & (1<<2)) || reply->width == request->width)
        && (!(mode & (1<<3)) || reply->height == request->height)) {
        if (mode & (1 << 7)) {
            (((RectObj)entry)->rectangle.width) = old_width;
            (((RectObj)entry)->rectangle.height) = old_height;
        }
        else
            Layout((Widget)smw, ((void *)0), ((void *)0));
        answer = XtGeometryDone;
    }
    else {
        (((RectObj)entry)->rectangle.width) = old_width;
        (((RectObj)entry)->rectangle.height) = old_height;

        if ((reply->width == request->width && !(mode & (1<<3)))
            || (reply->height == request->height && !(mode & (1<<2)))
            || (reply->width == request->width
            && reply->height == request->height))
            answer = XtGeometryNo;
        else {
            answer = XtGeometryAlmost;
            reply->request_mode = 0;
            if (reply->width != request->width)
                reply->request_mode |= (1<<2);
            if (reply->height != request->height)
                reply->request_mode |= (1<<3);
        }
    }

    return (answer);
}
# 765 "SimpleMenu.c"
static void
XawSimpleMenuChangeManaged(Widget w)
{
    Layout(w, ((void *)0), ((void *)0));
}
# 792 "SimpleMenu.c"
static void
PositionMenuAction(Widget w, XEvent *event,
                   String *params, Cardinal *num_params)
{
    Widget menu;
    XPoint loc;

    if (*num_params != 1) {
        XtAppWarning(XtWidgetToApplicationContext(w),
                     "SimpleMenuWidget: position menu action expects "
                     "only one parameter which is the name of the menu.");
        return;
    }

    if ((menu = FindMenu(w, params[0])) == ((void *)0)) {
        char error_buf[8192];

        (void)XmuSnprintf(error_buf, sizeof(error_buf),
                          "SimpleMenuWidget: could not find menu named %s.",
                          params[0]);
        XtAppWarning(XtWidgetToApplicationContext(w), error_buf);
        return;
    }

    switch (event->type) {
        case 4:
        case 5:
            loc.x = event->xbutton.x_root;
            loc.y = event->xbutton.y_root;
            PositionMenu(menu, &loc);
            break;
        case 7:
        case 8:
            loc.x = event->xcrossing.x_root;
            loc.y = event->xcrossing.y_root;
            PositionMenu(menu, &loc);
            break;
        case 6:
            loc.x = event->xmotion.x_root;
            loc.y = event->xmotion.y_root;
            PositionMenu(menu, &loc);
            break;
        default:
            PositionMenu(menu, ((void *)0));
            break;
    }
}
# 857 "SimpleMenu.c"
static void
Unhighlight(Widget w, XEvent *event, String *params, Cardinal *num_params)
{
    SimpleMenuWidget smw = (SimpleMenuWidget)w;
    SmeObject entry = smw->simple_menu.entry_set;

    if (entry == ((void *)0))
        return;


    if (!smw->simple_menu.sub_menu)

    {
        SmeObjectClass cclass;

        smw->simple_menu.entry_set = ((void *)0);
        cclass = (SmeObjectClass)entry->object.widget_class;
        (cclass->sme_class.unhighlight)((Widget)entry);
    }
}
# 892 "SimpleMenu.c"
static void
Highlight(Widget w, XEvent *event, String *params, Cardinal *num_params)
{
    SimpleMenuWidget smw = (SimpleMenuWidget)w;
    SmeObject entry;

    if (!XtIsSensitive(w))
        return;

    entry = GetEventEntry(w, event);

    if (entry == smw->simple_menu.entry_set)
        return;


    if (!smw->simple_menu.sub_menu)

        Unhighlight(w, event, params, num_params);

    if (entry == ((void *)0))
        return;

    if (!XtIsSensitive((Widget)entry))
        return;


    if (smw->simple_menu.sub_menu)
        PopdownSubMenu(smw);


    Unhighlight(w, event, params, num_params);


    if (!(smw->simple_menu.state & 0x01))

    {
        SmeObjectClass cclass;

        smw->simple_menu.entry_set = entry;
        cclass = (SmeObjectClass)entry->object.widget_class;

        (cclass->sme_class.highlight)((Widget)entry);


        if (XtIsSubclass((Widget)entry, smeBSBObjectClass))
            PopupSubMenu(smw);

    }
}
# 956 "SimpleMenu.c"
static void
Notify(Widget w, XEvent *event, String *params, Cardinal *num_params)
{
    SmeObject entry;
    SmeObjectClass cclass;


    if (((w)->core.window) != event->xany.window)
        return;
    entry = GetEventEntry(w, event);
    if (entry == ((void *)0) || !XtIsSensitive((Widget)entry))
        return;

    cclass = (SmeObjectClass) entry->object.widget_class;
    (cclass->sme_class.notify)((Widget)entry);
}
# 986 "SimpleMenu.c"
void
XawSimpleMenuAddGlobalActions(XtAppContext app_con)
{
    XtInitializeWidgetClass(simpleMenuWidgetClass);
    XmuCallInitializers(app_con);
}
# 1006 "SimpleMenu.c"
Widget
XawSimpleMenuGetActiveEntry(Widget w)
{
    SimpleMenuWidget smw = (SimpleMenuWidget)w;

    return ((Widget)smw->simple_menu.entry_set);
}
# 1024 "SimpleMenu.c"
void
XawSimpleMenuClearActiveEntry(Widget w)
{
    SimpleMenuWidget smw = (SimpleMenuWidget)w;

    smw->simple_menu.entry_set = ((void *)0);
}
# 1046 "SimpleMenu.c"
static void
CreateLabel(Widget w)
{
    SimpleMenuWidget smw = (SimpleMenuWidget)w;
    Widget *child, *next_child;
    int i;
    Arg args[2];

    if (smw->simple_menu.label_string == ((void *)0) ||
        smw->simple_menu.label != ((void *)0)) {
        XtAppWarning(XtWidgetToApplicationContext(w),
                     "Xaw Simple Menu Widget: label string is NULL or "
                     "label already exists, no label is being created.");
        return;
    }

    ((void)( (args[0]).name = (((char*)&XtStrings[429])), (args[0]).value = (XtArgVal)(smw->simple_menu.label_string) ));
    ((void)( (args[1]).name = (((char*)&XtStrings[379])), (args[1]).value = (XtArgVal)(XtJustifyCenter) ));
    smw->simple_menu.label = (SmeObject)
        XtCreateManagedWidget("menuLabel",
                              smw->simple_menu.label_class, w, args, ((Cardinal)2));

    next_child = ((void *)0);
    for (child = smw->composite.children + smw->composite.num_children,
         i = smw->composite.num_children; i > 0; i--, child--) {
        if (next_child != ((void *)0))
            *next_child = *child;
        next_child = child;
    }
    *child = (Widget)smw->simple_menu.label;
}
# 1097 "SimpleMenu.c"
static void
Layout(Widget w, Dimension *width_ret, Dimension *height_ret)
{
    SmeObject current_entry;
    SimpleMenuWidget smw;
    Dimension width, height;
    Boolean allow_change_size;
    Widget kid;
    Cardinal i, count, n;
    int width_kid, height_kid, tmp_w, tmp_h;
    short vadd, hadd, x_ins, y_ins;
    Dimension *widths;

    height = 0;

    if (XtIsSubclass(w, simpleMenuWidgetClass)) {
        smw = (SimpleMenuWidget)w;
        current_entry = ((void *)0);
    }
    else {
        smw = (SimpleMenuWidget)((w)->core.parent);
        current_entry = (SmeObject)w;
    }

    allow_change_size = (!(XtWindowOfObject((Widget)smw) != 0L)
                         || smw->shell.allow_shell_resize);

    for (i = smw->simple_menu.label ? 1 : 0;
         i < smw->composite.num_children;
         i++) {
        XtWidgetGeometry preferred;

        kid = smw->composite.children[i];
        if (!XtIsManaged(kid))
            continue;
        if (smw->simple_menu.row_height != 0)
            (((RectObj)kid)->rectangle.height) = smw->simple_menu.row_height;
        XtQueryGeometry(kid, ((void *)0), &preferred);
        if (preferred.request_mode & (1<<2))
            (((RectObj)kid)->rectangle.width) = preferred.width;
    }

    if (smw->simple_menu.label
        && XtIsManaged((Widget)smw->simple_menu.label)) {
        XtWidgetGeometry preferred;

        kid = (Widget)smw->simple_menu.label;
        XtQueryGeometry(kid, ((void *)0), &preferred);
        if (preferred.request_mode & (1<<2))
            (((RectObj)kid)->rectangle.width) = preferred.width;
        if (preferred.request_mode & (1<<3))
            (((RectObj)kid)->rectangle.height) = preferred.height;
    }


    if (!smw->simple_menu.menu_width)
        (((RectObj)smw)->rectangle.width) = 0;
    if (!smw->simple_menu.menu_height)
        (((RectObj)smw)->rectangle.height) = 0;
    if (!(((RectObj)smw)->rectangle.width) || !(((RectObj)smw)->rectangle.height))
        MakeResizeRequest((Widget)smw);

    widths = (Dimension *)XtMalloc(sizeof(Dimension));

    hadd = smw->simple_menu.left_margin;



    vadd = smw->simple_menu.top_margin;
    if (smw->simple_menu.label)
        vadd += (((RectObj)smw->simple_menu.label)->rectangle.height);

    count = 1;
    width = tmp_w = tmp_h = n = 0;
    height = vadd;

    for (i = smw->simple_menu.label ? 1 : 0;
         i < smw->composite.num_children;
         i++) {
        kid = smw->composite.children[i];
        if (!XtIsManaged(kid))
            continue;
        width_kid = (((RectObj)kid)->rectangle.width);
        height_kid = (((RectObj)kid)->rectangle.height);

        if (n && (height + height_kid + smw->simple_menu.bottom_margin
                  > (((RectObj)smw)->rectangle.height))) {
            ++count;
            widths = (Dimension *)XtRealloc((char *)widths,
                                            sizeof(Dimension) * count);
            widths[count - 1] = width_kid;
            width += tmp_w;
            tmp_w = width_kid;
            height = height_kid + vadd;
        }
        else
            height += height_kid;
        if (height > tmp_h)
            tmp_h = height;
        if (width_kid > tmp_w)
            widths[count - 1] = tmp_w = width_kid;
        ++n;
    }

    height = tmp_h + smw->simple_menu.bottom_margin;
    width += tmp_w;

    if (smw->simple_menu.label && width < (((RectObj)smw->simple_menu.label)->rectangle.width)) {
        float inc;

        inc = ((((RectObj)smw->simple_menu.label)->rectangle.width) - width) / (float)count;
        width = (((RectObj)smw->simple_menu.label)->rectangle.width);
        for (n = 0; n < count; n++)
            widths[n] += inc;
    }


    width += hadd + smw->simple_menu.right_margin;


    x_ins = n = count = 0;
    tmp_w = widths[0];
    tmp_h = vadd;

    for (i = smw->simple_menu.label ? 1 : 0;
         i < smw->composite.num_children;
         i++) {
        kid = smw->composite.children[i];
        if (!XtIsManaged(kid))
            continue;

        height_kid = (((RectObj)kid)->rectangle.height);

        if (n && (tmp_h + height_kid + smw->simple_menu.bottom_margin
                  > (((RectObj)smw)->rectangle.height))) {
            x_ins = tmp_w;
            y_ins = vadd;
            ++count;
            tmp_w += widths[count];
            tmp_h = height_kid + vadd;
        }
        else {
            y_ins = tmp_h;
            tmp_h += height_kid;
        }
        ++n;

        (((RectObj)kid)->rectangle.x) = x_ins + hadd;
        (((RectObj)kid)->rectangle.y) = y_ins;
        (((RectObj)kid)->rectangle.width) = widths[count];
    }

    XtFree((char *)widths);

    if (allow_change_size)
        MakeSetValuesRequest((Widget) smw, width, height);

    if (smw->simple_menu.label) {
        (((RectObj)smw->simple_menu.label)->rectangle.x) = 0;
        (((RectObj)smw->simple_menu.label)->rectangle.y) = smw->simple_menu.top_margin;
        (((RectObj)smw->simple_menu.label)->rectangle.width) = (((RectObj)smw)->rectangle.width)

            - (smw->simple_menu.left_margin + smw->simple_menu.right_margin)

            ;
    }
    if (current_entry) {
        if (width_ret)
            *width_ret = (((RectObj)current_entry)->rectangle.width);
        if (height_ret)
            *height_ret = (((RectObj)current_entry)->rectangle.height);
    }
}
# 1284 "SimpleMenu.c"
static void
AddPositionAction(XtAppContext app_con, XPointer data)
{
    static XtActionsRec pos_action[] = {
        {"XawPositionSimpleMenu", PositionMenuAction},
    };

    XtAppAddActions(app_con, pos_action, ((Cardinal) (sizeof(pos_action) / sizeof(pos_action[0]))));
}
# 1308 "SimpleMenu.c"
static Widget
FindMenu(Widget widget, String name)
{
    Widget w, menu;

    for (w = widget; w != ((void *)0); w = ((w)->core.parent))
        if ((menu = XtNameToWidget(w, name)) != ((void *)0))
            return (menu);

    return (((void *)0));
}
# 1331 "SimpleMenu.c"
static void
PositionMenu(Widget w, XPoint *location)
{
    SimpleMenuWidget smw = (SimpleMenuWidget)w;
    SmeObject entry;
    XPoint t_point;

    if (location == ((void *)0)) {
        Window temp1, temp2;
        int root_x, root_y, tempX, tempY;
        unsigned int tempM;

        location = &t_point;
        if (XQueryPointer((((w)->core.screen)->display), ((w)->core.window), &temp1, &temp2,
                          &root_x, &root_y, &tempX, &tempY, &tempM) == 0) {
            XtAppWarning(XtWidgetToApplicationContext(w),
                         "Xaw Simple Menu Widget: "
                         "Could not find location of mouse pointer");
            return;
        }
        location->x = (short) root_x;
        location->y = (short) root_y;
    }




    XtRealizeWidget(w);

    location->x -= (((RectObj)w)->rectangle.width) >> 1;

    if (smw->simple_menu.popup_entry == ((void *)0))
        entry = smw->simple_menu.label;
    else
        entry = smw->simple_menu.popup_entry;

    if (entry != ((void *)0))
      location->y -= (((RectObj)entry)->rectangle.y) + ((((RectObj)entry)->rectangle.height) >> 1);

    MoveMenu(w, location->x, location->y);
}
# 1386 "SimpleMenu.c"
static void
MoveMenu(Widget w, int x, int y)
{
    Arg arglist[2];
    Cardinal num_args = 0;
    SimpleMenuWidget smw = (SimpleMenuWidget)w;

    if (smw->simple_menu.menu_on_screen) {
        int width = (((RectObj)w)->rectangle.width) + ((((RectObj)w)->rectangle.border_width) << 1);
        int height = (((RectObj)w)->rectangle.height) + ((((RectObj)w)->rectangle.border_width) << 1);

        if (x >= 0) {
            int scr_width = ((((w)->core.screen))->width);

            if (x + width > scr_width)
                x = scr_width - width;
        }
        if (x < 0)
            x = 0;

        if (y >= 0) {
            int scr_height = ((((w)->core.screen))->height);

            if (y + height > scr_height)
                y = scr_height - height;
        }
        if (y < 0)
            y = 0;
    }

    ((void)( (arglist[num_args]).name = (((char*)&XtStrings[885])), (arglist[num_args]).value = (XtArgVal)(x) )); num_args++;
    ((void)( (arglist[num_args]).name = (((char*)&XtStrings[887])), (arglist[num_args]).value = (XtArgVal)(y) )); num_args++;
    XtSetValues(w, arglist, num_args);
}
# 1435 "SimpleMenu.c"
static void
ChangeCursorOnGrab(Widget w, XtPointer temp1, XtPointer temp2)
{
    SimpleMenuWidget smw = (SimpleMenuWidget)w;






    XChangeActivePointerGrab((((w)->core.screen)->display), (1L<<2) | (1L<<3),
                             smw->simple_menu.cursor,
                             XtLastTimestampProcessed((((w)->core.screen)->display)));
}
# 1459 "SimpleMenu.c"
static void
MakeSetValuesRequest(Widget w, unsigned int width, unsigned int height)
{
    SimpleMenuWidget smw = (SimpleMenuWidget)w;
    Arg arglist[2];
    Cardinal num_args = 0;

    if (!smw->simple_menu.recursive_set_values) {
        if ((((RectObj)smw)->rectangle.width) != width || (((RectObj)smw)->rectangle.height) != height) {
            smw->simple_menu.recursive_set_values = 1;
            ((void)( (arglist[num_args]).name = (((char*)&XtStrings[872])), (arglist[num_args]).value = (XtArgVal)(width) )); num_args++;
            ((void)( (arglist[num_args]).name = (((char*)&XtStrings[234])), (arglist[num_args]).value = (XtArgVal)(height) )); num_args++;
            XtSetValues(w, arglist, num_args);
        }
        else if ((XtWindowOfObject((Widget)smw) != 0L))
            XawSimpleMenuRedisplay((Widget)smw, ((void *)0), ((void *)0));
    }
    smw->simple_menu.recursive_set_values = 0;
}

static SmeObject
DoGetEventEntry(Widget w, int x_loc, int y_loc)
{
    SimpleMenuWidget smw = (SimpleMenuWidget)w;
    SmeObject *entry;

    for ((entry) = (SmeObject *)(smw)->composite.children; (entry) < (SmeObject *)((smw)->composite.children + (smw)->composite.num_children); (entry)++) {
        if (!XtIsManaged((Widget)*entry))
            continue;

        if (x_loc > (((RectObj)*entry)->rectangle.x)
            && x_loc <= (((RectObj)*entry)->rectangle.x) + (((RectObj)*entry)->rectangle.width)
            && y_loc > (((RectObj)*entry)->rectangle.y)
            && y_loc <= (((RectObj)*entry)->rectangle.y) + (((RectObj)*entry)->rectangle.height)) {
            if (*entry == smw->simple_menu.label)
                return (((void *)0));
            else
                return (*entry);
        }
    }

    return (((void *)0));
}
# 1517 "SimpleMenu.c"
static SmeObject
GetEventEntry(Widget w, XEvent *event)
{
    int x_loc, y_loc, x_root;
    SimpleMenuWidget smw = (SimpleMenuWidget)w;
    SmeObject entry;
    int warp, move;

    switch (event->type) {
        case 6:
            x_loc = event->xmotion.x;
            y_loc = event->xmotion.y;
            x_root = event->xmotion.x_root;
            break;
        case 7:
        case 8:
            x_loc = event->xcrossing.x;
            y_loc = event->xcrossing.y;
            x_root = event->xcrossing.x_root;
            break;
        case 4:
        case 5:
            x_loc = event->xbutton.x;
            y_loc = event->xbutton.y;
            x_root = event->xbutton.x_root;
            break;
        default:
            XtAppError(XtWidgetToApplicationContext(w),
                       "Unknown event type in GetEventEntry().");
            return (((void *)0));
    }

    if (x_loc < 0 || x_loc >= (((RectObj)smw)->rectangle.width) ||
        y_loc < 0 || y_loc >= (((RectObj)smw)->rectangle.height))
        return (((void *)0));




    if (x_root == ((((w)->core.screen))->width) - 1 &&
        (((RectObj)w)->rectangle.x) + (((RectObj)w)->rectangle.width) + ((((RectObj)w)->rectangle.border_width)) > x_root) {
        warp = -8;
        if (smw->simple_menu.entry_set) {
            entry = DoGetEventEntry(w,
                                    (((RectObj)smw->simple_menu.entry_set)->rectangle.x)
                                    + (((RectObj)smw->simple_menu.entry_set)->rectangle.width) + 1,
                                    y_loc);
            Unhighlight(w, event, ((void *)0), ((void *)0));
            if (entry) {
                warp = -(int)(((RectObj)entry)->rectangle.width) >> 1;
                move = x_loc - (((RectObj)entry)->rectangle.width) - (((RectObj)entry)->rectangle.x) + (((RectObj)w)->rectangle.border_width);
            }
            else {
                warp = 0;
                move = ((((w)->core.screen))->width) -
                       ((((RectObj)w)->rectangle.x) + (((RectObj)w)->rectangle.width) + ((((RectObj)w)->rectangle.border_width) << 1));
            }
        }
        else {
            warp = 0;
            move = ((((w)->core.screen))->width) -
                   ((((RectObj)w)->rectangle.x) + (((RectObj)w)->rectangle.width) + ((((RectObj)w)->rectangle.border_width) << 1));
        }
    }
    else if (x_root == 0 && (((RectObj)w)->rectangle.x) < 0) {
        warp = 8;
        if (smw->simple_menu.entry_set) {
            entry = DoGetEventEntry(w, (((RectObj)smw->simple_menu.entry_set)->rectangle.x) - 1,
                                    y_loc);
            Unhighlight(w, event, ((void *)0), ((void *)0));
            if (entry) {
                warp = (((RectObj)entry)->rectangle.width) >> 1;
                move = x_loc - (((RectObj)entry)->rectangle.x);
            }
            else
                move = x_loc + (((RectObj)w)->rectangle.border_width);
        }
        else
            move = x_loc + (((RectObj)w)->rectangle.border_width);
    }
    else
        move = warp = 0;

    if (move)
        XtMoveWidget(w, (((RectObj)w)->rectangle.x) + move, (((RectObj)w)->rectangle.y));
    if (warp)
        XWarpPointer((((w)->core.screen)->display), 0L, 0L, 0, 0, 0, 0, warp, 0);

    return (DoGetEventEntry(w, x_loc, y_loc));
}

static void
CalculateNewSize(Widget w, Dimension *width_return, Dimension *height_return)
{
    SimpleMenuWidget xaw = (SimpleMenuWidget)w;
    Widget kid;
    Cardinal i;
    int width_kid, height_kid;
    int width, height, tmp_w, tmp_h, max_dim;
    short vadd, hadd;
    int n, columns, test_h, num_children = 0;
    Boolean try_layout = 0;


    hadd = xaw->simple_menu.left_margin + xaw->simple_menu.right_margin;



    vadd = xaw->simple_menu.top_margin + xaw->simple_menu.bottom_margin;
    if (xaw->simple_menu.label)
        vadd += (((RectObj)xaw->simple_menu.label)->rectangle.height);

    if (*height_return)
        max_dim = *height_return;
    else if (!(((RectObj)w)->rectangle.height)) {
        max_dim = ((((w)->core.screen))->height);
        try_layout = 1;
    }
    else
        max_dim = (((RectObj)w)->rectangle.height);
    max_dim -= vadd;

    width = height = tmp_w = tmp_h = n = test_h = 0;
    columns = 1;
    for (i = xaw->simple_menu.label ? 1 : 0;
         i < xaw->composite.num_children;
         i++) {
        kid = xaw->composite.children[i];
        if (!XtIsManaged(kid))
            continue;
        ++num_children;
        width_kid = (((RectObj)kid)->rectangle.width);
        height_kid = (((RectObj)kid)->rectangle.height);

        if (try_layout) {
            if (!test_h)
                test_h = height_kid;
            else if (test_h != height_kid)
                try_layout = 0;
        }

        if (n && (height + height_kid > max_dim)) {
            ++columns;
            width += tmp_w;
            tmp_w = width_kid;
            height = height_kid;
        }
        else
            height += height_kid;
        if (height > tmp_h)
            tmp_h = height;
        if (width_kid > tmp_w)
            tmp_w = width_kid;
        ++n;
    }

    height = tmp_h + vadd;
    width += tmp_w + hadd;

    if (xaw->simple_menu.label)
        width = ((width) > ((((RectObj)xaw->simple_menu.label)->rectangle.width) + hadd) ? (width) : ((((RectObj)xaw->simple_menu.label)->rectangle.width) + hadd));

    *width_return = width;
    *height_return = height;

    if (try_layout && columns > 1 && num_children > 2) {
        int space;

        height = test_h * (xaw->simple_menu.label ?
                           num_children - 1 :
                           num_children);

        max_dim -= max_dim % test_h;
        space = max_dim - (height % max_dim);
        if (space >= test_h * columns) {
            height = max_dim - space / columns;
            if (height % test_h)
                height += test_h - (height % test_h);
            *height_return = height + vadd;
            CalculateNewSize(w, width_return, height_return);
        }
    }
}

static void
MakeResizeRequest(Widget w)
{
    int tries;
    Dimension width, height;

    width = (((RectObj)w)->rectangle.width);
    height = (((RectObj)w)->rectangle.height);

    for (tries = 0; tries < 100; tries++) {
        CalculateNewSize(w, &width, &height);
        if (width == (((RectObj)w)->rectangle.width) && height == (((RectObj)w)->rectangle.height))
            break;
        if (XtMakeResizeRequest(w, width, height, &width, &height) ==
            XtGeometryNo)
        break;
    }
}


static void
Popdown(Widget w, XEvent *event, String *params, Cardinal *num_params)
{
    SimpleMenuWidget smw = (SimpleMenuWidget)w;

    while (((w)->core.parent) &&
           XtIsSubclass(((w)->core.parent), simpleMenuWidgetClass)) {
        if (((SimpleMenuWidget)((w)->core.parent))->simple_menu.sub_menu == (Widget)w) {
            w = ((w)->core.parent);
            smw = (SimpleMenuWidget)w;
            smw->simple_menu.entry_set = ((void *)0);
        }
        else
            break;
    }

    smw->simple_menu.state |= 0x01;
    if (smw->simple_menu.sub_menu)
        PopdownSubMenu(smw);
    XtCallActionProc(w, "XtMenuPopdown", event, params, *num_params);
}

static void
PopupSubMenu(SimpleMenuWidget smw)
{
    Arg args[2];
    Cardinal num_args;
    Widget menu;
    SmeBSBObject entry = (SmeBSBObject)smw->simple_menu.entry_set;
    Position menu_x, menu_y;
    int popleft;

    if (entry->sme_bsb.menu_name == ((void *)0))
        return;

    if ((menu = FindMenu((Widget)smw, entry->sme_bsb.menu_name)) == ((void *)0))
        return;

    smw->simple_menu.sub_menu = menu;

    if (!(XtWindowOfObject(menu) != 0L))
        XtRealizeWidget(menu);

    popleft = (smw->simple_menu.state & 0x02) != 0;

    if (popleft)
        XtTranslateCoords((Widget)smw, -(int)(((RectObj)menu)->rectangle.width),
                          (((RectObj)entry)->rectangle.y) - (((RectObj)menu)->rectangle.border_width), &menu_x, &menu_y);
    else
        XtTranslateCoords((Widget)smw, (((RectObj)smw)->rectangle.width), (((RectObj)entry)->rectangle.y)
                          - (((RectObj)menu)->rectangle.border_width), &menu_x, &menu_y);

    if (!popleft && menu_x >= 0) {
        int scr_width = ((((menu)->core.screen))->width);

        if (menu_x + (((RectObj)menu)->rectangle.width) > scr_width) {
            menu_x -= (((RectObj)menu)->rectangle.width) + (((RectObj)smw)->rectangle.width);
            popleft = 1;
        }
    }
    else if (popleft && menu_x < 0) {
        menu_x = 0;
        popleft = 0;
    }
    if (menu_y >= 0) {
        int scr_height = ((((menu)->core.screen))->height);

        if (menu_y + (((RectObj)menu)->rectangle.height) > scr_height)
            menu_y = scr_height - (((RectObj)menu)->rectangle.height) - (((RectObj)menu)->rectangle.border_width);
    }
    if (menu_y < 0)
        menu_y = 0;

    num_args = 0;
    ((void)( (args[num_args]).name = (((char*)&XtStrings[885])), (args[num_args]).value = (XtArgVal)(menu_x) )); num_args++;
    ((void)( (args[num_args]).name = (((char*)&XtStrings[887])), (args[num_args]).value = (XtArgVal)(menu_y) )); num_args++;
    XtSetValues(menu, args, num_args);

    if (popleft)
        ((SimpleMenuWidget)menu)->simple_menu.state |= 0x02;
    else
        ((SimpleMenuWidget)menu)->simple_menu.state &= ~0x02;

    XtPopup(menu, XtGrabNone);
}

static void
PopdownSubMenu(SimpleMenuWidget smw)
{
    SimpleMenuWidget menu = (SimpleMenuWidget)smw->simple_menu.sub_menu;

    if (!menu)
        return;

    menu->simple_menu.state |= 0x01;
    PopdownSubMenu(menu);

    XtPopdown((Widget)menu);

    smw->simple_menu.sub_menu = ((void *)0);
}


static void
PopupCB(Widget w, XtPointer client_data, XtPointer call_data)
{
    SimpleMenuWidget smw = (SimpleMenuWidget)w;

    smw->simple_menu.state &= ~(0x01 | 0x02);
}

>Fix:
	remove -frename-registers from the command line
>Release-Note:
>Audit-Trail:
>Unformatted:


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

end of thread, other threads:[~2002-04-30 22:32 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-04-30 15:32 c/6516: 3.1 xfree86 4.0.2 -fpic -frename-registers does not output .L GOT label rth
  -- strict thread matches above, loose matches on Subject: below --
2002-04-30  7:06 tmwg-gcc

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