OpenTTCN/Developer corner/Creating adapter with C SDK/Utilities.h

From OpenTTCN

Jump to: navigation, search
#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
Views
Personal tools