Browse Source

File-level summary documentation for src/lib/*/*.[ch]

Nick Mathewson 5 years ago
parent
commit
4f42c923d6
84 changed files with 428 additions and 27 deletions
  1. 6 0
      src/lib/cc/compat_compiler.h
  2. 2 7
      src/lib/cc/torint.h
  3. 5 0
      src/lib/crypt_ops/crypto_curve25519.h
  4. 5 0
      src/lib/crypt_ops/crypto_ed25519.h
  5. 5 0
      src/lib/crypt_ops/crypto_format.h
  6. 1 1
      src/lib/crypt_ops/crypto_openssl_mgt.c
  7. 2 2
      src/lib/crypt_ops/crypto_openssl_mgt.h
  8. 9 0
      src/lib/defs/dh_sizes.h
  9. 9 0
      src/lib/defs/x25519_sizes.h
  10. 5 0
      src/lib/evloop/compat_libevent.h
  11. 5 1
      src/lib/evloop/timers.h
  12. 2 3
      src/lib/evloop/token_bucket.h
  13. 5 0
      src/lib/evloop/workqueue.h
  14. 5 0
      src/lib/log/escape.c
  15. 5 0
      src/lib/log/escape.h
  16. 5 0
      src/lib/log/ratelim.c
  17. 5 0
      src/lib/log/ratelim.h
  18. 5 0
      src/lib/log/win32err.c
  19. 5 0
      src/lib/log/win32err.h
  20. 5 0
      src/lib/net/buffers_net.c
  21. 5 0
      src/lib/net/gethostname.c
  22. 5 0
      src/lib/net/gethostname.h
  23. 5 0
      src/lib/net/ipv4.c
  24. 4 0
      src/lib/net/ipv4.h
  25. 7 0
      src/lib/net/ipv6.c
  26. 5 0
      src/lib/net/ipv6.h
  27. 5 0
      src/lib/net/nettypes.h
  28. 5 0
      src/lib/net/resolve.c
  29. 5 0
      src/lib/net/resolve.h
  30. 6 0
      src/lib/net/socket.c
  31. 5 0
      src/lib/net/socket.h
  32. 10 0
      src/lib/net/socks5_status.h
  33. 5 0
      src/lib/osinfo/uname.c
  34. 9 0
      src/lib/osinfo/uname.h
  35. 5 0
      src/lib/process/daemon.c
  36. 5 0
      src/lib/process/daemon.h
  37. 5 0
      src/lib/process/env.c
  38. 5 0
      src/lib/process/env.h
  39. 5 0
      src/lib/process/pidfile.c
  40. 5 0
      src/lib/process/pidfile.h
  41. 5 0
      src/lib/process/restrict.c
  42. 2 2
      src/lib/process/restrict.h
  43. 5 0
      src/lib/process/setuid.c
  44. 5 0
      src/lib/process/setuid.h
  45. 5 0
      src/lib/process/subprocess.c
  46. 5 0
      src/lib/process/subprocess.h
  47. 2 4
      src/lib/process/waitpid.c
  48. 5 0
      src/lib/smartlist_core/smartlist_core.h
  49. 5 0
      src/lib/smartlist_core/smartlist_foreach.h
  50. 5 0
      src/lib/smartlist_core/smartlist_split.c
  51. 5 0
      src/lib/smartlist_core/smartlist_split.h
  52. 5 0
      src/lib/string/compat_ctype.c
  53. 5 0
      src/lib/string/compat_ctype.h
  54. 6 0
      src/lib/string/compat_string.c
  55. 5 0
      src/lib/string/compat_string.h
  56. 5 0
      src/lib/string/parse_int.c
  57. 5 0
      src/lib/string/parse_int.h
  58. 5 0
      src/lib/string/printf.c
  59. 5 0
      src/lib/string/printf.h
  60. 5 0
      src/lib/string/scanf.c
  61. 5 0
      src/lib/string/scanf.h
  62. 5 0
      src/lib/string/util_string.c
  63. 5 0
      src/lib/string/util_string.h
  64. 5 0
      src/lib/term/getpass.c
  65. 5 0
      src/lib/term/getpass.h
  66. 14 1
      src/lib/testsupport/testsupport.h
  67. 5 0
      src/lib/thread/numcpus.c
  68. 5 0
      src/lib/thread/numcpus.h
  69. 5 0
      src/lib/thread/threads.h
  70. 5 0
      src/lib/time/tvdiff.c
  71. 5 0
      src/lib/time/tvdiff.h
  72. 5 0
      src/lib/tls/buffers_tls.c
  73. 5 1
      src/lib/tls/buffers_tls.h
  74. 5 0
      src/lib/trace/debug.h
  75. 7 1
      src/lib/trace/trace.c
  76. 5 1
      src/lib/trace/trace.h
  77. 5 0
      src/lib/wallclock/approx_time.c
  78. 5 0
      src/lib/wallclock/approx_time.h
  79. 0 0
      src/lib/wallclock/timeval.c
  80. 7 0
      src/lib/wallclock/timeval.h
  81. 5 0
      src/lib/wallclock/tm_cvt.c
  82. 5 0
      src/lib/wallclock/tm_cvt.h
  83. 3 3
      src/lib/wallclock/tor_gettimeofday.c
  84. 5 0
      src/lib/wallclock/tor_gettimeofday.h

+ 6 - 0
src/lib/cc/compat_compiler.h

@@ -3,6 +3,12 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file compat_compiler.h
+ * \brief Utility macros to handle different features and behavior in different
+ *    compilers.
+ **/
+
 #ifndef TOR_COMPAT_COMPILER_H
 #define TOR_COMPAT_COMPILER_H
 

