The SSAAgentIsAlive() function returns TRUE if the master agent is alive, otherwise returns FALSE. The agent_addr
parameter is the address of the agent. Specify the security token in the community parameter. You can specify the maximum amount of time to wait for a response with the timeout parameter.
The SSAGetTrapPort() function returns the port number used by the Master Agent to communicate with the subagent.
The SSARegSubagent() function enables a subagent to register and unregister with a Master Agent. The agent parameter is a pointer to an Agent structure containing the following members:
|
int timeout; /* optional */
int agent_id; /* required */
int agent_status; /* required */
char *personal_file; /* optional */
char *config_file; /* optional */
char *executable; /* optional */
char *version_string; /* optional */
char *protocol; /* optional */
int process_id; /* optional */
char *name; /* optional */
int system_up_time; /* optional */
int watch_dog_time; /* optional */
Address address; /* required */
struct _Agent; /* reserved */
struct _Subtree; /* reserved */
|
The agent_id member is an integer value returned by the SSASubagentOpen() function. After calling SSASubagentOpen(), you pass the agent_id in the SSARegSubagent() call to register the subagent with the Master Agent.
The following values are supported for agent_status:
|
SSA_OPER_STATUS_ACTIVE
SSA_OPER_STATUS_NOT_IN_SERVICE
SSA_OPER_STATUS_DESTROY
|
You pass SSA_OPER_STATUS_DESTROY as the value in a SSARegSubagent() function call when you want to unregister the agent from the Master
Agent.
Address has the same structure as sockaddr_in, that is a common UNIX structure containing the following members:
|
short sin_family;
ushort_t sin_port;
struct in_addr sin_addr;
char sin_zero[8];
|
The SSARegSubtable() function registers a MIB table with the Master Agent. If this function is successful, an index number is returned, otherwise 0 is returned.
The table parameter is a pointer to a SSA_Table structure containing the following members:
|
int regTblIndex; /* index value */
int regTblAgentID; /* current agent ID */
Oid regTblOID; /* Object ID of the table */
int regTblStartColumn; /* start column index */
int regTblEndColumn; /* end column index */
int regTblStartRow; /* start row index */
int regTblEndRow; /* end row index */
int regTblStatus; /* status */
|
The regTblStatus can have one of the following values:
|
SSA_OPER_STATUS_ACTIVE
SSA_OPER_STATUS_NOT_IN_SERVICE
|
The SSARegSubtree() function registers a MIB subtree with the master agent. If successful this function returns an index number, otherwise 0 is returned. The subtree parameter is a pointer to a SSA_Subtree structure containing the following members:
|
int regTreeIndex; /* index value */
int regTreeAgentID; /* current agent ID */
Oid name; /* Object ID to register */
int regtreeStatus; /* status */
|
The regtreeStatus can have one of the following values:
|
SSA_OPER_STATUS_ACTIVE
SSA_OPER_STATUS_NOT_IN_SERVICE
|
The SSASendTrap() function instructs the Master Agent to send a trap notification, based on the keyword passed with name. When your subagent MIB is compiled
by mibcodegen, it creates a lookup table of the trap notifications defined in the MIB. By passing the name of the trap notification type as name, the subagent
instructs the Master Agent to construct the type of trap defined in the MIB.
The SSASubagentOpen() function initializes communication between the subagent and the Master Agent. You must call this function before calling SSARegSubagent()
to register the subagent with the Master Agent. The SSASubagentOpen() function returns a unique agent ID that is passed in the SSARegSubagent() call to register the
subagent. If 0 is returned as the agent ID, the attempt to initialize communication with the Master Agent was unsuccessful. Since UDP is used to initialize communication with the Master
Agent, you may want to set the value of num_of_retry to make multiple attempts.
The value for agent_name must be unique within the domain for which the Master Agent is responsible.
|