libssh  0.9.4
The SSH library
ecdh.h
1 /*
2  * This file is part of the SSH Library
3  *
4  * Copyright (c) 2011 by Aris Adamantiadis
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser 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 library; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19  */
20 
21 #ifndef ECDH_H_
22 #define ECDH_H_
23 
24 #include "config.h"
25 #include "libssh/callbacks.h"
26 
27 #ifdef HAVE_LIBCRYPTO
28 #ifdef HAVE_OPENSSL_ECDH_H
29 
30 #ifdef HAVE_ECC
31 #define HAVE_ECDH 1
32 #endif
33 
34 #endif /* HAVE_OPENSSL_ECDH_H */
35 #endif /* HAVE_LIBCRYPTO */
36 
37 #ifdef HAVE_GCRYPT_ECC
38 #define HAVE_ECDH 1
39 #endif
40 
41 #ifdef HAVE_LIBMBEDCRYPTO
42 #define HAVE_ECDH 1
43 #endif
44 
45 extern struct ssh_packet_callbacks_struct ssh_ecdh_client_callbacks;
46 /* Backend-specific functions. */
47 int ssh_client_ecdh_init(ssh_session session);
48 int ecdh_build_k(ssh_session session);
49 
50 #ifdef WITH_SERVER
51 extern struct ssh_packet_callbacks_struct ssh_ecdh_server_callbacks;
52 void ssh_server_ecdh_init(ssh_session session);
53 SSH_PACKET_CALLBACK(ssh_packet_server_ecdh_init);
54 #endif /* WITH_SERVER */
55 
56 #endif /* ECDH_H_ */
Definition: callbacks.h:530
Definition: session.h:109
#define SSH_PACKET_CALLBACK(name)
This macro declares a packet callback handler.
Definition: callbacks.h:527