wl_client(3)

NAME
wl_client -

SYNOPSIS

  Public Member Functions
void wl_client_flush (struct wl_client *client)
struct wl_display * wl_client_get_display (struct wl_client *client)
void wl_client_get_credentials (struct wl_client *client, pid_t *pid, uid_t *uid, gid_t *gid)
int wl_client_get_fd (struct wl_client *client)
struct wl_resource * wl_client_get_object (struct wl_client *client, uint32_t id)

  Public Attributes
struct wl_connection * connection
struct wl_event_source * source
struct wl_display * display
struct wl_resource * display_resource
uint32_t id_count
uint32_t mask
struct wl_list link
struct wl_map objects
struct wl_signal destroy_signal
struct ucred ucred
int error

Member Function Documentation

  void wl_client_flush (struct wl_client * client)
Flush pending events to the client

Parameters:
    client The client object

Events sent to clients are queued in a buffer and written to the socket later - typically when the compositor has handled all requests and goes back to block in the event loop. This function flushes all queued up events for a client immediately.

  void wl_client_get_credentials (struct wl_client * client, pid_t * pid, uid_t * uid, gid_t * gid)
Return Unix credentials for the client

Parameters:
    client The display object
    pid Returns the process ID
    uid Returns the user ID
    gid Returns the group ID

This function returns the process ID, the user ID and the group ID for the given client. The credentials come from getsockopt() with SO_PEERCRED, on the client socket fd. All the pointers can be NULL, if the caller is not interested in a particular ID.

Be aware that for clients that a compositor forks and execs and then connects using socketpair(), this function will return the credentials for the compositor. The credentials for the socketpair are set at creation time in the compositor.

  struct wl_display * wl_client_get_display (struct wl_client * client)
Get the display object for the given client

Parameters:
    client The client object

Returns:
    The display object the client is associated with.

  int wl_client_get_fd (struct wl_client * client)
Get the file descriptor for the client

Parameters:
    client The display object

Returns:
    The file descriptor to use for the connection

This function returns the file descriptor for the given client.

Be sure to use the file descriptor from the client for inspection only. If the caller does anything to the file descriptor that changes its state, it will likely cause problems.

See also wl_client_get_credentials(). It is recommended that you evaluate whether wl_client_get_credentials() can be applied to your use case instead of this function.

If you would like to distinguish just between the client and the compositor itself from the client's request, it can be done by getting the client credentials and by checking the PID of the client and the compositor's PID. Regarding the case in which the socketpair() is being used, you need to be careful. Please note the documentation for wl_client_get_credentials().

This function can be used for a compositor to validate a request from a client if there are additional information provided from the client's file descriptor. For instance, suppose you can get the security contexts from the client's file descriptor. The compositor can validate the client's request with the contexts and make a decision whether it permits or deny it.

  struct wl_resource * wl_client_get_object (struct wl_client * client, uint32_t id)
Look up an object in the client name space

Parameters:
    client The client object
    id The object id

Returns:
    The object or NULL if there is not object for the given ID

This looks up an object in the client object name space by its object ID.

Author

Generated automatically by Doxygen for Wayland from the source code.