⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 neuro_c.h

📁 嵌入式RMON,RMON为Remote monitor的缩写,基于SNMP为网络提供主动监控及错误告警,智能交换路由必备协议
💻 H
字号:
/* Beholder RMON ethernet network monitor,Copyright (C) 1993 DNPAP group *//* See file COPYING 'GNU General Public Licence' for copyright details   */#ifndef _NEURO_C_H#define _NEURO_C_H#include <dnpap.h>#include <boolset.h>#include <timer.h>#include <snmp.h>#include "neuro_k.h"#define NEURO_BOOLEAN_OWNER		2enum TRAINMETHODS  {	NEURO_NOTRAIN = 1, NEURO_TRAIN, NEURO_RETRAIN, NEURO_BATCH,	LAST_TRAINMETHOD = NEURO_BATCH};enum AVERAGEMETHODS  { 	SIMPLE_DIFF = 1, SIMPLE_VALUE, 	MEAN_DIFF, MEAN_VALUE, 	HARMONIC_DIFF, HARMONIC_VALUE,	LAST_AVERAGEMETHOD = HARMONIC_VALUE};enum THRESHOLDCHECKS  { 	NO_THRESHOLD = 1, 	LESS_THAN, GREATER_THAN, 	IN_RANGE, OUT_RANGE,	EQUAL, NOT_EQUAL, 	LAST_THRESHOLDCHECK = NOT_EQUAL};					      #define MAXNRLAYERS	            5#define MAXNRNEURONS	        100#define MAXNRPATTERNS	        10000#define MAXNRSTEPS	            5#define MAXNRTHRESHOLDVALUES	2			typedef struct InOutData_{	LONG	Id[SNMP_SIZE_OBJECTID];	WORD	IdLen;			FLOAT	PrevValue;	FLOAT	TheValue;	FLOAT	Value[MAXNRSTEPS];	LONG	MaxValue;	LONG	MinValue;	LONG	AverageMethod;	LONG	AverageSteps;	BOOLEAN	Trap;	BYTE	TrapComm[SNMP_SIZE_COMM];	WORD	TrapCommLen;	LONG	ThresholdCheck;	FLOAT	ThresholdValue[MAXNRTHRESHOLDVALUES];} InOutData;typedef struct InOutBatch_{	FLOAT	TheValue;} InOutBatch;typedef struct NeuroData_  NeuroData;struct NeuroData_{	LONG		NrLayers;	LONG		NrNeurons[MAXNRLAYERS];    							 	NeuronNet	*Net;		/*  pointer to neural network  */	ULONG		NetRefresh;	InOutData	*InputData;	InOutData	*TargetData;	LONG		RequestedSize;	LONG		GrantedSize;	LONG		BatchSize;	LONG		BatchIndex;	InOutBatch	*InputBatch;	InOutBatch	*TargetBatch;	FLOAT		*OutputValue;	InOutput	*In;	InOutput	*Out;	InOutput	*Target;	LONG		Train;	FLOAT		LearningRate;	FLOAT		Momentum;	ULONG		TotalSteps;	ULONG		TrainSteps;    FLOAT       BatchError;    FLOAT       Error;			          BYTE        Owner[SNMP_SIZE_BUFCHR];    WORD        OwnerLen;	LONG		Status;				     	TIMER_DESCR	*Timer;      BooleanSet  ObjectSet;};BOOLEAN		NeuroCInit(NeuroData* data);BOOLEAN		NeuroCStart(NeuroData* data, TIMER_CALLBACK callback, VOID* param, ULONG msecs);BOOLEAN		NeuroCStop(NeuroData* data);BOOLEAN		NeuroCChangeTimer(NeuroData* data, ULONG msecs);INT         NeuroThresholds(InOutData *data);NeuroData*	NewNeuroData(VOID);VOID		DelNeuroData(NeuroData* data);InOutData*  NewInOutData(LONG nrinouts);InOutData*  ReNewInOutData(InOutData* data, LONG nrinouts, LONG prvnrinouts);VOID        InOutDataInit(InOutData* data);VOID        DelInOutData(InOutData* data);InOutBatch* NewInOutBatch(LONG nrinouts);InOutBatch* ReNewInOutBatch(InOutBatch* data, LONG nrinouts, LONG prvnrinouts);VOID        InOutBatchInit(InOutBatch* data);VOID        DelInOutBatch(InOutBatch* data);#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -