root/include/uapi/linux/capi.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
   2 /* $Id: capi.h,v 1.4.6.1 2001/09/23 22:25:05 kai Exp $
   3  * 
   4  * CAPI 2.0 Interface for Linux
   5  * 
   6  * Copyright 1997 by Carsten Paeth (calle@calle.in-berlin.de)
   7  * 
   8  * This software may be used and distributed according to the terms
   9  * of the GNU General Public License, incorporated herein by reference.
  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  * CAPI_REGISTER
  24  */
  25 
  26 typedef struct capi_register_params {   /* CAPI_REGISTER */
  27         __u32 level3cnt;        /* No. of simulatneous user data connections */
  28         __u32 datablkcnt;       /* No. of buffered data messages */
  29         __u32 datablklen;       /* Size of buffered data messages */
  30 } capi_register_params;
  31 
  32 #define CAPI_REGISTER   _IOW('C',0x01,struct capi_register_params)
  33 
  34 /*
  35  * CAPI_GET_MANUFACTURER
  36  */
  37 
  38 #define CAPI_MANUFACTURER_LEN           64
  39 
  40 #define CAPI_GET_MANUFACTURER   _IOWR('C',0x06,int)     /* broken: wanted size 64 (CAPI_MANUFACTURER_LEN) */
  41 
  42 /*
  43  * CAPI_GET_VERSION
  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  * CAPI_GET_SERIAL
  57  */
  58 
  59 #define CAPI_SERIAL_LEN         8
  60 #define CAPI_GET_SERIAL         _IOWR('C',0x08,int)     /* broken: wanted size 8 (CAPI_SERIAL_LEN) */
  61 
  62 /*
  63  * CAPI_GET_PROFILE
  64  */
  65 
  66 typedef struct capi_profile {
  67         __u16 ncontroller;      /* number of installed controller */
  68         __u16 nbchannel;        /* number of B-Channels */
  69         __u32 goptions;         /* global options */
  70         __u32 support1;         /* B1 protocols support */
  71         __u32 support2;         /* B2 protocols support */
  72         __u32 support3;         /* B3 protocols support */
  73         __u32 reserved[6];      /* reserved */
  74         __u32 manu[5];          /* manufacturer specific information */
  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  * CAPI_MANUFACTURER_CMD
  86  */
  87 
  88 #define CAPI_MANUFACTURER_CMD   _IOWR('C',0x20, struct capi_manufacturer_cmd)
  89 
  90 /*
  91  * CAPI_GET_ERRCODE
  92  * capi errcode is set, * if read, write, or ioctl returns EIO,
  93  * ioctl returns errcode directly, and in arg, if != 0
  94  */
  95 
  96 #define CAPI_GET_ERRCODE        _IOR('C',0x21, __u16)
  97 
  98 /*
  99  * CAPI_INSTALLED
 100  */
 101 #define CAPI_INSTALLED          _IOR('C',0x22, __u16)
 102 
 103 
 104 /*
 105  * member contr is input for
 106  * CAPI_GET_MANUFACTURER, CAPI_GET_VERSION, CAPI_GET_SERIAL
 107  * and CAPI_GET_PROFILE
 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  * Middleware extension
 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                          /* __LINUX_CAPI_H__ */

/* [<][>][^][v][top][bottom][index][help] */