kinetic-c  v0.12.0
Seagate Kinetic Protocol Client Library for C
bus_ssl.h
Go to the documentation of this file.
1 /*
2 * kinetic-c
3 * Copyright (C) 2015 Seagate Technology.
4 *
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License
7 * as published by the Free Software Foundation; either version 2
8 * of the License, or (at your option) any later version.
9 *
10 * This program 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.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18 *
19 */
20 #ifndef BUS_SSL_H
21 #define BUS_SSL_H
22 
23 #include "bus.h"
24 #include "bus_internal_types.h"
25 
26 /* Default to TLS 1.1 for now, since it's what the drives support. */
27 #ifndef KINETIC_USE_TLS_1_2
28 #define KINETIC_USE_TLS_1_2 0
29 #endif
30 
32 bool BusSSL_Init(struct bus *b);
33 
35 SSL *BusSSL_Connect(struct bus *b, int fd);
36 
38 bool BusSSL_Disconnect(struct bus *b, SSL *ssl);
39 
41 void BusSSL_CtxFree(struct bus *b);
42 
43 #endif
Message bus.
bool BusSSL_Disconnect(struct bus *b, SSL *ssl)
Disconnect and free an individual SSL handle.
Definition: bus_ssl.c:73
SSL * BusSSL_Connect(struct bus *b, int fd)
Do an SSL / TLS shake for a connection.
Definition: bus_ssl.c:51
void BusSSL_CtxFree(struct bus *b)
Free all internal data for using SSL (the SSL_CTX).
Definition: bus_ssl.c:80
bool BusSSL_Init(struct bus *b)
Initialize the SSL library internals for use by the messaging bus.
Definition: bus_ssl.c:36