OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [uclinux/] [uClinux-2.0.x/] [include/] [linux/] [kernelcapi.h] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 199 simons
/*
2
 * $Id: kernelcapi.h,v 1.1.1.1 2001-09-10 07:44:44 simons Exp $
3
 *
4
 * Kernel CAPI 2.0 Interface for Linux
5
 *
6
 * (c) Copyright 1997 by Carsten Paeth (calle@calle.in-berlin.de)
7
 *
8
 * $Log: not supported by cvs2svn $
9
 * Revision 1.1.1.1  2001/07/02 17:58:00  simons
10
 * Initial revision
11
 *
12
 * Revision 1.1  1997/03/04 21:27:33  calle
13
 * First version in isdn4linux
14
 *
15
 * Revision 2.2  1997/02/12 09:31:39  calle
16
 * new version
17
 *
18
 * Revision 1.1  1997/01/31 10:32:20  calle
19
 * Initial revision
20
 *
21
 *
22
 */
23
#ifndef __KERNEL_CAPI_H__
24
#define __KERNEL_CAPI_H__
25
 
26
#define CAPI_MAXAPPL    20      /*
27
                                   * maximum number of applications
28
                                 */
29
#define CAPI_MAXCONTR   4       /*
30
                                   * maximum number of controller
31
                                 */
32
#define CAPI_MAXDATAWINDOW      8
33
 
34
#ifdef __KERNEL__
35
 
36
struct capi_interface {
37
        int (*capi_installed) (void);
38
 
39
         __u16(*capi_register) (capi_register_params * rparam, __u16 * applidp);
40
         __u16(*capi_release) (__u16 applid);
41
         __u16(*capi_put_message) (__u16 applid, struct sk_buff * msg);
42
         __u16(*capi_get_message) (__u16 applid, struct sk_buff ** msgp);
43
         __u16(*capi_set_signal) (__u16 applid,
44
                              void (*signal) (__u16 applid, __u32 param),
45
                                  __u32 param);
46
         __u16(*capi_get_manufacturer) (__u16 contr, __u8 buf[CAPI_MANUFACTURER_LEN]);
47
         __u16(*capi_get_version) (__u16 contr, struct capi_version * verp);
48
         __u16(*capi_get_serial) (__u16 contr, __u8 serial[CAPI_SERIAL_LEN]);
49
         __u16(*capi_get_profile) (__u16 contr, struct capi_profile * profp);
50
 
51
        /*
52
         * to init controllers, data is always in user memory
53
         */
54
        int (*capi_manufacturer) (unsigned int cmd, void *data);
55
 
56
};
57
 
58
#define KCI_CONTRUP     0
59
#define KCI_CONTRDOWN   1
60
 
61
struct capi_interface_user {
62
        char name[20];
63
        void (*callback) (unsigned int cmd, __u16 contr, void *data);
64
        struct capi_interface_user *next;
65
};
66
 
67
struct capi_interface *attach_capi_interface(struct capi_interface_user *);
68
int detach_capi_interface(struct capi_interface_user *);
69
 
70
 
71
#define CAPI_NOERROR                      0x0000
72
 
73
#define CAPI_TOOMANYAPPLS                 0x1001
74
#define CAPI_LOGBLKSIZETOSMALL            0x1002
75
#define CAPI_BUFFEXECEEDS64K              0x1003
76
#define CAPI_MSGBUFSIZETOOSMALL           0x1004
77
#define CAPI_ANZLOGCONNNOTSUPPORTED       0x1005
78
#define CAPI_REGRESERVED                  0x1006
79
#define CAPI_REGBUSY                      0x1007
80
#define CAPI_REGOSRESOURCEERR             0x1008
81
#define CAPI_REGNOTINSTALLED              0x1009
82
#define CAPI_REGCTRLERNOTSUPPORTEXTEQUIP  0x100a
83
#define CAPI_REGCTRLERONLYSUPPORTEXTEQUIP 0x100b
84
 
85
#define CAPI_ILLAPPNR                     0x1101
86
#define CAPI_ILLCMDORSUBCMDORMSGTOSMALL   0x1102
87
#define CAPI_SENDQUEUEFULL                0x1103
88
#define CAPI_RECEIVEQUEUEEMPTY            0x1104
89
#define CAPI_RECEIVEOVERFLOW              0x1105
90
#define CAPI_UNKNOWNNOTPAR                0x1106
91
#define CAPI_MSGBUSY                      0x1107
92
#define CAPI_MSGOSRESOURCEERR             0x1108
93
#define CAPI_MSGNOTINSTALLED              0x1109
94
#define CAPI_MSGCTRLERNOTSUPPORTEXTEQUIP  0x110a
95
#define CAPI_MSGCTRLERONLYSUPPORTEXTEQUIP 0x110b
96
 
97
#endif                          /* __KERNEL__ */
98
 
99
#endif                          /* __KERNEL_CAPI_H__ */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.