tor_multipath_voip/src/tor_ctl.h

26 lines
825 B
C
Raw Normal View History

2019-02-08 16:37:02 +00:00
#pragma once
#include "tor_os.h"
#include "net_tools.h"
/*
* We want to use fscanf and fprintf as these func provide a nice abstraction
* to parse text content. However, we must convert our file descriptor to a
* STREAM*. It appears that we have to create 2 streams (cf link). Moreover
* we have to disable the buffering with setbuf.
* https://ycpcs.github.io/cs365-spring2019/lectures/lecture15.html
*/
struct tor_ctl {
FILE* rsock;
FILE* wsock;
};
enum TOR_ONION_FLAGS {
TOR_ONION_FLAG_NONE = 0,
TOR_ONION_FLAG_NON_ANONYMOUS = 1 << 0
};
2019-02-08 16:37:02 +00:00
int tor_ctl_connect(struct tor_ctl* ctx, char* addr, char* service);
int tor_ctl_add_onion(struct tor_ctl* ctx, struct tor_os_str* tos, uint16_t* port, enum TOR_ONION_FLAGS flags);
2020-01-20 22:35:02 +00:00
void tor_ctl_list_onions(struct tor_ctl* ctx);
2019-02-08 16:37:02 +00:00
void tor_ctl_close(struct tor_ctl* ctx);