** **
\*****************************************************************************/
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-//#include <unistd.h>
-//#include <poll.h>
-//#include <sys/types.h>
-//#include <sys/stat.h>
-//#include <fcntl.h>
#include "main.h"
//#define __u8 unsigned char
//#define __u16 unsigned short
//#define __u32 unsigned long
-//#include "linux/isdnif.h"
/*
void JoinRemote::message_remote(int message_type, union parameter *param)
{
- struct message *message;
+ struct lcr_msg *message;
/* create relation if no relation exists */
if (!j_epoint_id)
if (!(epoint = new Endpoint(0, j_serial)))
FATAL("No memory for Endpoint instance\n");
j_epoint_id = epoint->ep_serial;
- if (!(epoint->ep_app = new DEFAULT_ENDPOINT_APP(epoint)))
+ if (!(epoint->ep_app = new DEFAULT_ENDPOINT_APP(epoint, 1))) // outgoing
FATAL("No memory for Endpoint Application instance\n");
}
* also ref is given, so we send message with ref */
if (message_type == MESSAGE_BCHANNEL)
{
- message_bchannel_from_join(this, param->bchannel.type, param->bchannel.addr);
+ message_bchannel_from_join(this, param->bchannel.type, param->bchannel.handle);
return;
}
- /* cannot just forward, because param is not of container "struct message" */
+ /* cannot just forward, because param is not of container "struct lcr_msg" */
message = message_create(j_serial, j_epoint_id, JOIN_TO_EPOINT, message_type);
memcpy(&message->param, param, sizeof(message->param));
message_put(message);
}
}
-void message_bchannel_to_join(unsigned long remote_id, unsigned long ref, int type, unsigned long addr)
+void message_bchannel_to_join(unsigned long remote_id, unsigned long ref, int type, unsigned long handle, int tx_gain, int rx_gain, char *pipeline, unsigned char *crypt, int crypt_len, int crypt_type)
{
union parameter param;
memset(¶m, 0, sizeof(union parameter));
param.bchannel.type = type;
- param.bchannel.addr = addr;
+ param.bchannel.handle = handle;
+ param.bchannel.tx_gain = tx_gain;
+ param.bchannel.rx_gain = rx_gain;
+ if (pipeline)
+ SCPY(param.bchannel.pipeline, pipeline);
+ if (crypt_len)
+ memcpy(param.bchannel.crypt, crypt, crypt_len);
+ param.bchannel.crypt_type = crypt_type;
if (admin_message_from_join(remote_id, ref, MESSAGE_BCHANNEL, ¶m)<0)
{
PERROR("No socket with remote id %d found, this happens, if the socket is closed before all bchannels are imported.\n", remote_id);