2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS WinSock 2 DLL
4 * FILE: include/catalog.h
5 * PURPOSE: Service Provider Catalog definitions
10 typedef struct _CATALOG_ENTRY
{
13 CRITICAL_SECTION Lock
;
14 UNICODE_STRING LibraryName
;
16 WSAPROTOCOL_INFOW ProtocolInfo
;
17 PWINSOCK_MAPPING Mapping
;
18 LPWSPSTARTUP WSPStartup
;
20 WSPPROC_TABLE ProcTable
;
21 } CATALOG_ENTRY
, *PCATALOG_ENTRY
;
23 extern LIST_ENTRY Catalog
;
26 VOID
ReferenceProviderByPointer(
27 PCATALOG_ENTRY Provider
);
29 VOID
DereferenceProviderByPointer(
30 PCATALOG_ENTRY Provider
);
32 PCATALOG_ENTRY
CreateCatalogEntry(
35 INT
DestroyCatalogEntry(
36 PCATALOG_ENTRY Provider
);
38 PCATALOG_ENTRY
LocateProvider(
39 LPWSAPROTOCOL_INFOW lpProtocolInfo
);
41 PCATALOG_ENTRY
LocateProviderById(
42 DWORD CatalogEntryId
);
45 PCATALOG_ENTRY Provider
,
46 LPWSAPROTOCOL_INFOW lpProtocolInfo
);
49 PCATALOG_ENTRY Provider
);
51 VOID
CreateCatalog(VOID
);
53 VOID
DestroyCatalog(VOID
);
55 #endif /* __CATALOG_H */