#pragma once

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


/**
 * Indication to the application that a CControl confirmation was received from
 * the controller. Typically this means that the controller has received our
 * "Application ready" message.
 *
 * This application call-back function is called by the Profinet stack on every
 * CControl confirmation from the Profinet controller.
 *
 * The application is not required to take any action.
 * The return value from this call-back function is ignored by the Profinet
 * stack. In case of error the application should provide error information in
 * \a p_result.
 *
 * It is optional to implement this callback (assumes success?).
 *
 * Индикация приложению о том, что от контроллера получено подтверждение CControl. Обычно это означает, 
 * что контроллер получил наше сообщение «Приложение готово». 
 * 
 * Эта функция обратного вызова приложения вызывается стеком Profinet при каждом подтверждении CControl от контроллера Profinet. 
 * 
 * Приложение не требует никаких действий. Возвращаемое значение этой функции обратного вызова игнорируется стеком Profinet. 
 * 
 * В случае ошибки приложение должно предоставить информацию об ошибке в \a p_result. 
 * 
 * Реализовать этот обратный вызов необязательно (предполагается успех?).
 * 
 * @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_result         Out:   Detailed error information.
 * @return 0 on success. Other values are ignored.
 */
int profinet_cb_ccontrol_ind (
        pnet_t * net,
        void * arg,
        uint32_t arep,
        pnet_result_t * p_result);