linux/drivers/hid/hid-hyperv.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 *  Copyright (c) 2009, Citrix Systems, Inc.
 *  Copyright (c) 2010, Microsoft Corporation.
 *  Copyright (c) 2011, Novell Inc.
 */
#include <linux/init.h>
#include <linux/module.h>
#include <linux/device.h>
#include <linux/completion.h>
#include <linux/input.h>
#include <linux/hid.h>
#include <linux/hiddev.h>
#include <linux/hyperv.h>


struct hv_input_dev_info {};

/*
 * Current version
 *
 * History:
 * Beta, RC < 2008/1/22        1,0
 * RC > 2008/1/22              2,0
 */
#define SYNTHHID_INPUT_VERSION_MAJOR
#define SYNTHHID_INPUT_VERSION_MINOR
#define SYNTHHID_INPUT_VERSION


#pragma pack(push, 1)
/*
 * Message types in the synthetic input protocol
 */
enum synthhid_msg_type {};

/*
 * Basic message structures.
 */
struct synthhid_msg_hdr {};

synthhid_version;

/*
 * Protocol messages
 */
struct synthhid_protocol_request {};

struct synthhid_protocol_response {};

struct synthhid_device_info {};

struct synthhid_device_info_ack {};

struct synthhid_input_report {};

#pragma pack(pop)

#define INPUTVSC_SEND_RING_BUFFER_SIZE
#define INPUTVSC_RECV_RING_BUFFER_SIZE


enum pipe_prot_msg_type {};


struct pipe_prt_msg {};

struct  mousevsc_prt_msg {};

/*
 * Represents an mousevsc device
 */
struct mousevsc_dev {};


static struct mousevsc_dev *mousevsc_alloc_device(struct hv_device *device)
{}

static void mousevsc_free_device(struct mousevsc_dev *device)
{}

static void mousevsc_on_receive_device_info(struct mousevsc_dev *input_device,
				struct synthhid_device_info *device_info)
{}

static void mousevsc_on_receive(struct hv_device *device,
				struct vmpacket_descriptor *packet)
{}

static void mousevsc_on_channel_callback(void *context)
{}

static int mousevsc_connect_to_vsp(struct hv_device *device)
{}

static int mousevsc_hid_parse(struct hid_device *hid)
{}

static int mousevsc_hid_open(struct hid_device *hid)
{}

static int mousevsc_hid_start(struct hid_device *hid)
{}

static void mousevsc_hid_close(struct hid_device *hid)
{}

static void mousevsc_hid_stop(struct hid_device *hid)
{}

static int mousevsc_hid_raw_request(struct hid_device *hid,
				    unsigned char report_num,
				    __u8 *buf, size_t len,
				    unsigned char rtype,
				    int reqtype)
{}

static const struct hid_ll_driver mousevsc_ll_driver =;

static struct hid_driver mousevsc_hid_driver;

static int mousevsc_probe(struct hv_device *device,
			const struct hv_vmbus_device_id *dev_id)
{}


static void mousevsc_remove(struct hv_device *dev)
{}

static int mousevsc_suspend(struct hv_device *dev)
{}

static int mousevsc_resume(struct hv_device *dev)
{}

static const struct hv_vmbus_device_id id_table[] =;

MODULE_DEVICE_TABLE(vmbus, id_table);

static struct  hv_driver mousevsc_drv =;

static int __init mousevsc_init(void)
{}

static void __exit mousevsc_exit(void)
{}

MODULE_LICENSE();
MODULE_DESCRIPTION();

module_init();
module_exit(mousevsc_exit);