1 /* 2 * Copyright (C) 2010 Google, Inc. 3 * Author: Dima Zavin <dima (at) android.com> 4 * 5 * This software is licensed under the terms of the GNU General Public 6 * License version 2, as published by the Free Software Foundation, and 7 * may be copied, distributed, and modified under those terms. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 */ 15 16 #ifndef __LINUX_TEGRA_AVP_H 17 #define __LINUX_TEGRA_AVP_H 18 19 #include <linux/ioctl.h> 20 #include <linux/types.h> 21 22 #define TEGRA_AVP_LIB_MAX_NAME 32 23 #define TEGRA_AVP_LIB_MAX_ARGS 220 /* DO NOT CHANGE THIS! */ 24 25 struct tegra_avp_lib { 26 char name[TEGRA_AVP_LIB_MAX_NAME]; 27 void __user *args; 28 size_t args_len; 29 int greedy; 30 unsigned long handle; 31 }; 32 33 #define TEGRA_AVP_IOCTL_MAGIC 'r' 34 35 #define TEGRA_AVP_IOCTL_LOAD_LIB _IOWR(TEGRA_AVP_IOCTL_MAGIC, 0x40, struct tegra_avp_lib) 36 #define TEGRA_AVP_IOCTL_UNLOAD_LIB _IOW(TEGRA_AVP_IOCTL_MAGIC, 0x41, unsigned long) 37 38 #define TEGRA_AVP_IOCTL_MIN_NR _IOC_NR(TEGRA_AVP_IOCTL_LOAD_LIB) 39 #define TEGRA_AVP_IOCTL_MAX_NR _IOC_NR(TEGRA_AVP_IOCTL_UNLOAD_LIB) 40 41 #endif 42