📄 opnetwork_capture_mode_ecc.ps.c
字号:
/* opnetwork_capture_mode_ecc.ps.c */
/*
/****************************************/
/* Copyright (c) 1993 */
/* by MIL 3, Inc. */
/* (A Delaware Corporation) */
/* 3400 International Drive, N.W. */
/* Washington, D.C., U.S.A. */
/* All Rights Reserved. */
/****************************************/
#include <opnet.h>
void
opnetwork_capture_mode_ecc (pkptr)
Packet* pkptr;
{
int pklen, num_errs, accept;
double ecc_thresh;
/** Determine acceptability of given packet at receiver. **/
FIN (opnetwork_capture_mode_ecc (pkptr))
/* Do not calculate the acceptability if packet is not acceptable */
if (op_td_is_set (pkptr, OPC_TDA_RA_PK_ACCEPT) &&
(op_td_get_int (pkptr, OPC_TDA_RA_PK_ACCEPT) == OPC_FALSE))
{
FOUT
}
else
{
/* Do not accept packets that were received */
/* when the node was disabled. */
if (op_td_is_set (pkptr, OPC_TDA_RA_ND_FAIL))
accept = OPC_FALSE;
else
{
/* Obtain the error correction threshold of the receiver. */
ecc_thresh = op_td_get_dbl (pkptr, OPC_TDA_RA_ECC_THRESH);
/* Obtain length of packet. */
pklen = op_pk_total_size_get (pkptr);
/* Obtain number of errors in packet. */
num_errs = op_td_get_int (pkptr, OPC_TDA_RA_NUM_ERRORS);
/* Test if bit errors exceed threshold. */
if (pklen == 0)
accept = OPC_TRUE;
else
accept = ((((double) num_errs) / pklen) <= ecc_thresh) ? OPC_TRUE : OPC_FALSE;
}
/* Place flag indicating accept/reject in transmission data block. */
op_td_set_int (pkptr, OPC_TDA_RA_PK_ACCEPT, accept);
/* In either case the receiver channel is no longer locked. */
/*rx_ch_obid = op_td_get_int (pkptr, OPC_TDA_RA_RX_CH_OBJID);
op_ima_obj_attr_set (rx_ch_obid, "signal lock", OPC_BOOLINT_DISABLED);*/
FOUT
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -