or_sys.c 925 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /* Copyright (c) 2001 Matej Pfajfar.
  2. * Copyright (c) 2001-2004, Roger Dingledine.
  3. * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
  4. * Copyright (c) 2007-2019, The Tor Project, Inc. */
  5. /* See LICENSE for licensing information */
  6. /**
  7. * @file or_sys.c
  8. * @brief Subsystem definitions for OR module.
  9. **/
  10. #include "orconfig.h"
  11. #include "core/or/or.h"
  12. #include "core/or/or_periodic.h"
  13. #include "core/or/or_sys.h"
  14. #include "core/or/policies.h"
  15. #include "core/or/protover.h"
  16. #include "core/or/versions.h"
  17. #include "lib/subsys/subsys.h"
  18. static int
  19. subsys_or_initialize(void)
  20. {
  21. or_register_periodic_events();
  22. return 0;
  23. }
  24. static void
  25. subsys_or_shutdown(void)
  26. {
  27. protover_free_all();
  28. protover_summary_cache_free_all();
  29. policies_free_all();
  30. }
  31. const struct subsys_fns_t sys_or = {
  32. .name = "or",
  33. .supported = true,
  34. .level = 20,
  35. .initialize = subsys_or_initialize,
  36. .shutdown = subsys_or_shutdown,
  37. };