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.

90 lines
2.0 KiB

  1. /*++
  2. Copyright (c) 1998 - 2000 Microsoft Corporation
  3. Module Name:
  4. cblist.h
  5. Abstract:
  6. Declarations of methods for CALL_BRIDGE_LIST container.
  7. Revision History:
  8. 1. 31-Jul-1998 -- File creation Ajay Chitturi (ajaych)
  9. 2. 15-Jul-1999 -- Arlie Davis (arlied)
  10. 3. 14-Feb-2000 -- Added method to remove call Ilya Kleyman (ilyak)
  11. bridges by connected interface
  12. --*/
  13. #ifndef __h323ics_cblist_h
  14. #define __h323ics_cblist_h
  15. #define MAX_NUM_CALL_BRIDGES 50000 // Maximum number of concurrent connections
  16. ///////////////////////////////////////////////////////////////////////////////
  17. // //
  18. // Public prototypes //
  19. // //
  20. ///////////////////////////////////////////////////////////////////////////////
  21. struct CALL_BRIDGE_ENTRY
  22. {
  23. CALL_BRIDGE * CallBridge;
  24. };
  25. DECLARE_SEARCH_FUNC_CAST(CALL_BRIDGE, CALL_BRIDGE_ENTRY);
  26. class CALL_BRIDGE_LIST :
  27. public SIMPLE_CRITICAL_SECTION_BASE
  28. {
  29. private:
  30. DYNAMIC_ARRAY <CALL_BRIDGE_ENTRY> CallArray;
  31. BOOL IsEnabled;
  32. static
  33. INT
  34. BinarySearchFunc (
  35. IN const CALL_BRIDGE *,
  36. IN const CALL_BRIDGE_ENTRY *
  37. );
  38. public:
  39. CALL_BRIDGE_LIST (
  40. void
  41. );
  42. ~CALL_BRIDGE_LIST (
  43. void
  44. );
  45. void
  46. Start (
  47. void
  48. );
  49. void
  50. Stop (
  51. void
  52. );
  53. HRESULT
  54. InsertCallBridge (
  55. IN CALL_BRIDGE *
  56. );
  57. HRESULT
  58. RemoveCallBridge(
  59. IN CALL_BRIDGE *);
  60. void
  61. OnInterfaceShutdown (
  62. IN DWORD InterfaceAddress // host order
  63. );
  64. }; // CALL_BRIDGE_LIST
  65. extern CALL_BRIDGE_LIST CallBridgeList;
  66. #endif // __h323ics_cblist_h