/*
 * This file was generated by orbit-idl - DO NOT EDIT!
 */

#include <string.h>
#include "trxctrl.h"

void
_ORBIT_Trx_TrxError_demarshal(GIOPRecvBuffer * _ORBIT_recv_buffer,
			      CORBA_Environment * ev)
{
   guchar *_ORBIT_curptr;
   register CORBA_unsigned_long _ORBIT_tmpvar_0;
   CORBA_unsigned_long _ORBIT_tmpvar_1;
   Trx_TrxError *_ORBIT_exdata = Trx_TrxError__alloc();

   _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur;
   if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) {
      _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
      (*((guint32 *) & (_ORBIT_tmpvar_1))) =
	 GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
      _ORBIT_curptr += 4;
      (*_ORBIT_exdata).reason = CORBA_string_alloc(_ORBIT_tmpvar_1);
      memcpy((*_ORBIT_exdata).reason, _ORBIT_curptr,
	     sizeof((*_ORBIT_exdata).reason[_ORBIT_tmpvar_0]) *
	     _ORBIT_tmpvar_1);
      _ORBIT_curptr +=
	 sizeof((*_ORBIT_exdata).reason[_ORBIT_tmpvar_0]) * _ORBIT_tmpvar_1;
   } else {
      _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
      _ORBIT_tmpvar_1 = *((CORBA_unsigned_long *) _ORBIT_curptr);
      _ORBIT_curptr += 4;
      (*_ORBIT_exdata).reason = CORBA_string_alloc(_ORBIT_tmpvar_1);
      memcpy((*_ORBIT_exdata).reason, _ORBIT_curptr,
	     sizeof((*_ORBIT_exdata).reason[_ORBIT_tmpvar_0]) *
	     _ORBIT_tmpvar_1);
      _ORBIT_curptr +=
	 sizeof((*_ORBIT_exdata).reason[_ORBIT_tmpvar_0]) * _ORBIT_tmpvar_1;
   }
   CORBA_exception_set(ev, CORBA_USER_EXCEPTION,
		       TC_Trx_TrxError_struct.repo_id, _ORBIT_exdata);
}