+ 2 - 7
src/lib/cc/torint.h

@@ -5,18 +5,13 @@
 
 /**
  * \file torint.h
- * \brief Header file to define uint32_t and friends
+ *
+ * \brief Integer definitions used throughout Tor.
  **/
 
 #ifndef TOR_TORINT_H
 #define TOR_TORINT_H
 
-/**
- * \file torint.h
- *
- * \brief Integer definitions used throughout Tor.
- **/
-
 #include "orconfig.h"
 
 #include <stdint.h>

+ 5 - 0
src/lib/crypt_ops/crypto_curve25519.h

@@ -1,6 +1,11 @@
 /* Copyright (c) 2012-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file crypto_curve25519.h
+ * \brief Header for crypto_curve25519.c
+ **/
+
 #ifndef TOR_CRYPTO_CURVE25519_H
 #define TOR_CRYPTO_CURVE25519_H
 

+ 5 - 0
src/lib/crypt_ops/crypto_ed25519.h

@@ -1,6 +1,11 @@
 /* Copyright (c) 2012-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file crypto_ed25519.h
+ * \brief Header for crypto_ed25519.c
+ **/
+
 #ifndef TOR_CRYPTO_ED25519_H
 #define TOR_CRYPTO_ED25519_H
 

+ 5 - 0
src/lib/crypt_ops/crypto_format.h

@@ -4,6 +4,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file crypto_format.h
+ * \brief Header for crypto_format.c
+ **/
+
 #ifndef TOR_CRYPTO_FORMAT_H
 #define TOR_CRYPTO_FORMAT_H
 

+ 1 - 1
src/lib/crypt_ops/crypto_openssl_mgt.c

@@ -5,7 +5,7 @@
 /* See LICENSE for licensing information */
 
 /**
- * \file crypto_openssl.c
+ * \file crypto_openssl_mgt.c
  *
  * \brief Block of functions related to operations from OpenSSL.
  **/

+ 2 - 2
src/lib/crypt_ops/crypto_openssl_mgt.h

