#pragma once

#include "../../libs/include/pnet_api.h"

/**
 * The controller acknowledges the alarm sent previously.
 * It is now possible to send another alarm.
 *
 * This functionality is used for alarms triggered by the IO-device.
 *
 * It is optional to implement this callback.
 * The return value from this call-back function is ignored by the Profinet
 * stack.
 * 
 * Контроллер подтверждает отправленный ранее аварийный сигнал. Теперь можно отправить еще один сигнал тревоги. 
 * 
 * Эта функция используется для аварийных сигналов, инициируемых IO-устройством. 
 * 
 * Реализовать этот обратный вызов необязательно. Возвращаемое значение этой функции обратного вызова игнорируется стеком Profinet.
 *
 * @param net              InOut: The p-net stack instance
 * @param arg              InOut: User-defined data (not used by p-net)
 * @param arep             In:    The AREP.
 * @param p_pnio_status    In:    Detailed ACK information.
 * @return 0 on success. Other values are ignored.
 */
int profinet_cb_alarm_cnf (
    pnet_t * net,
    void * arg,
    uint32_t arep,
    const pnet_pnio_status_t * p_pnio_status);