71 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/*3 * Copyright 2008 by Karsten Keil <kkeil@novell.com>4 */5 6#ifndef mISDN_CORE_H7#define mISDN_CORE_H8 9extern struct mISDNdevice *get_mdevice(u_int);10extern int get_mdevice_count(void);11 12/* stack status flag */13#define mISDN_STACK_ACTION_MASK 0x0000ffff14#define mISDN_STACK_COMMAND_MASK 0x000f000015#define mISDN_STACK_STATUS_MASK 0xfff0000016/* action bits 0-15 */17#define mISDN_STACK_WORK 018#define mISDN_STACK_SETUP 119#define mISDN_STACK_CLEARING 220#define mISDN_STACK_RESTART 321#define mISDN_STACK_WAKEUP 422#define mISDN_STACK_ABORT 1523/* command bits 16-19 */24#define mISDN_STACK_STOPPED 1625#define mISDN_STACK_INIT 1726#define mISDN_STACK_THREADSTART 1827/* status bits 20-31 */28#define mISDN_STACK_BCHANNEL 2029#define mISDN_STACK_ACTIVE 2930#define mISDN_STACK_RUNNING 3031#define mISDN_STACK_KILLED 3132 33 34/* manager options */35#define MGR_OPT_USER 2436#define MGR_OPT_NETWORK 2537 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#endif71