summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAchim Gottinger <achim@gentoo.org>2000-11-12 21:35:07 +0000
committerAchim Gottinger <achim@gentoo.org>2000-11-12 21:35:07 +0000
commit7ec2437900fb39d9d27fb755587b4646b38becae (patch)
treea7d5812988f9d9e7380e0d395b75bf8b5e8d35cb /sys-libs/gpm/files
parentChanged paths from absolute to relative (diff)
downloadgentoo-2-7ec2437900fb39d9d27fb755587b4646b38becae.tar.gz
gentoo-2-7ec2437900fb39d9d27fb755587b4646b38becae.tar.bz2
gentoo-2-7ec2437900fb39d9d27fb755587b4646b38becae.zip
*** empty log message ***
Diffstat (limited to 'sys-libs/gpm/files')
-rw-r--r--sys-libs/gpm/files/gpmInt.h170
1 files changed, 170 insertions, 0 deletions
diff --git a/sys-libs/gpm/files/gpmInt.h b/sys-libs/gpm/files/gpmInt.h
new file mode 100644
index 000000000000..43d4a845839b
--- /dev/null
+++ b/sys-libs/gpm/files/gpmInt.h
@@ -0,0 +1,170 @@
+/*
+ * gpmInt.h - server-only stuff for gpm-Linux
+ *
+ * Copyright (C) 1994-1999 Alessandro Rubini <rubini@linux.it>
+ * Copyright (C) 1998 Ian Zimmerman <itz@rahul.net>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+ ********/
+
+#ifndef _GPMINT_INCLUDED
+#define _GPMINT_INCLUDED
+
+/* $Id: gpmInt.h,v 1.1 2000/11/12 21:35:07 achim Exp $ */
+
+#include <sys/types.h> /* time_t */
+
+#include "gpmCfg.h"
+#include "gpm.h"
+
+#if !defined(__GNUC__)
+# define inline
+#endif
+
+#ifdef DEBUG
+# define inline
+#endif
+
+#ifndef OPEN_MAX
+#define OPEN_MAX 256
+#endif
+
+#include "wd.h" /* when debugging macros */
+
+/*....................................... Strange requests (iff conn->pid==0)*/
+
+#define GPM_REQ_SNAPSHOT 0
+#define GPM_REQ_BUTTONS 1
+#define GPM_REQ_CONFIG 2
+#define GPM_REQ_NOPASTE 3
+
+/*....................................... Structures */
+
+
+/*
+ * and this is the entry in the mouse-type table
+ */
+typedef struct Gpm_Type {
+ char *name;
+ char *desc; /* a descriptive line */
+ char *synonyms; /* extra names (the XFree name etc) as a list */
+ int (*fun)(Gpm_Event *state, unsigned char *data);
+ struct Gpm_Type *(*init)(int fd, unsigned short flags,
+ struct Gpm_Type *type, int argc, char **argv);
+ unsigned short flags;
+ unsigned char proto[4];
+ int packetlen;
+ int howmany; /* howmany bytes to read at a time */
+ int getextra; /* does it get an extra byte? (only mouseman) */
+ int absolute; /* flag indicating absolute pointing device */
+
+ int (*repeat_fun)(Gpm_Event *state, int fd); /* repeat this event into fd */
+ /* itz Mon Jan 11 23:27:54 PST 1999 */
+} Gpm_Type;
+
+#define GPM_EXTRA_MAGIC_1 0xAA
+#define GPM_EXTRA_MAGIC_2 0x55
+
+typedef struct Gpm_Cinfo {
+ Gpm_Connect data;
+ int fd;
+ struct Gpm_Cinfo *next;
+} Gpm_Cinfo;
+
+
+/*....................................... Global variables */
+
+/* this structure is used to hide the dual-mouse stuff */
+
+struct mouse_features {
+ char *opt_type, *opt_dev, *opt_sequence;
+ int opt_baud,opt_sample,opt_delta, opt_accel, opt_scale, opt_scaley;
+ int opt_time, opt_cluster, opt_three, opt_glidepoint_tap;
+ char *opt_options; /* extra textual configuration */
+ Gpm_Type *m_type;
+ int fd;
+};
+
+extern struct mouse_features mouse_table[3], *which_mouse; /*the current one*/
+
+typedef struct Opt_struct_type {int a,B,d,i,p,r,V,A;} Opt_struct_type;
+
+/* this is not very clean, actually, but it works fine */
+#define opt_type (which_mouse->opt_type)
+#define opt_dev (which_mouse->opt_dev)
+#define opt_sequence (which_mouse->opt_sequence)
+#define opt_baud (which_mouse->opt_baud)
+#define opt_sample (which_mouse->opt_sample)
+#define opt_delta (which_mouse->opt_delta)
+#define opt_accel (which_mouse->opt_accel)
+#define opt_scale (which_mouse->opt_scale)
+#define opt_scaley (which_mouse->opt_scaley)
+#define opt_time (which_mouse->opt_time)
+#define opt_cluster (which_mouse->opt_cluster)
+#define opt_three (which_mouse->opt_three)
+#define opt_glidepoint_tap (which_mouse->opt_glidepoint_tap)
+#define opt_options (which_mouse->opt_options)
+
+#define m_type (which_mouse->m_type)
+
+/* the other variables */
+
+extern char *prgname;
+extern char *opt_lut;
+extern int opt_test, opt_ptrdrag;
+extern int opt_kill;
+extern int opt_repeater, opt_double;
+extern char* opt_repeater_type;
+extern int opt_kernel, opt_explicittype;
+extern int opt_aged;
+extern time_t opt_age_limit;
+extern char *opt_special;
+extern int opt_rawrep;
+extern int fifofd;
+extern char *consolename; /* the selected one */
+
+extern Gpm_Type *repeated_type;
+extern Gpm_Type mice[];
+extern struct winsize win;
+extern int maxx, maxy;
+extern Gpm_Cinfo *cinfo[MAX_VC+1];
+
+/*....................................... Prototypes */
+ /* gpm.c */
+int main(int argc, char **argv);
+
+ /* gpn.c */
+#define oops(s) gpm_oops(__FILE__, __LINE__,(s))
+int cmdline(int argc, char **argv);
+int giveInfo(int request, int fd);
+ /* mice.c */
+extern int M_listTypes(void);
+ /* special.c */
+int processSpecial(Gpm_Event *event);
+int twiddler_key(unsigned long message);
+int twiddler_key_init(void);
+
+/*....................................... Dirty hacks */
+
+#undef GPM_USE_MAGIC /* magic token foreach message? */
+
+
+#ifdef GPM_USE_MAGIC
+#define MAGIC_P(code) code
+#else
+#define MAGIC_P(code)
+#endif
+
+#endif /* _GPMINT_INCLUDED */