blob: 51864bbf479c1829f92173bb6ebb9b2be586d1dc [file] [log] [blame]
/*
* Google LWIS IOCTL Handler
*
* Copyright (c) 2018 Google, LLC
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#ifndef LWIS_IOCTL_H_
#define LWIS_IOCTL_H_
#include "lwis_device.h"
/*
* lwis_ioctl_handler: Handle all IOCTL commands via the file descriptor.
*/
int lwis_ioctl_handler(struct lwis_client *lwis_client, unsigned int type, unsigned long param);
/*
* lwis_ioctl_util_synchronous_process_io_entries: Synchronous process lwis_io_entry
*/
int lwis_ioctl_util_synchronous_process_io_entries(struct lwis_device *lwis_dev, int num_io_entries,
struct lwis_io_entry *io_entries,
struct lwis_io_entry *user_msg);
/*
* lwis_ioctl_util_construct_io_entry: Allocate kernel lwis_io_entry from user space input
*/
int lwis_ioctl_util_construct_io_entry(struct lwis_client *client,
struct lwis_io_entry *user_entries, size_t num_io_entries,
struct lwis_io_entry **io_entries);
#endif /* LWIS_IOCTL_H_ */