Source code of Windows XP (NT5)
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.

141 lines
3.3 KiB

  1. /*++
  2. Copyright (c) 1999-2000 Microsoft Corporation
  3. File Name:
  4. ssdpfunc.h
  5. Abstract:
  6. This file contains cross files function prototypes.
  7. Author: Ting Cai
  8. Created: 07/15/1999
  9. --*/
  10. #ifndef _SSDPFUNC_
  11. #define _SSDPFUNC_
  12. #include "ssdptypes.h"
  13. #include "ssdpnetwork.h"
  14. // list related functions
  15. /*
  16. VOID InitializeListAnnounce();
  17. VOID CleanupListAnnounce();
  18. BOOL FIsInListAnnounce(CHAR *szUSN);
  19. SSDP_SERVICE *PsvcFindInListAnnounce(CHAR *szUSN);
  20. PCONTEXT_HANDLE_TYPE *GetServiceByUSN(CHAR *szUSN);
  21. VOID SearchListAnnounce(SSDP_REQUEST *SsdpMessage, SOCKADDR_IN *RemoveAddress);
  22. PSSDP_SERVICE AddToListAnnounce(SSDP_MESSAGE *pssdpMsg, DWORD flags,
  23. PCONTEXT_HANDLE_TYPE *pphContext);
  24. VOID RemoveFromListAnnounce(SSDP_SERVICE *pssdpSvc);
  25. VOID StartAnnounceTimer(SSDP_SERVICE *pssdpSvc, CTETimerRtn pCallback);
  26. VOID StopAnnounceTimer(SSDP_SERVICE *pssdpSvc);
  27. VOID SendAnnouncement(SSDP_SERVICE *pssdpService, SOCKET socket);
  28. VOID SendByebye(SSDP_SERVICE *pssdpService, SOCKET socket);
  29. VOID AnnounceTimerProc (CTETimer *Timer, VOID *Arg);
  30. VOID ByebyeTimerProc (CTETimer *Timer, VOID *Arg);
  31. VOID FreeSSDPService(SSDP_SERVICE *pSSDPSvc);
  32. */
  33. // rpc related functions
  34. INT RpcServerStart();
  35. INT RpcServerStop();
  36. // Parser
  37. /*
  38. BOOL ComposeSSDPNotify(SSDP_SERVICE *pssdpSvc, BOOL fAlive);
  39. */
  40. /*
  41. BOOL InitializeSearchResponseFromRequest(PSSDP_SEARCH_RESPONSE pSearchResponse,
  42. SSDP_REQUEST *SsdpRequest,
  43. SOCKADDR_IN *RemoveSocket);
  44. VOID CALLBACK SearchResponseTimerProc (LPVOID pvParam, BOOL fTimedOut);
  45. VOID StartSearchResponseTimer(PSSDP_SEARCH_RESPONSE ResponseEntry);
  46. VOID RemoveFromListSearchResponse(PSSDP_SEARCH_RESPONSE ResponseEntry);
  47. VOID CleanupAnnounceEntry (SSDP_SERVICE *pService);
  48. VOID CleanupListSearchResponse(PLIST_ENTRY pListHead);
  49. INT RegisterSsdpService ();
  50. */
  51. // Cache
  52. /*
  53. VOID InitializeListCache();
  54. VOID CleanupListCache();
  55. VOID DestroyListCache();
  56. BOOL UpdateListCache(SSDP_REQUEST *SsdpRequest, BOOL IsSubscribed);
  57. INT SearchListCache(CHAR *szType, MessageList **svcList);
  58. VOID InitializeListNotify();
  59. VOID CleanupListNotify();
  60. VOID AddToListNotify(PSSDP_NOTIFY_REQUEST NotifyRequest);
  61. VOID RemoveFromListNotify(PSSDP_NOTIFY_REQUEST NotifyRequest);
  62. PSSDP_NOTIFY_REQUEST CreateNotifyRequest(NOTIFY_TYPE nt, CHAR *szType,
  63. CHAR *szEventUrl,
  64. HANDLE NotifySemaphore);
  65. VOID CheckListNotifyForEvent(SSDP_REQUEST *SsdpRequest);
  66. VOID CheckListNotifyForAliveByebye(SSDP_REQUEST *SsdpRequest);
  67. BOOL IsMatchingAliveByebye(PSSDP_NOTIFY_REQUEST pNotifyRequest,
  68. SSDP_REQUEST *pSsdpRequest);
  69. BOOL QueuePendingNotification(PSSDP_NOTIFY_REQUEST pNotifyRequest,
  70. PSSDP_REQUEST pSsdpRequest);
  71. BOOL IsAliveByebyeInListNotify(SSDP_REQUEST *SsdpRequest);
  72. INT RetrievePendingNotification(HANDLE SyncHandle, MessageList **svcList);
  73. VOID CleanupClientNotificationRequest(HANDLE SyncSemaphore);
  74. VOID CheckListCacheForNotification(PSSDP_NOTIFY_REQUEST pNotifyRequest);
  75. VOID FreeNotifyRequest(PSSDP_NOTIFY_REQUEST NotifyRequest);
  76. */
  77. /*
  78. VOID ProcessSsdpRequest(PSSDP_REQUEST pSsdpRequest, RECEIVE_DATA *pData);
  79. */
  80. /*
  81. VOID GetNotifyLock();
  82. VOID FreeNotifyLock();
  83. */
  84. #endif // _SSDPFUNC_