windows-nt/Source/XPSP1/NT/net/tcpip/apis/iphlpapi/dll/rasmap.h
2020-09-26 16:20:57 +08:00

119 lines
2 KiB
C

/*++
Copyright (c) 1998 Microsoft Corporation
Module Name:
iphlpapi\rasmap.h
Abstract:
Header for rasmap.h
Revision History:
AmritanR Created
--*/
#ifndef __IPHLPAPI_RASMAP__
#define __IPHLPAPI_RASMAP__
typedef struct _RAS_INFO_TABLE
{
ULONG ulTotalCount;
ULONG ulValidCount;
RASENUMENTRYDETAILS rgEntries[ANY_SIZE];
}RAS_INFO_TABLE, *PRAS_INFO_TABLE;
#define SIZEOF_RASTABLE(n) \
(FIELD_OFFSET(RAS_INFO_TABLE, rgEntries[0]) + \
(n) * sizeof(RASENUMENTRYDETAILS))
#define INIT_RAS_ENTRY_COUNT 5
#define RAS_OVERFLOW_COUNT 5
#define RAS_HASH_TABLE_SIZE 13
#define RAS_GUID_HASH(pg) \
(((ULONG)((pg)->Data1 + *((ULONG *)(&((pg)->Data2))))) % RAS_HASH_TABLE_SIZE)
typedef struct _RAS_NODE
{
LIST_ENTRY leGuidLink;
LIST_ENTRY leNameLink;
GUID Guid;
WCHAR rgwcName[RASAPIP_MAX_ENTRY_NAME + 2];
}RAS_NODE, *PRAS_NODE;
DWORD
NhiGetPhonebookNameFromGuid(
IN GUID *pGuid,
OUT PWCHAR pwszBuffer,
IN OUT PULONG pulBufferSize,
IN BOOL bRefresh,
IN BOOL bCache
);
DWORD
NhiGetGuidFromPhonebookName(
IN PWCHAR pwszBuffer,
OUT GUID *pGuid,
IN BOOL bRefresh,
IN BOOL bCache
);
DWORD
NhiGetPhonebookDescriptionFromGuid(
IN GUID *pGuid,
OUT PWCHAR pwszBuffer,
IN OUT PULONG pulBufferSize,
IN BOOL bCache,
IN BOOL bRefresh
);
DWORD
InitRasNameMapper(
VOID
);
VOID
DeinitRasNameMapper(
VOID
);
DWORD
RefreshRasCache(
IN PWCHAR pwszPhonebook,
IN OUT RAS_INFO_TABLE **ppTable
);
DWORD
UpdateRasLookupTable(
IN PRAS_INFO_TABLE pTable
);
PRAS_NODE
LookupRasNodeByGuid(
IN GUID *pGuid
);
PRAS_NODE
LookupRasNodeByName(
IN PWCHAR pwszName
);
DWORD
AddRasNode(
IN LPRASENUMENTRYDETAILS pInfo
);
VOID
RemoveRasNode(
IN PRAS_NODE pNode
);
#endif // __IPHLPAPI_RASMAP__