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
drivers
isdn
sc
event.c
Go to the documentation of this file.
1
/* $Id: event.c,v 1.4.8.1 2001/09/23 22:24:59 kai Exp $
2
*
3
* Copyright (C) 1996 SpellCaster Telecommunications Inc.
4
*
5
* This software may be used and distributed according to the terms
6
* of the GNU General Public License, incorporated herein by reference.
7
*
8
* For more information, please contact
[email protected]
or write:
9
*
10
* SpellCaster Telecommunications Inc.
11
* 5621 Finch Avenue East, Unit #3
12
* Scarborough, Ontario Canada
13
* M1B 2T9
14
* +1 (416) 297-8565
15
* +1 (416) 297-6433 Facsimile
16
*/
17
18
#include "
includes.h
"
19
#include "
hardware.h
"
20
#include "
message.h
"
21
#include "
card.h
"
22
23
#ifdef DEBUG
24
static
char
*
events
[] = {
"ISDN_STAT_STAVAIL"
,
25
"ISDN_STAT_ICALL"
,
26
"ISDN_STAT_RUN"
,
27
"ISDN_STAT_STOP"
,
28
"ISDN_STAT_DCONN"
,
29
"ISDN_STAT_BCONN"
,
30
"ISDN_STAT_DHUP"
,
31
"ISDN_STAT_BHUP"
,
32
"ISDN_STAT_CINF"
,
33
"ISDN_STAT_LOAD"
,
34
"ISDN_STAT_UNLOAD"
,
35
"ISDN_STAT_BSENT"
,
36
"ISDN_STAT_NODCH"
,
37
"ISDN_STAT_ADDCH"
,
38
"ISDN_STAT_CAUSE"
};
39
#endif
40
41
int
indicate_status
(
int
card
,
int
event
,
ulong
Channel
,
char
*
Data
)
42
{
43
isdn_ctrl
cmd
;
44
45
#ifdef DEBUG
46
pr_debug
(
"%s: Indicating event %s on Channel %d\n"
,
47
sc_adapter
[card]->devicename,
events
[event - 256], Channel);
48
#endif
49
if
(Data !=
NULL
) {
50
pr_debug
(
"%s: Event data: %s\n"
,
sc_adapter
[card]->devicename,
51
Data);
52
switch
(event) {
53
case
ISDN_STAT_BSENT
:
54
memcpy
(&cmd.
parm
.
length
, Data,
sizeof
(cmd.
parm
.
length
));
55
break
;
56
case
ISDN_STAT_ICALL
:
57
memcpy
(&cmd.
parm
.
setup
, Data,
sizeof
(cmd.
parm
.
setup
));
58
break
;
59
default
:
60
strcpy
(cmd.
parm
.
num
, Data);
61
}
62
}
63
64
cmd.
command
=
event
;
65
cmd.
driver
=
sc_adapter
[
card
]->
driverId
;
66
cmd.
arg
=
Channel
;
67
return
sc_adapter
[
card
]->
card
->
statcallb
(&cmd);
68
}
Generated on Thu Jan 10 2013 13:23:59 for Linux Kernel by
1.8.2