/* testIdbMib.c - IDB+ Module source for testIdbMib.mi2. */
/* Copyright 2005 Wind River, Inc. */
#include "copyright_wrs.h"
/*
modification history
--------------------
xxx,21Mar05,idb Created by IDBGEN. Ver 2.27
%%BeginUserCode testIdbMib_Modifications
%%EndUserCode testIdbMib_Modifications
*/
/*
DESCRIPTION
This module defines the IDB+ structures and IDB+ Object handler routines to
access the IDB+ objects defined in testIdbMib.mi2.
INCLUDE FILES: testIdbMib.h
*/
/* Includes */
#include "tmsTypes.h"
#include "idbLib.h"
#include "testIdbMib.h"
/* %%BeginUserCode testIdbMib_IncludeFiles */
/* %%EndUserCode testIdbMib_IncludeFiles */
/* Defines */
/* %%BeginUserCode testIdbMib_Defines */
/* %%EndUserCode testIdbMib_Defines */
/* Globals */
/* %%BeginUserCode testIdbMib_Globals */
/* %%EndUserCode testIdbMib_Globals */
/* Locals */
LOCAL char * moduleName = "testIdbMib";
/* %%BeginUserCode testIdbMib_Locals */
/* %%EndUserCode testIdbMib_Locals */
/* Prototypes */
LOCAL STATUS testIdbMibScalarHandler ( idbRequest_t request, idb_t * idb );
LOCAL STATUS testIdbMibPortEntryTableHandler ( idbRequest_t request, idb_t * idb );
LOCAL STATUS radiusTemplateEntryTableHandler ( idbRequest_t request, idb_t * idb );
/* %%BeginUserCode testIdbMib_Prototypes */
/* %%EndUserCode testIdbMib_Prototypes */
/****************************************************************************
* IDB+ Module Object Descriptors
*/
LOCAL idbObjDesc_t systemContact_objDesc[] = {
{ systemContact, 1, 32, /* localId=0 1.3.6.1.4.1.10293.1.1.9.20.1.1 */
{ 0, 0 }, IDB_OCTET_STRING, (IDB_READ|IDB_WRITE),
(IDB_VALID|IDB_ISDISPLAY), testIdbMibScalarHandler,
(char *)0, "testIdbMib:systemContact" },
{ 0 }
};
LOCAL idbObjDesc_t consoleBaudrate_objDesc[] = {
{ consoleBaudrate, 2, 4, /* localId=1 1.3.6.1.4.1.10293.1.1.9.20.1.2 */
{ 9600, 115200 }, IDB_INTEGER, (IDB_READ|IDB_WRITE),
(IDB_VALID), testIdbMibScalarHandler,
(char *)0, "testIdbMib:consoleBaudrate" },
{ 0 }
};
LOCAL idbObjDesc_t testIdbMibPortEntry_objDesc[] = {
{ portNumber, 1, 4, /* localId=2 1.3.6.1.4.1.10293.1.1.9.20.2.1.1.1 */
{ 1, 64 }, IDB_INTEGER, IDB_NOT_ACCESSIBLE,
(IDB_VALID|IDB_INDEX), testIdbMibPortEntryTableHandler,
(char *)0, "testIdbMib:portNumber" },
{ portSpeed, 2, 4, /* localId=3 1.3.6.1.4.1.10293.1.1.9.20.2.1.1.2 */
{ 0, 3 }, IDB_INTEGER, (IDB_READ|IDB_WRITE),
(IDB_VALID), testIdbMibPortEntryTableHandler,
(char *)0, "testIdbMib:portSpeed" },
{ portIpAddr, 3, 4, /* localId=4 1.3.6.1.4.1.10293.1.1.9.20.2.1.1.3 */
{ 0, 0 }, IDB_Unsigned32, (IDB_READ|IDB_WRITE),
(IDB_VALID), testIdbMibPortEntryTableHandler,
(char *)0, "testIdbMib:portIpAddr" },
{ 0 }
};
LOCAL idbObjDesc_t radiusTemplateEntry_objDesc[] = {
{ radiusIndex, 1, 4, /* localId=5 1.3.6.1.4.1.10293.1.1.9.20.3.1.1.1 */
{ 0, 0 }, IDB_Unsigned32, IDB_NOT_ACCESSIBLE,
(IDB_VALID|IDB_INDEX), radiusTemplateEntryTableHandler,
(char *)0, "testIdbMib:radiusIndex" },
{ authPort, 2, 4, /* localId=6 1.3.6.1.4.1.10293.1.1.9.20.3.1.1.2 */
{ 1, 65536 }, IDB_INTEGER, (IDB_READ|IDB_WRITE),
(IDB_VALID), radiusTemplateEntryTableHandler,
(char *)0, "testIdbMib:authPort" },
{ secret, 3, 64, /* localId=7 1.3.6.1.4.1.10293.1.1.9.20.3.1.1.3 */
{ 0, 0 }, IDB_OCTET_STRING, (IDB_READ|IDB_WRITE),
(IDB_VALID|IDB_ISDISPLAY), radiusTemplateEntryTableHandler,
(char *)0, "testIdbMib:secret" },
{ staticClientRowStatus, 4, 4, /* localId=8 1.3.6.1.4.1.10293.1.1.9.20.3.1.1.4 */
{ 1, 6 }, IDB_RowStatus, (IDB_READ|IDB_CREATE),
(IDB_VALID), radiusTemplateEntryTableHandler,
(char *)0, "testIdbMib:staticClientRowStatus" },
{ 0 }
};
/*****************************************************************************
* IDB+ Module OID Table
*
* The OID list below (e.g.,{1,3,6,1, ...}) is the OID prefix minus the
* last sub-identifier. The last sub-identifier is found in the
* object descriptor idbObjDesc_t structure.
*/
LOCAL idbOidTable_t oidTable[] = {
/* 0: Scalar Object -- systemContact */
{ IDB_SNMP_STRUCT, {1,3,6,1,4,1,10293,1,1,9,20,1}, 13, /*lint !e785 */
0, 1, { 0 },
systemContact_objDesc },
/* 1: Scalar Object -- consoleBaudrate */
{ IDB_SNMP_STRUCT, {1,3,6,1,4,1,10293,1,1,9,20,1}, 13, /*lint !e785 */
0, 1, { 0 },
consoleBaudrate_objDesc },
/* 2: Table Object -- testIdbMibPortEntry */
{ IDB_SNMP_STRUCT, {1,3,6,1,4,1,10293,1,1,9,20,2,1,1}, 15, /*lint !e785 */
1, 1, { "testIdbMib:portNumber" }, /*lint !e785 */
testIdbMibPortEntry_objDesc },
/* 3: Table Object -- radiusTemplateEntry */
{ IDB_SNMP_STRUCT, {1,3,6,1,4,1,10293,1,1,9,20,3,1,1}, 15, /*lint !e785 */
1, 1, { "testIdbMib:radiusIndex" }, /*lint !e785 */
radiusTemplateEntry_objDesc },
{ IDB_TERMINATOR }
};
/*****************************************************************************
* IDB+ Module Translate Table
*/
LOCAL idbXlateTable_t xlateTable[] = {
{ &oidTable[ 0], &systemContact_objDesc[0] },
{ &oidTable[ 1], &consoleBaudrate_objDesc[0] },
{ &oidTable[ 2], &testIdbMibPortEntry_objDesc[0] },
{ &oidTable[ 2], &testIdbMibPortEntry_objDesc[1] },
{ &oidTable[ 2], &testIdbMibPortEntry_objDesc[2] },
{ &oidTable[ 3], &radiusTemplateEntry_objDesc[0] },
{ &oidTable[ 3], &radiusTemplateEntry_objDesc[1] },
{ &oidTable[ 3], &radiusTemplateEntry_objDesc[2] },
{ &oidTable[ 3], &radiusTemplateEntry_objDesc[3] },
{ 0 }
};
/******************************************************************************
* User Local Functions.
*/
/* %%BeginUserCode testIdbMib_UserFunctions */
/* %%EndUserCode testIdbMib_UserFunctions */
/****************************************************************************
*
* testIdbMibInit - initialize/register testIdbMib and objects.
*
* This routine initializes the modules IDB routines.
*
* RETURNS: OK or ERROR
*
* ERRNO: N/A
*/
STATUS testIdbMibInit
(
void * parm1,
void * parm2
)
{
STATUS rc;
/* %%BeginUserCode testIdbMibInit_Prolog */
/* %%EndUserCode testIdbMibInit_Prolog */
rc = OK;
/* %%BeginUserCode testIdbMibInit_Body */
/* %%EndUserCode testIdbMibInit_Body */
/* Register the module's information with IDB+ engine */
idbModuleRegister( moduleName, &xlateTable[0] );
/* %%BeginUserCode testIdbMibInit_Epilog */
/* %%EndUserCode testIdbMibInit_Epilog */
return( rc );
}
/******************************************************************************
*
* testIdbMibTerminate - Terminate testIdbMib and objects.
*
* This routine de-initializes the IDB module functions.
*
* RETURNS: OK or ERROR
*
* ERRNO: N/A
*/
STATUS testIdbMibTerminate
(
void * parm
)
{
STATUS rc;
/* %%BeginUserCode testIdbMibTerminate_Prolog */
/* %%EndUserCode testIdbMibTerminate_Prolog */
rc = OK;
/* De-register the module's information with IDB+ engine */
idbModuleDeRegister( moduleName );
/* %%BeginUserCode testIdbMibTerminate_Epilog */
/* %%EndUserCode testIdbMibTerminate_Epilog */
return( rc );
}
/******************************************************************************
*
* testIdbMibScalarHandler - handles all scalar objects.
*
* This routine handles all scalar objects for this IDB+ Module.
*
* RETURNS: OK or ERROR
*
* ERRNO: N/A
*/
LOCAL STATUS testIdbMibScalarHandler
(
idbRequest_t request,
idb_t * idb
)
{
STATUS rc;
/* %%BeginUserCode testIdbMibScalarHandler_Prolog */
/* %%EndUserCode testIdbMibScalarhandler_Prolog */
rc = OK;
/* Validate the Scalar indexSubIdCount and instance value */
if ( idbScalarVali