|
|
/*
File routerdb.h
Implements a database abstraction for accessing router interfaces.
If any caching/transactioning/commit-noncommit-moding is done, it should be implemented here with the api's remaining constant.
*/
#ifndef IFMON_ROUTERDB_H
#define IFMON_ROUTERDB_H
//
// Defines a function callback that receives enumerated
// interfaces.
//
typedef DWORD (*RTR_IF_ENUM_FUNC)( IN PWCHAR pwszIfName, IN DWORD dwLevel, IN DWORD dwFormat, IN PVOID pvData, IN HANDLE hData );
DWORD RtrdbInterfaceAdd( IN PWCHAR pszInterface, IN DWORD dwLevel, IN PVOID pvInfo );
DWORD RtrdbInterfaceDelete( IN PWCHAR pwszIfName );
DWORD RtrdbInterfaceEnumerate( IN DWORD dwLevel, IN DWORD dwFormat, IN RTR_IF_ENUM_FUNC pEnum, IN HANDLE hData );
DWORD RtrdbInterfaceRead( IN PWCHAR pwszIfName, IN DWORD dwLevel, IN PVOID pvInfo, IN BOOL bReadFromConfigOnError );
DWORD RtrdbInterfaceWrite( IN PWCHAR pwszIfName, IN DWORD dwLevel, IN PVOID pvInfo );
DWORD RtrdbInterfaceReadCredentials( IN PWCHAR pszIfName, IN PWCHAR pszUser OPTIONAL, IN PWCHAR pszPassword OPTIONAL, IN PWCHAR pszDomain OPTIONAL );
DWORD RtrdbInterfaceWriteCredentials( IN PWCHAR pszIfName, IN PWCHAR pszUser OPTIONAL, IN PWCHAR pszPassword OPTIONAL, IN PWCHAR pszDomain OPTIONAL );
DWORD RtrdbInterfaceEnableDisable( IN PWCHAR pwszIfName, IN BOOL bEnable);
DWORD RtrdbInterfaceRename( IN PWCHAR pwszIfName, IN DWORD dwLevel, IN PVOID pvInfo, IN PWCHAR pszNewName);
DWORD RtrdbResetAll();
#endif
|