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.

104 lines
2.6 KiB

  1. /*++
  2. Copyright (c) 1989 - 1999 Microsoft Corporation
  3. Module Name:
  4. recursvc.h
  5. Abstract:
  6. Notes:
  7. Refer to recursvc.c
  8. --*/
  9. #ifndef _RECURSVC_H_
  10. #define _RECURSVC_H_
  11. extern NTSTATUS
  12. MRxSmbInitializeRecurrentServices();
  13. extern VOID
  14. MRxSmbTearDownRecurrentServices();
  15. #define RECURRENT_SERVICE_CANCELLED (0xcccccccc)
  16. #define RECURRENT_SERVICE_ACTIVE (0xaaaaaaaa)
  17. #define RECURRENT_SERVICE_DORMANT (0xdddddddd)
  18. #define RECURRENT_SERVICE_SHUTDOWN (0xffffffff)
  19. typedef
  20. NTSTATUS
  21. (NTAPI *PRECURRENT_SERVICE_ROUTINE) (
  22. IN PVOID Context
  23. );
  24. typedef struct _RECURRENT_SERVICE_CONTEXT_ {
  25. LONG State;
  26. NTSTATUS Status;
  27. LARGE_INTEGER Interval;
  28. RX_WORK_ITEM WorkItem;
  29. KEVENT CancelCompletionEvent;
  30. PRECURRENT_SERVICE_ROUTINE pServiceRoutine;
  31. PVOID pServiceRoutineParameter;
  32. } RECURRENT_SERVICE_CONTEXT, *PRECURRENT_SERVICE_CONTEXT;
  33. extern VOID
  34. MRxSmbInitializeRecurrentService(
  35. PRECURRENT_SERVICE_CONTEXT pRecurrentServiceContext,
  36. PRECURRENT_SERVICE_ROUTINE pServiceRoutine,
  37. PVOID pServiceRoutineParameter,
  38. PLARGE_INTEGER pTimeInterval);
  39. extern VOID
  40. MRxSmbCancelRecurrentService(
  41. PRECURRENT_SERVICE_CONTEXT pRecurrentServiceContext);
  42. extern NTSTATUS
  43. MRxSmbActivateRecurrentService(
  44. PRECURRENT_SERVICE_CONTEXT pRecurrentServiceContext);
  45. typedef struct _MRXSMB_ECHO_PROBE_SERVICE_CONTEXT_ {
  46. RECURRENT_SERVICE_CONTEXT RecurrentServiceContext;
  47. PVOID pEchoSmb;
  48. ULONG EchoSmbLength;
  49. } MRXSMB_ECHO_PROBE_SERVICE_CONTEXT, *PMRXSMB_ECHO_PROBE_SERVICE_CONTEXT;
  50. extern MRXSMB_ECHO_PROBE_SERVICE_CONTEXT MRxSmbEchoProbeServiceContext;
  51. extern NTSTATUS
  52. SmbCeProbeServers(
  53. PVOID pContext);
  54. extern NTSTATUS
  55. MRxSmbInitializeEchoProbeService(
  56. PMRXSMB_ECHO_PROBE_SERVICE_CONTEXT pEchoProcessingContext);
  57. extern VOID
  58. MRxSmbTearDownEchoProbeService(
  59. PMRXSMB_ECHO_PROBE_SERVICE_CONTEXT pEchoProcessingContext);
  60. typedef struct _MRXSMB_SCAVENGER_SERVICE_CONTEXT_ {
  61. RECURRENT_SERVICE_CONTEXT RecurrentServiceContext;
  62. SMBCE_V_NET_ROOT_CONTEXTS VNetRootContexts;
  63. } MRXSMB_SCAVENGER_SERVICE_CONTEXT, *PMRXSMB_SCAVENGER_SERVICE_CONTEXT;
  64. extern MRXSMB_SCAVENGER_SERVICE_CONTEXT MRxSmbScavengerServiceContext;
  65. extern NTSTATUS
  66. MRxSmbInitializeScavengerService(
  67. PMRXSMB_SCAVENGER_SERVICE_CONTEXT pScavengerServiceContext);
  68. extern VOID
  69. MRxSmbTearDownScavengerService(
  70. PMRXSMB_SCAVENGER_SERVICE_CONTEXT pScavengerServiceContext);
  71. extern NTSTATUS
  72. SmbCeScavenger(
  73. PVOID pContext);
  74. #endif