Transferring Data

Many calls require data to be passed to the server.  Others return complex information such as the contents of a badge record. This is accomplished using a structure defined in the commands.h header file.  This is the definition:

typedef XMLRECORDDATA *
            {
            int   fieldCount;
            char **fieldName;
            char **fieldData;
            }XMLRECORDDATA, *lpXMLRECORDDATA;

The fieldCount element contains the number of parameters being passed in the structure.  The fieldName element is an array of pointers to character strings containing the name of the parameter.  Similarly, the fieldData element contains the value of the parameter.

It is always the responsibility of the creator of the structure to release any memory it may have allocated for the various structure elements.

In the description of the calls which follow, the contents of the structure are represented by name=value pairs. For example, if the definition was:

FirstName=George
LastName=Smith

Then fieldCount would be set to 2, and fieldName would point to an array of 2 pointers to character strings, the first containing FirstName and the second containing LastName.  Similarly, fieldData would point to an array of 2 pointers to character strings, the first containing George and the second containing Smith.

When an input field is a Boolean value then 1, on, yes, and true are considered equal and any other value is considered false.  These are not case-sensitive.