Monado OpenXR Runtime
ipc_message_channel_unix.c File Reference

IPC message channel functions for UNIX platforms. More...

#include "xrt/xrt_config_os.h"
#include "util/u_logging.h"
#include "util/u_pretty_print.h"
#include "shared/ipc_protocol.h"
#include "shared/ipc_message_channel.h"
#include <errno.h>
#include <sys/socket.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <stdint.h>
#include <assert.h>
Include dependency graph for ipc_message_channel_unix.c:

Data Structures

union  imcontrol_buf
 

Macros

#define IPC_TRACE(d, ...)   U_LOG_IFL_T(d->log_level, __VA_ARGS__)
 
#define IPC_DEBUG(d, ...)   U_LOG_IFL_D(d->log_level, __VA_ARGS__)
 
#define IPC_INFO(d, ...)   U_LOG_IFL_I(d->log_level, __VA_ARGS__)
 
#define IPC_WARN(d, ...)   U_LOG_IFL_W(d->log_level, __VA_ARGS__)
 
#define IPC_ERROR(d, ...)   U_LOG_IFL_E(d->log_level, __VA_ARGS__)
 

Functions

void ipc_message_channel_close (struct ipc_message_channel *imc)
 
xrt_result_t ipc_send (struct ipc_message_channel *imc, const void *data, size_t size)
 
xrt_result_t ipc_receive (struct ipc_message_channel *imc, void *out_data, size_t size)
 
xrt_result_t ipc_receive_fds (struct ipc_message_channel *imc, void *out_data, size_t size, int *out_handles, uint32_t handle_count)
 
xrt_result_t ipc_send_fds (struct ipc_message_channel *imc, const void *data, size_t size, const int *handles, uint32_t handle_count)
 
xrt_result_t ipc_receive_handles_shmem (struct ipc_message_channel *imc, void *out_data, size_t size, xrt_shmem_handle_t *out_handles, uint32_t handle_count)
 
xrt_result_t ipc_send_handles_shmem (struct ipc_message_channel *imc, const void *data, size_t size, const xrt_shmem_handle_t *handles, uint32_t handle_count)
 

Detailed Description