tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

dispatch_cfg_st.h (1102B)


      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-2021, The Tor Project, Inc. */
      5 /* See LICENSE for licensing information */
      6 
      7 /**
      8 * @file dispatch_cfg_st.h
      9 * @brief Declarations for dispatch-configuration types.
     10 **/
     11 
     12 #ifndef TOR_DISPATCH_CFG_ST_H
     13 #define TOR_DISPATCH_CFG_ST_H
     14 
     15 struct smartlist_t;
     16 
     17 /** Information needed to create a dispatcher, but in a less efficient, more
     18 * mutable format.
     19 *
     20 * Nearly everybody should use the \refdir{lib/pubsub} module to configure
     21 * dispatchers, instead of using this. */
     22 struct dispatch_cfg_t {
     23  /** A list of msg_type_id_t (cast to void*), indexed by msg_t. */
     24  struct smartlist_t *type_by_msg;
     25  /** A list of channel_id_t (cast to void*), indexed by msg_t. */
     26  struct smartlist_t *chan_by_msg;
     27  /** A list of dispatch_typefns_t, indexed by msg_type_id_t. */
     28  struct smartlist_t *fns_by_type;
     29  /** A list of dispatch_rcv_t, indexed by msg_t. */
     30  struct smartlist_t *recv_by_msg;
     31 };
     32 
     33 #endif /* !defined(TOR_DISPATCH_CFG_ST_H) */