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