From OpenTTCN
#ifndef __OT_WIKIEX_EXAMPLE01_UTILITIES_H__
#define __OT_WIKIEX_EXAMPLE01_UTILITIES_H__
#include <tci/tci.h>
/***************************************************************************
* Socket data.
*/
extern int _socketDesc;
extern int _socketDescInitialized;
/***************************************************************************
* TCI-CD-related utility functions.
*/
long tciValueToLong(TciValue value);
void assignLongToTciValue(TciValue dst, long value);
TciValue longToTciValue(long value);
/* Do not forget to free() the null-terminated char* string returned in
* dst_str. */
void tciValueToCharstring(char** dst_str, long* dst_str_len, TciValue value);
void assignCharstringToTciValue(TciValue dst, const char* value);
TciValue charstringToTciValue(const char* value);
/* Sized charstring does not have to be null-terminated. */
void assignSizedCharstringToTciValue(TciValue dst, const char* value, long len);
TciValue sizedCharstringToTciValue(const char* value, long len);
/***************************************************************************
* Network interface code helpers.
*/
/* Returns 0 on success, non-zero on error. */
int extractHostAndPortFromAddress(
unsigned long* dstIpAddr_,
unsigned short* dstPortNumber_,
TciValue src_);
/* Returns 0 on success, non-zero on error. */
int bindSocketToAnyPort(int* dstSocketDesc);
/**
* Sends datagram packet to the specified destination IP address and UDP port.
* Returns 0 on success, non-zero on error.
*/
int sendDatagramPacket(unsigned long host_,
unsigned short port_, const char* data_, long length_);
#endif