Lines Matching refs:agent

46 #include "agent.h"
98 ap->agent?(ap->agent->name?ap->agent->name:""):"");
139 /* of the agent structures should be NULL */
151 if(ap->agent)
152 agent_destroy(ap->agent);
190 SapResource *resource_find_by_agent(Agent* agent)
194 if(agent == NULL) return NULL;
196 if(ap->agent == agent) return ap;
394 if(res->agent == NULL || res->agent->agentExecutable.len == 0) return -1;
400 memcpy(cmd_full_path,res->agent->agentExecutable.chars,
401 res->agent->agentExecutable.len);
402 cmd_full_path[res->agent->agentExecutable.len] = '\0';
404 memcpy(sec_str,res->agent->agentConfigFile.chars,
405 res->agent->agentConfigFile.len);
406 sec_str[res->agent->agentConfigFile.len] = '\0';
421 sprintf(port_str,"%d",res->agent->address.sin_port);
454 /* if the above function < 0, mark the agent dies */
526 rp->agent = first_agent;
571 if (recovery_on == FALSE || (rp->agent != NULL &&
575 * and store it in rp and agent
577 if (rp->agent->address.sin_port == 0 ||
578 rp->agent->agentPortNumber == 0) {
580 rp->agent->agentPortNumber =
581 rp->agent->address.sin_port = (short)port_num;
584 "for the agent %s",
600 /* activate the agent, subtree, table */
606 error_exit("No SNMP agent configured");
610 int ssa_subagent_is_alive(Agent *agent)
614 if(agent==NULL) return FALSE;
615 if(agent->agentPortNumber<0) return FALSE;
622 return(SSAAgentIsAlive(&agent->address.sin_addr,
623 agent->agentPortNumber,NULL,&timeout));
721 if (sp1->agent == NULL)
723 if (sp1->agent->agentName.chars != NULL) {
724 memcpy(name, sp1->agent->agentName.chars,
725 sp1->agent->agentName.len);
726 name[sp1->agent->agentName.len] = '\0';
733 sp1->agent->agentProcessID,
734 sp1->agent->agentPortNumber);
740 * Add the port number and pid of relay agent to
766 if (sp->agent) {
767 if (strcmp(sp->agent->name, "relay-agent") == 0) {
769 sp->agent->name,
770 sp->agent->name,
771 sp->agent->agentProcessID,
772 sp->agent->address.sin_port);
799 if(match_sp->agent!=NULL &&
800 ssa_subagent_is_alive(match_sp->agent) == FALSE)
803 * and store it in rp and agent */
804 if(match_sp->agent->address.sin_port == 0 ||
805 match_sp->agent->agentPortNumber ==0){
807 match_sp->agent->agentPortNumber =
808 match_sp->agent->address.sin_port = (short)port_num;
810 match_sp->agent->agentProcessID = spawn_child(match_sp);
811 match_sp->agent->agentSystemUpTime = systemUpTime();
816 /* new info for the agent */
817 if(match_sp->agent!=NULL)
818 agent_destroy(match_sp->agent);
820 kill(match_sp->agent->agentProcessID,SIGTERM);
845 void delete_agent_from_resource_list(Agent *agent)
849 if(agent==NULL) return;
852 if(sp->agent == agent) break;
868 int watch_dog_time_is_up(Agent *agent,int elapse_time)
870 if(agent==NULL || agent->agentWatchDogTime==0) return FALSE;
871 if(elapse_time >= agent->agentWatchDogTime) return TRUE;
892 if (rp->agent == NULL) {
894 trace("watch_dog: repopulating agent %s\n", rp->res_name);
895 /* the agent was probably deleted by the timeout mechanism */
897 sync_agent_acl(rp->agent);
899 if(rp->agent != NULL &&
900 watch_dog_time_is_up(rp->agent,time_diff) &&
901 ssa_subagent_is_alive(rp->agent)==FALSE)
904 * and store it in rp and agent */
905 if(rp->agent->address.sin_port == 0 ||
906 rp->agent->agentPortNumber ==0){
908 rp->agent->agentPortNumber =
909 rp->agent->address.sin_port = (short)port_num;
911 error("can't find a valid port for the agent %s",(rp->agent->name? rp->agent->name:""));
913 if (!already_bound_port(rp->agent->agentPortNumber)) {
914 rp->agent ->agentProcessID = spawn_child(rp);
916 trace("watch_dog: restart agent %s pid %d\n", rp->res_name, rp->agent->agentProcessID);
917 rp->agent->agentSystemUpTime = systemUpTime();