Call this subroutine to send the IPC-datagram message containing alarm generation/updated requests filled in by the amaru_add_gen or the amaru_add_update routine.

amaru_send_msg returns the status of the operation in the status message. Therefore, to determine if an amaru_add_gen or amaru_add_update call is successful, the status message must be checked.


int amaru_send_msg (port_id, wrt_buf, read_buf,

                   read_buf_len, alarm_mgr_id, ret_stat);

int port_id;

char *wrt_buf;

char *read_buf;

int read_buf_len;

char *alarm_mgr_id;

COR_STATUS *ret_stat;

Input Arguments


Datagram Port over which message should be sent.


Pointer to message buffer to be written.


Pointer to message buffer where returned status should be sent.


Maximum length of read buffer.


ID of the AMRP to receive the message. The application can determine the alarm_mgr_id from the configuration record of the factory resource the alarm is associated with (in fr.dat). Each factory resource has an associated AMRP.

Output Arguments


Pointer to status structure.

Return Value

Either COR_SUCCESS, or COR_FAILURE. If the function returns anything other than COR_SUCCESS, additional error information can be found in ret_stat.err_msg and ret_stat.err_code.

All error codes returned by internally used procedures are passed unchanged to the calling program. If the AMRP with the specified alarm_mgr_id cannot be found, a status of COR_FAILURE is set and the amaru_UNKNOWN_ALARM_MGR error code is returned. This error status is defined in amaru_err.h which is shown in Chapter 8.

More information

Application subroutines for field definitions: Alarm Management API.