@@ -5,9 +5,9 @@
 /* See LICENSE for licensing information */
 
 /**
- * \file crypto_openssl.h
+ * \file crypto_openssl_mgt.h
  *
- * \brief Headers for crypto_openssl.c
+ * \brief Headers for crypto_openssl_mgt.c
  **/
 
 #ifndef TOR_CRYPTO_OPENSSL_H

+ 9 - 0
src/lib/defs/dh_sizes.h

@@ -4,6 +4,15 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file dh_sizes.h
+
+ * \brief Definitions for sizes of Diffie-Hellman groups elements in Z_p.
+ *
+ * Tor uses these definitions throughout its codebase, even in parts that
+ * don't actually do any Diffie-Hellman calculations.
+ **/
+
 #ifndef TOR_DH_SIZES_H
 #define TOR_DH_SIZES_H
 

+ 9 - 0
src/lib/defs/x25519_sizes.h

@@ -4,6 +4,15 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file x25519_sizes.h
+
+ * \brief Definitions for sizes of x25519 keys and elements.
+ *
+ * Tor uses these definitions throughout its codebase, even in parts that
+ * don't actually do any x25519 calculations.
+ **/
+
 #ifndef TOR_X25519_SIZES_H
 #define TOR_X25519_SIZES_H
 

+ 5 - 0
src/lib/evloop/compat_libevent.h

@@ -1,6 +1,11 @@
 /* Copyright (c) 2009-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file compat_libevent.h
+ * \brief Header for compat_libevent.c
+ **/
+
 #ifndef TOR_COMPAT_LIBEVENT_H
 #define TOR_COMPAT_LIBEVENT_H
 

+ 5 - 1
src/lib/evloop/timers.h

@@ -1,6 +1,11 @@
 /* Copyright (c) 2016-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file timers.h
+ * \brief Header for timers.c
+ **/
+
 #ifndef TOR_TIMERS_H
 #define TOR_TIMERS_H
 
@@ -28,4 +33,3 @@ STATIC void timers_run_pending(void);
 #endif
 
 #endif /* !defined(TOR_TIMERS_H) */
-

+ 2 - 3
src/lib/evloop/token_bucket.h

@@ -2,8 +2,8 @@
 /* See LICENSE for licensing information */
 
 /**
- * \file token_bucket_rw.h
- * \brief Headers for token_bucket_rw.c
+ * \file token_bucket.h
+ * \brief Headers for token_bucket.c
  **/
 
 #ifndef TOR_TOKEN_BUCKET_H
@@ -115,4 +115,3 @@ STATIC uint32_t rate_per_sec_to_rate_per_step(uint32_t rate);
 #endif
 
 #endif /* TOR_TOKEN_BUCKET_H */
-

+ 5 - 0
src/lib/evloop/workqueue.h

@@ -1,6 +1,11 @@
 /* Copyright (c) 2013-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file workqueue.h
+ * \brief Header for workqueue.c
+ **/
+
 #ifndef TOR_WORKQUEUE_H
 #define TOR_WORKQUEUE_H
 

+ 5 - 0
src/lib/log/escape.c

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file escape.c
+ * \brief Escape untrusted strings before sending them to the log.
+ **/
+
 #include "lib/log/escape.h"
 #include "lib/log/util_bug.h"
 #include "lib/string/compat_ctype.h"

+ 5 - 0
src/lib/log/escape.h

@@ -4,6 +4,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file escape.h
+ * \brief Header for escape.c
+ **/
+
 #ifndef TOR_ESCAPE_H
 #define TOR_ESCAPE_H
 

+ 5 - 0
src/lib/log/ratelim.c

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file ratelim.c
+ * \brief Summarize similar messages that would otherwise flood the logs.
+ **/
+
 #include "lib/log/ratelim.h"
 #include "lib/malloc/util_malloc.h"
 #include "lib/string/printf.h"

+ 5 - 0
src/lib/log/ratelim.h

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file ratelim.h
+ * \brief Summarize similar messages that would otherwise flood the logs.
+ **/
+
 #ifndef TOR_RATELIM_H
 #define TOR_RATELIM_H
 

