core.h 2.1 KB

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