Once you've established a connection to STK, you can send and
receive data using the AgConProcessSTKCmd() function,
whose prototype is:
int
AgConProcessSTKCmd (
char *context,
char *cmdString,
AgTConReturnInfo *returnInfo
);
The context argument, is the value returned from
the AgConOpenSTK function, defined during connection,
and identifies the connection to which commands are sent.
The cmdString argument is a character string
containing the Connect command to be sent.
The returnInfo argument is a structure that
contains any information returned by STK.
Connect takes information returned from STK and places it in a
AgTConReturnInfo structure:
typedef struct AgTConReturnInfo
{
char hdrType[AgCRMHAHdrTypeLen+1];
char transId[AgCRMHAHdrIdLen+1];
int numEntries;
char **returnList;
} AgTConReturnInfo;
The hdrType and transId fields are
relevant only when Connect is in Async mode. The
hdrType field stores type information contained in an
asynchronous header. The transId field stores the
transaction identification number, also returned in an asynchronous
header.
The numEntries field identifies the number of data
items being returned by STK. Finally, the returnList
field is an array of strings that contains the returned data. The
number of array elements is the same as the numEntries
field for the structure.
The returnList portion of
AgTConReturnInfo() is an allocated array of pointers.
The number of array elements allocated depends on the number of
messages returned for a given command. Each array element is then
allocated sufficient space to hold the returned message. You must
free the space allocated with the
AgConCleanupReturnInfo.
Note: You must use the
AgConCleanupReturnInfo function to free the memory
returned by AgConProcessSTKCmd(), otherwise processing errors will
occur.
The AgConCleanupReturnInfo() prototype is:
void
AgConCleanupReturnInfo (
AgTConReturnInfo *pReturnInfo
);
The AgConCleanupReturnInfo() function frees the
memory associated with the structure pointed to by the
pReturnInfo parameter.
AgConProcessSTKCmd() returns
AgCNoError if successful, AgCError if an
error occurs and AgCNackReturned if the command was
sent successfully but was rejected by STK.
See the Connect Example File.
STK Programming Interface 11.0.1