+ 5 - 0
src/lib/log/win32err.c

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file win32err.c
+ * \brief Convert windows error codes to useful C strings.
+ **/
+
 #ifdef _WIN32
 #include "orconfig.h"
 #include "lib/log/win32err.h"

+ 5 - 0
src/lib/log/win32err.h

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file win32err.h
+ * \brief Header for win32err.c
+ **/
+
 #ifndef TOR_WIN32ERR_H
 #define TOR_WIN32ERR_H
 

+ 5 - 0
src/lib/net/buffers_net.c

@@ -4,6 +4,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file buffers_net.c
+ * \brief Read and write data on a buf_t object.
+ **/
+
 #define BUFFERS_PRIVATE
 #include "lib/net/buffers_net.h"
 #include "lib/container/buffers.h"

+ 5 - 0
src/lib/net/gethostname.c

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file gethostname.c
+ * \brief Mockable wrapper for gethostname().
+ */
+
 #include "orconfig.h"
 #include "lib/net/gethostname.h"
 

+ 5 - 0
src/lib/net/gethostname.h

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file gethostname.h
+ * \brief Header for gethostname.c
+ **/
+
 #ifndef TOR_GETHOSTNAME_H
 #define TOR_GETHOSTNAME_H
 

+ 5 - 0
src/lib/net/ipv4.c

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file ipv4.c
+ * \brief Functions for encoding and decoding IPv4 addresses into strings
+ **/
+
 #include "orconfig.h"
 #include "lib/cc/torint.h"
 #include "lib/net/ipv4.h"

+ 4 - 0
src/lib/net/ipv4.h

@@ -3,6 +3,10 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file ipv4.h
+ * \brief Header for ipv4.c
+ **/
 #ifndef TOR_IPV4_H
 #define TOR_IPV4_H
 

+ 7 - 0
src/lib/net/ipv6.c

@@ -3,6 +3,13 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file ipv6.c
+ * \brief Functions for encoding and decoding IPv6 addresses
+ *
+ * (Because these functions are generic, they can also handle IPv4 addresses).
+ **/
+
 #include "lib/net/ipv6.h"
 #include "lib/net/ipv4.h"
 #include "lib/string/util_string.h"

+ 5 - 0
src/lib/net/ipv6.h

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file ipv6.h
+ * \brief Header for ipv6.c
+ **/
+
 #ifndef TOR_IPV6_H
 #define TOR_IPV6_H
 

+ 5 - 0
src/lib/net/nettypes.h

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file nettypes.h
+ * \brief Declarations for types used throughout the Tor networking system
+ **/
+
 #ifndef TOR_NET_TYPES_H
 #define TOR_NET_TYPES_H
 

+ 5 - 0
src/lib/net/resolve.c

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file resolve.c
+ * \brief Use the libc DNS resolver to convert hostnames into addresses.
+ **/
+
 #include "lib/net/resolve.h"
 #include "lib/net/address.h"
 #include "lib/malloc/util_malloc.h"

+ 5 - 0
src/lib/net/resolve.h

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file resolve.h
+ * \brief Header for resolve.c
+ **/
+
 #ifndef TOR_RESOLVE_H
 #define TOR_RESOLVE_H
 

+ 6 - 0
src/lib/net/socket.c

@@ -3,6 +3,12 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file socket.c
+ * \brief Compatibility and utility functions for working with network
+ *    sockets.
+ **/
+
 #define SOCKET_PRIVATE
 #include "lib/net/socket.h"
 #include "lib/net/address.h"

+ 5 - 0
src/lib/net/socket.h

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file socket.h
+ * \brief Header for socket.c
+ **/
+
 #ifndef TOR_SOCKET_H
 #define TOR_SOCKET_H
 

+ 10 - 0
src/lib/net/socks5_status.h

