| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- /*******************************************************
- HIDAPI - Multi-Platform library for
- communication with HID devices.
- libusb/hidapi Team
- Copyright 2022, All Rights Reserved.
- At the discretion of the user of this library,
- this software may be licensed under the terms of the
- GNU General Public License v3, a BSD-Style license, or the
- original HIDAPI license as outlined in the LICENSE.txt,
- LICENSE-gpl3.txt, LICENSE-bsd.txt, and LICENSE-orig.txt
- files located at the root of the source distribution.
- These files may also be found in the public source
- code repository located at:
- https://github.com/libusb/hidapi .
- ********************************************************/
- /** @file
- * @defgroup API hidapi API
- * Since version 0.12.0, @ref HID_API_VERSION >= HID_API_MAKE_VERSION(0, 12, 0)
- */
- #ifndef HIDAPI_DARWIN_H__
- #define HIDAPI_DARWIN_H__
- #include <stdint.h>
- #include "../hidapi/hidapi.h"
- #ifdef __cplusplus
- extern "C" {
- #endif
- /** @brief Get the location ID for a HID device.
- Since version 0.12.0, @ref HID_API_VERSION >= HID_API_MAKE_VERSION(0, 12, 0)
- @ingroup API
- @param dev A device handle returned from hid_open().
- @param location_id The device's location ID on return.
- @returns
- This function returns 0 on success and -1 on error.
- */
- int HID_API_EXPORT_CALL hid_darwin_get_location_id(hid_device *dev, uint32_t *location_id);
- /** @brief Changes the behavior of all further calls to @ref hid_open or @ref hid_open_path.
- By default on Darwin platform all devices opened by HIDAPI with @ref hid_open or @ref hid_open_path
- are opened in exclusive mode (see kIOHIDOptionsTypeSeizeDevice).
- Since version 0.12.0, @ref HID_API_VERSION >= HID_API_MAKE_VERSION(0, 12, 0)
- @ingroup API
- @param open_exclusive When set to 0 - all further devices will be opened
- in non-exclusive mode. Otherwise - all further devices will be opened
- in exclusive mode.
- @note During the initialisation by @ref hid_init - this property is set to 1 (TRUE).
- This is done to preserve full backward compatibility with previous behavior.
- @note Calling this function before @ref hid_init or after @ref hid_exit has no effect.
- */
- void HID_API_EXPORT_CALL hid_darwin_set_open_exclusive(int open_exclusive);
- /** @brief Getter for option set by @ref hid_darwin_set_open_exclusive.
- Since version 0.12.0, @ref HID_API_VERSION >= HID_API_MAKE_VERSION(0, 12, 0)
- @ingroup API
- @return 1 if all further devices will be opened in exclusive mode.
- @note Value returned by this function before calling to @ref hid_init or after @ref hid_exit
- is not reliable.
- */
- int HID_API_EXPORT_CALL hid_darwin_get_open_exclusive(void);
- /** @brief Check how the device was opened.
- Since version 0.12.0, @ref HID_API_VERSION >= HID_API_MAKE_VERSION(0, 12, 0)
- @ingroup API
- @param dev A device to get property from.
- @return 1 if the device is opened in exclusive mode, 0 - opened in non-exclusive,
- -1 - if dev is invalid.
- */
- int HID_API_EXPORT_CALL hid_darwin_is_device_open_exclusive(hid_device *dev);
- #ifdef __cplusplus
- }
- #endif
- #endif
|