1122205Sharti/*
2122205Sharti * Copyright (c) 1996-2003
3122205Sharti *	Fraunhofer Institute for Open Communication Systems (FhG Fokus).
4122205Sharti * 	All rights reserved.
5122205Sharti *
6122205Sharti * Redistribution and use in source and binary forms, with or without
7122205Sharti * modification, are permitted provided that the following conditions
8122205Sharti * are met:
9122205Sharti * 1. Redistributions of source code must retain the above copyright
10122205Sharti *    notice, this list of conditions and the following disclaimer.
11122205Sharti * 2. Redistributions in binary form must reproduce the above copyright
12122205Sharti *    notice, this list of conditions and the following disclaimer in the
13122205Sharti *    documentation and/or other materials provided with the distribution.
14122205Sharti *
15122205Sharti * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16122205Sharti * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17122205Sharti * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18122205Sharti * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19122205Sharti * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20122205Sharti * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21122205Sharti * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22122205Sharti * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23122205Sharti * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24122205Sharti * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25122205Sharti * SUCH DAMAGE.
26122205Sharti *
27122205Sharti * Author: Hartmut Brandt <harti@freebsd.org>
28122205Sharti *
29131826Sharti * $Begemot: libunimsg/netnatm/sig/unidef.h,v 1.9 2004/07/08 08:22:24 brandt Exp $
30122205Sharti *
31122205Sharti * UNI public definitions.
32122205Sharti */
33122205Sharti#ifndef _ATM_SIG_UNIDEF_H_
34122205Sharti#define _ATM_SIG_UNIDEF_H_
35122205Sharti
36131826Sharti#ifdef _KERNEL
37131826Sharti#include <sys/stdint.h>
38131826Sharti#else
39131826Sharti#include <stdint.h>
40131826Sharti#endif
41131826Sharti
42122205Sharti/*
43122205Sharti * Debug facilities
44122205Sharti */
45122205Sharti#define UNI_DEBUG_FACILITIES		\
46122205Sharti	UNI_DEBUG_DEFINE(TIMEOUT)	\
47122205Sharti	UNI_DEBUG_DEFINE(RESTART)	\
48122205Sharti	UNI_DEBUG_DEFINE(SAAL)		\
49122205Sharti	UNI_DEBUG_DEFINE(PARSE)		\
50122205Sharti	UNI_DEBUG_DEFINE(CALL)		\
51122205Sharti	UNI_DEBUG_DEFINE(WARN)		\
52122205Sharti	UNI_DEBUG_DEFINE(COORD)		\
53122205Sharti	UNI_DEBUG_DEFINE(API)		\
54122205Sharti	UNI_DEBUG_DEFINE(MSG)		\
55122205Sharti	UNI_DEBUG_DEFINE(ERR)		\
56122205Sharti	UNI_DEBUG_DEFINE(VERIFY)	\
57122205Sharti
58122205Shartienum uni_verb {
59122205Sharti#define UNI_DEBUG_DEFINE(D) UNI_FAC_##D,
60122205Sharti	UNI_DEBUG_FACILITIES
61122205Sharti#undef UNI_DEBUG_DEFINE
62122205Sharti
63122205Sharti	UNI_MAXFACILITY,
64122205Sharti};
65122205Sharti
66122205Sharti/*
67122205Sharti * Default timer values and repeat counts
68122205Sharti */
69122205Sharti#define UNI_T301_DEFAULT	180000
70122205Sharti#define UNI_T303_DEFAULT	4000
71122205Sharti#define UNI_T303_CNT_DEFAULT	2
72122205Sharti#define UNI_T308_DEFAULT	30000
73122205Sharti#define UNI_T308_CNT_DEFAULT	2
74122205Sharti#define UNI_T309_DEFAULT	10000
75122205Sharti#define UNI_T310U_DEFAULT	30000
76122205Sharti#define UNI_T310N_DEFAULT	10000
77122205Sharti#define UNI_T313_DEFAULT	4000
78122205Sharti#define UNI_T316_DEFAULT	120000
79122205Sharti#define UNI_T316_CNT_DEFAULT	2
80122205Sharti#define UNI_T317_DEFAULT	90000
81122205Sharti#define UNI_T322_DEFAULT	4000
82122205Sharti#define UNI_T322_CNT_DEFAULT	2
83122205Sharti#define UNI_T397_DEFAULT	UNI_T301_DEFAULT
84122205Sharti#define UNI_T398_DEFAULT	4000
85122205Sharti#define UNI_T399U_DEFAULT	(UNI_T303_DEFAULT + UNI_T310U_DEFAULT)
86122205Sharti#define UNI_T399N_DEFAULT	(UNI_T303_DEFAULT + UNI_T310N_DEFAULT)
87122205Sharti
88122205Sharti/*
89122205Sharti * Protocol support
90122205Sharti */
91122205Shartienum uni_proto {
92122205Sharti	UNIPROTO_UNI40U,	/* UNI4.0 user side */
93122205Sharti	UNIPROTO_UNI40N,	/* UNI4.0 network side */
94122205Sharti	UNIPROTO_PNNI10,	/* PNNI1.0 */
95122205Sharti};
96122205Shartienum uni_popt {
97122205Sharti	UNIPROTO_GFP	= 0x0001,	/* enable GFP */
98122205Sharti	UNIPROTO_SB_TB	= 0x0002,	/* Coincident Sb-Tb/Tb */
99122205Sharti
100122205Sharti	UNIPROTO_ALLMASK = 0x0003,
101122205Sharti};
102122205Sharti
103122205Sharti/*
104122205Sharti * Other options
105122205Sharti */
106122205Shartienum uni_option {
107122205Sharti	UNIOPT_GIT_HARD		= 0x0001,	/* harder check of GIT IE */
108122205Sharti	UNIOPT_BEARER_HARD	= 0x0002,	/* harder check of BEARER IE */
109122205Sharti	UNIOPT_CAUSE_HARD	= 0x0004,	/* harder check of CAUSE IE */
110122205Sharti
111122205Sharti	UNIOPT_ALLMASK		= 0x0007,
112122205Sharti};
113122205Sharti
114122205Sharti/*
115122205Sharti * UNI configuration
116122205Sharti */
117122205Shartistruct uni_config {
118131826Sharti	uint32_t	proto;		/* which protocol */
119131826Sharti	uint32_t	popt;		/* protocol option */
120131826Sharti	uint32_t	option;		/* other options */
121131826Sharti	uint32_t	timer301;	/* T301 */
122131826Sharti	uint32_t	timer303;	/* T303 */
123131826Sharti	uint32_t	init303;	/* T303 retransmission count */
124131826Sharti	uint32_t	timer308;	/* T308 */
125131826Sharti	uint32_t	init308;	/* T308 retransmission count */
126131826Sharti	uint32_t	timer309;	/* T309 */
127131826Sharti	uint32_t	timer310;	/* T310 */
128131826Sharti	uint32_t	timer313;	/* T313 */
129131826Sharti	uint32_t	timer316;	/* T316 */
130131826Sharti	uint32_t	init316;	/* T316 retransmission count */
131131826Sharti	uint32_t	timer317;	/* T317 */
132131826Sharti	uint32_t	timer322;	/* T322 */
133131826Sharti	uint32_t	init322;	/* T322 retransmission count */
134131826Sharti	uint32_t	timer397;	/* T397 */
135131826Sharti	uint32_t	timer398;	/* T398 */
136131826Sharti	uint32_t	timer399;	/* T399 */
137122205Sharti};
138122205Shartienum uni_config_mask {
139122205Sharti	UNICFG_PROTO	= 0x00000001,
140122205Sharti	UNICFG_TIMER301	= 0x00000002,
141122205Sharti	UNICFG_TIMER303	= 0x00000004,
142122205Sharti	UNICFG_INIT303	= 0x00000008,
143122205Sharti	UNICFG_TIMER308	= 0x00000010,
144122205Sharti	UNICFG_INIT308	= 0x00000020,
145122205Sharti	UNICFG_TIMER309	= 0x00000040,
146122205Sharti	UNICFG_TIMER310	= 0x00000080,
147122205Sharti	UNICFG_TIMER313	= 0x00000100,
148122205Sharti	UNICFG_TIMER316	= 0x00000200,
149122205Sharti	UNICFG_INIT316	= 0x00000400,
150122205Sharti	UNICFG_TIMER317	= 0x00000800,
151122205Sharti	UNICFG_TIMER322	= 0x00001000,
152122205Sharti	UNICFG_INIT322	= 0x00002000,
153122205Sharti	UNICFG_TIMER397	= 0x00004000,
154122205Sharti	UNICFG_TIMER398	= 0x00008000,
155122205Sharti	UNICFG_TIMER399	= 0x00010000,
156122205Sharti
157122205Sharti	UNICFG_ALLMASK	= 0x0001ffff,
158122205Sharti};
159122205Sharti
160122205Sharti/*
161122205Sharti * API signals
162122205Sharti */
163122205Shartienum uni_sig {
164122205Sharti	UNIAPI_ERROR			= 0,	/* UNI -> API */
165122205Sharti
166122205Sharti	UNIAPI_CALL_CREATED		= 1,	/* UNI -> API */
167122205Sharti	UNIAPI_CALL_DESTROYED		= 2,	/* UNI -> API */
168122205Sharti	UNIAPI_PARTY_CREATED		= 3,	/* UNI -> API */
169122205Sharti	UNIAPI_PARTY_DESTROYED		= 4,	/* UNI -> API */
170122205Sharti
171122205Sharti	UNIAPI_LINK_ESTABLISH_request	= 5,	/* API -> UNI */
172122205Sharti	UNIAPI_LINK_ESTABLISH_confirm	= 6,	/* UNI -> API */
173122205Sharti	UNIAPI_LINK_RELEASE_request	= 7,	/* API -> UNI */
174122205Sharti	UNIAPI_LINK_RELEASE_confirm	= 8,	/* UNI -> API */
175122205Sharti
176122205Sharti	UNIAPI_RESET_request		= 9,	/* API -> UNI */
177122205Sharti	UNIAPI_RESET_confirm		= 10,	/* UNI -> API */
178122205Sharti	UNIAPI_RESET_indication		= 11,	/* UNI -> API */
179122205Sharti	UNIAPI_RESET_ERROR_indication	= 12,	/* UNI -> API */
180122205Sharti	UNIAPI_RESET_response		= 13,	/* API -> UNI */
181122205Sharti	UNIAPI_RESET_ERROR_response	= 14,	/* API -> UNI */
182122205Sharti	UNIAPI_RESET_STATUS_indication	= 15,	/* UNI -> API */
183122205Sharti
184122205Sharti	UNIAPI_SETUP_request		= 16,	/* API -> UNI */
185122205Sharti	UNIAPI_SETUP_indication		= 17,	/* UNI -> API */
186122205Sharti	UNIAPI_SETUP_response		= 18,	/* API -> UNI */
187122205Sharti	UNIAPI_SETUP_confirm		= 19,	/* UNI -> API */
188122205Sharti	UNIAPI_SETUP_COMPLETE_indication= 20,	/* U-UNI -> API */
189122205Sharti	UNIAPI_SETUP_COMPLETE_request	= 46,	/* API -> N-UNI */
190122205Sharti	UNIAPI_ALERTING_request		= 21,	/* API -> UNI */
191122205Sharti	UNIAPI_ALERTING_indication	= 22,	/* UNI -> API */
192122205Sharti	UNIAPI_PROCEEDING_request	= 23,	/* API -> UNI */
193122205Sharti	UNIAPI_PROCEEDING_indication	= 24,	/* UNI -> API */
194122205Sharti	UNIAPI_RELEASE_request		= 25,	/* API -> UNI */
195122205Sharti	UNIAPI_RELEASE_indication	= 26,	/* UNI -> API */
196122205Sharti	UNIAPI_RELEASE_response		= 27,	/* API -> UNI */
197122205Sharti	UNIAPI_RELEASE_confirm		= 28,	/* UNI -> API */
198122205Sharti	UNIAPI_NOTIFY_request		= 29,	/* API -> UNI */
199122205Sharti	UNIAPI_NOTIFY_indication	= 30,	/* UNI -> API */
200122205Sharti	UNIAPI_STATUS_indication	= 31,	/* UNI -> API */
201122205Sharti	UNIAPI_STATUS_ENQUIRY_request	= 32,	/* API -> UNI */
202122205Sharti
203122205Sharti	UNIAPI_ADD_PARTY_request	= 33,	/* API -> UNI */
204122205Sharti	UNIAPI_ADD_PARTY_indication	= 34,	/* UNI -> API */
205122205Sharti	UNIAPI_PARTY_ALERTING_request	= 35,	/* API -> UNI */
206122205Sharti	UNIAPI_PARTY_ALERTING_indication= 36,	/* UNI -> API */
207122205Sharti	UNIAPI_ADD_PARTY_ACK_request	= 37,	/* API -> UNI */
208122205Sharti	UNIAPI_ADD_PARTY_ACK_indication	= 38,	/* UNI -> API */
209122205Sharti	UNIAPI_ADD_PARTY_REJ_request	= 39,	/* API -> UNI */
210122205Sharti	UNIAPI_ADD_PARTY_REJ_indication	= 40,	/* UNI -> API */
211122205Sharti	UNIAPI_DROP_PARTY_request	= 41,	/* API -> UNI */
212122205Sharti	UNIAPI_DROP_PARTY_indication	= 42,	/* UNI -> API */
213122205Sharti	UNIAPI_DROP_PARTY_ACK_request	= 43,	/* API -> UNI */
214122205Sharti	UNIAPI_DROP_PARTY_ACK_indication= 44,	/* UNI -> API */
215122205Sharti
216122205Sharti	UNIAPI_ABORT_CALL_request	= 45,	/* API -> UNI */
217122205Sharti
218122205Sharti	UNIAPI_MAXSIG = 47
219122205Sharti};
220122205Sharti
221122205Shartistruct uniapi_error {
222131826Sharti	uint32_t	reason;
223131826Sharti	uint32_t	state;
224122205Sharti};
225122205Sharti/* keep this in sync with atmapi.h:enum atmerr */
226122205Sharti
227122205Sharti#define UNIAPI_DEF_ERRORS(MACRO)					\
228122205Sharti	MACRO(OK, 0, "no error")					\
229122205Sharti	MACRO(ERROR_BAD_SIGNAL,	1, "unknown signal")			\
230122205Sharti	MACRO(ERROR_BADCU,	2, "signal in bad co-ordinator state")	\
231122205Sharti	MACRO(ERROR_BAD_CALLSTATE, 3, "signal in bad call state")	\
232122205Sharti	MACRO(ERROR_BAD_EPSTATE, 4, "signal in bad endpoint state")	\
233122205Sharti	MACRO(ERROR_BAD_ARG,	5, "bad argument")			\
234122205Sharti	MACRO(ERROR_BAD_CALL,	6, "unknown call reference")		\
235122205Sharti	MACRO(ERROR_BAD_PARTY,	7, "unknown party")			\
236122205Sharti	MACRO(ERROR_BAD_CTYPE,	8, "bad type of call for signal")	\
237122205Sharti	MACRO(ERROR_BAD_IE,	9, "bad information element")		\
238122205Sharti	MACRO(ERROR_EPREF_INUSE, 10, "endpoint reference already in use") \
239122205Sharti	MACRO(ERROR_MISSING_IE,	11, "missing information element")	\
240122205Sharti	MACRO(ERROR_ENCODING,	12, "error during message encoding")	\
241122205Sharti	MACRO(ERROR_NOMEM,	13, "out of memory")			\
242122205Sharti	MACRO(ERROR_BUSY,	14, "status enquiry busy")
243122205Sharti
244122205Shartienum {
245122205Sharti#define DEF(NAME, VAL, STR) UNIAPI_##NAME = VAL,
246122205ShartiUNIAPI_DEF_ERRORS(DEF)
247122205Sharti#undef DEF
248122205Sharti};
249122205Sharti
250122205Shartistruct uniapi_call_created {
251122205Sharti	struct uni_cref		cref;
252122205Sharti};
253122205Shartistruct uniapi_call_destroyed {
254122205Sharti	struct uni_cref		cref;
255122205Sharti};
256122205Shartistruct uniapi_party_created {
257122205Sharti	struct uni_cref		cref;
258122205Sharti	struct uni_ie_epref	epref;
259122205Sharti};
260122205Shartistruct uniapi_party_destroyed {
261122205Sharti	struct uni_cref		cref;
262122205Sharti	struct uni_ie_epref	epref;
263122205Sharti};
264122205Shartistruct uniapi_abort_call_request {
265122205Sharti	struct uni_cref		cref;
266122205Sharti};
267122205Sharti
268122205Shartistruct uniapi_reset_request {
269122205Sharti	struct uni_ie_restart	restart;
270122205Sharti	struct uni_ie_connid	connid;
271122205Sharti};
272122205Sharti
273122205Shartistruct uniapi_reset_confirm {
274122205Sharti	struct uni_ie_restart	restart;
275122205Sharti	struct uni_ie_connid	connid;
276122205Sharti};
277122205Sharti
278122205Shartistruct uniapi_reset_indication {
279122205Sharti	struct uni_ie_restart	restart;
280122205Sharti	struct uni_ie_connid	connid;
281122205Sharti
282122205Sharti};
283122205Shartistruct uniapi_reset_error_indication {
284131826Sharti	uint32_t		source;		/* 0 - start, 1 - response */
285131826Sharti	uint32_t		reason;
286122205Sharti};
287122205Sharti
288122205Sharti#define UNIAPI_DEF_RESET_ERRORS(MACRO)				\
289122205Sharti	MACRO(UNIAPI_RESET_ERROR_NO_CONFIRM,		0,	\
290122205Sharti	    "no confirmation")					\
291122205Sharti	MACRO(UNIAPI_RESET_ERROR_NO_RESPONSE,		1,	\
292122205Sharti	    "no response")					\
293122205Sharti	MACRO(UNIAPI_RESET_ERROR_PEER_INCOMP_STATE,	2,	\
294122205Sharti	    "incompatible state")
295122205Shartienum {
296122205Sharti#define DEF(NAME, VALUE, STR) NAME = VALUE,
297122205ShartiUNIAPI_DEF_RESET_ERRORS(DEF)
298122205Sharti#undef DEF
299122205Sharti};
300122205Sharti
301122205Shartistruct uniapi_reset_response {
302122205Sharti	struct uni_ie_restart	restart;
303122205Sharti	struct uni_ie_connid	connid;
304122205Sharti};
305122205Sharti
306122205Shartistruct uniapi_reset_error_response {
307122205Sharti	struct uni_ie_cause	cause;
308122205Sharti};
309122205Sharti
310122205Shartistruct uniapi_reset_status_indication {
311122205Sharti	struct uni_cref		cref;		/* STATUS message CREF */
312122205Sharti	struct uni_ie_callstate	callstate;
313122205Sharti	struct uni_ie_cause	cause;
314122205Sharti};
315122205Sharti
316122205Shartistruct uniapi_setup_request {
317122205Sharti	struct uni_setup	setup;
318122205Sharti};
319122205Shartistruct uniapi_setup_indication {
320122205Sharti	struct uni_setup	setup;
321122205Sharti};
322122205Shartistruct uniapi_setup_response {
323122205Sharti	struct uni_connect	connect;
324122205Sharti};
325122205Shartistruct uniapi_setup_confirm {
326122205Sharti	struct uni_connect	connect;
327122205Sharti};
328122205Shartistruct uniapi_setup_complete_indication {
329122205Sharti	struct uni_connect_ack	connect_ack;
330122205Sharti};
331122205Shartistruct uniapi_setup_complete_request {
332122205Sharti	struct uni_connect_ack	connect_ack;
333122205Sharti};
334122205Sharti
335122205Shartistruct uniapi_alerting_request {
336122205Sharti	struct uni_alerting	alerting;
337122205Sharti};
338122205Sharti
339122205Shartistruct uniapi_alerting_indication {
340122205Sharti	struct uni_alerting	alerting;
341122205Sharti};
342122205Sharti
343122205Shartistruct uniapi_proceeding_request {
344122205Sharti	struct uni_call_proc	call_proc;
345122205Sharti};
346122205Sharti
347122205Shartistruct uniapi_proceeding_indication {
348122205Sharti	struct uni_call_proc	call_proc;
349122205Sharti};
350122205Sharti
351122205Sharti
352122205Shartistruct uniapi_release_request {
353122205Sharti	struct uni_release	release;
354122205Sharti};
355122205Shartistruct uniapi_release_indication {
356122205Sharti	struct uni_release	release;
357122205Sharti};
358122205Shartistruct uniapi_release_response {
359122205Sharti	struct uni_release_compl release_compl;
360122205Sharti};
361122205Sharti/*
362122205Sharti * A release confirm can come from a RELEASE COMPLETE or a RELEASE.
363122205Sharti * Because the IEs in a RELEASE COMPLETE are a subset of a RELEASE,
364122205Sharti * use the RELEASE here.
365122205Sharti */
366122205Shartistruct uniapi_release_confirm {
367122205Sharti	struct uni_release	release;
368122205Sharti};
369122205Sharti
370122205Shartistruct uniapi_notify_request {
371122205Sharti	struct uni_notify	notify;
372122205Sharti};
373122205Shartistruct uniapi_notify_indication {
374122205Sharti	struct uni_notify	notify;
375122205Sharti};
376122205Sharti
377122205Shartistruct uniapi_status_indication {
378122205Sharti	struct uni_cref		cref;
379122205Sharti	enum uni_callstate	my_state;
380122205Sharti	enum uni_cause		my_cause;
381122205Sharti	struct uni_ie_callstate	his_state;
382122205Sharti	struct uni_ie_cause	his_cause;
383122205Sharti	struct uni_ie_epref	epref;
384122205Sharti	struct uni_ie_epstate	epstate;
385122205Sharti};
386122205Shartistruct uniapi_status_enquiry_request {
387122205Sharti	struct uni_cref		cref;
388122205Sharti	struct uni_ie_epref	epref;
389122205Sharti};
390122205Sharti
391122205Shartistruct uniapi_add_party_request {
392122205Sharti	struct uni_add_party	add;
393122205Sharti};
394122205Shartistruct uniapi_add_party_indication {
395122205Sharti	struct uni_add_party	add;
396122205Sharti};
397122205Sharti
398122205Shartistruct uniapi_party_alerting_request {
399122205Sharti	struct uni_party_alerting alert;
400122205Sharti};
401122205Shartistruct uniapi_party_alerting_indication {
402122205Sharti	struct uni_party_alerting alert;
403122205Sharti};
404122205Sharti
405122205Shartistruct uniapi_add_party_ack_request {
406122205Sharti	struct uni_add_party_ack ack;
407122205Sharti};
408122205Shartistruct uniapi_add_party_ack_indication {
409122205Sharti	struct uni_add_party_ack ack;
410122205Sharti};
411122205Shartistruct uniapi_add_party_rej_request {
412122205Sharti	struct uni_add_party_rej rej;
413122205Sharti};
414122205Shartistruct uniapi_add_party_rej_indication {
415122205Sharti	struct uni_add_party_rej rej;
416122205Sharti};
417122205Sharti
418122205Shartistruct uniapi_drop_party_request {
419122205Sharti	struct uni_drop_party	drop;
420122205Sharti};
421122205Shartistruct uniapi_drop_party_indication {
422122205Sharti	struct uni_drop_party	drop;
423122205Sharti	struct uni_ie_cause	my_cause;
424122205Sharti};
425122205Sharti
426122205Shartistruct uniapi_drop_party_ack_request {
427122205Sharti	struct uni_drop_party_ack ack;
428122205Sharti};
429122205Shartistruct uniapi_drop_party_ack_indication {
430122205Sharti	struct uni_drop_party	drop;
431122205Sharti	struct uni_ie_crankback	crankback;
432122205Sharti};
433122205Sharti
434122205Shartiunion uniapi_all {
435122205Sharti	struct uniapi_error			error;
436122205Sharti	struct uniapi_call_created		call_created;
437122205Sharti	struct uniapi_call_destroyed		call_destroyed;
438122205Sharti	struct uniapi_party_created		party_created;
439122205Sharti	struct uniapi_party_destroyed		party_destroyed;
440122205Sharti	struct uniapi_abort_call_request	abort_call_request;
441122205Sharti	struct uniapi_reset_request		reset_request;
442122205Sharti	struct uniapi_reset_confirm		reset_confirm;
443122205Sharti	struct uniapi_reset_indication		reset_indication;
444122205Sharti	struct uniapi_reset_error_indication	reset_error_indication;
445122205Sharti	struct uniapi_reset_response		reset_response;
446122205Sharti	struct uniapi_reset_error_response	reset_error_response;
447122205Sharti	struct uniapi_reset_status_indication	reset_status_indication;
448122205Sharti	struct uniapi_setup_request		setup_request;
449122205Sharti	struct uniapi_setup_indication		setup_indication;
450122205Sharti	struct uniapi_setup_response		setup_response;
451122205Sharti	struct uniapi_setup_confirm		setup_confirm;
452122205Sharti	struct uniapi_setup_complete_indication	setup_complete_indication;
453122205Sharti	struct uniapi_setup_complete_request	setup_complete_request;
454122205Sharti	struct uniapi_alerting_request		alerting_request;
455122205Sharti	struct uniapi_alerting_indication	alerting_indication;
456122205Sharti	struct uniapi_proceeding_request	proceeding_request;
457122205Sharti	struct uniapi_proceeding_indication	proceeding_indication;
458122205Sharti	struct uniapi_release_request		release_request;
459122205Sharti	struct uniapi_release_indication	release_indication;
460122205Sharti	struct uniapi_release_response		release_response;
461122205Sharti	struct uniapi_release_confirm		release_confirm;
462122205Sharti	struct uniapi_notify_request		notify_request;
463122205Sharti	struct uniapi_notify_indication		notify_indication;
464122205Sharti	struct uniapi_status_indication		status_indication;
465122205Sharti	struct uniapi_status_enquiry_request	status_enquiry_request;
466122205Sharti	struct uniapi_add_party_request		add_party_request;
467122205Sharti	struct uniapi_add_party_indication	add_party_indication;
468122205Sharti	struct uniapi_party_alerting_request	party_alerting_request;
469122205Sharti	struct uniapi_party_alerting_indication	party_alerting_indication;
470122205Sharti	struct uniapi_add_party_ack_request	add_party_ack_request;
471122205Sharti	struct uniapi_add_party_ack_indication	add_party_ack_indication;
472122205Sharti	struct uniapi_add_party_rej_request	add_party_rej_request;
473122205Sharti	struct uniapi_add_party_rej_indication	add_party_rej_indication;
474122205Sharti	struct uniapi_drop_party_request	drop_party_request;
475122205Sharti	struct uniapi_drop_party_indication	drop_party_indication;
476122205Sharti	struct uniapi_drop_party_ack_request	drop_party_ack_request;
477122205Sharti	struct uniapi_drop_party_ack_indication	drop_party_ack_indication;
478122205Sharti};
479122205Sharti
480122205Sharti#endif
481