extern "C" {
#endif
-#include "crypto.h"
+#include <openssl/crypto.h>
/* These are the 'types' of BIOs */
#define BIO_TYPE_NONE 0
typedef struct bio_method_st
{
int type;
- char *name;
+ const char *name;
int (*bwrite)();
int (*bread)();
int (*bputs)();
typedef struct bio_method_st
{
int type;
- char *name;
+ const char *name;
int (_far *bwrite)();
int (_far *bread)();
int (_far *bputs)();
BIO_METHOD *method;
#ifndef NOPROTO
/* bio, mode, argp, argi, argl, ret */
- long (*callback)(struct bio_st *,int,char *,int, long,long);
+ long (*callback)(struct bio_st *,int,const char *,int, long,long);
#else
long (*callback)();
#endif
#define BIO_set_app_data(s,arg) BIO_set_ex_data(s,0,(char *)arg)
#define BIO_get_app_data(s) BIO_get_ex_data(s,0)
-int BIO_get_ex_num(BIO *bio);
-int BIO_set_ex_data(BIO *bio,int idx,char *data);
-char *BIO_get_ex_data(BIO *bio,int idx);
-void BIO_set_ex_free_func(BIO *bio,int idx,void (*cb)());
-int BIO_get_ex_new_index(long argl, char *argp, int (*new_func)(),
- int (*dup_func)(), void (*free_func)());
-
/* BIO_s_connect() and BIO_s_socks4a_connect() */
#define BIO_set_conn_hostname(b,name) BIO_ctrl(b,BIO_C_SET_CONNECT,0,(char *)name)
#define BIO_set_conn_port(b,port) BIO_ctrl(b,BIO_C_SET_CONNECT,1,(char *)port)
#define BIO_seek(b,ofs) (int)BIO_ctrl(b,BIO_C_FILE_SEEK,ofs,NULL)
#define BIO_tell(b) (int)BIO_ctrl(b,BIO_C_FILE_TELL,0,NULL)
+/* name is cast to lose const, but might be better to route through a function
+ so we can do it safely */
+#ifdef CONST_STRICT
+/* If you are wondering why this isn't defined, its because CONST_STRICT is
+ * purely a compile-time kludge to allow const to be checked.
+ */
+int BIO_read_filename(BIO *b,const char *name);
+#else
#define BIO_read_filename(b,name) BIO_ctrl(b,BIO_C_SET_FILENAME, \
- BIO_CLOSE|BIO_FP_READ,name)
+ BIO_CLOSE|BIO_FP_READ,(char *)name)
+#endif
#define BIO_write_filename(b,name) BIO_ctrl(b,BIO_C_SET_FILENAME, \
BIO_CLOSE|BIO_FP_WRITE,name)
#define BIO_append_filename(b,name) BIO_ctrl(b,BIO_C_SET_FILENAME, \
#endif
#ifndef NOPROTO
+
+/* These two aren't currently implemented */
+/* int BIO_get_ex_num(BIO *bio); */
+/* void BIO_set_ex_free_func(BIO *bio,int idx,void (*cb)()); */
+int BIO_set_ex_data(BIO *bio,int idx,char *data);
+char *BIO_get_ex_data(BIO *bio,int idx);
+int BIO_get_ex_new_index(long argl, char *argp, int (*new_func)(),
+ int (*dup_func)(), void (*free_func)());
+
# if defined(WIN16) && defined(_WINDLL)
BIO_METHOD *BIO_s_file_internal(void);
BIO *BIO_new_file_internal(char *filename, char *mode);
# define BIO_new_fp_internal BIO_s_file
# endif /* FP_API */
#else
+
+/* These two aren't currently implemented */
+/*int BIO_get_ex_num();*/
+/*void BIO_set_ex_free_func();*/
+int BIO_set_ex_data();
+char *BIO_get_ex_data();
+int BIO_get_ex_new_index();
+
# if defined(WIN16) && defined(_WINDLL)
BIO_METHOD *BIO_s_file_internal();
BIO *BIO_new_file_internal();
BIO * BIO_new(BIO_METHOD *type);
int BIO_set(BIO *a,BIO_METHOD *type);
int BIO_free(BIO *a);
-int BIO_read(BIO *b, char *data, int len);
+int BIO_read(BIO *b, void *data, int len);
int BIO_gets(BIO *bp,char *buf, int size);
-int BIO_write(BIO *b, char *data, int len);
-int BIO_puts(BIO *bp,char *buf);
+int BIO_write(BIO *b, const char *data, int len);
+int BIO_puts(BIO *bp,const char *buf);
long BIO_ctrl(BIO *bp,int cmd,long larg,char *parg);
char * BIO_ptr_ctrl(BIO *bp,int cmd,long larg);
long BIO_int_ctrl(BIO *bp,int cmd,long larg,int iarg);
BIO * BIO_dup_chain(BIO *in);
#ifndef WIN16
-long BIO_debug_callback(BIO *bio,int cmd,char *argp,int argi,
+long BIO_debug_callback(BIO *bio,int cmd,const char *argp,int argi,
long argl,long ret);
#else
-long _far _loadds BIO_debug_callback(BIO *bio,int cmd,char *argp,int argi,
+long _far _loadds BIO_debug_callback(BIO *bio,int cmd,const char *argp,int argi,
long argl,long ret);
#endif
BIO_METHOD *BIO_s_connect(void);
BIO_METHOD *BIO_s_accept(void);
BIO_METHOD *BIO_s_fd(void);
+BIO_METHOD *BIO_s_log(void);
BIO_METHOD *BIO_s_null(void);
BIO_METHOD *BIO_f_null(void);
BIO_METHOD *BIO_f_buffer(void);
int BIO_sock_non_fatal_error(int error);
int BIO_fd_should_retry(int i);
int BIO_fd_non_fatal_error(int error);
-int BIO_dump(BIO *b,char *bytes,int len);
+int BIO_dump(BIO *b,const char *bytes,int len);
-struct hostent *BIO_gethostbyname(char *name);
+struct hostent *BIO_gethostbyname(const char *name);
int BIO_sock_error(int sock);
int BIO_socket_ioctl(int fd, long type, unsigned long *arg);
int BIO_socket_nbio(int fd,int mode);
-int BIO_get_port(char *str, unsigned short *port_ptr);
-int BIO_get_host_ip(char *str, unsigned char *ip);
+int BIO_get_port(const char *str, unsigned short *port_ptr);
+int BIO_get_host_ip(const char *str, unsigned char *ip);
int BIO_get_accept_socket(char *host_port,int mode);
int BIO_accept(int sock,char **ip_port);
int BIO_sock_init(void );
BIO_METHOD *BIO_s_connect();
BIO_METHOD *BIO_s_accept();
BIO_METHOD *BIO_s_fd();
+BIO_METHOD *BIO_s_log();
BIO_METHOD *BIO_s_null();
BIO_METHOD *BIO_f_null();
BIO_METHOD *BIO_f_buffer();
#endif
/* BEGIN ERROR CODES */
+/* The following lines are auto generated by the script mkerr.pl. Any changes
+ * made after this point may be overwritten when the script is next run.
+ */
+
/* Error codes for the BIO functions. */
/* Function codes. */
#define BIO_F_CONN_STATE 115
#define BIO_F_FILE_CTRL 116
#define BIO_F_MEM_WRITE 117
-#define BIO_F_SSL_NEW 119
-#define BIO_F_WSASTARTUP 120
+#define BIO_F_SSL_NEW 118
+#define BIO_F_WSASTARTUP 119
/* Reason codes. */
#define BIO_R_ACCEPT_ERROR 100
#define BIO_R_KEEPALIVE 109
#define BIO_R_NBIO_CONNECT_ERROR 110
#define BIO_R_NO_ACCEPT_PORT_SPECIFIED 111
-#define BIO_R_NO_HOSTHNAME_SPECIFIED 112
+#define BIO_R_NO_HOSTNAME_SPECIFIED 112
#define BIO_R_NO_PORT_DEFINED 113
#define BIO_R_NO_PORT_SPECIFIED 114
#define BIO_R_NULL_PARAMETER 115
-#define BIO_R_SOCKS_ID_AND_IDENT_DID_NOT_MATCH 116
-#define BIO_R_SOCKS_REJECTED_CONNECTION 117
-#define BIO_R_SOCKS_UNABLE_TO_TALK_TO_IDENT_SERVER 118
-#define BIO_R_SOCKS_UNKNOWN_ERROR 119
-#define BIO_R_TAG_MISMATCH 120
-#define BIO_R_UNABLE_TO_BIND_SOCKET 121
-#define BIO_R_UNABLE_TO_CREATE_SOCKET 122
-#define BIO_R_UNABLE_TO_LISTEN_SOCKET 123
-#define BIO_R_UNINITALISED 124
-#define BIO_R_UNSUPPORTED_METHOD 125
-#define BIO_R_WSASTARTUP 126
-
+#define BIO_R_TAG_MISMATCH 116
+#define BIO_R_UNABLE_TO_BIND_SOCKET 117
+#define BIO_R_UNABLE_TO_CREATE_SOCKET 118
+#define BIO_R_UNABLE_TO_LISTEN_SOCKET 119
+#define BIO_R_UNINITIALIZED 120
+#define BIO_R_UNSUPPORTED_METHOD 121
+#define BIO_R_WSASTARTUP 122
+
#ifdef __cplusplus
}
#endif