int SProcXIPassiveGrabDevice(ClientPtr client) { int i; char n; xXIModifierInfo *mods; REQUEST(xXIPassiveGrabDeviceReq); swaps(&stuff->length, n); swaps(&stuff->deviceid, n); swapl(&stuff->grab_window, n); swapl(&stuff->cursor, n); swapl(&stuff->time, n); swapl(&stuff->detail, n); swaps(&stuff->mask_len, n); swaps(&stuff->num_modifiers, n); mods = (xXIModifierInfo*)&stuff[1]; for (i = 0; i < stuff->num_modifiers; i++, mods++) { swapl(&mods->base_mods, n); swapl(&mods->latched_mods, n); swapl(&mods->locked_mods, n); } return ProcXIPassiveGrabDevice(client); }
int _X_COLD SProcXIPassiveGrabDevice(ClientPtr client) { int i; uint32_t *mods; REQUEST(xXIPassiveGrabDeviceReq); REQUEST_AT_LEAST_SIZE(xXIPassiveGrabDeviceReq); swaps(&stuff->length); swaps(&stuff->deviceid); swapl(&stuff->grab_window); swapl(&stuff->cursor); swapl(&stuff->time); swapl(&stuff->detail); swaps(&stuff->mask_len); swaps(&stuff->num_modifiers); REQUEST_FIXED_SIZE(xXIPassiveGrabDeviceReq, ((uint32_t) stuff->mask_len + stuff->num_modifiers) *4); mods = (uint32_t *) &stuff[1] + stuff->mask_len; for (i = 0; i < stuff->num_modifiers; i++, mods++) { swapl(mods); } return ProcXIPassiveGrabDevice(client); }
static void request_XIPassiveGrabDevice(ClientPtr client, xXIPassiveGrabDeviceReq* req, int error, int errval) { int rc; int modifiers; rc = ProcXIPassiveGrabDevice(&client_request); assert(rc == error); if (rc != Success) assert(client_request.errorValue == errval); client_request.swapped = TRUE; swaps(&req->length); swapl(&req->time); swapl(&req->grab_window); swapl(&req->cursor); swapl(&req->detail); swaps(&req->deviceid); modifiers = req->num_modifiers; swaps(&req->num_modifiers); swaps(&req->mask_len); while(modifiers--) { CARD32 *mod = ((CARD32*)(req + 1)) + modifiers; swapl(mod); } rc = SProcXIPassiveGrabDevice(&client_request); assert(rc == error); if (rc != Success) assert(client_request.errorValue == errval); }