Lines Matching refs:vector
46 static inline void send_request(xcb_connection_t *c, int isvoid, enum workarounds workaround, int flags, struct iovec *vector, int count)
57 while(count && c->out.queue_len + vector[0].iov_len <= sizeof(c->out.queue))
59 memcpy(c->out.queue + c->out.queue_len, vector[0].iov_base, vector[0].iov_len);
60 c->out.queue_len += vector[0].iov_len;
61 vector[0].iov_base = (char *) vector[0].iov_base + vector[0].iov_len;
62 vector[0].iov_len = 0;
63 ++vector, --count;
68 --vector, ++count;
69 vector[0].iov_base = c->out.queue;
70 vector[0].iov_len = c->out.queue_len;
72 _xcb_out_send(c, vector, count);
85 struct iovec vector[2];
86 vector[1].iov_base = (char *) &sync_req;
87 vector[1].iov_len = sizeof(sync_req);
88 send_request(c, 0, WORKAROUND_NONE, XCB_REQUEST_DISCARD_REPLY, vector + 1, 1);
225 uint64_t xcb_send_request_with_fds64(xcb_connection_t *c, int flags, struct iovec *vector,
239 assert(vector != 0);
248 assert(vector[0].iov_len >= 4);
259 ((uint8_t *) vector[0].iov_base)[0] = extension->major_opcode;
260 ((uint8_t *) vector[0].iov_base)[1] = req->opcode;
263 ((uint8_t *) vector[0].iov_base)[0] = req->opcode;
268 longlen += vector[i].iov_len;
269 if(!vector[i].iov_base)
271 vector[i].iov_base = (char *) pad;
272 assert(vector[i].iov_len <= sizeof(pad));
292 ((uint16_t *) vector[0].iov_base)[1] = shortlen;
295 prefix[0] = ((uint32_t *) vector[0].iov_base)[0];
297 vector[0].iov_base = (uint32_t *) vector[0].iov_base + 1;
298 vector[0].iov_len -= sizeof(uint32_t);
299 --vector, ++veclen;
300 vector[0].iov_base = prefix;
301 vector[0].iov_len = sizeof(prefix);
310 ((req->opcode == 17 && ((uint32_t *) vector[0].iov_base)[1] == 0x10004) ||
338 send_request(c, req->isvoid, workaround, flags, vector, veclen);
345 unsigned int xcb_send_request_with_fds(xcb_connection_t *c, int flags, struct iovec *vector,
348 return xcb_send_request_with_fds64(c, flags, vector, req, num_fds, fds);
351 uint64_t xcb_send_request64(xcb_connection_t *c, int flags, struct iovec *vector, const xcb_protocol_request_t *req)
353 return xcb_send_request_with_fds64(c, flags, vector, req, 0, NULL);
357 unsigned int xcb_send_request(xcb_connection_t *c, int flags, struct iovec *vector, const xcb_protocol_request_t *req)
359 return xcb_send_request64(c, flags, vector, req);
409 int xcb_writev(xcb_connection_t *c, struct iovec *vector, int count, uint64_t requests)
416 ret = _xcb_out_send(c, vector, count);
466 int _xcb_out_send(xcb_connection_t *c, struct iovec *vector, int count)
470 ret = _xcb_conn_wait(c, &c->out.cond, &vector, &count);