~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/linux/isdn/capilli.h

Version: ~ [ linux-5.9-rc6 ] ~ [ linux-5.8.10 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.66 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.146 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.198 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.236 ] ~ [ linux-4.8.17 ] ~ [ linux-4.7.10 ] ~ [ linux-4.6.7 ] ~ [ linux-4.5.7 ] ~ [ linux-4.4.236 ] ~ [ linux-4.3.6 ] ~ [ linux-4.2.8 ] ~ [ linux-4.1.52 ] ~ [ linux-4.0.9 ] ~ [ linux-3.19.8 ] ~ [ linux-3.18.140 ] ~ [ linux-3.17.8 ] ~ [ linux-3.16.85 ] ~ [ linux-3.15.10 ] ~ [ linux-3.14.79 ] ~ [ linux-3.13.11 ] ~ [ linux-3.12.74 ] ~ [ linux-3.11.10 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.5 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* $Id: capilli.h,v 1.1.2.2 2004/01/16 21:09:27 keil Exp $
  2  * 
  3  * Kernel CAPI 2.0 Driver Interface for Linux
  4  * 
  5  * Copyright 1999 by Carsten Paeth <calle@calle.de>
  6  * 
  7  * This software may be used and distributed according to the terms
  8  * of the GNU General Public License, incorporated herein by reference.
  9  *
 10  */
 11 
 12 #ifndef __CAPILLI_H__
 13 #define __CAPILLI_H__
 14 
 15 #include <linux/kernel.h>
 16 #include <linux/list.h>
 17 #include <linux/capi.h>
 18 #include <linux/kernelcapi.h>
 19 
 20 typedef struct capiloaddatapart {
 21         int user;               /* data in userspace ? */
 22         int len;
 23         unsigned char *data;
 24 } capiloaddatapart;
 25 
 26 typedef struct capiloaddata {
 27         capiloaddatapart firmware;
 28         capiloaddatapart configuration;
 29 } capiloaddata;
 30 
 31 typedef struct capicardparams {
 32         unsigned int port;
 33         unsigned irq;
 34         int cardtype;
 35         int cardnr;
 36         unsigned int membase;
 37 } capicardparams;
 38 
 39 struct capi_ctr {
 40         /* filled in before calling attach_capi_ctr */
 41         struct module *owner;
 42         void *driverdata;                       /* driver specific */
 43         char name[32];                          /* name of controller */
 44         char *driver_name;                      /* name of driver */
 45         int (*load_firmware)(struct capi_ctr *, capiloaddata *);
 46         void (*reset_ctr)(struct capi_ctr *);
 47         void (*register_appl)(struct capi_ctr *, u16 appl,
 48                               capi_register_params *);
 49         void (*release_appl)(struct capi_ctr *, u16 appl);
 50         u16  (*send_message)(struct capi_ctr *, struct sk_buff *skb);
 51         
 52         char *(*procinfo)(struct capi_ctr *);
 53         const struct file_operations *proc_fops;
 54 
 55         /* filled in before calling ready callback */
 56         u8 manu[CAPI_MANUFACTURER_LEN];         /* CAPI_GET_MANUFACTURER */
 57         capi_version version;                   /* CAPI_GET_VERSION */
 58         capi_profile profile;                   /* CAPI_GET_PROFILE */
 59         u8 serial[CAPI_SERIAL_LEN];             /* CAPI_GET_SERIAL */
 60 
 61         /* management information for kcapi */
 62 
 63         unsigned long nrecvctlpkt;
 64         unsigned long nrecvdatapkt;
 65         unsigned long nsentctlpkt;
 66         unsigned long nsentdatapkt;
 67 
 68         int cnr;                                /* controller number */
 69         unsigned short state;                   /* controller state */
 70         int blocked;                            /* output blocked */
 71         int traceflag;                          /* capi trace */
 72         wait_queue_head_t state_wait_queue;
 73 
 74         struct proc_dir_entry *procent;
 75         char procfn[128];
 76 };
 77 
 78 int attach_capi_ctr(struct capi_ctr *);
 79 int detach_capi_ctr(struct capi_ctr *);
 80 
 81 void capi_ctr_ready(struct capi_ctr * card);
 82 void capi_ctr_down(struct capi_ctr * card);
 83 void capi_ctr_suspend_output(struct capi_ctr * card);
 84 void capi_ctr_resume_output(struct capi_ctr * card);
 85 void capi_ctr_handle_message(struct capi_ctr * card, u16 appl, struct sk_buff *skb);
 86 
 87 // ---------------------------------------------------------------------------
 88 // needed for AVM capi drivers
 89 
 90 struct capi_driver {
 91         char name[32];                          /* driver name */
 92         char revision[32];
 93 
 94         int (*add_card)(struct capi_driver *driver, capicardparams *data);
 95 
 96         /* management information for kcapi */
 97         struct list_head list; 
 98 };
 99 
100 void register_capi_driver(struct capi_driver *driver);
101 void unregister_capi_driver(struct capi_driver *driver);
102 
103 // ---------------------------------------------------------------------------
104 // library functions for use by hardware controller drivers
105 
106 void capilib_new_ncci(struct list_head *head, u16 applid, u32 ncci, u32 winsize);
107 void capilib_free_ncci(struct list_head *head, u16 applid, u32 ncci);
108 void capilib_release_appl(struct list_head *head, u16 applid);
109 void capilib_release(struct list_head *head);
110 void capilib_data_b3_conf(struct list_head *head, u16 applid, u32 ncci, u16 msgid);
111 u16  capilib_data_b3_req(struct list_head *head, u16 applid, u32 ncci, u16 msgid);
112 
113 #endif                          /* __CAPILLI_H__ */
114 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | Wiki (Japanese) | Wiki (English) | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

osdn.jp