Fix type redefinition errors.

In file included from src/core/or/connection_edge.c:70:0:
./src/core/or/circuitpadding.h:16:26: error: redefinition of typedef ‘circuit_t’
./src/core/or/or.h:930:26: note: previous declaration of ‘circuit_t’ was here
./src/core/or/circuitpadding.h:17:33: error: redefinition of typedef ‘origin_circuit_t’
./src/core/or/or.h:931:33: note: previous declaration of ‘origin_circuit_t’ was here
./src/core/or/circuitpadding.h:18:23: error: redefinition of typedef ‘cell_t’
./src/core/or/or.h:628:23: note: previous declaration of ‘cell_t’ was here

typedef doesn't work for forward declarations, but plain struct
without a typedef wrapper does (and unlike the _t type aliases makes
it clearer for everyone whether you're talking about the struct or
the pointer).
This commit is contained in:
Taylor R Campbell 2019-01-10 17:10:39 +00:00 committed by George Kadianakis
parent 2b29bccb85
commit ca54424602

View File

@ -13,9 +13,9 @@
#include "src/trunnel/circpad_negotiation.h"
#include "lib/evloop/timers.h"
typedef struct circuit_t circuit_t;
typedef struct origin_circuit_t origin_circuit_t;
typedef struct cell_t cell_t;
struct circuit_t;
struct origin_circuit_t;
struct cell_t;
/**
* Signed error return with the specific property that negative
@ -440,7 +440,7 @@ typedef struct circpad_machine_state_t {
tor_timer_t *padding_timer;
/** The circuit for this machine */
circuit_t *on_circ;
struct circuit_t *on_circ;
/** A mutable copy of the histogram for the current state.
* NULL if remove_tokens is false for that state */
@ -576,19 +576,19 @@ void circpad_new_consensus_params(const networkstatus_t *ns);
/**
* The following are event call-in points that are of interest to
* the state machines. They are called during cell processing. */
void circpad_deliver_unrecognized_cell_events(circuit_t *circ,
void circpad_deliver_unrecognized_cell_events(struct circuit_t *circ,
cell_direction_t dir);
void circpad_deliver_sent_relay_cell_events(circuit_t *circ,
void circpad_deliver_sent_relay_cell_events(struct circuit_t *circ,
uint8_t relay_command);
void circpad_deliver_recognized_relay_cell_events(circuit_t *circ,
void circpad_deliver_recognized_relay_cell_events(struct circuit_t *circ,
uint8_t relay_command,
crypt_path_t *layer_hint);
/** Cell events are delivered by the above delivery functions */
void circpad_cell_event_nonpadding_sent(circuit_t *on_circ);
void circpad_cell_event_nonpadding_received(circuit_t *on_circ);
void circpad_cell_event_padding_sent(circuit_t *on_circ);
void circpad_cell_event_padding_received(circuit_t *on_circ);
void circpad_cell_event_nonpadding_sent(struct circuit_t *on_circ);
void circpad_cell_event_nonpadding_received(struct circuit_t *on_circ);
void circpad_cell_event_padding_sent(struct circuit_t *on_circ);
void circpad_cell_event_padding_received(struct circuit_t *on_circ);
/** Internal events are events the machines send to themselves */
circpad_decision_t
@ -600,12 +600,13 @@ circpad_decision_t circpad_internal_event_state_length_up(
/** Machine creation events are events that cause us to set up or
* tear down padding state machines. */
void circpad_machine_event_circ_added_hop(origin_circuit_t *on_circ);
void circpad_machine_event_circ_built(origin_circuit_t *circ);
void circpad_machine_event_circ_purpose_changed(origin_circuit_t *circ);
void circpad_machine_event_circ_has_streams(origin_circuit_t *circ);
void circpad_machine_event_circ_has_no_streams(origin_circuit_t *circ);
void circpad_machine_event_circ_has_no_relay_early(origin_circuit_t *circ);
void circpad_machine_event_circ_added_hop(struct origin_circuit_t *on_circ);
void circpad_machine_event_circ_built(struct origin_circuit_t *circ);
void circpad_machine_event_circ_purpose_changed(struct origin_circuit_t *circ);
void circpad_machine_event_circ_has_streams(struct origin_circuit_t *circ);
void circpad_machine_event_circ_has_no_streams(struct origin_circuit_t *circ);
void
circpad_machine_event_circ_has_no_relay_early(struct origin_circuit_t *circ);
void circpad_machines_init(void);
void circpad_machines_free(void);
@ -613,9 +614,9 @@ void circpad_machines_free(void);
void circpad_machine_states_init(circpad_machine_spec_t *machine,
circpad_statenum_t num_states);
void circpad_circuit_free_all_machineinfos(circuit_t *circ);
void circpad_circuit_free_all_machineinfos(struct circuit_t *circ);
bool circpad_padding_is_from_expected_hop(circuit_t *circ,
bool circpad_padding_is_from_expected_hop(struct circuit_t *circ,
crypt_path_t *from_hop);
/** Serializaton functions for writing to/from torrc and consensus */
@ -623,14 +624,16 @@ char *circpad_machine_spec_to_string(const circpad_machine_spec_t *machine);
const circpad_machine_spec_t *circpad_string_to_machine(const char *str);
/* Padding negotiation between client and middle */
signed_error_t circpad_handle_padding_negotiate(circuit_t *circ, cell_t *cell);
signed_error_t circpad_handle_padding_negotiated(circuit_t *circ, cell_t *cell,
signed_error_t circpad_handle_padding_negotiate(struct circuit_t *circ,
struct cell_t *cell);
signed_error_t circpad_handle_padding_negotiated(struct circuit_t *circ,
struct cell_t *cell,
crypt_path_t *layer_hint);
signed_error_t circpad_negotiate_padding(origin_circuit_t *circ,
signed_error_t circpad_negotiate_padding(struct origin_circuit_t *circ,
circpad_machine_num_t machine,
uint8_t target_hopnum,
uint8_t command);
bool circpad_padding_negotiated(circuit_t *circ,
bool circpad_padding_negotiated(struct circuit_t *circ,
circpad_machine_num_t machine,
uint8_t command,
uint8_t response);
@ -667,7 +670,7 @@ STATIC circpad_hist_index_t circpad_histogram_usec_to_bin(
circpad_delay_t us);
STATIC circpad_machine_state_t *circpad_circuit_machineinfo_new(
circuit_t *on_circ,
struct circuit_t *on_circ,
int machine_index);
STATIC void circpad_machine_remove_higher_token(circpad_machine_state_t *mi,
circpad_delay_t target_bin_us);
@ -679,7 +682,7 @@ STATIC void circpad_machine_remove_closest_token(circpad_machine_state_t *mi,
STATIC void circpad_machine_setup_tokens(circpad_machine_state_t *mi);
MOCK_DECL(STATIC signed_error_t,
circpad_send_command_to_hop,(origin_circuit_t *circ, uint8_t hopnum,
circpad_send_command_to_hop,(struct origin_circuit_t *circ, uint8_t hopnum,
uint8_t relay_command, const uint8_t *payload,
ssize_t payload_len));