BULK: Safety bounds check.
[pwmd.git] / src / agent.h
blobb0a37111607fdc9ff233b090a941d3ad009fee8d
1 /*
2 Copyright (C) 2016-2021 Ben Kibbey <bjk@luxsci.net>
4 This file is part of pwmd.
6 Pwmd is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License version 2 as
8 published by the Free Software Foundation.
10 Pwmd is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with Pwmd. If not, see <http://www.gnu.org/licenses/>.
18 #ifndef AGENT_H
19 #define AGENT_H
21 struct agent_inquire_s
23 char *line;
24 size_t len;
27 struct agent_s
29 char *socket;
30 assuan_context_t ctx;
31 int restart;
32 int did_restart;
33 struct agent_inquire_s *inquire;
34 size_t inquire_maxlen;
35 membuf_t data;
38 gpg_error_t agent_init (struct agent_s **);
39 gpg_error_t agent_connect (struct agent_s *);
40 void agent_free (struct agent_s *agent);
41 gpg_error_t agent_command (struct agent_s *agent, char **result, size_t * len,
42 const char *fmt, ...);
43 gpg_error_t agent_set_option (struct agent_s *agent, const char *name,
44 const char *value);
45 gpg_error_t agent_kill_scd (struct agent_s *);
46 void agent_disconnect (struct agent_s *agent);
48 #endif