webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Classes | Macros | Typedefs | Functions
stack.h File Reference
#include <openssl/base.h>
#include <openssl/type_check.h>
#include <openssl/stack_macros.h>

Go to the source code of this file.

Classes

struct  stack_st
 

Macros

#define STACK_OF(type)   struct stack_st_##type
 
#define DECLARE_STACK_OF(type)   STACK_OF(type);
 
#define DEFINE_SPECIAL_STACK_OF(type, inner)
 
#define IN_STACK_H
 

Typedefs

typedef int(* stack_cmp_func) (const void **a, const void **b)
 
typedef struct stack_st _STACK
 
typedef char * OPENSSL_STRING
 

Functions

OPENSSL_EXPORT _STACKsk_new (stack_cmp_func comp)
 
OPENSSL_EXPORT _STACKsk_new_null (void)
 
OPENSSL_EXPORT size_t sk_num (const _STACK *sk)
 
OPENSSL_EXPORT void sk_zero (_STACK *sk)
 
OPENSSL_EXPORT voidsk_value (const _STACK *sk, size_t i)
 
OPENSSL_EXPORT voidsk_set (_STACK *sk, size_t i, void *p)
 
OPENSSL_EXPORT void sk_free (_STACK *sk)
 
OPENSSL_EXPORT void sk_pop_free (_STACK *sk, void(*free_func)(void *))
 
OPENSSL_EXPORT size_t sk_insert (_STACK *sk, void *p, size_t where)
 
OPENSSL_EXPORT voidsk_delete (_STACK *sk, size_t where)
 
OPENSSL_EXPORT voidsk_delete_ptr (_STACK *sk, void *p)
 
OPENSSL_EXPORT int sk_find (_STACK *sk, size_t *out_index, void *p)
 
OPENSSL_EXPORT voidsk_shift (_STACK *sk)
 
OPENSSL_EXPORT size_t sk_push (_STACK *sk, void *p)
 
OPENSSL_EXPORT voidsk_pop (_STACK *sk)
 
OPENSSL_EXPORT _STACKsk_dup (const _STACK *sk)
 
OPENSSL_EXPORT void sk_sort (_STACK *sk)
 
OPENSSL_EXPORT int sk_is_sorted (const _STACK *sk)
 
OPENSSL_EXPORT stack_cmp_func sk_set_cmp_func (_STACK *sk, stack_cmp_func comp)
 
OPENSSL_EXPORT _STACKsk_deep_copy (const _STACK *sk, void *(*copy_func)(void *), void(*free_func)(void *))
 

Macro Definition Documentation

◆ DECLARE_STACK_OF

#define DECLARE_STACK_OF (   type)    STACK_OF(type);

◆ DEFINE_SPECIAL_STACK_OF

#define DEFINE_SPECIAL_STACK_OF (   type,
  inner 
)
Value:
STACK_OF(type) { _STACK special_stack; }; \
OPENSSL_COMPILE_ASSERT(sizeof(type) == sizeof(void *), \
special_stack_of_non_pointer_##type);
Definition: stack.h:97
#define STACK_OF(type)
Definition: stack.h:112
EGLenum type
Definition: eglext.h:63

◆ IN_STACK_H

#define IN_STACK_H

◆ STACK_OF

#define STACK_OF (   type)    struct stack_st_##type

Typedef Documentation

◆ _STACK

◆ OPENSSL_STRING

◆ stack_cmp_func

typedef int(* stack_cmp_func) (const void **a, const void **b)

Function Documentation

◆ sk_deep_copy()

OPENSSL_EXPORT _STACK* sk_deep_copy ( const _STACK sk,
void *(*)(void *)  copy_func,
void(*)(void *)  free_func 
)

◆ sk_delete()

OPENSSL_EXPORT void* sk_delete ( _STACK sk,
size_t  where 
)

◆ sk_delete_ptr()

OPENSSL_EXPORT void* sk_delete_ptr ( _STACK sk,
void p 
)

◆ sk_dup()

OPENSSL_EXPORT _STACK* sk_dup ( const _STACK sk)

◆ sk_find()

OPENSSL_EXPORT int sk_find ( _STACK sk,
size_t out_index,
void p 
)

◆ sk_free()

OPENSSL_EXPORT void sk_free ( _STACK sk)

◆ sk_insert()

OPENSSL_EXPORT size_t sk_insert ( _STACK sk,
void p,
size_t  where 
)

◆ sk_is_sorted()

OPENSSL_EXPORT int sk_is_sorted ( const _STACK sk)

◆ sk_new()

◆ sk_new_null()

OPENSSL_EXPORT _STACK* sk_new_null ( void  )

◆ sk_num()

OPENSSL_EXPORT size_t sk_num ( const _STACK sk)

◆ sk_pop()

OPENSSL_EXPORT void* sk_pop ( _STACK sk)

◆ sk_pop_free()

OPENSSL_EXPORT void sk_pop_free ( _STACK sk,
void(*)(void *)  free_func 
)

◆ sk_push()

OPENSSL_EXPORT size_t sk_push ( _STACK sk,
void p 
)

◆ sk_set()

OPENSSL_EXPORT void* sk_set ( _STACK sk,
size_t  i,
void p 
)

◆ sk_set_cmp_func()

OPENSSL_EXPORT stack_cmp_func sk_set_cmp_func ( _STACK sk,
stack_cmp_func  comp 
)

◆ sk_shift()

OPENSSL_EXPORT void* sk_shift ( _STACK sk)

◆ sk_sort()

OPENSSL_EXPORT void sk_sort ( _STACK sk)

◆ sk_value()

OPENSSL_EXPORT void* sk_value ( const _STACK sk,
size_t  i 
)

◆ sk_zero()

OPENSSL_EXPORT void sk_zero ( _STACK sk)