The open source OpenXR runtime
1// Copyright 2019, Collabora, Ltd.
2// SPDX-License-Identifier: BSL-1.0
3/*!
4 * @file
5 * @brief Interface to @ref drv_vive.
6 * @author Jakob Bornecrantz <jakob@collabora.com>
7 * @author Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
8 * @ingroup drv_vive
9 */
10
11#pragma once
12
13#include <stdlib.h>
14
15#include "xrt/xrt_prober.h"
16
17#include "vive_device.h"
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22
23
24/*!
25 * @defgroup drv_vive HTC Vive and Valve Index driver
26 * @ingroup drv
27 *
28 * @brief Driver for the HTC Vive and Valve Index family of HMDs.
29 */
30
31/*!
32 * Probing function for Vive devices.
33 *
34 * @ingroup drv_vive
35 * @see xrt_prober_found_func_t
36 */
37int
38vive_found(struct xrt_prober *xp,
39 struct xrt_prober_device **devices,
40 size_t device_count,
41 size_t index,
42 cJSON *attached_data,
43 struct vive_tracking_status tstatus,
44 struct vive_source *vs,
45 struct vive_config **out_vive_config,
46 struct xrt_device **out_xdev);
47
48
49/*!
50 * Probing function for HTC Vive and Valve Index controllers.
51 *
52 * @ingroup drv_vive
53 * @see xrt_prober_found_func_t
54 */
55int
56vive_controller_found(struct xrt_prober *xp,
57 struct xrt_prober_device **devices,
58 size_t device_count,
59 size_t index,
60 cJSON *attached_data,
61 struct xrt_device **out_xdevs);
62
63/*!
64 * @dir drivers/vive
65 *
66 * @brief @ref drv_vive files.
67 */
68
69
70#ifdef __cplusplus
71}
72#endif