@@ -3,6 +3,16 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file socks5_status.h
+ * \brief Status codes used by the SOCKS5 protocol.
+ **/
+
+/* NOTE: it probably isn't necessary to put this header in lib/net, but
+ * we need it in _some_ lower-level layer for now, since it is used by
+ * tools/tor-resolve.c.
+ */
+
 #ifndef TOR_SOCKS5_STATUS_H
 #define TOR_SOCKS5_STATUS_H
 

+ 5 - 0
src/lib/osinfo/uname.c

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file uname.c
+ * \brief Look up a description of the operating system.
+ **/
+
 #include "orconfig.h"
 #include "lib/osinfo/uname.h"
 

+ 9 - 0
src/lib/osinfo/uname.h

@@ -1,3 +1,12 @@
+/* Copyright (c) 2003-2004, Roger Dingledine
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file uname.h
+ * \brief Header for uname.c
+ **/
 
 #ifndef HAVE_TOR_UNAME_H
 #define HAVE_TOR_UNAME_H

+ 5 - 0
src/lib/process/daemon.c

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file daemon.c
+ * \brief Run the tor process in the background (unix only)
+ **/
+
 #include "orconfig.h"
 #include "lib/process/daemon.h"
 

+ 5 - 0
src/lib/process/daemon.h

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file daemon.h
+ * \brief Header for daemon.c
+ **/
+
 #ifndef TOR_DAEMON_H
 #define TOR_DAEMON_H
 

+ 5 - 0
src/lib/process/env.c

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file env.c
+ * \brief Inspect and manipulate the environment variables.
+ **/
+
 #include "orconfig.h"
 #include "lib/process/env.h"
 

+ 5 - 0
src/lib/process/env.h

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file env.h
+ * \brief Header for env.c
+ **/
+
 #ifndef TOR_ENV_H
 #define TOR_ENV_H
 

+ 5 - 0
src/lib/process/pidfile.c

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file pidfile.c
+ * \brief Record this process's PID to disk.
+ **/
+
 #include "orconfig.h"
 #include "lib/process/pidfile.h"
 

+ 5 - 0
src/lib/process/pidfile.h

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file pidfile.h
+ * \brief Header for pidfile.c
+ **/
+
 #ifndef TOR_PIDFILE_H
 #define TOR_PIDFILE_H
 

+ 5 - 0
src/lib/process/restrict.c

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file restrict.c
+ * \brief Drop privileges from the current process.
+ **/
+
 #include "orconfig.h"
 #include "lib/process/restrict.h"
 #include "lib/intmath/cmp.h"

+ 2 - 2
src/lib/process/restrict.h

@@ -4,8 +4,8 @@
 /* See LICENSE for licensing information */
 
 /**
- * \file waitpid.h
- * \brief Headers for waitpid.c
+ * \file restrict.h
+ * \brief Header for restrict.c
  **/
 
 #ifndef TOR_RESTRICT_H

+ 5 - 0
src/lib/process/setuid.c

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file setuid.c
+ * \brief Change the user ID after Tor has started (Unix only)
+ **/
+
 #include "orconfig.h"
 #include "lib/process/setuid.h"
 

+ 5 - 0
src/lib/process/setuid.h

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file setuid.h
+ * \brief Header for setuid.c
+ **/
+
 #ifndef TOR_SETUID_H
 #define TOR_SETUID_H
 

+ 5 - 0
src/lib/process/subprocess.c

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file subprocess.c
+ * \brief Launch and monitor other processes.
+ **/
+
 #define SUBPROCESS_PRIVATE
 #include "lib/process/subprocess.h"
 

+ 5 - 0
src/lib/process/subprocess.h

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file subprocess.h
+ * \brief Header for subprocess.c
+ **/
+
 #ifndef TOR_SUBPROCESS_H
 #define TOR_SUBPROCESS_H
 

+ 2 - 4
src/lib/process/waitpid.c

