Add the DragonFly cvs id and perform general cleanups on cvs/rcs/sccs ids. Most
[dragonfly.git] / usr.sbin / i4b / isdndecode / facility.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  *      facility.h - facility header file
28  *      ---------------------------------
29  *
30  *      $Id: facility.h,v 1.5 2000/02/21 15:17:17 hm Exp $
31  *
32  * $FreeBSD: src/usr.sbin/i4b/isdndecode/facility.h,v 1.6.2.1 2001/08/01 17:45:05 obrien Exp $
33  * $DragonFly: src/usr.sbin/i4b/isdndecode/facility.h,v 1.2 2003/06/17 04:29:55 dillon Exp $
34  *
35  *      last edit-date: [Mon Feb 21 16:16:04 2000]
36  *
37  *---------------------------------------------------------------------------
38  *
39  *      - Q.932 (03/93) Generic Procedures for the Control of
40  *              ISDN Supplementaty Services
41  *      - Q.950 (03/93) Supplementary Services Protocols, Structure and
42  *              General Principles
43  *      - ETS 300 179 (10/92) Advice Of Charge: charging information during
44  *              the call (AOC-D) supplementary service Service description
45  *      - ETS 300 180 (10/92) Advice Of Charge: charging information at the
46  *              end of call (AOC-E) supplementary service Service description
47  *      - ETS 300 181 (04/93) Advice Of Charge (AOC) supplementary service
48  *              Functional capabilities and information flows
49  *      - ETS 300 182 (04/93) Advice Of Charge (AOC) supplementary service
50  *              Digital Subscriber Signalling System No. one (DSS1) protocol
51  *      - X.208 Specification of Abstract Syntax Notation One (ASN.1)
52  *      - X.209 Specification of Basic Encoding Rules for
53  *              Abstract Syntax Notation One (ASN.1) 
54  *      - "ASN.1 Abstract Syntax Notation One", Walter Gora, DATACOM-Verlag
55  *              1992, 3rd Edition (ISBN 3-89238-062-7) (german !)
56  *
57  *---------------------------------------------------------------------------*/
58
59 /*      #define FAC_DEBUG       */
60 /*      #define ST_DEBUG        */
61
62 /* protocols */
63 #define FAC_PROTO_ROP           0x11
64 #define FAC_PROTO_CMIP          0x12
65 #define FAC_PROTO_ACSE          0x13
66
67 /* tag classes */
68 #define FAC_TAGCLASS_UNI        0x00
69 #define FAC_TAGCLASS_APW        0x01
70 #define FAC_TAGCLASS_COS        0x02
71 #define FAC_TAGCLASS_PRU        0x03
72
73 /* tag forms */
74 #define FAC_TAGFORM_PRI         0x00
75 #define FAC_TAGFORM_CON         0x01
76
77 /* class UNIVERSAL values */
78 #define FAC_CODEUNI_BOOL        1
79 #define FAC_CODEUNI_INT         2
80 #define FAC_CODEUNI_BITS        3
81 #define FAC_CODEUNI_OCTS        4
82 #define FAC_CODEUNI_NULL        5
83 #define FAC_CODEUNI_OBJI        6
84 #define FAC_CODEUNI_OBJD        7
85 #define FAC_CODEUNI_EXT         8
86 #define FAC_CODEUNI_REAL        9
87 #define FAC_CODEUNI_ENUM        10
88 #define FAC_CODEUNI_R11         11
89 #define FAC_CODEUNI_R12         12
90 #define FAC_CODEUNI_R13         13
91 #define FAC_CODEUNI_R14         14
92 #define FAC_CODEUNI_R15         15
93 #define FAC_CODEUNI_SEQ         16
94 #define FAC_CODEUNI_SET         17
95 #define FAC_CODEUNI_NSTR        18
96 #define FAC_CODEUNI_PSTR        19
97 #define FAC_CODEUNI_TSTR        20
98 #define FAC_CODEUNI_VSTR        21
99 #define FAC_CODEUNI_ISTR        22
100 #define FAC_CODEUNI_UTIME       23
101 #define FAC_CODEUNI_GTIME       24
102 #define FAC_CODEUNI_GSTR        25
103 #define FAC_CODEUNI_VISTR       26
104 #define FAC_CODEUNI_GNSTR       27
105
106 /* operation values */
107 #define FAC_OPVAL_UUS           1
108 #define FAC_OPVAL_CUG           2
109 #define FAC_OPVAL_MCID          3
110 #define FAC_OPVAL_BTPY          4
111 #define FAC_OPVAL_ETPY          5
112 #define FAC_OPVAL_ECT           6
113
114 #define FAC_OPVAL_DIV_ACT       7
115 #define FAC_OPVAL_DIV_DEACT     8
116 #define FAC_OPVAL_DIV_ACTSN     9
117 #define FAC_OPVAL_DIV_DEACTSN   10
118 #define FAC_OPVAL_DIV_INTER     11
119 #define FAC_OPVAL_DIV_INFO      12
120 #define FAC_OPVAL_DIV_CALLDEF   13
121 #define FAC_OPVAL_DIV_CALLRER   14
122 #define FAC_OPVAL_DIV_LINF2     15
123 #define FAC_OPVAL_DIV_INVS      16
124 #define FAC_OPVAL_DIV_INTER1    17
125 #define FAC_OPVAL_DIV_LINF1     18
126 #define FAC_OPVAL_DIV_LINF3     19
127
128 #define FAC_OPVAL_ER_CRCO       20
129 #define FAC_OPVAL_ER_MGMT       21
130 #define FAC_OPVAL_ER_CANC       22
131
132 #define FAC_OPVAL_MLPP_QUERY    24
133 #define FAC_OPVAL_MLPP_CALLR    25
134 #define FAC_OPVAL_MLPP_CALLP    26
135
136 #define FAC_OPVAL_AOC_REQ       30
137 #define FAC_OPVAL_AOC_S_CUR     31
138 #define FAC_OPVAL_AOC_S_SPC     32
139 #define FAC_OPVAL_AOC_D_CUR     33
140 #define FAC_OPVAL_AOC_D_UNIT    34
141 #define FAC_OPVAL_AOC_E_CUR     35
142 #define FAC_OPVAL_AOC_E_UNIT    36
143 #define FAC_OPVAL_AOC_IDOFCRG   37
144
145 #define FAC_OPVAL_CONF_BEG      40
146 #define FAC_OPVAL_CONF_ADD      41
147 #define FAC_OPVAL_CONF_SPLIT    42
148 #define FAC_OPVAL_CONF_DROP     43
149 #define FAC_OPVAL_CONF_ISOLATE  44
150 #define FAC_OPVAL_CONF_REATT    45
151 #define FAC_OPVAL_CONF_PDISC    46
152 #define FAC_OPVAL_CONF_FCONF    47
153 #define FAC_OPVAL_CONF_END      48
154 #define FAC_OPVAL_CONF_IDCFE    49
155
156 #define FAC_OPVAL_REVC_REQ      60
157
158 enum states {
159         ST_EXP_COMP_TYP,
160         ST_EXP_INV_ID,
161         ST_EXP_OP_VAL,
162         ST_EXP_INFO,
163         ST_EXP_RUL,
164         ST_EXP_RU,
165         ST_EXP_RNOU,
166         ST_EXP_TOCI,
167         ST_EXP_DBID,    
168
169         ST_EXP_RR_INV_ID,
170         ST_EXP_RR_OP_VAL,
171         ST_EXP_RR_RESULT,       
172
173         ST_EXP_REJ_INV_ID,
174         ST_EXP_REJ_OP_VAL,
175         ST_EXP_REJ_RESULT,      
176         
177         ST_EXP_NIX      
178 };
179
180 /* EOF */
181