Initial commit
This commit is contained in:
143
h/wrn/ospfCommon/ospfCommonRowStatusLib.h
Normal file
143
h/wrn/ospfCommon/ospfCommonRowStatusLib.h
Normal file
@@ -0,0 +1,143 @@
|
||||
/* ospfCommonRowStatusLib.h - OSPF common row status header file. */
|
||||
|
||||
/* Copyright 2003 Wind River Systems, Inc. */
|
||||
#include "copyright_wrs.h"
|
||||
|
||||
/*
|
||||
modification history
|
||||
--------------------
|
||||
01a,06aug03,agi created (ported from OSPFv2)
|
||||
*/
|
||||
|
||||
/*
|
||||
DESCRIPTION
|
||||
This file defines the types and function prototypes for rowStatusLib
|
||||
*/
|
||||
|
||||
#ifndef __INCospfCommonRowStatush
|
||||
#define __INCospfCommonRowStatush
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
/* defines */
|
||||
|
||||
|
||||
/* enums */
|
||||
|
||||
/* Action/state enum type */
|
||||
typedef enum
|
||||
{
|
||||
RS_undefined = 0, /* row does not exist */
|
||||
RS_active, /* active */
|
||||
RS_notInService, /* not in service */
|
||||
RS_notReady, /* not ready */
|
||||
RS_createAndGo, /* create and go */
|
||||
RS_createAndWait, /* create and wait */
|
||||
RS_destroy, /* destroy */
|
||||
RS_setOtherObject, /* set a non-RowStatus object */
|
||||
/* all others are errors */
|
||||
RS_inconsistValue, /* inconsistent */
|
||||
RS_wrongValue, /* wrongValue */
|
||||
RS_genError, /* Generic ERROR */
|
||||
RS_noCreation /* could not create row */
|
||||
} rsState_t;
|
||||
|
||||
typedef rsState_t rsAction_t;
|
||||
|
||||
#define RS_noError RS_undefined
|
||||
#define RS_stateMax RS_notReady
|
||||
#define RS_actionMax RS_setOtherObject
|
||||
|
||||
/* condition type */
|
||||
typedef enum
|
||||
{
|
||||
RS_NO_CONDITION = 0, /* unconditional */
|
||||
RS_CONDITION1, /* notInService is supported */
|
||||
RS_CONDITION2, /* all columns are valid */
|
||||
RS_CONDITION3, /* notInService supported and all columns are valid */
|
||||
RS_CONDITION4, /* creation allowed when modifying a non-existing row */
|
||||
RS_CONDITION5 /* modifying a column of an active row is supported */
|
||||
} rsCondition_t;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
RS_ACCESS_NONE = 0,
|
||||
RS_ACCESS_RS_GET, /* row status value get */
|
||||
RS_ACCESS_RS_SET, /* row status value set */
|
||||
RS_ACCESS_RS_VALID, /* validate row status value */
|
||||
RS_ACCESS_COL_SET, /* column set */
|
||||
RS_ACCESS_COL_VALID, /* validate column */
|
||||
RS_ACCESS_ROW_VALID, /* validate row */
|
||||
RS_ACCESS_ROW_DELETE /* delete row */
|
||||
} rsRowAccessCode_t;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
RS_GET_REQUEST = 1,
|
||||
RS_SET_NVM_REQUEST,
|
||||
RS_VALIDATE_REQUEST,
|
||||
RS_COMMIT_REQUEST,
|
||||
RS_ERROR_REQUEST
|
||||
} rsRequest_t;
|
||||
|
||||
/* typedefs */
|
||||
|
||||
typedef STATUS (* RS_CREATE_FUNC) (void * pRequest, void ** pEntry,
|
||||
rsAction_t action, rsRequest_t rsRequest);
|
||||
|
||||
typedef STATUS (* RS_ACCESS_FUNC) (void * pEntry, void * pObjInfo,
|
||||
rsRowAccessCode_t accessFlag);
|
||||
|
||||
typedef STATUS (* RS_STATUS_FUNC) (void *pEntry, rsState_t *rsState,
|
||||
rsRowAccessCode_t accessFlag);
|
||||
|
||||
typedef STATUS (* RS_ERROR_FUNC) ( void * pObjInfo, int rsError);
|
||||
|
||||
typedef struct
|
||||
{
|
||||
rsState_t state1; /* next state 1 if there was no error */
|
||||
rsState_t state2; /* next state 2 if there was no error */
|
||||
rsCondition_t cond; /* if non-zero, state is conditional */
|
||||
rsState_t error; /* error code if error occured */
|
||||
} rsRowStatus_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
BOOL notInService; /* is notInService supported ? */
|
||||
BOOL modifyActive; /* is modifying an active row supported ? */
|
||||
BOOL createAndGo; /* is createAndGo supported ? */
|
||||
BOOL createWhileValidate; /* is createWhileValidate supported? */
|
||||
RS_CREATE_FUNC rowCreateRtn; /* row manipulation routine */
|
||||
RS_ACCESS_FUNC rowAccessRtn; /* row manipulation routine */
|
||||
RS_STATUS_FUNC rowStatusAccessRtn; /* status object manipulation routine */
|
||||
RS_ERROR_FUNC errorConvertRtn; /* error conversion routine */
|
||||
rsAction_t rsShadow; /* shadow value for the next rowStatus action
|
||||
* state for handling the createAndWait and
|
||||
* createAndGo row operations
|
||||
*/
|
||||
|
||||
} rsParams_t;
|
||||
|
||||
/* externs */
|
||||
|
||||
IMPORT STATUS rsRowStatusSet (rsParams_t * pParams, void * pRequest,
|
||||
rsAction_t action, rsRequest_t rsRequest,
|
||||
BOOL lastCol);
|
||||
IMPORT STATUS rsParamsInit (rsParams_t ** ppParams,
|
||||
RS_CREATE_FUNC rowCreateRtn,
|
||||
RS_ACCESS_FUNC rowAccessRtn,
|
||||
RS_STATUS_FUNC rowStatusAccessRtn,
|
||||
RS_ERROR_FUNC errorConvertRtn);
|
||||
IMPORT void rsParamsDelete (rsParams_t * pParams);
|
||||
IMPORT STATUS rsParamsNotInServiceSet (void * pParams, BOOL notInService);
|
||||
IMPORT STATUS rsParamsModifyActiveSet (void * pParams, BOOL notInService);
|
||||
IMPORT STATUS rsParamsCreateAndGoSet (void * pParams, BOOL createAndGo);
|
||||
IMPORT STATUS rsParamsCreateWhileValidateSet (void * pParams, BOOL createWhileValidate);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif /* __INCospfCommonRowStatush */
|
||||
Reference in New Issue
Block a user