Distributed Multihead X
1.16.4
Main Page
Data Structures
Files
File List
Globals
dmxinput.h
Go to the documentation of this file.
1
/*
2
* Copyright 2001,2002 Red Hat Inc., Durham, North Carolina.
3
*
4
* All Rights Reserved.
5
*
6
* Permission is hereby granted, free of charge, to any person obtaining
7
* a copy of this software and associated documentation files (the
8
* "Software"), to deal in the Software without restriction, including
9
* without limitation on the rights to use, copy, modify, merge,
10
* publish, distribute, sublicense, and/or sell copies of the Software,
11
* and to permit persons to whom the Software is furnished to do so,
12
* subject to the following conditions:
13
*
14
* The above copyright notice and this permission notice (including the
15
* next paragraph) shall be included in all copies or substantial
16
* portions of the Software.
17
*
18
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21
* NON-INFRINGEMENT. IN NO EVENT SHALL RED HAT AND/OR THEIR SUPPLIERS
22
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
23
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
24
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25
* SOFTWARE.
26
*/
27
28
/*
29
* Authors:
30
* David H. Dawes <dawes@xfree86.org>
31
* Kevin E. Martin <kem@redhat.com>
32
* Rickard E. (Rik) Faith <faith@redhat.com>
33
*
34
*/
35
47
#ifndef DMXINPUT_H
48
#define DMXINPUT_H
49
51
#define DMX_MAX_SIGIO_FDS 4
52
53
struct
_DMXInputInfo
;
54
56
typedef
enum
{
57
DMX_UPDATE_REALIZE
,
58
DMX_UPDATE_UNREALIZE
,
59
DMX_UPDATE_RESTACK
,
60
DMX_UPDATE_COPY
,
61
DMX_UPDATE_RESIZE
,
62
DMX_UPDATE_REPARENT
63
}
DMXUpdateType
;
64
65
typedef
void (*
ProcessInputEventsProc
) (
struct
_DMXInputInfo
*);
66
typedef
void (*
UpdateWindowInfoProc
) (
struct
_DMXInputInfo
*,
67
DMXUpdateType
, WindowPtr);
68
70
typedef
struct
_DMXLocalInputInfo
*
DMXLocalInputInfoPtr
;
71
73
typedef
enum
{
74
DMX_NOSIGIO
= 0,
75
DMX_USESIGIO
,
78
DMX_ACTIVESIGIO
79
}
dmxSigioState
;
80
84
struct
_DMXInputInfo
{
85
const
char
*
name
;
88
Bool
freename
;
89
Bool
detached
;
90
int
inputIdx
;
91
int
scrnIdx
;
92
Bool
core
;
95
Bool
console
;
99
Bool
windows
;
102
ProcessInputEventsProc
processInputEvents
;
103
UpdateWindowInfoProc
updateWindowInfo
;
104
105
/* Local input information */
106
dmxSigioState
sigioState
;
107
int
sigioFdCount
;
108
int
sigioFd
[
DMX_MAX_SIGIO_FDS
];
109
Bool
sigioAdded
[
DMX_MAX_SIGIO_FDS
];
112
int
vt_switch_pending
;
113
115
int
vt_switched
;
116
118
int
numDevs
;
119
124
DMXLocalInputInfoPtr *
devs
;
125
126
char
*
keycodes
;
127
char
*
symbols
;
128
char
*
geometry
;
129
};
130
131
extern
int
dmxNumInputs
;
132
extern
DMXInputInfo
*
dmxInputs
;
134
extern
void
dmxInputInit
(
DMXInputInfo
* dmxInput);
135
extern
void
dmxInputReInit
(
DMXInputInfo
* dmxInput);
136
extern
void
dmxInputLateReInit
(
DMXInputInfo
* dmxInput);
137
extern
void
dmxInputFree
(
DMXInputInfo
* dmxInput);
138
extern
void
dmxInputLogDevices
(
void
);
139
extern
void
dmxUpdateWindowInfo
(DMXUpdateType type, WindowPtr pWindow);
140
141
/* These functions are defined in input/dmxeq.c */
142
extern
void
dmxeqSwitchScreen
(DeviceIntPtr pDev, ScreenPtr pScreen,
143
Bool fromDIX);
144
145
/* This type is used in input/dmxevents.c. Also, these functions are
146
* defined in input/dmxevents.c */
147
typedef
enum
{
148
DMX_NO_BLOCK
= 0,
149
DMX_BLOCK
= 1
150
}
DMXBlockType
;
151
152
extern
void
dmxGetGlobalPosition
(
int
*x,
int
*y);
153
extern
DMXScreenInfo
*
dmxFindFirstScreen
(
int
x,
int
y);
154
extern
void
dmxCoreMotion
(DevicePtr pDev,
int
x,
int
y,
int
delta,
155
DMXBlockType
block);
156
157
/* Support for dynamic addition of inputs. This functions is defined in
158
* config/dmxconfig.c */
159
extern
DMXInputInfo
*
dmxConfigAddInput
(
const
char
*name,
int
core);
160
#endif
/* DMXINPUT_H */
DMX_NOSIGIO
Definition:
dmxinput.h:74
ProcessInputEventsProc
void(* ProcessInputEventsProc)(struct _DMXInputInfo *)
Definition:
dmxinput.h:65
dmxInputReInit
void dmxInputReInit(DMXInputInfo *dmxInput)
Definition:
dmxinputinit.c:965
_DMXInputInfo
Definition:
dmxinput.h:84
_DMXInputInfo::name
const char * name
Definition:
dmxinput.h:85
DMX_UPDATE_RESIZE
Definition:
dmxinput.h:61
dmxInputLateReInit
void dmxInputLateReInit(DMXInputInfo *dmxInput)
Definition:
dmxinputinit.c:980
_DMXInputInfo::symbols
char * symbols
Definition:
dmxinput.h:127
dmxeqSwitchScreen
void dmxeqSwitchScreen(DeviceIntPtr pDev, ScreenPtr pScreen, Bool fromDIX)
_DMXInputInfo::vt_switched
int vt_switched
Definition:
dmxinput.h:115
dmxUpdateWindowInfo
void dmxUpdateWindowInfo(DMXUpdateType type, WindowPtr pWindow)
Definition:
dmxinput.c:105
DMX_UPDATE_UNREALIZE
Definition:
dmxinput.h:58
dmxInputLogDevices
void dmxInputLogDevices(void)
Definition:
dmxinputinit.c:1166
dmxSigioState
dmxSigioState
Definition:
dmxinput.h:73
dmxInputFree
void dmxInputFree(DMXInputInfo *dmxInput)
Definition:
dmxinputinit.c:1141
DMX_MAX_SIGIO_FDS
#define DMX_MAX_SIGIO_FDS
Definition:
dmxinput.h:51
dmxCoreMotion
void dmxCoreMotion(DevicePtr pDev, int x, int y, int delta, DMXBlockType block)
Definition:
dmxevents.c:195
DMXLocalInputInfoPtr
struct _DMXLocalInputInfo * DMXLocalInputInfoPtr
Definition:
dmxinput.h:70
_DMXInputInfo::sigioFd
int sigioFd[DMX_MAX_SIGIO_FDS]
Definition:
dmxinput.h:108
_DMXInputInfo::sigioState
dmxSigioState sigioState
Definition:
dmxinput.h:106
_DMXInputInfo::core
Bool core
Definition:
dmxinput.h:92
_DMXInputInfo::devs
DMXLocalInputInfoPtr * devs
Definition:
dmxinput.h:124
_DMXInputInfo::vt_switch_pending
int vt_switch_pending
Definition:
dmxinput.h:112
DMX_ACTIVESIGIO
Definition:
dmxinput.h:78
dmxGetGlobalPosition
void dmxGetGlobalPosition(int *x, int *y)
Definition:
dmxevents.c:571
_DMXInputInfo::processInputEvents
ProcessInputEventsProc processInputEvents
Definition:
dmxinput.h:102
DMX_USESIGIO
Definition:
dmxinput.h:75
_DMXLocalInputInfo
Definition:
dmxinputinit.h:179
dmxNumInputs
int dmxNumInputs
Definition:
dmxinit.c:82
_DMXInputInfo::updateWindowInfo
UpdateWindowInfoProc updateWindowInfo
Definition:
dmxinput.h:103
DMX_UPDATE_REPARENT
Definition:
dmxinput.h:62
_DMXScreenInfo
Definition:
dmx.h:91
DMX_BLOCK
Definition:
dmxinput.h:149
dmxInputInit
void dmxInputInit(DMXInputInfo *dmxInput)
Definition:
dmxinputinit.c:994
_DMXInputInfo::detached
Bool detached
Definition:
dmxinput.h:89
UpdateWindowInfoProc
void(* UpdateWindowInfoProc)(struct _DMXInputInfo *, DMXUpdateType, WindowPtr)
Definition:
dmxinput.h:66
dmxConfigAddInput
DMXInputInfo * dmxConfigAddInput(const char *name, int core)
Definition:
dmxconfig.c:233
DMX_UPDATE_COPY
Definition:
dmxinput.h:60
_DMXInputInfo::inputIdx
int inputIdx
Definition:
dmxinput.h:90
_DMXInputInfo::keycodes
char * keycodes
Definition:
dmxinput.h:126
DMXUpdateType
DMXUpdateType
Definition:
dmxinput.h:56
dmxFindFirstScreen
DMXScreenInfo * dmxFindFirstScreen(int x, int y)
Definition:
dmxevents.c:160
DMX_UPDATE_RESTACK
Definition:
dmxinput.h:59
DMX_UPDATE_REALIZE
Definition:
dmxinput.h:57
_DMXInputInfo::sigioFdCount
int sigioFdCount
Definition:
dmxinput.h:107
_DMXInputInfo::scrnIdx
int scrnIdx
Definition:
dmxinput.h:91
_DMXInputInfo::sigioAdded
Bool sigioAdded[DMX_MAX_SIGIO_FDS]
Definition:
dmxinput.h:109
_DMXInputInfo::windows
Bool windows
Definition:
dmxinput.h:99
_DMXInputInfo::numDevs
int numDevs
Definition:
dmxinput.h:118
DMXBlockType
DMXBlockType
Definition:
dmxinput.h:147
DMX_NO_BLOCK
Definition:
dmxinput.h:148
_DMXInputInfo::console
Bool console
Definition:
dmxinput.h:95
_DMXInputInfo::geometry
char * geometry
Definition:
dmxinput.h:128
_DMXInputInfo::freename
Bool freename
Definition:
dmxinput.h:88
dmxInputs
DMXInputInfo * dmxInputs
Definition:
dmxinit.c:83
Generated on Tue Aug 18 2015 01:27:31 for Distributed Multihead X by
1.8.8