void
Trx_Control_GetDescription(Trx_Control _obj, Trx_TrxDescription ** desc,
			   CORBA_Environment * ev)
{
   register GIOP_unsigned_long _ORBIT_request_id,
    _ORBIT_system_exception_minor;
   register CORBA_completion_status _ORBIT_completion_status;
   register GIOPSendBuffer *_ORBIT_send_buffer;
   register GIOPRecvBuffer *_ORBIT_recv_buffer;
   register GIOPConnection *_cnx;
   register CORBA_unsigned_long _ORBIT_tmpvar_10;
   CORBA_unsigned_long _ORBIT_tmpvar_11;
   register CORBA_unsigned_long _ORBIT_tmpvar_12;
   CORBA_unsigned_long _ORBIT_tmpvar_13;
   register CORBA_unsigned_long _ORBIT_tmpvar_14;
   CORBA_unsigned_long _ORBIT_tmpvar_15;
   register CORBA_unsigned_long _ORBIT_tmpvar_16;
   CORBA_unsigned_long _ORBIT_tmpvar_17;
   register CORBA_unsigned_long _ORBIT_tmpvar_18;
   register CORBA_unsigned_long _ORBIT_tmpvar_19;

   if (_obj->servant && _obj->vepv && Trx_Control__classid) {
      ((POA_Trx_Control__epv *) _obj->vepv[Trx_Control__classid])->
	 GetDescription(_obj->servant, desc, ev);
      return;
   }
   _cnx = ORBit_object_get_connection(_obj);
 _ORBIT_retry_request:
   _ORBIT_send_buffer = NULL;
   _ORBIT_recv_buffer = NULL;
   _ORBIT_completion_status = CORBA_COMPLETED_NO;
   _ORBIT_request_id = GPOINTER_TO_UINT(alloca(0));
   {				/* marshalling */
      static const struct
      {
	 CORBA_unsigned_long len;
	 char opname[15];
      }
      _ORBIT_operation_name_data =
      {
      15, "GetDescription"};
      static const struct iovec _ORBIT_operation_vec =
	 { (gpointer) & _ORBIT_operation_name_data, 19 };
      _ORBIT_send_buffer =
	 giop_send_request_buffer_use(_cnx, NULL, _ORBIT_request_id,
				      CORBA_TRUE,
				      &(_obj->active_profile->object_key_vec),
				      &_ORBIT_operation_vec,
				      &ORBit_default_principal_iovec);

      _ORBIT_system_exception_minor = ex_CORBA_COMM_FAILURE;
      if (!_ORBIT_send_buffer)
	 goto _ORBIT_system_exception;
      giop_send_buffer_write(_ORBIT_send_buffer);
      _ORBIT_completion_status = CORBA_COMPLETED_MAYBE;
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      _ORBIT_send_buffer = NULL;
   }
   {				/* demarshalling */
      register guchar *_ORBIT_curptr;

      _ORBIT_recv_buffer =
	 giop_recv_reply_buffer_use_2(_cnx, _ORBIT_request_id, TRUE);
      if (!_ORBIT_recv_buffer)
	 goto _ORBIT_system_exception;
      _ORBIT_completion_status = CORBA_COMPLETED_YES;
      if (_ORBIT_recv_buffer->message.u.reply.reply_status !=
	  GIOP_NO_EXCEPTION)
	 goto _ORBIT_msg_exception;
      *desc = Trx_TrxDescription__alloc();
      _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur;
      if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) {
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 (*((guint32 *) & (_ORBIT_tmpvar_11))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 ((**desc)).manufacturer = CORBA_string_alloc(_ORBIT_tmpvar_11);
	 memcpy(((**desc)).manufacturer, _ORBIT_curptr,
		sizeof(((**desc)).manufacturer[_ORBIT_tmpvar_10]) *
		_ORBIT_tmpvar_11);
	 _ORBIT_curptr +=
	    sizeof(((**desc)).manufacturer[_ORBIT_tmpvar_10]) *
	    _ORBIT_tmpvar_11;
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 (*((guint32 *) & (_ORBIT_tmpvar_13))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 ((**desc)).model = CORBA_string_alloc(_ORBIT_tmpvar_13);
	 memcpy(((**desc)).model, _ORBIT_curptr,
		sizeof(((**desc)).model[_ORBIT_tmpvar_12]) *
		_ORBIT_tmpvar_13);
	 _ORBIT_curptr +=
	    sizeof(((**desc)).model[_ORBIT_tmpvar_12]) * _ORBIT_tmpvar_13;
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 (*((guint32 *) & (_ORBIT_tmpvar_15))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 ((**desc)).copyright = CORBA_string_alloc(_ORBIT_tmpvar_15);
	 memcpy(((**desc)).copyright, _ORBIT_curptr,
		sizeof(((**desc)).copyright[_ORBIT_tmpvar_14]) *
		_ORBIT_tmpvar_15);
	 _ORBIT_curptr +=
	    sizeof(((**desc)).copyright[_ORBIT_tmpvar_14]) * _ORBIT_tmpvar_15;
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 (*((guint32 *) & (_ORBIT_tmpvar_17))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 ((**desc)).instid = CORBA_string_alloc(_ORBIT_tmpvar_17);
	 memcpy(((**desc)).instid, _ORBIT_curptr,
		sizeof(((**desc)).instid[_ORBIT_tmpvar_16]) *
		_ORBIT_tmpvar_17);
	 _ORBIT_curptr +=
	    sizeof(((**desc)).instid[_ORBIT_tmpvar_16]) * _ORBIT_tmpvar_17;
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 (*((guint32 *) & (((**desc)).rxbands._length))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 ((**desc)).rxbands._maximum = ((**desc)).rxbands._length;
	 ((**desc)).rxbands._buffer =
	    CORBA_sequence_Trx_TrxBandDescription_allocbuf(((**desc)).rxbands.
							   _length);
	 ((**desc)).rxbands._release = CORBA_TRUE;
	 for (_ORBIT_tmpvar_18 = 0;
	      _ORBIT_tmpvar_18 < ((**desc)).rxbands._length;
	      _ORBIT_tmpvar_18++) {
	    _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 8);
	    iiop_byteswap((guchar *) &
			  (((**desc)).rxbands._buffer[_ORBIT_tmpvar_18].low),
			  _ORBIT_curptr, 8);
	    _ORBIT_curptr += 8;
	    iiop_byteswap((guchar *) &
			  (((**desc)).rxbands._buffer[_ORBIT_tmpvar_18].high),
			  _ORBIT_curptr, 8);
	    _ORBIT_curptr += 8;
	    iiop_byteswap((guchar *) &
			  (((**desc)).rxbands._buffer[_ORBIT_tmpvar_18].step),
			  _ORBIT_curptr, 8);
	    _ORBIT_curptr += 8;
	 }

	 (*((guint32 *) & (((**desc)).txbands._length))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 ((**desc)).txbands._maximum = ((**desc)).txbands._length;
	 ((**desc)).txbands._buffer =
	    CORBA_sequence_Trx_TrxBandDescription_allocbuf(((**desc)).txbands.
							   _length);
	 ((**desc)).txbands._release = CORBA_TRUE;
	 for (_ORBIT_tmpvar_19 = 0;
	      _ORBIT_tmpvar_19 < ((**desc)).txbands._length;
	      _ORBIT_tmpvar_19++) {
	    _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 8);
	    iiop_byteswap((guchar *) &
			  (((**desc)).txbands._buffer[_ORBIT_tmpvar_19].low),
			  _ORBIT_curptr, 8);
	    _ORBIT_curptr += 8;
	    iiop_byteswap((guchar *) &
			  (((**desc)).txbands._buffer[_ORBIT_tmpvar_19].high),
			  _ORBIT_curptr, 8);
	    _ORBIT_curptr += 8;
	    iiop_byteswap((guchar *) &
			  (((**desc)).txbands._buffer[_ORBIT_tmpvar_19].step),
			  _ORBIT_curptr, 8);
	    _ORBIT_curptr += 8;
	 }

	 (*((guint32 *) & (((**desc)).rssimin))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 (*((guint32 *) & (((**desc)).rssimax))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
      } else {
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 _ORBIT_tmpvar_11 = *((CORBA_unsigned_long *) _ORBIT_curptr);
	 _ORBIT_curptr += 4;
	 ((**desc)).manufacturer = CORBA_string_alloc(_ORBIT_tmpvar_11);
	 memcpy(((**desc)).manufacturer, _ORBIT_curptr,
		sizeof(((**desc)).manufacturer[_ORBIT_tmpvar_10]) *
		_ORBIT_tmpvar_11);
	 _ORBIT_curptr +=
	    sizeof(((**desc)).manufacturer[_ORBIT_tmpvar_10]) *
	    _ORBIT_tmpvar_11;
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 _ORBIT_tmpvar_13 = *((CORBA_unsigned_long *) _ORBIT_curptr);
	 _ORBIT_curptr += 4;
	 ((**desc)).model = CORBA_string_alloc(_ORBIT_tmpvar_13);
	 memcpy(((**desc)).model, _ORBIT_curptr,
		sizeof(((**desc)).model[_ORBIT_tmpvar_12]) *
		_ORBIT_tmpvar_13);
	 _ORBIT_curptr +=
	    sizeof(((**desc)).model[_ORBIT_tmpvar_12]) * _ORBIT_tmpvar_13;
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 _ORBIT_tmpvar_15 = *((CORBA_unsigned_long *) _ORBIT_curptr);
	 _ORBIT_curptr += 4;
	 ((**desc)).copyright = CORBA_string_alloc(_ORBIT_tmpvar_15);
	 memcpy(((**desc)).copyright, _ORBIT_curptr,
		sizeof(((**desc)).copyright[_ORBIT_tmpvar_14]) *
		_ORBIT_tmpvar_15);
	 _ORBIT_curptr +=
	    sizeof(((**desc)).copyright[_ORBIT_tmpvar_14]) * _ORBIT_tmpvar_15;
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 _ORBIT_tmpvar_17 = *((CORBA_unsigned_long *) _ORBIT_curptr);
	 _ORBIT_curptr += 4;
	 ((**desc)).instid = CORBA_string_alloc(_ORBIT_tmpvar_17);
	 memcpy(((**desc)).instid, _ORBIT_curptr,
		sizeof(((**desc)).instid[_ORBIT_tmpvar_16]) *
		_ORBIT_tmpvar_17);
	 _ORBIT_curptr +=
	    sizeof(((**desc)).instid[_ORBIT_tmpvar_16]) * _ORBIT_tmpvar_17;
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 ((**desc)).rxbands._length =
	    *((CORBA_unsigned_long *) _ORBIT_curptr);
	 _ORBIT_curptr += 4;
	 ((**desc)).rxbands._maximum = ((**desc)).rxbands._length;
	 ((**desc)).rxbands._buffer =
	    CORBA_sequence_Trx_TrxBandDescription_allocbuf(((**desc)).rxbands.
							   _length);
	 ((**desc)).rxbands._release = CORBA_TRUE;
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 8);
	 memcpy(((**desc)).rxbands._buffer, _ORBIT_curptr,
		sizeof(((**desc)).rxbands._buffer[_ORBIT_tmpvar_18]) *
		((**desc)).rxbands._length);
	 _ORBIT_curptr +=
	    sizeof(((**desc)).rxbands._buffer[_ORBIT_tmpvar_18]) *
	    ((**desc)).rxbands._length;
	 ((**desc)).txbands._length =
	    *((CORBA_unsigned_long *) _ORBIT_curptr);
	 _ORBIT_curptr += 4;
	 ((**desc)).txbands._maximum = ((**desc)).txbands._length;
	 ((**desc)).txbands._buffer =
	    CORBA_sequence_Trx_TrxBandDescription_allocbuf(((**desc)).txbands.
							   _length);
	 ((**desc)).txbands._release = CORBA_TRUE;
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 8);
	 memcpy(((**desc)).txbands._buffer, _ORBIT_curptr,
		sizeof(((**desc)).txbands._buffer[_ORBIT_tmpvar_19]) *
		((**desc)).txbands._length);
	 _ORBIT_curptr +=
	    sizeof(((**desc)).txbands._buffer[_ORBIT_tmpvar_19]) *
	    ((**desc)).txbands._length;
	 ((**desc)).rssimin = *((Trx_signalstrength *) _ORBIT_curptr);
	 _ORBIT_curptr += 4;
	 ((**desc)).rssimax = *((Trx_signalstrength *) _ORBIT_curptr);
      }
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      return;
    _ORBIT_system_exception:
      CORBA_exception_set_system(ev, _ORBIT_system_exception_minor,
				 _ORBIT_completion_status);
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      return;
    _ORBIT_msg_exception:
      if (_ORBIT_recv_buffer->message.u.reply.reply_status ==
	  GIOP_LOCATION_FORWARD) {
	 if (_obj->forward_locations != NULL)
	    ORBit_delete_profiles(_obj->forward_locations);
	 _obj->forward_locations = ORBit_demarshal_IOR(_ORBIT_recv_buffer);
	 _cnx = ORBit_object_get_forwarded_connection(_obj);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);

	 goto _ORBIT_retry_request;
      } else {
	 ORBit_handle_exception(_ORBIT_recv_buffer, ev, NULL, _obj->orb);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);
	 return;
      }
   }
}
void
Trx_Control_GetState(Trx_Control _obj, Trx_TrxState * state,
		     CORBA_Environment * ev)
{
   static const ORBit_exception_demarshal_info _ORBIT_user_exceptions[] =
      { {(const CORBA_TypeCode) &TC_Trx_TrxError_struct,
	 (gpointer) _ORBIT_Trx_TrxError_demarshal}, {CORBA_OBJECT_NIL,
						     NULL} };
   register GIOP_unsigned_long _ORBIT_request_id,
    _ORBIT_system_exception_minor;
   register CORBA_completion_status _ORBIT_completion_status;
   register GIOPSendBuffer *_ORBIT_send_buffer;
   register GIOPRecvBuffer *_ORBIT_recv_buffer;
   register GIOPConnection *_cnx;

   if (_obj->servant && _obj->vepv && Trx_Control__classid) {
      ((POA_Trx_Control__epv *) _obj->vepv[Trx_Control__classid])->
	 GetState(_obj->servant, state, ev);
      return;
   }
   _cnx = ORBit_object_get_connection(_obj);
 _ORBIT_retry_request:
   _ORBIT_send_buffer = NULL;
   _ORBIT_recv_buffer = NULL;
   _ORBIT_completion_status = CORBA_COMPLETED_NO;
   _ORBIT_request_id = GPOINTER_TO_UINT(alloca(0));
   {				/* marshalling */
      static const struct
      {
	 CORBA_unsigned_long len;
	 char opname[9];
      }
      _ORBIT_operation_name_data =
      {
      9, "GetState"};
      static const struct iovec _ORBIT_operation_vec =
	 { (gpointer) & _ORBIT_operation_name_data, 13 };
      _ORBIT_send_buffer =
	 giop_send_request_buffer_use(_cnx, NULL, _ORBIT_request_id,
				      CORBA_TRUE,
				      &(_obj->active_profile->object_key_vec),
				      &_ORBIT_operation_vec,
				      &ORBit_default_principal_iovec);

      _ORBIT_system_exception_minor = ex_CORBA_COMM_FAILURE;
      if (!_ORBIT_send_buffer)
	 goto _ORBIT_system_exception;
      giop_send_buffer_write(_ORBIT_send_buffer);
      _ORBIT_completion_status = CORBA_COMPLETED_MAYBE;
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      _ORBIT_send_buffer = NULL;
   }
   {				/* demarshalling */
      register guchar *_ORBIT_curptr;

      _ORBIT_recv_buffer =
	 giop_recv_reply_buffer_use_2(_cnx, _ORBIT_request_id, TRUE);
      if (!_ORBIT_recv_buffer)
	 goto _ORBIT_system_exception;
      _ORBIT_completion_status = CORBA_COMPLETED_YES;
      if (_ORBIT_recv_buffer->message.u.reply.reply_status !=
	  GIOP_NO_EXCEPTION)
	 goto _ORBIT_msg_exception;
      _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur;
      if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) {
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 (*((guint32 *) & ((*state).mode))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 8);
	 iiop_byteswap((guchar *) & ((*state).rxfreq), _ORBIT_curptr, 8);
	 _ORBIT_curptr += 8;
	 iiop_byteswap((guchar *) & ((*state).txfreq), _ORBIT_curptr, 8);
	 _ORBIT_curptr += 8;
	 (*state).ptt = *((CORBA_boolean *) _ORBIT_curptr);
	 _ORBIT_curptr += 1;
	 (*state).manualptt = *((CORBA_boolean *) _ORBIT_curptr);
	 _ORBIT_curptr += 1;
	 (*state).dcd = *((CORBA_boolean *) _ORBIT_curptr);
	 _ORBIT_curptr += 1;
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 (*((guint32 *) & ((*state).rssi))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
      } else {
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 (*state).mode = *((Trx_TrxMode *) _ORBIT_curptr);
	 _ORBIT_curptr += 4;
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 8);
	 (*state).rxfreq = *((Trx_frequency *) _ORBIT_curptr);
	 _ORBIT_curptr += 8;
	 (*state).txfreq = *((Trx_frequency *) _ORBIT_curptr);
	 _ORBIT_curptr += 8;
	 (*state).ptt = *((CORBA_boolean *) _ORBIT_curptr);
	 _ORBIT_curptr += 1;
	 (*state).manualptt = *((CORBA_boolean *) _ORBIT_curptr);
	 _ORBIT_curptr += 1;
	 (*state).dcd = *((CORBA_boolean *) _ORBIT_curptr);
	 _ORBIT_curptr += 1;
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 (*state).rssi = *((Trx_signalstrength *) _ORBIT_curptr);
      }
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      return;
    _ORBIT_system_exception:
      CORBA_exception_set_system(ev, _ORBIT_system_exception_minor,
				 _ORBIT_completion_status);
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      return;
    _ORBIT_msg_exception:
      if (_ORBIT_recv_buffer->message.u.reply.reply_status ==
	  GIOP_LOCATION_FORWARD) {
	 if (_obj->forward_locations != NULL)
	    ORBit_delete_profiles(_obj->forward_locations);
	 _obj->forward_locations = ORBit_demarshal_IOR(_ORBIT_recv_buffer);
	 _cnx = ORBit_object_get_forwarded_connection(_obj);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);

	 goto _ORBIT_retry_request;
      } else {
	 ORBit_handle_exception(_ORBIT_recv_buffer, ev,
				_ORBIT_user_exceptions, _obj->orb);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);
	 return;
      }
   }
}
void
Trx_Control_SetPTT(Trx_Control _obj, const CORBA_boolean ptt,
		   CORBA_Environment * ev)
{
   static const ORBit_exception_demarshal_info _ORBIT_user_exceptions[] =
      { {(const CORBA_TypeCode) &TC_Trx_TrxError_struct,
	 (gpointer) _ORBIT_Trx_TrxError_demarshal}, {CORBA_OBJECT_NIL,
						     NULL} };
   register GIOP_unsigned_long _ORBIT_request_id,
    _ORBIT_system_exception_minor;
   register CORBA_completion_status _ORBIT_completion_status;
   register GIOPSendBuffer *_ORBIT_send_buffer;
   register GIOPRecvBuffer *_ORBIT_recv_buffer;
   register GIOPConnection *_cnx;

   if (_obj->servant && _obj->vepv && Trx_Control__classid) {
      ((POA_Trx_Control__epv *) _obj->vepv[Trx_Control__classid])->
	 SetPTT(_obj->servant, ptt, ev);
      return;
   }
   _cnx = ORBit_object_get_connection(_obj);
 _ORBIT_retry_request:
   _ORBIT_send_buffer = NULL;
   _ORBIT_recv_buffer = NULL;
   _ORBIT_completion_status = CORBA_COMPLETED_NO;
   _ORBIT_request_id = GPOINTER_TO_UINT(alloca(0));
   {				/* marshalling */
      static const struct
      {
	 CORBA_unsigned_long len;
	 char opname[7];
      }
      _ORBIT_operation_name_data =
      {
      7, "SetPTT"};
      static const struct iovec _ORBIT_operation_vec =
	 { (gpointer) & _ORBIT_operation_name_data, 11 };
      _ORBIT_send_buffer =
	 giop_send_request_buffer_use(_cnx, NULL, _ORBIT_request_id,
				      CORBA_TRUE,
				      &(_obj->active_profile->object_key_vec),
				      &_ORBIT_operation_vec,
				      &ORBit_default_principal_iovec);

      _ORBIT_system_exception_minor = ex_CORBA_COMM_FAILURE;
      if (!_ORBIT_send_buffer)
	 goto _ORBIT_system_exception;
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer),
				     &(ptt), sizeof(ptt));
      giop_send_buffer_write(_ORBIT_send_buffer);
      _ORBIT_completion_status = CORBA_COMPLETED_MAYBE;
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      _ORBIT_send_buffer = NULL;
   }
   {				/* demarshalling */
      register guchar *_ORBIT_curptr;

      _ORBIT_recv_buffer =
	 giop_recv_reply_buffer_use_2(_cnx, _ORBIT_request_id, TRUE);
      if (!_ORBIT_recv_buffer)
	 goto _ORBIT_system_exception;
      _ORBIT_completion_status = CORBA_COMPLETED_YES;
      if (_ORBIT_recv_buffer->message.u.reply.reply_status !=
	  GIOP_NO_EXCEPTION)
	 goto _ORBIT_msg_exception;
      _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur;
      if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) {
      } else {
      }
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      return;
    _ORBIT_system_exception:
      CORBA_exception_set_system(ev, _ORBIT_system_exception_minor,
				 _ORBIT_completion_status);
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      return;
    _ORBIT_msg_exception:
      if (_ORBIT_recv_buffer->message.u.reply.reply_status ==
	  GIOP_LOCATION_FORWARD) {
	 if (_obj->forward_locations != NULL)
	    ORBit_delete_profiles(_obj->forward_locations);
	 _obj->forward_locations = ORBit_demarshal_IOR(_ORBIT_recv_buffer);
	 _cnx = ORBit_object_get_forwarded_connection(_obj);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);

	 goto _ORBIT_retry_request;
      } else {
	 ORBit_handle_exception(_ORBIT_recv_buffer, ev,
				_ORBIT_user_exceptions, _obj->orb);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);
	 return;
      }
   }
}
void
Trx_Control_SetFrequency(Trx_Control _obj, const Trx_frequency rx,
			 const Trx_frequency tx, CORBA_Environment * ev)
{
   static const ORBit_exception_demarshal_info _ORBIT_user_exceptions[] =
      { {(const CORBA_TypeCode) &TC_Trx_TrxError_struct,
	 (gpointer) _ORBIT_Trx_TrxError_demarshal}, {CORBA_OBJECT_NIL,
						     NULL} };
   register GIOP_unsigned_long _ORBIT_request_id,
    _ORBIT_system_exception_minor;
   register CORBA_completion_status _ORBIT_completion_status;
   register GIOPSendBuffer *_ORBIT_send_buffer;
   register GIOPRecvBuffer *_ORBIT_recv_buffer;
   register GIOPConnection *_cnx;

   if (_obj->servant && _obj->vepv && Trx_Control__classid) {
      ((POA_Trx_Control__epv *) _obj->vepv[Trx_Control__classid])->
	 SetFrequency(_obj->servant, rx, tx, ev);
      return;
   }
   _cnx = ORBit_object_get_connection(_obj);
   _ORBIT_send_buffer = NULL;
   _ORBIT_recv_buffer = NULL;
   _ORBIT_completion_status = CORBA_COMPLETED_NO;
   _ORBIT_request_id = GPOINTER_TO_UINT(alloca(0));
   {				/* marshalling */
      static const struct
      {
	 CORBA_unsigned_long len;
	 char opname[13];
      }
      _ORBIT_operation_name_data =
      {
      13, "SetFrequency"};
      static const struct iovec _ORBIT_operation_vec =
	 { (gpointer) & _ORBIT_operation_name_data, 17 };
      _ORBIT_send_buffer =
	 giop_send_request_buffer_use(_cnx, NULL, _ORBIT_request_id,
				      CORBA_FALSE,
				      &(_obj->active_profile->object_key_vec),
				      &_ORBIT_operation_vec,
				      &ORBit_default_principal_iovec);

      _ORBIT_system_exception_minor = ex_CORBA_COMM_FAILURE;
      if (!_ORBIT_send_buffer)
	 goto _ORBIT_system_exception;
      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER
				       (_ORBIT_send_buffer), 8);
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer),
				     &(rx), sizeof(rx));
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer),
				     &(tx), sizeof(tx));
      giop_send_buffer_write(_ORBIT_send_buffer);
      _ORBIT_completion_status = CORBA_COMPLETED_MAYBE;
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      _ORBIT_send_buffer = NULL;
   }
   return;
 _ORBIT_system_exception:
   CORBA_exception_set_system(ev, _ORBIT_system_exception_minor,
			      _ORBIT_completion_status);
   giop_recv_buffer_unuse(_ORBIT_recv_buffer);
   giop_send_buffer_unuse(_ORBIT_send_buffer);
   return;
}

