blob: 230f1fc9ea9402b095a39cb2e10d507c3c8ebae1 [file] [log] [blame]
// Copyright 2016 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#pragma once
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <zircon/device/ioctl.h>
#include <zircon/device/ioctl-wrapper.h>
#include <zircon/types.h>
// Returns a socket that can be used to send input reports and receive output reports.
#define IOCTL_HIDCTL_CONFIG \
IOCTL(IOCTL_KIND_GET_HANDLE, IOCTL_FAMILY_HID, 0)
typedef struct hid_ioctl_config {
uint8_t dev_num;
bool boot_device;
uint8_t dev_class;
size_t rpt_desc_len;
uint8_t rpt_desc[];
} hid_ioctl_config_t;
// ssize_t ioctl_hidctl_config(int fd, const hid_ioctl_config_t* in, size_t in_len, zx_handle_t* out);
IOCTL_WRAPPER_VARIN_OUT(ioctl_hidctl_config, IOCTL_HIDCTL_CONFIG, hid_ioctl_config_t, zx_handle_t);