buffer.h (1694B)
1 /* buffer.h 2 * 3 * Copyright (C) 2006-2025 wolfSSL Inc. 4 * 5 * This file is part of wolfSSL. 6 * 7 * wolfSSL 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 3 of the License, or 10 * (at your option) any later version. 11 * 12 * wolfSSL 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. 16 * 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-1335, USA 20 */ 21 22 23 #ifndef WOLFSSL_BUFFER_H_ 24 #define WOLFSSL_BUFFER_H_ 25 26 #include <wolfssl/wolfcrypt/settings.h> 27 #include <wolfssl/openssl/ssl.h> 28 29 #ifdef __cplusplus 30 extern "C" { 31 #endif 32 33 34 WOLFSSL_API WOLFSSL_BUF_MEM* wolfSSL_BUF_MEM_new(void); 35 WOLFSSL_API int wolfSSL_BUF_MEM_grow(WOLFSSL_BUF_MEM* buf, size_t len); 36 WOLFSSL_API int wolfSSL_BUF_MEM_grow_ex(WOLFSSL_BUF_MEM* buf, size_t len, 37 char zeroFill); 38 WOLFSSL_API int wolfSSL_BUF_MEM_resize(WOLFSSL_BUF_MEM* buf, size_t len); 39 WOLFSSL_API void wolfSSL_BUF_MEM_free(WOLFSSL_BUF_MEM* buf); 40 41 #ifndef OPENSSL_COEXIST 42 43 #define BUF_MEM_new wolfSSL_BUF_MEM_new 44 #define BUF_MEM_grow wolfSSL_BUF_MEM_grow 45 #define BUF_MEM_free wolfSSL_BUF_MEM_free 46 47 #define BUF_strdup strdup 48 #define BUF_strlcpy wc_strlcpy 49 #define BUF_strlcat wc_strlcat 50 51 #endif /* !OPENSSL_COEXIST */ 52 53 #ifdef __cplusplus 54 } /* extern "C" */ 55 #endif 56 57 #endif /* WOLFSSL_BUFFER_H_ */