Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
include
linux
isdn
capilli.h
Go to the documentation of this file.
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 <
[email protected]
>
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__ */
Generated on Thu Jan 10 2013 14:51:41 for Linux Kernel by
1.8.2