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
14 CRITICAL_SECTION Lock
;
15 UNICODE_STRING LibraryName
;
17 WSAPROTOCOL_INFOW ProtocolInfo
;
18 PWINSOCK_MAPPING Mapping
;
19 LPWSPSTARTUP WSPStartup
;
21 WSPPROC_TABLE ProcTable
;
22 } CATALOG_ENTRY
, *PCATALOG_ENTRY
;
24 extern LIST_ENTRY Catalog
;
27 VOID
ReferenceProviderByPointer(
28 PCATALOG_ENTRY Provider
);
30 VOID
DereferenceProviderByPointer(
31 PCATALOG_ENTRY Provider
);
33 PCATALOG_ENTRY
CreateCatalogEntry(
36 INT
DestroyCatalogEntry(
37 PCATALOG_ENTRY Provider
);
39 PCATALOG_ENTRY
LocateProvider(
40 LPWSAPROTOCOL_INFOW lpProtocolInfo
);
42 PCATALOG_ENTRY
LocateProviderById(
43 DWORD CatalogEntryId
);
46 PCATALOG_ENTRY Provider
,
47 LPWSAPROTOCOL_INFOW lpProtocolInfo
);
50 PCATALOG_ENTRY Provider
);
52 VOID
CreateCatalog(VOID
);
54 VOID
DestroyCatalog(VOID
);
56 #endif /* __CATALOG_H */