diff options
| author | David Härdeman <david@hardeman.nu> | 2020-06-05 14:09:18 +0200 | 
|---|---|---|
| committer | David Härdeman <david@hardeman.nu> | 2020-06-05 14:09:18 +0200 | 
| commit | db66484c4300f5f0e857eff01d15fd3593002a79 (patch) | |
| tree | a787b9f0da1243ae0391d5931ecb9cb0f29d3ee4 /server.h | |
Initial commit
Diffstat (limited to 'server.h')
| -rw-r--r-- | server.h | 51 | 
1 files changed, 51 insertions, 0 deletions
| diff --git a/server.h b/server.h new file mode 100644 index 0000000..d066588 --- /dev/null +++ b/server.h @@ -0,0 +1,51 @@ +#ifndef fooserverhfoo +#define fooserverhfoo + +enum server_type { +	SERVER_TYPE_UNDEFINED, +	SERVER_TYPE_ANNOUNCE, +	SERVER_TYPE_PROXY +}; + +struct server { +	enum server_type type; +	char *name; +	char *pretty_name; +	uint16_t announce_port; +	struct list_head locals; +	struct list_head remotes; +	struct list_head proxys; +	bool running; +	 +	struct uring_task task; +	char buf[4096]; +	size_t len; +	struct list_head list; +}; + +void server_refdump(struct server *server); + +void server_delete(struct cfg *cfg, struct server *scfg); + +void server_delete_by_name(struct cfg *cfg, const char *name); + +bool server_commit(struct cfg *cfg, struct server *scfg); + +bool server_add_remote(struct cfg *cfg, struct server *scfg, +		       struct sockaddr_in46 *remote); + +bool server_add_local(struct cfg *cfg, struct server *scfg, +		      struct sockaddr_in46 *local); + +bool server_set_port(struct cfg *cfg, struct server *scfg, uint16_t port); + +bool server_set_type(struct cfg *cfg, struct server *scfg, +		     enum server_type type); + +bool server_set_pretty_name(struct cfg *cfg, struct server *scfg, +			    const char *pretty_name); + +struct server *server_new(struct cfg *cfg, const char *name); + +#endif + | 
