@brief Send raw data to the X server.
@param c: The connection to the X server.
@param vector: Array of data to be sent.
@param count: Number of entries in @p vector.
@param requests: Number of requests that are being sent.
@return 1 on success, else 0.
You must own the write-side of the socket (you've called
xcb_take_socket, and haven't returned from return_socket yet) to call
xcb_writev. Also, the iovec must have at least 1 byte of data in it.
You have to make sure that xcb can detect sequence number wraps correctly.
This means that the first request you send after xcb_take_socket must cause a
reply (e.g. just insert a GetInputFocus request). After every (1 << 16) - 1
requests without a reply, you have to insert a request which will cause a
reply. You can again use GetInputFocus for this. You do not have to wait for
any of the GetInputFocus replies, but can instead handle them via
xcb_discard_reply().
@brief Send raw data to the X server. @param c: The connection to the X server. @param vector: Array of data to be sent. @param count: Number of entries in @p vector. @param requests: Number of requests that are being sent. @return 1 on success, else 0.
You must own the write-side of the socket (you've called xcb_take_socket, and haven't returned from return_socket yet) to call xcb_writev. Also, the iovec must have at least 1 byte of data in it. You have to make sure that xcb can detect sequence number wraps correctly. This means that the first request you send after xcb_take_socket must cause a reply (e.g. just insert a GetInputFocus request). After every (1 << 16) - 1 requests without a reply, you have to insert a request which will cause a reply. You can again use GetInputFocus for this. You do not have to wait for any of the GetInputFocus replies, but can instead handle them via xcb_discard_reply().