X-Git-Url: https://git.openssl.org/?a=blobdiff_plain;f=crypto%2Fbuffer%2Fbuffer.h;h=1db9607450373c7df8ac6bc4c0ef20f8d16f06b4;hb=15ac971681bb81b9ab36383eb7014449ad190f9a;hp=b5d7d654699f992ab35955c8093d5bc9d3f818da;hpb=6d31193858f176c276fe5f27d36408977933c1d6;p=openssl.git diff --git a/crypto/buffer/buffer.h b/crypto/buffer/buffer.h index b5d7d65469..1db9607450 100644 --- a/crypto/buffer/buffer.h +++ b/crypto/buffer/buffer.h @@ -59,47 +59,56 @@ #ifndef HEADER_BUFFER_H #define HEADER_BUFFER_H +#include + #ifdef __cplusplus extern "C" { #endif -typedef struct buf_mem_st +#include + +#if !defined(NO_SYS_TYPES_H) +#include +#endif + +/* Already declared in ossl_typ.h */ +/* typedef struct buf_mem_st BUF_MEM; */ + +struct buf_mem_st { int length; /* current number of bytes */ char *data; int max; /* size of buffer */ - } BUF_MEM; + }; -#ifndef NOPROTO BUF_MEM *BUF_MEM_new(void); void BUF_MEM_free(BUF_MEM *a); int BUF_MEM_grow(BUF_MEM *str, int len); +int BUF_MEM_grow_clean(BUF_MEM *str, int len); char * BUF_strdup(const char *str); +char * BUF_strndup(const char *str, size_t siz); +void * BUF_memdup(const void *data, size_t siz); -void ERR_load_BUF_strings(void ); +/* safe string functions */ +size_t BUF_strlcpy(char *dst,const char *src,size_t siz); +size_t BUF_strlcat(char *dst,const char *src,size_t siz); -#else - -BUF_MEM *BUF_MEM_new(); -void BUF_MEM_free(); -int BUF_MEM_grow(); -char * BUF_strdup(); - -void ERR_load_BUF_strings(); - -#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. */ +void ERR_load_BUF_strings(void); /* Error codes for the BUF functions. */ /* Function codes. */ +#define BUF_F_BUF_MEMDUP 103 #define BUF_F_BUF_MEM_GROW 100 +#define BUF_F_BUF_MEM_GROW_CLEAN 105 #define BUF_F_BUF_MEM_NEW 101 #define BUF_F_BUF_STRDUP 102 +#define BUF_F_BUF_STRNDUP 104 /* Reason codes. */ @@ -107,4 +116,3 @@ void ERR_load_BUF_strings(); } #endif #endif -