moved the asn1 and facility portions of code to mISDNuser, so removing the files...
[asterisk/asterisk.git] / channels / misdn / isdn_lib_intern.h
1 #ifndef ISDN_LIB_INTERN
2 #define ISDN_LIB_INTERN
3
4
5 #include <mISDNuser/mISDNlib.h>
6 #include <mISDNuser/isdn_net.h>
7 #include <mISDNuser/l3dss1.h>
8 #include <mISDNuser/net_l3.h>
9
10 #include <pthread.h>
11
12 #include "isdn_lib.h"
13
14
15 #if !defined MISDNUSER_VERSION_CODE || (MISDNUSER_VERSION_CODE < MISDNUSER_VERSION(1, 0, 3))
16 #error "You need a newer version of mISDNuser ..."
17 #endif
18
19
20 #define QI_ELEMENT(a) a.off
21
22
23 #ifndef mISDNUSER_HEAD_SIZE
24
25 #define mISDNUSER_HEAD_SIZE (sizeof(mISDNuser_head_t))
26 /*#define mISDNUSER_HEAD_SIZE (sizeof(mISDN_head_t))*/
27 #endif
28
29
30 ibuffer_t *astbuf;
31 ibuffer_t *misdnbuf;
32
33
34 struct isdn_msg {
35         unsigned long misdn_msg;
36   
37         enum layer_e layer;
38         enum event_e event;
39   
40         void (*msg_parser)(struct isdn_msg *msgs, msg_t *msg, struct misdn_bchannel *bc, int nt);
41         msg_t *(*msg_builder)(struct isdn_msg *msgs, struct misdn_bchannel *bc, int nt);
42         char *info;
43   
44 } ; 
45
46 /* for isdn_msg_parser.c */
47 msg_t *create_l3msg(int prim, int mt, int dinfo , int size, int nt);
48
49
50
51 struct misdn_stack {
52         /** is first element because &nst equals &mISDNlist **/
53         net_stack_t nst;
54         manager_t mgr;
55   
56         int d_stid;
57   
58         int b_num;
59   
60         int b_stids[MAX_BCHANS + 1];
61   
62         int ptp;
63
64         int l2upcnt;
65
66         int l2_id;
67         int lower_id;
68         int upper_id;
69   
70
71         int blocked;
72
73         int l2link;
74   
75         time_t l2establish;
76   
77         int l1link;
78         int midev;
79   
80         int nt;
81         
82         int pri;
83   
84
85         int procids[0x100+1];
86
87         msg_queue_t downqueue;
88         msg_queue_t upqueue;
89         int busy;
90   
91         int port;
92         struct misdn_bchannel bc[MAX_BCHANS + 1];
93   
94         struct misdn_bchannel* bc_list; 
95   
96         int channels[MAX_BCHANS + 1];
97
98   
99         struct misdn_bchannel *holding; /* Queue which holds holded channels :) */
100   
101         struct misdn_stack *next;
102 }; 
103
104
105 struct misdn_stack* get_stack_by_bc(struct misdn_bchannel *bc);
106
107
108
109 #endif