blob: de2a8390541524413aa6d573e2dd3df3d84a6979 [file] [log] [blame]
Ben Cheng655a7c02013-10-16 16:09:24 -07001/****************************************************************************
2 ****************************************************************************
3 ***
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
9 ***
10 *** To edit the content of this header, modify the corresponding
11 *** source file (e.g. under external/kernel-headers/original/) then
12 *** run bionic/libc/kernel/tools/update_all.py
13 ***
14 *** Any manual change here will be lost the next time this script will
15 *** be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef __LINUX_CAPI_H__
20#define __LINUX_CAPI_H__
21#include <linux/types.h>
22#include <linux/ioctl.h>
Ben Cheng655a7c02013-10-16 16:09:24 -070023#include <linux/kernelcapi.h>
24typedef struct capi_register_params {
Tao Baod7db5942015-01-28 10:07:51 -080025 __u32 level3cnt;
26 __u32 datablkcnt;
Tao Baod7db5942015-01-28 10:07:51 -080027 __u32 datablklen;
Ben Cheng655a7c02013-10-16 16:09:24 -070028} capi_register_params;
Tao Baod7db5942015-01-28 10:07:51 -080029#define CAPI_REGISTER _IOW('C', 0x01, struct capi_register_params)
Ben Cheng655a7c02013-10-16 16:09:24 -070030#define CAPI_MANUFACTURER_LEN 64
Tao Baod7db5942015-01-28 10:07:51 -080031#define CAPI_GET_MANUFACTURER _IOWR('C', 0x06, int)
Ben Cheng655a7c02013-10-16 16:09:24 -070032typedef struct capi_version {
Tao Baod7db5942015-01-28 10:07:51 -080033 __u32 majorversion;
34 __u32 minorversion;
Tao Baod7db5942015-01-28 10:07:51 -080035 __u32 majormanuversion;
36 __u32 minormanuversion;
Ben Cheng655a7c02013-10-16 16:09:24 -070037} capi_version;
Tao Baod7db5942015-01-28 10:07:51 -080038#define CAPI_GET_VERSION _IOWR('C', 0x07, struct capi_version)
Ben Cheng655a7c02013-10-16 16:09:24 -070039#define CAPI_SERIAL_LEN 8
Tao Baod7db5942015-01-28 10:07:51 -080040#define CAPI_GET_SERIAL _IOWR('C', 0x08, int)
Ben Cheng655a7c02013-10-16 16:09:24 -070041typedef struct capi_profile {
Tao Baod7db5942015-01-28 10:07:51 -080042 __u16 ncontroller;
Tao Baod7db5942015-01-28 10:07:51 -080043 __u16 nbchannel;
44 __u32 goptions;
45 __u32 support1;
46 __u32 support2;
Tao Baod7db5942015-01-28 10:07:51 -080047 __u32 support3;
48 __u32 reserved[6];
49 __u32 manu[5];
Ben Cheng655a7c02013-10-16 16:09:24 -070050} capi_profile;
Tao Baod7db5942015-01-28 10:07:51 -080051#define CAPI_GET_PROFILE _IOWR('C', 0x09, struct capi_profile)
Ben Cheng655a7c02013-10-16 16:09:24 -070052typedef struct capi_manufacturer_cmd {
Tao Baod7db5942015-01-28 10:07:51 -080053 unsigned long cmd;
54 void __user * data;
Ben Cheng655a7c02013-10-16 16:09:24 -070055} capi_manufacturer_cmd;
Tao Baod7db5942015-01-28 10:07:51 -080056#define CAPI_MANUFACTURER_CMD _IOWR('C', 0x20, struct capi_manufacturer_cmd)
57#define CAPI_GET_ERRCODE _IOR('C', 0x21, __u16)
58#define CAPI_INSTALLED _IOR('C', 0x22, __u16)
Ben Cheng655a7c02013-10-16 16:09:24 -070059typedef union capi_ioctl_struct {
Tao Baod7db5942015-01-28 10:07:51 -080060 __u32 contr;
61 capi_register_params rparams;
62 __u8 manufacturer[CAPI_MANUFACTURER_LEN];
Tao Baod7db5942015-01-28 10:07:51 -080063 capi_version version;
64 __u8 serial[CAPI_SERIAL_LEN];
65 capi_profile profile;
66 capi_manufacturer_cmd cmd;
Tao Baod7db5942015-01-28 10:07:51 -080067 __u16 errcode;
Ben Cheng655a7c02013-10-16 16:09:24 -070068} capi_ioctl_struct;
69#define CAPIFLAG_HIGHJACKING 0x0001
Tao Baod7db5942015-01-28 10:07:51 -080070#define CAPI_GET_FLAGS _IOR('C', 0x23, unsigned)
Tao Baod7db5942015-01-28 10:07:51 -080071#define CAPI_SET_FLAGS _IOR('C', 0x24, unsigned)
72#define CAPI_CLR_FLAGS _IOR('C', 0x25, unsigned)
73#define CAPI_NCCI_OPENCOUNT _IOR('C', 0x26, unsigned)
74#define CAPI_NCCI_GETUNIT _IOR('C', 0x27, unsigned)
Ben Cheng655a7c02013-10-16 16:09:24 -070075#endif