Skip to content
Snippets Groups Projects
Commit ca544246 authored by Taylor R Campbell's avatar Taylor R Campbell Committed by George Kadianakis
Browse files

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).
parent 2b29bccb
No related branches found
No related tags found
No related merge requests found
......@@ -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));
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment