1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 
  11 
  12 
  13 #ifndef __LINUX_CAPI_H__
  14 #define __LINUX_CAPI_H__
  15 
  16 #include <linux/types.h>
  17 #include <linux/ioctl.h>
  18 #ifndef __KERNEL__
  19 #include <linux/kernelcapi.h>
  20 #endif
  21 
  22 
  23 
  24 
  25 
  26 typedef struct capi_register_params {   
  27         __u32 level3cnt;        
  28         __u32 datablkcnt;       
  29         __u32 datablklen;       
  30 } capi_register_params;
  31 
  32 #define CAPI_REGISTER   _IOW('C',0x01,struct capi_register_params)
  33 
  34 
  35 
  36 
  37 
  38 #define CAPI_MANUFACTURER_LEN           64
  39 
  40 #define CAPI_GET_MANUFACTURER   _IOWR('C',0x06,int)     
  41 
  42 
  43 
  44 
  45 
  46 typedef struct capi_version {
  47         __u32 majorversion;
  48         __u32 minorversion;
  49         __u32 majormanuversion;
  50         __u32 minormanuversion;
  51 } capi_version;
  52 
  53 #define CAPI_GET_VERSION        _IOWR('C',0x07,struct capi_version)
  54 
  55 
  56 
  57 
  58 
  59 #define CAPI_SERIAL_LEN         8
  60 #define CAPI_GET_SERIAL         _IOWR('C',0x08,int)     
  61 
  62 
  63 
  64 
  65 
  66 typedef struct capi_profile {
  67         __u16 ncontroller;      
  68         __u16 nbchannel;        
  69         __u32 goptions;         
  70         __u32 support1;         
  71         __u32 support2;         
  72         __u32 support3;         
  73         __u32 reserved[6];      
  74         __u32 manu[5];          
  75 } capi_profile;
  76 
  77 #define CAPI_GET_PROFILE        _IOWR('C',0x09,struct capi_profile)
  78 
  79 typedef struct capi_manufacturer_cmd {
  80         unsigned long cmd;
  81         void __user *data;
  82 } capi_manufacturer_cmd;
  83 
  84 
  85 
  86 
  87 
  88 #define CAPI_MANUFACTURER_CMD   _IOWR('C',0x20, struct capi_manufacturer_cmd)
  89 
  90 
  91 
  92 
  93 
  94 
  95 
  96 #define CAPI_GET_ERRCODE        _IOR('C',0x21, __u16)
  97 
  98 
  99 
 100 
 101 #define CAPI_INSTALLED          _IOR('C',0x22, __u16)
 102 
 103 
 104 
 105 
 106 
 107 
 108 
 109 typedef union capi_ioctl_struct {
 110         __u32 contr;
 111         capi_register_params rparams;
 112         __u8 manufacturer[CAPI_MANUFACTURER_LEN];
 113         capi_version version;
 114         __u8 serial[CAPI_SERIAL_LEN];
 115         capi_profile profile;
 116         capi_manufacturer_cmd cmd;
 117         __u16 errcode;
 118 } capi_ioctl_struct;
 119 
 120 
 121 
 122 
 123 
 124 #define CAPIFLAG_HIGHJACKING    0x0001
 125 
 126 #define CAPI_GET_FLAGS          _IOR('C',0x23, unsigned)
 127 #define CAPI_SET_FLAGS          _IOR('C',0x24, unsigned)
 128 #define CAPI_CLR_FLAGS          _IOR('C',0x25, unsigned)
 129 
 130 #define CAPI_NCCI_OPENCOUNT     _IOR('C',0x26, unsigned)
 131 
 132 #define CAPI_NCCI_GETUNIT       _IOR('C',0x27, unsigned)
 133 
 134 #endif