Tizen 2.0 Release
[pkgs/xorg/lib/libxtrap.git] / src / XEPrInfo.c
1 /* $XFree86$ */
2 /*****************************************************************************
3 Copyright 1987, 1988, 1989, 1990, 1991, 1994 by Digital Equipment Corp., 
4 Maynard, MA
5
6 Permission to use, copy, modify, and distribute this software and its 
7 documentation for any purpose and without fee is hereby granted, 
8 provided that the above copyright notice appear in all copies and that
9 both that copyright notice and this permission notice appear in 
10 supporting documentation, and that the name of Digital not be
11 used in advertising or publicity pertaining to distribution of the
12 software without specific, written prior permission.  
13
14 DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
15 ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
16 DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
17 ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
18 WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
19 ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
20 SOFTWARE.
21
22 *****************************************************************************/
23 #include <X11/Xos.h>
24 #include <X11/Xlib.h>
25 #include <X11/extensions/xtraplib.h>
26 #include <X11/extensions/xtraplibp.h>
27
28 #ifndef TRUE
29 # define TRUE 1L
30 #endif
31 #ifndef FALSE
32 # define FALSE 0L
33 #endif
34
35 void XEPrintRelease( FILE *ofp, XETrapGetAvailRep *pavail)
36 {
37
38     fprintf(ofp,"\tRelease:   %d.%d-%d\n", XETrapGetAvailRelease(pavail),
39         XETrapGetAvailVersion(pavail), XETrapGetAvailRevision(pavail));
40 }
41 void XEPrintTkRelease( FILE *ofp, XETC *tc)
42 {
43     fprintf(ofp,"\tRelease:   %d.%d-%d\n", XEGetRelease(tc), XEGetVersion(tc),
44         XEGetRevision(tc));
45 }
46
47 void XEPrintPlatform( FILE *ofp, XETrapGetAvailRep *pavail)
48 {
49     fprintf(ofp,"\tPlatform:  %s (0x%02x)\n",
50         XEPlatformIDToString(XETrapGetAvailPFIdent(pavail)), 
51         (int)XETrapGetAvailPFIdent(pavail));
52 }
53
54 void XEPrintAvailFlags( FILE *ofp, XETrapGetAvailRep *pavail)
55 {
56
57     CARD8 f[4L];
58
59     XETrapGetAvailFlags(pavail,f);
60     fprintf(ofp,"\tFlags: ");
61     if (XETrapGetAvailFlagTimestamp(pavail)) fputs("Timestamps ", ofp);
62     if (XETrapGetAvailFlagCmd(pavail)) fputs("CmdKey ", ofp);
63     if (XETrapGetAvailFlagCmdKeyMod(pavail)) fputs("CmdKeyMod ", ofp); 
64     if (XETrapGetAvailFlagRequest(pavail)) fputs("Requests ", ofp);
65     if (XETrapGetAvailFlagEvent(pavail)) fputs("Events ", ofp);
66     if (XETrapGetAvailFlagMaxPacket(pavail)) fputs("MaxPkt ", ofp);
67     if (XETrapGetAvailFlagStatistics(pavail)) fputs("Statistics ", ofp);
68     if (XETrapGetAvailFlagWinXY(pavail)) fputs("WinXY ", ofp);
69     if (XETrapGetAvailFlagCursor(pavail)) fputs("Cursor ", ofp);
70     if (XETrapGetAvailFlagXInput(pavail)) fputs("XInput ", ofp);
71     if (XETrapGetAvailFlagVecEvt(pavail)) fputs("Vect_Evnts ", ofp);
72     if (XETrapGetAvailFlagColorReplies(pavail)) fputs("ColorRep ", ofp);
73     if (XETrapGetAvailFlagGrabServer(pavail)) fputs("GrabServer ", ofp);
74     fprintf(ofp," (0x%02x%02x%02x%02x)\n", f[0], f[1], f[2], f[3]);
75 }
76
77 void XEPrintAvailPktSz( FILE *ofp, XETrapGetAvailRep *pavail)
78 {
79
80     fprintf(ofp,"\tMax Packet Size: %d\n", XETrapGetAvailMaxPktSize(pavail));
81 }
82 void XEPrintStateFlags( FILE *ofp, XETrapGetCurRep *pcur)
83 {
84
85     CARD8   f[2];
86     XETrapGetCurSFlags(pcur, f);
87     fputs("\tFlags: ",ofp); 
88     if (BitIsTrue(f,XETrapTrapActive)) fputs("I/O Active ", ofp);
89     fprintf(ofp," (0x%02x%02x)\n", f[0], f[1]);    
90 }
91
92 void XEPrintMajOpcode( FILE *ofp, XETrapGetAvailRep *pavail)
93 {
94
95     fprintf(ofp,"\tMajor Opcode:  %d\n", (int)XETrapGetAvailOpCode(pavail));
96 }
97 void XEPrintCurXY( FILE *ofp, XETrapGetAvailRep *pavail)
98 {
99
100     fprintf(ofp,"\tCurrent (x,y):  (%d,%d)\n", XETrapGetCurX(pavail), 
101         XETrapGetCurY(pavail));
102 }
103
104 void XEPrintTkFlags( FILE *ofp, XETC *tc)
105 {
106
107     CARD8   f[2];
108     XETrapGetTCLFlags(tc, f);
109     fputs("\tFlags: ",ofp); 
110     if (XETrapGetTCFlagDeltaTimes(tc)) fputs("Delta Times ", ofp);
111     if (XETrapGetTCFlagTrapActive(tc)) fputs("Trap Active ", ofp);
112     fprintf(ofp," (0x%02x%02x)\n", f[0], f[1]);    
113 }
114
115 void XEPrintLastTime( FILE *ofp, XETC *tc)
116 {
117
118     fprintf(ofp,"\tLast Relative Time:  %d\n", (int)XETrapGetTCTime(tc));
119 }
120
121 void XEPrintCfgFlags( FILE *ofp, XETrapGetCurRep *pcur)
122 {
123
124     CARD8 f[4L];
125
126     XETrapGetCurCFlags(pcur,data,f);
127     fprintf(ofp,"\tFlags: ");
128     if (XETrapGetCurFlagTimestamp(pcur,data)) fputs("Timestamps ", ofp);
129     if (XETrapGetCurFlagCmd(pcur,data)) fputs("CmdKey ", ofp);
130     if (XETrapGetCurFlagCmdKeyMod(pcur,data)) fputs("CmdKeyMod ", ofp);
131     if (XETrapGetCurFlagRequest(pcur,data)) fputs("Requests ", ofp);
132     if (XETrapGetCurFlagEvent(pcur,data)) fputs("Events ", ofp);
133     if (XETrapGetCurFlagMaxPacket(pcur,data)) fputs("MaxPkt ", ofp);
134     if (XETrapGetCurFlagStatistics(pcur,data)) fputs("Statistics ", ofp);
135     if (XETrapGetCurFlagWinXY(pcur,data)) fputs("WinXY ", ofp);
136     if (XETrapGetCurFlagCursor(pcur,data)) fputs("Cursor ", ofp);
137     if (XETrapGetCurFlagXInput(pcur,data)) fputs("XInput ", ofp);
138     if (XETrapGetCurFlagColorReplies(pcur,data)) fputs("ColorReplies ", ofp);
139     if (XETrapGetCurFlagGrabServer(pcur,data)) fputs("GrabServer ", ofp);
140     fprintf(ofp," (0x%02x%02x%02x%02x)\n", f[0], f[1], f[2], f[3]);
141 }
142
143 void XEPrintRequests( FILE *ofp, XETrapGetCurRep *pcur)
144 {
145
146     long i;
147     fprintf(ofp,"\tX Requests:  ");
148     for (i=0L; i<=XETrapMaxRequest-1; i++)
149     {   /* Not using the macro cause we're doing things
150          * a byte at a time rather than a bit.
151          */
152         fprintf(ofp,"%02x ", pcur->config.flags.req[i]);
153         if ((i+1L)%4L == 0L)
154         { 
155             fprintf(ofp,"  "); 
156         }
157         if ((i+1L)%16L == 0L)
158         { 
159             fprintf(ofp,"\n\t\t     "); 
160         }
161     }
162     fprintf(ofp,"\n");
163 }
164
165 void XEPrintEvents( FILE *ofp, XETrapGetCurRep *pcur)
166 {
167
168     int i;
169     fprintf(ofp,"\tX Events:  ");
170     for (i=0L; i<XETrapMaxEvent; i++)
171     {   /* Not using the macro cause we're doing things
172          * a byte at a time rather than a bit.
173          */
174         fprintf(ofp,"%02x ", pcur->config.flags.event[i]);
175         if ((i+1L)%4L == 0L)
176         { 
177             fprintf(ofp,"  "); 
178         }
179         if ((i+1L)%16L == 0L)
180         { 
181             fprintf(ofp,"\n\t\t     "); 
182         }
183     }
184     fprintf(ofp,"\n");
185 }
186
187 void XEPrintCurPktSz( FILE *ofp, XETrapGetCurRep *pcur)
188 {
189
190     fprintf(ofp,"\tMax Packet Size: %d\n", XETrapGetCurMaxPktSize(pcur));
191 }
192
193 void XEPrintCmdKey( FILE *ofp, XETrapGetCurRep *pcur)
194 {
195
196     fprintf(ofp,"\tcmd_key: 0x%02x\n", XETrapGetCurCmdKey(pcur));
197 }
198
199 void XEPrintEvtStats( FILE *ofp, XETrapGetStatsRep *pstats, XETC *tc)
200 {
201
202     int i;
203     fprintf(ofp,"\tX Events:\n");
204     for (i=0; i<XETrapCoreEvents; i++)
205     {   
206         if (XETrapGetStatsEvt(pstats,i))
207         {
208             fprintf(ofp,"\t   %-20s :  %d\n", XEEventIDToString(i,tc),
209                 (int)XETrapGetStatsEvt(pstats,i));
210         }
211     }
212     fprintf(ofp,"\n");
213 }
214
215 void XEPrintReqStats( FILE *ofp, XETrapGetStatsRep *pstats, XETC *tc)
216 {
217
218     int i;
219     fprintf(ofp,"\tX Requests:\n");
220     for (i=0L; i<256L; i++)
221     {   
222         if (XETrapGetStatsReq(pstats,i))
223         {
224             fprintf(ofp,"\t   %-20s :  %d\n", XERequestIDToString(i,tc),
225                 (int)XETrapGetStatsReq(pstats,i));
226         }
227     }
228     fprintf(ofp,"\n");
229 }
230
231 \f
232 void XEPrintAvail( FILE *ofp, XETrapGetAvailRep *pavail)
233 {
234
235     fprintf(ofp,"Available Information:\n");
236     XEPrintRelease(ofp, pavail);
237     XEPrintPlatform(ofp, pavail);
238     XEPrintMajOpcode(ofp, pavail);
239     XEPrintAvailFlags(ofp, pavail);
240     XEPrintAvailPktSz(ofp, pavail);
241     XEPrintCurXY(ofp, pavail);
242     return;
243 }
244
245 void XEPrintTkState( FILE *ofp, XETC *tc)
246 {
247
248     fprintf(ofp,"Toolkit State:\n");
249     XEPrintTkFlags(ofp, tc);
250     XEPrintLastTime(ofp, tc);
251     XEPrintTkRelease(ofp, tc);
252 }
253
254 void XEPrintCurrent( FILE *ofp, XETrapGetCurRep *pcur)
255 {
256
257     fprintf(ofp,"Current State:\n");
258     XEPrintStateFlags(ofp, pcur);
259     fprintf(ofp,"Current Config:\n");
260     XEPrintCfgFlags(ofp, pcur);
261     XEPrintRequests(ofp, pcur);
262     XEPrintEvents(ofp, pcur);
263     XEPrintCurPktSz(ofp, pcur);
264     XEPrintCmdKey(ofp, pcur);
265 }
266
267 void XEPrintStatistics( FILE *ofp, XETrapGetStatsRep *pstats, XETC *tc)
268 {
269
270     fprintf(ofp,"Statistics:\n");
271     XEPrintEvtStats(ofp, pstats, tc);
272     XEPrintReqStats(ofp, pstats, tc);
273 }
274