diff options
| author | Kai Germaschewski <kai@tp1.ruhr-uni-bochum.de> | 2002-05-18 01:50:05 -0500 |
|---|---|---|
| committer | Kai Germaschewski <kai@tp1.ruhr-uni-bochum.de> | 2002-05-18 01:50:05 -0500 |
| commit | dd7728a8d8c34a9329320118813cfa485bcdc3fd (patch) | |
| tree | f05aa2dc29236a5853e5778834cf90b297719ea2 /include/linux | |
| parent | fa82a1dad8713f50233150710637981776dcdf3a (diff) | |
| parent | 97b75e584c71456a9e10955346c9e045b7b53650 (diff) | |
Merge tp1.ruhr-uni-bochum.de:/home/kai/kernel/v2.5/linux-2.5
into tp1.ruhr-uni-bochum.de:/home/kai/kernel/v2.5/linux-2.5.isdn
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/kernelcapi.h | 59 |
1 files changed, 30 insertions, 29 deletions
diff --git a/include/linux/kernelcapi.h b/include/linux/kernelcapi.h index e6312ebffbc4..b982d5b77ae9 100644 --- a/include/linux/kernelcapi.h +++ b/include/linux/kernelcapi.h @@ -49,40 +49,41 @@ typedef struct kcapi_carddef { #include <linux/skbuff.h> -struct capi_interface { - __u16 (*capi_isinstalled) (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, void *param), - void *param); - __u16 (*capi_get_manufacturer) (__u32 contr, __u8 buf[CAPI_MANUFACTURER_LEN]); - __u16 (*capi_get_version) (__u32 contr, struct capi_version * verp); - __u16(*capi_get_serial) (__u32 contr, __u8 serial[CAPI_SERIAL_LEN]); - __u16(*capi_get_profile) (__u32 contr, struct capi_profile * profp); - - /* - * to init controllers, data is always in user memory +#define KCI_CONTRUP 0 /* arg: struct capi_profile */ +#define KCI_CONTRDOWN 1 /* arg: NULL */ + +struct capi20_appl { + u16 applid; + capi_register_params rparam; + void (*recv_message)(struct capi20_appl *ap, struct sk_buff *skb); + void *private; + + /* internal to kernelcapi.o */ + unsigned long nrecvctlpkt; + unsigned long nrecvdatapkt; + unsigned long nsentctlpkt; + unsigned long nsentdatapkt; + + /* ugly hack to allow for notification of added/removed + * controllers. The Right Way (tm) is known. XXX */ - int (*capi_manufacturer) (unsigned int cmd, void *data); - + void (*callback) (unsigned int cmd, __u32 contr, void *data); }; -#define KCI_CONTRUP 0 /* struct capi_profile */ -#define KCI_CONTRDOWN 1 /* NULL */ +u16 capi20_isinstalled(void); +u16 capi20_register(struct capi20_appl *ap); +u16 capi20_release(struct capi20_appl *ap); +u16 capi20_put_message(struct capi20_appl *ap, struct sk_buff *skb); +u16 capi20_get_manufacturer(u32 contr, u8 buf[CAPI_MANUFACTURER_LEN]); +u16 capi20_get_version(u32 contr, struct capi_version *verp); +u16 capi20_get_serial(u32 contr, u8 serial[CAPI_SERIAL_LEN]); +u16 capi20_get_profile(u32 contr, struct capi_profile *profp); +int capi20_manufacturer(unsigned int cmd, void *data); -struct capi_interface_user { - char name[20]; - void (*callback) (unsigned int cmd, __u32 contr, void *data); - /* internal */ - struct list_head user_list; -}; +/* temporary hack XXX */ +void capi20_set_callback(struct capi20_appl *ap, + void (*callback) (unsigned int cmd, __u32 contr, void *data)); -struct capi_interface *attach_capi_interface(struct capi_interface_user *); -int detach_capi_interface(struct capi_interface_user *); #define CAPI_NOERROR 0x0000 |
