Previous Topic: Sm_Api_AppSpecificContext_t

Next Topic: Sm_Api_RequestContext_t

Sm_Api_Context_t

This structure contains general API information.

Syntax

typedef struct
{
   int nVersion;
   Sm_Api_LogFunc fLog;
   Sm_Api_TraceFunc fTrace;
   Sm_Api_ErrorFunc fError;
   Sm_Api_AppSpecificContext_t*  pAppSpecific;
} Sm_Api_Context_t;

Field

Description

nVersion

Version number of the API being used. Possible values:

  • Sm_Api_Version_V3
  • Sm_Api_Version_V4
  • Sm_Api_Version_V4_1

Version constants are defined in SmApi.h.

fLog

Function for accessing the SiteMinder logging utility. SiteMinder must be running with logging enabled.

The calling syntax for this function is:
char* lpszMessage = "Log this text";
lpApiContext->fLog (lpszMessage);

 

fTrace

Function for accessing the SiteMinder trace utility. SiteMinder must be running with tracing enabled.

The calling syntax for this function is:
char* lpszCheckpoint = "MyLib";
char* lpszTraceMessage = "Trace text";
lpApiContext->fTrace (lpszCheckpoint,
                      lpszTraceMessage);

 

fError

Function for accessing the SiteMinder error utility. SiteMinder must be running with logging enabled.

The calling syntax for this function is:
char* lpszMessage = "Log this Error text";
lpApiContext->fError (lpszMessage);

 

pAppSpecific

The pAppSpecific pointer has access to the methods in the Sm_Api_AppSpecificContext_t structure. These methods allocate, delete, and release request-specific memory. This memory persists during the entire processing of a single agent request and is local to each server process such as authentication and authorization daemons.

There is no limit as to the number of times memory can be allocated and released by a module. Once a request is processed, memory is released automatically.

Function Declarations

In structure Sm_Api_Context_t, the functions fLog, fTrace, and fError are declared in SmApi.h as follows:

fLog

/* string to log (null-terminated) */
typedef void (SM_EXTERN *Sm_Api_LogFunc) (const char* lpszBuffer);

fTrace

/* string to log (null-terminated) */
typedef void (SM_EXTERN *Sm_Api_TraceFunc)
   (const char* lpszCheckpoint, const char* lpszBuffer);

fError

/* string to log (null-terminated) */
typedef void (SM_EXTERN *Sm_Api_ErrorFunc) 
   (const char* lpszBuffer);


Copyright © 2010 CA. All rights reserved. Email CA about this topic