1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
2 | /* |
3 | * Copyright 2008 by Karsten Keil <kkeil@novell.com> |
4 | */ |
5 | |
6 | #ifndef mISDN_CORE_H |
7 | #define mISDN_CORE_H |
8 | |
9 | extern struct mISDNdevice *get_mdevice(u_int); |
10 | extern int get_mdevice_count(void); |
11 | |
12 | /* stack status flag */ |
13 | #define mISDN_STACK_ACTION_MASK 0x0000ffff |
14 | #define mISDN_STACK_COMMAND_MASK 0x000f0000 |
15 | #define mISDN_STACK_STATUS_MASK 0xfff00000 |
16 | /* action bits 0-15 */ |
17 | #define mISDN_STACK_WORK 0 |
18 | #define mISDN_STACK_SETUP 1 |
19 | #define mISDN_STACK_CLEARING 2 |
20 | #define mISDN_STACK_RESTART 3 |
21 | #define mISDN_STACK_WAKEUP 4 |
22 | #define mISDN_STACK_ABORT 15 |
23 | /* command bits 16-19 */ |
24 | #define mISDN_STACK_STOPPED 16 |
25 | #define mISDN_STACK_INIT 17 |
26 | #define mISDN_STACK_THREADSTART 18 |
27 | /* status bits 20-31 */ |
28 | #define mISDN_STACK_BCHANNEL 20 |
29 | #define mISDN_STACK_ACTIVE 29 |
30 | #define mISDN_STACK_RUNNING 30 |
31 | #define mISDN_STACK_KILLED 31 |
32 | |
33 | |
34 | /* manager options */ |
35 | #define MGR_OPT_USER 24 |
36 | #define MGR_OPT_NETWORK 25 |
37 | |
38 | extern int connect_Bstack(struct mISDNdevice *, struct mISDNchannel *, |
39 | u_int, struct sockaddr_mISDN *); |
40 | extern int connect_layer1(struct mISDNdevice *, struct mISDNchannel *, |
41 | u_int, struct sockaddr_mISDN *); |
42 | extern int create_l2entity(struct mISDNdevice *, struct mISDNchannel *, |
43 | u_int, struct sockaddr_mISDN *); |
44 | |
45 | extern int create_stack(struct mISDNdevice *); |
46 | extern int create_teimanager(struct mISDNdevice *); |
47 | extern void delete_teimanager(struct mISDNchannel *); |
48 | extern void delete_channel(struct mISDNchannel *); |
49 | extern void delete_stack(struct mISDNdevice *); |
50 | extern void mISDN_initstack(u_int *); |
51 | extern int misdn_sock_init(u_int *); |
52 | extern void misdn_sock_cleanup(void); |
53 | extern void add_layer2(struct mISDNchannel *, struct mISDNstack *); |
54 | extern void __add_layer2(struct mISDNchannel *, struct mISDNstack *); |
55 | |
56 | extern u_int get_all_Bprotocols(void); |
57 | struct Bprotocol *get_Bprotocol4mask(u_int); |
58 | struct Bprotocol *get_Bprotocol4id(u_int); |
59 | |
60 | extern int mISDN_inittimer(u_int *); |
61 | extern void mISDN_timer_cleanup(void); |
62 | |
63 | extern int Isdnl1_Init(u_int *); |
64 | extern void Isdnl1_cleanup(void); |
65 | extern int Isdnl2_Init(u_int *); |
66 | extern void Isdnl2_cleanup(void); |
67 | |
68 | extern void mISDN_init_clock(u_int *); |
69 | |
70 | #endif |
71 | |