use auto-build for cdr modules
[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 #define QI_ELEMENT(a) a.off
15
16
17 #ifndef mISDNUSER_HEAD_SIZE
18
19 #define mISDNUSER_HEAD_SIZE (sizeof(mISDNuser_head_t))
20 /*#define mISDNUSER_HEAD_SIZE (sizeof(mISDN_head_t))*/
21 #endif
22
23
24 ibuffer_t *astbuf;
25 ibuffer_t *misdnbuf;
26
27
28 struct isdn_msg {
29         unsigned long misdn_msg;
30   
31         enum layer_e layer;
32         enum event_e event;
33   
34         void (*msg_parser)(struct isdn_msg *msgs, msg_t *msg, struct misdn_bchannel *bc, int nt);
35         msg_t *(*msg_builder)(struct isdn_msg *msgs, struct misdn_bchannel *bc, int nt);
36         char *info;
37   
38 } ; 
39
40 /* for isdn_msg_parser.c */
41 msg_t *create_l3msg(int prim, int mt, int dinfo , int size, int nt);
42
43
44
45 struct misdn_stack {
46         /** is first element because &nst equals &mISDNlist **/
47         net_stack_t nst;
48         manager_t mgr;
49   
50         int d_stid;
51   
52         int b_num;
53   
54         int b_stids[MAX_BCHANS + 1];
55   
56         int ptp;
57
58         int l2_id;
59         int lower_id;
60         int upper_id;
61   
62         int l2link;
63   
64         time_t l2establish;
65   
66         int l1link;
67         int midev;
68   
69         int nt;
70         
71         int pri;
72   
73
74         int procids[0x100+1];
75
76         msg_queue_t downqueue;
77         int busy;
78   
79         int port;
80         struct misdn_bchannel bc[MAX_BCHANS + 1];
81   
82         struct misdn_bchannel* bc_list; 
83   
84         int channels[MAX_BCHANS + 1];
85
86   
87         struct misdn_bchannel *holding; /* Queue which holds holded channels :) */
88   
89         struct misdn_stack *next;
90 }; 
91
92
93 struct misdn_stack* get_stack_by_bc(struct misdn_bchannel *bc);
94
95 #endif