111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/**************************************************************************** 211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert **************************************************************************** 311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** 411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** This header was automatically generated from a Linux kernel header 511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** of the same name, to make information necessary for userspace to 611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** call into the kernel available to libc. It contains only constants, 711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** structures, and macros generated from the original header, and thus, 811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** contains no copyrightable information. 911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** 1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert **************************************************************************** 1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************/ 1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef __LINUX_CAPI_H__ 1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define __LINUX_CAPI_H__ 1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <asm/types.h> 1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/ioctl.h> 1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/kernelcapi.h> 1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 1911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct capi_register_params { 2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 level3cnt; 2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 datablkcnt; 2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 datablklen; 2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} capi_register_params; 2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CAPI_REGISTER _IOW('C',0x01,struct capi_register_params) 2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CAPI_MANUFACTURER_LEN 64 2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CAPI_GET_MANUFACTURER _IOWR('C',0x06,int) 3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 3111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct capi_version { 3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 majorversion; 3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 minorversion; 3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 majormanuversion; 3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 minormanuversion; 3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} capi_version; 3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CAPI_GET_VERSION _IOWR('C',0x07,struct capi_version) 3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CAPI_SERIAL_LEN 8 4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CAPI_GET_SERIAL _IOWR('C',0x08,int) 4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 4311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct capi_profile { 4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 ncontroller; 4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 nbchannel; 4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 goptions; 4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 support1; 4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 support2; 4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 support3; 5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 reserved[6]; 5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 manu[5]; 5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} capi_profile; 5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CAPI_GET_PROFILE _IOWR('C',0x09,struct capi_profile) 5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 5611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct capi_manufacturer_cmd { 5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long cmd; 5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert void __user *data; 5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} capi_manufacturer_cmd; 6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CAPI_MANUFACTURER_CMD _IOWR('C',0x20, struct capi_manufacturer_cmd) 6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CAPI_GET_ERRCODE _IOR('C',0x21, __u16) 6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CAPI_INSTALLED _IOR('C',0x22, __u16) 6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 6711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef union capi_ioctl_struct { 6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 contr; 6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert capi_register_params rparams; 7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 manufacturer[CAPI_MANUFACTURER_LEN]; 7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert capi_version version; 7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 serial[CAPI_SERIAL_LEN]; 7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert capi_profile profile; 7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert capi_manufacturer_cmd cmd; 7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 errcode; 7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} capi_ioctl_struct; 7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CAPIFLAG_HIGHJACKING 0x0001 7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CAPI_GET_FLAGS _IOR('C',0x23, unsigned) 8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CAPI_SET_FLAGS _IOR('C',0x24, unsigned) 8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CAPI_CLR_FLAGS _IOR('C',0x25, unsigned) 8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CAPI_NCCI_OPENCOUNT _IOR('C',0x26, unsigned) 8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CAPI_NCCI_GETUNIT _IOR('C',0x27, unsigned) 8711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 89