Information
This version of the product has reached end of support. The documentation is available for your convenience. However, you must be logged in to access it. You will not be able to leave comments.

Program structure


The AR System C API programs consist of the following sections:



The following code fragment provides an example of the generic program structure. Because almost every AR System C API function has a control parameter as its first input argument, the template includes code for loading the ARControlStruct structure (see Login-and-session-information).


Warning

Note

ARInitialization does not use login information from the control structure, so you can load it into the control structure either before or after you issue the ARInitialization call. In the example, it is done after.



{
ARControlStruct   control;
ARStatusList      status;
intrtn;
...
...

/****************************************************************/
/* Perform Startup                                              */
/****************************************************************/
if (ARInitialization(&control, &status) >= AR_RETURN_ERROR){
printf("\n **** initialization error ****\n");
PrintARStatusList(&status);
exit(3);
}
FreeARStatusList(&status, FALSE);

/****************************************************************/
/* Load ARControlStruct                                         */
/****************************************************************/
strncpy(control.user, "Demo", AR_MAX_ACCESS_NAME_SIZE);
                                              /* use Demo user */
control.user[AR_MAX_ACCESS_NAME_SIZE] = '\0';
strcpy(control.password, "");           /* could load from file */
memset(&control.localeinfo, 0, sizeof(ARLocalizationInfo));
                                         /* use default locale */
strncpy(control.server, argv[1], AR_MAX_SERVER_SIZE);
control.server[AR_MAX_SERVER_SIZE] = '\0';
strcpy(control.authString, "");         /* could load from file */


/****************************************************************/
/* Perform System Work                                          */
/****************************************************************/
rtn = ARGetEntry(&control, ..., &status);
if( rtn ... )
...
...

/****************************************************************/
/* Perform Cleanup                                              */
/****************************************************************/
(&control, &status);
FreeARStatusList(&status, FALSE);

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*

AR System 21.3