2005-10-23 Moritz Schulte <moritz@g10code.com>
[poldi.git] / src / common / support.h
1 /* support.h - PAM authentication via OpenPGP smartcards.
2    Copyright (C) 2004, 2005 g10 Code GmbH
3  
4    This file is part of Poldi.
5   
6    Poldi is free software; you can redistribute it and/or modify it
7    under the terms of the GNU General Public License as published by
8    the Free Software Foundation; either version 2 of the License, or
9    (at your option) any later version.
10   
11    Poldi is distributed in the hope that it will be useful, but
12    WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14    General Public License for more details.
15   
16    You should have received a copy of the GNU Lesser General Public
17    License along with this program; if not, write to the Free Software
18    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
19    02111-1307, USA.  */
20
21 #ifndef SUPPORT_H
22 #define SUPPORT_H
23
24 #include <gcrypt.h>
25
26 gpg_error_t challenge_generate (unsigned char **challenge, size_t *challenge_n);
27 gpg_error_t challenge_verify (gcry_sexp_t key,
28                               unsigned char *challenge, size_t challenge_n,
29                               unsigned char *respone, size_t response_n);
30 gpg_error_t usersdb_lookup_by_serialno (const char *serialno, char **username);
31 gpg_error_t usersdb_lookup_by_username (const char *username, char **serialno);
32 gpg_error_t usersdb_remove_entry (const char *username, const char *serialno);
33 gpg_error_t usersdb_add_entry (const char *username, const char *serialno);
34 gpg_error_t sexp_to_string (gcry_sexp_t sexp, char **sexp_string);
35 gpg_error_t file_to_string (const char *filename, char **string);
36 gpg_error_t string_to_sexp (gcry_sexp_t *sexp, char *string);
37 gpg_error_t key_filename_construct (char **filename, const char *serialno);
38 gpg_error_t lookup_own_username (const char **username);
39
40 #endif