Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenws2_32p.h
Go to the documentation of this file.
00001 /* 00002 * COPYRIGHT: See COPYING in the top level directory 00003 * PROJECT: ReactOS WinSock 2.2 Library 00004 * FILE: lib/ws2_32.h 00005 * PURPOSE: WinSock 2.2 Main Header 00006 */ 00007 00008 #pragma once 00009 00010 #define WINSOCK_ROOT "System\\CurrentControlSet\\Services\\WinSock2\\Parameters" 00011 #define MAXALIASES 35 00012 00013 typedef enum _WSASYNCOPS 00014 { 00015 WsAsyncGetHostByAddr, 00016 WsAsyncGetHostByName, 00017 WsAsyncGetProtoByName, 00018 WsAsyncGetProtoByNumber, 00019 WsAsyncGetServByName, 00020 WsAsyncGetServByPort, 00021 WsAsyncTerminate, 00022 } WSASYNCOPS; 00023 00024 typedef struct _WSASYNCBLOCK 00025 { 00026 LIST_ENTRY AsyncQueue; 00027 HANDLE TaskHandle; 00028 WSASYNCOPS Operation; 00029 union 00030 { 00031 struct 00032 { 00033 HWND hWnd; 00034 UINT wMsg; 00035 PCHAR ByWhat; 00036 DWORD Length; 00037 DWORD Type; 00038 PVOID Buffer; 00039 DWORD BufferLength; 00040 } GetHost; 00041 struct 00042 { 00043 HWND hWnd; 00044 UINT wMsg; 00045 PCHAR ByWhat; 00046 DWORD Length; 00047 PVOID Buffer; 00048 DWORD BufferLength; 00049 } GetProto; 00050 struct 00051 { 00052 HWND hWnd; 00053 UINT wMsg; 00054 PCHAR ByWhat; 00055 DWORD Length; 00056 PCHAR Protocol; 00057 PVOID Buffer; 00058 DWORD BufferLength; 00059 } GetServ; 00060 }; 00061 } WSASYNCBLOCK, *PWSASYNCBLOCK; 00062 00063 typedef struct _WSASYNCCONTEXT 00064 { 00065 LIST_ENTRY AsyncQueue; 00066 HANDLE AsyncEvent; 00067 LIST_ENTRY SocketList; 00068 } WSASYNCCONTEXT, *PWSASYNCCONTEXT; 00069 00070 typedef struct _WSPROTO_BUFFER 00071 { 00072 PROTOENT Protoent; 00073 PCHAR Aliases[MAXALIASES]; 00074 CHAR LineBuffer[512]; 00075 } WSPROTO_BUFFER, *PWSPROTO_BUFFER; 00076 00077 typedef struct _TPROVIDER 00078 { 00079 LONG RefCount; 00080 WSPPROC_TABLE Service; 00081 HINSTANCE DllHandle; 00082 } TPROVIDER, *PTPROVIDER; 00083 00084 typedef struct _TCATALOG_ENTRY 00085 { 00086 LIST_ENTRY CatalogLink; 00087 LONG RefCount; 00088 PTPROVIDER Provider; 00089 CHAR DllPath[MAX_PATH]; 00090 WSAPROTOCOL_INFOW ProtocolInfo; 00091 } TCATALOG_ENTRY, *PTCATALOG_ENTRY; 00092 00093 typedef struct _TCATALOG 00094 { 00095 LIST_ENTRY ProtocolList; 00096 DWORD ItemCount; 00097 DWORD UniqueId; 00098 DWORD NextId; 00099 HKEY CatalogKey; 00100 RTL_CRITICAL_SECTION Lock; 00101 BOOLEAN Initialized; 00102 } TCATALOG, *PTCATALOG; 00103 00104 typedef struct _NSPROVIDER 00105 { 00106 LONG RefCount; 00107 DWORD NamespaceId; 00108 HINSTANCE DllHandle; 00109 GUID ProviderId; 00110 NSP_ROUTINE Service; 00111 } NSPROVIDER, *PNS_PROVIDER; 00112 00113 typedef struct _NSQUERY_PROVIDER 00114 { 00115 LIST_ENTRY QueryLink; 00116 PNS_PROVIDER Provider; 00117 HANDLE LookupHandle; 00118 } NSQUERY_PROVIDER, *PNSQUERY_PROVIDER; 00119 00120 typedef struct _NSCATALOG_ENTRY 00121 { 00122 LIST_ENTRY CatalogLink; 00123 LONG RefCount; 00124 PNS_PROVIDER Provider; 00125 LONG AddressFamily; 00126 DWORD NamespaceId; 00127 DWORD Version; 00128 LPWSTR ProviderName; 00129 BOOLEAN Enabled; 00130 BOOLEAN StoresServiceClassInfo; 00131 GUID ProviderId; 00132 WCHAR DllPath[MAX_PATH]; 00133 } NSCATALOG_ENTRY, *PNSCATALOG_ENTRY; 00134 00135 typedef struct _NSCATALOG 00136 { 00137 LIST_ENTRY CatalogList; 00138 DWORD ItemCount; 00139 DWORD UniqueId; 00140 HKEY CatalogKey; 00141 RTL_CRITICAL_SECTION Lock; 00142 } NSCATALOG, *PNSCATALOG; 00143 00144 typedef struct _NSQUERY 00145 { 00146 DWORD Signature; 00147 LONG RefCount; 00148 BOOLEAN ShuttingDown; 00149 LIST_ENTRY ProviderList; 00150 PNSQUERY_PROVIDER ActiveProvider; 00151 RTL_CRITICAL_SECTION Lock; 00152 PNSQUERY_PROVIDER CurrentProvider; 00153 LPWSAQUERYSETW QuerySet; 00154 DWORD ControlFlags; 00155 PNSCATALOG Catalog; 00156 DWORD TryAgain; 00157 } NSQUERY, *PNSQUERY; 00158 00159 typedef struct _WSPROCESS 00160 { 00161 LONG RefCount; 00162 HANDLE ApcHelper; 00163 HANDLE HandleHelper; 00164 HANDLE NotificationHelper; 00165 PTCATALOG ProtocolCatalog; 00166 PNSCATALOG NamespaceCatalog; 00167 HANDLE ProtocolCatalogEvent; 00168 HANDLE NamespaceCatalogEvent; 00169 DWORD Version; 00170 BOOLEAN LockReady; 00171 RTL_CRITICAL_SECTION ThreadLock; 00172 } WSPROCESS, *PWSPROCESS; 00173 00174 typedef struct _WSTHREAD 00175 { 00176 PWSPROCESS Process; 00177 WSATHREADID WahThreadId; 00178 HANDLE AsyncHelper; 00179 LPWSPCANCELBLOCKINGCALL CancelBlockingCall; 00180 LPBLOCKINGCALLBACK BlockingCallback; 00181 FARPROC BlockingHook; 00182 BOOLEAN Blocking; 00183 BOOLEAN Cancelled; 00184 CHAR Buffer[32]; 00185 PCHAR Hostent; 00186 PCHAR Servent; 00187 DWORD HostentSize; 00188 DWORD ServentSize; 00189 DWORD OpenType; 00190 PVOID ProtocolInfo; 00191 } WSTHREAD, *PWSTHREAD; 00192 00193 typedef struct _WSSOCKET 00194 { 00195 LONG RefCount; 00196 HANDLE Handle; 00197 PWSPROCESS Process; 00198 PTPROVIDER Provider; 00199 PTCATALOG_ENTRY CatalogEntry; 00200 BOOLEAN Overlapped; 00201 BOOLEAN ApiSocket; 00202 BOOLEAN IsProvider; 00203 } WSSOCKET, *PWSSOCKET; 00204 00205 typedef struct _ENUM_CONTEXT 00206 { 00207 LPWSAQUERYSETW lpqsRestrictions; 00208 INT ErrorCode; 00209 PNSQUERY NsQuery; 00210 PNSCATALOG Catalog; 00211 } ENUM_CONTEXT, *PENUM_CONTEXT; 00212 00213 typedef struct _PROTOCOL_ENUM_CONTEXT 00214 { 00215 LPINT Protocols; 00216 LPWSAPROTOCOL_INFOW ProtocolBuffer; 00217 DWORD BufferLength; 00218 DWORD BufferUsed; 00219 DWORD Count; 00220 INT ErrorCode; 00221 } PROTOCOL_ENUM_CONTEXT, *PPROTOCOL_ENUM_CONTEXT; 00222 00223 typedef struct _WS_BUFFER 00224 { 00225 ULONG_PTR Position; 00226 SIZE_T MaxSize; 00227 SIZE_T BytesUsed; 00228 } WS_BUFFER, *PWS_BUFFER; 00229 00230 typedef BOOL 00231 (WINAPI *PNSCATALOG_ENUMERATE_PROC)( 00232 IN PVOID Context, 00233 IN PNSCATALOG_ENTRY Entry 00234 ); 00235 00236 typedef BOOL 00237 (WINAPI *PTCATALOG_ENUMERATE_PROC)( 00238 IN PVOID Context, 00239 IN PTCATALOG_ENTRY Entry 00240 ); 00241 00242 typedef BOOL 00243 (WINAPI *PWS_SOCK_POST_ROUTINE)( 00244 IN HWND hWnd, 00245 IN UINT wMsg, 00246 IN WPARAM wParam, 00247 IN LPARAM lParam 00248 ); 00249 00250 extern HINSTANCE WsDllHandle; 00251 extern HANDLE WsSockHeap; 00252 extern PWAH_HANDLE_TABLE WsSockHandleTable; 00253 extern PWSPROCESS CurrentWsProcess; 00254 extern DWORD GlobalTlsIndex; 00255 #define TlsIndex GlobalTlsIndex 00256 extern BOOLEAN WsAsyncThreadInitialized; 00257 extern PWS_SOCK_POST_ROUTINE WsSockPostRoutine; 00258 00259 LPSTR 00260 WSAAPI 00261 AnsiDupFromUnicode(IN LPWSTR UnicodeString); 00262 00263 LPWSTR 00264 WSAAPI 00265 UnicodeDupFromAnsi(IN LPSTR AnsiString); 00266 00267 VOID 00268 WSAAPI 00269 WsRasInitializeAutodial(VOID); 00270 00271 VOID 00272 WSAAPI 00273 WsRasUninitializeAutodial(VOID); 00274 00275 BOOL 00276 WSAAPI 00277 WSAttemptAutodialName(IN CONST LPWSAQUERYSETW lpqsRestrictions); 00278 00279 BOOL 00280 WSAAPI 00281 WSAttemptAutodialAddr( 00282 IN CONST SOCKADDR FAR *Name, 00283 IN INT NameLength 00284 ); 00285 00286 VOID 00287 WSAAPI 00288 WSNoteSuccessfulHostentLookup( 00289 IN CONST CHAR FAR *Name, 00290 IN CONST ULONG Address 00291 ); 00292 00293 INT 00294 WSAAPI 00295 MapUnicodeProtocolInfoToAnsi(IN LPWSAPROTOCOL_INFOW UnicodeInfo, 00296 OUT LPWSAPROTOCOL_INFOA AnsiInfo); 00297 00298 INT 00299 WSAAPI 00300 MapAnsiQuerySetToUnicode(IN LPWSAQUERYSETA AnsiSet, 00301 IN OUT PSIZE_T SetSize, 00302 OUT LPWSAQUERYSETW UnicodeSet); 00303 00304 INT 00305 WSAAPI 00306 MapUnicodeQuerySetToAnsi(OUT LPWSAQUERYSETW UnicodeSet, 00307 IN OUT PSIZE_T SetSize, 00308 IN LPWSAQUERYSETA AnsiSet); 00309 00310 INT 00311 WSAAPI 00312 CopyQuerySetW(IN LPWSAQUERYSETW UnicodeSet, 00313 OUT LPWSAQUERYSETW *UnicodeCopy); 00314 00315 INT 00316 WSAAPI 00317 WsSlowProlog(VOID); 00318 00319 INT 00320 WSAAPI 00321 WsSlowPrologTid(OUT LPWSATHREADID *ThreadId); 00322 00323 PWSSOCKET 00324 WSAAPI 00325 WsSockGetSocket(IN SOCKET Handle); 00326 00327 INT 00328 WSAAPI 00329 WsApiProlog(OUT PWSPROCESS *Process, 00330 OUT PWSTHREAD *Thread); 00331 00332 HKEY 00333 WSAAPI 00334 WsOpenRegistryRoot(VOID); 00335 00336 VOID 00337 WSAAPI 00338 WsCreateStartupSynchronization(VOID); 00339 00340 VOID 00341 WSAAPI 00342 WsDestroyStartupSynchronization(VOID); 00343 00344 INT 00345 WSAAPI 00346 WsSetupCatalogProtection(IN HKEY CatalogKey, 00347 IN HANDLE CatalogEvent, 00348 OUT LPDWORD UniqueId); 00349 00350 BOOL 00351 WSAAPI 00352 WsCheckCatalogState(IN HANDLE Event); 00353 00354 PNSCATALOG 00355 WSAAPI 00356 WsNcAllocate(VOID); 00357 00358 VOID 00359 WSAAPI 00360 WsNcDelete(IN PNSCATALOG Catalog); 00361 00362 INT 00363 WSAAPI 00364 WsNcInitializeFromRegistry(IN PNSCATALOG Catalog, 00365 IN HKEY ParentKey, 00366 IN HANDLE CatalogEvent); 00367 00368 INT 00369 WSAAPI 00370 WsNcRefreshFromRegistry(IN PNSCATALOG Catalog, 00371 IN HANDLE CatalogEvent); 00372 00373 VOID 00374 WSAAPI 00375 WsNcUpdateNamespaceList(IN PNSCATALOG Catalog, 00376 IN PLIST_ENTRY List); 00377 00378 BOOL 00379 WSAAPI 00380 WsNcMatchProtocols(IN DWORD NameSpace, 00381 IN LONG AddressFamily, 00382 IN LPWSAQUERYSETW QuerySet); 00383 00384 INT 00385 WSAAPI 00386 WsNcLoadProvider(IN PNSCATALOG Catalog, 00387 IN PNSCATALOG_ENTRY CatalogEntry); 00388 00389 INT 00390 WSAAPI 00391 WsNcGetCatalogFromProviderId(IN PNSCATALOG Catalog, 00392 IN LPGUID ProviderId, 00393 OUT PNSCATALOG_ENTRY *CatalogEntry); 00394 00395 VOID 00396 WSAAPI 00397 WsNcEnumerateCatalogItems(IN PNSCATALOG Catalog, 00398 IN PNSCATALOG_ENUMERATE_PROC Callback, 00399 IN PVOID Context); 00400 00401 INT 00402 WSAAPI 00403 WsNcGetServiceClassInfo(IN PNSCATALOG Catalog, 00404 IN OUT LPDWORD BugSize, 00405 IN OUT LPWSASERVICECLASSINFOW lpServiceClassInfo); 00406 00407 PNSCATALOG_ENTRY 00408 WSAAPI 00409 WsNcEntryAllocate(VOID); 00410 00411 INT 00412 WSAAPI 00413 WsNcEntryInitializeFromRegistry(IN PNSCATALOG_ENTRY CatalogEntry, 00414 IN HKEY ParentKey, 00415 IN ULONG UniqueId); 00416 00417 VOID 00418 WSAAPI 00419 WsNcEntryDereference(IN PNSCATALOG_ENTRY CatalogEntry); 00420 00421 VOID 00422 WSAAPI 00423 WsNcEntrySetProvider(IN PNSCATALOG_ENTRY Entry, 00424 IN PNS_PROVIDER Provider); 00425 00426 DWORD 00427 WSAAPI 00428 WsNqAddProvider( 00429 IN PNSQUERY NsQuery, 00430 IN PNS_PROVIDER Provider 00431 ); 00432 00433 PNSQUERY 00434 WSAAPI 00435 WsNqAllocate(VOID); 00436 00437 BOOL 00438 WSAAPI 00439 WsNqBeginEnumerationProc( 00440 PVOID Context, 00441 PNSCATALOG_ENTRY CatalogEntry 00442 ); 00443 00444 VOID 00445 WSAAPI 00446 WsNqDelete(IN PNSQUERY NsQuery); 00447 00448 DWORD 00449 WSAAPI 00450 WsNqInitialize(IN PNSQUERY NsQuery); 00451 00452 DWORD 00453 WSAAPI 00454 WsNqLookupServiceBegin( 00455 IN PNSQUERY NsQuery, 00456 IN LPWSAQUERYSETW QuerySet, 00457 IN DWORD ControlFlags, 00458 IN PNSCATALOG Catalog 00459 ); 00460 00461 DWORD 00462 WSAAPI 00463 WsNqLookupServiceEnd(IN PNSQUERY NsQuery); 00464 00465 DWORD 00466 WSAAPI 00467 WsNqLookupServiceNext( 00468 PNSQUERY NsQuery, 00469 DWORD, 00470 PDWORD, 00471 OUT LPWSAQUERYSETW QuerySet 00472 ); 00473 00474 PNSQUERY_PROVIDER 00475 WSAAPI 00476 WsNqNextProvider( 00477 PNSQUERY NsQuery, 00478 IN PNSQUERY_PROVIDER Provider 00479 ); 00480 00481 VOID 00482 WSAAPI 00483 WsNqDereference(IN PNSQUERY Query); 00484 00485 BOOL 00486 WSAAPI 00487 WsNqValidateAndReference(IN PNSQUERY Query); 00488 00489 PNSQUERY_PROVIDER 00490 WSAAPI 00491 WsNqPreviousProvider(IN PNSQUERY Query, 00492 IN PNSQUERY_PROVIDER Provider); 00493 00494 DWORD 00495 WSAAPI 00496 WsNqProvLookupServiceNext( 00497 IN PNSQUERY_PROVIDER QueryProvider, 00498 DWORD, 00499 PDWORD , 00500 LPWSAQUERYSETW QuerySet 00501 ); 00502 00503 DWORD 00504 WSAAPI 00505 WsNqProvLookupServiceEnd(IN PNSQUERY_PROVIDER QueryProvider); 00506 00507 DWORD 00508 WSAAPI 00509 WsNqProvInitialize( 00510 IN PNSQUERY_PROVIDER QueryProvider, 00511 IN PNS_PROVIDER Provider 00512 ); 00513 00514 PNSQUERY_PROVIDER 00515 WSAAPI 00516 WsNqProvAllocate(VOID); 00517 00518 VOID 00519 WSAAPI 00520 WsNqProvDelete(IN PNSQUERY_PROVIDER QueryProvider); 00521 00522 DWORD 00523 WSAAPI 00524 WsNqProvLookupServiceBegin( 00525 IN PNSQUERY_PROVIDER QueryProvider, 00526 IN LPWSAQUERYSETW QuerySet, 00527 IN LPWSASERVICECLASSINFOW ServiceClassInfo, 00528 IN DWORD 00529 ); 00530 00531 VOID 00532 WSAAPI 00533 WsNpDelete(IN PNS_PROVIDER Provider); 00534 00535 DWORD 00536 WSAAPI 00537 WsNpLookupServiceBegin ( 00538 IN PNS_PROVIDER Provider, 00539 IN LPWSAQUERYSETW Restrictions, 00540 struct _WSAServiceClassInfoW *, 00541 IN DWORD ControlFlags, 00542 OUT PHANDLE LookupHandle 00543 ); 00544 00545 DWORD 00546 WSAAPI 00547 WsNpNSPCleanup(IN PNS_PROVIDER Provider); 00548 00549 DWORD 00550 WSAAPI 00551 WsNpLookupServiceEnd( 00552 IN PNS_PROVIDER Provider, 00553 IN HANDLE LookupHandle 00554 ); 00555 00556 DWORD 00557 WSAAPI 00558 WsNpInitialize( 00559 IN PNS_PROVIDER Provider, 00560 IN LPWSTR DllPath, 00561 IN LPGUID ProviderGuid 00562 ); 00563 00564 PNS_PROVIDER 00565 WSAAPI 00566 WsNpAllocate(VOID); 00567 00568 VOID 00569 WSAAPI 00570 WsNpDereference(IN PNS_PROVIDER Provider); 00571 00572 DWORD 00573 WSAAPI 00574 WsNpLookupServiceNext( 00575 IN PNS_PROVIDER Provider, 00576 IN HANDLE LookupHandle, 00577 IN DWORD ControlFlags, 00578 OUT PDWORD BufferLength, 00579 OUT LPWSAQUERYSETW Results 00580 ); 00581 00582 VOID 00583 WSAAPI 00584 WsTpDelete(IN PTPROVIDER Provider); 00585 00586 DWORD 00587 WSAAPI 00588 WsTpWSPCleanup( 00589 IN PTPROVIDER Provider, 00590 int * 00591 ); 00592 00593 PTPROVIDER 00594 WSAAPI 00595 WsTpAllocate(VOID); 00596 00597 DWORD 00598 WSAAPI 00599 WsTpInitialize( 00600 IN PTPROVIDER Provider, 00601 IN LPSTR DllName, 00602 LPWSAPROTOCOL_INFOW ProtocolInfo 00603 ); 00604 00605 VOID 00606 WSAAPI 00607 WsTpDereference(IN PTPROVIDER Provider); 00608 00609 VOID 00610 WSAAPI 00611 WsThreadDelete(IN PWSTHREAD Thread); 00612 00613 VOID 00614 WSAAPI 00615 WsThreadDestroyCurrentThread(VOID); 00616 00617 DWORD 00618 WSAAPI 00619 WsThreadCreate( 00620 IN PWSPROCESS Process, 00621 IN PWSTHREAD *Thread 00622 ); 00623 00624 DWORD 00625 WSAAPI 00626 WsThreadGetCurrentThread( 00627 IN PWSPROCESS Process, 00628 IN PWSTHREAD *Thread 00629 ); 00630 00631 LPWSATHREADID 00632 WSAAPI 00633 WsThreadGetThreadId(IN PWSPROCESS Process); 00634 00635 DWORD 00636 WSAAPI 00637 WsThreadStartup(VOID); 00638 00639 VOID 00640 WSAAPI 00641 WsThreadCleanup(VOID); 00642 00643 DWORD 00644 WSAAPI 00645 WsThreadCancelBlockingCall(IN PWSTHREAD Thread); 00646 00647 DWORD 00648 WSAAPI 00649 WsThreadUnhookBlockingHook(IN PWSTHREAD Thread); 00650 00651 FARPROC 00652 WSAAPI 00653 WsThreadSetBlockingHook(IN PWSTHREAD Thread, 00654 IN FARPROC BlockingHook); 00655 00656 00657 PHOSTENT 00658 WSAAPI 00659 WsThreadBlobToHostent(IN PWSTHREAD Thread, 00660 IN LPBLOB Blob); 00661 00662 PSERVENT 00663 WSAAPI 00664 WsThreadBlobToServent(IN PWSTHREAD Thread, 00665 IN LPBLOB Blob); 00666 00667 PWSPROTO_BUFFER 00668 WSAAPI 00669 WsThreadGetProtoBuffer(IN PWSTHREAD Thread); 00670 00671 PWSTHREAD 00672 WSAAPI 00673 WsThreadAllocate(VOID); 00674 00675 DWORD 00676 WSAAPI 00677 WsThreadDefaultBlockingHook(VOID); 00678 00679 DWORD 00680 WSAAPI 00681 WsThreadInitialize( 00682 IN PWSTHREAD Thread, 00683 IN PWSPROCESS Process 00684 ); 00685 00686 DWORD 00687 WSAAPI 00688 WsTcFindIfsProviderForSocket(IN PTCATALOG TCatalog, SOCKET Socket); 00689 00690 DWORD 00691 WSAAPI 00692 WsTcEntryInitializeFromRegistry(IN PTCATALOG_ENTRY CatalogEntry, IN HKEY, unsigned long); 00693 00694 DWORD 00695 WSAAPI 00696 WsTcGetEntryFromAf(IN PTCATALOG TCatalog, IN INT AddressFamily, IN PTCATALOG_ENTRY *CatalogEntry); 00697 00698 PTCATALOG_ENTRY 00699 WSAAPI 00700 WsTcEntryAllocate(VOID); 00701 00702 VOID 00703 WSAAPI 00704 WsTcEntrySetProvider(IN PTCATALOG_ENTRY CatalogEntry, IN PTPROVIDER Provider); 00705 00706 DWORD 00707 WSAAPI 00708 WsTcRefreshFromRegistry(IN PTCATALOG TCatalog, PVOID); 00709 00710 BOOL 00711 WSAAPI 00712 WsTcOpen(IN PTCATALOG TCatalog, IN HKEY); 00713 00714 PTPROVIDER 00715 WSAAPI 00716 WsTcFindProvider(IN PTCATALOG TCatalog, IN LPGUID ProviderId); 00717 00718 VOID 00719 WSAAPI 00720 WsTcEnumerateCatalogItems(IN PTCATALOG Catalog, 00721 IN PTCATALOG_ENUMERATE_PROC Callback, 00722 IN PVOID Context); 00723 00724 VOID 00725 WSAAPI 00726 WsTcEntryDereference(IN PTCATALOG_ENTRY CatalogEntry); 00727 00728 PTCATALOG 00729 WSAAPI 00730 WsTcAllocate(VOID); 00731 00732 VOID 00733 WSAAPI 00734 WsTcDelete(IN PTCATALOG Catalog); 00735 00736 DWORD 00737 WSAAPI 00738 WsTcGetEntryFromTriplet(IN PTCATALOG TCatalog, IN INT AddressFamily, IN INT SocketType, IN INT Protocol, IN DWORD StartId, IN PTCATALOG_ENTRY *CatalogEntry); 00739 00740 VOID 00741 WSAAPI 00742 WsTcUpdateProtocolList(IN PTCATALOG TCatalog, PLIST_ENTRY ProtocolList); 00743 00744 VOID 00745 WSAAPI 00746 WsTcEntryDelete(IN PTCATALOG_ENTRY CatalogEntry); 00747 00748 DWORD 00749 WSAAPI 00750 WsTcGetEntryFromCatalogEntryId(IN PTCATALOG TCatalog, IN DWORD CatalogEntryId, IN PTCATALOG_ENTRY *CatalogEntry); 00751 00752 DWORD 00753 WSAAPI 00754 WsTcLoadProvider(IN PTCATALOG TCatalog, IN PTCATALOG_ENTRY CatalogEntry); 00755 00756 DWORD 00757 WSAAPI 00758 WsTcInitializeFromRegistry(IN PTCATALOG TCatalog, HKEY, PVOID); 00759 00760 INT 00761 WSAAPI 00762 WsSockStartup(VOID); 00763 00764 VOID 00765 WSAAPI 00766 WsSockCleanup(VOID); 00767 00768 BOOL 00769 WSAAPI 00770 WsSockDeleteSockets(IN LPVOID Context, 00771 IN PWAH_HANDLE Handle); 00772 00773 VOID 00774 WSAAPI 00775 WsSockDereference(IN PWSSOCKET Socket); 00776 00777 PWSSOCKET 00778 WSAAPI 00779 WsSockAllocate(VOID); 00780 00781 INT 00782 WSAAPI 00783 WsSockInitialize(IN PWSSOCKET Socket, 00784 IN PTCATALOG_ENTRY CatalogEntry); 00785 00786 INT 00787 WSAAPI 00788 WsSockAssociateHandle(IN PWSSOCKET Socket, 00789 IN SOCKET Handle, 00790 IN BOOLEAN IsProvider); 00791 00792 INT 00793 WSAAPI 00794 WsSockDisassociateHandle(IN PWSSOCKET Socket); 00795 00796 INT 00797 WSAAPI 00798 WsSockAddApiReference(IN SOCKET Handle); 00799 00800 PTCATALOG 00801 WSAAPI 00802 WsProcGetTCatalog(IN PWSPROCESS Process); 00803 00804 BOOL 00805 WSAAPI 00806 WsProcDetachSocket(IN PWSPROCESS Process, 00807 IN PWAH_HANDLE Handle); 00808 00809 INT 00810 WSAAPI 00811 WsProcGetAsyncHelper(IN PWSPROCESS Process, 00812 OUT PHANDLE Handle); 00813 00814 VOID 00815 WSAAPI 00816 WsProcDelete(IN PWSPROCESS Process); 00817 00818 INT 00819 WSAAPI 00820 WsProcStartup(VOID); 00821 00822 PNSCATALOG 00823 WSAAPI 00824 WsProcGetNsCatalog(IN PWSPROCESS Process); 00825 00826 VOID 00827 WSAAPI 00828 WsProcSetVersion(IN PWSPROCESS Process, 00829 IN WORD VersionRequested); 00830 00831 VOID 00832 WSAAPI 00833 WsAsyncQueueRequest(IN PWSASYNCBLOCK AsyncBlock); 00834 00835 BOOL 00836 WSAAPI 00837 WsAsyncCheckAndInitThread(VOID); 00838 00839 INT 00840 WSAAPI 00841 WsAsyncCancelRequest(IN HANDLE TaskHandle); 00842 00843 PWSASYNCBLOCK 00844 WSAAPI 00845 WsAsyncAllocateBlock(IN SIZE_T ExtraLength); 00846 00847 VOID 00848 WSAAPI 00849 WsAsyncTerminateThread(VOID); 00850 00851 VOID 00852 WSAAPI 00853 WsAsyncGlobalTerminate(VOID); 00854 00855 VOID 00856 WSAAPI 00857 WsAsyncGlobalInitialize(VOID); 00858 00859 FORCEINLINE 00860 PWSPROCESS 00861 WsGetProcess(VOID) 00862 { 00863 return CurrentWsProcess; 00864 } 00865 00866 FORCEINLINE 00867 DWORD 00868 WsQuickProlog(VOID) 00869 { 00870 /* Try to see if we're initialized. If not, do the full prolog */ 00871 return WsGetProcess() ? ERROR_SUCCESS : WsSlowProlog(); 00872 } 00873 00874 FORCEINLINE 00875 DWORD 00876 WsQuickPrologTid(LPWSATHREADID *Tid) 00877 { 00878 /* Try to see if we're initialized. If not, do the full prolog */ 00879 if ((WsGetProcess()) && (*Tid = WsThreadGetThreadId(WsGetProcess()))) 00880 { 00881 return ERROR_SUCCESS; 00882 } 00883 else 00884 { 00885 return WsSlowPrologTid(Tid); 00886 } 00887 } Generated on Fri May 25 2012 04:25:09 for ReactOS by
1.7.6.1
|