tor  master
Data Structures | Macros | Typedefs | Functions
hs_service.h File Reference

Header file containing service data for the HS subsytem. More...

#include "crypto_curve25519.h"
#include "crypto_ed25519.h"
#include "replaycache.h"
#include "hs_common.h"
#include "hs_descriptor.h"
#include "hs_ident.h"
#include "hs_intropoint.h"
#include "hs/cell_establish_intro.h"
Include dependency graph for hs_service.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  hs_service_intro_point_t
 
struct  hs_service_intropoints_t
 
struct  hs_service_descriptor_t
 
struct  hs_service_keys_t
 
struct  hs_service_config_t
 
struct  hs_service_state_t
 
struct  hs_service_t
 

Macros

#define HS_SERVICE_DEFAULT_VERSION   HS_VERSION_TWO
 
#define HS_SERVICE_NEXT_UPLOAD_TIME_MIN   (60 * 60)
 
#define HS_SERVICE_NEXT_UPLOAD_TIME_MAX   (120 * 60)
 
#define hs_service_free(s)   FREE_AND_NULL(hs_service_t, hs_service_free_, (s))
 

Typedefs

typedef struct hs_service_intro_point_t hs_service_intro_point_t
 
typedef struct hs_service_intropoints_t hs_service_intropoints_t
 
typedef struct hs_service_descriptor_t hs_service_descriptor_t
 
typedef struct hs_service_keys_t hs_service_keys_t
 
typedef struct hs_service_config_t hs_service_config_t
 
typedef struct hs_service_state_t hs_service_state_t
 
typedef struct hs_service_t hs_service_t
 

Functions

typedef HT_HEAD (hs_service_ht, hs_service_t) hs_service_ht
 
void hs_service_init (void)
 
void hs_service_free_all (void)
 
hs_service_ths_service_new (const or_options_t *options)
 
void hs_service_free_ (hs_service_t *service)
 
unsigned int hs_service_get_num_services (void)
 
void hs_service_stage_services (const smartlist_t *service_list)
 
int hs_service_load_all_keys (void)
 
void hs_service_lists_fnames_for_sandbox (smartlist_t *file_list, smartlist_t *dir_list)
 
int hs_service_set_conn_addr_port (const origin_circuit_t *circ, edge_connection_t *conn)
 
void hs_service_map_has_changed (void)
 
void hs_service_dir_info_changed (void)
 
void hs_service_run_scheduled_events (time_t now)
 
void hs_service_circuit_has_opened (origin_circuit_t *circ)
 
int hs_service_receive_intro_established (origin_circuit_t *circ, const uint8_t *payload, size_t payload_len)
 
int hs_service_receive_introduce2 (origin_circuit_t *circ, const uint8_t *payload, size_t payload_len)
 
void hs_service_intro_circ_has_closed (origin_circuit_t *circ)
 
char * hs_service_lookup_current_desc (const ed25519_public_key_t *pk)
 
hs_service_add_ephemeral_status_t hs_service_add_ephemeral (ed25519_secret_key_t *sk, smartlist_t *ports, int max_streams_per_rdv_circuit, int max_streams_close_circuit, char **address_out)
 
int hs_service_del_ephemeral (const char *address)
 
void hs_service_upload_desc_to_dir (const char *encoded_desc, const uint8_t version, const ed25519_public_key_t *identity_pk, const ed25519_public_key_t *blinded_pk, const routerstatus_t *hsdir_rs)
 

Detailed Description

Header file containing service data for the HS subsytem.