2019-05-27 08:55:21 +02:00
/* SPDX-License-Identifier: GPL-2.0-only */
2008-07-27 01:54:58 +02:00
/*
* Copyright 2008 by Karsten Keil < kkeil @ novell . com >
*/
# ifndef mISDN_CORE_H
# define mISDN_CORE_H
extern struct mISDNdevice * get_mdevice ( u_int ) ;
extern int get_mdevice_count ( void ) ;
/* stack status flag */
# define mISDN_STACK_ACTION_MASK 0x0000ffff
# define mISDN_STACK_COMMAND_MASK 0x000f0000
# define mISDN_STACK_STATUS_MASK 0xfff00000
/* action bits 0-15 */
# define mISDN_STACK_WORK 0
# define mISDN_STACK_SETUP 1
# define mISDN_STACK_CLEARING 2
# define mISDN_STACK_RESTART 3
# define mISDN_STACK_WAKEUP 4
# define mISDN_STACK_ABORT 15
/* command bits 16-19 */
# define mISDN_STACK_STOPPED 16
# define mISDN_STACK_INIT 17
# define mISDN_STACK_THREADSTART 18
/* status bits 20-31 */
# define mISDN_STACK_BCHANNEL 20
# define mISDN_STACK_ACTIVE 29
# define mISDN_STACK_RUNNING 30
# define mISDN_STACK_KILLED 31
/* manager options */
# define MGR_OPT_USER 24
# define MGR_OPT_NETWORK 25
extern int connect_Bstack ( struct mISDNdevice * , struct mISDNchannel * ,
2012-02-19 19:52:38 -08:00
u_int , struct sockaddr_mISDN * ) ;
2008-07-27 01:54:58 +02:00
extern int connect_layer1 ( struct mISDNdevice * , struct mISDNchannel * ,
2012-02-19 19:52:38 -08:00
u_int , struct sockaddr_mISDN * ) ;
2008-07-27 01:54:58 +02:00
extern int create_l2entity ( struct mISDNdevice * , struct mISDNchannel * ,
2012-02-19 19:52:38 -08:00
u_int , struct sockaddr_mISDN * ) ;
2008-07-27 01:54:58 +02:00
extern int create_stack ( struct mISDNdevice * ) ;
extern int create_teimanager ( struct mISDNdevice * ) ;
extern void delete_teimanager ( struct mISDNchannel * ) ;
extern void delete_channel ( struct mISDNchannel * ) ;
extern void delete_stack ( struct mISDNdevice * ) ;
extern void mISDN_initstack ( u_int * ) ;
extern int misdn_sock_init ( u_int * ) ;
extern void misdn_sock_cleanup ( void ) ;
extern void add_layer2 ( struct mISDNchannel * , struct mISDNstack * ) ;
extern void __add_layer2 ( struct mISDNchannel * , struct mISDNstack * ) ;
extern u_int get_all_Bprotocols ( void ) ;
struct Bprotocol * get_Bprotocol4mask ( u_int ) ;
struct Bprotocol * get_Bprotocol4id ( u_int ) ;
extern int mISDN_inittimer ( u_int * ) ;
extern void mISDN_timer_cleanup ( void ) ;
extern int l1_init ( u_int * ) ;
extern void l1_cleanup ( void ) ;
2012-02-19 19:52:38 -08:00
extern int Isdnl2_Init ( u_int * ) ;
2008-07-27 01:54:58 +02:00
extern void Isdnl2_cleanup ( void ) ;
2008-09-06 09:03:46 +02:00
extern void mISDN_init_clock ( u_int * ) ;
2008-07-27 01:54:58 +02:00
# endif