windows-nt/Source/XPSP1/NT/net/rras/ras/ddm/objects.h
2020-09-26 16:20:57 +08:00

314 lines
5.5 KiB
C

/********************************************************************/
/** Copyright(c) 1995 Microsoft Corporation. **/
/********************************************************************/
//***
//
// Filename: objects.h
//
// Description: Prototypes for all routines and procedures that manipulate
// the various objects.
//
// History: May 11,1995 NarenG Created original version.
//
//
// Conneciton object prototypes
//
CONNECTION_OBJECT *
ConnObjAllocateAndInit(
IN HANDLE hDDMInterface,
IN HCONN hConnection
);
VOID
ConnObjInsertInTable(
IN CONNECTION_OBJECT * pConnObj
);
CONNECTION_OBJECT *
ConnObjGetPointer(
IN HCONN hConnection
);
DWORD
ConnObjHashConnHandleToBucket(
IN HCONN hConnection
);
PCONNECTION_OBJECT
ConnObjRemove(
IN HCONN hConnection
);
VOID
ConnObjRemoveAndDeAllocate(
IN HCONN hConnection
);
DWORD
ConnObjAddLink(
IN CONNECTION_OBJECT * pConnObj,
IN DEVICE_OBJECT * pDeviceObj
);
VOID
ConnObjRemoveLink(
IN HCONN hConnection,
IN DEVICE_OBJECT * pDeviceObj
);
VOID
ConnObjDisconnect(
IN CONNECTION_OBJECT * pConnObj
);
//
// Router Interface object prototypes
//
BOOL
IfObjectAreAllTransportsDisconnected(
IN ROUTER_INTERFACE_OBJECT * pIfObject
);
VOID
IfObjectDisconnected(
IN ROUTER_INTERFACE_OBJECT * pIfObject
);
DWORD
IfObjectConnected(
IN HANDLE hDDMInterface,
IN HCONN hConnection,
IN PPP_PROJECTION_RESULT *pProjectionResult
);
VOID
IfObjectNotifyOfReachabilityChange(
IN ROUTER_INTERFACE_OBJECT *pIfObject,
IN BOOL fReachable,
IN UNREACHABILITY_REASON dwReason
);
VOID
IfObjectNotifyAllOfReachabilityChange(
IN BOOL fReachable,
IN UNREACHABILITY_REASON dwReason
);
DWORD
IfObjectAddClientInterface(
IN ROUTER_INTERFACE_OBJECT * pIfObject,
IN PBYTE pClientInterface
);
VOID
IfObjectDeleteInterface(
IN ROUTER_INTERFACE_OBJECT * pIfObject
);
DWORD
IfObjectLoadPhonebookInfo(
IN ROUTER_INTERFACE_OBJECT * pIfObject
);
VOID
IfObjectInitiatePersistentConnections(
VOID
);
VOID
IfObjectDisconnectInterfaces(
VOID
);
VOID
IfObjectConnectionChangeNotification(
VOID
);
VOID
IfObjectSetDialoutHoursRestriction(
IN ROUTER_INTERFACE_OBJECT * pIfObject
);
//
// Media object prototypes
//
VOID
MediaObjRemoveFromTable(
LPWSTR lpwsMedia
);
DWORD
MediaObjAddToTable(
LPWSTR lpwsMedia
);
DWORD
MediaObjInitializeTable(
VOID
);
VOID
MediaObjGetAvailableMediaBits(
DWORD * pfAvailableMedia
);
DWORD
MediaObjSetMediaBit(
LPWSTR lpwsMedia,
DWORD * pfMedia
);
VOID
MediaObjFreeTable(
VOID
);
//
// Device object prototypes
//
DWORD
DeviceObjIterator(
IN DWORD (*pProcessFunction)( IN DEVICE_OBJECT *,
IN LPVOID,
IN DWORD,
IN DWORD ),
IN BOOL fReturnOnError,
IN PVOID Parameter
);
DWORD
DeviceObjHashPortToBucket(
IN HPORT hPort
);
DEVICE_OBJECT *
DeviceObjGetPointer(
IN HPORT hPort
);
VOID
DeviceObjInsertInTable(
IN DEVICE_OBJECT * pDeviceObj
);
VOID
DeviceObjRemoveFromTable(
IN HPORT hPort
);
DEVICE_OBJECT *
DeviceObjAllocAndInitialize(
IN HPORT hPort,
IN RASMAN_PORT* pRasmanPort
);
DWORD
DeviceObjStartClosing(
IN DEVICE_OBJECT * pDeviceObj,
IN PVOID Parameter,
IN DWORD dwBucketIndex,
IN DWORD dwDeviceIndex
);
DWORD
DeviceObjPostListen(
IN DEVICE_OBJECT * pDeviceObj,
IN PVOID Parameter,
IN DWORD dwBucketIndex,
IN DWORD dwDeviceIndex
);
DWORD
DeviceObjIsClosed(
IN DEVICE_OBJECT * pDeviceObj,
IN PVOID Parameter,
IN DWORD dwBucketIndex,
IN DWORD dwDeviceIndex
);
DWORD
DeviceObjCopyhPort(
IN DEVICE_OBJECT * pDeviceObj,
IN PVOID Parameter,
IN DWORD dwBucketIndex,
IN DWORD dwDeviceIndex
);
DWORD
DeviceObjCloseListening(
IN DEVICE_OBJECT * pDeviceObj,
IN PVOID Parameter,
IN DWORD dwBucketIndex,
IN DWORD dwDeviceIndex
);
DWORD
DeviceObjResumeListening(
IN DEVICE_OBJECT * pDeviceObj,
IN PVOID Parameter,
IN DWORD dwBucketIndex,
IN DWORD dwDeviceIndex
);
DWORD
DeviceObjRequestNotification(
IN DEVICE_OBJECT * pDeviceObj,
IN PVOID Parameter,
IN DWORD dwBucketIndex,
IN DWORD dwDeviceIndex
);
DWORD
DeviceObjClose(
IN DEVICE_OBJECT * pDevObj,
IN PVOID Parameter,
IN DWORD dwBucketIndex,
IN DWORD dwDeviceIndex
);
DWORD
DeviceObjGetType(
IN DEVICE_OBJECT * pDevObj,
IN PVOID Parameter,
IN DWORD dwBucketIndex,
IN DWORD dwDeviceIndex
);
DWORD
DeviceObjForceIpSec(
IN DEVICE_OBJECT * pDeviceObj,
IN PVOID Parameter,
IN DWORD dwBucketIndex,
IN DWORD dwDeviceIndex
);
DWORD
DeviceObjIsWANDevice(
IN DEVICE_OBJECT * pDevObj,
IN PVOID Parameter,
IN DWORD dwBucketIndex,
IN DWORD dwDeviceIndex
);
VOID
DeviceObjAdd(
IN RASMAN_PORT * pRasmanPort
);
VOID
DeviceObjRemove(
IN RASMAN_PORT * pRasmanPort
);
VOID
DeviceObjUsageChange(
IN RASMAN_PORT * pRasmanPort
);