1122205Sharti/* 2122205Sharti * Copyright (c) 2002-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 * Kendy Kutzner <kutzner@fokus.fraunhofer.de> 29122205Sharti * 30133492Sharti * $Begemot: libunimsg/netnatm/sig/sig_print.c,v 1.6 2004/08/05 07:11:02 brandt Exp $ 31122205Sharti */ 32122205Sharti 33122205Sharti#include <sys/types.h> 34122205Sharti#ifdef _KERNEL 35122205Sharti#include <sys/param.h> 36122205Sharti#include <sys/systm.h> 37122205Sharti#include <sys/libkern.h> 38122205Sharti#include <machine/stdarg.h> 39122205Sharti#else 40122205Sharti#include <stdio.h> 41122205Sharti#include <stdlib.h> 42122205Sharti#include <string.h> 43122205Sharti#include <stdarg.h> 44122205Sharti#endif 45122205Sharti 46122205Sharti#include <netnatm/saal/sscfu.h> 47122205Sharti#include <netnatm/msg/uni_hdr.h> 48122205Sharti#include <netnatm/msg/unistruct.h> 49122205Sharti#include <netnatm/msg/unimsglib.h> 50122205Sharti#include <netnatm/msg/uniprint.h> 51122205Sharti#include <netnatm/sig/uni.h> 52122205Sharti#include <netnatm/sig/unisig.h> 53122205Sharti#include <netnatm/sig/unidef.h> 54122205Sharti 55122205Sharticonst char * 56122205Shartiuni_strerr(u_int err) 57122205Sharti{ 58122205Sharti static const char *const errstr[] = { 59133492Sharti#define DEF(NAME, VAL, STR) [UNIAPI_##NAME] = STR, 60122205ShartiUNIAPI_DEF_ERRORS(DEF) 61122205Sharti#undef DEF 62122205Sharti }; 63122205Sharti static char buf[100]; 64122205Sharti 65122205Sharti if (err >= sizeof(errstr)/sizeof(errstr[0]) || errstr[err] == NULL) { 66122205Sharti sprintf(buf, "Unknown error %u", err); 67122205Sharti return (buf); 68122205Sharti } 69122205Sharti return (errstr[err]); 70122205Sharti} 71122205Sharti 72133492Sharti#define D(M) [M] = #M 73122205Shartistatic const char *const msgs[] = { 74122205Sharti D(UNIAPI_ERROR), 75122205Sharti D(UNIAPI_CALL_CREATED), 76122205Sharti D(UNIAPI_CALL_DESTROYED), 77122205Sharti D(UNIAPI_PARTY_CREATED), 78122205Sharti D(UNIAPI_PARTY_DESTROYED), 79122205Sharti D(UNIAPI_LINK_ESTABLISH_request), 80122205Sharti D(UNIAPI_LINK_ESTABLISH_confirm), 81122205Sharti D(UNIAPI_LINK_RELEASE_request), 82122205Sharti D(UNIAPI_LINK_RELEASE_confirm), 83122205Sharti D(UNIAPI_RESET_request), 84122205Sharti D(UNIAPI_RESET_confirm), 85122205Sharti D(UNIAPI_RESET_indication), 86122205Sharti D(UNIAPI_RESET_ERROR_indication), 87122205Sharti D(UNIAPI_RESET_response), 88122205Sharti D(UNIAPI_RESET_ERROR_response), 89122205Sharti D(UNIAPI_RESET_STATUS_indication), 90122205Sharti D(UNIAPI_SETUP_request), 91122205Sharti D(UNIAPI_SETUP_indication), 92122205Sharti D(UNIAPI_SETUP_response), 93122205Sharti D(UNIAPI_SETUP_confirm), 94122205Sharti D(UNIAPI_SETUP_COMPLETE_indication), 95122205Sharti D(UNIAPI_SETUP_COMPLETE_request), 96122205Sharti D(UNIAPI_ALERTING_request), 97122205Sharti D(UNIAPI_ALERTING_indication), 98122205Sharti D(UNIAPI_PROCEEDING_request), 99122205Sharti D(UNIAPI_PROCEEDING_indication), 100122205Sharti D(UNIAPI_RELEASE_request), 101122205Sharti D(UNIAPI_RELEASE_indication), 102122205Sharti D(UNIAPI_RELEASE_response), 103122205Sharti D(UNIAPI_RELEASE_confirm), 104122205Sharti D(UNIAPI_NOTIFY_request), 105122205Sharti D(UNIAPI_NOTIFY_indication), 106122205Sharti D(UNIAPI_STATUS_indication), 107122205Sharti D(UNIAPI_STATUS_ENQUIRY_request), 108122205Sharti D(UNIAPI_ADD_PARTY_request), 109122205Sharti D(UNIAPI_ADD_PARTY_indication), 110122205Sharti D(UNIAPI_PARTY_ALERTING_request), 111122205Sharti D(UNIAPI_PARTY_ALERTING_indication), 112122205Sharti D(UNIAPI_ADD_PARTY_ACK_request), 113122205Sharti D(UNIAPI_ADD_PARTY_ACK_indication), 114122205Sharti D(UNIAPI_ADD_PARTY_REJ_request), 115122205Sharti D(UNIAPI_ADD_PARTY_REJ_indication), 116122205Sharti D(UNIAPI_DROP_PARTY_request), 117122205Sharti D(UNIAPI_DROP_PARTY_indication), 118122205Sharti D(UNIAPI_DROP_PARTY_ACK_request), 119122205Sharti D(UNIAPI_DROP_PARTY_ACK_indication), 120122205Sharti D(UNIAPI_ABORT_CALL_request), 121122205Sharti}; 122122205Sharti#undef D 123122205Sharti 124122205Shartivoid 125122205Shartiuni_print_api(char *buf, size_t bufsiz, u_int type, u_int cookie, 126122205Sharti const void *msg, struct unicx *cx) 127122205Sharti{ 128122205Sharti int old_dont_init = cx->dont_init; 129122205Sharti 130122205Sharti uni_print_init(buf, bufsiz, cx); 131122205Sharti cx->dont_init = 1; 132122205Sharti 133122205Sharti if (type >= sizeof(msgs) / sizeof(msgs[0]) || msgs[type] == NULL) { 134122205Sharti uni_print_flag("UNIAPI_UNKNOWN", cx); 135122205Sharti uni_print_entry(cx, "sig", "%u", type); 136122205Sharti uni_print_entry(cx, "cookie", "%u", cookie); 137122205Sharti goto out; 138122205Sharti } 139122205Sharti 140122205Sharti uni_print_flag(msgs[type], cx); 141122205Sharti uni_print_entry(cx, "cookie", "%u", cookie); 142122205Sharti cx->indent++; 143122205Sharti 144122205Sharti switch (type) { 145122205Sharti 146122205Sharti case UNIAPI_ERROR: 147122205Sharti { 148122205Sharti const struct uniapi_error *api = msg; 149122205Sharti 150122205Sharti uni_print_eol(cx); 151122205Sharti uni_print_entry(cx, "reason", "%s", uni_strerr(api->reason)); 152122205Sharti uni_print_entry(cx, "state", "U%u", api->state); 153122205Sharti break; 154122205Sharti } 155122205Sharti 156122205Sharti case UNIAPI_CALL_CREATED: 157122205Sharti { 158122205Sharti const struct uniapi_call_created *api = msg; 159122205Sharti 160122205Sharti uni_print_cref(NULL, 0, &api->cref, cx); 161122205Sharti break; 162122205Sharti } 163122205Sharti 164122205Sharti case UNIAPI_CALL_DESTROYED: 165122205Sharti { 166122205Sharti const struct uniapi_call_destroyed *api = msg; 167122205Sharti 168122205Sharti uni_print_cref(NULL, 0, &api->cref, cx); 169122205Sharti break; 170122205Sharti } 171122205Sharti 172122205Sharti case UNIAPI_PARTY_CREATED: 173122205Sharti { 174122205Sharti const struct uniapi_party_created *api = msg; 175122205Sharti 176122205Sharti uni_print_cref(NULL, 0, &api->cref, cx); 177122205Sharti uni_print_eol(cx); 178122205Sharti uni_print_ie(NULL, 0, UNI_IE_EPREF, 179122205Sharti (const union uni_ieall *)&api->epref, cx); 180122205Sharti break; 181122205Sharti } 182122205Sharti 183122205Sharti case UNIAPI_PARTY_DESTROYED: 184122205Sharti { 185122205Sharti const struct uniapi_party_destroyed *api = msg; 186122205Sharti 187122205Sharti uni_print_cref(NULL, 0, &api->cref, cx); 188122205Sharti uni_print_eol(cx); 189122205Sharti uni_print_ie(NULL, 0, UNI_IE_EPREF, 190122205Sharti (const union uni_ieall *)&api->epref, cx); 191122205Sharti break; 192122205Sharti } 193122205Sharti 194122205Sharti case UNIAPI_LINK_ESTABLISH_request: 195122205Sharti case UNIAPI_LINK_ESTABLISH_confirm: 196122205Sharti case UNIAPI_LINK_RELEASE_request: 197122205Sharti case UNIAPI_LINK_RELEASE_confirm: 198122205Sharti break; 199122205Sharti 200122205Sharti case UNIAPI_RESET_request: 201122205Sharti { 202122205Sharti const struct uniapi_reset_request *api = msg; 203122205Sharti 204122205Sharti uni_print_eol(cx); 205122205Sharti uni_print_ie(NULL, 0, UNI_IE_RESTART, 206122205Sharti (const union uni_ieall *)&api->restart, cx); 207122205Sharti uni_print_eol(cx); 208122205Sharti uni_print_ie(NULL, 0, UNI_IE_CONNID, 209122205Sharti (const union uni_ieall *)&api->restart, cx); 210122205Sharti break; 211122205Sharti } 212122205Sharti 213122205Sharti case UNIAPI_RESET_confirm: 214122205Sharti { 215122205Sharti const struct uniapi_reset_confirm *api = msg; 216122205Sharti 217122205Sharti uni_print_eol(cx); 218122205Sharti uni_print_ie(NULL, 0, UNI_IE_RESTART, 219122205Sharti (const union uni_ieall *)&api->restart, cx); 220122205Sharti uni_print_eol(cx); 221122205Sharti uni_print_ie(NULL, 0, UNI_IE_CONNID, 222122205Sharti (const union uni_ieall *)&api->restart, cx); 223122205Sharti break; 224122205Sharti } 225122205Sharti 226122205Sharti case UNIAPI_RESET_indication: 227122205Sharti { 228122205Sharti const struct uniapi_reset_indication *api = msg; 229122205Sharti 230122205Sharti uni_print_eol(cx); 231122205Sharti uni_print_ie(NULL, 0, UNI_IE_RESTART, 232122205Sharti (const union uni_ieall *)&api->restart, cx); 233122205Sharti uni_print_eol(cx); 234122205Sharti uni_print_ie(NULL, 0, UNI_IE_CONNID, 235122205Sharti (const union uni_ieall *)&api->restart, cx); 236122205Sharti break; 237122205Sharti } 238122205Sharti 239122205Sharti case UNIAPI_RESET_ERROR_indication: 240122205Sharti { 241122205Sharti const struct uniapi_reset_error_indication *api = msg; 242122205Sharti static const struct uni_print_tbl reason[] = { 243122205Sharti#define DEF(NAME, VALUE, STR) { STR, VALUE }, 244122205Sharti UNIAPI_DEF_RESET_ERRORS(DEF) 245122205Sharti#undef DEF 246122205Sharti { NULL, 0 } 247122205Sharti }; 248122205Sharti static const struct uni_print_tbl source[] = { 249122205Sharti { "start", 0 }, 250122205Sharti { "respond", 1 }, 251122205Sharti { NULL, 0 } 252122205Sharti }; 253122205Sharti 254122205Sharti uni_print_eol(cx); 255122205Sharti uni_print_tbl("source", api->source, source, cx); 256122205Sharti uni_print_tbl("reason", api->reason, reason, cx); 257122205Sharti break; 258122205Sharti } 259122205Sharti 260122205Sharti case UNIAPI_RESET_response: 261122205Sharti { 262122205Sharti const struct uniapi_reset_response *api = msg; 263122205Sharti 264122205Sharti uni_print_eol(cx); 265122205Sharti uni_print_ie(NULL, 0, UNI_IE_RESTART, 266122205Sharti (const union uni_ieall *)&api->restart, cx); 267122205Sharti uni_print_eol(cx); 268122205Sharti uni_print_ie(NULL, 0, UNI_IE_CONNID, 269122205Sharti (const union uni_ieall *)&api->restart, cx); 270122205Sharti break; 271122205Sharti } 272122205Sharti 273122205Sharti case UNIAPI_RESET_ERROR_response: 274122205Sharti { 275122205Sharti const struct uniapi_reset_error_response *api = msg; 276122205Sharti 277122205Sharti uni_print_eol(cx); 278122205Sharti uni_print_ie(NULL, 0, UNI_IE_CAUSE, 279122205Sharti (const union uni_ieall *)&api->cause, cx); 280122205Sharti break; 281122205Sharti } 282122205Sharti 283122205Sharti case UNIAPI_RESET_STATUS_indication: 284122205Sharti { 285122205Sharti const struct uniapi_reset_status_indication *api = msg; 286122205Sharti 287122205Sharti uni_print_cref(NULL, 0, &api->cref, cx); 288122205Sharti uni_print_eol(cx); 289122205Sharti uni_print_ie(NULL, 0, UNI_IE_CALLSTATE, 290122205Sharti (const union uni_ieall *)&api->callstate, cx); 291122205Sharti uni_print_eol(cx); 292122205Sharti uni_print_ie(NULL, 0, UNI_IE_CAUSE, 293122205Sharti (const union uni_ieall *)&api->cause, cx); 294122205Sharti break; 295122205Sharti } 296122205Sharti 297122205Sharti case UNIAPI_SETUP_request: 298122205Sharti { 299122205Sharti const struct uniapi_setup_request *api = msg; 300122205Sharti 301122205Sharti uni_print_eol(cx); 302122205Sharti uni_print_msg(NULL, 0, UNI_SETUP, 303122205Sharti (const union uni_msgall *)&api->setup, cx); 304122205Sharti break; 305122205Sharti } 306122205Sharti 307122205Sharti case UNIAPI_SETUP_indication: 308122205Sharti { 309122205Sharti const struct uniapi_setup_indication *api = msg; 310122205Sharti 311122205Sharti uni_print_eol(cx); 312122205Sharti uni_print_msg(NULL, 0, UNI_SETUP, 313122205Sharti (const union uni_msgall *)&api->setup, cx); 314122205Sharti break; 315122205Sharti } 316122205Sharti 317122205Sharti case UNIAPI_SETUP_response: 318122205Sharti { 319122205Sharti const struct uniapi_setup_response *api = msg; 320122205Sharti 321122205Sharti uni_print_eol(cx); 322122205Sharti uni_print_msg(NULL, 0, UNI_CONNECT, 323122205Sharti (const union uni_msgall *)&api->connect, cx); 324122205Sharti break; 325122205Sharti } 326122205Sharti 327122205Sharti case UNIAPI_SETUP_confirm: 328122205Sharti { 329122205Sharti const struct uniapi_setup_confirm *api = msg; 330122205Sharti 331122205Sharti uni_print_eol(cx); 332122205Sharti uni_print_msg(NULL, 0, UNI_CONNECT, 333122205Sharti (const union uni_msgall *)&api->connect, cx); 334122205Sharti break; 335122205Sharti } 336122205Sharti 337122205Sharti case UNIAPI_SETUP_COMPLETE_indication: 338122205Sharti { 339122205Sharti const struct uniapi_setup_complete_indication *api = msg; 340122205Sharti 341122205Sharti uni_print_eol(cx); 342122205Sharti uni_print_msg(NULL, 0, UNI_CONNECT_ACK, 343122205Sharti (const union uni_msgall *)&api->connect_ack, cx); 344122205Sharti break; 345122205Sharti } 346122205Sharti 347122205Sharti case UNIAPI_SETUP_COMPLETE_request: 348122205Sharti { 349122205Sharti const struct uniapi_setup_complete_request *api = msg; 350122205Sharti 351122205Sharti uni_print_eol(cx); 352122205Sharti uni_print_msg(NULL, 0, UNI_CONNECT_ACK, 353122205Sharti (const union uni_msgall *)&api->connect_ack, cx); 354122205Sharti break; 355122205Sharti } 356122205Sharti 357122205Sharti case UNIAPI_ALERTING_request: 358122205Sharti { 359122205Sharti const struct uniapi_alerting_request *api = msg; 360122205Sharti 361122205Sharti uni_print_eol(cx); 362122205Sharti uni_print_msg(NULL, 0, UNI_ALERTING, 363122205Sharti (const union uni_msgall *)&api->alerting, cx); 364122205Sharti break; 365122205Sharti } 366122205Sharti 367122205Sharti case UNIAPI_ALERTING_indication: 368122205Sharti { 369122205Sharti const struct uniapi_alerting_indication *api = msg; 370122205Sharti 371122205Sharti uni_print_eol(cx); 372122205Sharti uni_print_msg(NULL, 0, UNI_ALERTING, 373122205Sharti (const union uni_msgall *)&api->alerting, cx); 374122205Sharti break; 375122205Sharti } 376122205Sharti 377122205Sharti case UNIAPI_PROCEEDING_request: 378122205Sharti { 379122205Sharti const struct uniapi_proceeding_request *api = msg; 380122205Sharti 381122205Sharti uni_print_eol(cx); 382122205Sharti uni_print_msg(NULL, 0, UNI_CALL_PROC, 383122205Sharti (const union uni_msgall *)&api->call_proc, cx); 384122205Sharti break; 385122205Sharti } 386122205Sharti 387122205Sharti case UNIAPI_PROCEEDING_indication: 388122205Sharti { 389122205Sharti const struct uniapi_proceeding_indication *api = msg; 390122205Sharti 391122205Sharti uni_print_eol(cx); 392122205Sharti uni_print_msg(NULL, 0, UNI_CALL_PROC, 393122205Sharti (const union uni_msgall *)&api->call_proc, cx); 394122205Sharti break; 395122205Sharti } 396122205Sharti 397122205Sharti case UNIAPI_RELEASE_request: 398122205Sharti { 399122205Sharti const struct uniapi_release_request *api = msg; 400122205Sharti 401122205Sharti uni_print_eol(cx); 402122205Sharti uni_print_msg(NULL, 0, UNI_RELEASE, 403122205Sharti (const union uni_msgall *)&api->release, cx); 404122205Sharti break; 405122205Sharti } 406122205Sharti 407122205Sharti case UNIAPI_RELEASE_indication: 408122205Sharti { 409122205Sharti const struct uniapi_release_indication *api = msg; 410122205Sharti 411122205Sharti uni_print_eol(cx); 412122205Sharti uni_print_msg(NULL, 0, UNI_RELEASE, 413122205Sharti (const union uni_msgall *)&api->release, cx); 414122205Sharti break; 415122205Sharti } 416122205Sharti 417122205Sharti case UNIAPI_RELEASE_response: 418122205Sharti { 419122205Sharti const struct uniapi_release_response *api = msg; 420122205Sharti 421122205Sharti uni_print_eol(cx); 422122205Sharti uni_print_msg(NULL, 0, UNI_RELEASE_COMPL, 423122205Sharti (const union uni_msgall *)&api->release_compl, cx); 424122205Sharti break; 425122205Sharti } 426122205Sharti case UNIAPI_RELEASE_confirm: 427122205Sharti { 428122205Sharti const struct uniapi_release_confirm *api = msg; 429122205Sharti 430122205Sharti uni_print_eol(cx); 431122205Sharti uni_print_msg(NULL, 0, UNI_RELEASE, 432122205Sharti (const union uni_msgall *)&api->release, cx); 433122205Sharti break; 434122205Sharti } 435122205Sharti 436122205Sharti case UNIAPI_NOTIFY_request: 437122205Sharti { 438122205Sharti const struct uniapi_notify_request *api = msg; 439122205Sharti 440122205Sharti uni_print_eol(cx); 441122205Sharti uni_print_msg(NULL, 0, UNI_NOTIFY, 442122205Sharti (const union uni_msgall *)&api->notify, cx); 443122205Sharti break; 444122205Sharti } 445122205Sharti 446122205Sharti case UNIAPI_NOTIFY_indication: 447122205Sharti { 448122205Sharti const struct uniapi_notify_indication *api = msg; 449122205Sharti 450122205Sharti uni_print_eol(cx); 451122205Sharti uni_print_msg(NULL, 0, UNI_NOTIFY, 452122205Sharti (const union uni_msgall *)&api->notify, cx); 453122205Sharti break; 454122205Sharti } 455122205Sharti 456122205Sharti case UNIAPI_STATUS_indication: 457122205Sharti { 458122205Sharti const struct uniapi_status_indication *api = msg; 459122205Sharti 460122205Sharti uni_print_cref(NULL, 0, &api->cref, cx); 461122205Sharti uni_print_eol(cx); 462122205Sharti uni_print_entry(cx, "my_state", "U%u", api->my_state); 463122205Sharti uni_print_entry(cx, "my_cause", "%s", 464122205Sharti uni_ie_cause2str(UNI_CODING_ITU, api->my_cause)); 465122205Sharti uni_print_eol(cx); 466122205Sharti uni_print_ie(NULL, 0, UNI_IE_CALLSTATE, 467122205Sharti (const union uni_ieall *)&api->his_state, cx); 468122205Sharti uni_print_eol(cx); 469122205Sharti uni_print_ie(NULL, 0, UNI_IE_CAUSE, 470122205Sharti (const union uni_ieall *)&api->his_cause, cx); 471122205Sharti uni_print_eol(cx); 472122205Sharti uni_print_ie(NULL, 0, UNI_IE_EPREF, 473122205Sharti (const union uni_ieall *)&api->epref, cx); 474122205Sharti break; 475122205Sharti } 476122205Sharti 477122205Sharti case UNIAPI_STATUS_ENQUIRY_request: 478122205Sharti { 479122205Sharti const struct uniapi_status_enquiry_request *api = msg; 480122205Sharti 481122205Sharti uni_print_cref(NULL, 0, &api->cref, cx); 482122205Sharti uni_print_eol(cx); 483122205Sharti uni_print_ie(NULL, 0, UNI_IE_EPREF, 484122205Sharti (const union uni_ieall *)&api->epref, cx); 485122205Sharti break; 486122205Sharti } 487122205Sharti 488122205Sharti case UNIAPI_ADD_PARTY_request: 489122205Sharti { 490122205Sharti const struct uniapi_add_party_request *api = msg; 491122205Sharti 492122205Sharti uni_print_eol(cx); 493122205Sharti uni_print_msg(NULL, 0, UNI_ADD_PARTY, 494122205Sharti (const union uni_msgall *)&api->add, cx); 495122205Sharti break; 496122205Sharti } 497122205Sharti 498122205Sharti case UNIAPI_ADD_PARTY_indication: 499122205Sharti { 500122205Sharti const struct uniapi_add_party_indication *api = msg; 501122205Sharti 502122205Sharti uni_print_eol(cx); 503122205Sharti uni_print_msg(NULL, 0, UNI_ADD_PARTY, 504122205Sharti (const union uni_msgall *)&api->add, cx); 505122205Sharti break; 506122205Sharti } 507122205Sharti 508122205Sharti case UNIAPI_PARTY_ALERTING_request: 509122205Sharti { 510122205Sharti const struct uniapi_party_alerting_request *api = msg; 511122205Sharti 512122205Sharti uni_print_eol(cx); 513122205Sharti uni_print_msg(NULL, 0, UNI_PARTY_ALERTING, 514122205Sharti (const union uni_msgall *)&api->alert, cx); 515122205Sharti break; 516122205Sharti } 517122205Sharti 518122205Sharti case UNIAPI_PARTY_ALERTING_indication: 519122205Sharti { 520122205Sharti const struct uniapi_party_alerting_indication *api = msg; 521122205Sharti 522122205Sharti uni_print_eol(cx); 523122205Sharti uni_print_msg(NULL, 0, UNI_PARTY_ALERTING, 524122205Sharti (const union uni_msgall *)&api->alert, cx); 525122205Sharti break; 526122205Sharti } 527122205Sharti 528122205Sharti case UNIAPI_ADD_PARTY_ACK_request: 529122205Sharti { 530122205Sharti const struct uniapi_add_party_ack_request *api = msg; 531122205Sharti 532122205Sharti uni_print_eol(cx); 533122205Sharti uni_print_msg(NULL, 0, UNI_ADD_PARTY_ACK, 534122205Sharti (const union uni_msgall *)&api->ack, cx); 535122205Sharti break; 536122205Sharti } 537122205Sharti 538122205Sharti case UNIAPI_ADD_PARTY_ACK_indication: 539122205Sharti { 540122205Sharti const struct uniapi_add_party_ack_indication *api = msg; 541122205Sharti 542122205Sharti uni_print_eol(cx); 543122205Sharti uni_print_msg(NULL, 0, UNI_ADD_PARTY_ACK, 544122205Sharti (const union uni_msgall *)&api->ack, cx); 545122205Sharti break; 546122205Sharti } 547122205Sharti 548122205Sharti case UNIAPI_ADD_PARTY_REJ_request: 549122205Sharti { 550122205Sharti const struct uniapi_add_party_rej_request *api = msg; 551122205Sharti 552122205Sharti uni_print_eol(cx); 553122205Sharti uni_print_msg(NULL, 0, UNI_ADD_PARTY_REJ, 554122205Sharti (const union uni_msgall *)&api->rej, cx); 555122205Sharti break; 556122205Sharti } 557122205Sharti 558122205Sharti case UNIAPI_ADD_PARTY_REJ_indication: 559122205Sharti { 560122205Sharti const struct uniapi_add_party_rej_indication *api = msg; 561122205Sharti 562122205Sharti uni_print_eol(cx); 563122205Sharti uni_print_msg(NULL, 0, UNI_ADD_PARTY_REJ, 564122205Sharti (const union uni_msgall *)&api->rej, cx); 565122205Sharti break; 566122205Sharti } 567122205Sharti 568122205Sharti case UNIAPI_DROP_PARTY_request: 569122205Sharti { 570122205Sharti const struct uniapi_drop_party_request *api = msg; 571122205Sharti 572122205Sharti uni_print_eol(cx); 573122205Sharti uni_print_msg(NULL, 0, UNI_DROP_PARTY, 574122205Sharti (const union uni_msgall *)&api->drop, cx); 575122205Sharti break; 576122205Sharti } 577122205Sharti 578122205Sharti case UNIAPI_DROP_PARTY_indication: 579122205Sharti { 580122205Sharti const struct uniapi_drop_party_indication *api = msg; 581122205Sharti 582122205Sharti uni_print_eol(cx); 583122205Sharti uni_print_msg(NULL, 0, UNI_DROP_PARTY, 584122205Sharti (const union uni_msgall *)&api->drop, cx); 585122205Sharti break; 586122205Sharti } 587122205Sharti 588122205Sharti case UNIAPI_DROP_PARTY_ACK_request: 589122205Sharti { 590122205Sharti const struct uniapi_drop_party_ack_request *api = msg; 591122205Sharti 592122205Sharti uni_print_eol(cx); 593122205Sharti uni_print_msg(NULL, 0, UNI_DROP_PARTY_ACK, 594122205Sharti (const union uni_msgall *)&api->ack, cx); 595122205Sharti break; 596122205Sharti } 597122205Sharti 598122205Sharti case UNIAPI_DROP_PARTY_ACK_indication: 599122205Sharti { 600122205Sharti const struct uniapi_drop_party_ack_indication *api = msg; 601122205Sharti 602122205Sharti uni_print_eol(cx); 603122205Sharti uni_print_msg(NULL, 0, UNI_DROP_PARTY, 604122205Sharti (const union uni_msgall *)&api->drop, cx); 605122205Sharti uni_print_eol(cx); 606122205Sharti uni_print_ie(NULL, 0, UNI_IE_CRANKBACK, 607122205Sharti (const union uni_ieall *)&api->crankback, cx); 608122205Sharti break; 609122205Sharti } 610122205Sharti 611122205Sharti case UNIAPI_ABORT_CALL_request: 612122205Sharti { 613122205Sharti const struct uniapi_abort_call_request *api = msg; 614122205Sharti 615122205Sharti uni_print_cref(NULL, 0, &api->cref, cx); 616122205Sharti break; 617122205Sharti } 618122205Sharti } 619122205Sharti 620122205Sharti out: 621122205Sharti cx->dont_init = old_dont_init; 622122205Sharti} 623