@@ -4,10 +4,8 @@
 /* See LICENSE for licensing information */
 
 /**
- * \file util_process.c
- * \brief utility functions for launching processes and checking their
- *    status. These functions are kept separately from procmon so that they
- *    won't require linking against libevent.
+ * \file waitpid.c
+ * \brief Convenience structures for handlers for handling waitpid().
  **/
 
 #include "orconfig.h"

+ 5 - 0
src/lib/smartlist_core/smartlist_core.h

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file smartlist_core.h
+ * \brief Top-level declarations for the smartlist_t dynamic array type.
+ **/
+
 #ifndef TOR_SMARTLIST_CORE_H
 #define TOR_SMARTLIST_CORE_H
 

+ 5 - 0
src/lib/smartlist_core/smartlist_foreach.h

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file smartlist_foreach.h
+ * \brief Macros for iterating over the elements of a smartlist_t.
+ **/
+
 #ifndef TOR_SMARTLIST_FOREACH_H
 #define TOR_SMARTLIST_FOREACH_H
 

+ 5 - 0
src/lib/smartlist_core/smartlist_split.c

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file smartlist_split.c
+ * \brief Split a string into a smartlist_t of substrings.
+ **/
+
 #include "lib/smartlist_core/smartlist_core.h"
 #include "lib/smartlist_core/smartlist_split.h"
 

+ 5 - 0
src/lib/smartlist_core/smartlist_split.h

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file smartlist_split.h
+ * \brief Header for smartlist_split.c
+ **/
+
 #ifndef TOR_SMARTLIST_SPLIT_H
 #define TOR_SMARTLIST_SPLIT_H
 

+ 5 - 0
src/lib/string/compat_ctype.c

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file compat_ctype.c
+ * \brief Locale-independent character-type inspection (backend)
+ **/
+
 #include "lib/string/compat_ctype.h"
 
 /**

+ 5 - 0
src/lib/string/compat_ctype.h

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file compat_ctype.h
+ * \brief Locale-independent character-type inspection (header)
+ **/
+
 #ifndef TOR_COMPAT_CTYPE_H
 #define TOR_COMPAT_CTYPE_H
 

+ 6 - 0
src/lib/string/compat_string.c

@@ -3,6 +3,12 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file compat_string.c
+ * \brief Useful string-processing functions that some platforms don't
+ * provide.
+ **/
+
 #include "lib/string/compat_string.h"
 #include "lib/err/torerr.h"
 

+ 5 - 0
src/lib/string/compat_string.h

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file compat_string.h
+ * \brief Header for compat_string.c
+ **/
+
 #ifndef TOR_COMPAT_STRING_H
 #define TOR_COMPAT_STRING_H
 

+ 5 - 0
src/lib/string/parse_int.c

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file parse_int.c
+ * \brief Convert strings into the integers they encode, with bounds checking.
+ **/
+
 #include "lib/string/parse_int.h"
 
 #include <errno.h>

+ 5 - 0
src/lib/string/parse_int.h

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file parse_int.h
+ * \brief Header for parse_int.c
+ **/
+
 #ifndef TOR_PARSE_INT_H
 #define TOR_PARSE_INT_H
 

+ 5 - 0
src/lib/string/printf.c

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file printf.c
+ * \brief Compatibility wrappers around snprintf and its friends
+ **/
+
 #include "lib/string/printf.h"
 #include "lib/err/torerr.h"
 #include "lib/cc/torint.h"

+ 5 - 0
src/lib/string/printf.h

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file printf.h
+ * \brief Header for printf.c
+ **/
+
 #ifndef TOR_UTIL_PRINTF_H
 #define TOR_UTIL_PRINTF_H
 

+ 5 - 0
src/lib/string/scanf.c

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file scanf.c
+ * \brief Locale-independent minimal implementation of sscanf().
+ **/
+
 #include "lib/string/scanf.h"
 #include "lib/string/compat_ctype.h"
 #include "lib/cc/torint.h"

