Create a branch for Aleksandar Andrejevic for his work on NTVDM. See http://jira...
[reactos.git] / dll / win32 / ws2_32 / include / handle.h
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS WinSock 2 DLL
4 * FILE: include/handle.h
5 * PURPOSE: Provider handle definitions
6 */
7 #ifndef __HANDLE_H
8 #define __HANDLE_H
9
10 //#include <catalog.h>
11
12 typedef struct _PROVIDER_HANDLE
13 {
14 HANDLE Handle;
15 PCATALOG_ENTRY Provider;
16 } PROVIDER_HANDLE, *PPROVIDER_HANDLE;
17
18 #define HANDLE_BLOCK_ENTRIES ((1024-sizeof(LIST_ENTRY))/sizeof(PROVIDER_HANDLE))
19
20 typedef struct _PROVIDER_HANDLE_BLOCK
21 {
22 LIST_ENTRY Entry;
23 PROVIDER_HANDLE Handles[HANDLE_BLOCK_ENTRIES];
24 } PROVIDER_HANDLE_BLOCK, *PPROVIDER_HANDLE_BLOCK;
25
26 extern PPROVIDER_HANDLE_BLOCK ProviderHandleTable;
27
28
29 HANDLE
30 CreateProviderHandle(HANDLE Handle,
31 PCATALOG_ENTRY Provider);
32
33 BOOL
34 ReferenceProviderByHandle(HANDLE Handle,
35 PCATALOG_ENTRY* Provider);
36
37 BOOL
38 CloseProviderHandle(HANDLE Handle);
39
40 BOOL
41 InitProviderHandleTable(VOID);
42
43 VOID
44 FreeProviderHandleTable(VOID);
45
46 #endif /* __HANDLE_H */
47
48 /* EOF */