capi.h revision 11cd02dfb91661c65134cac258cf5924270e9d2
165772ca7d7b61b111e75fb0f66f43966f0794bbdMark Salyzyn/**************************************************************************** 2dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project **************************************************************************** 3c0cf90d1fb6aca1e6ae6c06d4d6231dd4d47d3cbMark Salyzyn *** 4dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project *** This header was automatically generated from a Linux kernel header 5c0cf90d1fb6aca1e6ae6c06d4d6231dd4d47d3cbMark Salyzyn *** of the same name, to make information necessary for userspace to 6dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project *** call into the kernel available to libc. It contains only constants, 7c0cf90d1fb6aca1e6ae6c06d4d6231dd4d47d3cbMark Salyzyn *** structures, and macros generated from the original header, and thus, 8dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project *** contains no copyrightable information. 9b149e245c8ccd90b52227f3d07ab572080afac53Mark Salyzyn *** 10c0cf90d1fb6aca1e6ae6c06d4d6231dd4d47d3cbMark Salyzyn **************************************************************************** 11c0cf90d1fb6aca1e6ae6c06d4d6231dd4d47d3cbMark Salyzyn ****************************************************************************/ 12b149e245c8ccd90b52227f3d07ab572080afac53Mark Salyzyn#ifndef __LINUX_CAPI_H__ 13dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#define __LINUX_CAPI_H__ 14dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project 1565772ca7d7b61b111e75fb0f66f43966f0794bbdMark Salyzyn#include <asm/types.h> 168c943b6dc8268c25efddedce99b8d42306a323bdMark Salyzyn#include <linux/ioctl.h> 178c943b6dc8268c25efddedce99b8d42306a323bdMark Salyzyn#include <linux/kernelcapi.h> 18558282bfe4650f7b249f5ba0a24d3a400d67b78bMark Salyzyn 19558282bfe4650f7b249f5ba0a24d3a400d67b78bMark Salyzyntypedef struct capi_register_params { 20558282bfe4650f7b249f5ba0a24d3a400d67b78bMark Salyzyn __u32 level3cnt; 21558282bfe4650f7b249f5ba0a24d3a400d67b78bMark Salyzyn __u32 datablkcnt; 22558282bfe4650f7b249f5ba0a24d3a400d67b78bMark Salyzyn __u32 datablklen; 23558282bfe4650f7b249f5ba0a24d3a400d67b78bMark Salyzyn} capi_register_params; 24558282bfe4650f7b249f5ba0a24d3a400d67b78bMark Salyzyn 25558282bfe4650f7b249f5ba0a24d3a400d67b78bMark Salyzyn#define CAPI_REGISTER _IOW('C',0x01,struct capi_register_params) 26558282bfe4650f7b249f5ba0a24d3a400d67b78bMark Salyzyn 27558282bfe4650f7b249f5ba0a24d3a400d67b78bMark Salyzyn#define CAPI_MANUFACTURER_LEN 64 28c0cf90d1fb6aca1e6ae6c06d4d6231dd4d47d3cbMark Salyzyn 29e9ade17418c2e8390d72ee694ab5c097ec765266Mark Salyzyn#define CAPI_GET_MANUFACTURER _IOWR('C',0x06,int) 30c0cf90d1fb6aca1e6ae6c06d4d6231dd4d47d3cbMark Salyzyn 31c0cf90d1fb6aca1e6ae6c06d4d6231dd4d47d3cbMark Salyzyntypedef struct capi_version { 32eb40816fb8e6a53456b4b3b57414d94d37a09f93Mark Salyzyn __u32 majorversion; 33c0cf90d1fb6aca1e6ae6c06d4d6231dd4d47d3cbMark Salyzyn __u32 minorversion; 34c0cf90d1fb6aca1e6ae6c06d4d6231dd4d47d3cbMark Salyzyn __u32 majormanuversion; 35c0cf90d1fb6aca1e6ae6c06d4d6231dd4d47d3cbMark Salyzyn __u32 minormanuversion; 36c0cf90d1fb6aca1e6ae6c06d4d6231dd4d47d3cbMark Salyzyn} capi_version; 37c0cf90d1fb6aca1e6ae6c06d4d6231dd4d47d3cbMark Salyzyn 38c0cf90d1fb6aca1e6ae6c06d4d6231dd4d47d3cbMark Salyzyn#define CAPI_GET_VERSION _IOWR('C',0x07,struct capi_version) 398c943b6dc8268c25efddedce99b8d42306a323bdMark Salyzyn 405b89b49fc9793243b0ff928132a0052ac0b2d9c3Mark Salyzyn#define CAPI_SERIAL_LEN 8 418c943b6dc8268c25efddedce99b8d42306a323bdMark Salyzyn#define CAPI_GET_SERIAL _IOWR('C',0x08,int) 426de62e52c7b01dd416049225d122237d3e07da10Mark Salyzyn 438c943b6dc8268c25efddedce99b8d42306a323bdMark Salyzyntypedef struct capi_profile { 448c943b6dc8268c25efddedce99b8d42306a323bdMark Salyzyn __u16 ncontroller; 458c943b6dc8268c25efddedce99b8d42306a323bdMark Salyzyn __u16 nbchannel; 468c943b6dc8268c25efddedce99b8d42306a323bdMark Salyzyn __u32 goptions; 478c943b6dc8268c25efddedce99b8d42306a323bdMark Salyzyn __u32 support1; 488c943b6dc8268c25efddedce99b8d42306a323bdMark Salyzyn __u32 support2; 4965772ca7d7b61b111e75fb0f66f43966f0794bbdMark Salyzyn __u32 support3; 50 __u32 reserved[6]; 51 __u32 manu[5]; 52} capi_profile; 53 54#define CAPI_GET_PROFILE _IOWR('C',0x09,struct capi_profile) 55 56typedef struct capi_manufacturer_cmd { 57 unsigned long cmd; 58 void __user *data; 59} capi_manufacturer_cmd; 60 61#define CAPI_MANUFACTURER_CMD _IOWR('C',0x20, struct capi_manufacturer_cmd) 62 63#define CAPI_GET_ERRCODE _IOR('C',0x21, __u16) 64 65#define CAPI_INSTALLED _IOR('C',0x22, __u16) 66 67typedef union capi_ioctl_struct { 68 __u32 contr; 69 capi_register_params rparams; 70 __u8 manufacturer[CAPI_MANUFACTURER_LEN]; 71 capi_version version; 72 __u8 serial[CAPI_SERIAL_LEN]; 73 capi_profile profile; 74 capi_manufacturer_cmd cmd; 75 __u16 errcode; 76} capi_ioctl_struct; 77 78#define CAPIFLAG_HIGHJACKING 0x0001 79 80#define CAPI_GET_FLAGS _IOR('C',0x23, unsigned) 81#define CAPI_SET_FLAGS _IOR('C',0x24, unsigned) 82#define CAPI_CLR_FLAGS _IOR('C',0x25, unsigned) 83 84#define CAPI_NCCI_OPENCOUNT _IOR('C',0x26, unsigned) 85 86#define CAPI_NCCI_GETUNIT _IOR('C',0x27, unsigned) 87 88#endif 89