void
Trx_Control_UartSend(Trx_Control _obj, const CORBA_char * str,
		     CORBA_Environment * ev)
{
   static const ORBit_exception_demarshal_info _ORBIT_user_exceptions[] =
      { {(const CORBA_TypeCode) &TC_Trx_TrxError_struct,
	 (gpointer) _ORBIT_Trx_TrxError_demarshal}, {CORBA_OBJECT_NIL,
						     NULL} };
   register GIOP_unsigned_long _ORBIT_request_id,
    _ORBIT_system_exception_minor;
   register CORBA_completion_status _ORBIT_completion_status;
   register GIOPSendBuffer *_ORBIT_send_buffer;
   register GIOPRecvBuffer *_ORBIT_recv_buffer;
   register GIOPConnection *_cnx;

   if (_obj->servant && _obj->vepv && Trx_Control__classid) {
      ((POA_Trx_Control__epv *) _obj->vepv[Trx_Control__classid])->
	 UartSend(_obj->servant, str, ev);
      return;
   }
   _cnx = ORBit_object_get_connection(_obj);
   _ORBIT_send_buffer = NULL;
   _ORBIT_recv_buffer = NULL;
   _ORBIT_completion_status = CORBA_COMPLETED_NO;
   _ORBIT_request_id = GPOINTER_TO_UINT(alloca(0));
   {				/* marshalling */
      static const struct
      {
	 CORBA_unsigned_long len;
	 char opname[9];
      }
      _ORBIT_operation_name_data =
      {
      9, "UartSend"};
      static const struct iovec _ORBIT_operation_vec =
	 { (gpointer) & _ORBIT_operation_name_data, 13 };
      register CORBA_unsigned_long _ORBIT_tmpvar_0;
      CORBA_unsigned_long _ORBIT_tmpvar_1;

      _ORBIT_send_buffer =
	 giop_send_request_buffer_use(_cnx, NULL, _ORBIT_request_id,
				      CORBA_FALSE,
				      &(_obj->active_profile->object_key_vec),
				      &_ORBIT_operation_vec,
				      &ORBit_default_principal_iovec);

      _ORBIT_system_exception_minor = ex_CORBA_COMM_FAILURE;
      if (!_ORBIT_send_buffer)
	 goto _ORBIT_system_exception;
      _ORBIT_tmpvar_1 = strlen(str) + 1;
      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER
				       (_ORBIT_send_buffer), 4);
      {
	 guchar *_ORBIT_t;

	 _ORBIT_t = alloca(sizeof(_ORBIT_tmpvar_1));
	 memcpy(_ORBIT_t, &(_ORBIT_tmpvar_1), sizeof(_ORBIT_tmpvar_1));
	 giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER
					(_ORBIT_send_buffer), (_ORBIT_t),
					sizeof(_ORBIT_tmpvar_1));
      }
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer),
				     (str),
				     sizeof(str[_ORBIT_tmpvar_0]) *
				     _ORBIT_tmpvar_1);
      giop_send_buffer_write(_ORBIT_send_buffer);
      _ORBIT_completion_status = CORBA_COMPLETED_MAYBE;
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      _ORBIT_send_buffer = NULL;
   }
   return;
 _ORBIT_system_exception:
   CORBA_exception_set_system(ev, _ORBIT_system_exception_minor,
			      _ORBIT_completion_status);
   giop_recv_buffer_unuse(_ORBIT_recv_buffer);
   giop_send_buffer_unuse(_ORBIT_send_buffer);
   return;
}

