diff options
author | Nick Mathewson <nickm@torproject.org> | 2020-07-16 10:07:21 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2020-07-16 10:08:15 -0400 |
commit | 47a48e2f5a384450679a544e7a1f26f378a26a78 (patch) | |
tree | a9848573bd201bca1017fd711f6388328dbe6f32 /src/feature/control | |
parent | b0d7b100886ef14a785f6ca1de968df9a884d0a7 (diff) | |
download | tor-47a48e2f5a384450679a544e7a1f26f378a26a78.tar.gz tor-47a48e2f5a384450679a544e7a1f26f378a26a78.zip |
Define new CONST_TO_*_CONN() functions for const-to-const casts
These names are analogous to the CONST_TO_*_CIRC() functions we have
for circuits.
Part of #40046.
Diffstat (limited to 'src/feature/control')
-rw-r--r-- | src/feature/control/control.c | 12 | ||||
-rw-r--r-- | src/feature/control/control.h | 1 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/feature/control/control.c b/src/feature/control/control.c index b5d4c31525..ef707319a6 100644 --- a/src/feature/control/control.c +++ b/src/feature/control/control.c @@ -74,6 +74,18 @@ TO_CONTROL_CONN(connection_t *c) return DOWNCAST(control_connection_t, c); } +/** + * Cast a `const connection_t *` to a `const control_connection_t *`. + * + * Exit with an assertion failure if the input is not a + * `control_connection_t`. + **/ +const control_connection_t * +CONST_TO_CONTROL_CONN(const connection_t *c) +{ + return TO_CONTROL_CONN((connection_t*)c); +} + /** Create and add a new controller connection on <b>sock</b>. If * <b>CC_LOCAL_FD_IS_OWNER</b> is set in <b>flags</b>, this Tor process should * exit when the connection closes. If <b>CC_LOCAL_FD_IS_AUTHENTICATED</b> diff --git a/src/feature/control/control.h b/src/feature/control/control.h index 7e72b2736b..f884286ec7 100644 --- a/src/feature/control/control.h +++ b/src/feature/control/control.h @@ -13,6 +13,7 @@ #define TOR_CONTROL_H control_connection_t *TO_CONTROL_CONN(connection_t *); +const control_connection_t *CONST_TO_CONTROL_CONN(const connection_t *); #define CONTROL_CONN_STATE_MIN_ 1 /** State for a control connection: Authenticated and accepting v1 commands. */ |