summaryrefslogtreecommitdiff
path: root/addons/ooh323c/src/ooh323ep.h
diff options
context:
space:
mode:
authorRussell Bryant <russell@russellbryant.com>2009-06-30 16:40:38 +0000
committerRussell Bryant <russell@russellbryant.com>2009-06-30 16:40:38 +0000
commitc511a2674906fd93470f0a9b77340041771466e1 (patch)
treed3d6aa7ea86d11ecaa6e88efbc46a5dde1c63ea5 /addons/ooh323c/src/ooh323ep.h
parent62d3f1dfd9632f18c4f7c12e44af30f4cc08c292 (diff)
Move Asterisk-addons modules into the main Asterisk source tree.
Someone asked yesterday, "is there a good reason why we can't just put these modules in Asterisk?". After a brief discussion, as long as the modules are clearly set aside in their own directory and not enabled by default, it is perfectly fine. For more information about why a module goes in addons, see README-addons.txt. chan_ooh323 does not currently compile as it is behind some trunk API updates. However, it will not build by default, so it should be okay for now. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@204413 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'addons/ooh323c/src/ooh323ep.h')
-rw-r--r--addons/ooh323c/src/ooh323ep.h634
1 files changed, 634 insertions, 0 deletions
diff --git a/addons/ooh323c/src/ooh323ep.h b/addons/ooh323c/src/ooh323ep.h
new file mode 100644
index 000000000..9d80a1df1
--- /dev/null
+++ b/addons/ooh323c/src/ooh323ep.h
@@ -0,0 +1,634 @@
+/*
+ * Copyright (C) 2004-2005 by Objective Systems, Inc.
+ *
+ * This software is furnished under an open source license and may be
+ * used and copied only in accordance with the terms of this license.
+ * The text of the license may generally be found in the root
+ * directory of this installation in the COPYING file. It
+ * can also be viewed online at the following URL:
+ *
+ * http://www.obj-sys.com/open/license.html
+ *
+ * Any redistributions of this file including modified versions must
+ * maintain this copyright notice.
+ *
+ *****************************************************************************/
+/**
+ * @file ooh323ep.h
+ * This file contains H323 endpoint related functions.
+ */
+#ifndef OO_H323EP_H_
+#define OO_H323EP_H_
+#include "ooCapability.h"
+#include "ooCalls.h"
+#include "ooGkClient.h"
+#include "ooports.h"
+#include "ooq931.h"
+
+#define DEFAULT_TRACEFILE "trace.log"
+#define DEFAULT_TERMTYPE 50
+#define DEFAULT_PRODUCTID "objsys"
+#define DEFAULT_CALLERID "objsyscall"
+#define DEFAULT_T35COUNTRYCODE 1
+#define DEFAULT_T35EXTENSION 0
+#define DEFAULT_MANUFACTURERCODE 71
+#define DEFAULT_H245CONNECTION_RETRYTIMEOUT 2
+#define DEFAULT_CALLESTB_TIMEOUT 60
+#define DEFAULT_MSD_TIMEOUT 30
+#define DEFAULT_TCS_TIMEOUT 30
+#define DEFAULT_LOGICALCHAN_TIMEOUT 30
+#define DEFAULT_ENDSESSION_TIMEOUT 15
+#define DEFAULT_H323PORT 1720
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef EXTERN
+#ifdef MAKE_DLL
+#define EXTERN __declspec(dllexport)
+#else
+#define EXTERN
+#endif /* MAKE_DLL */
+#endif /* EXTERN */
+
+struct OOCapPrefs;
+/**
+ * @defgroup h323ep H323 Endpoint management functions
+ * @{
+ */
+/* Default port ranges */
+#define TCPPORTSSTART 12030 /*!< Starting TCP port number */
+#define TCPPORTSEND 12230 /*!< Ending TCP port number */
+#define UDPPORTSSTART 13030 /*!< Starting UDP port number */
+#define UDPPORTSEND 13230 /*!< Ending UDP port number */
+#define RTPPORTSSTART 14030 /*!< Starting RTP port number */
+#define RTPPORTSEND 14230 /*!< Ending RTP port number */
+
+
+
+
+/**
+ * This structure is used to define the port ranges to be used
+ * by the application.
+ */
+typedef struct OOH323Ports {
+ int start; /*!< Starting port number. */
+ int max; /*!< Maximum port number. */
+ int current; /*!< Current port number. */
+} OOH323Ports;
+
+/**
+ * Structure to store all configuration information related to the
+ * endpoint created by an application
+ */
+typedef struct OOH323EndPoint {
+
+ /**
+ * This context should be used for allocation of memory for
+ * items within the endpoint structure.
+ */
+ OOCTXT ctxt;
+
+ /**
+ * This context should be used for allocation of memory for
+ * message structures.
+ */
+ OOCTXT msgctxt;
+
+ char traceFile[MAXFILENAME];
+ FILE * fptraceFile;
+
+ /** Range of port numbers to be used for TCP connections */
+ OOH323Ports tcpPorts;
+
+ /** Range of port numbers to be used for UDP connections */
+ OOH323Ports udpPorts;
+
+ /** Range of port numbers to be used for RTP connections */
+ OOH323Ports rtpPorts;
+
+ ASN1UINT flags;
+
+ int termType; /* 50 - Terminal entity with No MC,
+ 60 - Gateway entity with no MC,
+ 70 - Terminal Entity with MC, but no MP etc.*/
+ int t35CountryCode;
+ int t35Extension;
+ int manufacturerCode;
+ const char *productID;
+ const char *versionID;
+ const char *callerid;
+ char callingPartyNumber[50];
+ OOSOCKET *stackSocket;
+ OOAliases *aliases;
+
+ int callType;
+
+ struct ooH323EpCapability *myCaps;
+ OOCapPrefs capPrefs;
+ int noOfCaps;
+ OOH225MsgCallbacks h225Callbacks;
+ OOH323CALLBACKS h323Callbacks;
+ char signallingIP[20];
+ int listenPort;
+ OOSOCKET *listener;
+ OOH323CallData *callList;
+
+ OOCallMode callMode; /* audio/audiorx/audiotx/video/fax */
+ int dtmfmode;
+ ASN1UINT callEstablishmentTimeout;
+ ASN1UINT msdTimeout;
+ ASN1UINT tcsTimeout;
+ ASN1UINT logicalChannelTimeout;
+ ASN1UINT sessionTimeout;
+ int cmdPipe[2];
+ struct ooGkClient *gkClient;
+
+ OOInterface *ifList; /* interface list for the host we are running on*/
+ OOBOOL isGateway;
+ OOSOCKET cmdSock;
+} OOH323EndPoint;
+
+#define ooEndPoint OOH323EndPoint
+
+/**
+ * This function is the first function to be invoked before using stack. It
+ * initializes the H323 Endpoint.
+ * @param callMode Type of calls to be made(audio/video/fax).
+ * (OO_CALLMODE_AUDIO, OO_CALLMODE_VIDEO)
+ * @param tracefile Trace file name.
+ *
+ * @return OO_OK, on success. OO_FAILED, on failure
+ */
+EXTERN int ooH323EpInitialize
+ (enum OOCallMode callMode, const char* tracefile);
+
+/**
+ * This function is used to represent the H.323 application endpoint as
+ * gateway, instead of an H.323 phone endpoint.
+ *
+ * @return OO_OK, on success. OO_FAILED, on failure.
+ */
+EXTERN int ooH323EpSetAsGateway();
+
+/**
+ * This function is used to assign a local ip address to be used for call
+ * signalling.
+ * @param localip Dotted IP address to be used for call signalling.
+ * @param listenport Port to be used for listening for incoming calls.
+ *
+ * @return OO_OK, on success. OO_FAILED, on failure.
+ */
+EXTERN int ooH323EpSetLocalAddress(const char* localip, int listenport);
+
+/**
+ * This function is used to set the range of tcp ports the application will
+ * use for tcp transport.
+ * @param base Starting port number for the range
+ * @param max Ending port number for the range.
+ *
+ * @return OO_OK, on success. OO_FAILED, on failure.
+ */
+EXTERN int ooH323EpSetTCPPortRange(int base, int max);
+
+/**
+ * This function is used to set the range of udp ports the application will
+ * use for udp transport.
+ * @param base Starting port number for the range
+ * @param max Ending port number for the range.
+ *
+ * @return OO_OK, on success. OO_FAILED, on failure.
+ */
+EXTERN int ooH323EpSetUDPPortRange(int base, int max);
+
+/**
+ * This function is used to set the range of rtp ports the application will
+ * use for media streams.
+ * @param base Starting port number for the range
+ * @param max Ending port number for the range.
+ *
+ * @return OO_OK, on success. OO_FAILED, on failure.
+ */
+EXTERN int ooH323EpSetRTPPortRange(int base, int max);
+
+/**
+ * This function is used to set the trace level for the H.323 endpoint.
+ * @param traceLevel Level of tracing.
+ *
+ * @return OO_OK, on success. OO_FAILED, otherwise.
+ */
+EXTERN int ooH323EpSetTraceLevel(int traceLevel);
+
+/**
+ * This function is used to add the h323id alias for the endpoint.
+ * @param h323id H323-ID to be set as alias.
+ *
+ * @return OO_OK, on success. OO_FAILED, on failure.
+ */
+EXTERN int ooH323EpAddAliasH323ID(const char* h323id);
+
+/**
+ * This function is used to add the dialed digits alias for the
+ * endpoint.
+ * @param dialedDigits Dialed-Digits to be set as alias.
+ *
+ * @return OO_OK, on success. OO_FAILED, on failure.
+ */
+EXTERN int ooH323EpAddAliasDialedDigits(const char* dialedDigits);
+
+/**
+ * This function is used to add the url alias for the endpoint.
+ * @param url URL to be set as an alias.
+ *
+ * @return OO_OK, on success. OO_FAILED, on failure.
+ */
+EXTERN int ooH323EpAddAliasURLID(const char* url);
+
+/**
+ * This function is used to add an email id as an alias for the endpoint.
+ * @param email Email id to be set as an alias.
+ *
+ * @return OO_OK, on success. OO_FAILED, on failure.
+ */
+EXTERN int ooH323EpAddAliasEmailID(const char* email);
+
+/**
+ * This function is used to add an ip address as an alias.
+ * @param ipaddress IP address to be set as an alias.
+ *
+ * @return OO_OK, on success. OO_FAILED, on failure.
+ */
+EXTERN int ooH323EpAddAliasTransportID(const char* ipaddress);
+
+/**
+ * This function is used to clear all the aliases used by the
+ * H323 endpoint.
+ *
+ * @return OO_OK, on success. OO_FAILED, on failure.
+ */
+EXTERN int ooH323EpClearAllAliases(void);
+
+/**
+ * This function is used to set the H225 message callbacks for the
+ * endpoint.
+ * @param h225Callbacks Callback structure containing various callbacks.
+ *
+ * @return OO_OK, on success. OO_FAILED, on failure.
+ */
+EXTERN int ooH323EpSetH225MsgCallbacks(OOH225MsgCallbacks h225Callbacks);
+
+/**
+ * This function is used to set high level H.323 callbacks for the endpoint.
+ * Make sure all unused callbacks in the structure are set to NULL before
+ * calling this function.
+ * @param h323Callbacks Callback structure containing various high level
+ * callbacks.
+ * @return OO_OK, on success. OO_FAILED, on failure
+ */
+EXTERN int ooH323EpSetH323Callbacks(OOH323CALLBACKS h323Callbacks);
+
+
+/**
+ * This function is the last function to be invoked after done using the
+ * stack. It closes the H323 Endpoint for an application, releasing all
+ * the associated memory.
+ *
+ * @return OO_OK on success
+ * OO_FAILED on failure
+ */
+EXTERN int ooH323EpDestroy(void);
+
+
+/**
+ * This function is used to enable the auto answer feature for
+ * incoming calls
+ *
+ * @return OO_OK, on success. OO_FAILED, on failure.
+ */
+EXTERN int ooH323EpEnableAutoAnswer(void);
+
+/**
+ * This function is used to disable the auto answer feature for
+ * incoming calls.
+ *
+ * @return OO_OK, on success. OO_FAILED, on failure.
+ */
+EXTERN int ooH323EpDisableAutoAnswer(void);
+
+/**
+ * This function is used to enable manual ringback. By default the stack sends
+ * alerting message automatically on behalf of the endpoint application.
+ * However, if endpoint application wants to do alerting user part first before
+ * sending out alerting message, it can enable this feature.
+ *
+ * @return OO_OK on success, OO_FAILED on failure
+ */
+EXTERN int ooH323EpEnableManualRingback(void);
+
+/**
+ * This function is used to disable manual ringback. By default the
+ * manual ringback feature is disabled, i.e, the stack sends alerting on behalf
+ * of the application automatically.
+ *
+ * @return OO_OK on success, OO_FAILED on failure
+ */
+EXTERN int ooH323EpDisableManualRingback(void);
+
+/**
+ * This function is used to enable MediaWaitForConnect.
+ *
+ * @return OO_OK, on success. OO_FAILED, on failure.
+ */
+EXTERN int ooH323EpDisableMediaWaitForConnect(void);
+
+/**
+ * This function is used to disable MediaWaitForConnect.
+ *
+ * @return OO_OK, on success. OO_FAILED, on failure.
+ */
+EXTERN int ooH323EpDisableMediaWaitForConnect(void);
+
+/**
+ * This function is used to enable faststart.
+ *
+ * @return OO_OK, on success. OO_FAILED, on failure.
+ */
+EXTERN int ooH323EpEnableFastStart(void);
+
+/**
+ * This function is used to disable faststart.
+ *
+ * @return OO_OK, on success. OO_FAILED, on failure.
+ */
+EXTERN int ooH323EpDisableFastStart(void);
+
+/**
+ * This function is used to enable tunneling.
+ *
+ * @return OO_OK, on success. OO_FAILED, on failure.
+ */
+EXTERN int ooH323EpEnableH245Tunneling(void);
+
+/**
+ * This function is used to disable tunneling.
+ *
+ * @return OO_OK, on success. OO_FAILED, on failure.
+ */
+EXTERN int ooH323EpDisableH245Tunneling(void);
+
+/**
+ * This function is used to enable GkRouted calls.
+ *
+ * @return OO_OK, on success. OO_FAILED, on failure.
+ */
+EXTERN int ooH323EpEnableGkRouted(void);
+
+/**
+ * This function is used to disable Gkrouted calls.
+ *
+ * @return OO_OK, on success. OO_FAILED, on failure.
+ */
+EXTERN int ooH323EpDisableGkRouted(void);
+
+/**
+ * This function is used to set the product ID.
+ * @param productID New value for the product id.
+ *
+ * @return OO_OK, on success. OO_FAILED, on failure.
+ */
+EXTERN int ooH323EpSetProductID (const char * productID);
+
+/**
+ * This function is used to set version id.
+ * @param versionID New value for the version id.
+ *
+ * @return OO_OK, on success. OO_FAILED, on failure.
+ */
+EXTERN int ooH323EpSetVersionID (const char * versionID);
+
+/**
+ * This function is used to set callerid to be used for outbound
+ * calls.
+ * @param callerID New value for the caller id.
+ *
+ * @return OO_OK, on success. OO_FAILED, on failure.
+ */
+EXTERN int ooH323EpSetCallerID (const char * callerID);
+
+/**
+ * This function is used to set calling party number to be used for outbound
+ * calls.Note, you can override it for a specific call by using
+ * ooCallSetCallingPartyNumber function.
+ * @param number e164 number to be used as calling party number.
+ *
+ * @return OO_OK, on success; OO_FAILED, otherwise.
+ */
+EXTERN int ooH323EpSetCallingPartyNumber(const char * number);
+
+/**
+ * This function is used to print the current configuration information of
+ * the H323 endpoint to log file.
+ */
+void ooH323EpPrintConfig(void);
+
+
+/**
+ * This function is used to add G728 capability to the H323 endpoint.
+ * @param cap Type of G728 capability to be added.
+ * @param txframes Number of frames per packet for transmission.
+ * @param rxframes Number of frames per packet for reception.
+ * @param dir Direction of capability.OORX, OOTX, OORXANDTX
+ * @param startReceiveChannel Callback function to start receive channel.
+ * @param startTransmitChannel Callback function to start transmit channel.
+ * @param stopReceiveChannel Callback function to stop receive channel.
+ * @param stopTransmitChannel Callback function to stop transmit channel.
+ *
+ * @return OO_OK, on success. OO_FAILED, on failure.
+ */
+EXTERN int ooH323EpAddG728Capability
+ (int cap, int txframes, int rxframes, int dir,
+ cb_StartReceiveChannel startReceiveChannel,
+ cb_StartTransmitChannel startTransmitChannel,
+ cb_StopReceiveChannel stopReceiveChannel,
+ cb_StopTransmitChannel stopTransmitChannel);
+
+/**
+ * This function is used to add G729 capability to the H323 endpoint.
+ * @param cap Type of G729 capability to be added.
+ * @param txframes Number of frames per packet for transmission.
+ * @param rxframes Number of frames per packet for reception.
+ * @param dir Direction of capability.OORX, OOTX, OORXANDTX
+ * @param startReceiveChannel Callback function to start receive channel.
+ * @param startTransmitChannel Callback function to start transmit channel.
+ * @param stopReceiveChannel Callback function to stop receive channel.
+ * @param stopTransmitChannel Callback function to stop transmit channel.
+ *
+ * @return OO_OK, on success. OO_FAILED, on failure.
+ */
+EXTERN int ooH323EpAddG729Capability
+ (int cap, int txframes, int rxframes, int dir,
+ cb_StartReceiveChannel startReceiveChannel,
+ cb_StartTransmitChannel startTransmitChannel,
+ cb_StopReceiveChannel stopReceiveChannel,
+ cb_StopTransmitChannel stopTransmitChannel);
+
+
+/**
+ * This function is used to add G7231 capability to the H323 endpoint.
+ * @param cap Type of G7231 capability to be added.
+ * @param txframes Number of frames per packet for transmission.
+ * @param rxframes Number of frames per packet for reception.
+ * @param silenceSuppression Silence Suppression support
+ * @param dir Direction of capability.OORX, OOTX, OORXANDTX
+ * @param startReceiveChannel Callback function to start receive channel.
+ * @param startTransmitChannel Callback function to start transmit channel.
+ * @param stopReceiveChannel Callback function to stop receive channel.
+ * @param stopTransmitChannel Callback function to stop transmit channel.
+ *
+ * @return OO_OK, on success. OO_FAILED, on failure.
+ */
+EXTERN int ooH323EpAddG7231Capability(int cap, int txframes, int rxframes,
+ OOBOOL silenceSuppression, int dir,
+ cb_StartReceiveChannel startReceiveChannel,
+ cb_StartTransmitChannel startTransmitChannel,
+ cb_StopReceiveChannel stopReceiveChannel,
+ cb_StopTransmitChannel stopTransmitChannel);
+
+/**
+ * This function is used to add G711 capability to the H323 endpoint.
+ * @param cap Type of G711 capability to be added.
+ * @param txframes Number of frames per packet for transmission.
+ * @param rxframes Number of frames per packet for reception.
+ * @param dir Direction of capability.OORX, OOTX, OORXANDTX
+ * @param startReceiveChannel Callback function to start receive channel.
+ * @param startTransmitChannel Callback function to start transmit channel.
+ * @param stopReceiveChannel Callback function to stop receive channel.
+ * @param stopTransmitChannel Callback function to stop transmit channel.
+ *
+ * @return OO_OK, on success. OO_FAILED, on failure.
+ */
+EXTERN int ooH323EpAddG711Capability
+ (int cap, int txframes, int rxframes, int dir,
+ cb_StartReceiveChannel startReceiveChannel,
+ cb_StartTransmitChannel startTransmitChannel,
+ cb_StopReceiveChannel stopReceiveChannel,
+ cb_StopTransmitChannel stopTransmitChannel);
+
+
+/**
+ * This function is used to add a new GSM capability to the endpoint.
+ * @param cap Type of GSM capability to be added.
+ * @param framesPerPkt Number of GSM frames pre packet.
+ * @param comfortNoise Comfort noise spec for the capability.
+ * @param scrambled Scrambled enabled/disabled for the capability.
+ * @param dir Direction of capability.OORX, OOTX, OORXANDTX
+ * @param startReceiveChannel Callback function to start receive channel.
+ * @param startTransmitChannel Callback function to start transmit channel.
+ * @param stopReceiveChannel Callback function to stop receive channel.
+ * @param stopTransmitChannel Callback function to stop transmit channel.
+ *
+ * @return OO_OK, on success. OO_FAILED, on failure.
+ */
+EXTERN int ooH323EpAddGSMCapability(int cap, ASN1USINT framesPerPkt,
+ OOBOOL comfortNoise,OOBOOL scrambled,int dir,
+ cb_StartReceiveChannel startReceiveChannel,
+ cb_StartTransmitChannel startTransmitChannel,
+ cb_StopReceiveChannel stopReceiveChannel,
+ cb_StopTransmitChannel stopTransmitChannel);
+/**
+ * This function is used to add H263 video capability to the H323 endpoint.
+ * @param cap Capability type - OO_H263VIDEO
+ * @param sqcifMPI Minimum picture interval for encoding/decoding
+ * of SQCIF pictures.
+ * @param qcifMPI Minimum picture interval for encoding/decoding
+ * of QCIF pictures.
+ * @param cifMPI Minimum picture interval for encoding/decoding
+ * of CIF pictures.
+ * @param cif4MPI Minimum picture interval for encoding/decoding
+ * of CIF4 pictures.
+ * @param cif16MPI Minimum picture interval for encoding/decoding
+ * of CIF16 pictures.
+ * @param maxBitRate Maximum bit rate in units of 100 bits/s at
+ * which a transmitter can transmit video or a
+ * receiver can receive video.
+ * @param dir Direction of capability.OORX, OOTX, OORXANDTX
+ * @param startReceiveChannel Callback function to start receive channel.
+ * @param startTransmitChannel Callback function to start transmit channel.
+ * @param stopReceiveChannel Callback function to stop receive channel.
+ * @param stopTransmitChannel Callback function to stop transmit channel.
+ *
+ * @return OO_OK, on success. OO_FAILED, on failure.
+ */
+EXTERN int ooH323EpAddH263VideoCapability(int cap, unsigned sqcifMPI,
+ unsigned qcifMPI, unsigned cifMPI,
+ unsigned cif4MPI, unsigned cif16MPI,
+ unsigned maxBitRate, int dir,
+ cb_StartReceiveChannel startReceiveChannel,
+ cb_StartTransmitChannel startTransmitChannel,
+ cb_StopReceiveChannel stopReceiveChannel,
+ cb_StopTransmitChannel stopTransmitChannel);
+
+/**
+ * This function is used to enable rfc 2833 support for the endpoint.
+ * @param dynamicRTPPayloadType Payload type value to use.
+ *
+ * @return OO_OK, on success; OO_FAILED, on failure
+ */
+EXTERN int ooH323EpEnableDTMFRFC2833(int dynamicRTPPayloadType);
+
+/**
+ * This function is used to disable rfc 2833 support for the endpoint.
+ *
+ * @return OO_OK, on success; OO_FAILED, on failure
+ */
+EXTERN int ooH323EpDisableDTMFRFC2833(void);
+
+/**
+ * This function is used to enable the H245(alphanumeric) dtmf capability for
+ * the endpoint.
+ * @return OO_OK, on success; OO_FAILED, on failure
+ */
+EXTERN int ooH323EpEnableDTMFH245Alphanumeric();
+
+/**
+ * This function is used to disable the H245(alphanumeric) dtmf capability for
+ * the endpoint.
+ * @return OO_OK, on success; OO_FAILED, on failure
+ */
+EXTERN int ooH323EpDisableDTMFH245Alphanumeric();
+
+/**
+ * This function is used to enable the H245(signal) dtmf capability for
+ * the endpoint.
+ * @return OO_OK, on success; OO_FAILED, on failure
+ */
+EXTERN int ooH323EpEnableDTMFH245Signal();
+
+/**
+ * This function is used to disable the H245(signal) dtmf capability for
+ * the endpoint.
+ * @return OO_OK, on success; OO_FAILED, on failure
+ */
+EXTERN int ooH323EpDisableDTMFH245Signal();
+
+/**
+ * This function is used to add callbacks to the gatekeeper client. If user
+ * application wants to do some special processing of various gatekeeper client
+ * events, that can be done through these callbacks.
+ * @param gkClientCallbacks Handle to the callback structure.Make sure all
+ * the members of the structure are appropriately
+ * initialized.
+ *
+ * @return OO_OK, on success. OO_FAILED, on failure.
+ */
+EXTERN int ooH323EpSetGkClientCallbacks(OOGKCLIENTCALLBACKS gkClientCallbacks);
+
+/**
+ * @}
+ */
+#ifdef __cplusplus
+}
+#endif
+
+#endif