]>
jfr.im git - solanum.git/blob - libratbox/include/commio-ssl.h
2 * ircd-ratbox: A slightly useful ircd.
3 * commio-ssl.h: A header for the ssl code
5 * Copyright (C) 2008 ircd-ratbox development team
7 * This program 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 * This program 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 this program; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
22 * $Id: commio-ssl.h 26280 2008-12-10 20:25:29Z androsyn $
28 int rb_setup_ssl_server(const char *cert
, const char *keyfile
, const char *dhfile
);
29 int rb_init_ssl(void);
31 int rb_ssl_listen(rb_fde_t
*F
, int backlog
, int defer_accept
);
32 int rb_init_prng(const char *path
, prng_seed_t seed_type
);
34 int rb_get_random(void *buf
, size_t length
);
35 const char *rb_get_ssl_strerror(rb_fde_t
*F
);
36 void rb_ssl_start_accepted(rb_fde_t
*new_F
, ACCB
* cb
, void *data
, int timeout
);
37 void rb_ssl_start_connected(rb_fde_t
*F
, CNCB
* callback
, void *data
, int timeout
);
38 void rb_connect_tcp_ssl(rb_fde_t
*F
, struct sockaddr
*dest
, struct sockaddr
*clocal
, int socklen
,
39 CNCB
* callback
, void *data
, int timeout
);
40 void rb_ssl_accept_setup(rb_fde_t
*F
, rb_fde_t
*new_F
, struct sockaddr
*st
, int addrlen
);
41 void rb_ssl_shutdown(rb_fde_t
*F
);
42 ssize_t
rb_ssl_read(rb_fde_t
*F
, void *buf
, size_t count
);
43 ssize_t
rb_ssl_write(rb_fde_t
*F
, const void *buf
, size_t count
);
44 void rb_get_ssl_info(char *buf
, size_t length
);