dispatch_cfg_st.h 852 B

12345678910111213141516171819202122232425
  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-2018, The Tor Project, Inc. */
  5. /* See LICENSE for licensing information */
  6. #ifndef TOR_DISPATCH_CFG_ST_H
  7. #define TOR_DISPATCH_CFG_ST_H
  8. struct smartlist_t;
  9. /* Information needed to create a dispatcher, but in a less efficient, more
  10. * mutable format. */
  11. struct dispatch_cfg_t {
  12. /** A list of msg_type_id_t (cast to void*), indexed by msg_t. */
  13. struct smartlist_t *type_by_msg;
  14. /** A list of channel_id_t (cast to void*), indexed by msg_t. */
  15. struct smartlist_t *chan_by_msg;
  16. /** A list of dispatch_rcv_t, indexed by msg_type_id_t. */
  17. struct smartlist_t *fns_by_type;
  18. /** A list of dispatch_typefns_t, indexed by msg_t. */
  19. struct smartlist_t *recv_by_msg;
  20. };
  21. #endif