void
Trx_Control_UartReceive(Trx_Control _obj, CORBA_unsigned_long * ptr,
			CORBA_char ** str, CORBA_Environment * ev)
{
   static const ORBit_exception_demarshal_info _ORBIT_user_exceptions[] =
      { {(const CORBA_TypeCode) &TC_Trx_TrxError_struct,
	 (gpointer) _ORBIT_Trx_TrxError_demarshal}, {CORBA_OBJECT_NIL,
						     NULL} };
   register GIOP_unsigned_long _ORBIT_request_id,
    _ORBIT_system_exception_minor;
   register CORBA_completion_status _ORBIT_completion_status;
   register GIOPSendBuffer *_ORBIT_send_buffer;
   register GIOPRecvBuffer *_ORBIT_recv_buffer;
   register GIOPConnection *_cnx;
   register CORBA_unsigned_long _ORBIT_tmpvar_2;
   CORBA_unsigned_long _ORBIT_tmpvar_3;

   if (_obj->servant && _obj->vepv && Trx_Control__classid) {
      ((POA_Trx_Control__epv *) _obj->vepv[Trx_Control__classid])->
	 UartReceive(_obj->servant, ptr, str, ev);
      return;
   }
   _cnx = ORBit_object_get_connection(_obj);
 _ORBIT_retry_request:
   _ORBIT_send_buffer = NULL;
   _ORBIT_recv_buffer = NULL;
   _ORBIT_completion_status = CORBA_COMPLETED_NO;
   _ORBIT_request_id = GPOINTER_TO_UINT(alloca(0));
   {				/* marshalling */
      static const struct
      {
	 CORBA_unsigned_long len;
	 char opname[12];
      }
      _ORBIT_operation_name_data =
      {
      12, "UartReceive"};
      static const struct iovec _ORBIT_operation_vec =
	 { (gpointer) & _ORBIT_operation_name_data, 16 };
      _ORBIT_send_buffer =
	 giop_send_request_buffer_use(_cnx, NULL, _ORBIT_request_id,
				      CORBA_TRUE,
				      &(_obj->active_profile->object_key_vec),
				      &_ORBIT_operation_vec,
				      &ORBit_default_principal_iovec);

      _ORBIT_system_exception_minor = ex_CORBA_COMM_FAILURE;
      if (!_ORBIT_send_buffer)
	 goto _ORBIT_system_exception;
      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER
				       (_ORBIT_send_buffer), 4);
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer),
				     &((*ptr)), sizeof((*ptr)));
      giop_send_buffer_write(_ORBIT_send_buffer);
      _ORBIT_completion_status = CORBA_COMPLETED_MAYBE;
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      _ORBIT_send_buffer = NULL;
   }
   {				/* demarshalling */
      register guchar *_ORBIT_curptr;

      _ORBIT_recv_buffer =
	 giop_recv_reply_buffer_use_2(_cnx, _ORBIT_request_id, TRUE);
      if (!_ORBIT_recv_buffer)
	 goto _ORBIT_system_exception;
      _ORBIT_completion_status = CORBA_COMPLETED_YES;
      if (_ORBIT_recv_buffer->message.u.reply.reply_status !=
	  GIOP_NO_EXCEPTION)
	 goto _ORBIT_msg_exception;
      _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur;
      if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) {
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 (*((guint32 *) & ((*ptr)))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 (*((guint32 *) & (_ORBIT_tmpvar_3))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 (*str) = CORBA_string_alloc(_ORBIT_tmpvar_3);
	 memcpy((*str), _ORBIT_curptr,
		sizeof((*str)[_ORBIT_tmpvar_2]) * _ORBIT_tmpvar_3);
	 _ORBIT_curptr += sizeof((*str)[_ORBIT_tmpvar_2]) * _ORBIT_tmpvar_3;
      } else {
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 (*ptr) = *((CORBA_unsigned_long *) _ORBIT_curptr);
	 _ORBIT_curptr += 4;
	 _ORBIT_tmpvar_3 = *((CORBA_unsigned_long *) _ORBIT_curptr);
	 _ORBIT_curptr += 4;
	 (*str) = CORBA_string_alloc(_ORBIT_tmpvar_3);
	 memcpy((*str), _ORBIT_curptr,
		sizeof((*str)[_ORBIT_tmpvar_2]) * _ORBIT_tmpvar_3);
	 _ORBIT_curptr += sizeof((*str)[_ORBIT_tmpvar_2]) * _ORBIT_tmpvar_3;
      }
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      return;
    _ORBIT_system_exception:
      CORBA_exception_set_system(ev, _ORBIT_system_exception_minor,
				 _ORBIT_completion_status);
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      return;
    _ORBIT_msg_exception:
      if (_ORBIT_recv_buffer->message.u.reply.reply_status ==
	  GIOP_LOCATION_FORWARD) {
	 if (_obj->forward_locations != NULL)
	    ORBit_delete_profiles(_obj->forward_locations);
	 _obj->forward_locations = ORBit_demarshal_IOR(_ORBIT_recv_buffer);
	 _cnx = ORBit_object_get_forwarded_connection(_obj);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);

	 goto _ORBIT_retry_request;
      } else {
	 ORBit_handle_exception(_ORBIT_recv_buffer, ev,
				_ORBIT_user_exceptions, _obj->orb);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);
	 return;
      }
   }
}
void
Trx_Control_BaycomUSBAdapterGetConfig(Trx_Control _obj,
				      Trx_BaycomUSBAdapterConfig * cfg,
				      CORBA_Environment * ev)
{
   static const ORBit_exception_demarshal_info _ORBIT_user_exceptions[] =
      { {(const CORBA_TypeCode) &TC_Trx_TrxError_struct,
	 (gpointer) _ORBIT_Trx_TrxError_demarshal}, {CORBA_OBJECT_NIL,
						     NULL} };
   register GIOP_unsigned_long _ORBIT_request_id,
    _ORBIT_system_exception_minor;
   register CORBA_completion_status _ORBIT_completion_status;
   register GIOPSendBuffer *_ORBIT_send_buffer;
   register GIOPRecvBuffer *_ORBIT_recv_buffer;
   register GIOPConnection *_cnx;
   register CORBA_unsigned_long _ORBIT_tmpvar_2;
   register CORBA_unsigned_long _ORBIT_tmpvar_3;

   if (_obj->servant && _obj->vepv && Trx_Control__classid) {
      ((POA_Trx_Control__epv *) _obj->vepv[Trx_Control__classid])->
	 BaycomUSBAdapterGetConfig(_obj->servant, cfg, ev);
      return;
   }
   _cnx = ORBit_object_get_connection(_obj);
 _ORBIT_retry_request:
   _ORBIT_send_buffer = NULL;
   _ORBIT_recv_buffer = NULL;
   _ORBIT_completion_status = CORBA_COMPLETED_NO;
   _ORBIT_request_id = GPOINTER_TO_UINT(alloca(0));
   {				/* marshalling */
      static const struct
      {
	 CORBA_unsigned_long len;
	 char opname[26];
      }
      _ORBIT_operation_name_data =
      {
      26, "BaycomUSBAdapterGetConfig"};
      static const struct iovec _ORBIT_operation_vec =
	 { (gpointer) & _ORBIT_operation_name_data, 30 };
      _ORBIT_send_buffer =
	 giop_send_request_buffer_use(_cnx, NULL, _ORBIT_request_id,
				      CORBA_TRUE,
				      &(_obj->active_profile->object_key_vec),
				      &_ORBIT_operation_vec,
				      &ORBit_default_principal_iovec);

      _ORBIT_system_exception_minor = ex_CORBA_COMM_FAILURE;
      if (!_ORBIT_send_buffer)
	 goto _ORBIT_system_exception;
      giop_send_buffer_write(_ORBIT_send_buffer);
      _ORBIT_completion_status = CORBA_COMPLETED_MAYBE;
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      _ORBIT_send_buffer = NULL;
   }
   {				/* demarshalling */
      register guchar *_ORBIT_curptr;

      _ORBIT_recv_buffer =
	 giop_recv_reply_buffer_use_2(_cnx, _ORBIT_request_id, TRUE);
      if (!_ORBIT_recv_buffer)
	 goto _ORBIT_system_exception;
      _ORBIT_completion_status = CORBA_COMPLETED_YES;
      if (_ORBIT_recv_buffer->message.u.reply.reply_status !=
	  GIOP_NO_EXCEPTION)
	 goto _ORBIT_msg_exception;
      _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur;
      if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) {
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 (*((guint32 *) & ((*cfg).mode))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 (*((guint32 *) & ((*cfg).fclk))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 (*((guint32 *) & ((*cfg).bitraterx))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 (*((guint32 *) & ((*cfg).bitratetx))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 (*((guint32 *) & ((*cfg).loopback))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 (*cfg).pttmute = *((CORBA_boolean *) _ORBIT_curptr);
	 _ORBIT_curptr += 1;
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 (*((guint32 *) & ((*cfg).filtmode))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 (*((guint32 *) & ((*cfg).samplerate))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 (*((guint32 *) & ((*cfg).gain))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 memcpy((*cfg).audiodevin, _ORBIT_curptr,
		sizeof((*cfg).audiodevin[_ORBIT_tmpvar_2]) * 64);
	 _ORBIT_curptr += sizeof((*cfg).audiodevin[_ORBIT_tmpvar_2]) * 64;
	 memcpy((*cfg).audiodevout, _ORBIT_curptr,
		sizeof((*cfg).audiodevout[_ORBIT_tmpvar_3]) * 64);
	 _ORBIT_curptr += sizeof((*cfg).audiodevout[_ORBIT_tmpvar_3]) * 64;
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 (*((guint32 *) & ((*cfg).rfsquelch))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 (*cfg).audiosquelch = *((CORBA_boolean *) _ORBIT_curptr);
      } else {
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 (*cfg).mode = *((Trx_BaycomUSBAdapterMode *) _ORBIT_curptr);
	 _ORBIT_curptr += 4;
	 (*cfg).fclk = *((CORBA_unsigned_long *) _ORBIT_curptr);
	 _ORBIT_curptr += 4;
	 (*cfg).bitraterx = *((CORBA_unsigned_long *) _ORBIT_curptr);
	 _ORBIT_curptr += 4;
	 (*cfg).bitratetx = *((CORBA_unsigned_long *) _ORBIT_curptr);
	 _ORBIT_curptr += 4;
	 (*cfg).loopback = *((Trx_BaycomUSBAdapterLoopback *) _ORBIT_curptr);
	 _ORBIT_curptr += 4;
	 (*cfg).pttmute = *((CORBA_boolean *) _ORBIT_curptr);
	 _ORBIT_curptr += 1;
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 (*cfg).filtmode = *((CORBA_unsigned_long *) _ORBIT_curptr);
	 _ORBIT_curptr += 4;
	 (*cfg).samplerate = *((CORBA_unsigned_long *) _ORBIT_curptr);
	 _ORBIT_curptr += 4;
	 (*cfg).gain = *((CORBA_float *) _ORBIT_curptr);
	 _ORBIT_curptr += 4;
	 memcpy((*cfg).audiodevin, _ORBIT_curptr,
		sizeof((*cfg).audiodevin[_ORBIT_tmpvar_2]) * 64);
	 _ORBIT_curptr += sizeof((*cfg).audiodevin[_ORBIT_tmpvar_2]) * 64;
	 memcpy((*cfg).audiodevout, _ORBIT_curptr,
		sizeof((*cfg).audiodevout[_ORBIT_tmpvar_3]) * 64);
	 _ORBIT_curptr += sizeof((*cfg).audiodevout[_ORBIT_tmpvar_3]) * 64;
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 (*cfg).rfsquelch = *((Trx_signalstrength *) _ORBIT_curptr);
	 _ORBIT_curptr += 4;
	 (*cfg).audiosquelch = *((CORBA_boolean *) _ORBIT_curptr);
      }
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      return;
    _ORBIT_system_exception:
      CORBA_exception_set_system(ev, _ORBIT_system_exception_minor,
				 _ORBIT_completion_status);
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      return;
    _ORBIT_msg_exception:
      if (_ORBIT_recv_buffer->message.u.reply.reply_status ==
	  GIOP_LOCATION_FORWARD) {
	 if (_obj->forward_locations != NULL)
	    ORBit_delete_profiles(_obj->forward_locations);
	 _obj->forward_locations = ORBit_demarshal_IOR(_ORBIT_recv_buffer);
	 _cnx = ORBit_object_get_forwarded_connection(_obj);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);

	 goto _ORBIT_retry_request;
      } else {
	 ORBit_handle_exception(_ORBIT_recv_buffer, ev,
				_ORBIT_user_exceptions, _obj->orb);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);
	 return;
      }
   }
}
void
Trx_Control_BaycomUSBAdapterSetConfig(Trx_Control _obj,
				      const Trx_BaycomUSBAdapterConfig * cfg,
				      CORBA_Environment * ev)
{
   static const ORBit_exception_demarshal_info _ORBIT_user_exceptions[] =
      { {(const CORBA_TypeCode) &TC_Trx_TrxError_struct,
	 (gpointer) _ORBIT_Trx_TrxError_demarshal}, {CORBA_OBJECT_NIL,
						     NULL} };
   register GIOP_unsigned_long _ORBIT_request_id,
    _ORBIT_system_exception_minor;
   register CORBA_completion_status _ORBIT_completion_status;
   register GIOPSendBuffer *_ORBIT_send_buffer;
   register GIOPRecvBuffer *_ORBIT_recv_buffer;
   register GIOPConnection *_cnx;

   if (_obj->servant && _obj->vepv && Trx_Control__classid) {
      ((POA_Trx_Control__epv *) _obj->vepv[Trx_Control__classid])->
	 BaycomUSBAdapterSetConfig(_obj->servant, cfg, ev);
      return;
   }
   _cnx = ORBit_object_get_connection(_obj);
 _ORBIT_retry_request:
   _ORBIT_send_buffer = NULL;
   _ORBIT_recv_buffer = NULL;
   _ORBIT_completion_status = CORBA_COMPLETED_NO;
   _ORBIT_request_id = GPOINTER_TO_UINT(alloca(0));
   {				/* marshalling */
      static const struct
      {
	 CORBA_unsigned_long len;
	 char opname[26];
      }
      _ORBIT_operation_name_data =
      {
      26, "BaycomUSBAdapterSetConfig"};
      static const struct iovec _ORBIT_operation_vec =
	 { (gpointer) & _ORBIT_operation_name_data, 30 };
      register CORBA_unsigned_long _ORBIT_tmpvar_0;
      register CORBA_unsigned_long _ORBIT_tmpvar_1;

      _ORBIT_send_buffer =
	 giop_send_request_buffer_use(_cnx, NULL, _ORBIT_request_id,
				      CORBA_TRUE,
				      &(_obj->active_profile->object_key_vec),
				      &_ORBIT_operation_vec,
				      &ORBit_default_principal_iovec);

      _ORBIT_system_exception_minor = ex_CORBA_COMM_FAILURE;
      if (!_ORBIT_send_buffer)
	 goto _ORBIT_system_exception;
      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER
				       (_ORBIT_send_buffer), 4);
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer),
				     &((*cfg).mode), sizeof((*cfg).mode));
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer),
				     &((*cfg).fclk), sizeof((*cfg).fclk));
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer),
				     &((*cfg).bitraterx),
				     sizeof((*cfg).bitraterx));
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer),
				     &((*cfg).bitratetx),
				     sizeof((*cfg).bitratetx));
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer),
				     &((*cfg).loopback),
				     sizeof((*cfg).loopback));
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer),
				     &((*cfg).pttmute),
				     sizeof((*cfg).pttmute));
      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER
				       (_ORBIT_send_buffer), 4);
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer),
				     &((*cfg).filtmode),
				     sizeof((*cfg).filtmode));
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer),
				     &((*cfg).samplerate),
				     sizeof((*cfg).samplerate));
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer),
				     &((*cfg).gain), sizeof((*cfg).gain));
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer),
				     ((*cfg).audiodevin),
				     sizeof((*cfg).
					    audiodevin[_ORBIT_tmpvar_0]) *
				     64);
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer),
				     ((*cfg).audiodevout),
				     sizeof((*cfg).
					    audiodevout[_ORBIT_tmpvar_1]) *
				     64);
      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER
				       (_ORBIT_send_buffer), 4);
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer),
				     &((*cfg).rfsquelch),
				     sizeof((*cfg).rfsquelch));
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer),
				     &((*cfg).audiosquelch),
				     sizeof((*cfg).audiosquelch));
      giop_send_buffer_write(_ORBIT_send_buffer);
      _ORBIT_completion_status = CORBA_COMPLETED_MAYBE;
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      _ORBIT_send_buffer = NULL;
   }
   {				/* demarshalling */
      register guchar *_ORBIT_curptr;

      _ORBIT_recv_buffer =
	 giop_recv_reply_buffer_use_2(_cnx, _ORBIT_request_id, TRUE);
      if (!_ORBIT_recv_buffer)
	 goto _ORBIT_system_exception;
      _ORBIT_completion_status = CORBA_COMPLETED_YES;
      if (_ORBIT_recv_buffer->message.u.reply.reply_status !=
	  GIOP_NO_EXCEPTION)
	 goto _ORBIT_msg_exception;
      _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur;
      if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) {
      } else {
      }
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      return;
    _ORBIT_system_exception:
      CORBA_exception_set_system(ev, _ORBIT_system_exception_minor,
				 _ORBIT_completion_status);
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      return;
    _ORBIT_msg_exception:
      if (_ORBIT_recv_buffer->message.u.reply.reply_status ==
	  GIOP_LOCATION_FORWARD) {
	 if (_obj->forward_locations != NULL)
	    ORBit_delete_profiles(_obj->forward_locations);
	 _obj->forward_locations = ORBit_demarshal_IOR(_ORBIT_recv_buffer);
	 _cnx = ORBit_object_get_forwarded_connection(_obj);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);

	 goto _ORBIT_retry_request;
      } else {
	 ORBit_handle_exception(_ORBIT_recv_buffer, ev,
				_ORBIT_user_exceptions, _obj->orb);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);
	 return;
      }
   }
}
void
Trx_Control_BaycomUSBAdapterGetAudioDevices(Trx_Control _obj,
					    Trx_BaycomUSBAdapterAudioDevs **
					    devs, CORBA_Environment * ev)
{
   static const ORBit_exception_demarshal_info _ORBIT_user_exceptions[] =
      { {(const CORBA_TypeCode) &TC_Trx_TrxError_struct,
	 (gpointer) _ORBIT_Trx_TrxError_demarshal}, {CORBA_OBJECT_NIL,
						     NULL} };
   register GIOP_unsigned_long _ORBIT_request_id,
    _ORBIT_system_exception_minor;
   register CORBA_completion_status _ORBIT_completion_status;
   register GIOPSendBuffer *_ORBIT_send_buffer;
   register GIOPRecvBuffer *_ORBIT_recv_buffer;
   register GIOPConnection *_cnx;
   register CORBA_unsigned_long _ORBIT_tmpvar_4;
   register CORBA_unsigned_long _ORBIT_tmpvar_5;
   register CORBA_unsigned_long _ORBIT_tmpvar_6;
   register CORBA_unsigned_long _ORBIT_tmpvar_7;

   if (_obj->servant && _obj->vepv && Trx_Control__classid) {
      ((POA_Trx_Control__epv *) _obj->vepv[Trx_Control__classid])->
	 BaycomUSBAdapterGetAudioDevices(_obj->servant, devs, ev);
      return;
   }
   _cnx = ORBit_object_get_connection(_obj);
 _ORBIT_retry_request:
   _ORBIT_send_buffer = NULL;
   _ORBIT_recv_buffer = NULL;
   _ORBIT_completion_status = CORBA_COMPLETED_NO;
   _ORBIT_request_id = GPOINTER_TO_UINT(alloca(0));
   {				/* marshalling */
      static const struct
      {
	 CORBA_unsigned_long len;
	 char opname[32];
      }
      _ORBIT_operation_name_data =
      {
      32, "BaycomUSBAdapterGetAudioDevices"};
      static const struct iovec _ORBIT_operation_vec =
	 { (gpointer) & _ORBIT_operation_name_data, 36 };
      _ORBIT_send_buffer =
	 giop_send_request_buffer_use(_cnx, NULL, _ORBIT_request_id,
				      CORBA_TRUE,
				      &(_obj->active_profile->object_key_vec),
				      &_ORBIT_operation_vec,
				      &ORBit_default_principal_iovec);

      _ORBIT_system_exception_minor = ex_CORBA_COMM_FAILURE;
      if (!_ORBIT_send_buffer)
	 goto _ORBIT_system_exception;
      giop_send_buffer_write(_ORBIT_send_buffer);
      _ORBIT_completion_status = CORBA_COMPLETED_MAYBE;
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      _ORBIT_send_buffer = NULL;
   }
   {				/* demarshalling */
      register guchar *_ORBIT_curptr;

      _ORBIT_recv_buffer =
	 giop_recv_reply_buffer_use_2(_cnx, _ORBIT_request_id, TRUE);
      if (!_ORBIT_recv_buffer)
	 goto _ORBIT_system_exception;
      _ORBIT_completion_status = CORBA_COMPLETED_YES;
      if (_ORBIT_recv_buffer->message.u.reply.reply_status !=
	  GIOP_NO_EXCEPTION)
	 goto _ORBIT_msg_exception;
      *devs = Trx_BaycomUSBAdapterAudioDevs__alloc();
      _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur;
      if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) {
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 (*((guint32 *) & (((**devs)).audiodevsin._length))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 ((**devs)).audiodevsin._maximum = ((**devs)).audiodevsin._length;
	 ((**devs)).audiodevsin._buffer =
	    CORBA_sequence_Trx_BaycomUSBAdapterAudioDev_allocbuf(((**devs)).
								 audiodevsin.
								 _length);
	 ((**devs)).audiodevsin._release = CORBA_TRUE;
	 for (_ORBIT_tmpvar_4 = 0;
	      _ORBIT_tmpvar_4 < ((**devs)).audiodevsin._length;
	      _ORBIT_tmpvar_4++) {
	    _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 1);
	    memcpy(((**devs)).audiodevsin._buffer[_ORBIT_tmpvar_4],
		   _ORBIT_curptr,
		   sizeof(((**devs)).audiodevsin.
			  _buffer[_ORBIT_tmpvar_4][_ORBIT_tmpvar_5]) * 64);
	    _ORBIT_curptr +=
	       sizeof(((**devs)).audiodevsin.
		      _buffer[_ORBIT_tmpvar_4][_ORBIT_tmpvar_5]) * 64;
	 }

	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 (*((guint32 *) & (((**devs)).audiodevsout._length))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 ((**devs)).audiodevsout._maximum = ((**devs)).audiodevsout._length;
	 ((**devs)).audiodevsout._buffer =
	    CORBA_sequence_Trx_BaycomUSBAdapterAudioDev_allocbuf(((**devs)).
								 audiodevsout.
								 _length);
	 ((**devs)).audiodevsout._release = CORBA_TRUE;
	 for (_ORBIT_tmpvar_6 = 0;
	      _ORBIT_tmpvar_6 < ((**devs)).audiodevsout._length;
	      _ORBIT_tmpvar_6++) {
	    _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 1);
	    memcpy(((**devs)).audiodevsout._buffer[_ORBIT_tmpvar_6],
		   _ORBIT_curptr,
		   sizeof(((**devs)).audiodevsout.
			  _buffer[_ORBIT_tmpvar_6][_ORBIT_tmpvar_7]) * 64);
	    _ORBIT_curptr +=
	       sizeof(((**devs)).audiodevsout.
		      _buffer[_ORBIT_tmpvar_6][_ORBIT_tmpvar_7]) * 64;
	 }

      } else {
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 ((**devs)).audiodevsin._length =
	    *((CORBA_unsigned_long *) _ORBIT_curptr);
	 _ORBIT_curptr += 4;
	 ((**devs)).audiodevsin._maximum = ((**devs)).audiodevsin._length;
	 ((**devs)).audiodevsin._buffer =
	    CORBA_sequence_Trx_BaycomUSBAdapterAudioDev_allocbuf(((**devs)).
								 audiodevsin.
								 _length);
	 ((**devs)).audiodevsin._release = CORBA_TRUE;
	 memcpy(((**devs)).audiodevsin._buffer, _ORBIT_curptr,
		sizeof(((**devs)).audiodevsin._buffer[_ORBIT_tmpvar_4]) *
		((**devs)).audiodevsin._length);
	 _ORBIT_curptr +=
	    sizeof(((**devs)).audiodevsin._buffer[_ORBIT_tmpvar_4]) *
	    ((**devs)).audiodevsin._length;
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 ((**devs)).audiodevsout._length =
	    *((CORBA_unsigned_long *) _ORBIT_curptr);
	 _ORBIT_curptr += 4;
	 ((**devs)).audiodevsout._maximum = ((**devs)).audiodevsout._length;
	 ((**devs)).audiodevsout._buffer =
	    CORBA_sequence_Trx_BaycomUSBAdapterAudioDev_allocbuf(((**devs)).
								 audiodevsout.
								 _length);
	 ((**devs)).audiodevsout._release = CORBA_TRUE;
	 memcpy(((**devs)).audiodevsout._buffer, _ORBIT_curptr,
		sizeof(((**devs)).audiodevsout._buffer[_ORBIT_tmpvar_6]) *
		((**devs)).audiodevsout._length);
	 _ORBIT_curptr +=
	    sizeof(((**devs)).audiodevsout._buffer[_ORBIT_tmpvar_6]) *
	    ((**devs)).audiodevsout._length;
      }
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      return;
    _ORBIT_system_exception:
      CORBA_exception_set_system(ev, _ORBIT_system_exception_minor,
				 _ORBIT_completion_status);
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      return;
    _ORBIT_msg_exception:
      if (_ORBIT_recv_buffer->message.u.reply.reply_status ==
	  GIOP_LOCATION_FORWARD) {
	 if (_obj->forward_locations != NULL)
	    ORBit_delete_profiles(_obj->forward_locations);
	 _obj->forward_locations = ORBit_demarshal_IOR(_ORBIT_recv_buffer);
	 _cnx = ORBit_object_get_forwarded_connection(_obj);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);

	 goto _ORBIT_retry_request;
      } else {
	 ORBit_handle_exception(_ORBIT_recv_buffer, ev,
				_ORBIT_user_exceptions, _obj->orb);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);
	 return;
      }
   }
}
void
Trx_Control_ChannelAccessGetConfig(Trx_Control _obj,
				   Trx_ChannelAccessConfig * cfg,
				   CORBA_Environment * ev)
{
   static const ORBit_exception_demarshal_info _ORBIT_user_exceptions[] =
      { {(const CORBA_TypeCode) &TC_Trx_TrxError_struct,
	 (gpointer) _ORBIT_Trx_TrxError_demarshal}, {CORBA_OBJECT_NIL,
						     NULL} };
   register GIOP_unsigned_long _ORBIT_request_id,
    _ORBIT_system_exception_minor;
   register CORBA_completion_status _ORBIT_completion_status;
   register GIOPSendBuffer *_ORBIT_send_buffer;
   register GIOPRecvBuffer *_ORBIT_recv_buffer;
   register GIOPConnection *_cnx;

   if (_obj->servant && _obj->vepv && Trx_Control__classid) {
      ((POA_Trx_Control__epv *) _obj->vepv[Trx_Control__classid])->
	 ChannelAccessGetConfig(_obj->servant, cfg, ev);
      return;
   }
   _cnx = ORBit_object_get_connection(_obj);
 _ORBIT_retry_request:
   _ORBIT_send_buffer = NULL;
   _ORBIT_recv_buffer = NULL;
   _ORBIT_completion_status = CORBA_COMPLETED_NO;
   _ORBIT_request_id = GPOINTER_TO_UINT(alloca(0));
   {				/* marshalling */
      static const struct
      {
	 CORBA_unsigned_long len;
	 char opname[23];
      }
      _ORBIT_operation_name_data =
      {
      23, "ChannelAccessGetConfig"};
      static const struct iovec _ORBIT_operation_vec =
	 { (gpointer) & _ORBIT_operation_name_data, 27 };
      _ORBIT_send_buffer =
	 giop_send_request_buffer_use(_cnx, NULL, _ORBIT_request_id,
				      CORBA_TRUE,
				      &(_obj->active_profile->object_key_vec),
				      &_ORBIT_operation_vec,
				      &ORBit_default_principal_iovec);

      _ORBIT_system_exception_minor = ex_CORBA_COMM_FAILURE;
      if (!_ORBIT_send_buffer)
	 goto _ORBIT_system_exception;
      giop_send_buffer_write(_ORBIT_send_buffer);
      _ORBIT_completion_status = CORBA_COMPLETED_MAYBE;
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      _ORBIT_send_buffer = NULL;
   }
   {				/* demarshalling */
      register guchar *_ORBIT_curptr;

      _ORBIT_recv_buffer =
	 giop_recv_reply_buffer_use_2(_cnx, _ORBIT_request_id, TRUE);
      if (!_ORBIT_recv_buffer)
	 goto _ORBIT_system_exception;
      _ORBIT_completion_status = CORBA_COMPLETED_YES;
      if (_ORBIT_recv_buffer->message.u.reply.reply_status !=
	  GIOP_NO_EXCEPTION)
	 goto _ORBIT_msg_exception;
      _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur;
      if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) {
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 (*((guint32 *) & ((*cfg).txdelay))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 (*((guint32 *) & ((*cfg).slottime))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 (*((guint32 *) & ((*cfg).ppersistence))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 (*((guint32 *) & ((*cfg).txtail))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 (*cfg).fullduplex = *((CORBA_boolean *) _ORBIT_curptr);
      } else {
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 memcpy(&((*cfg)), _ORBIT_curptr, sizeof((*cfg)));
      }
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      return;
    _ORBIT_system_exception:
      CORBA_exception_set_system(ev, _ORBIT_system_exception_minor,
				 _ORBIT_completion_status);
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      return;
    _ORBIT_msg_exception:
      if (_ORBIT_recv_buffer->message.u.reply.reply_status ==
	  GIOP_LOCATION_FORWARD) {
	 if (_obj->forward_locations != NULL)
	    ORBit_delete_profiles(_obj->forward_locations);
	 _obj->forward_locations = ORBit_demarshal_IOR(_ORBIT_recv_buffer);
	 _cnx = ORBit_object_get_forwarded_connection(_obj);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);

	 goto _ORBIT_retry_request;
      } else {
	 ORBit_handle_exception(_ORBIT_recv_buffer, ev,
				_ORBIT_user_exceptions, _obj->orb);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);
	 return;
      }
   }
}
void
Trx_Control_ChannelAccessSetConfig(Trx_Control _obj,
				   const Trx_ChannelAccessConfig * cfg,
				   CORBA_Environment * ev)
{
   static const ORBit_exception_demarshal_info _ORBIT_user_exceptions[] =
      { {(const CORBA_TypeCode) &TC_Trx_TrxError_struct,
	 (gpointer) _ORBIT_Trx_TrxError_demarshal}, {CORBA_OBJECT_NIL,
						     NULL} };
   register GIOP_unsigned_long _ORBIT_request_id,
    _ORBIT_system_exception_minor;
   register CORBA_completion_status _ORBIT_completion_status;
   register GIOPSendBuffer *_ORBIT_send_buffer;
   register GIOPRecvBuffer *_ORBIT_recv_buffer;
   register GIOPConnection *_cnx;

   if (_obj->servant && _obj->vepv && Trx_Control__classid) {
      ((POA_Trx_Control__epv *) _obj->vepv[Trx_Control__classid])->
	 ChannelAccessSetConfig(_obj->servant, cfg, ev);
      return;
   }
   _cnx = ORBit_object_get_connection(_obj);
 _ORBIT_retry_request:
   _ORBIT_send_buffer = NULL;
   _ORBIT_recv_buffer = NULL;
   _ORBIT_completion_status = CORBA_COMPLETED_NO;
   _ORBIT_request_id = GPOINTER_TO_UINT(alloca(0));
   {				/* marshalling */
      static const struct
      {
	 CORBA_unsigned_long len;
	 char opname[23];
      }
      _ORBIT_operation_name_data =
      {
      23, "ChannelAccessSetConfig"};
      static const struct iovec _ORBIT_operation_vec =
	 { (gpointer) & _ORBIT_operation_name_data, 27 };
      _ORBIT_send_buffer =
	 giop_send_request_buffer_use(_cnx, NULL, _ORBIT_request_id,
				      CORBA_TRUE,
				      &(_obj->active_profile->object_key_vec),
				      &_ORBIT_operation_vec,
				      &ORBit_default_principal_iovec);

      _ORBIT_system_exception_minor = ex_CORBA_COMM_FAILURE;
      if (!_ORBIT_send_buffer)
	 goto _ORBIT_system_exception;
      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER
				       (_ORBIT_send_buffer), 4);
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer),
				     &((*cfg)), sizeof((*cfg)));
      giop_send_buffer_write(_ORBIT_send_buffer);
      _ORBIT_completion_status = CORBA_COMPLETED_MAYBE;
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      _ORBIT_send_buffer = NULL;
   }
   {				/* demarshalling */
      register guchar *_ORBIT_curptr;

      _ORBIT_recv_buffer =
	 giop_recv_reply_buffer_use_2(_cnx, _ORBIT_request_id, TRUE);
      if (!_ORBIT_recv_buffer)
	 goto _ORBIT_system_exception;
      _ORBIT_completion_status = CORBA_COMPLETED_YES;
      if (_ORBIT_recv_buffer->message.u.reply.reply_status !=
	  GIOP_NO_EXCEPTION)
	 goto _ORBIT_msg_exception;
      _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur;
      if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) {
      } else {
      }
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      return;
    _ORBIT_system_exception:
      CORBA_exception_set_system(ev, _ORBIT_system_exception_minor,
				 _ORBIT_completion_status);
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      return;
    _ORBIT_msg_exception:
      if (_ORBIT_recv_buffer->message.u.reply.reply_status ==
	  GIOP_LOCATION_FORWARD) {
	 if (_obj->forward_locations != NULL)
	    ORBit_delete_profiles(_obj->forward_locations);
	 _obj->forward_locations = ORBit_demarshal_IOR(_ORBIT_recv_buffer);
	 _cnx = ORBit_object_get_forwarded_connection(_obj);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);

	 goto _ORBIT_retry_request;
      } else {
	 ORBit_handle_exception(_ORBIT_recv_buffer, ev,
				_ORBIT_user_exceptions, _obj->orb);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);
	 return;
      }
   }
}
void
Trx_Control_InterfaceGetConfig(Trx_Control _obj, Trx_InterfaceConfig * cfg,
			       CORBA_Environment * ev)
{
   static const ORBit_exception_demarshal_info _ORBIT_user_exceptions[] =
      { {(const CORBA_TypeCode) &TC_Trx_TrxError_struct,
	 (gpointer) _ORBIT_Trx_TrxError_demarshal}, {CORBA_OBJECT_NIL,
						     NULL} };
   register GIOP_unsigned_long _ORBIT_request_id,
    _ORBIT_system_exception_minor;
   register CORBA_completion_status _ORBIT_completion_status;
   register GIOPSendBuffer *_ORBIT_send_buffer;
   register GIOPRecvBuffer *_ORBIT_recv_buffer;
   register GIOPConnection *_cnx;
   register CORBA_unsigned_long _ORBIT_tmpvar_8;
   register CORBA_unsigned_long _ORBIT_tmpvar_9;
   register CORBA_unsigned_long _ORBIT_tmpvar_10;
   register CORBA_unsigned_long _ORBIT_tmpvar_11;
   register CORBA_unsigned_long _ORBIT_tmpvar_12;
   register CORBA_unsigned_long _ORBIT_tmpvar_13;
   register CORBA_unsigned_long _ORBIT_tmpvar_14;
   register CORBA_unsigned_long _ORBIT_tmpvar_15;

   if (_obj->servant && _obj->vepv && Trx_Control__classid) {
      ((POA_Trx_Control__epv *) _obj->vepv[Trx_Control__classid])->
	 InterfaceGetConfig(_obj->servant, cfg, ev);
      return;
   }
   _cnx = ORBit_object_get_connection(_obj);
 _ORBIT_retry_request:
   _ORBIT_send_buffer = NULL;
   _ORBIT_recv_buffer = NULL;
   _ORBIT_completion_status = CORBA_COMPLETED_NO;
   _ORBIT_request_id = GPOINTER_TO_UINT(alloca(0));
   {				/* marshalling */
      static const struct
      {
	 CORBA_unsigned_long len;
	 char opname[19];
      }
      _ORBIT_operation_name_data =
      {
      19, "InterfaceGetConfig"};
      static const struct iovec _ORBIT_operation_vec =
	 { (gpointer) & _ORBIT_operation_name_data, 23 };
      _ORBIT_send_buffer =
	 giop_send_request_buffer_use(_cnx, NULL, _ORBIT_request_id,
				      CORBA_TRUE,
				      &(_obj->active_profile->object_key_vec),
				      &_ORBIT_operation_vec,
				      &ORBit_default_principal_iovec);

      _ORBIT_system_exception_minor = ex_CORBA_COMM_FAILURE;
      if (!_ORBIT_send_buffer)
	 goto _ORBIT_system_exception;
      giop_send_buffer_write(_ORBIT_send_buffer);
      _ORBIT_completion_status = CORBA_COMPLETED_MAYBE;
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      _ORBIT_send_buffer = NULL;
   }
   {				/* demarshalling */
      register guchar *_ORBIT_curptr;

      _ORBIT_recv_buffer =
	 giop_recv_reply_buffer_use_2(_cnx, _ORBIT_request_id, TRUE);
      if (!_ORBIT_recv_buffer)
	 goto _ORBIT_system_exception;
      _ORBIT_completion_status = CORBA_COMPLETED_YES;
      if (_ORBIT_recv_buffer->message.u.reply.reply_status !=
	  GIOP_NO_EXCEPTION)
	 goto _ORBIT_msg_exception;
      _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur;
      if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) {
	 memcpy((*cfg).ifname, _ORBIT_curptr,
		sizeof((*cfg).ifname[_ORBIT_tmpvar_8]) * 16);
	 _ORBIT_curptr += sizeof((*cfg).ifname[_ORBIT_tmpvar_8]) * 16;
	 memcpy((*cfg).hwaddr, _ORBIT_curptr,
		sizeof((*cfg).hwaddr[_ORBIT_tmpvar_9]) * 16);
	 _ORBIT_curptr += sizeof((*cfg).hwaddr[_ORBIT_tmpvar_9]) * 16;
	 memcpy((*cfg).ipaddr, _ORBIT_curptr,
		sizeof((*cfg).ipaddr[_ORBIT_tmpvar_10]) * 4);
	 _ORBIT_curptr += sizeof((*cfg).ipaddr[_ORBIT_tmpvar_10]) * 4;
	 memcpy((*cfg).netmask, _ORBIT_curptr,
		sizeof((*cfg).netmask[_ORBIT_tmpvar_11]) * 4);
	 _ORBIT_curptr += sizeof((*cfg).netmask[_ORBIT_tmpvar_11]) * 4;
	 memcpy((*cfg).broadcast, _ORBIT_curptr,
		sizeof((*cfg).broadcast[_ORBIT_tmpvar_12]) * 4);
	 _ORBIT_curptr += sizeof((*cfg).broadcast[_ORBIT_tmpvar_12]) * 4;
	 memcpy((*cfg).gwhwaddr, _ORBIT_curptr,
		sizeof((*cfg).gwhwaddr[_ORBIT_tmpvar_13]) * 128);
	 _ORBIT_curptr += sizeof((*cfg).gwhwaddr[_ORBIT_tmpvar_13]) * 128;
	 memcpy((*cfg).gwipaddr, _ORBIT_curptr,
		sizeof((*cfg).gwipaddr[_ORBIT_tmpvar_14]) * 4);
	 _ORBIT_curptr += sizeof((*cfg).gwipaddr[_ORBIT_tmpvar_14]) * 4;
	 memcpy((*cfg).gwnetmask, _ORBIT_curptr,
		sizeof((*cfg).gwnetmask[_ORBIT_tmpvar_15]) * 4);
	 _ORBIT_curptr += sizeof((*cfg).gwnetmask[_ORBIT_tmpvar_15]) * 4;
	 (*cfg).gwipmode = *((CORBA_char *) _ORBIT_curptr);
      } else {
	 memcpy((*cfg).ifname, _ORBIT_curptr,
		sizeof((*cfg).ifname[_ORBIT_tmpvar_8]) * 16);
	 _ORBIT_curptr += sizeof((*cfg).ifname[_ORBIT_tmpvar_8]) * 16;
	 memcpy((*cfg).hwaddr, _ORBIT_curptr,
		sizeof((*cfg).hwaddr[_ORBIT_tmpvar_9]) * 16);
	 _ORBIT_curptr += sizeof((*cfg).hwaddr[_ORBIT_tmpvar_9]) * 16;
	 memcpy((*cfg).ipaddr, _ORBIT_curptr,
		sizeof((*cfg).ipaddr[_ORBIT_tmpvar_10]) * 4);
	 _ORBIT_curptr += sizeof((*cfg).ipaddr[_ORBIT_tmpvar_10]) * 4;
	 memcpy((*cfg).netmask, _ORBIT_curptr,
		sizeof((*cfg).netmask[_ORBIT_tmpvar_11]) * 4);
	 _ORBIT_curptr += sizeof((*cfg).netmask[_ORBIT_tmpvar_11]) * 4;
	 memcpy((*cfg).broadcast, _ORBIT_curptr,
		sizeof((*cfg).broadcast[_ORBIT_tmpvar_12]) * 4);
	 _ORBIT_curptr += sizeof((*cfg).broadcast[_ORBIT_tmpvar_12]) * 4;
	 memcpy((*cfg).gwhwaddr, _ORBIT_curptr,
		sizeof((*cfg).gwhwaddr[_ORBIT_tmpvar_13]) * 128);
	 _ORBIT_curptr += sizeof((*cfg).gwhwaddr[_ORBIT_tmpvar_13]) * 128;
	 memcpy((*cfg).gwipaddr, _ORBIT_curptr,
		sizeof((*cfg).gwipaddr[_ORBIT_tmpvar_14]) * 4);
	 _ORBIT_curptr += sizeof((*cfg).gwipaddr[_ORBIT_tmpvar_14]) * 4;
	 memcpy((*cfg).gwnetmask, _ORBIT_curptr,
		sizeof((*cfg).gwnetmask[_ORBIT_tmpvar_15]) * 4);
	 _ORBIT_curptr += sizeof((*cfg).gwnetmask[_ORBIT_tmpvar_15]) * 4;
	 (*cfg).gwipmode = *((CORBA_char *) _ORBIT_curptr);
      }
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      return;
    _ORBIT_system_exception:
      CORBA_exception_set_system(ev, _ORBIT_system_exception_minor,
				 _ORBIT_completion_status);
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      return;
    _ORBIT_msg_exception:
      if (_ORBIT_recv_buffer->message.u.reply.reply_status ==
	  GIOP_LOCATION_FORWARD) {
	 if (_obj->forward_locations != NULL)
	    ORBit_delete_profiles(_obj->forward_locations);
	 _obj->forward_locations = ORBit_demarshal_IOR(_ORBIT_recv_buffer);
	 _cnx = ORBit_object_get_forwarded_connection(_obj);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);

	 goto _ORBIT_retry_request;
      } else {
	 ORBit_handle_exception(_ORBIT_recv_buffer, ev,
				_ORBIT_user_exceptions, _obj->orb);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);
	 return;
      }
   }
}
void
Trx_Control_InterfaceSetConfig(Trx_Control _obj,
			       const Trx_InterfaceConfig * cfg,
			       CORBA_Environment * ev)
{
   static const ORBit_exception_demarshal_info _ORBIT_user_exceptions[] =
      { {(const CORBA_TypeCode) &TC_Trx_TrxError_struct,
	 (gpointer) _ORBIT_Trx_TrxError_demarshal}, {CORBA_OBJECT_NIL,
						     NULL} };
   register GIOP_unsigned_long _ORBIT_request_id,
    _ORBIT_system_exception_minor;
   register CORBA_completion_status _ORBIT_completion_status;
   register GIOPSendBuffer *_ORBIT_send_buffer;
   register GIOPRecvBuffer *_ORBIT_recv_buffer;
   register GIOPConnection *_cnx;

   if (_obj->servant && _obj->vepv && Trx_Control__classid) {
      ((POA_Trx_Control__epv *) _obj->vepv[Trx_Control__classid])->
	 InterfaceSetConfig(_obj->servant, cfg, ev);
      return;
   }
   _cnx = ORBit_object_get_connection(_obj);
 _ORBIT_retry_request:
   _ORBIT_send_buffer = NULL;
   _ORBIT_recv_buffer = NULL;
   _ORBIT_completion_status = CORBA_COMPLETED_NO;
   _ORBIT_request_id = GPOINTER_TO_UINT(alloca(0));
   {				/* marshalling */
      static const struct
      {
	 CORBA_unsigned_long len;
	 char opname[19];
      }
      _ORBIT_operation_name_data =
      {
      19, "InterfaceSetConfig"};
      static const struct iovec _ORBIT_operation_vec =
	 { (gpointer) & _ORBIT_operation_name_data, 23 };
      register CORBA_unsigned_long _ORBIT_tmpvar_0;
      register CORBA_unsigned_long _ORBIT_tmpvar_1;
      register CORBA_unsigned_long _ORBIT_tmpvar_2;
      register CORBA_unsigned_long _ORBIT_tmpvar_3;
      register CORBA_unsigned_long _ORBIT_tmpvar_4;
      register CORBA_unsigned_long _ORBIT_tmpvar_5;
      register CORBA_unsigned_long _ORBIT_tmpvar_6;
      register CORBA_unsigned_long _ORBIT_tmpvar_7;

      _ORBIT_send_buffer =
	 giop_send_request_buffer_use(_cnx, NULL, _ORBIT_request_id,
				      CORBA_TRUE,
				      &(_obj->active_profile->object_key_vec),
				      &_ORBIT_operation_vec,
				      &ORBit_default_principal_iovec);

      _ORBIT_system_exception_minor = ex_CORBA_COMM_FAILURE;
      if (!_ORBIT_send_buffer)
	 goto _ORBIT_system_exception;
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer),
				     ((*cfg).ifname),
				     sizeof((*cfg).ifname[_ORBIT_tmpvar_0]) *
				     16);
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer),
				     ((*cfg).hwaddr),
				     sizeof((*cfg).hwaddr[_ORBIT_tmpvar_1]) *
				     16);
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer),
				     ((*cfg).ipaddr),
				     sizeof((*cfg).ipaddr[_ORBIT_tmpvar_2]) *
				     4);
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer),
				     ((*cfg).netmask),
				     sizeof((*cfg).netmask[_ORBIT_tmpvar_3]) *
				     4);
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer),
				     ((*cfg).broadcast),
				     sizeof((*cfg).
					    broadcast[_ORBIT_tmpvar_4]) * 4);
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer),
				     ((*cfg).gwhwaddr),
				     sizeof((*cfg).
					    gwhwaddr[_ORBIT_tmpvar_5]) * 128);
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer),
				     ((*cfg).gwipaddr),
				     sizeof((*cfg).
					    gwipaddr[_ORBIT_tmpvar_6]) * 4);
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer),
				     ((*cfg).gwnetmask),
				     sizeof((*cfg).
					    gwnetmask[_ORBIT_tmpvar_7]) * 4);
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer),
				     &((*cfg).gwipmode),
				     sizeof((*cfg).gwipmode));
      giop_send_buffer_write(_ORBIT_send_buffer);
      _ORBIT_completion_status = CORBA_COMPLETED_MAYBE;
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      _ORBIT_send_buffer = NULL;
   }
   {				/* demarshalling */
      register guchar *_ORBIT_curptr;

      _ORBIT_recv_buffer =
	 giop_recv_reply_buffer_use_2(_cnx, _ORBIT_request_id, TRUE);
      if (!_ORBIT_recv_buffer)
	 goto _ORBIT_system_exception;
      _ORBIT_completion_status = CORBA_COMPLETED_YES;
      if (_ORBIT_recv_buffer->message.u.reply.reply_status !=
	  GIOP_NO_EXCEPTION)
	 goto _ORBIT_msg_exception;
      _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur;
      if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) {
      } else {
      }
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      return;
    _ORBIT_system_exception:
      CORBA_exception_set_system(ev, _ORBIT_system_exception_minor,
				 _ORBIT_completion_status);
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      return;
    _ORBIT_msg_exception:
      if (_ORBIT_recv_buffer->message.u.reply.reply_status ==
	  GIOP_LOCATION_FORWARD) {
	 if (_obj->forward_locations != NULL)
	    ORBit_delete_profiles(_obj->forward_locations);
	 _obj->forward_locations = ORBit_demarshal_IOR(_ORBIT_recv_buffer);
	 _cnx = ORBit_object_get_forwarded_connection(_obj);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);

	 goto _ORBIT_retry_request;
      } else {
	 ORBit_handle_exception(_ORBIT_recv_buffer, ev,
				_ORBIT_user_exceptions, _obj->orb);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);
	 return;
      }
   }
}
void
Trx_Control_ModemDisconnectGetConfig(Trx_Control _obj,
				     Trx_ModemDisconnectConfig * cfg,
				     CORBA_Environment * ev)
{
   static const ORBit_exception_demarshal_info _ORBIT_user_exceptions[] =
      { {(const CORBA_TypeCode) &TC_Trx_TrxError_struct,
	 (gpointer) _ORBIT_Trx_TrxError_demarshal}, {CORBA_OBJECT_NIL,
						     NULL} };
   register GIOP_unsigned_long _ORBIT_request_id,
    _ORBIT_system_exception_minor;
   register CORBA_completion_status _ORBIT_completion_status;
   register GIOPSendBuffer *_ORBIT_send_buffer;
   register GIOPRecvBuffer *_ORBIT_recv_buffer;
   register GIOPConnection *_cnx;

   if (_obj->servant && _obj->vepv && Trx_Control__classid) {
      ((POA_Trx_Control__epv *) _obj->vepv[Trx_Control__classid])->
	 ModemDisconnectGetConfig(_obj->servant, cfg, ev);
      return;
   }
   _cnx = ORBit_object_get_connection(_obj);
 _ORBIT_retry_request:
   _ORBIT_send_buffer = NULL;
   _ORBIT_recv_buffer = NULL;
   _ORBIT_completion_status = CORBA_COMPLETED_NO;
   _ORBIT_request_id = GPOINTER_TO_UINT(alloca(0));
   {				/* marshalling */
      static const struct
      {
	 CORBA_unsigned_long len;
	 char opname[25];
      }
      _ORBIT_operation_name_data =
      {
      25, "ModemDisconnectGetConfig"};
      static const struct iovec _ORBIT_operation_vec =
	 { (gpointer) & _ORBIT_operation_name_data, 29 };
      _ORBIT_send_buffer =
	 giop_send_request_buffer_use(_cnx, NULL, _ORBIT_request_id,
				      CORBA_TRUE,
				      &(_obj->active_profile->object_key_vec),
				      &_ORBIT_operation_vec,
				      &ORBit_default_principal_iovec);

      _ORBIT_system_exception_minor = ex_CORBA_COMM_FAILURE;
      if (!_ORBIT_send_buffer)
	 goto _ORBIT_system_exception;
      giop_send_buffer_write(_ORBIT_send_buffer);
      _ORBIT_completion_status = CORBA_COMPLETED_MAYBE;
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      _ORBIT_send_buffer = NULL;
   }
   {				/* demarshalling */
      register guchar *_ORBIT_curptr;

      _ORBIT_recv_buffer =
	 giop_recv_reply_buffer_use_2(_cnx, _ORBIT_request_id, TRUE);
      if (!_ORBIT_recv_buffer)
	 goto _ORBIT_system_exception;
      _ORBIT_completion_status = CORBA_COMPLETED_YES;
      if (_ORBIT_recv_buffer->message.u.reply.reply_status !=
	  GIOP_NO_EXCEPTION)
	 goto _ORBIT_msg_exception;
      _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur;
      if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) {
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 (*((guint32 *) & ((*cfg).output))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 (*((guint32 *) & ((*cfg).direction))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 (*((guint32 *) & ((*cfg).rxc))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 (*((guint32 *) & ((*cfg).txc))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 (*((guint32 *) & ((*cfg).txd))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
      } else {
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 memcpy(&((*cfg)), _ORBIT_curptr, sizeof((*cfg)));
      }
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      return;
    _ORBIT_system_exception:
      CORBA_exception_set_system(ev, _ORBIT_system_exception_minor,
				 _ORBIT_completion_status);
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      return;
    _ORBIT_msg_exception:
      if (_ORBIT_recv_buffer->message.u.reply.reply_status ==
	  GIOP_LOCATION_FORWARD) {
	 if (_obj->forward_locations != NULL)
	    ORBit_delete_profiles(_obj->forward_locations);
	 _obj->forward_locations = ORBit_demarshal_IOR(_ORBIT_recv_buffer);
	 _cnx = ORBit_object_get_forwarded_connection(_obj);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);

	 goto _ORBIT_retry_request;
      } else {
	 ORBit_handle_exception(_ORBIT_recv_buffer, ev,
				_ORBIT_user_exceptions, _obj->orb);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);
	 return;
      }
   }
}
void
Trx_Control_ModemDisconnectSetConfig(Trx_Control _obj,
				     const Trx_ModemDisconnectConfig * cfg,
				     CORBA_Environment * ev)
{
   static const ORBit_exception_demarshal_info _ORBIT_user_exceptions[] =
      { {(const CORBA_TypeCode) &TC_Trx_TrxError_struct,
	 (gpointer) _ORBIT_Trx_TrxError_demarshal}, {CORBA_OBJECT_NIL,
						     NULL} };
   register GIOP_unsigned_long _ORBIT_request_id,
    _ORBIT_system_exception_minor;
   register CORBA_completion_status _ORBIT_completion_status;
   register GIOPSendBuffer *_ORBIT_send_buffer;
   register GIOPRecvBuffer *_ORBIT_recv_buffer;
   register GIOPConnection *_cnx;

   if (_obj->servant && _obj->vepv && Trx_Control__classid) {
      ((POA_Trx_Control__epv *) _obj->vepv[Trx_Control__classid])->
	 ModemDisconnectSetConfig(_obj->servant, cfg, ev);
      return;
   }
   _cnx = ORBit_object_get_connection(_obj);
 _ORBIT_retry_request:
   _ORBIT_send_buffer = NULL;
   _ORBIT_recv_buffer = NULL;
   _ORBIT_completion_status = CORBA_COMPLETED_NO;
   _ORBIT_request_id = GPOINTER_TO_UINT(alloca(0));
   {				/* marshalling */
      static const struct
      {
	 CORBA_unsigned_long len;
	 char opname[25];
      }
      _ORBIT_operation_name_data =
      {
      25, "ModemDisconnectSetConfig"};
      static const struct iovec _ORBIT_operation_vec =
	 { (gpointer) & _ORBIT_operation_name_data, 29 };
      _ORBIT_send_buffer =
	 giop_send_request_buffer_use(_cnx, NULL, _ORBIT_request_id,
				      CORBA_TRUE,
				      &(_obj->active_profile->object_key_vec),
				      &_ORBIT_operation_vec,
				      &ORBit_default_principal_iovec);

      _ORBIT_system_exception_minor = ex_CORBA_COMM_FAILURE;
      if (!_ORBIT_send_buffer)
	 goto _ORBIT_system_exception;
      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER
				       (_ORBIT_send_buffer), 4);
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer),
				     &((*cfg)), sizeof((*cfg)));
      giop_send_buffer_write(_ORBIT_send_buffer);
      _ORBIT_completion_status = CORBA_COMPLETED_MAYBE;
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      _ORBIT_send_buffer = NULL;
   }
   {				/* demarshalling */
      register guchar *_ORBIT_curptr;

      _ORBIT_recv_buffer =
	 giop_recv_reply_buffer_use_2(_cnx, _ORBIT_request_id, TRUE);
      if (!_ORBIT_recv_buffer)
	 goto _ORBIT_system_exception;
      _ORBIT_completion_status = CORBA_COMPLETED_YES;
      if (_ORBIT_recv_buffer->message.u.reply.reply_status !=
	  GIOP_NO_EXCEPTION)
	 goto _ORBIT_msg_exception;
      _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur;
      if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) {
      } else {
      }
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      return;
    _ORBIT_system_exception:
      CORBA_exception_set_system(ev, _ORBIT_system_exception_minor,
				 _ORBIT_completion_status);
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      return;
    _ORBIT_msg_exception:
      if (_ORBIT_recv_buffer->message.u.reply.reply_status ==
	  GIOP_LOCATION_FORWARD) {
	 if (_obj->forward_locations != NULL)
	    ORBit_delete_profiles(_obj->forward_locations);
	 _obj->forward_locations = ORBit_demarshal_IOR(_ORBIT_recv_buffer);
	 _cnx = ORBit_object_get_forwarded_connection(_obj);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);

	 goto _ORBIT_retry_request;
      } else {
	 ORBit_handle_exception(_ORBIT_recv_buffer, ev,
				_ORBIT_user_exceptions, _obj->orb);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);
	 return;
      }
   }
}
void
Trx_Control_GetAudioState(Trx_Control _obj, Trx_TrxAudioState * state,
			  CORBA_Environment * ev)
{
   static const ORBit_exception_demarshal_info _ORBIT_user_exceptions[] =
      { {(const CORBA_TypeCode) &TC_Trx_TrxError_struct,
	 (gpointer) _ORBIT_Trx_TrxError_demarshal}, {CORBA_OBJECT_NIL,
						     NULL} };
   register GIOP_unsigned_long _ORBIT_request_id,
    _ORBIT_system_exception_minor;
   register CORBA_completion_status _ORBIT_completion_status;
   register GIOPSendBuffer *_ORBIT_send_buffer;
   register GIOPRecvBuffer *_ORBIT_recv_buffer;
   register GIOPConnection *_cnx;

   if (_obj->servant && _obj->vepv && Trx_Control__classid) {
      ((POA_Trx_Control__epv *) _obj->vepv[Trx_Control__classid])->
	 GetAudioState(_obj->servant, state, ev);
      return;
   }
   _cnx = ORBit_object_get_connection(_obj);
 _ORBIT_retry_request:
   _ORBIT_send_buffer = NULL;
   _ORBIT_recv_buffer = NULL;
   _ORBIT_completion_status = CORBA_COMPLETED_NO;
   _ORBIT_request_id = GPOINTER_TO_UINT(alloca(0));
   {				/* marshalling */
      static const struct
      {
	 CORBA_unsigned_long len;
	 char opname[14];
      }
      _ORBIT_operation_name_data =
      {
      14, "GetAudioState"};
      static const struct iovec _ORBIT_operation_vec =
	 { (gpointer) & _ORBIT_operation_name_data, 18 };
      _ORBIT_send_buffer =
	 giop_send_request_buffer_use(_cnx, NULL, _ORBIT_request_id,
				      CORBA_TRUE,
				      &(_obj->active_profile->object_key_vec),
				      &_ORBIT_operation_vec,
				      &ORBit_default_principal_iovec);

      _ORBIT_system_exception_minor = ex_CORBA_COMM_FAILURE;
      if (!_ORBIT_send_buffer)
	 goto _ORBIT_system_exception;
      giop_send_buffer_write(_ORBIT_send_buffer);
      _ORBIT_completion_status = CORBA_COMPLETED_MAYBE;
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      _ORBIT_send_buffer = NULL;
   }
   {				/* demarshalling */
      register guchar *_ORBIT_curptr;

      _ORBIT_recv_buffer =
	 giop_recv_reply_buffer_use_2(_cnx, _ORBIT_request_id, TRUE);
      if (!_ORBIT_recv_buffer)
	 goto _ORBIT_system_exception;
      _ORBIT_completion_status = CORBA_COMPLETED_YES;
      if (_ORBIT_recv_buffer->message.u.reply.reply_status !=
	  GIOP_NO_EXCEPTION)
	 goto _ORBIT_msg_exception;
      _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur;
      if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) {
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 (*((guint32 *) & ((*state).samplerate))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 (*((guint32 *) & ((*state).micbufsz))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 (*((guint32 *) & ((*state).micbufptr))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 (*((guint32 *) & ((*state).spkbufsz))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 (*((guint32 *) & ((*state).spkbufptr))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 (*((guint32 *) & ((*state).micsigpwr))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 (*((guint32 *) & ((*state).spksigpwr))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 (*((guint32 *) & ((*state).spknoisepwr))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
      } else {
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 memcpy(&((*state)), _ORBIT_curptr, sizeof((*state)));
      }
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      return;
    _ORBIT_system_exception:
      CORBA_exception_set_system(ev, _ORBIT_system_exception_minor,
				 _ORBIT_completion_status);
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      return;
    _ORBIT_msg_exception:
      if (_ORBIT_recv_buffer->message.u.reply.reply_status ==
	  GIOP_LOCATION_FORWARD) {
	 if (_obj->forward_locations != NULL)
	    ORBit_delete_profiles(_obj->forward_locations);
	 _obj->forward_locations = ORBit_demarshal_IOR(_ORBIT_recv_buffer);
	 _cnx = ORBit_object_get_forwarded_connection(_obj);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);

	 goto _ORBIT_retry_request;
      } else {
	 ORBit_handle_exception(_ORBIT_recv_buffer, ev,
				_ORBIT_user_exceptions, _obj->orb);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);
	 return;
      }
   }
}
void
Trx_Control_GetAudioMicSamples(Trx_Control _obj,
			       const CORBA_unsigned_long ptr,
			       const CORBA_unsigned_long len,
			       Trx_TrxAudioSamples ** samples,
			       CORBA_Environment * ev)
{
   static const ORBit_exception_demarshal_info _ORBIT_user_exceptions[] =
      { {(const CORBA_TypeCode) &TC_Trx_TrxError_struct,
	 (gpointer) _ORBIT_Trx_TrxError_demarshal}, {CORBA_OBJECT_NIL,
						     NULL} };
   register GIOP_unsigned_long _ORBIT_request_id,
    _ORBIT_system_exception_minor;
   register CORBA_completion_status _ORBIT_completion_status;
   register GIOPSendBuffer *_ORBIT_send_buffer;
   register GIOPRecvBuffer *_ORBIT_recv_buffer;
   register GIOPConnection *_cnx;
   register CORBA_unsigned_long _ORBIT_tmpvar_1;

   if (_obj->servant && _obj->vepv && Trx_Control__classid) {
      ((POA_Trx_Control__epv *) _obj->vepv[Trx_Control__classid])->
	 GetAudioMicSamples(_obj->servant, ptr, len, samples, ev);
      return;
   }
   _cnx = ORBit_object_get_connection(_obj);
 _ORBIT_retry_request:
   _ORBIT_send_buffer = NULL;
   _ORBIT_recv_buffer = NULL;
   _ORBIT_completion_status = CORBA_COMPLETED_NO;
   _ORBIT_request_id = GPOINTER_TO_UINT(alloca(0));
   {				/* marshalling */
      static const struct
      {
	 CORBA_unsigned_long len;
	 char opname[19];
      }
      _ORBIT_operation_name_data =
      {
      19, "GetAudioMicSamples"};
      static const struct iovec _ORBIT_operation_vec =
	 { (gpointer) & _ORBIT_operation_name_data, 23 };
      _ORBIT_send_buffer =
	 giop_send_request_buffer_use(_cnx, NULL, _ORBIT_request_id,
				      CORBA_TRUE,
				      &(_obj->active_profile->object_key_vec),
				      &_ORBIT_operation_vec,
				      &ORBit_default_principal_iovec);

      _ORBIT_system_exception_minor = ex_CORBA_COMM_FAILURE;
      if (!_ORBIT_send_buffer)
	 goto _ORBIT_system_exception;
      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER
				       (_ORBIT_send_buffer), 4);
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer),
				     &(ptr), sizeof(ptr));
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer),
				     &(len), sizeof(len));
      giop_send_buffer_write(_ORBIT_send_buffer);
      _ORBIT_completion_status = CORBA_COMPLETED_MAYBE;
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      _ORBIT_send_buffer = NULL;
   }
   {				/* demarshalling */
      register guchar *_ORBIT_curptr;

      _ORBIT_recv_buffer =
	 giop_recv_reply_buffer_use_2(_cnx, _ORBIT_request_id, TRUE);
      if (!_ORBIT_recv_buffer)
	 goto _ORBIT_system_exception;
      _ORBIT_completion_status = CORBA_COMPLETED_YES;
      if (_ORBIT_recv_buffer->message.u.reply.reply_status !=
	  GIOP_NO_EXCEPTION)
	 goto _ORBIT_msg_exception;
      *samples = Trx_TrxAudioSamples__alloc();
      _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur;
      if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) {
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 (*((guint32 *) & (((**samples))._length))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 ((**samples))._maximum = ((**samples))._length;
	 ((**samples))._buffer =
	    CORBA_sequence_CORBA_octet_allocbuf(((**samples))._length);
	 ((**samples))._release = CORBA_TRUE;
	 memcpy(((**samples))._buffer, _ORBIT_curptr,
		sizeof(((**samples))._buffer[_ORBIT_tmpvar_1]) *
		((**samples))._length);
	 _ORBIT_curptr +=
	    sizeof(((**samples))._buffer[_ORBIT_tmpvar_1]) *
	    ((**samples))._length;
      } else {
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 ((**samples))._length = *((CORBA_unsigned_long *) _ORBIT_curptr);
	 _ORBIT_curptr += 4;
	 ((**samples))._maximum = ((**samples))._length;
	 ((**samples))._buffer =
	    CORBA_sequence_CORBA_octet_allocbuf(((**samples))._length);
	 ((**samples))._release = CORBA_TRUE;
	 memcpy(((**samples))._buffer, _ORBIT_curptr,
		sizeof(((**samples))._buffer[_ORBIT_tmpvar_1]) *
		((**samples))._length);
	 _ORBIT_curptr +=
	    sizeof(((**samples))._buffer[_ORBIT_tmpvar_1]) *
	    ((**samples))._length;
      }
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      return;
    _ORBIT_system_exception:
      CORBA_exception_set_system(ev, _ORBIT_system_exception_minor,
				 _ORBIT_completion_status);
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      return;
    _ORBIT_msg_exception:
      if (_ORBIT_recv_buffer->message.u.reply.reply_status ==
	  GIOP_LOCATION_FORWARD) {
	 if (_obj->forward_locations != NULL)
	    ORBit_delete_profiles(_obj->forward_locations);
	 _obj->forward_locations = ORBit_demarshal_IOR(_ORBIT_recv_buffer);
	 _cnx = ORBit_object_get_forwarded_connection(_obj);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);

	 goto _ORBIT_retry_request;
      } else {
	 ORBit_handle_exception(_ORBIT_recv_buffer, ev,
				_ORBIT_user_exceptions, _obj->orb);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);
	 return;
      }
   }
}
void
Trx_Control_GetAudioSpkSamples(Trx_Control _obj,
			       const CORBA_unsigned_long ptr,
			       const CORBA_unsigned_long len,
			       Trx_TrxAudioSamples ** samples,
			       CORBA_Environment * ev)
{
   static const ORBit_exception_demarshal_info _ORBIT_user_exceptions[] =
      { {(const CORBA_TypeCode) &TC_Trx_TrxError_struct,
	 (gpointer) _ORBIT_Trx_TrxError_demarshal}, {CORBA_OBJECT_NIL,
						     NULL} };
   register GIOP_unsigned_long _ORBIT_request_id,
    _ORBIT_system_exception_minor;
   register CORBA_completion_status _ORBIT_completion_status;
   register GIOPSendBuffer *_ORBIT_send_buffer;
   register GIOPRecvBuffer *_ORBIT_recv_buffer;
   register GIOPConnection *_cnx;
   register CORBA_unsigned_long _ORBIT_tmpvar_1;

   if (_obj->servant && _obj->vepv && Trx_Control__classid) {
      ((POA_Trx_Control__epv *) _obj->vepv[Trx_Control__classid])->
	 GetAudioSpkSamples(_obj->servant, ptr, len, samples, ev);
      return;
   }
   _cnx = ORBit_object_get_connection(_obj);
 _ORBIT_retry_request:
   _ORBIT_send_buffer = NULL;
   _ORBIT_recv_buffer = NULL;
   _ORBIT_completion_status = CORBA_COMPLETED_NO;
   _ORBIT_request_id = GPOINTER_TO_UINT(alloca(0));
   {				/* marshalling */
      static const struct
      {
	 CORBA_unsigned_long len;
	 char opname[19];
      }
      _ORBIT_operation_name_data =
      {
      19, "GetAudioSpkSamples"};
      static const struct iovec _ORBIT_operation_vec =
	 { (gpointer) & _ORBIT_operation_name_data, 23 };
      _ORBIT_send_buffer =
	 giop_send_request_buffer_use(_cnx, NULL, _ORBIT_request_id,
				      CORBA_TRUE,
				      &(_obj->active_profile->object_key_vec),
				      &_ORBIT_operation_vec,
				      &ORBit_default_principal_iovec);

      _ORBIT_system_exception_minor = ex_CORBA_COMM_FAILURE;
      if (!_ORBIT_send_buffer)
	 goto _ORBIT_system_exception;
      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER
				       (_ORBIT_send_buffer), 4);
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer),
				     &(ptr), sizeof(ptr));
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer),
				     &(len), sizeof(len));
      giop_send_buffer_write(_ORBIT_send_buffer);
      _ORBIT_completion_status = CORBA_COMPLETED_MAYBE;
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      _ORBIT_send_buffer = NULL;
   }
   {				/* demarshalling */
      register guchar *_ORBIT_curptr;

      _ORBIT_recv_buffer =
	 giop_recv_reply_buffer_use_2(_cnx, _ORBIT_request_id, TRUE);
      if (!_ORBIT_recv_buffer)
	 goto _ORBIT_system_exception;
      _ORBIT_completion_status = CORBA_COMPLETED_YES;
      if (_ORBIT_recv_buffer->message.u.reply.reply_status !=
	  GIOP_NO_EXCEPTION)
	 goto _ORBIT_msg_exception;
      *samples = Trx_TrxAudioSamples__alloc();
      _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur;
      if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) {
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 (*((guint32 *) & (((**samples))._length))) =
	    GUINT32_SWAP_LE_BE(*((guint32 *) _ORBIT_curptr));
	 _ORBIT_curptr += 4;
	 ((**samples))._maximum = ((**samples))._length;
	 ((**samples))._buffer =
	    CORBA_sequence_CORBA_octet_allocbuf(((**samples))._length);
	 ((**samples))._release = CORBA_TRUE;
	 memcpy(((**samples))._buffer, _ORBIT_curptr,
		sizeof(((**samples))._buffer[_ORBIT_tmpvar_1]) *
		((**samples))._length);
	 _ORBIT_curptr +=
	    sizeof(((**samples))._buffer[_ORBIT_tmpvar_1]) *
	    ((**samples))._length;
      } else {
	 _ORBIT_curptr = ALIGN_ADDRESS(_ORBIT_curptr, 4);
	 ((**samples))._length = *((CORBA_unsigned_long *) _ORBIT_curptr);
	 _ORBIT_curptr += 4;
	 ((**samples))._maximum = ((**samples))._length;
	 ((**samples))._buffer =
	    CORBA_sequence_CORBA_octet_allocbuf(((**samples))._length);
	 ((**samples))._release = CORBA_TRUE;
	 memcpy(((**samples))._buffer, _ORBIT_curptr,
		sizeof(((**samples))._buffer[_ORBIT_tmpvar_1]) *
		((**samples))._length);
	 _ORBIT_curptr +=
	    sizeof(((**samples))._buffer[_ORBIT_tmpvar_1]) *
	    ((**samples))._length;
      }
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      return;
    _ORBIT_system_exception:
      CORBA_exception_set_system(ev, _ORBIT_system_exception_minor,
				 _ORBIT_completion_status);
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      return;
    _ORBIT_msg_exception:
      if (_ORBIT_recv_buffer->message.u.reply.reply_status ==
	  GIOP_LOCATION_FORWARD) {
	 if (_obj->forward_locations != NULL)
	    ORBit_delete_profiles(_obj->forward_locations);
	 _obj->forward_locations = ORBit_demarshal_IOR(_ORBIT_recv_buffer);
	 _cnx = ORBit_object_get_forwarded_connection(_obj);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);

	 goto _ORBIT_retry_request;
      } else {
	 ORBit_handle_exception(_ORBIT_recv_buffer, ev,
				_ORBIT_user_exceptions, _obj->orb);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);
	 return;
      }
   }
}
void
Trx_Control_SetAudioDTMF(Trx_Control _obj, const CORBA_long ch,
			 CORBA_Environment * ev)
{
   static const ORBit_exception_demarshal_info _ORBIT_user_exceptions[] =
      { {(const CORBA_TypeCode) &TC_Trx_TrxError_struct,
	 (gpointer) _ORBIT_Trx_TrxError_demarshal}, {CORBA_OBJECT_NIL,
						     NULL} };
   register GIOP_unsigned_long _ORBIT_request_id,
    _ORBIT_system_exception_minor;
   register CORBA_completion_status _ORBIT_completion_status;
   register GIOPSendBuffer *_ORBIT_send_buffer;
   register GIOPRecvBuffer *_ORBIT_recv_buffer;
   register GIOPConnection *_cnx;

   if (_obj->servant && _obj->vepv && Trx_Control__classid) {
      ((POA_Trx_Control__epv *) _obj->vepv[Trx_Control__classid])->
	 SetAudioDTMF(_obj->servant, ch, ev);
      return;
   }
   _cnx = ORBit_object_get_connection(_obj);
 _ORBIT_retry_request:
   _ORBIT_send_buffer = NULL;
   _ORBIT_recv_buffer = NULL;
   _ORBIT_completion_status = CORBA_COMPLETED_NO;
   _ORBIT_request_id = GPOINTER_TO_UINT(alloca(0));
   {				/* marshalling */
      static const struct
      {
	 CORBA_unsigned_long len;
	 char opname[13];
      }
      _ORBIT_operation_name_data =
      {
      13, "SetAudioDTMF"};
      static const struct iovec _ORBIT_operation_vec =
	 { (gpointer) & _ORBIT_operation_name_data, 17 };
      _ORBIT_send_buffer =
	 giop_send_request_buffer_use(_cnx, NULL, _ORBIT_request_id,
				      CORBA_TRUE,
				      &(_obj->active_profile->object_key_vec),
				      &_ORBIT_operation_vec,
				      &ORBit_default_principal_iovec);

      _ORBIT_system_exception_minor = ex_CORBA_COMM_FAILURE;
      if (!_ORBIT_send_buffer)
	 goto _ORBIT_system_exception;
      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER
				       (_ORBIT_send_buffer), 4);
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer),
				     &(ch), sizeof(ch));
      giop_send_buffer_write(_ORBIT_send_buffer);
      _ORBIT_completion_status = CORBA_COMPLETED_MAYBE;
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      _ORBIT_send_buffer = NULL;
   }
   {				/* demarshalling */
      register guchar *_ORBIT_curptr;

      _ORBIT_recv_buffer =
	 giop_recv_reply_buffer_use_2(_cnx, _ORBIT_request_id, TRUE);
      if (!_ORBIT_recv_buffer)
	 goto _ORBIT_system_exception;
      _ORBIT_completion_status = CORBA_COMPLETED_YES;
      if (_ORBIT_recv_buffer->message.u.reply.reply_status !=
	  GIOP_NO_EXCEPTION)
	 goto _ORBIT_msg_exception;
      _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur;
      if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) {
      } else {
      }
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      return;
    _ORBIT_system_exception:
      CORBA_exception_set_system(ev, _ORBIT_system_exception_minor,
				 _ORBIT_completion_status);
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      return;
    _ORBIT_msg_exception:
      if (_ORBIT_recv_buffer->message.u.reply.reply_status ==
	  GIOP_LOCATION_FORWARD) {
	 if (_obj->forward_locations != NULL)
	    ORBit_delete_profiles(_obj->forward_locations);
	 _obj->forward_locations = ORBit_demarshal_IOR(_ORBIT_recv_buffer);
	 _cnx = ORBit_object_get_forwarded_connection(_obj);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);

	 goto _ORBIT_retry_request;
      } else {
	 ORBit_handle_exception(_ORBIT_recv_buffer, ev,
				_ORBIT_user_exceptions, _obj->orb);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);
	 return;
      }
   }
}
void
Trx_Control_SetAudioParams(Trx_Control _obj,
			   const Trx_TrxAudioParams * params,
			   CORBA_Environment * ev)
{
   register GIOP_unsigned_long _ORBIT_request_id,
    _ORBIT_system_exception_minor;
   register CORBA_completion_status _ORBIT_completion_status;
   register GIOPSendBuffer *_ORBIT_send_buffer;
   register GIOPRecvBuffer *_ORBIT_recv_buffer;
   register GIOPConnection *_cnx;

   if (_obj->servant && _obj->vepv && Trx_Control__classid) {
      ((POA_Trx_Control__epv *) _obj->vepv[Trx_Control__classid])->
	 SetAudioParams(_obj->servant, params, ev);
      return;
   }
   _cnx = ORBit_object_get_connection(_obj);
 _ORBIT_retry_request:
   _ORBIT_send_buffer = NULL;
   _ORBIT_recv_buffer = NULL;
   _ORBIT_completion_status = CORBA_COMPLETED_NO;
   _ORBIT_request_id = GPOINTER_TO_UINT(alloca(0));
   {				/* marshalling */
      static const struct
      {
	 CORBA_unsigned_long len;
	 char opname[15];
      }
      _ORBIT_operation_name_data =
      {
      15, "SetAudioParams"};
      static const struct iovec _ORBIT_operation_vec =
	 { (gpointer) & _ORBIT_operation_name_data, 19 };
      _ORBIT_send_buffer =
	 giop_send_request_buffer_use(_cnx, NULL, _ORBIT_request_id,
				      CORBA_TRUE,
				      &(_obj->active_profile->object_key_vec),
				      &_ORBIT_operation_vec,
				      &ORBit_default_principal_iovec);

      _ORBIT_system_exception_minor = ex_CORBA_COMM_FAILURE;
      if (!_ORBIT_send_buffer)
	 goto _ORBIT_system_exception;
      giop_message_buffer_do_alignment(GIOP_MESSAGE_BUFFER
				       (_ORBIT_send_buffer), 4);
      giop_message_buffer_append_mem(GIOP_MESSAGE_BUFFER(_ORBIT_send_buffer),
				     &((*params)), sizeof((*params)));
      giop_send_buffer_write(_ORBIT_send_buffer);
      _ORBIT_completion_status = CORBA_COMPLETED_MAYBE;
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      _ORBIT_send_buffer = NULL;
   }
   {				/* demarshalling */
      register guchar *_ORBIT_curptr;

      _ORBIT_recv_buffer =
	 giop_recv_reply_buffer_use_2(_cnx, _ORBIT_request_id, TRUE);
      if (!_ORBIT_recv_buffer)
	 goto _ORBIT_system_exception;
      _ORBIT_completion_status = CORBA_COMPLETED_YES;
      if (_ORBIT_recv_buffer->message.u.reply.reply_status !=
	  GIOP_NO_EXCEPTION)
	 goto _ORBIT_msg_exception;
      _ORBIT_curptr = GIOP_RECV_BUFFER(_ORBIT_recv_buffer)->cur;
      if (giop_msg_conversion_needed(GIOP_MESSAGE_BUFFER(_ORBIT_recv_buffer))) {
      } else {
      }
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      return;
    _ORBIT_system_exception:
      CORBA_exception_set_system(ev, _ORBIT_system_exception_minor,
				 _ORBIT_completion_status);
      giop_recv_buffer_unuse(_ORBIT_recv_buffer);
      giop_send_buffer_unuse(_ORBIT_send_buffer);
      return;
    _ORBIT_msg_exception:
      if (_ORBIT_recv_buffer->message.u.reply.reply_status ==
	  GIOP_LOCATION_FORWARD) {
	 if (_obj->forward_locations != NULL)
	    ORBit_delete_profiles(_obj->forward_locations);
	 _obj->forward_locations = ORBit_demarshal_IOR(_ORBIT_recv_buffer);
	 _cnx = ORBit_object_get_forwarded_connection(_obj);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);

	 goto _ORBIT_retry_request;
      } else {
	 ORBit_handle_exception(_ORBIT_recv_buffer, ev, NULL, _obj->orb);
	 giop_recv_buffer_unuse(_ORBIT_recv_buffer);
	 return;
      }
   }
}
