ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

ws2_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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.