cpp-d1064d
[cross.git] / i686-linux-gnu-4.7 / usr / include / linux / capi.h
diff --git a/i686-linux-gnu-4.7/usr/include/linux/capi.h b/i686-linux-gnu-4.7/usr/include/linux/capi.h
new file mode 100644 (file)
index 0000000..ab77e36
--- /dev/null
@@ -0,0 +1,132 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/* $Id: capi.h,v 1.4.6.1 2001/09/23 22:25:05 kai Exp $
+ * 
+ * CAPI 2.0 Interface for Linux
+ * 
+ * Copyright 1997 by Carsten Paeth (calle@calle.in-berlin.de)
+ * 
+ * This software may be used and distributed according to the terms
+ * of the GNU General Public License, incorporated herein by reference.
+ *
+ */
+
+#ifndef __LINUX_CAPI_H__
+#define __LINUX_CAPI_H__
+
+#include <linux/types.h>
+#include <linux/ioctl.h>
+#include <linux/kernelcapi.h>
+
+/*
+ * CAPI_REGISTER
+ */
+
+typedef struct capi_register_params {  /* CAPI_REGISTER */
+       __u32 level3cnt;        /* No. of simulatneous user data connections */
+       __u32 datablkcnt;       /* No. of buffered data messages */
+       __u32 datablklen;       /* Size of buffered data messages */
+} capi_register_params;
+
+#define        CAPI_REGISTER   _IOW('C',0x01,struct capi_register_params)
+
+/*
+ * CAPI_GET_MANUFACTURER
+ */
+
+#define CAPI_MANUFACTURER_LEN          64
+
+#define        CAPI_GET_MANUFACTURER   _IOWR('C',0x06,int)     /* broken: wanted size 64 (CAPI_MANUFACTURER_LEN) */
+
+/*
+ * CAPI_GET_VERSION
+ */
+
+typedef struct capi_version {
+       __u32 majorversion;
+       __u32 minorversion;
+       __u32 majormanuversion;
+       __u32 minormanuversion;
+} capi_version;
+
+#define CAPI_GET_VERSION       _IOWR('C',0x07,struct capi_version)
+
+/*
+ * CAPI_GET_SERIAL
+ */
+
+#define CAPI_SERIAL_LEN                8
+#define CAPI_GET_SERIAL                _IOWR('C',0x08,int)     /* broken: wanted size 8 (CAPI_SERIAL_LEN) */
+
+/*
+ * CAPI_GET_PROFILE
+ */
+
+typedef struct capi_profile {
+       __u16 ncontroller;      /* number of installed controller */
+       __u16 nbchannel;        /* number of B-Channels */
+       __u32 goptions;         /* global options */
+       __u32 support1;         /* B1 protocols support */
+       __u32 support2;         /* B2 protocols support */
+       __u32 support3;         /* B3 protocols support */
+       __u32 reserved[6];      /* reserved */
+       __u32 manu[5];          /* manufacturer specific information */
+} capi_profile;
+
+#define CAPI_GET_PROFILE       _IOWR('C',0x09,struct capi_profile)
+
+typedef struct capi_manufacturer_cmd {
+       unsigned long cmd;
+       void *data;
+} capi_manufacturer_cmd;
+
+/*
+ * CAPI_MANUFACTURER_CMD
+ */
+
+#define CAPI_MANUFACTURER_CMD  _IOWR('C',0x20, struct capi_manufacturer_cmd)
+
+/*
+ * CAPI_GET_ERRCODE
+ * capi errcode is set, * if read, write, or ioctl returns EIO,
+ * ioctl returns errcode directly, and in arg, if != 0
+ */
+
+#define CAPI_GET_ERRCODE       _IOR('C',0x21, __u16)
+
+/*
+ * CAPI_INSTALLED
+ */
+#define CAPI_INSTALLED         _IOR('C',0x22, __u16)
+
+
+/*
+ * member contr is input for
+ * CAPI_GET_MANUFACTURER, CAPI_GET_VERSION, CAPI_GET_SERIAL
+ * and CAPI_GET_PROFILE
+ */
+typedef union capi_ioctl_struct {
+       __u32 contr;
+       capi_register_params rparams;
+       __u8 manufacturer[CAPI_MANUFACTURER_LEN];
+       capi_version version;
+       __u8 serial[CAPI_SERIAL_LEN];
+       capi_profile profile;
+       capi_manufacturer_cmd cmd;
+       __u16 errcode;
+} capi_ioctl_struct;
+
+/*
+ * Middleware extension
+ */
+
+#define CAPIFLAG_HIGHJACKING   0x0001
+
+#define CAPI_GET_FLAGS         _IOR('C',0x23, unsigned)
+#define CAPI_SET_FLAGS         _IOR('C',0x24, unsigned)
+#define CAPI_CLR_FLAGS         _IOR('C',0x25, unsigned)
+
+#define CAPI_NCCI_OPENCOUNT    _IOR('C',0x26, unsigned)
+
+#define CAPI_NCCI_GETUNIT      _IOR('C',0x27, unsigned)
+
+#endif                         /* __LINUX_CAPI_H__ */