do_simple.c revision 533545b5
1264fa531Smrg/*****************************************************************************
2264fa531SmrgCopyright 1988, 1989 by Digital Equipment Corporation, Maynard, Massachusetts.
3264fa531Smrg
4264fa531Smrg                        All Rights Reserved
5264fa531Smrg
6264fa531SmrgPermission to use, copy, modify, and distribute this software and its
7264fa531Smrgdocumentation for any purpose and without fee is hereby granted,
8264fa531Smrgprovided that the above copyright notice appear in all copies and that
9264fa531Smrgboth that copyright notice and this permission notice appear in
10264fa531Smrgsupporting documentation, and that the name of Digital not be
11264fa531Smrgused in advertising or publicity pertaining to distribution of the
12264fa531Smrgsoftware without specific, written prior permission.
13264fa531Smrg
14264fa531SmrgDIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
15264fa531SmrgALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
16264fa531SmrgDIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
17264fa531SmrgANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
18264fa531SmrgWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
19264fa531SmrgARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
20264fa531SmrgSOFTWARE.
21264fa531Smrg
22264fa531Smrg******************************************************************************/
23264fa531Smrg
24264fa531Smrg#ifndef VMS
25264fa531Smrg#include <X11/Xatom.h>
26264fa531Smrg#else
27264fa531Smrg#include <decw$include/Xatom.h>
28264fa531Smrg#endif
29264fa531Smrg
30264fa531Smrg#include "x11perf.h"
31264fa531Smrg
32264fa531Smrgstatic Atom XA_PK_TEMP;
33264fa531Smrg
34264fa531Smrgvoid
35533545b5SmrgDoNoOp(XParms xp, Parms p, int64_t reps)
36264fa531Smrg{
37264fa531Smrg    int     i;
38264fa531Smrg
39264fa531Smrg    for (i = 0; i != reps; i++) {
40264fa531Smrg	XNoOp(xp->d);
41264fa531Smrg	CheckAbort ();
42264fa531Smrg    }
43264fa531Smrg}
44264fa531Smrg
45264fa531Smrg
46264fa531Smrgvoid
47533545b5SmrgDoGetAtom(XParms xp, Parms p, int64_t reps)
48264fa531Smrg{
49264fa531Smrg    char    *atom;
50264fa531Smrg    int     i;
51264fa531Smrg
52264fa531Smrg    for (i = 0; i != reps; i++) {
53264fa531Smrg	atom = XGetAtomName (xp->d, 1);
54264fa531Smrg 	XFree(atom); /* fix XBUG 6480 */
55264fa531Smrg	CheckAbort ();
56264fa531Smrg    }
57264fa531Smrg}
58264fa531Smrg
59264fa531Smrgvoid
60533545b5SmrgDoQueryPointer(XParms xp, Parms p, int64_t reps)
61264fa531Smrg{
62264fa531Smrg    int     i;
63264fa531Smrg    Window  w;
64264fa531Smrg    int     x;
65264fa531Smrg    unsigned int m;
66264fa531Smrg
67264fa531Smrg    for (i = 0; i != reps; i++) {
68264fa531Smrg	XQueryPointer (xp->d, xp->w, &w, &w, &x, &x, &x, &x, &m);
69264fa531Smrg	CheckAbort ();
70264fa531Smrg    }
71264fa531Smrg}
72264fa531Smrg
73264fa531Smrgint
74533545b5SmrgInitGetProperty(XParms xp, Parms p, int64_t reps)
75264fa531Smrg{
76264fa531Smrg    long foo[4];
77264fa531Smrg
78264fa531Smrg    foo[0] = 41;
79264fa531Smrg    foo[1] = 14;
80264fa531Smrg    foo[2] = 37;
81264fa531Smrg    foo[3] = 73;
82264fa531Smrg    XA_PK_TEMP = XInternAtom (xp->d, "_PK_TEMP", False);
83264fa531Smrg    XChangeProperty (
84264fa531Smrg	    xp->d, xp->w, XA_PK_TEMP, XA_INTEGER, 32,
85264fa531Smrg	    PropModeReplace, (unsigned char *)foo, 4);
86264fa531Smrg    return reps;
87264fa531Smrg}
88264fa531Smrg
89264fa531Smrgvoid
90533545b5SmrgDoGetProperty(XParms xp, Parms p, int64_t reps)
91264fa531Smrg{
92264fa531Smrg    int     i;
93264fa531Smrg    int     actual_format;
94264fa531Smrg    unsigned long actual_length, bytes_remaining;
95264fa531Smrg    unsigned char *prop;
96264fa531Smrg
97264fa531Smrg    Atom actual_type;
98264fa531Smrg
99264fa531Smrg    for (i = 0; i != reps; i++) {
100264fa531Smrg	XGetWindowProperty (
101264fa531Smrg		xp->d, xp->w, XA_PK_TEMP, 0, 4,
102264fa531Smrg		False, AnyPropertyType, &actual_type, &actual_format,
103264fa531Smrg		&actual_length, &bytes_remaining, &prop);
104264fa531Smrg	CheckAbort ();
105264fa531Smrg	XFree(prop);
106264fa531Smrg    }
107264fa531Smrg}
108