linux/drivers/isdn/mISDN/core.h
<<
>>
Prefs
   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      l1_init(u_int *);
  64extern void     l1_cleanup(void);
  65extern int      Isdnl2_Init(u_int *);
  66extern void     Isdnl2_cleanup(void);
  67
  68extern void     mISDN_init_clock(u_int *);
  69
  70#endif
  71