summaryrefslogtreecommitdiff
path: root/pfinet/linux-src/include/linux/kernelcapi.h
diff options
context:
space:
mode:
Diffstat (limited to 'pfinet/linux-src/include/linux/kernelcapi.h')
-rw-r--r--pfinet/linux-src/include/linux/kernelcapi.h136
1 files changed, 136 insertions, 0 deletions
diff --git a/pfinet/linux-src/include/linux/kernelcapi.h b/pfinet/linux-src/include/linux/kernelcapi.h
new file mode 100644
index 00000000..7b212be0
--- /dev/null
+++ b/pfinet/linux-src/include/linux/kernelcapi.h
@@ -0,0 +1,136 @@
+/*
+ * $Id: kernelcapi.h,v 1.3 1999/07/01 15:26:56 calle Exp $
+ *
+ * Kernel CAPI 2.0 Interface for Linux
+ *
+ * (c) Copyright 1997 by Carsten Paeth (calle@calle.in-berlin.de)
+ *
+ * $Log: kernelcapi.h,v $
+ * Revision 1.3 1999/07/01 15:26:56 calle
+ * complete new version (I love it):
+ * + new hardware independed "capi_driver" interface that will make it easy to:
+ * - support other controllers with CAPI-2.0 (i.e. USB Controller)
+ * - write a CAPI-2.0 for the passive cards
+ * - support serial link CAPI-2.0 boxes.
+ * + wrote "capi_driver" for all supported cards.
+ * + "capi_driver" (supported cards) now have to be configured with
+ * make menuconfig, in the past all supported cards where included
+ * at once.
+ * + new and better informations in /proc/capi/
+ * + new ioctl to switch trace of capi messages per controller
+ * using "avmcapictrl trace [contr] on|off|...."
+ * + complete testcircle with all supported cards and also the
+ * PCMCIA cards (now patch for pcmcia-cs-3.0.13 needed) done.
+ *
+ * Revision 1.2 1999/06/21 15:24:26 calle
+ * extend information in /proc.
+ *
+ * Revision 1.1 1997/03/04 21:27:33 calle
+ * First version in isdn4linux
+ *
+ * Revision 2.2 1997/02/12 09:31:39 calle
+ * new version
+ *
+ * Revision 1.1 1997/01/31 10:32:20 calle
+ * Initial revision
+ *
+ *
+ */
+#ifndef __KERNELCAPI_H__
+#define __KERNELCAPI_H__
+
+#define CAPI_MAXAPPL 20 /*
+ * maximum number of applications
+ */
+#define CAPI_MAXCONTR 10 /*
+ * maximum number of controller
+ */
+#define CAPI_MAXDATAWINDOW 8
+
+
+typedef struct kcapi_flagdef {
+ int contr;
+ int flag;
+} kcapi_flagdef;
+
+/* new ioctls >= 10 */
+#define KCAPI_CMD_TRACE 10
+
+/*
+ * flag > 2 => trace also data
+ * flag & 1 => show trace
+ */
+#define KCAPI_TRACE_OFF 0
+#define KCAPI_TRACE_SHORT_NO_DATA 1
+#define KCAPI_TRACE_FULL_NO_DATA 2
+#define KCAPI_TRACE_SHORT 3
+#define KCAPI_TRACE_FULL 4
+
+
+#ifdef __KERNEL__
+
+struct capi_interface {
+ int (*capi_installed) (void);
+
+ __u16(*capi_register) (capi_register_params * rparam, __u16 * applidp);
+ __u16(*capi_release) (__u16 applid);
+ __u16(*capi_put_message) (__u16 applid, struct sk_buff * msg);
+ __u16(*capi_get_message) (__u16 applid, struct sk_buff ** msgp);
+ __u16(*capi_set_signal) (__u16 applid,
+ void (*signal) (__u16 applid, __u32 param),
+ __u32 param);
+ __u16(*capi_get_manufacturer) (__u16 contr, __u8 buf[CAPI_MANUFACTURER_LEN]);
+ __u16(*capi_get_version) (__u16 contr, struct capi_version * verp);
+ __u16(*capi_get_serial) (__u16 contr, __u8 serial[CAPI_SERIAL_LEN]);
+ __u16(*capi_get_profile) (__u16 contr, struct capi_profile * profp);
+
+ /*
+ * to init controllers, data is always in user memory
+ */
+ int (*capi_manufacturer) (unsigned int cmd, void *data);
+
+};
+
+#define KCI_CONTRUP 0
+#define KCI_CONTRDOWN 1
+
+struct capi_interface_user {
+ char name[20];
+ void (*callback) (unsigned int cmd, __u16 contr, void *data);
+ /* internal */
+ struct capi_interface_user *next;
+};
+
+struct capi_interface *attach_capi_interface(struct capi_interface_user *);
+int detach_capi_interface(struct capi_interface_user *);
+
+
+#define CAPI_NOERROR 0x0000
+
+#define CAPI_TOOMANYAPPLS 0x1001
+#define CAPI_LOGBLKSIZETOSMALL 0x1002
+#define CAPI_BUFFEXECEEDS64K 0x1003
+#define CAPI_MSGBUFSIZETOOSMALL 0x1004
+#define CAPI_ANZLOGCONNNOTSUPPORTED 0x1005
+#define CAPI_REGRESERVED 0x1006
+#define CAPI_REGBUSY 0x1007
+#define CAPI_REGOSRESOURCEERR 0x1008
+#define CAPI_REGNOTINSTALLED 0x1009
+#define CAPI_REGCTRLERNOTSUPPORTEXTEQUIP 0x100a
+#define CAPI_REGCTRLERONLYSUPPORTEXTEQUIP 0x100b
+
+#define CAPI_ILLAPPNR 0x1101
+#define CAPI_ILLCMDORSUBCMDORMSGTOSMALL 0x1102
+#define CAPI_SENDQUEUEFULL 0x1103
+#define CAPI_RECEIVEQUEUEEMPTY 0x1104
+#define CAPI_RECEIVEOVERFLOW 0x1105
+#define CAPI_UNKNOWNNOTPAR 0x1106
+#define CAPI_MSGBUSY 0x1107
+#define CAPI_MSGOSRESOURCEERR 0x1108
+#define CAPI_MSGNOTINSTALLED 0x1109
+#define CAPI_MSGCTRLERNOTSUPPORTEXTEQUIP 0x110a
+#define CAPI_MSGCTRLERONLYSUPPORTEXTEQUIP 0x110b
+
+#endif /* __KERNEL__ */
+
+#endif /* __KERNELCAPI_H__ */