Commit 1725c0c8 authored by Nick Mathewson's avatar Nick Mathewson 🌉
Browse files

Add DOCDOC comments for all undocumented functions. Add missing *s to other...

Add DOCDOC comments for all undocumented functions.  Add missing *s to other comments so that they will get recognized as doxygen.

svn:r17729
parent ef1be06d
......@@ -17,6 +17,7 @@
#include "torint.h"
#include "compat.h"
/* DOCDOC maskbits_t */
typedef uint8_t maskbits_t;
struct in_addr;
/** Holds an IPv4 or IPv6 address. (Uses less memory than struct
......@@ -32,11 +33,17 @@ typedef struct tor_addr_t
/* DOCDOC*/
static INLINE uint32_t tor_addr_to_ipv4n(const tor_addr_t *a);
/* DOCDOC tor_addr_to_ipv4h */
static INLINE uint32_t tor_addr_to_ipv4h(const tor_addr_t *a);
/* DOCDOC tor_addr_to_mapped_ipv4h */
static INLINE uint32_t tor_addr_to_mapped_ipv4h(const tor_addr_t *a);
/* DOCDOC tor_addr_family */
static INLINE sa_family_t tor_addr_family(const tor_addr_t *a);
/* DOCDOC tor_addr_to_in */
static INLINE const struct in_addr *tor_addr_to_in(const tor_addr_t *a);
/* DOCDOC tor_addr_to_in6 */
static INLINE const struct in6_addr *tor_addr_to_in6(const tor_addr_t *a);
/* DOCDOC tor_addr_eq_ipv4h */
static INLINE int tor_addr_eq_ipv4h(const tor_addr_t *a, uint32_t u);
socklen_t tor_addr_to_sockaddr(const tor_addr_t *a, uint16_t port,
struct sockaddr *sa_out, socklen_t len);
......@@ -153,7 +160,8 @@ int parse_addr_and_port_range(const char *s, uint32_t *addr_out,
uint16_t *port_max_out);
int addr_mask_get_bits(uint32_t mask);
int addr_mask_cmp_bits(uint32_t a1, uint32_t a2, maskbits_t bits);
#define INET_NTOA_BUF_LEN 16 /* 255.255.255.255 */
/** Length of a buffer to allocate to hold the results of tor_inet_ntoa.*/
#define INET_NTOA_BUF_LEN 16
int tor_inet_ntoa(const struct in_addr *in, char *buf, size_t buf_len);
char *tor_dup_ip(uint32_t addr) ATTR_MALLOC;
int get_interface_address(int severity, uint32_t *addr);
......
......@@ -1831,6 +1831,7 @@ tor_get_thread_id(void)
#elif defined(USE_PTHREADS)
static pthread_mutexattr_t attr_reentrant;
static int threads_initialized = 0;
/* DOCDOC tor_mutex_init */
void
tor_mutex_init(tor_mutex_t *mutex)
{
......@@ -1867,6 +1868,7 @@ tor_mutex_release(tor_mutex_t *m)
tor_fragile_assert();
}
}
/* DOCDOC tor_mutex_uninit */
void
tor_mutex_uninit(tor_mutex_t *m)
{
......@@ -1892,6 +1894,7 @@ tor_get_thread_id(void)
#endif
#ifdef TOR_IS_MULTITHREADED
/* DOCDOC tor_mutex_new */
tor_mutex_t *
tor_mutex_new(void)
{
......@@ -1899,6 +1902,7 @@ tor_mutex_new(void)
tor_mutex_init(m);
return m;
}
/* DOCDOC tor_mutex_free */
void
tor_mutex_free(tor_mutex_t *m)
{
......
......@@ -687,6 +687,7 @@ smartlist_uniq_digests(smartlist_t *sl)
smartlist_uniq(sl, _compare_digests, _tor_free);
}
/* DOCDOC DEFINE_MAP_STRUCTS */
#define DEFINE_MAP_STRUCTS(maptype, keydecl, prefix) \
typedef struct prefix ## entry_t { \
HT_ENTRY(prefix ## entry_t) node; \
......@@ -697,7 +698,9 @@ smartlist_uniq_digests(smartlist_t *sl)
HT_HEAD(prefix ## impl, prefix ## entry_t) head; \
}
/* DOCDOC DEFINE_MAP_STRUCTS */
DEFINE_MAP_STRUCTS(strmap_t, char *key, strmap_);
/* DOCDOC DEFINE_MAP_STRUCTS */
DEFINE_MAP_STRUCTS(digestmap_t, char key[DIGEST_LEN], digestmap_);
/** Helper: compare strmap_entry_t objects by key value. */
......@@ -1004,6 +1007,7 @@ strmap_iter_init(strmap_t *map)
return HT_START(strmap_impl, &map->head);
}
/* DOCDOC digestmap_iter_init */
digestmap_iter_t *
digestmap_iter_init(digestmap_t *map)
{
......@@ -1021,6 +1025,7 @@ strmap_iter_next(strmap_t *map, strmap_iter_t *iter)
return HT_NEXT(strmap_impl, &map->head, iter);
}
/* DOCDOC digestmap_iter_next */
digestmap_iter_t *
digestmap_iter_next(digestmap_t *map, digestmap_iter_t *iter)
{
......@@ -1046,6 +1051,7 @@ strmap_iter_next_rmv(strmap_t *map, strmap_iter_t *iter)
return iter;
}
/* DOCDOC digestmap_iter_next_rmv */
digestmap_iter_t *
digestmap_iter_next_rmv(digestmap_t *map, digestmap_iter_t *iter)
{
......@@ -1072,6 +1078,7 @@ strmap_iter_get(strmap_iter_t *iter, const char **keyp, void **valp)
*valp = (*iter)->val;
}
/* DOCDOC digestmap_iter_get */
void
digestmap_iter_get(digestmap_iter_t *iter, const char **keyp, void **valp)
{
......@@ -1090,6 +1097,7 @@ strmap_iter_done(strmap_iter_t *iter)
{
return iter == NULL;
}
/* DOCDOC digestmap_iter_done */
int
digestmap_iter_done(digestmap_iter_t *iter)
{
......@@ -1116,6 +1124,7 @@ strmap_free(strmap_t *map, void (*free_val)(void*))
HT_CLEAR(strmap_impl, &map->head);
tor_free(map);
}
/* DOCDOC digestmap_free */
void
digestmap_free(digestmap_t *map, void (*free_val)(void*))
{
......@@ -1132,11 +1141,13 @@ digestmap_free(digestmap_t *map, void (*free_val)(void*))
tor_free(map);
}
/* DOCDOC strmap_assert_ok */
void
strmap_assert_ok(const strmap_t *map)
{
tor_assert(!_strmap_impl_HT_REP_IS_BAD(&map->head));
}
/* DOCDOC digestmap_assert_ok */
void
digestmap_assert_ok(const digestmap_t *map)
{
......@@ -1150,6 +1161,7 @@ strmap_isempty(const strmap_t *map)
return HT_EMPTY(&map->head);
}
/* DOCDOC digestmap_isempty */
int
digestmap_isempty(const digestmap_t *map)
{
......@@ -1163,6 +1175,7 @@ strmap_size(const strmap_t *map)
return HT_SIZE(&map->head);
}
/* DOCDOC digestmap_size */
int
digestmap_size(const digestmap_t *map)
{
......
......@@ -261,6 +261,7 @@ _crypto_new_pk_env_evp_pkey(EVP_PKEY *pkey)
return _crypto_new_pk_env_rsa(rsa);
}
/* DOCDOC _crypto_pk_env_get_rsa */
RSA *
_crypto_pk_env_get_rsa(crypto_pk_env_t *env)
{
......@@ -2273,10 +2274,12 @@ _openssl_locking_cb(int mode, int n, const char *file, int line)
tor_mutex_release(_openssl_mutexes[n]);
}
/* DOCDOC CRYPTO_dynlock_value */
struct CRYPTO_dynlock_value {
tor_mutex_t *lock;
};
/* DOCDOC _openssl_dynlock_create_cb */
static struct CRYPTO_dynlock_value *
_openssl_dynlock_create_cb(const char *file, int line)
{
......@@ -2288,6 +2291,7 @@ _openssl_dynlock_create_cb(const char *file, int line)
return v;
}
/* DOCDOC _openssl_dynlock_lock_cb */
static void
_openssl_dynlock_lock_cb(int mode, struct CRYPTO_dynlock_value *v,
const char *file, int line)
......@@ -2300,6 +2304,7 @@ _openssl_dynlock_lock_cb(int mode, struct CRYPTO_dynlock_value *v,
tor_mutex_release(v->lock);
}
/* DOCDOC _openssl_dynlock_destroy_cb */
static void
_openssl_dynlock_destroy_cb(struct CRYPTO_dynlock_value *v,
const char *file, int line)
......
......@@ -51,9 +51,13 @@
/** Length of hex encoding of SHA1 digest, not including final NUL. */
#define HEX_DIGEST_LEN 40
/* DOCDOC crypto_pk_env_t */
typedef struct crypto_pk_env_t crypto_pk_env_t;
/* DOCDOC crypto_cipher_env_t */
typedef struct crypto_cipher_env_t crypto_cipher_env_t;
/* DOCDOC crypto_digest_env_t */
typedef struct crypto_digest_env_t crypto_digest_env_t;
/* DOCDOC crypto_dh_env_t */
typedef struct crypto_dh_env_t crypto_dh_env_t;
/* global state */
......
......@@ -26,7 +26,7 @@
#error "void* is neither 4 nor 8 bytes long. I don't know how to align stuff."
#endif
/* Increment <b>ptr</b> until it is aligned to MEMAREA_ALIGN. */
/** Increment <b>ptr</b> until it is aligned to MEMAREA_ALIGN. */
static INLINE void *
realign_pointer(void *ptr)
{
......@@ -85,6 +85,7 @@ alloc_chunk(size_t sz, int freelist_ok)
}
}
/* DOCDOC chunk_free */
static void
chunk_free(memarea_chunk_t *chunk)
{
......
......@@ -41,6 +41,7 @@ compress_method_t detect_compression_method(const char *in, size_t in_len);
typedef enum {
TOR_ZLIB_OK, TOR_ZLIB_DONE, TOR_ZLIB_BUF_FULL, TOR_ZLIB_ERR
} tor_zlib_output_t;
/** Internal state for an incremental zlib compression/decompression. */
typedef struct tor_zlib_state_t tor_zlib_state_t;
tor_zlib_state_t *tor_zlib_new(int compress, compress_method_t method);
......
......@@ -1341,12 +1341,14 @@ update_approx_time(time_t now)
*/
static int ftime_skew = 0;
static int ftime_slop = 60;
/* DOCDOC ftime_set_maximum_sloppiness */
void
ftime_set_maximum_sloppiness(int seconds)
{
tor_assert(seconds >= 0);
ftime_slop = seconds;
}
/* DOCDOC ftime_set_estimated_skew */
void
ftime_set_estimated_skew(int seconds)
{
......@@ -1360,18 +1362,21 @@ ftime_get_window(time_t now, ftime_t *ft_out)
ft_out->latest = now + ftime_skew + ftime_slop;
}
#endif
/* DOCDOC ftime_maybe_after */
int
ftime_maybe_after(time_t now, time_t when)
{
/* It may be after when iff the latest possible current time is after when */
return (now + ftime_skew + ftime_slop) >= when;
}
/* DOCDOC ftime_maybe_before */
int
ftime_maybe_before(time_t now, time_t when)
{
/* It may be before when iff the earliest possible current time is before */
return (now + ftime_skew - ftime_slop) < when;
}
/* DOCDOC ftime_definitely_after */
int
ftime_definitely_after(time_t now, time_t when)
{
......@@ -1379,6 +1384,7 @@ ftime_definitely_after(time_t now, time_t when)
* after when. */
return (now + ftime_skew - ftime_slop) >= when;
}
/* DOCDOC ftime_definitely_before */
int
ftime_definitely_before(time_t now, time_t when)
{
......@@ -1941,7 +1947,7 @@ read_file_to_str(const char *filename, int flags, struct stat *stat_out)
#define TOR_ISODIGIT(c) ('0' <= (c) && (c) <= '7')
/* Given a c-style double-quoted escaped string in <b>s</b>, extract and
/** Given a c-style double-quoted escaped string in <b>s</b>, extract and
* decode its contents into a newly allocated string. On success, assign this
* string to *<b>result</b>, assign its length to <b>size_out</b> (if
* provided), and return a pointer to the position in <b>s</b> immediately
......
......@@ -153,6 +153,7 @@ conn_state_to_string(int type, int state)
return buf;
}
/* DOCDOC dir_connection_new */
dir_connection_t *
dir_connection_new(int socket_family)
{
......@@ -160,6 +161,7 @@ dir_connection_new(int socket_family)
connection_init(time(NULL), TO_CONN(dir_conn), CONN_TYPE_DIR, socket_family);
return dir_conn;
}
/* DOCDOC or_connection_new */
or_connection_t *
or_connection_new(int socket_family)
{
......@@ -172,6 +174,7 @@ or_connection_new(int socket_family)
return or_conn;
}
/* DOCDOC edge_connection_new */
edge_connection_t *
edge_connection_new(int type, int socket_family)
{
......@@ -182,6 +185,7 @@ edge_connection_new(int type, int socket_family)
edge_conn->socks_request = tor_malloc_zero(sizeof(socks_request_t));
return edge_conn;
}
/* DOCDOC control_connection_new */
control_connection_t *
control_connection_new(int socket_family)
{
......@@ -192,6 +196,7 @@ control_connection_new(int socket_family)
return control_conn;
}
/* DOCDOC connection_new */
connection_t *
connection_new(int type, int socket_family)
{
......@@ -806,6 +811,7 @@ create_unix_sockaddr(const char *listenaddress, char **readable_address)
};
#endif /* HAVE_SYS_UN_H */
/* DOCDOC warn_too_many_conns */
static void
warn_too_many_conns(void)
{
......
......@@ -89,6 +89,7 @@ static char last_sent_bootstrap_message[BOOTSTRAP_MSG_LEN];
#define EXTENDED_FORMAT 4
#define NONEXTENDED_FORMAT 8
#define ALL_FORMATS (EXTENDED_FORMAT|NONEXTENDED_FORMAT)
/* DOCDOC event_format_t */
typedef int event_format_t;
static void connection_printf_to_buf(control_connection_t *conn,
......@@ -502,7 +503,7 @@ send_control_done(control_connection_t *conn)
connection_write_str_to_buf("250 OK\r\n", conn);
}
/* Send an event to all v1 controllers that are listening for code
/** Send an event to all v1 controllers that are listening for code
* <b>event</b>. The event's body is given by <b>msg</b>.
*
* If <b>which</b> & SHORT_NAMES, the event contains short-format names: send
......@@ -604,7 +605,7 @@ send_control_event_impl(uint16_t event, event_format_t which, int extended,
}
}
/* Send an event to all v1 controllers that are listening for code
/** Send an event to all v1 controllers that are listening for code
* <b>event</b>. The event's body is created by the printf-style format in
* <b>format</b>, and other arguments as provided.
*
......@@ -620,7 +621,7 @@ send_control_event(uint16_t event, event_format_t which,
va_end(ap);
}
/* Send an event to all v1 controllers that are listening for code
/** Send an event to all v1 controllers that are listening for code
* <b>event</b>. The event's body is created by the printf-style format in
* <b>format</b>, and other arguments as provided.
*
......@@ -3872,7 +3873,7 @@ control_event_bootstrap(bootstrap_status_t status, int progress)
}
}
/* Called when Tor has failed to make bootstrapping progress in a way
/** Called when Tor has failed to make bootstrapping progress in a way
* that indicates a problem. <b>warn</b> gives a hint as to why, and
* <b>reason</b> provides an "or_conn_end_reason" tag.
*/
......
......@@ -872,6 +872,8 @@ _compare_strs(const void **a, const void **b)
#if (CONDITIONAL_CONSENSUS_FPR_LEN > DIGEST_LEN)
#error "conditional consensus fingerprint length is larger than digest length"
#endif
/* DOCDOC directory_get_consensus_url */
static char *
directory_get_consensus_url(int supports_conditional_consensus)
{
......@@ -2193,6 +2195,7 @@ typedef struct request_t {
* of request. Maps from request type to pointer to request_t. */
static strmap_t *request_map = NULL;
/* DOCDOC note_client_request */
static void
note_client_request(int purpose, int compressed, size_t bytes)
{
......
......@@ -1156,7 +1156,7 @@ directory_fetches_from_authorities(or_options_t *options)
return 1;
}
/* Return 1 if we should fetch new networkstatuses, descriptors, etc
/** Return 1 if we should fetch new networkstatuses, descriptors, etc
* on the "mirror" schedule rather than the "client" schedule.
*/
int
......@@ -1165,7 +1165,7 @@ directory_fetches_dir_info_early(or_options_t *options)
return directory_fetches_from_authorities(options);
}
/* Return 1 if we should fetch new networkstatuses, descriptors, etc
/** Return 1 if we should fetch new networkstatuses, descriptors, etc
* on a very passive schedule -- waiting long enough for ordinary clients
* to probably have the info we want. These would include bridge users,
* and maybe others in the future e.g. if a Tor client uses another Tor
......@@ -1592,6 +1592,7 @@ dirserv_get_runningrouters(void)
"v1 network status list", V1_AUTHORITY);
}
/* DOCDOC */
cached_dir_t *
dirserv_get_consensus(void)
{
......
......@@ -219,7 +219,8 @@ get_voter(const networkstatus_t *vote)
return smartlist_get(vote->voters, 0);
}
typedef struct {
/* DOCDOC dir_src_ent_t */
typedef struct dir_src_ent_t {
networkstatus_t *v;
const char *digest;
int is_legacy;
......@@ -235,6 +236,7 @@ _compare_votes_by_authority_id(const void **_a, const void **_b)
get_voter(b)->identity_digest, DIGEST_LEN);
}
/* DOCDOC _compare_dir_src_ents_by_authority_id */
static int
_compare_dir_src_ents_by_authority_id(const void **_a, const void **_b)
{
......
......@@ -186,6 +186,7 @@ evdns_log_cb(int warn, const char *msg)
log(severity, LD_EXIT, "eventdns: %s", msg);
}
/* DOCDOC randfn */
static void
randfn(char *b, size_t n)
{
......
......@@ -14,7 +14,7 @@ const char dnsserv_c_id[] =
#include "or.h"
#include "eventdns.h"
/* Helper function: called by evdns whenever the client sends a request to our
/** Helper function: called by evdns whenever the client sends a request to our
* DNSPort. We need to eventually answer the request <b>req</b>.
*/
static void
......@@ -149,7 +149,7 @@ evdns_server_callback(struct evdns_server_request *req, void *_data)
tor_free(q_name);
}
/* Helper function: called whenever the client sends a resolve request to our
/** Helper function: called whenever the client sends a resolve request to our
* controller. We need to eventually answer the request <b>req</b>.
* Returns 0 if the controller will be getting (or has gotten) an event in
* response; -1 if we couldn't launch the request.
......@@ -291,7 +291,7 @@ dnsserv_resolved(edge_connection_t *conn,
conn->dns_server_request = NULL;
}
/* Set up the evdns server port for the UDP socket on <b>conn</b>, which
/** Set up the evdns server port for the UDP socket on <b>conn</b>, which
* must be an AP_DNS_LISTENER */
void
dnsserv_configure_listener(connection_t *conn)
......
......@@ -438,6 +438,7 @@ _c_hist_compare(const void **_a, const void **_b)
* are willing to talk about it? */
#define GEOIP_MIN_OBSERVATION_TIME (12*60*60)
/* DOCDOC round_to_next_multiple_of */
static INLINE unsigned
round_to_next_multiple_of(unsigned number, unsigned divisor)
{
......@@ -588,6 +589,7 @@ geoip_get_request_history(time_t now, geoip_client_action_t action)
return result;
}
/* DOCDOC dump_geoip_stats */
void
dump_geoip_stats(void)
{
......
......@@ -1902,12 +1902,14 @@ try_locking(or_options_t *options, int err_if_locked)
}
}
/* DOCDOC have_lockfile */
int
have_lockfile(void)
{
return lockfile != NULL;
}
/* DOCDOC release_lockfile */
void
release_lockfile(void)
{
......
......@@ -234,6 +234,7 @@ router_reload_consensus_networkstatus(void)
return 0;
}
/** Free all storage held by the vote_routerstatus object <b>rs</b>. */
static void
vote_routerstatus_free(vote_routerstatus_t *rs)
{
......
......@@ -981,7 +981,7 @@ policy_summary_item_split(policy_summary_item_t* old, uint16_t new_starts)
#define AT(x) ((policy_summary_item_t*)smartlist_get(summary, x))
#define REJECT_CUTOFF_COUNT (1<<25)
/* Split an exit policy summary so that prt_min and prt_max
/** Split an exit policy summary so that prt_min and prt_max
* fall at exactly the start and end of an item respectively.
*/
static int
......
......@@ -1470,6 +1470,7 @@ packed_cell_alloc(void)
++total_cells_allocated;
return mp_pool_get(cell_pool);
}
/* DOCDOC dump_cell_pool_usage */
void
dump_cell_pool_usage(int severity)
{
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment