public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: c/3843: gcc-3.0 sparc-solaris2.6 leaves local .LL symbols unresolved
@ 2002-04-24 15:36 rth
0 siblings, 0 replies; 2+ messages in thread
From: rth @ 2002-04-24 15:36 UTC (permalink / raw)
To: gcc-bugs, gcc-prs, nobody, partain
Synopsis: gcc-3.0 sparc-solaris2.6 leaves local .LL symbols unresolved
State-Changed-From-To: open->closed
State-Changed-By: rth
State-Changed-When: Wed Apr 24 15:36:54 2002
State-Changed-Why:
Fixed for gcc 3.1.
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=3843
^ permalink raw reply [flat|nested] 2+ messages in thread
* c/3843: gcc-3.0 sparc-solaris2.6 leaves local .LL symbols unresolved
@ 2001-07-27 9:26 Will Partain
0 siblings, 0 replies; 2+ messages in thread
From: Will Partain @ 2001-07-27 9:26 UTC (permalink / raw)
To: gcc-gnats
>Number: 3843
>Category: c
>Synopsis: gcc-3.0 sparc-solaris2.6 leaves local .LL symbols unresolved
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: wrong-code
>Submitter-Id: net
>Arrival-Date: Fri Jul 27 09:26:01 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator: Will Partain
>Release: 3.0
>Organization:
>Environment:
System: SunOS slicker 5.6 Generic_105181-25 sun4u sparc SUNW,Ultra-5_10
Architecture: sun4
host: sparc-sun-solaris2.6
build: sparc-sun-solaris2.6
target: sparc-sun-solaris2.6
configured with: ./configure --prefix=/.-ark-deploy/gcc--3.0 --enable-languages=c,c++ --disable-nls : (reconfigured) ./configure --prefix=/.-ark-deploy/gcc--3.0 --enable-languages=c,c++ --disable-nls
>Description:
Compiling CmplxMenu.c out of x3270-3.2.14 produces assembler
with unresolving local symbols.
>How-To-Repeat:
% /our/bin/gcc -O2 -fstrict-aliasing -S CmplxMenu.i
% /our/bin/gcc -c CmplxMenu.s
% nm -g CmplxMenu.o | grep LL
[67] | 0| 0|NOTY |GLOB |0 |UNDEF |.LL113
[66] | 0| 0|NOTY |GLOB |0 |UNDEF |.LL280
== CmplxMenu.i
typedef __builtin_va_list __gnuc_va_list;
typedef void *__va_list;
typedef unsigned int size_t;
typedef long long __longlong_t;
typedef long off_t;
typedef __longlong_t off64_t;
typedef long fpos_t;
typedef __longlong_t fpos64_t;
typedef struct
{
int _cnt;
unsigned char *_ptr;
unsigned char *_base;
unsigned char _flag;
unsigned char _file;
} FILE;
extern FILE __iob[20];
extern FILE *_lastbuf;
extern unsigned char *_bufendtab[];
extern unsigned char _sibuf[], _sobuf[];
extern int remove(const char *);
extern int rename(const char *, const char *);
extern FILE *tmpfile(void);
extern char *tmpnam(char *);
extern int fclose(FILE *);
extern int fflush(FILE *);
extern FILE *fopen(const char *, const char *);
extern FILE *freopen(const char *, const char *, FILE *);
extern void setbuf(FILE *, char *);
extern void setbuffer(FILE *, char *, size_t);
extern int setlinebuf(FILE *);
extern int setvbuf(FILE *, char *, int, size_t);
extern int fprintf(FILE *, const char *, ...);
extern int fscanf(FILE *, const char *, ...);
extern int printf(const char *, ...);
extern int scanf(const char *, ...);
extern int snprintf(char *, size_t, const char *, ...);
extern int sprintf(char *, const char *, ...);
extern int sscanf(const char *, const char *, ...);
extern int vfprintf(FILE *, const char *, __gnuc_va_list);
extern int vprintf(const char *, __gnuc_va_list);
extern int vsnprintf(char *, size_t, const char *, __gnuc_va_list);
extern int vsprintf(char *, const char *, __gnuc_va_list);
extern int fgetc(FILE *);
extern char *fgets(char *, int, FILE *);
extern int fputc(int, FILE *);
extern int fputs(const char *, FILE *);
extern int getc(FILE *);
extern int getchar(void);
extern char *gets(char *);
extern int putc(int, FILE *);
extern int putchar(int);
extern int puts(const char *);
extern int ungetc(int, FILE *);
extern size_t fread(void *, size_t, size_t, FILE *);
extern size_t fwrite(const void *, size_t, size_t, FILE *);
extern int fgetpos(FILE *, fpos_t *);
extern int fseek(FILE *, long, int);
extern int fsetpos(FILE *, const fpos_t *);
extern long ftell(FILE *);
extern void rewind(FILE *);
extern void clearerr(FILE *);
extern int feof(FILE *);
extern int ferror(FILE *);
extern void perror(const char *);
extern int __filbuf(FILE *);
extern int __flsbuf(int, FILE *);
extern FILE *fdopen(int, const char *);
extern char *ctermid(char *);
extern int fileno(FILE *);
extern FILE *popen(const char *, const char *);
extern char *cuserid(char *);
extern char *tempnam(const char *, const char *);
extern int getopt(int, char *const *, const char *);
extern int getsubopt(char **, char *const *, char **);
extern char *optarg;
extern int optind, opterr, optopt;
extern int getw(FILE *);
extern int putw(int, FILE *);
extern int pclose(FILE *);
extern int fseeko(FILE *, off_t, int);
extern off_t ftello(FILE *);
extern FILE *fopen64(const char *, const char *);
extern FILE *freopen64(const char *, const char *, FILE *);
extern FILE *tmpfile64(void);
extern int fgetpos64(FILE *, fpos64_t *);
extern int fsetpos64(FILE *, const fpos64_t *);
extern int fseeko64(FILE *, off64_t, int);
extern off64_t ftello64(FILE *);
typedef struct {
int quot;
int rem;
} div_t;
typedef struct {
long quot;
long rem;
} ldiv_t;
typedef struct {
long long quot;
long long rem;
} lldiv_t;
typedef long uid_t;
typedef long int wchar_t;
extern unsigned char __ctype[];
extern double atof(const char *);
extern int atoi(const char *);
extern long int atol(const char *);
extern double strtod(const char *, char **);
extern long int strtol(const char *, char **, int);
extern unsigned long int strtoul(const char *, char **, int);
extern int rand(void);
extern void srand(unsigned int);
extern void *calloc(size_t, size_t);
extern void free(void *);
extern void *malloc(size_t);
extern void *realloc(void *, size_t);
extern void abort(void);
extern int atexit(void (*)(void));
extern void exit(int);
extern void _exithandle(void);
extern char *getenv(const char *);
extern int system(const char *);
extern void *bsearch(const void *, const void *, size_t, size_t,
int (*)(const void *, const void *));
extern void qsort(void *, size_t, size_t,
int (*)(const void *, const void *));
extern int abs(int);
extern div_t div(int, int);
extern long int labs(long);
extern ldiv_t ldiv(long, long);
extern int mbtowc(wchar_t *, const char *, size_t);
extern int mblen(const char *, size_t);
extern int wctomb(char *, wchar_t);
extern size_t mbstowcs(wchar_t *, const char *, size_t);
extern size_t wcstombs(char *, const wchar_t *, size_t);
extern double drand48(void);
extern double erand48(unsigned short *);
extern long jrand48(unsigned short *);
extern void lcong48(unsigned short *);
extern long lrand48(void);
extern long mrand48(void);
extern long nrand48(unsigned short *);
extern unsigned short *seed48(unsigned short *);
extern void srand48(long);
extern int putenv(const char *);
extern void setkey(const char *);
extern void swab(const char *, char *, int);
extern int mkstemp(char *);
extern int mkstemp64(char *);
extern long a64l(const char *);
extern char *ecvt(double, int, int *, int *);
extern char *fcvt(double, int, int *, int *);
extern char *gcvt(double, int, char *);
extern int getsubopt(char **, char *const *, char **);
extern int grantpt(int);
extern char *initstate(unsigned, char *, size_t);
extern char *l64a(long);
extern char *mktemp(char *);
extern char *ptsname(int);
extern long random(void);
extern char *realpath(const char *, char *);
extern char *setstate(const char *);
extern void srandom(unsigned);
extern int ttyslot(void);
extern int unlockpt(int);
extern void *valloc(size_t);
extern int dup2(int, int);
extern char *qecvt(long double, int, int *, int *);
extern char *qfcvt(long double, int, int *, int *);
extern char *qgcvt(long double, int, char *);
extern char *getcwd(char *, size_t);
extern const char *getexecname(void);
extern char *getlogin(void);
extern int getopt(int, char *const *, const char *);
extern char *optarg;
extern int optind, opterr, optopt;
extern char *getpass(const char *);
extern char *getpassphrase(const char *);
extern int getpw(uid_t, char *);
extern int isatty(int);
extern void *memalign(size_t, size_t);
extern char *ttyname(int);
extern long long atoll(const char *);
extern long long llabs(long long);
extern lldiv_t lldiv(long long, long long);
extern char *lltostr(long long, char *);
extern long long strtoll(const char *, char **, int);
extern unsigned long long strtoull(const char *, char **, int);
extern char *ulltostr(unsigned long long, char *);
typedef struct _physadr_t { int r[1]; } *physadr_t;
typedef struct _label_t { int val[2]; } label_t;
typedef unsigned char lock_t;
typedef char int8_t;
typedef short int16_t;
typedef int int32_t;
typedef long long int64_t;
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned int uint32_t;
typedef unsigned long long uint64_t;
typedef int64_t intmax_t;
typedef uint64_t uintmax_t;
typedef int intptr_t;
typedef unsigned int uintptr_t;
typedef char int_least8_t;
typedef short int_least16_t;
typedef int int_least32_t;
typedef long long int_least64_t;
typedef unsigned char uint_least8_t;
typedef unsigned short uint_least16_t;
typedef unsigned int uint_least32_t;
typedef unsigned long long uint_least64_t;
typedef long long longlong_t;
typedef unsigned long long u_longlong_t;
typedef unsigned char uchar_t;
typedef unsigned short ushort_t;
typedef unsigned int uint_t;
typedef unsigned long ulong_t;
typedef char * caddr_t;
typedef long daddr_t;
typedef short cnt_t;
typedef ulong_t paddr_t;
typedef uchar_t use_t;
typedef short sysid_t;
typedef short index_t;
typedef ulong_t ino_t;
typedef long blkcnt_t;
typedef ulong_t fsblkcnt_t;
typedef ulong_t fsfilcnt_t;
typedef u_longlong_t ino64_t;
typedef longlong_t blkcnt64_t;
typedef u_longlong_t fsblkcnt64_t;
typedef u_longlong_t fsfilcnt64_t;
typedef enum { B_FALSE, B_TRUE } boolean_t;
typedef int64_t pad64_t;
typedef uint64_t upad64_t;
typedef longlong_t offset_t;
typedef u_longlong_t u_offset_t;
typedef u_longlong_t len_t;
typedef longlong_t diskaddr_t;
typedef union {
offset_t _f;
struct {
long _u;
off_t _l;
} _p;
} lloff_t;
typedef union {
diskaddr_t _f;
struct {
long _u;
daddr_t _l;
} _p;
} lldaddr_t;
typedef ulong_t k_fltset_t;
typedef long id_t;
typedef uint_t useconds_t;
typedef ulong_t major_t;
typedef ulong_t minor_t;
typedef short pri_t;
typedef ushort_t o_mode_t;
typedef short o_dev_t;
typedef ushort_t o_uid_t;
typedef o_uid_t o_gid_t;
typedef short o_nlink_t;
typedef short o_pid_t;
typedef ushort_t o_ino_t;
typedef int key_t;
typedef ulong_t mode_t;
typedef uid_t gid_t;
typedef ulong_t nlink_t;
typedef ulong_t dev_t;
typedef long pid_t;
typedef unsigned int pthread_t;
typedef unsigned int pthread_key_t;
typedef struct _pthread_mutex {
struct {
uint8_t __pthread_mutex_flag[4];
uint32_t __pthread_mutex_type;
} __pthread_mutex_flags;
union {
struct {
uint8_t __pthread_mutex_pad[8];
} __pthread_mutex_lock64;
upad64_t __pthread_mutex_owner64;
} __pthread_mutex_lock;
upad64_t __pthread_mutex_data;
} pthread_mutex_t;
typedef struct _pthread_cond {
struct {
uint8_t __pthread_cond_flag[4];
uint32_t __pthread_cond_type;
} __pthread_cond_flags;
upad64_t __pthread_cond_data;
} pthread_cond_t;
typedef struct _pthread_attr {
void *__pthread_attrp;
} pthread_attr_t;
typedef struct _pthread_mutexattr {
void *__pthread_mutexattrp;
} pthread_mutexattr_t;
typedef struct _pthread_condattr {
void *__pthread_condattrp;
} pthread_condattr_t;
typedef struct _once {
upad64_t __pthread_once_pad[4];
} pthread_once_t;
typedef int ssize_t;
typedef long time_t;
typedef long clock_t;
typedef int clockid_t;
typedef int timer_t;
typedef unsigned char unchar;
typedef unsigned short ushort;
typedef unsigned int uint;
typedef unsigned long ulong;
typedef long hostid_t;
typedef unsigned char u_char;
typedef unsigned short u_short;
typedef unsigned int u_int;
typedef unsigned long u_long;
typedef struct _quad { long val[2]; } quad;
struct timeval {
time_t tv_sec;
long tv_usec;
};
struct timezone {
int tz_minuteswest;
int tz_dsttime;
};
struct itimerval {
struct timeval it_interval;
struct timeval it_value;
};
typedef struct timespec {
time_t tv_sec;
long tv_nsec;
} timespec_t;
typedef struct timespec timestruc_t;
typedef struct itimerspec {
struct timespec it_interval;
struct timespec it_value;
} itimerspec_t;
typedef longlong_t hrtime_t;
int adjtime(struct timeval *, struct timeval *);
int getitimer(int, struct itimerval *);
int setitimer(int, struct itimerval *, struct itimerval *);
int settimeofday(struct timeval *, void *);
hrtime_t gethrtime(void);
hrtime_t gethrvtime(void);
int gettimeofday(struct timeval *, void *);
struct tm {
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;
};
extern clock_t clock(void);
extern double difftime(time_t, time_t);
extern time_t mktime(struct tm *);
extern time_t time(time_t *);
extern char *asctime(const struct tm *);
extern char *ctime(const time_t *);
extern struct tm *gmtime(const time_t *);
extern struct tm *localtime(const time_t *);
extern size_t strftime(char *, size_t, const char *, const struct tm *);
extern char *strptime(const char *, const char *, struct tm *);
union sigval {
int sival_int;
void *sival_ptr;
};
struct sigevent {
int sigev_notify;
union {
int _sigev_signo;
void (*_sigev_notify_function)(union sigval);
} _sigev_un;
union sigval sigev_value;
int _sigev_pad1;
void *_sigev_notify_attributes;
int _sigev_pad2;
};
typedef struct siginfo {
int si_signo;
int si_code;
int si_errno;
union {
int __pad[((128 / sizeof (int)) - 3)];
struct {
pid_t __pid;
union {
struct {
uid_t __uid;
union sigval __value;
} __kill;
struct {
clock_t __utime;
int __status;
clock_t __stime;
} __cld;
} __pdata;
} __proc;
struct {
void *__addr;
int __trapno;
caddr_t __pc;
} __fault;
struct {
int __fd;
long __band;
} __file;
struct {
caddr_t __faddr;
timestruc_t __tstamp;
short __syscall;
char __nsysarg;
char __fault;
long __sysarg[8];
long __mstate[17];
} __prof;
} __data;
} siginfo_t;
typedef struct k_siginfo {
int si_signo;
int si_code;
int si_errno;
union {
struct {
pid_t __pid;
union {
struct {
uid_t __uid;
union sigval __value;
} __kill;
struct {
clock_t __utime;
int __status;
clock_t __stime;
} __cld;
} __pdata;
} __proc;
struct {
void *__addr;
int __trapno;
caddr_t __pc;
} __fault;
struct {
int __fd;
long __band;
} __file;
struct {
caddr_t __faddr;
timestruc_t __tstamp;
short __syscall;
char __nsysarg;
char __fault;
} __prof;
} __data;
} k_siginfo_t;
typedef struct sigqueue {
struct sigqueue *sq_next;
k_siginfo_t sq_info;
void (*sq_func)(struct sigqueue *);
void *sq_backptr;
} sigqueue_t;
extern int clock_getres(clockid_t, struct timespec *);
extern int clock_gettime(clockid_t, struct timespec *);
extern int clock_settime(clockid_t, const struct timespec *);
extern int timer_create(clockid_t, struct sigevent *, timer_t *);
extern int timer_delete(timer_t);
extern int timer_getoverrun(timer_t);
extern int timer_gettime(timer_t, struct itimerspec *);
extern int timer_settime(timer_t, int, const struct itimerspec *,
struct itimerspec *);
extern int nanosleep(const struct timespec *, struct timespec *);
extern void tzset(void);
extern char *tzname[2];
extern long _sysconf(int);
extern long timezone;
extern int daylight;
extern int cftime(char *, char *, const time_t *);
extern int ascftime(char *, const char *, const struct tm *);
extern long altzone;
extern struct tm *getdate(const char *);
extern int getdate_err;
typedef long fd_mask;
typedef long fds_mask;
typedef struct fd_set {
long fds_bits[(((1024)+(((sizeof (fds_mask) * 8))-1))/((sizeof (fds_mask) * 8)))];
} fd_set;
extern int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);
extern int access(const char *, int);
extern int acct(const char *);
extern unsigned alarm(unsigned);
extern int brk(void *);
extern int chdir(const char *);
extern int chown(const char *, uid_t, gid_t);
extern int chroot(const char *);
extern int close(int);
extern char *ctermid(char *);
extern char *cuserid(char *);
extern int dup(int);
extern int dup2(int, int);
extern int execl(const char *, const char *, ...);
extern int execle(const char *, const char *, ...);
extern int execlp(const char *, const char *, ...);
extern int execv(const char *, char *const *);
extern int execve(const char *, char *const *, char *const *);
extern int execvp(const char *, char *const *);
extern void _exit(int);
extern int fattach(int, const char *);
extern int fchdir(int);
extern int fchown(int, uid_t, gid_t);
extern int fchroot(int);
extern int fdatasync(int);
extern int fdetach(const char *);
extern pid_t fork(void);
extern pid_t fork1(void);
extern long fpathconf(int, int);
extern int fsync(int);
extern int ftruncate(int, off_t);
extern char *getcwd(char *, size_t);
extern int getdtablesize(void);
extern gid_t getegid(void);
extern uid_t geteuid(void);
extern gid_t getgid(void);
extern int getgroups(int, gid_t *);
extern long gethostid(void);
extern int gethostname(char *, int);
extern char *getlogin(void);
extern int getpagesize(void);
extern pid_t getpgid(pid_t);
extern pid_t getpid(void);
extern pid_t getppid(void);
extern pid_t getpgrp(void);
char *gettxt(const char *, const char *);
extern pid_t getsid(pid_t);
extern uid_t getuid(void);
extern char *getwd(char *);
extern int ioctl(int, int, ...);
extern int isatty(int);
extern int link(const char *, const char *);
extern int lchown(const char *, uid_t, gid_t);
extern offset_t llseek(int, offset_t, int);
extern int lockf(int, int, off_t);
extern off_t lseek(int, off_t, int);
extern int mincore(caddr_t, size_t, char *);
extern int nice(int);
extern long pathconf(const char *, int);
extern int pause(void);
extern int pipe(int *);
extern ssize_t pread(int, void *, size_t, off_t);
extern void profil(unsigned short *, size_t, int, unsigned int);
extern int ptrace(int, pid_t, int, int);
extern ssize_t pwrite(int, const void *, size_t, off_t);
extern ssize_t read(int, void *, size_t);
extern int readlink(const char *, char *, size_t);
extern int rename(const char *, const char *);
extern int resolvepath(const char *, char *, size_t);
extern int rmdir(const char *);
extern void *sbrk(int);
extern int setgid(gid_t);
extern int setegid(gid_t);
extern int setgroups(int, const gid_t *);
extern int setpgid(pid_t, pid_t);
extern pid_t setpgrp(void);
extern int setregid(gid_t, gid_t);
extern int setreuid(uid_t, uid_t);
extern pid_t setsid(void);
extern int setuid(uid_t);
extern int seteuid(uid_t);
extern unsigned sleep(unsigned);
extern int stime(const time_t *);
extern int symlink(const char *, const char *);
extern void sync(void);
extern long sysconf(int);
extern pid_t tcgetpgrp(int);
extern int tcsetpgrp(int, pid_t);
extern off_t tell(int);
extern int truncate(const char *, off_t);
extern char *ttyname(int);
extern useconds_t ualarm(useconds_t, useconds_t);
extern int unlink(const char *);
extern int usleep(useconds_t);
extern pid_t vfork(void);
extern void vhangup(void);
extern ssize_t write(int, const void *, size_t);
extern void yield(void);
extern int ftruncate64(int, off64_t);
extern off64_t lseek64(int, off64_t, int);
extern ssize_t pread64(int, void *, size_t, off64_t);
extern ssize_t pwrite64(int, const void *, size_t, off64_t);
extern off64_t tell64(int);
extern int truncate64(const char *, off64_t);
extern int lockf64(int, int, off64_t);
extern int isalnum(int);
extern int isalpha(int);
extern int iscntrl(int);
extern int isdigit(int);
extern int isgraph(int);
extern int islower(int);
extern int isprint(int);
extern int ispunct(int);
extern int isspace(int);
extern int isupper(int);
extern int isxdigit(int);
extern int tolower(int);
extern int toupper(int);
extern int isascii(int);
extern int toascii(int);
extern int _tolower(int);
extern int _toupper(int);
extern unsigned char __ctype[];
extern unsigned int *__ctype_mask;
extern long *__trans_upper;
extern long *__trans_lower;
extern void *memcpy(void *, const void *, size_t);
extern void *memmove(void *, const void *, size_t);
extern char *strcpy(char *, const char *);
extern char *strncpy(char *, const char *, size_t);
extern char *strcat(char *, const char *);
extern char *strncat(char *, const char *, size_t);
extern int memcmp(const void *, const void *, size_t);
extern int strcmp(const char *, const char *);
extern int strcoll(const char *, const char *);
extern int strncmp(const char *, const char *, size_t);
extern size_t strxfrm(char *, const char *, size_t);
extern void *memchr(const void *, int, size_t);
extern char *strchr(const char *, int);
extern size_t strcspn(const char *, const char *);
extern char *strpbrk(const char *, const char *);
extern char *strrchr(const char *, int);
extern size_t strspn(const char *, const char *);
extern char *strstr(const char *, const char *);
extern char *strtok(char *, const char *);
extern void *memset(void *, int, size_t);
extern char *strerror(int);
extern size_t strlen(const char *);
extern void *memccpy(void *, const void *, int, size_t);
extern char *strsignal(int);
extern int ffs(int);
extern int strcasecmp(const char *, const char *);
extern int strncasecmp(const char *, const char *, size_t);
extern char *strdup(const char *);
typedef unsigned long XID;
typedef unsigned long Mask;
typedef unsigned long Atom;
typedef unsigned long VisualID;
typedef unsigned long Time;
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;
typedef int ptrdiff_t;
typedef char *XPointer;
typedef struct _XExtData {
int number;
struct _XExtData *next;
int (*free_private)();
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)();
int (*destroy_image) (struct _XImage *);
unsigned long (*get_pixel) (struct _XImage *, int, int);
int (*put_pixel) (struct _XImage *, int, int, unsigned long);
struct _XImage *(*sub_image)(struct _XImage *, int, int, unsigned int, unsigned int);
int (*add_pixel) (struct _XImage *, long);
} f;
} XImage;
typedef struct {
int x, y;
int width, height;
int border_width;
Window sibling;
int stack_mode;
} XWindowChanges;
typedef struct {
unsigned long pixel;
unsigned short red, green, blue;
char flags;
char pad;
} XColor;
typedef struct {
short x1, y1, x2, y2;
} XSegment;
typedef struct {
short x, y;
} XPoint;
typedef struct {
short x, y;
unsigned short width, height;
} XRectangle;
typedef struct {
short x, y;
unsigned short width, height;
short angle1, angle2;
} XArc;
typedef struct {
int key_click_percent;
int bell_percent;
int bell_pitch;
int bell_duration;
int led;
int led_mode;
int key;
int auto_repeat_mode;
} XKeyboardControl;
typedef struct {
int key_click_percent;
int bell_percent;
unsigned int bell_pitch, bell_duration;
unsigned long led_mask;
int global_auto_repeat;
char auto_repeats[32];
} XKeyboardState;
typedef struct {
Time time;
short x, y;
} XTimeCoord;
typedef struct {
int max_keypermod;
KeyCode *modifiermap;
} XModifierKeymap;
typedef struct _XDisplay Display;
struct _XPrivate;
struct _XrmHashBucketRec;
typedef struct
{
XExtData *ext_data;
struct _XPrivate *private1;
int fd;
int private2;
int proto_major_version;
int proto_minor_version;
char *vendor;
XID private3;
XID private4;
XID private5;
int private6;
XID (*resource_alloc)();
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)();
char *display_name;
int default_screen;
int nscreens;
Screen *screens;
unsigned long motion_buffer;
unsigned long private16;
int min_keycode;
int max_keycode;
XPointer private17;
XPointer private18;
int private19;
char *xdefaults;
}
*_XPrivDisplay;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window window;
Window root;
Window subwindow;
Time time;
int x, y;
int x_root, y_root;
unsigned int state;
unsigned int keycode;
int same_screen;
} XKeyEvent;
typedef XKeyEvent XKeyPressedEvent;
typedef XKeyEvent XKeyReleasedEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window window;
Window root;
Window subwindow;
Time time;
int x, y;
int x_root, y_root;
unsigned int state;
unsigned int button;
int same_screen;
} XButtonEvent;
typedef XButtonEvent XButtonPressedEvent;
typedef XButtonEvent XButtonReleasedEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window window;
Window root;
Window subwindow;
Time time;
int x, y;
int x_root, y_root;
unsigned int state;
char is_hint;
int same_screen;
} XMotionEvent;
typedef XMotionEvent XPointerMovedEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window window;
Window root;
Window subwindow;
Time time;
int x, y;
int x_root, y_root;
int mode;
int detail;
int same_screen;
int focus;
unsigned int state;
} XCrossingEvent;
typedef XCrossingEvent XEnterWindowEvent;
typedef XCrossingEvent XLeaveWindowEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window window;
int mode;
int detail;
} XFocusChangeEvent;
typedef XFocusChangeEvent XFocusInEvent;
typedef XFocusChangeEvent XFocusOutEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window window;
char key_vector[32];
} XKeymapEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window window;
int x, y;
int width, height;
int count;
} XExposeEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Drawable drawable;
int x, y;
int width, height;
int count;
int major_code;
int minor_code;
} XGraphicsExposeEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Drawable drawable;
int major_code;
int minor_code;
} XNoExposeEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window window;
int state;
} XVisibilityEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window parent;
Window window;
int x, y;
int width, height;
int border_width;
int override_redirect;
} XCreateWindowEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window event;
Window window;
} XDestroyWindowEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window event;
Window window;
int from_configure;
} XUnmapEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window event;
Window window;
int override_redirect;
} XMapEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window parent;
Window window;
} XMapRequestEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window event;
Window window;
Window parent;
int x, y;
int override_redirect;
} XReparentEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window event;
Window window;
int x, y;
int width, height;
int border_width;
Window above;
int override_redirect;
} XConfigureEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window event;
Window window;
int x, y;
} XGravityEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window window;
int width, height;
} XResizeRequestEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window parent;
Window window;
int x, y;
int width, height;
int border_width;
Window above;
int detail;
unsigned long value_mask;
} XConfigureRequestEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window event;
Window window;
int place;
} XCirculateEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window parent;
Window window;
int place;
} XCirculateRequestEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window window;
Atom atom;
Time time;
int state;
} XPropertyEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window window;
Atom selection;
Time time;
} XSelectionClearEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window owner;
Window requestor;
Atom selection;
Atom target;
Atom property;
Time time;
} XSelectionRequestEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window requestor;
Atom selection;
Atom target;
Atom property;
Time time;
} XSelectionEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window window;
Colormap colormap;
int new;
int state;
} XColormapEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window window;
Atom message_type;
int format;
union {
char b[20];
short s[10];
long l[5];
} data;
} XClientMessageEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window window;
int request;
int first_keycode;
int count;
} XMappingEvent;
typedef struct {
int type;
Display *display;
XID resourceid;
unsigned long serial;
unsigned char error_code;
unsigned char request_code;
unsigned char minor_code;
} XErrorEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window window;
} XAnyEvent;
typedef union _XEvent {
int type;
XAnyEvent xany;
XKeyEvent xkey;
XButtonEvent xbutton;
XMotionEvent xmotion;
XCrossingEvent xcrossing;
XFocusChangeEvent xfocus;
XExposeEvent xexpose;
XGraphicsExposeEvent xgraphicsexpose;
XNoExposeEvent xnoexpose;
XVisibilityEvent xvisibility;
XCreateWindowEvent xcreatewindow;
XDestroyWindowEvent xdestroywindow;
XUnmapEvent xunmap;
XMapEvent xmap;
XMapRequestEvent xmaprequest;
XReparentEvent xreparent;
XConfigureEvent xconfigure;
XGravityEvent xgravity;
XResizeRequestEvent xresizerequest;
XConfigureRequestEvent xconfigurerequest;
XCirculateEvent xcirculate;
XCirculateRequestEvent xcirculaterequest;
XPropertyEvent xproperty;
XSelectionClearEvent xselectionclear;
XSelectionRequestEvent xselectionrequest;
XSelectionEvent xselection;
XColormapEvent xcolormap;
XClientMessageEvent xclient;
XMappingEvent xmapping;
XErrorEvent xerror;
XKeymapEvent xkeymap;
long pad[24];
} XEvent;
typedef struct {
short lbearing;
short rbearing;
short width;
short ascent;
short descent;
unsigned short attributes;
} XCharStruct;
typedef struct {
Atom name;
unsigned long card32;
} XFontProp;
typedef struct {
XExtData *ext_data;
Font fid;
unsigned direction;
unsigned min_char_or_byte2;
unsigned max_char_or_byte2;
unsigned min_byte1;
unsigned max_byte1;
int all_chars_exist;
unsigned default_char;
int n_properties;
XFontProp *properties;
XCharStruct min_bounds;
XCharStruct max_bounds;
XCharStruct *per_char;
int ascent;
int descent;
} XFontStruct;
typedef struct {
char *chars;
int nchars;
int delta;
Font font;
} XTextItem;
typedef struct {
unsigned char byte1;
unsigned char byte2;
} XChar2b;
typedef struct {
XChar2b *chars;
int nchars;
int delta;
Font font;
} XTextItem16;
typedef union { Display *display;
GC gc;
Visual *visual;
Screen *screen;
ScreenFormat *pixmap_format;
XFontStruct *font; } XEDataObject;
typedef struct {
XRectangle max_ink_extent;
XRectangle max_logical_extent;
} XFontSetExtents;
typedef void (*XOMProc)();
typedef struct _XOM *XOM;
typedef struct _XOC *XOC, *XFontSet;
typedef struct {
char *chars;
int nchars;
int delta;
XFontSet font_set;
} XmbTextItem;
typedef struct {
wchar_t *chars;
int nchars;
int delta;
XFontSet font_set;
} XwcTextItem;
typedef struct {
int charset_count;
char **charset_list;
} XOMCharSetList;
typedef enum {
XOMOrientation_LTR_TTB,
XOMOrientation_RTL_TTB,
XOMOrientation_TTB_LTR,
XOMOrientation_TTB_RTL,
XOMOrientation_Context
} XOrientation;
typedef struct {
int num_orientation;
XOrientation *orientation;
} XOMOrientation;
typedef struct {
int num_font;
XFontStruct **font_struct_list;
char **font_name_list;
} XOMFontInfo;
typedef void (*XIMProc)();
typedef struct _XIM *XIM;
typedef struct _XIC *XIC;
typedef unsigned long XIMStyle;
typedef struct {
unsigned short count_styles;
XIMStyle *supported_styles;
} XIMStyles;
typedef void *XVaNestedList;
typedef struct {
XPointer client_data;
XIMProc callback;
} XIMCallback;
typedef unsigned long XIMFeedback;
typedef struct _XIMText {
unsigned short length;
XIMFeedback *feedback;
int encoding_is_wchar;
union {
char *multi_byte;
wchar_t *wide_char;
} string;
} XIMText;
typedef unsigned long XIMPreeditState;
typedef struct _XIMPreeditStateNotifyCallbackStruct {
XIMPreeditState state;
} XIMPreeditStateNotifyCallbackStruct;
typedef unsigned long XIMResetState;
typedef unsigned long XIMStringConversionFeedback;
typedef struct _XIMStringConversionText {
unsigned short length;
XIMStringConversionFeedback *feedback;
int encoding_is_wchar;
union {
char *mbs;
wchar_t *wcs;
} string;
} XIMStringConversionText;
typedef unsigned short XIMStringConversionPosition;
typedef unsigned short XIMStringConversionType;
typedef unsigned short XIMStringConversionOperation;
typedef enum {
XIMForwardChar, XIMBackwardChar,
XIMForwardWord, XIMBackwardWord,
XIMCaretUp, XIMCaretDown,
XIMNextLine, XIMPreviousLine,
XIMLineStart, XIMLineEnd,
XIMAbsolutePosition,
XIMDontChange
} XIMCaretDirection;
typedef struct _XIMStringConversionCallbackStruct {
XIMStringConversionPosition position;
XIMCaretDirection direction;
XIMStringConversionOperation operation;
unsigned short factor;
XIMStringConversionText *text;
} XIMStringConversionCallbackStruct;
typedef struct _XIMPreeditDrawCallbackStruct {
int caret;
int chg_first;
int chg_length;
XIMText *text;
} XIMPreeditDrawCallbackStruct;
typedef enum {
XIMIsInvisible,
XIMIsPrimary,
XIMIsSecondary
} XIMCaretStyle;
typedef struct _XIMPreeditCaretCallbackStruct {
int position;
XIMCaretDirection direction;
XIMCaretStyle style;
} XIMPreeditCaretCallbackStruct;
typedef enum {
XIMTextType,
XIMBitmapType
} XIMStatusDataType;
typedef struct _XIMStatusDrawCallbackStruct {
XIMStatusDataType type;
union {
XIMText *text;
Pixmap bitmap;
} data;
} XIMStatusDrawCallbackStruct;
typedef struct _XIMHotKeyTrigger {
KeySym keysym;
int modifier;
int modifier_mask;
} XIMHotKeyTrigger;
typedef struct _XIMHotKeyTriggers {
int num_hot_key;
XIMHotKeyTrigger *key;
} XIMHotKeyTriggers;
typedef unsigned long XIMHotKeyState;
typedef struct {
unsigned short count_values;
char **supported_values;
} XIMValuesList;
extern int _Xdebug;
extern XFontStruct *XLoadQueryFont(
Display* ,
const char*
);
extern XFontStruct *XQueryFont(
Display* ,
XID
);
extern XTimeCoord *XGetMotionEvents(
Display* ,
Window ,
Time ,
Time ,
int*
);
extern XModifierKeymap *XDeleteModifiermapEntry(
XModifierKeymap* ,
unsigned int ,
int
);
extern XModifierKeymap *XGetModifierMapping(
Display*
);
extern XModifierKeymap *XInsertModifiermapEntry(
XModifierKeymap* ,
unsigned int ,
int
);
extern XModifierKeymap *XNewModifiermap(
int
);
extern XImage *XCreateImage(
Display* ,
Visual* ,
unsigned int ,
int ,
int ,
char* ,
unsigned int ,
unsigned int ,
int ,
int
);
extern int XInitImage(
XImage*
);
extern XImage *XGetImage(
Display* ,
Drawable ,
int ,
int ,
unsigned int ,
unsigned int ,
unsigned long ,
int
);
extern XImage *XGetSubImage(
Display* ,
Drawable ,
int ,
int ,
unsigned int ,
unsigned int ,
unsigned long ,
int ,
XImage* ,
int ,
int
);
extern Display *XOpenDisplay(
const char*
);
extern void XrmInitialize(
void
);
extern char *XFetchBytes(
Display* ,
int*
);
extern char *XFetchBuffer(
Display* ,
int* ,
int
);
extern char *XGetAtomName(
Display* ,
Atom
);
extern int XGetAtomNames(
Display* ,
Atom* ,
int ,
char**
);
extern char *XGetDefault(
Display* ,
const char* ,
const char*
);
extern char *XDisplayName(
const char*
);
extern char *XKeysymToString(
KeySym
);
extern int (*XSynchronize(
Display* ,
int
))();
extern int (*XSetAfterFunction(
Display* ,
int (*) (
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* ,
XColor*
);
extern Cursor XCreateFontCursor(
Display* ,
unsigned int
);
extern Font XLoadFont(
Display* ,
const char*
);
extern GC XCreateGC(
Display* ,
Drawable ,
unsigned long ,
XGCValues*
);
extern GContext XGContextFromGC(
GC
);
extern void XFlushGC(
Display* ,
GC
);
extern Pixmap XCreatePixmap(
Display* ,
Drawable ,
unsigned int ,
unsigned int ,
unsigned int
);
extern Pixmap XCreateBitmapFromData(
Display* ,
Drawable ,
const char* ,
unsigned int ,
unsigned int
);
extern Pixmap XCreatePixmapFromBitmapData(
Display* ,
Drawable ,
char* ,
unsigned int ,
unsigned int ,
unsigned long ,
unsigned long ,
unsigned int
);
extern Window XCreateSimpleWindow(
Display* ,
Window ,
int ,
int ,
unsigned int ,
unsigned int ,
unsigned int ,
unsigned long ,
unsigned long
);
extern Window XGetSelectionOwner(
Display* ,
Atom
);
extern Window XCreateWindow(
Display* ,
Window ,
int ,
int ,
unsigned int ,
unsigned int ,
unsigned int ,
int ,
unsigned int ,
Visual* ,
unsigned long ,
XSetWindowAttributes*
);
extern Colormap *XListInstalledColormaps(
Display* ,
Window ,
int*
);
extern char **XListFonts(
Display* ,
const char* ,
int ,
int*
);
extern char **XListFontsWithInfo(
Display* ,
const char* ,
int ,
int* ,
XFontStruct**
);
extern char **XGetFontPath(
Display* ,
int*
);
extern char **XListExtensions(
Display* ,
int*
);
extern Atom *XListProperties(
Display* ,
Window ,
int*
);
extern XHostAddress *XListHosts(
Display* ,
int* ,
int*
);
extern KeySym XKeycodeToKeysym(
Display* ,
unsigned int ,
int
);
extern KeySym XLookupKeysym(
XKeyEvent* ,
int
);
extern KeySym *XGetKeyboardMapping(
Display* ,
unsigned int ,
int ,
int*
);
extern KeySym XStringToKeysym(
const char*
);
extern long XMaxRequestSize(
Display*
);
extern long XExtendedMaxRequestSize(
Display*
);
extern char *XResourceManagerString(
Display*
);
extern char *XScreenResourceString(
Screen*
);
extern unsigned long XDisplayMotionBufferSize(
Display*
);
extern VisualID XVisualIDFromVisual(
Visual*
);
extern int XInitThreads(
void
);
extern void XLockDisplay(
Display*
);
extern void XUnlockDisplay(
Display*
);
extern XExtCodes *XInitExtension(
Display* ,
const char*
);
extern XExtCodes *XAddExtension(
Display*
);
extern XExtData *XFindOnExtensionList(
XExtData** ,
int
);
extern XExtData **XEHeadOfExtensionList(
XEDataObject
);
extern Window XRootWindow(
Display* ,
int
);
extern Window XDefaultRootWindow(
Display*
);
extern Window XRootWindowOfScreen(
Screen*
);
extern Visual *XDefaultVisual(
Display* ,
int
);
extern Visual *XDefaultVisualOfScreen(
Screen*
);
extern GC XDefaultGC(
Display* ,
int
);
extern GC XDefaultGCOfScreen(
Screen*
);
extern unsigned long XBlackPixel(
Display* ,
int
);
extern unsigned long XWhitePixel(
Display* ,
int
);
extern unsigned long XAllPlanes(
void
);
extern unsigned long XBlackPixelOfScreen(
Screen*
);
extern unsigned long XWhitePixelOfScreen(
Screen*
);
extern unsigned long XNextRequest(
Display*
);
extern unsigned long XLastKnownRequestProcessed(
Display*
);
extern char *XServerVendor(
Display*
);
extern char *XDisplayString(
Display*
);
extern Colormap XDefaultColormap(
Display* ,
int
);
extern Colormap XDefaultColormapOfScreen(
Screen*
);
extern Display *XDisplayOfScreen(
Screen*
);
extern Screen *XScreenOfDisplay(
Display* ,
int
);
extern Screen *XDefaultScreenOfDisplay(
Display*
);
extern long XEventMaskOfScreen(
Screen*
);
extern int XScreenNumberOfScreen(
Screen*
);
typedef int (*XErrorHandler) (
Display* ,
XErrorEvent*
);
extern XErrorHandler XSetErrorHandler (
XErrorHandler
);
typedef int (*XIOErrorHandler) (
Display*
);
extern XIOErrorHandler XSetIOErrorHandler (
XIOErrorHandler
);
extern XPixmapFormatValues *XListPixmapFormats(
Display* ,
int*
);
extern int *XListDepths(
Display* ,
int ,
int*
);
extern int XReconfigureWMWindow(
Display* ,
Window ,
int ,
unsigned int ,
XWindowChanges*
);
extern int XGetWMProtocols(
Display* ,
Window ,
Atom** ,
int*
);
extern int XSetWMProtocols(
Display* ,
Window ,
Atom* ,
int
);
extern int XIconifyWindow(
Display* ,
Window ,
int
);
extern int XWithdrawWindow(
Display* ,
Window ,
int
);
extern int XGetCommand(
Display* ,
Window ,
char*** ,
int*
);
extern int XGetWMColormapWindows(
Display* ,
Window ,
Window** ,
int*
);
extern int XSetWMColormapWindows(
Display* ,
Window ,
Window* ,
int
);
extern void XFreeStringList(
char**
);
extern XSetTransientForHint(
Display* ,
Window ,
Window
);
extern XActivateScreenSaver(
Display*
);
extern XAddHost(
Display* ,
XHostAddress*
);
extern XAddHosts(
Display* ,
XHostAddress* ,
int
);
extern XAddToExtensionList(
struct _XExtData** ,
XExtData*
);
extern 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 XAllowEvents(
Display* ,
int ,
Time
);
extern XAutoRepeatOff(
Display*
);
extern XAutoRepeatOn(
Display*
);
extern XBell(
Display* ,
int
);
extern int XBitmapBitOrder(
Display*
);
extern int XBitmapPad(
Display*
);
extern int XBitmapUnit(
Display*
);
extern int XCellsOfScreen(
Screen*
);
extern XChangeActivePointerGrab(
Display* ,
unsigned int ,
Cursor ,
Time
);
extern XChangeGC(
Display* ,
GC ,
unsigned long ,
XGCValues*
);
extern XChangeKeyboardControl(
Display* ,
unsigned long ,
XKeyboardControl*
);
extern XChangeKeyboardMapping(
Display* ,
int ,
int ,
KeySym* ,
int
);
extern XChangePointerControl(
Display* ,
int ,
int ,
int ,
int ,
int
);
extern XChangeProperty(
Display* ,
Window ,
Atom ,
Atom ,
int ,
int ,
const unsigned char* ,
int
);
extern XChangeSaveSet(
Display* ,
Window ,
int
);
extern 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 XCirculateSubwindows(
Display* ,
Window ,
int
);
extern XCirculateSubwindowsDown(
Display* ,
Window
);
extern XCirculateSubwindowsUp(
Display* ,
Window
);
extern XClearArea(
Display* ,
Window ,
int ,
int ,
unsigned int ,
unsigned int ,
int
);
extern XClearWindow(
Display* ,
Window
);
extern XCloseDisplay(
Display*
);
extern XConfigureWindow(
Display* ,
Window ,
unsigned int ,
XWindowChanges*
);
extern int XConnectionNumber(
Display*
);
extern XConvertSelection(
Display* ,
Atom ,
Atom ,
Atom ,
Window ,
Time
);
extern XCopyArea(
Display* ,
Drawable ,
Drawable ,
GC ,
int ,
int ,
unsigned int ,
unsigned int ,
int ,
int
);
extern XCopyGC(
Display* ,
GC ,
unsigned long ,
GC
);
extern 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 XDefineCursor(
Display* ,
Window ,
Cursor
);
extern XDeleteProperty(
Display* ,
Window ,
Atom
);
extern XDestroyWindow(
Display* ,
Window
);
extern XDestroySubwindows(
Display* ,
Window
);
extern int XDoesBackingStore(
Screen*
);
extern int XDoesSaveUnders(
Screen*
);
extern XDisableAccessControl(
Display*
);
extern int XDisplayCells(
Display* ,
int
);
extern int XDisplayHeight(
Display* ,
int
);
extern int XDisplayHeightMM(
Display* ,
int
);
extern XDisplayKeycodes(
Display* ,
int* ,
int*
);
extern int XDisplayPlanes(
Display* ,
int
);
extern int XDisplayWidth(
Display* ,
int
);
extern int XDisplayWidthMM(
Display* ,
int
);
extern XDrawArc(
Display* ,
Drawable ,
GC ,
int ,
int ,
unsigned int ,
unsigned int ,
int ,
int
);
extern XDrawArcs(
Display* ,
Drawable ,
GC ,
XArc* ,
int
);
extern XDrawImageString(
Display* ,
Drawable ,
GC ,
int ,
int ,
const char* ,
int
);
extern XDrawImageString16(
Display* ,
Drawable ,
GC ,
int ,
int ,
const XChar2b* ,
int
);
extern XDrawLine(
Display* ,
Drawable ,
GC ,
int ,
int ,
int ,
int
);
extern XDrawLines(
Display* ,
Drawable ,
GC ,
XPoint* ,
int ,
int
);
extern XDrawPoint(
Display* ,
Drawable ,
GC ,
int ,
int
);
extern XDrawPoints(
Display* ,
Drawable ,
GC ,
XPoint* ,
int ,
int
);
extern XDrawRectangle(
Display* ,
Drawable ,
GC ,
int ,
int ,
unsigned int ,
unsigned int
);
extern XDrawRectangles(
Display* ,
Drawable ,
GC ,
XRectangle* ,
int
);
extern XDrawSegments(
Display* ,
Drawable ,
GC ,
XSegment* ,
int
);
extern XDrawString(
Display* ,
Drawable ,
GC ,
int ,
int ,
const char* ,
int
);
extern XDrawString16(
Display* ,
Drawable ,
GC ,
int ,
int ,
const XChar2b* ,
int
);
extern XDrawText(
Display* ,
Drawable ,
GC ,
int ,
int ,
XTextItem* ,
int
);
extern XDrawText16(
Display* ,
Drawable ,
GC ,
int ,
int ,
XTextItem16* ,
int
);
extern XEnableAccessControl(
Display*
);
extern int XEventsQueued(
Display* ,
int
);
extern int XFetchName(
Display* ,
Window ,
char**
);
extern XFillArc(
Display* ,
Drawable ,
GC ,
int ,
int ,
unsigned int ,
unsigned int ,
int ,
int
);
extern XFillArcs(
Display* ,
Drawable ,
GC ,
XArc* ,
int
);
extern XFillPolygon(
Display* ,
Drawable ,
GC ,
XPoint* ,
int ,
int ,
int
);
extern XFillRectangle(
Display* ,
Drawable ,
GC ,
int ,
int ,
unsigned int ,
unsigned int
);
extern XFillRectangles(
Display* ,
Drawable ,
GC ,
XRectangle* ,
int
);
extern XFlush(
Display*
);
extern XForceScreenSaver(
Display* ,
int
);
extern XFree(
void*
);
extern XFreeColormap(
Display* ,
Colormap
);
extern XFreeColors(
Display* ,
Colormap ,
unsigned long* ,
int ,
unsigned long
);
extern XFreeCursor(
Display* ,
Cursor
);
extern XFreeExtensionList(
char**
);
extern XFreeFont(
Display* ,
XFontStruct*
);
extern XFreeFontInfo(
char** ,
XFontStruct* ,
int
);
extern XFreeFontNames(
char**
);
extern XFreeFontPath(
char**
);
extern XFreeGC(
Display* ,
GC
);
extern XFreeModifiermap(
XModifierKeymap*
);
extern 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 XGetErrorDatabaseText(
Display* ,
const char* ,
const char* ,
const char* ,
char* ,
int
);
extern 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 XGetInputFocus(
Display* ,
Window* ,
int*
);
extern XGetKeyboardControl(
Display* ,
XKeyboardState*
);
extern XGetPointerControl(
Display* ,
int* ,
int* ,
int*
);
extern int XGetPointerMapping(
Display* ,
unsigned char* ,
int
);
extern 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 XGrabButton(
Display* ,
unsigned int ,
unsigned int ,
Window ,
int ,
unsigned int ,
int ,
int ,
Window ,
Cursor
);
extern 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 XGrabServer(
Display*
);
extern int XHeightMMOfScreen(
Screen*
);
extern int XHeightOfScreen(
Screen*
);
extern XIfEvent(
Display* ,
XEvent* ,
int (*) (
Display* ,
XEvent* ,
XPointer
) ,
XPointer
);
extern int XImageByteOrder(
Display*
);
extern XInstallColormap(
Display* ,
Colormap
);
extern KeyCode XKeysymToKeycode(
Display* ,
KeySym
);
extern XKillClient(
Display* ,
XID
);
extern unsigned long XLastKnownRequestProcessed(
Display*
);
extern int XLookupColor(
Display* ,
Colormap ,
const char* ,
XColor* ,
XColor*
);
extern XLowerWindow(
Display* ,
Window
);
extern XMapRaised(
Display* ,
Window
);
extern XMapSubwindows(
Display* ,
Window
);
extern XMapWindow(
Display* ,
Window
);
extern XMaskEvent(
Display* ,
long ,
XEvent*
);
extern int XMaxCmapsOfScreen(
Screen*
);
extern int XMinCmapsOfScreen(
Screen*
);
extern XMoveResizeWindow(
Display* ,
Window ,
int ,
int ,
unsigned int ,
unsigned int
);
extern XMoveWindow(
Display* ,
Window ,
int ,
int
);
extern XNextEvent(
Display* ,
XEvent*
);
extern XNoOp(
Display*
);
extern int XParseColor(
Display* ,
Colormap ,
const char* ,
XColor*
);
extern int XParseGeometry(
const char* ,
int* ,
int* ,
unsigned int* ,
unsigned int*
);
extern XPeekEvent(
Display* ,
XEvent*
);
extern 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 XPutBackEvent(
Display* ,
XEvent*
);
extern 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 XQueryColor(
Display* ,
Colormap ,
XColor*
);
extern XQueryColors(
Display* ,
Colormap ,
XColor* ,
int
);
extern int XQueryExtension(
Display* ,
const char* ,
int* ,
int* ,
int*
);
extern XQueryKeymap(
Display* ,
char [32]
);
extern int XQueryPointer(
Display* ,
Window ,
Window* ,
Window* ,
int* ,
int* ,
int* ,
int* ,
unsigned int*
);
extern XQueryTextExtents(
Display* ,
XID ,
const char* ,
int ,
int* ,
int* ,
int* ,
XCharStruct*
);
extern XQueryTextExtents16(
Display* ,
XID ,
const XChar2b* ,
int ,
int* ,
int* ,
int* ,
XCharStruct*
);
extern int XQueryTree(
Display* ,
Window ,
Window* ,
Window* ,
Window** ,
unsigned int*
);
extern 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 XRebindKeysym(
Display* ,
KeySym ,
KeySym* ,
int ,
const unsigned char* ,
int
);
extern XRecolorCursor(
Display* ,
Cursor ,
XColor* ,
XColor*
);
extern XRefreshKeyboardMapping(
XMappingEvent*
);
extern XRemoveFromSaveSet(
Display* ,
Window
);
extern XRemoveHost(
Display* ,
XHostAddress*
);
extern XRemoveHosts(
Display* ,
XHostAddress* ,
int
);
extern XReparentWindow(
Display* ,
Window ,
Window ,
int ,
int
);
extern XResetScreenSaver(
Display*
);
extern XResizeWindow(
Display* ,
Window ,
unsigned int ,
unsigned int
);
extern XRestackWindows(
Display* ,
Window* ,
int
);
extern XRotateBuffers(
Display* ,
int
);
extern XRotateWindowProperties(
Display* ,
Window ,
Atom* ,
int ,
int
);
extern int XScreenCount(
Display*
);
extern XSelectInput(
Display* ,
Window ,
long
);
extern int XSendEvent(
Display* ,
Window ,
int ,
long ,
XEvent*
);
extern XSetAccessControl(
Display* ,
int
);
extern XSetArcMode(
Display* ,
GC ,
int
);
extern XSetBackground(
Display* ,
GC ,
unsigned long
);
extern XSetClipMask(
Display* ,
GC ,
Pixmap
);
extern XSetClipOrigin(
Display* ,
GC ,
int ,
int
);
extern XSetClipRectangles(
Display* ,
GC ,
int ,
int ,
XRectangle* ,
int ,
int
);
extern XSetCloseDownMode(
Display* ,
int
);
extern XSetCommand(
Display* ,
Window ,
char** ,
int
);
extern XSetDashes(
Display* ,
GC ,
int ,
const char* ,
int
);
extern XSetFillRule(
Display* ,
GC ,
int
);
extern XSetFillStyle(
Display* ,
GC ,
int
);
extern XSetFont(
Display* ,
GC ,
Font
);
extern XSetFontPath(
Display* ,
char** ,
int
);
extern XSetForeground(
Display* ,
GC ,
unsigned long
);
extern XSetFunction(
Display* ,
GC ,
int
);
extern XSetGraphicsExposures(
Display* ,
GC ,
int
);
extern XSetIconName(
Display* ,
Window ,
const char*
);
extern XSetInputFocus(
Display* ,
Window ,
int ,
Time
);
extern XSetLineAttributes(
Display* ,
GC ,
unsigned int ,
int ,
int ,
int
);
extern int XSetModifierMapping(
Display* ,
XModifierKeymap*
);
extern XSetPlaneMask(
Display* ,
GC ,
unsigned long
);
extern int XSetPointerMapping(
Display* ,
const unsigned char* ,
int
);
extern XSetScreenSaver(
Display* ,
int ,
int ,
int ,
int
);
extern XSetSelectionOwner(
Display* ,
Atom ,
Window ,
Time
);
extern XSetState(
Display* ,
GC ,
unsigned long ,
unsigned long ,
int ,
unsigned long
);
extern XSetStipple(
Display* ,
GC ,
Pixmap
);
extern XSetSubwindowMode(
Display* ,
GC ,
int
);
extern XSetTSOrigin(
Display* ,
GC ,
int ,
int
);
extern XSetTile(
Display* ,
GC ,
Pixmap
);
extern XSetWindowBackground(
Display* ,
Window ,
unsigned long
);
extern XSetWindowBackgroundPixmap(
Display* ,
Window ,
Pixmap
);
extern XSetWindowBorder(
Display* ,
Window ,
unsigned long
);
extern XSetWindowBorderPixmap(
Display* ,
Window ,
Pixmap
);
extern XSetWindowBorderWidth(
Display* ,
Window ,
unsigned int
);
extern XSetWindowColormap(
Display* ,
Window ,
Colormap
);
extern XStoreBuffer(
Display* ,
const char* ,
int ,
int
);
extern XStoreBytes(
Display* ,
const char* ,
int
);
extern XStoreColor(
Display* ,
Colormap ,
XColor*
);
extern XStoreColors(
Display* ,
Colormap ,
XColor* ,
int
);
extern XStoreName(
Display* ,
Window ,
const char*
);
extern XStoreNamedColor(
Display* ,
Colormap ,
const char* ,
unsigned long ,
int
);
extern XSync(
Display* ,
int
);
extern XTextExtents(
XFontStruct* ,
const char* ,
int ,
int* ,
int* ,
int* ,
XCharStruct*
);
extern 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 XUndefineCursor(
Display* ,
Window
);
extern XUngrabButton(
Display* ,
unsigned int ,
unsigned int ,
Window
);
extern XUngrabKey(
Display* ,
int ,
unsigned int ,
Window
);
extern XUngrabKeyboard(
Display* ,
Time
);
extern XUngrabPointer(
Display* ,
Time
);
extern XUngrabServer(
Display*
);
extern XUninstallColormap(
Display* ,
Colormap
);
extern XUnloadFont(
Display* ,
Font
);
extern XUnmapSubwindows(
Display* ,
Window
);
extern XUnmapWindow(
Display* ,
Window
);
extern int XVendorRelease(
Display*
);
extern XWarpPointer(
Display* ,
Window ,
Window ,
int ,
int ,
unsigned int ,
unsigned int ,
int ,
int
);
extern int XWidthMMOfScreen(
Screen*
);
extern int XWidthOfScreen(
Screen*
);
extern 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 XmbTextExtents(
XFontSet ,
const char* ,
int ,
XRectangle* ,
XRectangle*
);
extern int XwcTextExtents(
XFontSet ,
const wchar_t* ,
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 void XmbDrawText(
Display* ,
Drawable ,
GC ,
int ,
int ,
XmbTextItem* ,
int
);
extern void XwcDrawText(
Display* ,
Drawable ,
GC ,
int ,
int ,
XwcTextItem* ,
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 XmbDrawImageString(
Display* ,
Drawable ,
XFontSet ,
GC ,
int ,
int ,
const char* ,
int
);
extern void XwcDrawImageString(
Display* ,
Drawable ,
XFontSet ,
GC ,
int ,
int ,
const wchar_t* ,
int
);
extern XIM XOpenIM(
Display* ,
struct _XrmHashBucketRec* ,
char* ,
char*
);
extern int XCloseIM(
XIM
);
extern char *XGetIMValues(
XIM , ...
);
extern Display *XDisplayOfIM(
XIM
);
extern char *XLocaleOfIM(
XIM
);
extern XIC XCreateIC(
XIM , ...
);
extern void XDestroyIC(
XIC
);
extern void XSetICFocus(
XIC
);
extern void XUnsetICFocus(
XIC
);
extern wchar_t *XwcResetIC(
XIC
);
extern char *XmbResetIC(
XIC
);
extern char *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 XVaNestedList XVaCreateNestedList(
int , ...
);
extern int XRegisterIMInstantiateCallback(
Display* ,
struct _XrmHashBucketRec* ,
char* ,
char* ,
XIMProc ,
XPointer*
);
extern int XUnregisterIMInstantiateCallback(
Display* ,
struct _XrmHashBucketRec* ,
char* ,
char* ,
XIMProc ,
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
);
typedef struct {
long flags;
int x, y;
int width, height;
int min_width, min_height;
int max_width, max_height;
int width_inc, height_inc;
struct {
int x;
int y;
} min_aspect, max_aspect;
int base_width, base_height;
int win_gravity;
} XSizeHints;
typedef struct {
long flags;
int input;
int initial_state;
Pixmap icon_pixmap;
Window icon_window;
int icon_x, icon_y;
Pixmap icon_mask;
XID window_group;
} XWMHints;
typedef struct {
unsigned char *value;
Atom encoding;
int format;
unsigned long nitems;
} XTextProperty;
typedef enum {
XStringStyle,
XCompoundTextStyle,
XTextStyle,
XStdICCTextStyle
} XICCEncodingStyle;
typedef struct {
int min_width, min_height;
int max_width, max_height;
int width_inc, height_inc;
} XIconSize;
typedef struct {
char *res_name;
char *res_class;
} XClassHint;
typedef struct _XComposeStatus {
XPointer compose_ptr;
int chars_matched;
} XComposeStatus;
typedef struct _XRegion *Region;
typedef struct {
Visual *visual;
VisualID visualid;
int screen;
int depth;
int class;
unsigned long red_mask;
unsigned long green_mask;
unsigned long blue_mask;
int colormap_size;
int bits_per_rgb;
} XVisualInfo;
typedef struct {
Colormap colormap;
unsigned long red_max;
unsigned long red_mult;
unsigned long green_max;
unsigned long green_mult;
unsigned long blue_max;
unsigned long blue_mult;
unsigned long base_pixel;
VisualID visualid;
XID killid;
} XStandardColormap;
typedef int XContext;
extern XClassHint *XAllocClassHint (
void
);
extern XIconSize *XAllocIconSize (
void
);
extern XSizeHints *XAllocSizeHints (
void
);
extern XStandardColormap *XAllocStandardColormap (
void
);
extern XWMHints *XAllocWMHints (
void
);
extern XClipBox(
Region ,
XRectangle*
);
extern Region XCreateRegion(
void
);
extern char *XDefaultString(
void
);
extern int XDeleteContext(
Display* ,
XID ,
XContext
);
extern XDestroyRegion(
Region
);
extern XEmptyRegion(
Region
);
extern 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 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 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 XSetClassHint(
Display* ,
Window ,
XClassHint*
);
extern XSetIconSizes(
Display* ,
Window ,
XIconSize* ,
int
);
extern XSetNormalHints(
Display* ,
Window ,
XSizeHints*
);
extern void XSetRGBColormaps(
Display* ,
Window ,
XStandardColormap* ,
int ,
Atom
);
extern XSetSizeHints(
Display* ,
Window ,
XSizeHints* ,
Atom
);
extern 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 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 XSetWMSizeHints(
Display* ,
Window ,
XSizeHints* ,
Atom
);
extern XSetRegion(
Display* ,
GC ,
Region
);
extern void XSetStandardColormap(
Display* ,
Window ,
XStandardColormap* ,
Atom
);
extern XSetZoomHints(
Display* ,
Window ,
XSizeHints*
);
extern XShrinkRegion(
Region ,
int ,
int
);
extern int XStringListToTextProperty(
char** ,
int ,
XTextProperty*
);
extern XSubtractRegion(
Region ,
Region ,
Region
);
extern int XmbTextListToTextProperty(
Display* ,
char** ,
int ,
XICCEncodingStyle ,
XTextProperty*
);
extern int XwcTextListToTextProperty(
Display* ,
wchar_t** ,
int ,
XICCEncodingStyle ,
XTextProperty*
);
extern void XwcFreeStringList(
wchar_t**
);
extern int XTextPropertyToStringList(
XTextProperty* ,
char*** ,
int*
);
extern int XmbTextPropertyToTextList(
Display* ,
XTextProperty* ,
char*** ,
int*
);
extern int XwcTextPropertyToTextList(
Display* ,
XTextProperty* ,
wchar_t*** ,
int*
);
extern XUnionRectWithRegion(
XRectangle* ,
Region ,
Region
);
extern XUnionRegion(
Region ,
Region ,
Region
);
extern int XWMGeometry(
Display* ,
int ,
const char* ,
const char* ,
unsigned int ,
XSizeHints* ,
int* ,
int* ,
int* ,
int* ,
int*
);
extern XXorRegion(
Region ,
Region ,
Region
);
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
);
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;
typedef XrmQuark XrmRepresentation;
typedef struct {
unsigned int size;
XPointer addr;
} XrmValue, *XrmValuePtr;
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 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*
);
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 char *XrmLocaleOfDatabase(
XrmDatabase
);
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**
);
typedef char *String;
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;
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;
typedef struct _WidgetClassRec *CoreWidgetClass;
typedef struct _WidgetRec *CoreWidget;
extern WidgetClass coreWidgetClass;
extern WidgetClass widgetClass;
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;
typedef struct _ConstraintClassRec *ConstraintWidgetClass;
extern WidgetClass constraintWidgetClass;
typedef struct _ObjectRec *Object;
typedef struct _ObjectClassRec *ObjectClass;
extern WidgetClass objectClass;
typedef struct _RectObjRec *RectObj;
typedef struct _RectObjClassRec *RectObjClass;
extern WidgetClass rectObjClass;
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* ,
unsigned int ,
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 ,
unsigned int
);
extern Boolean _XtIsSubclassOf(
Widget ,
WidgetClass ,
WidgetClass ,
unsigned int
);
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 ,
unsigned int ,
unsigned int ,
Dimension* ,
Dimension*
);
extern void XtTranslateCoords(
Widget ,
int ,
int ,
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 ,
int ,
unsigned int ,
int ,
int
);
extern void XtSetMultiClickTime(
Display* ,
int
);
extern int XtGetMultiClickTime(
Display*
);
extern KeySym XtGetActionKeysym(
XEvent* ,
Modifiers*
);
extern void XtTranslateKeycode(
Display* ,
unsigned int ,
Modifiers ,
Modifiers* ,
KeySym*
);
extern void XtTranslateKey(
Display* ,
unsigned int ,
Modifiers ,
Modifiers* ,
KeySym*
);
extern void XtSetKeyTranslator(
Display* ,
XtKeyProc
);
extern void XtRegisterCaseConverter(
Display* ,
XtCaseProc ,
KeySym ,
KeySym
);
extern void XtConvertCase(
Display* ,
KeySym ,
KeySym* ,
KeySym*
);
extern void XtAddEventHandler(
Widget ,
EventMask ,
int ,
XtEventHandler ,
XtPointer
);
extern void XtRemoveEventHandler(
Widget ,
EventMask ,
int ,
XtEventHandler ,
XtPointer
);
extern void XtAddRawEventHandler(
Widget ,
EventMask ,
int ,
XtEventHandler ,
XtPointer
);
extern void XtRemoveRawEventHandler(
Widget ,
EventMask ,
int ,
XtEventHandler ,
XtPointer
);
extern void XtInsertEventHandler(
Widget ,
EventMask ,
int ,
XtEventHandler ,
XtPointer ,
XtListPosition
);
extern void XtInsertRawEventHandler(
Widget ,
EventMask ,
int ,
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 ,
int ,
int
);
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 XtInputId XtAppAddSignal(
XtAppContext ,
XtSignalCallbackProc ,
XtPointer
);
extern void XtRemoveSignal(
XtSignalId
);
extern void XtNoticeSignal(
XtSignalId
);
extern void XtNextEvent(
XEvent*
);
extern void XtAppNextEvent(
XtAppContext ,
XEvent*
);
extern XtInputMask XtPending(
void
);
extern XtInputMask XtAppPending(
XtAppContext
);
extern XtBlockHookId XtAppAddBlockHook(
XtAppContext ,
XtBlockHookProc ,
XtPointer
);
extern void XtRemoveBlockHook(
XtBlockHookId
);
extern void XtRealizeWidget(
Widget
);
void XtUnrealizeWidget(
Widget
);
extern void XtDestroyWidget(
Widget
);
extern void XtSetSensitive(
Widget ,
int
);
extern void XtSetMappedWhenManaged(
Widget ,
int
);
extern Widget XtNameToWidget(
Widget ,
const char*
);
extern Widget XtWindowToWidget(
Display* ,
Window
);
extern XtPointer XtGetClassExtension(
WidgetClass ,
Cardinal ,
XrmQuark ,
long ,
Cardinal
);
extern ArgList XtMergeArgLists(
ArgList ,
Cardinal ,
ArgList ,
Cardinal
);
extern XtVarArgsList XtVaCreateArgsList(
XtPointer , ...
);
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*
);
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*
);
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*
);
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
);
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 ,
unsigned int ,
Modifiers ,
int ,
int ,
int
);
extern void XtUngrabKey(
Widget ,
unsigned int ,
Modifiers
);
extern int XtGrabKeyboard(
Widget ,
int ,
int ,
int ,
Time
);
extern void XtUngrabKeyboard(
Widget ,
Time
);
extern void XtGrabButton(
Widget ,
int ,
Modifiers ,
int ,
unsigned int ,
int ,
int ,
Window ,
Cursor
);
extern void XtUngrabButton(
Widget ,
unsigned int ,
Modifiers
);
extern int XtGrabPointer(
Widget ,
int ,
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
);
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*
);
extern int COLS;
extern int ROWS;
extern Atom a_3270, a_registry, a_iso8859, a_ISO8859, a_encoding,
a_1;
extern XtAppContext appcontext;
extern const char *build;
extern int children;
extern char *connected_lu;
extern char *connected_type;
extern char *current_host;
extern unsigned short current_port;
extern Boolean *debugging_font;
extern char *efontname;
extern Boolean ever_3270;
extern Boolean exiting;
extern Boolean *extended_3270font;
extern Boolean flipped;
extern char *full_current_host;
extern char full_model_name[];
extern char *hostname;
extern Boolean *latin1_font;
extern char luname[];
extern int maxCOLS;
extern int maxROWS;
extern char *model_name;
extern int model_num;
extern Boolean non_tn3270e_host;
extern int ov_cols, ov_rows;
extern Boolean passthru_host;
extern char *programname;
extern char *reconnect_host;
extern int screen_depth;
extern Boolean scroll_initted;
extern Boolean shifted;
extern Boolean *standard_font;
extern Boolean std_ds_host;
extern char *termtype;
extern Widget toplevel;
extern Atom a_delete_me;
extern Atom a_save_yourself;
extern Atom a_state;
extern Pixel colorbg_pixel;
extern Display *display;
extern Pixmap gray;
extern Pixel keypadbg_pixel;
extern XrmDatabase rdb;
extern Window root_window;
enum cstate {
NOT_CONNECTED,
PENDING,
CONNECTED_INITIAL,
CONNECTED_ANSI,
CONNECTED_3270,
CONNECTED_INITIAL_E,
CONNECTED_NVT,
CONNECTED_SSCP,
CONNECTED_TN3270E
};
extern enum cstate cstate;
struct toggle_name {
const char *name;
int index;
};
extern struct toggle_name toggle_names[];
struct ea {
unsigned char fg;
unsigned char bg;
unsigned char gr;
unsigned char cs;
};
struct trans_list {
char *name;
char *pathname;
Boolean is_temp;
Boolean from_server;
struct trans_list *next;
};
extern struct trans_list *trans_list;
struct font_list {
char *label;
char *font;
struct font_list *next;
};
extern struct font_list *font_list;
extern int font_count;
enum keytype { KT_STD, KT_GE };
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;
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
);
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;
extern int _XtInheritTranslations;
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;
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;
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;
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;
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;
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;
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;
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;
extern Widget _XtWindowedAncestor(
Widget
);
extern void _XtInherit(
void
);
extern void XtCreateWindow(
Widget ,
unsigned int ,
Visual* ,
XtValueMask ,
XSetWindowAttributes*
);
extern void XtResizeWidget(
Widget ,
unsigned int ,
unsigned int ,
unsigned int
);
extern void XtMoveWidget(
Widget ,
int ,
int
);
extern void XtConfigureWidget(
Widget ,
int ,
int ,
unsigned int ,
unsigned int ,
unsigned int
);
extern void XtResizeWindow(
Widget
);
extern void XtProcessLock(
void
);
extern void XtProcessUnlock(
void
);
extern const char XtStrings[];
extern const char XtR6Strings[];
extern void XawInitializeWidgetSet();
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 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 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
);
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;
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;
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 **
);
extern const char XtShellStrings[];
extern const char XtR6ShellStrings[];
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;
extern void XmuCvtFunctionToCallback(
XrmValue* ,
Cardinal* ,
XrmValuePtr ,
XrmValuePtr
);
extern void XmuCvtStringToBackingStore(
XrmValue* ,
Cardinal* ,
XrmValuePtr ,
XrmValuePtr
);
extern void XmuCvtStringToCursor(
XrmValue* ,
Cardinal* ,
XrmValuePtr ,
XrmValuePtr
);
extern Boolean XmuCvtStringToColorCursor(
Display* ,
XrmValue* ,
Cardinal* ,
XrmValuePtr ,
XrmValuePtr ,
XtPointer*
);
typedef int XtGravity;
extern void XmuCvtStringToGravity (
XrmValue* ,
Cardinal* ,
XrmValuePtr ,
XrmValuePtr
);
typedef enum {
XtJustifyLeft,
XtJustifyCenter,
XtJustifyRight
} XtJustify;
extern void XmuCvtStringToJustify(
XrmValue* ,
Cardinal* ,
XrmValuePtr ,
XrmValuePtr
);
extern void XmuCvtStringToLong(
XrmValue* ,
Cardinal* ,
XrmValuePtr ,
XrmValuePtr
);
typedef enum {XtorientHorizontal, XtorientVertical} XtOrientation;
extern void XmuCvtStringToOrientation(
XrmValue* ,
Cardinal* ,
XrmValuePtr ,
XrmValuePtr
);
extern void XmuCvtStringToBitmap(
XrmValue* ,
Cardinal* ,
XrmValuePtr ,
XrmValuePtr
);
extern Boolean XmuCvtStringToShapeStyle(
Display* ,
XrmValue* ,
Cardinal* ,
XrmValuePtr ,
XrmValuePtr ,
XtPointer*
);
extern Boolean XmuReshapeWidget(
Widget ,
int ,
int ,
int
);
extern void XmuCvtStringToWidget(
XrmValue* ,
Cardinal* ,
XrmValuePtr ,
XrmValuePtr
);
extern Boolean XmuNewCvtStringToWidget(
Display* ,
XrmValue* ,
Cardinal* ,
XrmValue* ,
XrmValue* ,
XtPointer*
);
typedef struct _ComplexMenuClassRec* ComplexMenuWidgetClass;
typedef struct _ComplexMenuRec* ComplexMenuWidget;
extern WidgetClass complexMenuWidgetClass;
extern void XawComplexMenuAddGlobalActions(
XtAppContext
);
extern Widget XawComplexMenuGetActiveEntry(
Widget
);
extern void XawComplexMenuClearActiveEntry(
Widget
);
typedef struct _CmeClassRec* CmeObjectClass;
typedef struct _CmeRec* CmeObject;
extern WidgetClass cmeObjectClass;
typedef struct _CmeClassPart {
void (*highlight)();
void (*unhighlight)();
void (*notify)();
XtPointer extension;
} CmeClassPart;
typedef struct _CmeClassRec {
RectObjClassPart rect_class;
CmeClassPart cme_class;
} CmeClassRec;
extern CmeClassRec cmeClassRec;
typedef struct {
XtCallbackList callbacks;
} CmePart;
typedef struct _CmeRec {
ObjectPart object;
RectObjPart rectangle;
CmePart cme;
} CmeRec;
typedef void (*_XawEntryVoidFunc)();
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;
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;
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;
typedef struct _VendorShellClassRec *VendorShellWidgetClass;
extern WidgetClass vendorShellWidgetClass;
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;
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;
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;
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;
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;
typedef struct {
XtPointer extension;
} ComplexMenuClassPart;
typedef struct _ComplexMenuClassRec {
CoreClassPart core_class;
CompositeClassPart composite_class;
ShellClassPart shell_class;
OverrideShellClassPart override_shell_class;
ComplexMenuClassPart complexMenu_class;
} ComplexMenuClassRec;
extern ComplexMenuClassRec complexMenuClassRec;
typedef struct _ComplexMenuPart {
String label_string;
CmeObject label;
WidgetClass label_class;
Dimension top_margin;
Dimension bottom_margin;
Dimension row_height;
Cursor cursor;
CmeObject popup_entry;
Boolean menu_on_screen;
int backing_store;
Boolean recursive_set_values;
Boolean menu_width;
Boolean menu_height;
CmeObject entry_set;
CmeObject prev_entry;
Widget parent;
Widget deferred_notify;
} ComplexMenuPart;
typedef struct _ComplexMenuRec {
CorePart core;
CompositePart composite;
ShellPart shell;
OverrideShellPart override;
ComplexMenuPart complex_menu;
} ComplexMenuRec;
typedef struct _CmeBSBClassRec *CmeBSBObjectClass;
typedef struct _CmeBSBRec *CmeBSBObject;
extern WidgetClass cmeBSBObjectClass;
typedef struct _SimpleClassRec *SimpleWidgetClass;
typedef struct _SimpleRec *SimpleWidget;
extern WidgetClass simpleWidgetClass;
extern WidgetClass labelWidgetClass;
typedef struct _LabelClassRec *LabelWidgetClass;
typedef struct _LabelRec *LabelWidget;
extern WidgetClass commandWidgetClass;
typedef struct _CommandClassRec *CommandWidgetClass;
typedef struct _CommandRec *CommandWidget;
extern WidgetClass menuButtonWidgetClass;
typedef struct _MenuButtonClassRec *MenuButtonWidgetClass;
typedef struct _MenuButtonRec *MenuButtonWidget;
typedef void (*XmuInitializerProc)(
XtAppContext ,
XPointer
);
extern void XmuCallInitializers(
XtAppContext
);
extern void XmuAddInitializer(
XmuInitializerProc ,
XPointer
);
extern void XmuCopyISOLatin1Lowered(
char * ,
const char *
);
extern void XmuCopyISOLatin1Uppered(
char * ,
const char *
);
extern int XmuCompareISOLatin1(
const char * ,
const char *
);
static XtResource resources[] = {
{((char*)&XtStrings[429]), ((char*)&XtStrings[1151]), ((char*)&XtStrings[1797]), sizeof(String),
((size_t) &((ComplexMenuRec *)0)->complex_menu.label_string), ((char*)&XtStrings[1797]), ((void *)0)},
{"labelClass", "LabelClass", ((char*)&XtStrings[1767]), sizeof(WidgetClass),
((size_t) &((ComplexMenuRec *)0)->complex_menu.label_class), ((char*)&XtStrings[1695]), (XtPointer) ((void *)0)},
{"rowHeight", "RowHeight", ((char*)&XtStrings[1618]), sizeof(Dimension),
((size_t) &((ComplexMenuRec *)0)->complex_menu.row_height), ((char*)&XtStrings[1695]), (XtPointer) 0},
{"topMargin", "VerticalMargins", ((char*)&XtStrings[1618]), sizeof(Dimension),
((size_t) &((ComplexMenuRec *)0)->complex_menu.top_margin), ((char*)&XtStrings[1695]), (XtPointer) 0},
{"bottomMargin", "VerticalMargins", ((char*)&XtStrings[1618]), sizeof(Dimension),
((size_t) &((ComplexMenuRec *)0)->complex_menu.bottom_margin), ((char*)&XtStrings[1695]), (XtPointer) 0},
{ ((char*)&XtShellStrings[280]), ((char*)&XtShellStrings[297]), ((char*)&XtStrings[1561]), sizeof(Boolean),
((size_t) &((ComplexMenuRec *)0)->shell.allow_shell_resize),
((char*)&XtStrings[1695]), (XtPointer) 1 },
{"cursor", ((char*)&XtStrings[976]), ((char*)&XtStrings[1611]), sizeof(Cursor),
((size_t) &((ComplexMenuRec *)0)->complex_menu.cursor), ((char*)&XtStrings[1695]), (XtPointer) 0L},
{"menuOnScreen", "MenuOnScreen", ((char*)&XtStrings[1561]), sizeof(Boolean),
((size_t) &((ComplexMenuRec *)0)->complex_menu.menu_on_screen), ((char*)&XtStrings[1695]), (XtPointer) 1},
{"popupOnEntry", "PopupOnEntry", ((char*)&XtStrings[1865]), sizeof(Widget),
((size_t) &((ComplexMenuRec *)0)->complex_menu.popup_entry), ((char*)&XtStrings[1865]), ((void *)0)},
{"backingStore", "BackingStore", "BackingStore", sizeof (int),
((size_t) &((ComplexMenuRec *)0)->complex_menu.backing_store),
((char*)&XtStrings[1695]), (XtPointer) (2 + 1 + 0)},
{"cMparent", "CMparent", ((char*)&XtStrings[1865]), sizeof(Widget),
((size_t) &((ComplexMenuRec *)0)->complex_menu.parent), ((char*)&XtStrings[1865]), ((void *)0)},
{"cMdefer", "CMdefer", ((char*)&XtStrings[1865]), sizeof(Widget),
((size_t) &((ComplexMenuRec *)0)->complex_menu.deferred_notify), ((char*)&XtStrings[1865]), ((void *)0)},
};
static char defaultTranslations[] =
"<EnterWindow>: highlight() \n <LeaveWindow>: leftWindow() \n <BtnMotion>: highlight() \n <BtnUp>: saveUnhighlight() MenuPopdown()";
static void Redisplay(Widget, XEvent *, Region);
static void Realize(Widget, XtValueMask *, XSetWindowAttributes *);
static void ChangeManaged(Widget);
static void Resize(Widget);
static void Initialize(Widget, Widget, ArgList, Cardinal *);
static void ClassInitialize(void);
static void ClassPartInitialize(WidgetClass);
static Boolean SetValues(Widget, Widget, Widget, ArgList, Cardinal *);
static Boolean SetValuesHook(Widget, ArgList, Cardinal *);
static XtGeometryResult GeometryManager(Widget, XtWidgetGeometry *,
XtWidgetGeometry *);
static void PositionMenuAction(Widget, XEvent *, String *, Cardinal *);
static void SaveUnhighlight(Widget, XEvent *, String *, Cardinal *);
static void LeftWindow(Widget, XEvent *, String *, Cardinal *);
static void Highlight(Widget, XEvent *, String *, Cardinal *);
static void Unhighlight(), Notify();
static void MakeSetValuesRequest(Widget, Dimension, Dimension);
static void Layout(Widget, Dimension *, Dimension *);
static void CreateLabel(Widget);
static void AddPositionAction(XtAppContext, caddr_t);
static void ChangeCursorOnGrab(Widget, XtPointer junk, XtPointer);
static void PositionMenu(Widget, XPoint *);
static void ClearParent(Widget, XtPointer, XtPointer);
static Dimension GetMenuWidth(Widget, Widget);
static Dimension GetMenuHeight(Widget);
static Widget FindMenu(Widget, String);
static CmeObject GetEventEntry(Widget, XEvent *);
static CmeObject GetRightEntry(Widget, XEvent *);
static void MoveMenu(Widget, Position, Position);
static XtActionsRec actionsList[] =
{
{"highlight", Highlight},
{"saveUnhighlight", SaveUnhighlight},
{"leftWindow", LeftWindow},
};
static CompositeClassExtensionRec extension_rec = {
((void *)0),
((XrmQuark) 0),
2L,
sizeof(CompositeClassExtensionRec),
1,
};
ComplexMenuClassRec complexMenuClassRec = {
{
(WidgetClass) (&overrideShellClassRec),
"ComplexMenu",
sizeof(ComplexMenuRec),
ClassInitialize,
ClassPartInitialize,
0,
Initialize,
((void *)0),
Realize,
actionsList,
((Cardinal) (sizeof(actionsList) / sizeof(actionsList[0]))),
resources,
((Cardinal) (sizeof(resources) / sizeof(resources[0]))),
((XrmQuark) 0),
1,
1,
1,
0,
((void *)0),
Resize,
Redisplay,
SetValues,
SetValuesHook,
((XtAlmostProc) _XtInherit),
((void *)0),
((void *)0),
(11 * 1000 + 6),
((void *)0),
defaultTranslations,
((void *)0),
((void *)0),
((void *)0)
},{
GeometryManager,
ChangeManaged,
((XtWidgetProc) _XtInherit),
((XtWidgetProc) _XtInherit),
((void *)0)
},{
((void *)0)
},{
((void *)0)
},{
((void *)0)
}
};
WidgetClass complexMenuWidgetClass = (WidgetClass)&complexMenuClassRec;
static void
ClassInitialize(void)
{
XawInitializeWidgetSet();
XtAddConverter( ((char*)&XtStrings[1797]), "BackingStore", XmuCvtStringToBackingStore,
((void *)0), 0 );
XmuAddInitializer( AddPositionAction, ((void *)0));
}
static void
ClassPartInitialize(WidgetClass wc)
{
ComplexMenuWidgetClass cmwc = (ComplexMenuWidgetClass) wc;
extension_rec.next_extension = cmwc->composite_class.extension;
cmwc->composite_class.extension = (XtPointer) &extension_rec;
}
static void
Initialize(Widget request __attribute__((__unused__)), Widget new, ArgList args __attribute__((__unused__)),
Cardinal *num_args __attribute__((__unused__)))
{
ComplexMenuWidget cmw = (ComplexMenuWidget) new;
XmuCallInitializers(XtWidgetToApplicationContext(new));
if (cmw->complex_menu.label_class == ((void *)0))
cmw->complex_menu.label_class = cmeBSBObjectClass;
cmw->complex_menu.label = ((void *)0);
cmw->complex_menu.entry_set = ((void *)0);
cmw->complex_menu.prev_entry = ((void *)0);
cmw->complex_menu.recursive_set_values = 0;
if (cmw->complex_menu.label_string != ((void *)0))
CreateLabel(new);
cmw->complex_menu.menu_width = 1;
if (cmw->core.width == 0) {
cmw->complex_menu.menu_width = 0;
cmw->core.width = GetMenuWidth(new, (Widget)((void *)0));
}
cmw->complex_menu.menu_height = 1;
if (cmw->core.height == 0) {
cmw->complex_menu.menu_height = 0;
cmw->core.height = GetMenuHeight(new);
}
XtAddCallback(new, ((char*)&XtStrings[534]), ChangeCursorOnGrab, ((void *)0));
XtAddCallback(new, ((char*)&XtStrings[548]), ClearParent, ((void *)0));
}
static void
Redisplay(Widget w, XEvent *event __attribute__((__unused__)), Region region)
{
ComplexMenuWidget cmw = (ComplexMenuWidget) w;
CmeObject * entry;
CmeObjectClass class;
if (region == ((void *)0))
XClearWindow((((w)->core.screen)->display), ((w)->core.window));
for ( (entry) = (CmeObject *) (cmw)->composite.children ; (entry) < (CmeObject *) ( (cmw)->composite.children + (cmw)->composite.num_children ) ; (entry)++ ) {
if (!XtIsManaged ( (Widget) *entry)) continue;
if (region != ((void *)0))
switch(XRectInRegion(region, (int) (*entry)->rectangle.x,
(int) (*entry)->rectangle.y,
(unsigned int) (*entry)->rectangle.width,
(unsigned int) (*entry)->rectangle.height)) {
case 1:
case 2:
break;
default:
continue;
}
class = (CmeObjectClass) (*entry)->object.widget_class;
if (class->rect_class.expose != ((void *)0))
(class->rect_class.expose)( (Widget) *entry, ((void *)0), ((void *)0));
}
}
static void
Realize(Widget w, XtValueMask *mask, XSetWindowAttributes *attrs)
{
ComplexMenuWidget cmw = (ComplexMenuWidget) w;
attrs->cursor = cmw->complex_menu.cursor;
*mask |= (1L<<14);
if ((cmw->complex_menu.backing_store == 2) ||
(cmw->complex_menu.backing_store == 0) ||
(cmw->complex_menu.backing_store == 1) ) {
*mask |= (1L<<6);
attrs->backing_store = cmw->complex_menu.backing_store;
}
else
*mask &= ~(1L<<6);
(*(&overrideShellClassRec)->core_class.realize) (w, mask, attrs);
}
static void
Resize(Widget w)
{
ComplexMenuWidget cmw = (ComplexMenuWidget) w;
CmeObject * entry;
if ( !(XtWindowOfObject(w) != 0L) ) return;
for ( (entry) = (CmeObject *) (cmw)->composite.children ; (entry) < (CmeObject *) ( (cmw)->composite.children + (cmw)->composite.num_children ) ; (entry)++ )
if (XtIsManaged( (Widget) *entry))
(*entry)->rectangle.width = cmw->core.width;
Redisplay(w, (XEvent *) ((void *)0), (Region) ((void *)0));
}
static Boolean
SetValues(Widget current, Widget request __attribute__((__unused__)), Widget new,
ArgList args __attribute__((__unused__)), Cardinal *num_args __attribute__((__unused__)))
{
ComplexMenuWidget cmw_old = (ComplexMenuWidget) current;
ComplexMenuWidget cmw_new = (ComplexMenuWidget) new;
Boolean ret_val = 0, layout = 0;
if (!(XtWindowOfObject(current) != 0L)) return(0);
if (!cmw_new->complex_menu.recursive_set_values) {
if (cmw_new->core.width != cmw_old->core.width) {
cmw_new->complex_menu.menu_width = (cmw_new->core.width != 0);
layout = 1;
}
if (cmw_new->core.height != cmw_old->core.height) {
cmw_new->complex_menu.menu_height = (cmw_new->core.height != 0);
layout = 1;
}
}
if (cmw_old->complex_menu.cursor != cmw_new->complex_menu.cursor)
XDefineCursor((((new)->core.screen)->display),
((new)->core.window), cmw_new->complex_menu.cursor);
if (cmw_old->complex_menu.label_string !=cmw_new->complex_menu.label_string) {
if (cmw_new->complex_menu.label_string == ((void *)0))
XtDestroyWidget((Widget) cmw_old->complex_menu.label);
else if (cmw_old->complex_menu.label_string == ((void *)0))
CreateLabel(new);
else {
Arg arglist[1];
((void)( (arglist[0]).name = (((char*)&XtStrings[429])), (arglist[0]).value = (XtArgVal)(cmw_new->complex_menu.label_string) ));
XtSetValues((Widget) cmw_new->complex_menu.label, arglist, ((Cardinal)1));
}
}
if (cmw_old->complex_menu.label_class != cmw_new->complex_menu.label_class)
XtAppWarning(XtWidgetToApplicationContext(new),
"No Dynamic class change of the ComplexMenu Label.");
if ((cmw_old->complex_menu.top_margin != cmw_new->complex_menu.top_margin) ||
(cmw_old->complex_menu.bottom_margin !=
cmw_new->complex_menu.bottom_margin) ) {
layout = 1;
ret_val = 1;
}
if (layout)
Layout(new, (Dimension *)((void *)0), (Dimension *)((void *)0));
return(ret_val);
}
static Boolean
SetValuesHook(Widget w, ArgList arglist, Cardinal *num_args)
{
register Cardinal i;
Dimension width, height;
width = w->core.width;
height = w->core.height;
for ( i = 0 ; i < *num_args ; i++) {
if ( ( strcmp((arglist[i].name), (((char*)&XtStrings[872]))) == 0 ) )
width = (Dimension) arglist[i].value;
if ( ( strcmp((arglist[i].name), (((char*)&XtStrings[234]))) == 0 ) )
height = (Dimension) arglist[i].value;
}
if ((width != w->core.width) || (height != w->core.height))
MakeSetValuesRequest(w, width, height);
return(0);
}
static XtGeometryResult
GeometryManager(Widget w, XtWidgetGeometry *request, XtWidgetGeometry *reply)
{
ComplexMenuWidget cmw = (ComplexMenuWidget) ((w)->core.parent);
CmeObject entry = (CmeObject) 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 = entry->rectangle.width;
old_height = entry->rectangle.height;
Layout(w, &(reply->width), &(reply->height) );
if ( (reply->width == request->width) &&
(reply->height == request->height) ) {
if ( mode & (1 << 7) ) {
entry->rectangle.width = old_width;
entry->rectangle.height = old_height;
}
else {
Layout(( Widget) cmw, (Dimension *)((void *)0), (Dimension *)((void *)0));
}
answer = XtGeometryDone;
}
else {
entry->rectangle.width = old_width;
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);
}
static void
ChangeManaged(Widget w)
{
Layout(w, (Dimension *)((void *)0), (Dimension *)((void *)0));
}
static void
PositionMenuAction(Widget w, XEvent *event, String *params,
Cardinal *num_params)
{
Widget menu;
XPoint loc;
if (*num_params != 1) {
char error_buf[1024];
(void) sprintf(error_buf, "%s %s",
"Xaw - ComplexMenuWidget: position menu action expects only one",
"parameter which is the name of the menu.");
XtAppWarning(XtWidgetToApplicationContext(w), error_buf);
return;
}
if ( (menu = FindMenu(w, params[0])) == ((void *)0)) {
char error_buf[1024];
(void) sprintf(error_buf, "%s '%s'",
"Xaw - ComplexMenuWidget: could not find menu named: ", 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, (XPoint *)((void *)0));
break;
}
}
static void
Unhighlight(Widget w, XEvent *event __attribute__((__unused__)), String *params __attribute__((__unused__)),
Cardinal *num_params __attribute__((__unused__)))
{
ComplexMenuWidget cmw = (ComplexMenuWidget) w;
CmeObject entry = cmw->complex_menu.entry_set;
CmeObjectClass class;
if ( entry == ((void *)0)) return;
cmw->complex_menu.entry_set = ((void *)0);
class = (CmeObjectClass) entry->object.widget_class;
(class->cme_class.unhighlight) ( (Widget) entry);
}
static void
SaveUnhighlight(Widget w, XEvent *event __attribute__((__unused__)), String *params __attribute__((__unused__)),
Cardinal *num_params __attribute__((__unused__)))
{
ComplexMenuWidget cmw = (ComplexMenuWidget) w;
CmeObject entry = cmw->complex_menu.entry_set;
CmeObjectClass class;
if ( entry == ((void *)0)) return;
cmw->complex_menu.prev_entry = entry;
cmw->complex_menu.entry_set = ((void *)0);
class = (CmeObjectClass) entry->object.widget_class;
(class->cme_class.unhighlight) ( (Widget) entry);
}
static void
LeftWindow(Widget w, XEvent *event, String *params __attribute__((__unused__)),
Cardinal *num_params __attribute__((__unused__)))
{
ComplexMenuWidget cmw = (ComplexMenuWidget) w;
CmeObject entry = cmw->complex_menu.entry_set;
CmeObjectClass class;
String mn;
if ( entry == ((void *)0)) return;
mn = ((void *)0);
XtVaGetValues((Widget) entry, "menuName", &mn, ((void *)0));
if (mn != ((void *)0) && GetRightEntry(w, event) == entry)
return;
cmw->complex_menu.prev_entry = ((void *)0);
cmw->complex_menu.entry_set = ((void *)0);
class = (CmeObjectClass) entry->object.widget_class;
(class->cme_class.unhighlight) ( (Widget) entry);
}
static void
Highlight(Widget w, XEvent *event, String *params, Cardinal *num_params)
{
ComplexMenuWidget cmw = (ComplexMenuWidget) w;
CmeObject entry;
CmeObjectClass class;
ShellWidget shell_widget = (ShellWidget)w;
if (shell_widget->shell.popped_up != 1) {
return;
}
if ( !XtIsSensitive(w) ) return;
entry = GetEventEntry(w, event);
if (entry == cmw->complex_menu.entry_set) return;
Unhighlight(w, event, params, num_params);
if (entry == ((void *)0)) return;
if ( !XtIsSensitive( (Widget) entry)) {
cmw->complex_menu.entry_set = ((void *)0);
return;
}
cmw->complex_menu.entry_set = entry;
class = (CmeObjectClass) entry->object.widget_class;
(class->cme_class.highlight) ( (Widget) entry);
}
static void
Notify(Widget w, XEvent *event __attribute__((__unused__)), String *params __attribute__((__unused__)),
Cardinal *num_params __attribute__((__unused__)))
{
ComplexMenuWidget cmw = (ComplexMenuWidget) w;
CmeObject entry = cmw->complex_menu.entry_set;
CmeObjectClass class;
if (entry == ((void *)0))
entry = cmw->complex_menu.prev_entry;
if ( (entry == ((void *)0)) || !XtIsSensitive((Widget) entry) ) return;
if (cmw->complex_menu.parent != ((void *)0)) {
XtVaSetValues(cmw->complex_menu.parent, "cMdefer", (Widget)entry,
((void *)0));
return;
}
if (cmw->complex_menu.deferred_notify != ((void *)0)) {
entry = (CmeObject)cmw->complex_menu.deferred_notify;
}
class = (CmeObjectClass) entry->object.widget_class;
(class->cme_class.notify)( (Widget) entry );
}
void
XawComplexMenuAddGlobalActions(XtAppContext app_con)
{
XtInitializeWidgetClass(complexMenuWidgetClass);
XmuCallInitializers( app_con );
}
Widget
XawComplexMenuGetActiveEntry(Widget w)
{
ComplexMenuWidget cmw = (ComplexMenuWidget) w;
return( (Widget) cmw->complex_menu.entry_set);
}
void
XawComplexMenuClearActiveEntry(Widget w)
{
ComplexMenuWidget cmw = (ComplexMenuWidget) w;
cmw->complex_menu.entry_set = ((void *)0);
cmw->complex_menu.prev_entry = ((void *)0);
}
static void
CreateLabel(Widget w)
{
ComplexMenuWidget cmw = (ComplexMenuWidget) w;
register Widget * child, * next_child;
register int i;
Arg args[2];
if ( (cmw->complex_menu.label_string == ((void *)0)) ||
(cmw->complex_menu.label != ((void *)0)) ) {
char error_buf[1024];
(void) sprintf(error_buf, "Xaw Complex Menu Widget: %s or %s, %s",
"label string is NULL", "label already exists",
"no label is being created.");
XtAppWarning(XtWidgetToApplicationContext(w), error_buf);
return;
}
((void)( (args[0]).name = (((char*)&XtStrings[429])), (args[0]).value = (XtArgVal)(cmw->complex_menu.label_string) ));
((void)( (args[1]).name = (((char*)&XtStrings[379])), (args[1]).value = (XtArgVal)(XtJustifyCenter) ));
cmw->complex_menu.label = (CmeObject)
XtCreateManagedWidget("menuLabel",
cmw->complex_menu.label_class, w,
args, ((Cardinal)2));
next_child = ((void *)0);
for (child = cmw->composite.children + cmw->composite.num_children,
i = cmw->composite.num_children ; i > 0 ; i--, child--) {
if (next_child != ((void *)0))
*next_child = *child;
next_child = child;
}
*child = (Widget) cmw->complex_menu.label;
}
static void
Layout(Widget w, Dimension *width_ret, Dimension *height_ret)
{
CmeObject current_entry, *entry;
ComplexMenuWidget cmw;
Dimension width, height;
Boolean do_layout = ((height_ret == ((void *)0)) || (width_ret == ((void *)0)));
Boolean allow_change_size;
height = 0;
if ( XtIsSubclass(w, complexMenuWidgetClass) ) {
cmw = (ComplexMenuWidget) w;
current_entry = ((void *)0);
}
else {
cmw = (ComplexMenuWidget) ((w)->core.parent);
current_entry = (CmeObject) w;
}
allow_change_size = (!(XtWindowOfObject((Widget)cmw) != 0L) ||
(cmw->shell.allow_shell_resize));
if ( cmw->complex_menu.menu_height )
height = cmw->core.height;
else
if (do_layout) {
height = cmw->complex_menu.top_margin;
for ( (entry) = (CmeObject *) (cmw)->composite.children ; (entry) < (CmeObject *) ( (cmw)->composite.children + (cmw)->composite.num_children ) ; (entry)++ ) {
if (!XtIsManaged( (Widget) *entry)) continue;
if ( (cmw->complex_menu.row_height != 0) &&
(*entry != cmw->complex_menu.label) )
(*entry)->rectangle.height = cmw->complex_menu.row_height;
(*entry)->rectangle.y = height;
(*entry)->rectangle.x = 0;
height += (*entry)->rectangle.height;
}
height += cmw->complex_menu.bottom_margin;
}
else {
if ((cmw->complex_menu.row_height != 0) &&
(current_entry != cmw->complex_menu.label) )
height = cmw->complex_menu.row_height;
}
if (cmw->complex_menu.menu_width)
width = cmw->core.width;
else if ( allow_change_size )
width = GetMenuWidth((Widget) cmw, (Widget) current_entry);
else
width = cmw->core.width;
if (do_layout) {
for ( (entry) = (CmeObject *) (cmw)->composite.children ; (entry) < (CmeObject *) ( (cmw)->composite.children + (cmw)->composite.num_children ) ; (entry)++ )
if (XtIsManaged( (Widget) *entry))
(*entry)->rectangle.width = width;
if (allow_change_size)
MakeSetValuesRequest((Widget) cmw, width, height);
}
else {
*width_ret = width;
if (height != 0)
*height_ret = height;
}
}
static void
AddPositionAction(XtAppContext app_con, caddr_t data __attribute__((__unused__)))
{
static XtActionsRec pos_action[] = {
{ "XawPositionComplexMenu", PositionMenuAction },
};
XtAppAddActions(app_con, pos_action, ((Cardinal) (sizeof(pos_action) / sizeof(pos_action[0]))));
}
static Widget
FindMenu(Widget widget, String name)
{
register 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));
}
static void
PositionMenu(Widget w, XPoint *location)
{
ComplexMenuWidget cmw = (ComplexMenuWidget) w;
CmeObject entry;
XPoint t_point;
if (location == ((void *)0)) {
Window junk1, junk2;
int root_x, root_y, junkX, junkY;
unsigned int junkM;
location = &t_point;
if (XQueryPointer((((w)->core.screen)->display), ((w)->core.window), &junk1, &junk2,
&root_x, &root_y, &junkX, &junkY, &junkM) == 0) {
char error_buf[1024];
(void) sprintf(error_buf, "%s %s", "Xaw - ComplexMenuWidget:",
"Could not find location of mouse pointer");
XtAppWarning(XtWidgetToApplicationContext(w), error_buf);
return;
}
location->x = (short) root_x;
location->y = (short) root_y;
}
XtRealizeWidget(w);
location->x -= (Position) w->core.width/2;
if (cmw->complex_menu.popup_entry == ((void *)0))
entry = cmw->complex_menu.label;
else
entry = cmw->complex_menu.popup_entry;
if (entry != ((void *)0))
location->y -= entry->rectangle.y + entry->rectangle.height/2;
MoveMenu(w, (Position) location->x, (Position) location->y);
}
static void
MoveMenu(Widget w, Position x, Position y)
{
Arg arglist[2];
Cardinal num_args = 0;
ComplexMenuWidget cmw = (ComplexMenuWidget) w;
if (cmw->complex_menu.menu_on_screen) {
int width = w->core.width + 2 * w->core.border_width;
int height = w->core.height + 2 * w->core.border_width;
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);
}
static void
ChangeCursorOnGrab(Widget w, XtPointer junk __attribute__((__unused__)), XtPointer garbage __attribute__((__unused__)))
{
ComplexMenuWidget cmw = (ComplexMenuWidget) w;
cmw->complex_menu.deferred_notify = ((void *)0);
cmw->complex_menu.prev_entry = ((void *)0);
XChangeActivePointerGrab((((w)->core.screen)->display), (1L<<2)|(1L<<3),
cmw->complex_menu.cursor,
XtLastTimestampProcessed((((w)->core.screen)->display)));
}
static void
ClearParent(Widget w, XtPointer junk __attribute__((__unused__)), XtPointer garbage __attribute__((__unused__)))
{
ComplexMenuWidget cmw = (ComplexMenuWidget) w;
Notify(w, (XEvent *)((void *)0), (String *)((void *)0), (Cardinal *)((void *)0));
cmw->complex_menu.parent = ((void *)0);
}
static void
MakeSetValuesRequest(Widget w, Dimension width, Dimension height)
{
ComplexMenuWidget cmw = (ComplexMenuWidget) w;
Arg arglist[2];
Cardinal num_args = (Cardinal) 0;
if ( !cmw->complex_menu.recursive_set_values ) {
if ( (cmw->core.width != width) || (cmw->core.height != height) ) {
cmw->complex_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) cmw) != 0L))
Redisplay((Widget) cmw, (XEvent *) ((void *)0), (Region) ((void *)0));
}
cmw->complex_menu.recursive_set_values = 0;
}
static Dimension
GetMenuWidth(Widget w, Widget w_ent)
{
CmeObject cur_entry = (CmeObject) w_ent;
ComplexMenuWidget cmw = (ComplexMenuWidget) w;
Dimension width, widest = (Dimension) 0;
CmeObject * entry;
if ( cmw->complex_menu.menu_width )
return(cmw->core.width);
for ( (entry) = (CmeObject *) (cmw)->composite.children ; (entry) < (CmeObject *) ( (cmw)->composite.children + (cmw)->composite.num_children ) ; (entry)++ ) {
XtWidgetGeometry preferred;
if (!XtIsManaged( (Widget) *entry)) continue;
if (*entry != cur_entry) {
XtQueryGeometry((Widget) *entry, ((void *)0), &preferred);
if (preferred.request_mode & (1<<2))
width = preferred.width;
else
width = (*entry)->rectangle.width;
}
else
width = (*entry)->rectangle.width;
if ( width > widest )
widest = width;
}
return(widest);
}
static Dimension
GetMenuHeight(Widget w)
{
ComplexMenuWidget cmw = (ComplexMenuWidget) w;
CmeObject * entry;
Dimension height;
if (cmw->complex_menu.menu_height)
return(cmw->core.height);
height = cmw->complex_menu.top_margin + cmw->complex_menu.bottom_margin;
if (cmw->complex_menu.row_height == 0) {
for ( (entry) = (CmeObject *) (cmw)->composite.children ; (entry) < (CmeObject *) ( (cmw)->composite.children + (cmw)->composite.num_children ) ; (entry)++ )
if (XtIsManaged ((Widget) *entry))
height += (*entry)->rectangle.height;
} else
height += cmw->complex_menu.row_height * cmw->composite.num_children;
return(height);
}
static CmeObject
GetEventEntry(Widget w, XEvent *event)
{
Position x_loc = 0, y_loc = 0;
ComplexMenuWidget cmw = (ComplexMenuWidget) w;
CmeObject * entry;
switch (event->type) {
case 6:
x_loc = event->xmotion.x;
y_loc = event->xmotion.y;
break;
case 7:
case 8:
x_loc = event->xcrossing.x;
y_loc = event->xcrossing.y;
break;
case 4:
case 5:
x_loc = event->xbutton.x;
y_loc = event->xbutton.y;
break;
default:
XtAppError(XtWidgetToApplicationContext(w),
"Unknown event type in GetEventEntry().");
break;
}
if ( (x_loc < 0) || (x_loc >= (int)cmw->core.width) || (y_loc < 0) ||
(y_loc >= (int)cmw->core.height) )
return(((void *)0));
for ( (entry) = (CmeObject *) (cmw)->composite.children ; (entry) < (CmeObject *) ( (cmw)->composite.children + (cmw)->composite.num_children ) ; (entry)++ ) {
if (!XtIsManaged ((Widget) *entry)) continue;
if ( ((*entry)->rectangle.y < y_loc) &&
((*entry)->rectangle.y + (int) (*entry)->rectangle.height > y_loc) ) {
if ( *entry == cmw->complex_menu.label )
return(((void *)0));
else
return(*entry);
}
}
return(((void *)0));
}
static CmeObject
GetRightEntry(Widget w, XEvent *event)
{
Position x_loc, y_loc;
ComplexMenuWidget cmw = (ComplexMenuWidget) w;
CmeObject * entry;
x_loc = event->xcrossing.x;
y_loc = event->xcrossing.y;
if ( (x_loc < 0) || (y_loc < 0) ||
(y_loc >= (int)cmw->core.height) )
return(((void *)0));
for ( (entry) = (CmeObject *) (cmw)->composite.children ; (entry) < (CmeObject *) ( (cmw)->composite.children + (cmw)->composite.num_children ) ; (entry)++ ) {
if (!XtIsManaged ((Widget) *entry)) continue;
if ( ((*entry)->rectangle.y < y_loc) &&
((*entry)->rectangle.y + (int) (*entry)->rectangle.height > y_loc) ) {
if ( *entry == cmw->complex_menu.label )
return(((void *)0));
else
return(*entry);
}
}
return(((void *)0));
}
== end of CmplxMenu.i
>Fix:
Only happens with -O2, not -O.
>Release-Note:
>Audit-Trail:
>Unformatted:
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2002-04-24 22:36 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-04-24 15:36 c/3843: gcc-3.0 sparc-solaris2.6 leaves local .LL symbols unresolved rth
-- strict thread matches above, loose matches on Subject: below --
2001-07-27 9:26 Will Partain
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).