Lines Matching +full:valid +full:- +full:mask
25 #include <dix-config.h>
33 * Zero-length masks if no masks are set.
34 * Valid masks for valid devices.
35 * Masks set on non-existent devices are not returned.
50 #include "protocol-common.h"
59 unsigned char mask[MAXDEVICES][XI2LASTEVENT]; /* intentionally bigger */ member
77 if (client->swapped) { in reply_XIGetSelectedEvents()
78 swapl(&rep->length); in reply_XIGetSelectedEvents()
79 swaps(&rep->sequenceNumber); in reply_XIGetSelectedEvents()
80 swaps(&rep->num_masks); in reply_XIGetSelectedEvents()
85 assert(rep->num_masks == test_data.num_masks_expected); in reply_XIGetSelectedEvents()
95 xXIEventMask *mask; in reply_XIGetSelectedEvents_data() local
98 mask = (xXIEventMask *) data; in reply_XIGetSelectedEvents_data()
100 if (client->swapped) { in reply_XIGetSelectedEvents_data()
101 swaps(&mask->deviceid); in reply_XIGetSelectedEvents_data()
102 swaps(&mask->mask_len); in reply_XIGetSelectedEvents_data()
105 assert(mask->deviceid < 6); in reply_XIGetSelectedEvents_data()
106 assert(mask->mask_len <= (((XI2LASTEVENT + 8) / 8) + 3) / 4); in reply_XIGetSelectedEvents_data()
108 bitmask = (unsigned char *) &mask[1]; in reply_XIGetSelectedEvents_data()
110 test_data.mask[mask->deviceid], mask->mask_len * 4) == 0); in reply_XIGetSelectedEvents_data()
112 mask = in reply_XIGetSelectedEvents_data()
113 (xXIEventMask *) ((char *) mask + mask->mask_len * 4 + in reply_XIGetSelectedEvents_data()
125 client = init_client(req->length, req); in request_XIGetSelectedEvents()
134 swapl(&req->win); in request_XIGetSelectedEvents()
135 swaps(&req->length); in request_XIGetSelectedEvents()
146 unsigned char *mask; in test_XIGetSelectedEvents() local
155 printf("Testing for zero-length (unset) masks.\n"); in test_XIGetSelectedEvents()
164 memset(test_data.mask, 0, sizeof(test_data.mask)); in test_XIGetSelectedEvents()
166 printf("Testing for valid masks\n"); in test_XIGetSelectedEvents()
167 memset(&dev, 0, sizeof(dev)); /* dev->id is enough for XISetEventMask */ in test_XIGetSelectedEvents()
170 /* devices 6 - MAXDEVICES don't exist, they mustn't be included in the in test_XIGetSelectedEvents()
171 * reply even if a mask is set */ in test_XIGetSelectedEvents()
175 mask = test_data.mask[j]; in test_XIGetSelectedEvents()
176 /* bits one-by-one */ in test_XIGetSelectedEvents()
178 SetBit(mask, i); in test_XIGetSelectedEvents()
179 XISetEventMask(&dev, &root, &client, (i + 8) / 8, mask); in test_XIGetSelectedEvents()
181 ClearBit(mask, i); in test_XIGetSelectedEvents()
184 /* all valid mask bits */ in test_XIGetSelectedEvents()
186 SetBit(mask, i); in test_XIGetSelectedEvents()
187 XISetEventMask(&dev, &root, &client, (i + 8) / 8, mask); in test_XIGetSelectedEvents()
193 /* Unset all masks one-by-one */ in test_XIGetSelectedEvents()
194 for (j = MAXDEVICES - 1; j >= 0; j--) { in test_XIGetSelectedEvents()
196 test_data.num_masks_expected--; in test_XIGetSelectedEvents()
198 mask = test_data.mask[j]; in test_XIGetSelectedEvents()
199 memset(mask, 0, XI2LASTEVENT); in test_XIGetSelectedEvents()