Monado OpenXR Runtime
Loading...
Searching...
No Matches
ipc_server_handle_helpers.h File Reference

Helpers shared between the IPC server handle functions. More...

#include "util/u_misc.h"
#include "server/ipc_server.h"
Include dependency graph for ipc_server_handle_helpers.h:

Go to the source code of this file.

Functions

static bool ipc_server_client_is_input_blocked (volatile struct ipc_client_state *ics, enum xrt_input_name name)
 Is the given input blocked for this client by its ipc_client_io_blocks.
 
static void ipc_server_client_filter_blocked_inputs (volatile struct ipc_client_state *ics, struct xrt_input *inputs, uint32_t input_count)
 Zero out the inputs that are blocked for this client, in place.
 
static void ipc_server_client_filter_blocked_outputs (volatile struct ipc_client_state *ics, struct xrt_output *outputs, uint32_t output_count)
 Zero out the outputs if outputs are blocked for this client, in place.
 
static xrt_result_t ipc_server_validate_output_value (volatile struct ipc_client_state *ics, const struct xrt_output_value *value)
 Plain output calls copy the value as is, so reject PCM values: they hold client pointers and must go through a varlen haptic output call.
 
static xrt_result_t ipc_server_validate_pcm_haptic_buffer (volatile struct ipc_client_state *ics, const struct ipc_pcm_haptic_buffer *buffer)
 Reject haptic output calls with no samples, since the message channel can't send zero bytes, or with more samples than the service will allocate, see IPC_MAX_PCM_HAPTIC_SAMPLES.
 

Detailed Description

Helpers shared between the IPC server handle functions.

Author
Jakob Bornecrantz tborn.nosp@m.ecra.nosp@m.ntz@n.nosp@m.vidi.nosp@m.a.com