+ 5 - 0
src/lib/string/scanf.h

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file scanf.h
+ * \brief Header for scanf.c
+ **/
+
 #ifndef TOR_UTIL_SCANF_H
 #define TOR_UTIL_SCANF_H
 

+ 5 - 0
src/lib/string/util_string.c

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file util_string.c
+ * \brief Non-standard string functions used throughout Tor.
+ **/
+
 #include "lib/string/util_string.h"
 #include "lib/string/compat_ctype.h"
 #include "lib/err/torerr.h"

+ 5 - 0
src/lib/string/util_string.h

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file util_string.h
+ * \brief Header for util_string.c
+ **/
+
 #ifndef TOR_UTIL_STRING_H
 #define TOR_UTIL_STRING_H
 

+ 5 - 0
src/lib/term/getpass.c

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file getpass.c
+ * \brief Cross-platform wrapper to read passphrases from the terminal.
+ **/
+
 #include "lib/term/getpass.h"
 
 #include "lib/log/util_bug.h"

+ 5 - 0
src/lib/term/getpass.h

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file getpass.h
+ * \brief Header for getpass.c
+ **/
+
 #ifndef TOR_GETPASS_H
 #define TOR_GETPASS_H
 

+ 14 - 1
src/lib/testsupport/testsupport.h

@@ -1,10 +1,24 @@
 /* Copyright (c) 2013-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file testsupport.h
+ *
+ * \brief Macros to implement mocking and selective exposure for the test code.
+ *
+ * Each Tor source file is built twice: once with TOR_UNIT_TESTS defined, and
+ * once with it undefined.  The only difference between these configurations
+ * should be that when building for the tests, more functions are exposed as
+ * non-static, and a number of functions are declared as mockable.
+ **/
+
 #ifndef TOR_TESTSUPPORT_H
 #define TOR_TESTSUPPORT_H
 
 #ifdef TOR_UNIT_TESTS
+/** The "STATIC" macro marks a function or variable that is static when
+ * building Tor for production, but non-static when building the unit
+ * tests. */
 #define STATIC
 #define EXTERN(type, name) extern type name;
 #else
@@ -87,4 +101,3 @@
 /** @} */
 
 #endif /* !defined(TOR_TESTSUPPORT_H) */
-

+ 5 - 0
src/lib/thread/numcpus.c

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file numcpus.c
+ * \brief Compute the number of CPUs configured on this system.
+ **/
+
 #include "orconfig.h"
 #include "lib/thread/numcpus.h"
 #include "lib/log/torlog.h"

+ 5 - 0
src/lib/thread/numcpus.h

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file numcpus.h
+ * \brief Header for numcpus.c
+ **/
+
 #ifndef TOR_NUMCPUS_H
 #define TOR_NUMCPUS_H
 

+ 5 - 0
src/lib/thread/threads.h

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file threads.h
+ * \brief Header for threads.c
+ **/
+
 #ifndef TOR_COMPAT_THREADS_H
 #define TOR_COMPAT_THREADS_H
 

+ 5 - 0
src/lib/time/tvdiff.c

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file tvdiff.c
+ * \brief Compute the difference between timevals, in various units.
+ **/
+
 #include "lib/time/tvdiff.h"
 
 #include "lib/cc/compat_compiler.h"

+ 5 - 0
src/lib/time/tvdiff.h

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file tvdiff.h
+ * \brief Header for tvdiff.c
+ **/
+
 #ifndef TOR_TVDIFF_H
 #define TOR_TVDIFF_H
 

+ 5 - 0
src/lib/tls/buffers_tls.c

@@ -4,6 +4,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file buffers_tls.c
+ * \brief Read and write data on a tor_tls_t connection from a buf_t object.
+ **/
+
 #define BUFFERS_PRIVATE
 #include "orconfig.h"
 #include <stddef.h>

+ 5 - 1
src/lib/tls/buffers_tls.h

@@ -4,6 +4,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file buffers_tls.h
+ * \brief Header for buffers_tls.c
+ **/
+
 #ifndef TOR_BUFFERS_TLS_H
 #define TOR_BUFFERS_TLS_H
 
