Beispiel #1
0
void send_trap_appl_status_changed(int applIndex, char *applName, int applOperStatus)
{
	SNMP_variable *list = NULL;
        SNMP_value value;


	/* applName */
	value.v_string.chars = (u_char *) applName;
	if(applName == NULL)
		value.v_string.len = 0;
	else
		/* LINTED */
		value.v_string.len = (int32_t)strlen(applName);
	applName_name.subids[applName_name.len - 1] = applIndex;
	list = snmp_typed_variable_append(list, &applName_name,
		STRING, &value, error_label);
	if(list == NULL)
	{
                error("send_trap_appl_status_changed(%d, %s, %d) failed: %s",
			applIndex, applName, applOperStatus,
			error_label);
		return;
	}


	/* applOperStatus */
	value.v_integer = applOperStatus;
	applOperStatus_name.subids[applOperStatus_name.len - 1] = applIndex;
	list = snmp_typed_variable_append(list, &applOperStatus_name,
		INTEGER, &value, error_label);
	if(list == NULL)
	{
                error("send_trap_appl_status_changed(%d, %s, %d) failed: %s",
			applIndex, applName, applOperStatus,
			error_label);
		return;
	}


	if(trap_send_to_all_destinators(NULL,
		SNMP_TRAP_ENTERPRISESPECIFIC, TRAP_APPL_ALARM,
		list, error_label))
        {
                error("send_trap_appl_status_changed(%d, %s, %d) failed: %s",
			applIndex, applName, applOperStatus,
			error_label);
        	snmp_variable_list_free(list);
                return;
        }
        snmp_variable_list_free(list);
 
 
        return;
}
Beispiel #2
0
main()
{
	trace_flags = 0xFFF;

	if(trap_destinator_add("panda", error_label))
	{
		fprintf(stderr, "trap_destinator_add() failed: %s\n",
			error_label);
		exit(1);
	}

	if(trap_send_to_all_destinators(NULL, SNMP_TRAP_WARMSTART, 0, NULL, error_label))
	{
		fprintf(stderr, "trap_send_to_alldestinators() failed: %s\n",
			error_label);
		exit(1);
	}

	exit(0);
}
Beispiel #3
0
void send_trap_appl_alarm(int applIndex, char *applName, int alarmId, int alarmSeverity, char *alarmDescr)
{
	SNMP_variable *list = NULL;
        SNMP_value value;


	/* applName */
	value.v_string.chars = (u_char *) applName;
	if(applName == NULL)
		value.v_string.len = 0;
	else
		/* LINTED */
		value.v_string.len = (int32_t)strlen(applName);
	applName_name.subids[applName_name.len - 1] = applIndex;
	list = snmp_typed_variable_append(list, &applName_name,
		STRING, &value, error_label);
	if(list == NULL)
	{
                error("send_trap_appl_alarm(%d, %s, %d, %d, %s) failed: %s",
			applIndex, applName, alarmId, alarmSeverity, alarmDescr,
			error_label);
		return;
	}


	/* alarmId */
	value.v_integer = alarmId;
	list = snmp_typed_variable_append(list, &alarmId_name,
			INTEGER, &value, error_label);
	if(list == NULL)
	{
                error("send_trap_appl_alarm(%d, %s, %d, %d, %s) failed: %s",
			applIndex, applName, alarmId, alarmSeverity, alarmDescr,
			error_label);
		return;
	}


	/* alarmSeverity */
	value.v_integer = alarmSeverity;
	list = snmp_typed_variable_append(list, &alarmSeverity_name,
		INTEGER, &value, error_label);
	if(list == NULL)
	{
                error("send_trap_appl_alarm(%d, %s, %d, %d, %s) failed: %s",
			applIndex, applName, alarmId, alarmSeverity, alarmDescr,
			error_label);
		return;
	}


	/* alarmDescr */
	value.v_string.chars = (u_char *) alarmDescr;
	if(alarmDescr == NULL)
		value.v_string.len = 0;
	else
		/* LINTED */
		value.v_string.len = (int32_t)strlen(alarmDescr);
	list = snmp_typed_variable_append(list, &alarmDescr_name,
		STRING, &value, error_label);
	if(list == NULL)
	{
                error("send_trap_appl_alarm(%d, %s, %d, %d, %s) failed: %s",
			applIndex, applName, alarmId, alarmSeverity, alarmDescr,
			error_label);
		return;
	}


	if(trap_send_to_all_destinators(NULL,
		SNMP_TRAP_ENTERPRISESPECIFIC, TRAP_APPL_ALARM,
		list, error_label))
        {
                error("send_trap_appl_alarm(%d, %s, %d, %d, %s) failed: %s",
			applIndex, applName, alarmId, alarmSeverity, alarmDescr,
			error_label);
        	snmp_variable_list_free(list);
                return;
        }
        snmp_variable_list_free(list);
 
 
        return;
}