Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
1.1 KiB

  1. #ifndef __ICASYNC_HXX__
  2. #define __ICASYNC_HXX__ 1
  3. /*
  4. * add in icasync.hxx
  5. */
  6. #define TP_NO_TIMEOUT 0xffffffff
  7. #define TP_NO_PRIORITY_CHANGE (-1)
  8. //
  9. // prototypes
  10. //
  11. #if defined(__cplusplus)
  12. extern "C" {
  13. #endif
  14. DWORD
  15. InitializeAsyncSupport(
  16. VOID
  17. );
  18. VOID
  19. TerminateAsyncSupport(
  20. BOOL bCleanUp=FALSE
  21. );
  22. DWORD
  23. QueueSocketWorkItem(
  24. IN CFsm * WorkItem,
  25. IN SOCKET Socket
  26. );
  27. DWORD
  28. QueueTimeoutFsm(
  29. IN CFsm * pFsm,
  30. IN SOCKET Socket,
  31. IN BOOL bResolveTimeoutQueue=FALSE
  32. );
  33. DWORD
  34. BlockWorkItem(
  35. IN CFsm * WorkItem,
  36. IN DWORD_PTR dwBlockId,
  37. IN DWORD dwTimeout = TP_NO_TIMEOUT
  38. );
  39. DWORD
  40. CheckForBlockedWorkItems(
  41. IN DWORD dwCount,
  42. IN DWORD_PTR dwBlockId
  43. );
  44. DWORD
  45. UnblockWorkItems(
  46. IN DWORD dwCount,
  47. IN DWORD_PTR dwBlockId,
  48. IN DWORD dwError,
  49. IN LONG lPriority = TP_NO_PRIORITY_CHANGE
  50. );
  51. #ifdef USE_OLD_SENDRECV_SYNC
  52. BOOL
  53. RemoveFsmFromAsyncList(
  54. IN CFsm* pFsm
  55. );
  56. #endif
  57. #if defined(__cplusplus)
  58. }
  59. #endif
  60. #endif // __ICASYNC_HXX__