wolfSSL SSL/TLS library, support up to TLS1.3

Dependents:   CyaSSL-Twitter-OAuth4Tw Example-client-tls-cert TwitterReader TweetTest ... more

Committer:
wolfSSL
Date:
Thu Jun 04 23:57:22 2020 +0000
Revision:
16:8e0d178b1d1e
Parent:
3:6f956bdb3073
wolfSSL 4.4.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
wolfSSL 16:8e0d178b1d1e 1 /* stack.h
wolfSSL 16:8e0d178b1d1e 2 *
wolfSSL 16:8e0d178b1d1e 3 * Copyright (C) 2006-2020 wolfSSL Inc.
wolfSSL 16:8e0d178b1d1e 4 *
wolfSSL 16:8e0d178b1d1e 5 * This file is part of wolfSSL.
wolfSSL 16:8e0d178b1d1e 6 *
wolfSSL 16:8e0d178b1d1e 7 * wolfSSL is free software; you can redistribute it and/or modify
wolfSSL 16:8e0d178b1d1e 8 * it under the terms of the GNU General Public License as published by
wolfSSL 16:8e0d178b1d1e 9 * the Free Software Foundation; either version 2 of the License, or
wolfSSL 16:8e0d178b1d1e 10 * (at your option) any later version.
wolfSSL 16:8e0d178b1d1e 11 *
wolfSSL 16:8e0d178b1d1e 12 * wolfSSL is distributed in the hope that it will be useful,
wolfSSL 16:8e0d178b1d1e 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
wolfSSL 16:8e0d178b1d1e 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
wolfSSL 16:8e0d178b1d1e 15 * GNU General Public License for more details.
wolfSSL 16:8e0d178b1d1e 16 *
wolfSSL 16:8e0d178b1d1e 17 * You should have received a copy of the GNU General Public License
wolfSSL 16:8e0d178b1d1e 18 * along with this program; if not, write to the Free Software
wolfSSL 16:8e0d178b1d1e 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
wolfSSL 16:8e0d178b1d1e 20 */
wolfSSL 16:8e0d178b1d1e 21
wolfSSL 16:8e0d178b1d1e 22 /* stack.h for openSSL */
wolfSSL 16:8e0d178b1d1e 23
wolfSSL 16:8e0d178b1d1e 24 #ifndef WOLFSSL_STACK_H_
wolfSSL 16:8e0d178b1d1e 25 #define WOLFSSL_STACK_H_
wolfSSL 16:8e0d178b1d1e 26
wolfSSL 16:8e0d178b1d1e 27 #ifdef __cplusplus
wolfSSL 16:8e0d178b1d1e 28 extern "C" {
wolfSSL 16:8e0d178b1d1e 29 #endif
wolfSSL 3:6f956bdb3073 30
wolfSSL 16:8e0d178b1d1e 31 typedef void (*wolfSSL_sk_freefunc)(void *);
wolfSSL 16:8e0d178b1d1e 32
wolfSSL 16:8e0d178b1d1e 33 WOLFSSL_API void wolfSSL_sk_GENERIC_pop_free(WOLFSSL_STACK* sk, wolfSSL_sk_freefunc);
wolfSSL 16:8e0d178b1d1e 34 WOLFSSL_API void wolfSSL_sk_GENERIC_free(WOLFSSL_STACK *);
wolfSSL 16:8e0d178b1d1e 35 WOLFSSL_API int wolfSSL_sk_GENERIC_push(WOLFSSL_STACK *sk, void *data);
wolfSSL 16:8e0d178b1d1e 36 WOLFSSL_API void wolfSSL_sk_pop_free(WOLFSSL_STACK *st, void (*func) (void *));
wolfSSL 16:8e0d178b1d1e 37 WOLFSSL_API void wolfSSL_sk_CONF_VALUE_free(WOLF_STACK_OF(WOLFSSL_CONF_VALUE)* sk);
wolfSSL 16:8e0d178b1d1e 38 WOLFSSL_API WOLFSSL_STACK *wolfSSL_sk_new_null(void);
wolfSSL 16:8e0d178b1d1e 39
wolfSSL 16:8e0d178b1d1e 40 WOLFSSL_API int wolfSSL_sk_CIPHER_push(WOLFSSL_STACK *st,WOLFSSL_CIPHER *cipher);
wolfSSL 16:8e0d178b1d1e 41 WOLFSSL_API WOLFSSL_CIPHER* wolfSSL_sk_CIPHER_pop(WOLF_STACK_OF(WOLFSSL_CIPHER)* sk);
wolfSSL 16:8e0d178b1d1e 42 WOLFSSL_API WOLFSSL_STACK* wolfSSL_sk_new_cipher(void);
wolfSSL 16:8e0d178b1d1e 43
wolfSSL 16:8e0d178b1d1e 44 #define OPENSSL_sk_free wolfSSL_sk_free
wolfSSL 16:8e0d178b1d1e 45 #define OPENSSL_sk_pop_free wolfSSL_sk_pop_free
wolfSSL 16:8e0d178b1d1e 46 #define OPENSSL_sk_new_null wolfSSL_sk_new_null
wolfSSL 16:8e0d178b1d1e 47 #define OPENSSL_sk_push wolfSSL_sk_push
wolfSSL 16:8e0d178b1d1e 48
wolfSSL 16:8e0d178b1d1e 49 /* provides older OpenSSL API compatibility */
wolfSSL 16:8e0d178b1d1e 50 #define sk_free OPENSSL_sk_free
wolfSSL 16:8e0d178b1d1e 51 #define sk_pop_free OPENSSL_sk_pop_free
wolfSSL 16:8e0d178b1d1e 52 #define sk_new_null OPENSSL_sk_new_null
wolfSSL 16:8e0d178b1d1e 53 #define sk_push OPENSSL_sk_push
wolfSSL 16:8e0d178b1d1e 54
wolfSSL 16:8e0d178b1d1e 55 #ifdef __cplusplus
wolfSSL 16:8e0d178b1d1e 56 }
wolfSSL 16:8e0d178b1d1e 57 #endif
wolfSSL 16:8e0d178b1d1e 58
wolfSSL 16:8e0d178b1d1e 59 #endif
wolfSSL 3:6f956bdb3073 60