#pragma once

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

/**
 * The controller acknowledges the alarm ACK sent previously.
 *
 * This functionality is used for alarms triggered by the IO-controller.
 *
 * It is optional to implement this callback.
 * The return value from this call-back function is ignored by the Profinet
 * stack.
 * 
 * Контроллер подтверждает отправленный ранее ACK аварийного сигнала. 
 * 
 * Эта функциональность используется для аварийных сигналов, запускаемых 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 res              In:    0 if ACK was received by the remote side.
 *                                  This is cnf(+).
 *                                -1 if ACK was not received by the remote
 *                                  side. This is cnf(-).
 * @return 0 on success. Other values are ignored.
 */
int profinet_cb_alarm_ack_cnf (
    pnet_t * net, 
    void * arg, 
    uint32_t arep, 
    int res);