<libaic.h>
/************************************************************/
/* */
/* AIC Library Header File */
/* */
/************************************************************/
#ifndef _LIBAIC_H_INCLUDE_
#define _LIBAIC_H_INCLUDE_
#define AIC_MATCH 1
#define AIC_NO_MATCH 0
#define AIC_TRUE 1
#define AIC_FALSE 0
#define AIC_MAX_APP_NAME_LENGTH 32
#define AIC_MAX_HOST_NAME_LENGTH 32
#ifndef _LOG_H_INCLUDE_
#define AIC_LOG_NONE -1
#define AIC_LOG_FATAL 0
#define AIC_LOG_CRITICAL 1
#define AIC_LOG_SECVIOL 1
#define AIC_LOG_WARNING 2
#define AIC_LOG_INFO 3
#define AIC_LOG_DEBUG 4
#define AIC_LOG_DEBUG1 5
#define AIC_LOG_DEBUG2 6
#define AIC_LOG_DEBUG3 7
#define AIC_LOG_TO_CONSOLE_OFF 0
#define AIC_LOG_TO_CONSOLE_ON 1
#endif
#define AIC_MAXDEPTH 65000 // The maximum number of hierarchy
// levels for matching purposes
/************************************************************/
/* */
/* Function Return Codes */
/* */
/************************************************************/
#define AIC_NOK 0
// General error code
#define AIC_OK 1
// Everything OK
#define AIC_NOT_FOUND 2
// can't find the object whose location has been provided.
#define AIC_OBJECT_NOT_CREATED 3
// Couldn't create an object - probably run out of memory
#define AIC_NOT_SUPPORTED 4
// Functionality that is currently not supported
#define AIC_OBJ_TYPE_MISMATCH 5
// Trying the call a value set function on the wrong type of object
#define AIC_THRESH_MISMATCH 6
// Trying to set the wrong type of threshold-type/threshold-value pair
#define AIC_THRESH_OBJECT_MISMATCH 7
// Trying to set the wrong type of threshold for the object.
e.g. a long value for a dateAndTime object.
#define AIC_OBJ_LINK_TO_NOT_FOUND 8
// Creating a link object, can't find the one to link to
#define AIC_LINK_NOT_COMPLETED 9
// Created most of the link but not the final link to the other object
#define AIC_CANT_LINK_TO_LINK 10
// Can't link two link objects together
#define AIC_REFERENCE_COUNT_NOT_ZERO 11
// The object has existing links to it so can't be removed yet
#define AIC_CANT_UPDATE_REFERENCE_COUNT 12
// Can't update the reference count of the object being linked to
#define AIC_LOCATION_NULL 13
// The location name given is empty
#define AIC_EMPTY_OBJECT_PTR 14
// Trying to add a NULL point to a list of objects
#define AIC_EMPTY_LIST_PTR 15
// Trying to access an empty list pointer
#define AIC_CANT_ALLOCATE_MEMORY 16
// General failure to` allocate memory
#define AIC_MSGBUFFER_ADD_FAILED 17
// Failed to add requested data to message buffer
#define AIC_LONG_EXTRACT_FAILED 18
// Tried to extract a long from a message and failed
#define AIC_BUFF_CREATION_FAILED 19
// Failed to create a buffer for writing a message
#define AIC_EMPTY_QUEUE 20
// Empty queue encountered
#define AIC_QUEUE_ENT_CREATE_FAILED 21
// Creation of a queue entry failed.
#define AIC_CANT_ADD_TO_QUEUE 22
// Can't add an entry into the queue
#define AIC_UKNOWN_OBJECT_TYPE 23
// Trying to prepare an unknown object type for sending
#define AIC_NULL_ATTRIBUTE_POINTER 24
// Got an attribute pointer which is null
#define AIC_CANT_CREATE_NEW_LIST_OBJECT 25
// Trying to create an object from a message buffer, but can't
#define AIC_UNEXPECTED_FUNC_RES 26
// Unexpected function return type.
#define AIC_END_OF_LIST 27
// End of list reached
#define AIC_UNEXPECTED_ATTRIBUTE 28
// Something wrong with list of attributes that can be accessed
from an object
#define AIC_BADLY_FORMED_LOCATIONSTRING 29
// Something wrong with the supplied location in structure string
#define AIC_APPNAME_NOTFOUND 30
// Looking for an app name in a location string, but can't find it
#define AIC_CANT_INITIALISE_CAM 31
// Trying to initialise the CAM connection and failing
#define AIC_CANT_DEFINE_UNIQUE_NAME 32
// Trying to define a unique name for an app (either cam or app
name) but can't
#define AIC_CAM_NAME_TOO_LONG 33
// Trying to generate a CAM Name but it was too long
#define AIC_CANT_STORE_NAME_MAPPING 34
// Trying to make a name mapping, but failing
#define AIC_CANT_RETRIEVE_CAMNAME 35
// Can't get an application name from the Daemon
#define AIC_FAILED_TO_INIT_CACHE 36
// Couldn't initialise the cache for the daemon.
#define AIC_ATTEMPT_TO_ADD_NULL_MAPPING 37
// Trying to add an empty mapping to the app/cam name mapping table
#define AIC_MAPPING_NOT_FOUND 38
// Can't find a mapping in the mapping table
#define AIC_DUPLICATE_OBJECT 39
// Tried to create a duplicate object in the object structure
#define AIC_SEC_VIOLATION_NON_DAEMON_MESSAGE 40
// A process other than the daemon has sent a message to an app.
#define AIC_SECURITY_VIOLATION 41
// Attempted security violation in the daemon
#define AIC_HOST_NAME_TOO_LONG 42
// Trying to get short version of a fully qualified name which
is too long
#define AIC_THREAD_CREATE_FAILED 43
// Thread creation failed in library initialisation
#define AIC_STRING_TRUNCATED 44
// Copied string truncated because destination too small
#define AIC_STRING_SPACE_TOO_SMALL 45
// Area of memory supplied to small for string.
#define AIC_NULL_POINTER_ARG 46
// Null pointer argument supplied to function
#define AIC_LIB_INITIALISED 47
// The call to LibStart has already been made.
#define AIC_LIB_NOTINITIALISED 48
// The library is not currently initialised
#define AIC_ENUMORD_OUTOF_RANGE 49
// The ordinal value of a supplied enum is outside of range
#define AIC_RETNAME_TIMEOUT 50
// Time out when trying to retrieve name from Daemon
#define AIC_EXPECTEDNAME_NOTREC 51
// A name request was expected, but something else was retrieved.
#define AIC_CANT_RETRIEVE_APPNAME 52
// App name can't be retrieved
#define AIC_APPNAMELIST_TRUNC 53
// The application name list has been truncated
#define AIC_NO_APPNAMES 54
// There are no applications currently registered
#define AIC_FAILED_TO_WRITE_APPNAMES 55
// Failed to write the list of app names to the buffer
#define AIC_NOHOST_NAME_AVAILABLE 56
// Used when sending messages if no host name is available from
either the host parameter or the location in structure string
#define AIC_SET_FOR_DISCONNECTED_APP 57
// Set request received for disconnected app
#define AIC_LINK_NAME_IS_NULL 58
// The link is unexpectedly empty.
#define AIC_FAILED_TO_OPEN_PROC_FILE_UX 59
// Can't open the proc file system to read process data (UNIX)
#define AIC_CANT_ACCESS_PROC_DATA_UX 60
// Can't access the process data from the the proc file system (UNIX)
#define AIC_CANT_ACCESS_UNAME_INFO_UX 61
// Can't gain access to uname information to find host name
#define AIC_CANT_SET_DATEANDTIME 62
// Can't set the date and time value for processdata
#define AIC_CANT_SET_COMMANDLINE 63
// Can't set the command line value for processdata
#define AIC_CANT_SET_PROCESSNAME 64
// Can't set the process name value for processdata
#define AIC_CANT_SET_PROCESSID 65
// Can't set the process id value for processdata
#define AIC_CANT_SET_USERID 66
// Can't set the user id value for processdata
#define AIC_CANT_SET_APPNAME 67
// Can't set the application name value for processdata
#define AIC_CANT_SET_AICVERSION 68
// Can't set the AIC version value for process data
#define AIC_CANT_SET_HOSTNAME 69
// Can't set the hostname value for machine data
#define AIC_CANT_SET_OSPLATFORM 70
// Can't set the OS Plaform for machine data
#define AIC_CANT_EXTRACT_LAST_TOKEN 71
// Can't extract the last token of a location name
#define AIC_CANT_GET_NEXT_OBJECT 72
// Can't find the next object in a list of objects
#define AIC_ATTR_NOT_ENUMERATED 73
// The attribute requested is not an enumerated one
#defineAIC_INSUFFICIENT_SPACE_FOR_VALUE 74
// There is insufficient space for the value to be returned
#define AIC_INSUFFICIENT_SPACE_FOR_THRESHOLD 75
// There is insufficient space available for the threshold value
to be returned
#define AIC_POLLING_TERMINATED 76
// Polling terminated by closing of library.
#define AIC_CANT_FIND_LINKED_OBJECT 77
// Can't the object this link refers to
#define AIC_EMPTY_APP_NAME 78
// Application name is empty
#define AIC_TIMEOUT 79
// Timeout on request to remote application
#define AIC_CANT_OPEN_DAEMON_HOST_FILE 80
// Can't open the supplied daemon host name file
#define AIC_HOST_FILENAME_TOO_LONG 81
// The name of the Daemons host file is too long for internal buffers
#define AIC_CORE_NAME_TOO_LONG 82
// The name of the CORE is too long for internal buffers
#define AIC_APP_NAME_TOO_LONG 83
// The application name is too long.
#define AIC_NOT_STARTED_WITH_ALPHA 84
// The name does not start with an Alphabetic character
#define AIC_CONTAINS_ILLEGAL_CHARACTERS 85
// The name contains illegal characters (something other than
alpha, numeric _ or -)
#define AIC_EMPTY_HOST_NAME 86
// Host name is empty
#define AIC_EMPTY_GATEWAY_NAME 87
// The gateway name supplied is empty
#define AIC_GATEWAY_REGISTERED 88
// The gateway has previously been registered for this Daemon
#define AIC_TOO_MANY_GATEWAYS_REGISTERED 89
// The number of gateways registered has exceedd the allowed number
#define AIC_DAEMON_REFERENCE_NOT_FOUND 90
// The reference to the daemon not found in the connections table
#define AIC_EMPTY_NAME 91
// A name supplied is empty
#define AIC_NO_GATEWAYS_REGISTERED 92
// No gateways are currently registered with this daemon
#define AIC_IN_STRUC_NAME_SHORT 93
// The location in structure name is too short to be a sensible name
#define AIC_NEGATIVE_DATA_SIZE_SUPPLIED 94
// Bad length parameter for space
#define AIC_CORE_OBJECT_CREATION_FAILED 95
// Creation of the object in the CORE has failed
#define AIC_CORE_OBJECT_DELETION_FAILED 96
// Deletion of the object from the CORE has failed
#define AIC_CORE_STATE_CHANGE_FAILED 97
// State change for CORE object has failed
#define AIC_G_OBJECT_EXISTS_IN_CORE 98
// The object already exists in the CORE
#define AIC_G_TEMPORARY_OBJECT_IN_CORE 99
// The object is already in the CORE but as a temporary object.
#define AIC_G_TOO_FEW_TOKENS_IN_NAME 100
// The name has too few tokens to have host, app, and root object in it
#define AIC_G_NO_APP_HOST_IN_CORE 101
// The application host has not been found in the CORE.
#define AIC_G_FAILED_TO_ADD_INC 102
// Can't create an inclusion for an object (to put it in the
hierarchy in World View
#define AIC_G_INCLUSION_COMPLETE 103
// Finished the inclusion tree
#define AIC_G_CANT_CREATE_CORE_OBJECT 104
// Can't create the requested object in the CORE
#define AIC_G_NO_CHILDREN_FOUND 105
// No children found for a temporary object
#define AIC_G_NO_PARENT_FOUND 106
// No parent object found for a temporary object
#define AIC_DO_ACTION_ZERO_DATA_LENGTH 107
// Zero data length for a do action
#define AIC_NOT_SETTABLE_WORM_SEMANTICS 108
// This object has write once, read many semantics and can't be changed.
#define AIC_NOT_DELETABLE_WORM_SEMANTICS 109
// Can't delete this object because it has WORM semantics
#define AIC_PREVIOUSLY_SET 110
// A polling running now flag is being tested but has previously been set
#define AIC_DAEMON_ALREADY_CONNECTED_TO_CAM 111
// There is already a daemon connected and running
#define AIC_ZERO_LENGTH_STRING_VALUE 112
// String value has zero length
#define AIC_POLLING_INTERVAL_TOO_SHORT 113
// The polling interval supplied is too short
#define AIC_CONFIG_NOT_OPENED 114
// Could not open the config file for the security plug-in
#define AIC_CONFIG_READ_ERROR 115
// Error reading the config file
#define AIC_SECURITY_LOG_NOT_OPENED 116
// Security log for the securiy plug-in could not be opened
#define AIC_GROUP_COUNT_ERROR 117
// Group counts did not match the groups added from the config file
or no group where added
#define AIC_ACCESS_DENIED 118
// Access denied due to authorisation or authentication failure
#define AIC_PASSWORD_EXPIRED 119
// The users password has expired
#define AIC_INVALID_USER 120
// The user id is not known
#define AIC_USER_NOT_INGROUP 121
// The user is not in the specified user group
#define AIC_HIGHER_LEVEL_REQUIRED 122
// The user is authenticated but does not have sufficiently
high permissions
#define AIC_INVALID_ENCRYPTION_LEVEL 123
// The encryption method on user credentials is incompatible
with the local version
#define AIC_APP_DISCONNECTED 124
// The application with the requested name has disconnected previously.
#define AIC_CAM_NAME_MISSING_FOR_APP 125
// The cam name in the application mapping is missing for some reason.
#define AIC_CAM_SEND_FAILED 126
// CAM send of message failed
#define AIC_EMPTY_LIST_RESULT 127
// May not be an error as such - there just may not be anything found
#define AIC_NOT_FOUND_IN_DAEMON 128
// A set request has been received for an object not currently
in the Daemon cache
#define AIC_EVENT_MESSAGE_MANDATORY 129
// A raise event request does not have a message associated with it.
#define AIC_BAD_PRAM 130
// A Bad paramater was pased to the function.
#define AIC_SETTING_UPDATED 131
// Name existed in list, so setting where updated not added
#define AIC_CANT_SET_WORKING_DIR 132
// Can't set the working directory parameter for process data
#define AIC_CANT_SET_PATH 133
// Can't set the library path of process data
#define AIC_CANT_SET_IP_ADDRESS 134
// Can't set the ip address for the machine
#define AIC_CANT_OPEN_CACHE_FILE 135
// Can't open the requested cache file
#define AIC_CANT_SET_USER_NAME 136
// Can't set user name in the process data
#define AIC_CORE_VALUE_CHANGE_FAILED 137
// A request to change the value of an object in the CORE has failed
#define AIC_MULTIPLE_HOSTS_FOUND 138
// Trying to find the correct single host in the CORE, but found
more than 1
#define AIC_G_CANT_GET_IP_ADDRESS 139
// Can't get the IP address of the host
#define AIC_G_OBJECT_HAS_CHILDREN 140
// An object in the DSM that we are trying to delete still has children
#define AIC_G_CANT_CONNECT_TO_ORB 141
// Can't make a connection to the ORB, and hence the DSM
#define AIC_G_DSM_OBJECT_EXISTS 142
// An attempt has been made to create a DSM object that already exists
#define AIC_CANT_OPEN_AICD_REC_FILE 143
// Attempt to open amid recovery file has failed
#define AIC_CANT_CLOSE_AICD_REC_FILE 144
// Attempt to close amid recovery file has failed
#define AIC_REC_FILE_CORRUPT 145
// The recovery file of amid is corrupt - check number incorrect
#define AIC_TIME_OUT_OF_RANGE 146
#define AIC_MULTI_CHUNK_HDR_CORRUPT 147
// The header of a multi-chunk CAM message is corrupt, damage
in transit or attempted security breach
#define AIC_CANT_CREATE_MESS_BUFF 148
// Cannot create buffer for storage of message chunks
#define AIC_CANT_ADD_FRAG_ID 149
// Can't add the id of a message fragment to the message
#define AIC_CANT_ADD_TOTAL_FRAGS 150
// Can't add the total number of fragments in this message to
the message
#define AIC_CANT_ADD_BYTES_IN_CHUNK 151
// Can't add the total number of bytes in this message fragment
#define AIC_CANT_ADD_MSG_ID 152
// Can't add the id of the message to the message
#define AIC_CANT_CREATE_HEADER 153
// Can't create message header for a CAM message
#define AIC_CANT_EXTRACT_MSG_ID 154
// Can't extract the id of a message from the message
#define AIC_CANT_EXTRACT_FRAG_ID 155
// Can't extract the id of a fragment from the message
#define AIC_CANT_EXTRACT_TOTAL_FRAGS 156
// Can't extract the total number of fragments from the message
#define AIC_CANT_EXTRACT_BYTES_IN_CHUNK 157
// Can't extract the total number of bytes in the chunk
#define AIC_MSG_COMPLETE 158
// End of message marker
#define AIC_UNEXPECTED_NULL_FRAGMENT_LIST 159
// Fragment list is empty when it should not be
#define AIC_G_LABEL_UPDATE_FAILED 160
// Trying to update the label with the new value change has failed
#define AIC_MESSAGE_TOO_SHORT 161
// The received message is too short to be an AIC message
#define AIC_MESSAGE_BAD_FORMAT 162
// The message has a bad format. At a minimum it should have an
integer/long followed by a space
#define AIC_VALUE_OVERFLOW 163
// Data type overflow
/************************************************************/
/* */
/* Type Defs */
/* */
/************************************************************/
typedef char *AIC_String;
typedef long AIC_Long;
typedef double AIC_Double;
typedef enum _AIC_Status
{
unknownStatus,
normal,
warning,
critical,
down
} AIC_Status;
typedef enum _AIC_SecurityLevel
{
level1 = 1,
level2 = 2,
level3 = 3,
level4 = 4,
level5 = 5,
level6 = 6,
denied = 100,
unknownSecurity = 101
} AIC_SecurityLevel;
typedef enum _AIC_Visibility
{
local,
DSM,
CORE,
unknownVisibility
} AIC_Visibility;
typedef enum _AIC_ObjectType
{
AICBusLong,
AICBusDouble,
AICBusDateAndTime,
AICBusVarChar,
AICLinkObject,
AICBusUnknown,
AICBusApplication
} AIC_ObjectType;
typedef enum _AIC_ThresholdType
{
oneArgThld,
twoArgThld,
threeArgThld,
fourArgThld,
unknownThreshold
} AIC_ThresholdType;
typedef enum _AIC_AutomaticName
{
fixed,
generated
} AIC_AutomaticName;
typedef enum _AIC_OpenType
{
mainProgram,
Library
} AIC_OpenType;
typedef enum _AIC_EventDestination
{
ALERT,
LOGONLY
} AIC_EventDestination;
typedef enum _AIC_AttributeType
{
locationInStructureA,
hashReferenceA,
objectTypeA,
statusA,
valueA,
lastUpdatedA,
secDoActionA,
secSetA,
thresholdValueA1,
thresholdValueA2,
thresholdValueA3,
thresholdValueA4,
thresholdFunctionA,
objectVisibilityA,
doActionA,
nextObjectA,
unknownA,
pollingFunctionA,
linkedObjectA,
referenceCountA,
WORMFlagA,
pollingNowA,
thldDataA,
lastAttributeA
} AIC_AttributeType;
#define AIC_BYTE signed char
#define NULLYEAR (short)9999 /* "Null" year value */
#define NULLMONTH (AIC_BYTE)1 /* "Null" month value */
#define NULLDAY (AIC_BYTE)1 /* "Null" day value */
#define NULLHOUR (AIC_BYTE)0 /* "Null" hour value */
#define NULLMIN (AIC_BYTE)0 /* "Null" minute value */
#define NULLSEC (AIC_BYTE)0 /* "Null" second value */
#define ONE_LESS_THAN_TWO -1
#define ONE_EQUALS_TWO 0
#define ONE_GREATER_THAN_TWO 1
//- Data type definitions
typedef struct _AIC_DateAndTime // System date/time
{
short sYear; // Year with Century (1 to 32767)(see note)
AIC_BYTE bMonth; // month (1 to 12)
AIC_BYTE bDay; // day (1 to 31)
AIC_BYTE bHour; // hour (00 to 23)
AIC_BYTE bMin; // min (00 to 59)
AIC_BYTE bSec; // second (00 to 59)
}
AIC_DateAndTime, *AIC_DateAndTimePtr;
//- NOTE: Year limit of 32767, is the limit of a short
typedef void * AIC_ListPtr;
typedef void * AIC_ThldDataPtr;
typedef void * AIC_ObjectPtr;
typedef void * AIC_VoidPtr;
typedef int AIC_Bool;
typedef void (*AIC_ThresholdFunction)
(
AIC_String szLocation_in_structure
);
typedef void (*AIC_DoActionFunc)
(
AIC_String szLocation_in_structure,
AIC_String pUserData,
int iUserDataLength
);
typedef void (*AIC_PollSetCallback)
(
AIC_String szLocation_in_structure
);
#ifdef _CPLUSPLUS_
extern "C" {
#endif
/************************************************************/
/* */
/* Application Side Function Prototypes */
/* */
/************************************************************/
extern int AICAL_LibStart (
AIC_String szRequestedName,
AIC_AutomaticName eApplicationNaming,
AIC_OpenType eOpenedBy,
AIC_String szDerivedName,
int iDerivedNameSize
);
extern int AICAL_Create (
AIC_ObjectType eObjectType,
AIC_String szLocation_in_structure
);
extern int AICAL_SetValueLong (
AIC_String szLocation_in_structure,
AIC_Long lValue
);
extern int AICAL_SetValueVarChar (
AIC_String szLocation_in_structure,
AIC_String szValue
);
extern int AICAL_SetSemantics (
AIC_String szLocation_in_structure,
AIC_String szValue
);
extern int AICAL_SetValueDouble (
AIC_String szLocation_in_structure,
AIC_Double dValue
);
extern int AICAL_SetValueDateAndTime (
AIC_String szLocation_in_structure,
AIC_DateAndTime tValue
);
extern int AICAL_SetStatus (
AIC_String szLocation_in_structure,
AIC_Status eStatusValue
);
extern int AICAL_SetVisibility (
AIC_String szLocation_in_structure,
AIC_Visibility eVisibility
);
extern int AICAL_QueryObjectType (
AIC_String szLocation_in_structure,
AIC_ObjectType *peDstObjectType
);
extern int AICAL_GetValueVarChar (
AIC_String szLocation_in_structure,
AIC_String szDstBuf,
int iDstBufSize
);
extern int AICAL_GetSemantics (
AIC_String szLocation_in_structure,
AIC_String szDstBuf,
int iDstBufSize
);
extern int AICAL_GetValueLong (
AIC_String szLocation_in_structure,
AIC_Long *plDstValue
);
extern int AICAL_GetValueDateAndTime (
AIC_String szLocation_in_structure,
AIC_DateAndTime *ptDstDateTime
);
extern int AICAL_GetValueDouble (
AIC_String szLocation_in_structure,
AIC_Double *pdDstValue
);
extern int AICAL_GetThresholdDateAndTime (
AIC_String szLocation_in_structure,
AIC_DateAndTime *peDstThldDateTime,
AIC_ThresholdType eWhichThreshold
);
extern int AICAL_GetThresholdDouble (
AIC_String szLocation_in_structure,
AIC_Double *pdDstThldValue,
AIC_ThresholdType eWhichThreshold
);
extern int AICAL_GetThresholdLong (
AIC_String szLocation_in_structure,
AIC_Long *plDstThldValue,
AIC_ThresholdType eWhichThreshold
);
extern int AICAL_GetStatus (
AIC_String szLocation_in_structure,
AIC_Status *peDstStatus
);
extern int AICAL_GetSecuritySet (
AIC_String szLocation_in_structure,
AIC_SecurityLevel *peDstSecLevel
);
extern int AICAL_GetSecurityGet (
AIC_String szLocation_in_structure,
AIC_SecurityLevel *peDstSecLevel
);
extern int AICAL_GetVisibility (
AIC_String szLocation_in_structure,
AIC_Visibility *peDstVisibility
);
extern int AICAL_DeleteObject (
AIC_String szLocation_in_structure
);
extern int AICAL_RegPollSetValue (
AIC_String szLocation_in_structure,
AIC_PollSetCallback pfPollSetCallback,
AIC_String szDescription
);
extern int AICAL_RegThresholdFunction (
AIC_String szLocation_in_structure,
AIC_ThresholdFunction pfThresholdFunction,
AIC_String szDescription
);
extern int AICAL_RegDoAction (
AIC_String szLocation_in_structure,
AIC_DoActionFunc pfDoAction,
AIC_String szDescription
);
extern int AICAL_DoAction (
AIC_String szLocation_in_structure,
AIC_String pszData,
AIC_Long lDataLength
);
extern int AICAL_SetThreshSemantics (
AIC_String szLocation_in_structure,
AIC_String szValue
);
extern int AICAL_GetThreshSemantics (
AIC_String szLocation_in_structure,
AIC_String szDstBuf,
int iDstBufSize
);
extern int AICAL_GetRegFunctions (
AIC_String szLocation_in_structure,
AIC_String szPollingBuf,
int iPollBufSize,
AIC_String szThresholdBuf,
int iThreshBufSize,
AIC_String szDoActionBuf,
int iActionBufSize
);
extern int AICAL_SetThresholdLong (
AIC_String szLocation_in_structure,
AIC_Long lValue,
AIC_ThresholdType eWhichThreshold
);
extern int AICAL_SetThresholdDateAndTime (
AIC_String szLocation_in_structure,
AIC_DateAndTime tValue,
AIC_ThresholdType eWhichThreshold
);
extern int AICAL_SetThresholdDouble (
AIC_String szLocation_in_structure,
AIC_Double dValue,
AIC_ThresholdType eWhichThreshold
);
extern int AICAL_SetSecuritySet (
AIC_String szLocation_in_structure,
AIC_SecurityLevel eSecurityLevel
);
extern int AICAL_SetSecurityGet (
AIC_String szLocation_in_structure,
AIC_SecurityLevel eSecurityLevel
);
extern int AICAL_SetSecurityDoAction (
AIC_String szLocation_in_structure,
AIC_SecurityLevel eSecurityLevel
);
extern int AICAL_GetSecurityDoAction (
AIC_String szLocation_in_structure,
AIC_SecurityLevel *peDstSecLevel
);
extern int AICAL_List (
AIC_String szStartLocation,
AIC_ListPtr *ppDstListPtr
);
extern int AICAL_Traverse (
AIC_String szStartLocation,
int Levels,
AIC_ListPtr *ppDstListPtr
);
extern int AICAL_Dump (
AIC_String szStartLocation,
AIC_ListPtr *ppDstListPtr
);
extern int AICAL_Close (
AIC_OpenType eClosedBy
);
extern int AICAL_RaiseEvent (
AIC_String szMessage,
AIC_String szSourceDetail,
AIC_String szCategory,
AIC_String szEventId,
AIC_EventDestination eDst,
int iSeverity
);
extern int AICAL_SetPollingTime (
AIC_Long lPollingTime
);
/************************************************************/
/* */
/* Function Prototypes For Client Libraries */
/* */
/************************************************************/
extern int AICCL_SetReceiveTimeOut (
int iNewTimeInSeconds
);
extern int AICCL_Close();
extern int AICCL_SetValueLong (
AIC_String szLocation_in_structure,
AIC_Long lValue
);
extern int AICCL_SetValueVarChar (
AIC_String szLocation_in_structure,
AIC_String szValue
);
extern int AICCL_SetValueDouble (
AIC_String szLocation_in_structure,
AIC_Double dValue
);
extern int AICCL_SetValueDateAndTime (
AIC_String szLocation_in_structure,
AIC_DateAndTime tValue
);
extern int AICCL_SetStatus (
AIC_String szLocation_in_structure,
AIC_Status eStatusValue
);
extern int AICCL_SetVisibility (
AIC_String szLocation_in_structure,
AIC_Visibility eVisibility
);
extern int AICCL_SetUserCredentials (
AIC_String szName,
AIC_String szGroup,
AIC_String szPassword
);
extern int AICCL_SetThresholdLong (
AIC_String szLocation_in_structure,
AIC_Long lValue,
AIC_ThresholdType eWhichThreshold
);
extern int AICCL_SetThresholdDateAndTime (
AIC_String szLocation_in_structure,
AIC_DateAndTime tValue,
AIC_ThresholdType eWhichThreshold
);
extern int AICCL_SetThresholdDouble (
AIC_String szLocation_in_structure,
AIC_Double dValue,
AIC_ThresholdType eWhichThreshold
);
extern int AICCL_SetSecuritySet (
AIC_String szLocation_in_structure,
AIC_SecurityLevel eSecurityLevel
);
extern int AICCL_SetSecurityGet (
AIC_String szLocation_in_structure,
AIC_SecurityLevel eSecurityLevel
);
extern int AICCL_SetSecurityDoAction (
AIC_String szLocation_in_structure,
AIC_SecurityLevel eSecurityLevel
);
extern int AICCL_GetSecurityDoAction (
AIC_String szLocation_in_structure,
AIC_SecurityLevel *peDstSecLevel
);
extern int AICCL_QueryObjectType (
AIC_String szLocation_in_structure,
AIC_ObjectType *peObjectType
);
extern int AICCL_GetValueVarChar (
AIC_String szLocation_in_structure,
AIC_String szDstBuf,
int iDstBufSize
);
extern int AICCL_GetSemantics (
AIC_String szLocation_in_structure,
AIC_String szDstBuf,
int iDstBufSize
);
extern int AICCL_GetValueLong (
AIC_String szLocation_in_structure,
AIC_Long *plDstValue
);
extern int AICCL_GetValueDateAndTime (
AIC_String szLocation_in_structure,
AIC_DateAndTime *ptDstDateTim
);
extern int AICCL_GetValueDouble (
AIC_String szLocation_in_structure,
AIC_Double *pdDstValue
);
extern int AICCL_GetStatus (
AIC_String szLocation_in_structure,
AIC_Status *peDstStatus
);
extern int AICCL_GetSecuritySet (
AIC_String szLocation_in_structure,
AIC_SecurityLevel *peDstSecLevel
);
extern int AICCL_GetSecurityGet (
AIC_String szLocation_in_structure,
AIC_SecurityLevel *peDstSecLevel
);
extern int AICCL_DoAction ( (
AIC_String szLocation_in_structure,
AIC_String pszData,
AIC_Long lDataLength
);
extern int AICCL_GetVisibility (
AIC_String szLocation_in_structure,
AIC_Visibility *peDstVisibility
);
extern int AICCL_GetThreshSemantics (
AIC_String szLocation_in_structure,
AIC_String szDstBuf,
int iDstBufSize
);
extern int AICCL_GetThresholdLong (
AIC_String szLocation_in_structure,
AIC_Long *lValue,
AIC_ThresholdType eWhichThreshold
);
extern int AICCL_GetThresholdDouble (
AIC_String szLocation_in_structure,
AIC_Double *dValue,
AIC_ThresholdType eWhichThreshold
);
extern int AICCL_GetThresholdDateAndTime (
AIC_String szLocation_in_structure,
AIC_DateAndTime *sValue,
AIC_ThresholdType eWhichThreshold
);
extern int AICCL_GetRegFunctions (
AIC_String szLocation_in_structure,
AIC_String szPollingBuf,
int iPollBufSize,
AIC_String szThresholdBuf,
int iThreshBufSize,
AIC_String szDoActionBuf,
int iActionBufSize
);
extern int AICCL_GetAppNames (
AIC_String szHostName,
AIC_String szDstBuf,
int iDstBufSize
);
extern int AICCL_List (
AIC_String szLocation_in_structure,
AIC_ListPtr *ppDstListPtr
);
extern int AICCL_Traverse (
AIC_String szLocation_in_structure,
int iLevels,
AIC_ListPtr *ppDstListPtr
);
extern int AICCL_Dump (
AIC_String szLocation_in_structure,
AIC_ListPtr *ppDstListPtr
);
extern int AICCL_ChangeDaemonLogging (
AIC_String szHostName,
AIC_String pszFileName,
int iLevel,
int iToScreen
);
extern int AICCL_DaemonShutdown (
AIC_String szHostName
);
extern int AICCL_RequestDaemonStatistics (
AIC_String szHostName,
char *szDstBuf,
int iDstBufSize
);
extern int AICCL_DaemonStatisticsReset (
AIC_String szHostName
);
extern int AICCL_FlushAppCacheToFile (
AIC_String szHostName,
AIC_String pszAppName,
AIC_String pszFileName
);
extern int AICCL_GetAppInfo (
AIC_String szHostName,
AIC_String szDstBuf,
int iDstBufSize
);
/************************************************************/
/* */
/* Functions Prototypes */
/* For Both Application and Client Libraries */
/* */
/************************************************************/
extern int AIC_FreeMemory (
AIC_ListPtr pList
);
extern int AIC_GetNextObject (
AIC_ListPtr pList,
AIC_Bool bFirstCall,
AIC_ObjectPtr *pObjectPtr
);
extern int AIC_GetBusinessLongV (
AIC_ObjectPtr pObjectPtr,
AIC_Long *plDstValue
);
extern int AIC_GetBusinessLongT (
AIC_ObjectPtr pObjectPtr,
AIC_Long *plDstValue,
AIC_ThresholdType eWhichThreshold
);
extern int AIC_GetLocationInStructure (
AIC_ObjectPtr pObjectPtr,
AIC_String szDstBuf,
int iDstBufSize
);
extern int AIC_GetBusinessVarChar (
AIC_ObjectPtr pObjectPtr,
AIC_String szDstBuf,
int iDstBufSize
);
extern int AIC_GetBusinessDoubleV (
AIC_ObjectPtr pObjectPtr,
AIC_Double *pdDstValue
);
extern int AIC_GetBusinessDoubleT (
AIC_ObjectPtr pObjectPtr,
AIC_Double *pdDstValue,
AIC_ThresholdType eWhichThreshold
);
extern int AIC_GetBusinessDateAndTimeV (
AIC_ObjectPtr pObjectPtr,
AIC_DateAndTime *ptDstDateTime
);
extern int AIC_GetBusinessDateAndTimeT (
AIC_ObjectPtr pObjectPtr,
AIC_DateAndTime *ptDstDateTime,
AIC_ThresholdType eWhichThreshold
);
extern int AIC_GetEnumeratedValue (
AIC_ObjectPtr pObjectPtr,
AIC_Long *peDstEnum,
AIC_AttributeType eEnum
);
extern int AIC_GetAllAttributes (
AIC_ObjectPtrpObjectPtr,
AIC_VoidPtr pDstValue,
int iDstBufSizeValue,
AIC_String szDstBufLoc,
int iDstBufSizeLoc,
AIC_VoidPtr pDstThreshold1,
int iDstBufSizeThreshold1,
AIC_VoidPtr pDstThreshold2,
int iDstBufSizeThreshold2,
AIC_VoidPtr pDstThreshold3,
int iDstBufSizeThreshold3,
AIC_VoidPtr pDstThreshold4,
int iDstBufSizeThreshold4,
AIC_Status *peStatus,
AIC_ObjectType *peObjectType,
AIC_Visibility *peDstVisibility,
AIC_SecurityLevel *peDstSecSetLevel,
AIC_SecurityLevel *peDstSecDoActionLevel,
AIC_SecurityLevel *peDstSecGetLevel,
int iDstBufSizeSemantics,
AIC_String szDstBufSemantics,
int iDstBufSizeThreshSemantics,
AIC_String szDstBufThreshSemantics
);
extern int AIC_GetRegFunctions (
AIC_ObjectPtr *pObjectPtr,
AIC_String szPollingBuf,
int iPollBufSize,
AIC_String szThresholdBuf,
int iThreshBufSize,
AIC_String szDoActionBuf,
int iActionBufSize
);
extern void AIC_SetLogFileName (
char *pszLogFileName
);
extern void AIC_SetLevel (
int level
);
extern void AIC_ToScreen (
short sFlag
);
extern int AIC_GetDateTime (
AIC_DateAndTimePtr pDateTimeStmp
);
extern int AIC_SetTimeStmp (
AIC_DateAndTimePtr pDateTimeStmp,
short sYear,
AIC_BYTE bMonth,
AIC_BYTE bDay,
AIC_BYTE bHour,
AIC_BYTE bMinute,
AIC_BYTE bSeconds
);
extern int AIC_SetTimeStmpNull (
AIC_DateAndTimePtr pDateTimeStmp
);
extern int AIC_IsTimeStmpNull (
AIC_DateAndTimePtr pDateTimeStmp
);
extern int AIC_TimeStmpCmp (
AIC_DateAndTimePtr pDateTimeStmp1,
AIC_DateAndTimePtr pDateTimeStmp2,
double *pdDeltaSeconds
);
extern int AIC_ChgTimeStmp (
AIC_DateAndTimePtr pDateTimeStmp,
double dDeltaSec
);
extern int AIC_TimeStmpToStr (
AIC_DateAndTimePtr pDateTimeStmp,
char * pszDst,
long lDstLength
);
extern int AIC_StrToTimeStmp (
char * pszDateTimeString,
AIC_DateAndTimePtr pDateTimeStmp
);
#ifdef _CPLUSPLUS_
}
#endif
#endif
Contents | Next section | Index |