LS: Sort files.
[pwmd.git] / src / agent.h
blobd49c75de31e6ad071128ced6ed8f3393828bacbe
1 /*
2 Copyright (C) 2016, 2017
3 Ben Kibbey <bjk@luxsci.net>
5 This file is part of pwmd.
7 Pwmd is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 2 of the License, or
10 (at your option) any later version.
12 Pwmd is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with Pwmd. If not, see <http://www.gnu.org/licenses/>.
20 #ifndef AGENT_H
21 #define AGENT_H
23 struct agent_inquire_s
25 char *line;
26 size_t len;
29 struct agent_s
31 char *socket;
32 assuan_context_t ctx;
33 int restart;
34 int did_restart;
35 struct agent_inquire_s *inquire;
36 size_t inquire_maxlen;
37 membuf_t data;
40 gpg_error_t agent_init (struct agent_s **);
41 gpg_error_t agent_connect (struct agent_s *);
42 void agent_free (struct agent_s *agent);
43 gpg_error_t agent_command (struct agent_s *agent, char **result, size_t * len,
44 const char *fmt, ...);
45 gpg_error_t agent_set_option (struct agent_s *agent, const char *name,
46 const char *value);
47 gpg_error_t agent_kill_scd (struct agent_s *);
48 void agent_disconnect (struct agent_s *agent);
50 #endif