#define GP_WARN(...)
A debug WARN printf-like macro.
A linked list implementation.
static void gp_proxy_cli_event(gp_proxy_cli *self, gp_event *ev)
Sends an input event message to the application.
int gp_proxy_cli_read(gp_proxy_cli *self)
A function to fill the proxy client buffer.
static void gp_proxy_cli_show(gp_proxy_cli *self, gp_proxy_shm *shm, gp_proxy_coord *cur_pos)
Starts an application rendering into a SHM buffer.
static int gp_proxy_cli_send(gp_proxy_cli *self, enum gp_proxy_msg_types type, void *payload)
Sends a message to a client (application).
int gp_proxy_cli_msg(gp_proxy_cli *self, gp_proxy_msg **msg)
A function to parse messages from the client buffer.
static void gp_proxy_cli_hide(gp_proxy_cli *self)
Stops an application rendering and unmaps SHM buffer.
A proxy backend protocol definitions.
gp_proxy_msg_types
A proxy message type, identifies the type of the payload.
@ GP_PROXY_SHOW
Server requests to show application is on screen.
@ GP_PROXY_HIDE
Server requests to hide application is from screen.
@ GP_PROXY_MAP
A buffer map request or confirmation.
@ GP_PROXY_CURSOR_POS
Sets a cursor position.
@ GP_PROXY_UNMAP
A buffer unmap request or confirmation.
@ GP_PROXY_EVENT
Backend sends a gp_event to the application.
int gp_proxy_send(int fd, enum gp_proxy_msg_types type, void *payload)
Sends a message to the server/client.
A double linked list header.
A double linked list pointers.
An epoll file descriptor.
A proxy client (application).
char * name
An application name as set by GP_PROXY_NAME message.
gp_fd fd
A sever connection file descriptor.
gp_proxy_buf buf
Connection buffer.
gp_pixmap pixmap
A pixmap with the SHM segment as a pixels.
struct gp_proxy_path path
A path to the SHM segment.