Initial import from FreeBSD RELENG_4:
[dragonfly.git] / sys / net / i4b / layer3 / i4b_q932fac.h
1 /*
2  * Copyright (c) 1997, 2000 Hellmuth Michaelis. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  * 1. Redistributions of source code must retain the above copyright
8  *    notice, this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright
10  *    notice, this list of conditions and the following disclaimer in the
11  *    documentation and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23  * SUCH DAMAGE.
24  *
25  *---------------------------------------------------------------------------
26  *
27  *      i4b_q932fac.h - Q932 facility handling header file
28  *      --------------------------------------------------
29  *
30  *      $Id: i4b_q932fac.h,v 1.8 2000/04/27 09:25:22 hm Exp $ 
31  *
32  * $FreeBSD: src/sys/i4b/layer3/i4b_q932fac.h,v 1.6.2.1 2001/08/10 14:08:42 obrien Exp $
33  *
34  *      last edit-date: [Thu Apr 27 11:07:52 2000]
35  *
36  *---------------------------------------------------------------------------
37  *
38  *      - Q.932 (03/93) Generic Procedures for the Control of
39  *              ISDN Supplementaty Services
40  *      - Q.950 (03/93) Supplementary Services Protocols, Structure and
41  *              General Principles
42  *      - ETS 300 179 (10/92) Advice Of Charge: charging information during
43  *              the call (AOC-D) supplementary service Service description
44  *      - ETS 300 180 (10/92) Advice Of Charge: charging information at the
45  *              end of call (AOC-E) supplementary service Service description
46  *      - ETS 300 181 (04/93) Advice Of Charge (AOC) supplementary service
47  *              Functional capabilities and information flows
48  *      - ETS 300 182 (04/93) Advice Of Charge (AOC) supplementary service
49  *              Digital Subscriber Signalling System No. one (DSS1) protocol
50  *      - X.208 Specification of Abstract Syntax Notation One (ASN.1)
51  *      - X.209 Specification of Basic Encoding Rules for
52  *              Abstract Syntax Notation One (ASN.1) 
53  *      - "ASN.1 Abstract Syntax Notation One", Walter Gora, DATACOM-Verlag
54  *              1992, 3rd Edition (ISBN 3-89238-062-7) (german !)
55  *
56  *---------------------------------------------------------------------------*/
57
58 /* protocols */
59 #define FAC_PROTO_ROP           0x11
60 #define FAC_PROTO_CMIP          0x12
61 #define FAC_PROTO_ACSE          0x13
62
63 /* tag classes */
64 #define FAC_TAGCLASS_UNI        0x00
65 #define FAC_TAGCLASS_APW        0x01
66 #define FAC_TAGCLASS_COS        0x02
67 #define FAC_TAGCLASS_PRU        0x03
68
69 /* tag forms */
70 #define FAC_TAGFORM_PRI         0x00
71 #define FAC_TAGFORM_CON         0x01
72
73 /* class UNIVERSAL values */
74 #define FAC_CODEUNI_BOOL        1
75 #define FAC_CODEUNI_INT         2
76 #define FAC_CODEUNI_BITS        3
77 #define FAC_CODEUNI_OCTS        4
78 #define FAC_CODEUNI_NULL        5
79 #define FAC_CODEUNI_OBJI        6
80 #define FAC_CODEUNI_OBJD        7
81 #define FAC_CODEUNI_EXT         8
82 #define FAC_CODEUNI_REAL        9
83 #define FAC_CODEUNI_ENUM        10
84 #define FAC_CODEUNI_R11         11
85 #define FAC_CODEUNI_R12         12
86 #define FAC_CODEUNI_R13         13
87 #define FAC_CODEUNI_R14         14
88 #define FAC_CODEUNI_R15         15
89 #define FAC_CODEUNI_SEQ         16
90 #define FAC_CODEUNI_SET         17
91 #define FAC_CODEUNI_NSTR        18
92 #define FAC_CODEUNI_PSTR        19
93 #define FAC_CODEUNI_TSTR        20
94 #define FAC_CODEUNI_VSTR        21
95 #define FAC_CODEUNI_ISTR        22
96 #define FAC_CODEUNI_UTIME       23
97 #define FAC_CODEUNI_GTIME       24
98 #define FAC_CODEUNI_GSTR        25
99 #define FAC_CODEUNI_VISTR       26
100 #define FAC_CODEUNI_GNSTR       27
101
102 /* operation values */
103 #define FAC_OPVAL_UUS           1
104 #define FAC_OPVAL_CUG           2
105 #define FAC_OPVAL_MCID          3
106 #define FAC_OPVAL_BTPY          4
107 #define FAC_OPVAL_ETPY          5
108 #define FAC_OPVAL_ECT           6
109
110 #define FAC_OPVAL_DIV_ACT       7
111 #define FAC_OPVAL_DIV_DEACT     8
112 #define FAC_OPVAL_DIV_ACTSN     9
113 #define FAC_OPVAL_DIV_DEACTSN   10
114 #define FAC_OPVAL_DIV_INTER     11
115 #define FAC_OPVAL_DIV_INFO      12
116 #define FAC_OPVAL_DIV_CALLDEF   13
117 #define FAC_OPVAL_DIV_CALLRER   14
118 #define FAC_OPVAL_DIV_LINF2     15
119 #define FAC_OPVAL_DIV_INVS      16
120 #define FAC_OPVAL_DIV_INTER1    17
121 #define FAC_OPVAL_DIV_LINF1     18
122 #define FAC_OPVAL_DIV_LINF3     19
123
124 #define FAC_OPVAL_ER_CRCO       20
125 #define FAC_OPVAL_ER_MGMT       21
126 #define FAC_OPVAL_ER_CANC       22
127
128 #define FAC_OPVAL_MLPP_QUERY    24
129 #define FAC_OPVAL_MLPP_CALLR    25
130 #define FAC_OPVAL_MLPP_CALLP    26
131
132 #define FAC_OPVAL_AOC_REQ       30
133 #define FAC_OPVAL_AOC_S_CUR     31
134 #define FAC_OPVAL_AOC_S_SPC     32
135 #define FAC_OPVAL_AOC_D_CUR     33
136 #define FAC_OPVAL_AOC_D_UNIT    34
137 #define FAC_OPVAL_AOC_E_CUR     35
138 #define FAC_OPVAL_AOC_E_UNIT    36
139 #define FAC_OPVAL_AOC_IDOFCRG   37
140
141 #define FAC_OPVAL_CONF_BEG      40
142 #define FAC_OPVAL_CONF_ADD      41
143 #define FAC_OPVAL_CONF_SPLIT    42
144 #define FAC_OPVAL_CONF_DROP     43
145 #define FAC_OPVAL_CONF_ISOLATE  44
146 #define FAC_OPVAL_CONF_REATT    45
147 #define FAC_OPVAL_CONF_PDISC    46
148 #define FAC_OPVAL_CONF_FCONF    47
149 #define FAC_OPVAL_CONF_END      48
150 #define FAC_OPVAL_CONF_IDCFE    49
151
152 #define FAC_OPVAL_REVC_REQ      60
153
154 enum states {
155         ST_EXP_COMP_TYP,
156         ST_EXP_INV_ID,
157         ST_EXP_OP_VAL,
158         ST_EXP_INFO,
159         ST_EXP_RUL,
160         ST_EXP_RU,
161         ST_EXP_RNOU,
162         ST_EXP_TOCI,
163         ST_EXP_DBID,    
164         
165         ST_EXP_NIX      
166 };
167
168 /* EOF */
169