summaryrefslogtreecommitdiffstats
path: root/src/auth/auth-worker-client.h
blob: e41ee83aab78a611e38cbf35cad3cfb220915710 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#ifndef AUTH_WORKER_CLIENT_H
#define AUTH_WORKER_CLIENT_H

#define AUTH_WORKER_PROTOCOL_MAJOR_VERSION 1
#define AUTH_WORKER_PROTOCOL_MINOR_VERSION 0
#define AUTH_WORKER_MAX_LINE_LENGTH 8192

struct master_service_connection;
struct auth_worker_command;

struct auth_worker_client *
auth_worker_client_create(struct auth *auth,
			  const struct master_service_connection *master_conn);
bool auth_worker_auth_request_new(struct auth_worker_command *cmd, unsigned int id,
				  const char *const *args, struct auth_request **request_r);

bool auth_worker_has_client(void);
void auth_worker_client_send_error(void);
void auth_worker_client_send_success(void);
void auth_worker_client_send_shutdown(void);

void auth_worker_connections_destroy_all(void);

/* Stop master service after this many requests. 0 is unlimited. */
void auth_worker_set_max_service_count(unsigned int count);

#endif