core.h (2185B)
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 9extern struct mISDNdevice *get_mdevice(u_int); 10extern 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 38extern int connect_Bstack(struct mISDNdevice *, struct mISDNchannel *, 39 u_int, struct sockaddr_mISDN *); 40extern int connect_layer1(struct mISDNdevice *, struct mISDNchannel *, 41 u_int, struct sockaddr_mISDN *); 42extern int create_l2entity(struct mISDNdevice *, struct mISDNchannel *, 43 u_int, struct sockaddr_mISDN *); 44 45extern int create_stack(struct mISDNdevice *); 46extern int create_teimanager(struct mISDNdevice *); 47extern void delete_teimanager(struct mISDNchannel *); 48extern void delete_channel(struct mISDNchannel *); 49extern void delete_stack(struct mISDNdevice *); 50extern void mISDN_initstack(u_int *); 51extern int misdn_sock_init(u_int *); 52extern void misdn_sock_cleanup(void); 53extern void add_layer2(struct mISDNchannel *, struct mISDNstack *); 54extern void __add_layer2(struct mISDNchannel *, struct mISDNstack *); 55 56extern u_int get_all_Bprotocols(void); 57struct Bprotocol *get_Bprotocol4mask(u_int); 58struct Bprotocol *get_Bprotocol4id(u_int); 59 60extern int mISDN_inittimer(u_int *); 61extern void mISDN_timer_cleanup(void); 62 63extern int Isdnl1_Init(u_int *); 64extern void Isdnl1_cleanup(void); 65extern int Isdnl2_Init(u_int *); 66extern void Isdnl2_cleanup(void); 67 68extern void mISDN_init_clock(u_int *); 69 70#endif