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
13 typedef struct _CATALOG_ENTRY {
16 CRITICAL_SECTION Lock;
17 UNICODE_STRING LibraryName;
19 WSAPROTOCOL_INFOW ProtocolInfo;
20 PWINSOCK_MAPPING Mapping;
21 LPWSPSTARTUP WSPStartup;
23 WSPPROC_TABLE ProcTable;
24 } CATALOG_ENTRY, *PCATALOG_ENTRY;
26 extern LIST_ENTRY Catalog;
29 VOID ReferenceProviderByPointer(
30 PCATALOG_ENTRY Provider);
32 VOID DereferenceProviderByPointer(
33 PCATALOG_ENTRY Provider);
35 PCATALOG_ENTRY CreateCatalogEntry(
38 INT DestroyCatalogEntry(
39 PCATALOG_ENTRY Provider);
41 PCATALOG_ENTRY LocateProvider(
42 LPWSAPROTOCOL_INFOW lpProtocolInfo);
44 PCATALOG_ENTRY LocateProviderById(
45 DWORD CatalogEntryId);
48 PCATALOG_ENTRY Provider,
49 LPWSAPROTOCOL_INFOW lpProtocolInfo);
52 PCATALOG_ENTRY Provider);
54 VOID CreateCatalog(VOID);
56 VOID DestroyCatalog(VOID);
58 #endif /* __CATALOG_H */