control_fmt.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536
  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 control_fmt.h
  8. * \brief Header file for control_fmt.c.
  9. **/
  10. #ifndef TOR_CONTROL_FMT_H
  11. #define TOR_CONTROL_FMT_H
  12. void connection_write_str_to_buf(const char *s, control_connection_t *conn);
  13. void connection_printf_to_buf(control_connection_t *conn,
  14. const char *format, ...)
  15. CHECK_PRINTF(2,3);
  16. int write_stream_target_to_buf(entry_connection_t *conn, char *buf,
  17. size_t len);
  18. void orconn_target_get_name(char *buf, size_t len,
  19. or_connection_t *conn);
  20. char *circuit_describe_status_for_controller(origin_circuit_t *circ);
  21. size_t write_escaped_data(const char *data, size_t len, char **out);
  22. size_t read_escaped_data(const char *data, size_t len, char **out);
  23. const char *extract_escaped_string(const char *start, size_t in_len_max,
  24. char **out, size_t *out_len);
  25. const char *decode_escaped_string(const char *start, size_t in_len_max,
  26. char **out, size_t *out_len);
  27. void send_control_done(control_connection_t *conn);
  28. MOCK_DECL(const char *, node_describe_longname_by_id,(const char *id_digest));
  29. #endif /* !defined(TOR_CONTROL_FMT_H) */