@@ -16,4 +21,3 @@ int buf_flush_to_tls(struct buf_t *buf, struct tor_tls_t *tls,
                      size_t sz, size_t *buf_flushlen);
 
 #endif /* !defined(TOR_BUFFERS_TLS_H) */
-

+ 5 - 0
src/lib/trace/debug.h

@@ -1,6 +1,11 @@
 /* Copyright (c) 2017-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file debug.h
+ * \brief Macros for debugging our event-trace support.
+ **/
+
 #ifndef TOR_TRACE_LOG_DEBUG_H
 #define TOR_TRACE_LOG_DEBUG_H
 

+ 7 - 1
src/lib/trace/trace.c

@@ -1,6 +1,13 @@
 /* Copyright (c) 2017-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file trace.c
+ * \brief Common functions for event-tracing implementation
+ *
+ * See trace.h and doc/HACKING/Tracing.md for more information.
+ **/
+
 #include "lib/trace/trace.h"
 
 /** Initialize the tracing library. */
@@ -8,4 +15,3 @@ void
 tor_trace_init(void)
 {
 }
-

+ 5 - 1
src/lib/trace/trace.h

@@ -1,10 +1,14 @@
 /* Copyright (c) 2017-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file trace.h
+ * \brief Header for trace.c
+ **/
+
 #ifndef TOR_TRACE_TRACE_H
 #define TOR_TRACE_TRACE_H
 
 void tor_trace_init(void);
 
 #endif // TOR_TRACE_TRACE_H
-

+ 5 - 0
src/lib/wallclock/approx_time.c

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file approx_time.c
+ * \brief Cache the last result of time(), for performance and testing.
+ **/
+
 #include "orconfig.h"
 #include "lib/wallclock/approx_time.h"
 

+ 5 - 0
src/lib/wallclock/approx_time.h

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file approx_time.h
+ * \brief Header for approx_time.c
+ **/
+
 #ifndef TOR_APPROX_TIME_H
 #define TOR_APPROX_TIME_H
 

+ 0 - 0
src/lib/wallclock/timeval.c


+ 7 - 0
src/lib/wallclock/timeval.h

@@ -3,6 +3,13 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file timeval.h
+ *
+ * \brief Declarations for timeval-related macros that some platforms
+ * are missing.
+ **/
+
 #ifndef TOR_TIMEVAL_H
 #define TOR_TIMEVAL_H
 

+ 5 - 0
src/lib/wallclock/tm_cvt.c

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file tm_cvt.c
+ * \brief Convert to and from struct tm, portably.
+ **/
+
 #include "orconfig.h"
 #include "lib/cc/torint.h"
 #include "lib/cc/compat_compiler.h"

+ 5 - 0
src/lib/wallclock/tm_cvt.h

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file tm_cvt.h
+ * \brief Header for tm_cvt.c
+ **/
+
 #ifndef TOR_WALLCLOCK_TM_CVT_H
 #define TOR_WALLCLOCK_TM_CVT_H
 

+ 3 - 3
src/lib/wallclock/tor_gettimeofday.c

@@ -4,9 +4,9 @@
 /* See LICENSE for licensing information */
 
 /**
- * \file compat_time.c
- * \brief Portable wrappers for finding out the current time, running
- *   timers, etc.
+ * \file tor_gettimeofday.c
+ * \brief Implementat gettimeofday() for windows, and other platforms without
+ *   it.
  **/
 
 #include "orconfig.h"

+ 5 - 0
src/lib/wallclock/tor_gettimeofday.h

@@ -3,6 +3,11 @@
  * Copyright (c) 2007-2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+/**
+ * \file tor_gettimeofday.h
+ * \brief Header for tor_gettimeofday.c
+ **/
+
 #ifndef TOR_GETTIMEOFDAY_H
 #define TOR_GETTIMEOFDAY_H