Monado OpenXR Runtime
ipc_message_channel_windows.cpp File Reference

IPC message channel functions for Windows. More...

#include "xrt/xrt_config_os.h"
#include "util/u_windows.h"
#include "util/u_logging.h"
#include "shared/ipc_utils.h"
#include "shared/ipc_protocol.h"
#include "shared/ipc_message_channel.h"
#include <stdio.h>
#include <string.h>
#include <stdint.h>
#include <assert.h>
#include <vector>
Include dependency graph for ipc_message_channel_windows.cpp:

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

static HANDLE open_target_process_dup_handle (struct ipc_message_channel *imc)
 
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_handles (struct ipc_message_channel *imc, void *out_data, size_t size, HANDLE *out_handles, uint32_t handle_count)
 
xrt_result_t ipc_send_handles (struct ipc_message_channel *imc, const void *data, size_t size, const HANDLE *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)
 
xrt_result_t ipc_receive_handles_graphics_sync (struct ipc_message_channel *imc, void *out_data, size_t size, xrt_graphics_sync_handle_t *out_handles, uint32_t handle_count)
 
xrt_result_t ipc_send_handles_graphics_sync (struct ipc_message_channel *imc, const void *data, size_t size, const xrt_graphics_sync_handle_t *handles, uint32_t handle_count)
 
xrt_result_t ipc_receive_handles_graphics_buffer (struct ipc_message_channel *imc, void *out_data, size_t size, xrt_graphics_buffer_handle_t *out_handles, uint32_t handle_count)
 
xrt_result_t ipc_send_handles_graphics_buffer (struct ipc_message_channel *imc, const void *data, size_t size, const xrt_graphics_buffer_handle_t *handles, uint32_t handle_count)
 

Detailed Description