74 lines
2.8 KiB
C
74 lines
2.8 KiB
C
/**
|
|
* @file: $RCSfile: reject.c,v $
|
|
* @brief: $IEC 61850 Protocol
|
|
*
|
|
* @version: $Revision: 1.1 $
|
|
* @date: $Date: 2018/11/24 06:54:51 $
|
|
* @author: $Author: lizhongming $
|
|
* @state: $State: Exp $
|
|
*
|
|
* @latest: $Id: reject.c,v 1.1 2018/11/24 06:54:51 lizhongming Exp $
|
|
*
|
|
*/
|
|
/************************************************************************/
|
|
/* SISCO SOFTWARE MODULE HEADER *****************************************/
|
|
/************************************************************************/
|
|
/* (c) Copyright Systems Integration Specialists Company, Inc., */
|
|
/* 2005 - 2005, All Rights Reserved */
|
|
/* */
|
|
/* MODULE NAME : reject.c */
|
|
/* PRODUCT(S) : MMSEASE-LITE */
|
|
/* */
|
|
/* MODULE DESCRIPTION : */
|
|
/* Default reject indication function. This module may be linked */
|
|
/* to any application, or the function may be copied to a user */
|
|
/* module and modified as needed. */
|
|
/* */
|
|
/* GLOBAL FUNCTIONS DEFINED IN THIS MODULE : */
|
|
/* u_mvl_reject_ind */
|
|
/* */
|
|
/* MODIFICATION LOG : */
|
|
/* Date Who Rev Comments */
|
|
/* -------- --- ------ ------------------------------------------- */
|
|
/* 09/07/05 JRB 01 Created */
|
|
/************************************************************************/
|
|
#include "glbtypes.h"
|
|
#include "sysincs.h"
|
|
#include "mvl_defs.h"
|
|
#include "mvl_acse.h"
|
|
#include "mvl_log.h"
|
|
|
|
/************************************************************************/
|
|
/* For debug version, use a static pointer to avoid duplication of */
|
|
/* __FILE__ strings. */
|
|
/************************************************************************/
|
|
#ifdef DEBUG_SISCO
|
|
SD_CONST static ST_CHAR *SD_CONST thisFileName = __FILE__;
|
|
#endif
|
|
|
|
/************************************************************************/
|
|
/* u_mvl_reject_ind */
|
|
/************************************************************************/
|
|
ST_VOID u_mvl_reject_ind (MVL_NET_INFO *net_info, REJECT_RESP_INFO *rej_info)
|
|
{
|
|
if (rej_info->rej_class == MMS_REJ_CLASS_CONFIRMED_REQUEST_PDU &&
|
|
rej_info->rej_code == MMS_REJ_CODE_CONFIRMED_REQUEST_PDU_UNRECOGNIZED_SERVICE)
|
|
{ /* This is most common case. Provide extra information in log msgs.*/
|
|
if (rej_info->detected_here)
|
|
MVL_LOG_ERR0 ("MMS Reject sent, unrecognized service. Check MMS services enabled here.");
|
|
else
|
|
MVL_LOG_ERR0 ("MMS Reject received, unrecognized service. Check MMS services enabled on remote device.");
|
|
}
|
|
else
|
|
{
|
|
/* NOTE: for all other cases, it is best to abort the connection */
|
|
/* but it is not done in this callback function because no good */
|
|
/* way to inform main application that abort occurred. */
|
|
/* DEBUG: should there be extra handshaking in MVL_NET_INFO struct? */
|
|
if (rej_info->detected_here)
|
|
MVL_LOG_ERR0 ("Reject sent.");
|
|
else
|
|
MVL_LOG_ERR0 ("Reject received.");
|
|
}
|
|
}
|