xref: /netbsd-src/crypto/external/bsd/openssl/lib/libcrypto/gen (revision d189132c8696fcf1797b3a062510131890830201)
15583db7cSchristos#!/bin/sh
25583db7cSchristos
35583db7cSchristosawk '
45583db7cSchristos/- join\(/ {
55583db7cSchristos	printf(" * WARNING: do not edit!\n");
6cd98df33Schristos	i = index(FILENAME, "/crypto/external");
75583db7cSchristos	s = substr(FILENAME, i);
8cd98df33Schristos	printf(" * Generated by Makefile from /usr/src%s\n", s);
95583db7cSchristos	next;
105583db7cSchristos}
115583db7cSchristos/use OpenSSL/ {
125583db7cSchristos	next;
135583db7cSchristos}
14*d189132cSpalle/^\{-/ {
155583db7cSchristos	next;
165583db7cSchristos}
175583db7cSchristos/^-}/ {
185583db7cSchristos	next;
195583db7cSchristos}
205583db7cSchristos/generate_stack_string_macros\(/ {
215583db7cSchristosV="SKM_DEFINE_STACK_OF_INTERNAL(OPENSSL_STRING, char, char)\n"
225583db7cSchristosV=V"#define sk_OPENSSL_STRING_num(sk) OPENSSL_sk_num(ossl_check_const_OPENSSL_STRING_sk_type(sk))\n"
235583db7cSchristosV=V"#define sk_OPENSSL_STRING_value(sk, idx) ((char *)OPENSSL_sk_value(ossl_check_const_OPENSSL_STRING_sk_type(sk), (idx)))\n"
245583db7cSchristosV=V"#define sk_OPENSSL_STRING_new(cmp) ((STACK_OF(OPENSSL_STRING) *)OPENSSL_sk_new(ossl_check_OPENSSL_STRING_compfunc_type(cmp)))\n"
255583db7cSchristosV=V"#define sk_OPENSSL_STRING_new_null() ((STACK_OF(OPENSSL_STRING) *)OPENSSL_sk_new_null())\n"
265583db7cSchristosV=V"#define sk_OPENSSL_STRING_new_reserve(cmp, n) ((STACK_OF(OPENSSL_STRING) *)OPENSSL_sk_new_reserve(ossl_check_OPENSSL_STRING_compfunc_type(cmp), (n)))\n"
275583db7cSchristosV=V"#define sk_OPENSSL_STRING_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_OPENSSL_STRING_sk_type(sk), (n))\n"
285583db7cSchristosV=V"#define sk_OPENSSL_STRING_free(sk) OPENSSL_sk_free(ossl_check_OPENSSL_STRING_sk_type(sk))\n"
295583db7cSchristosV=V"#define sk_OPENSSL_STRING_zero(sk) OPENSSL_sk_zero(ossl_check_OPENSSL_STRING_sk_type(sk))\n"
305583db7cSchristosV=V"#define sk_OPENSSL_STRING_delete(sk, i) ((char *)OPENSSL_sk_delete(ossl_check_OPENSSL_STRING_sk_type(sk), (i)))\n"
315583db7cSchristosV=V"#define sk_OPENSSL_STRING_delete_ptr(sk, ptr) ((char *)OPENSSL_sk_delete_ptr(ossl_check_OPENSSL_STRING_sk_type(sk), ossl_check_OPENSSL_STRING_type(ptr)))\n"
325583db7cSchristosV=V"#define sk_OPENSSL_STRING_push(sk, ptr) OPENSSL_sk_push(ossl_check_OPENSSL_STRING_sk_type(sk), ossl_check_OPENSSL_STRING_type(ptr))\n"
335583db7cSchristosV=V"#define sk_OPENSSL_STRING_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_OPENSSL_STRING_sk_type(sk), ossl_check_OPENSSL_STRING_type(ptr))\n"
345583db7cSchristosV=V"#define sk_OPENSSL_STRING_pop(sk) ((char *)OPENSSL_sk_pop(ossl_check_OPENSSL_STRING_sk_type(sk)))\n"
355583db7cSchristosV=V"#define sk_OPENSSL_STRING_shift(sk) ((char *)OPENSSL_sk_shift(ossl_check_OPENSSL_STRING_sk_type(sk)))\n"
365583db7cSchristosV=V"#define sk_OPENSSL_STRING_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_OPENSSL_STRING_sk_type(sk),ossl_check_OPENSSL_STRING_freefunc_type(freefunc))\n"
375583db7cSchristosV=V"#define sk_OPENSSL_STRING_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_OPENSSL_STRING_sk_type(sk), ossl_check_OPENSSL_STRING_type(ptr), (idx))\n"
385583db7cSchristosV=V"#define sk_OPENSSL_STRING_set(sk, idx, ptr) ((char *)OPENSSL_sk_set(ossl_check_OPENSSL_STRING_sk_type(sk), (idx), ossl_check_OPENSSL_STRING_type(ptr)))\n"
395583db7cSchristosV=V"#define sk_OPENSSL_STRING_find(sk, ptr) OPENSSL_sk_find(ossl_check_OPENSSL_STRING_sk_type(sk), ossl_check_OPENSSL_STRING_type(ptr))\n"
405583db7cSchristosV=V"#define sk_OPENSSL_STRING_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_OPENSSL_STRING_sk_type(sk), ossl_check_OPENSSL_STRING_type(ptr))\n"
415583db7cSchristosV=V"#define sk_OPENSSL_STRING_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_OPENSSL_STRING_sk_type(sk), ossl_check_OPENSSL_STRING_type(ptr), pnum)\n"
425583db7cSchristosV=V"#define sk_OPENSSL_STRING_sort(sk) OPENSSL_sk_sort(ossl_check_OPENSSL_STRING_sk_type(sk))\n"
435583db7cSchristosV=V"#define sk_OPENSSL_STRING_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_OPENSSL_STRING_sk_type(sk))\n"
445583db7cSchristosV=V"#define sk_OPENSSL_STRING_dup(sk) ((STACK_OF(OPENSSL_STRING) *)OPENSSL_sk_dup(ossl_check_const_OPENSSL_STRING_sk_type(sk)))\n"
455583db7cSchristosV=V"#define sk_OPENSSL_STRING_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OPENSSL_STRING) *)OPENSSL_sk_deep_copy(ossl_check_const_OPENSSL_STRING_sk_type(sk), ossl_check_OPENSSL_STRING_copyfunc_type(copyfunc), ossl_check_OPENSSL_STRING_freefunc_type(freefunc)))\n"
465583db7cSchristosV=V"#define sk_OPENSSL_STRING_set_cmp_func(sk, cmp) ((sk_OPENSSL_STRING_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OPENSSL_STRING_sk_type(sk), ossl_check_OPENSSL_STRING_compfunc_type(cmp)))\n"
475583db7cSchristos
485583db7cSchristos	printf("%s", V);
495583db7cSchristos	next;
505583db7cSchristos}
515583db7cSchristos/generate_stack_string_macros/ {
525583db7cSchristos	next;
535583db7cSchristos}
545583db7cSchristos/generate_stack_const_string_macros\(/ {
555583db7cSchristos
565583db7cSchristosV="SKM_DEFINE_STACK_OF_INTERNAL(OPENSSL_CSTRING, const char, char)\n"
575583db7cSchristosV=V"#define sk_OPENSSL_CSTRING_num(sk) OPENSSL_sk_num(ossl_check_const_OPENSSL_CSTRING_sk_type(sk))\n"
585583db7cSchristosV=V"#define sk_OPENSSL_CSTRING_value(sk, idx) ((const char *)OPENSSL_sk_value(ossl_check_const_OPENSSL_CSTRING_sk_type(sk), (idx)))\n"
595583db7cSchristosV=V"#define sk_OPENSSL_CSTRING_new(cmp) ((STACK_OF(OPENSSL_CSTRING) *)OPENSSL_sk_new(ossl_check_OPENSSL_CSTRING_compfunc_type(cmp)))\n"
605583db7cSchristosV=V"#define sk_OPENSSL_CSTRING_new_null() ((STACK_OF(OPENSSL_CSTRING) *)OPENSSL_sk_new_null())\n"
615583db7cSchristosV=V"#define sk_OPENSSL_CSTRING_new_reserve(cmp, n) ((STACK_OF(OPENSSL_CSTRING) *)OPENSSL_sk_new_reserve(ossl_check_OPENSSL_CSTRING_compfunc_type(cmp), (n)))\n"
625583db7cSchristosV=V"#define sk_OPENSSL_CSTRING_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_OPENSSL_CSTRING_sk_type(sk), (n))\n"
635583db7cSchristosV=V"#define sk_OPENSSL_CSTRING_free(sk) OPENSSL_sk_free(ossl_check_OPENSSL_CSTRING_sk_type(sk))\n"
645583db7cSchristosV=V"#define sk_OPENSSL_CSTRING_zero(sk) OPENSSL_sk_zero(ossl_check_OPENSSL_CSTRING_sk_type(sk))\n"
655583db7cSchristosV=V"#define sk_OPENSSL_CSTRING_delete(sk, i) ((const char *)OPENSSL_sk_delete(ossl_check_OPENSSL_CSTRING_sk_type(sk), (i)))\n"
665583db7cSchristosV=V"#define sk_OPENSSL_CSTRING_delete_ptr(sk, ptr) ((const char *)OPENSSL_sk_delete_ptr(ossl_check_OPENSSL_CSTRING_sk_type(sk), ossl_check_OPENSSL_CSTRING_type(ptr)))\n"
675583db7cSchristosV=V"#define sk_OPENSSL_CSTRING_push(sk, ptr) OPENSSL_sk_push(ossl_check_OPENSSL_CSTRING_sk_type(sk), ossl_check_OPENSSL_CSTRING_type(ptr))\n"
685583db7cSchristosV=V"#define sk_OPENSSL_CSTRING_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_OPENSSL_CSTRING_sk_type(sk), ossl_check_OPENSSL_CSTRING_type(ptr))\n"
695583db7cSchristosV=V"#define sk_OPENSSL_CSTRING_pop(sk) ((const char *)OPENSSL_sk_pop(ossl_check_OPENSSL_CSTRING_sk_type(sk)))\n"
705583db7cSchristosV=V"#define sk_OPENSSL_CSTRING_shift(sk) ((const char *)OPENSSL_sk_shift(ossl_check_OPENSSL_CSTRING_sk_type(sk)))\n"
715583db7cSchristosV=V"#define sk_OPENSSL_CSTRING_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_OPENSSL_CSTRING_sk_type(sk),ossl_check_OPENSSL_CSTRING_freefunc_type(freefunc))\n"
725583db7cSchristosV=V"#define sk_OPENSSL_CSTRING_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_OPENSSL_CSTRING_sk_type(sk), ossl_check_OPENSSL_CSTRING_type(ptr), (idx))\n"
735583db7cSchristosV=V"#define sk_OPENSSL_CSTRING_set(sk, idx, ptr) ((const char *)OPENSSL_sk_set(ossl_check_OPENSSL_CSTRING_sk_type(sk), (idx), ossl_check_OPENSSL_CSTRING_type(ptr)))\n"
745583db7cSchristosV=V"#define sk_OPENSSL_CSTRING_find(sk, ptr) OPENSSL_sk_find(ossl_check_OPENSSL_CSTRING_sk_type(sk), ossl_check_OPENSSL_CSTRING_type(ptr))\n"
755583db7cSchristosV=V"#define sk_OPENSSL_CSTRING_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_OPENSSL_CSTRING_sk_type(sk), ossl_check_OPENSSL_CSTRING_type(ptr))\n"
765583db7cSchristosV=V"#define sk_OPENSSL_CSTRING_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_OPENSSL_CSTRING_sk_type(sk), ossl_check_OPENSSL_CSTRING_type(ptr), pnum)\n"
775583db7cSchristosV=V"#define sk_OPENSSL_CSTRING_sort(sk) OPENSSL_sk_sort(ossl_check_OPENSSL_CSTRING_sk_type(sk))\n"
785583db7cSchristosV=V"#define sk_OPENSSL_CSTRING_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_OPENSSL_CSTRING_sk_type(sk))\n"
795583db7cSchristosV=V"#define sk_OPENSSL_CSTRING_dup(sk) ((STACK_OF(OPENSSL_CSTRING) *)OPENSSL_sk_dup(ossl_check_const_OPENSSL_CSTRING_sk_type(sk)))\n"
805583db7cSchristosV=V"#define sk_OPENSSL_CSTRING_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OPENSSL_CSTRING) *)OPENSSL_sk_deep_copy(ossl_check_const_OPENSSL_CSTRING_sk_type(sk), ossl_check_OPENSSL_CSTRING_copyfunc_type(copyfunc), ossl_check_OPENSSL_CSTRING_freefunc_type(freefunc)))\n"
815583db7cSchristosV=V"#define sk_OPENSSL_CSTRING_set_cmp_func(sk, cmp) ((sk_OPENSSL_CSTRING_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OPENSSL_CSTRING_sk_type(sk), ossl_check_OPENSSL_CSTRING_compfunc_type(cmp)))\n"
825583db7cSchristos	printf("%s", V);
835583db7cSchristos	next;
845583db7cSchristos}
855583db7cSchristos/generate_stack_const_string_macros/ {
865583db7cSchristos	next;
875583db7cSchristos}
885583db7cSchristos/generate_stack_block_macros\(/ {
895583db7cSchristos	i = index($0, "\"");
905583db7cSchristos	s = substr($0, i + 1);
915583db7cSchristos	i = index(s, "\"");
925583db7cSchristos	s = substr(s, 1, i - 1);
935583db7cSchristos
945583db7cSchristosV="SKM_DEFINE_STACK_OF_INTERNAL(OPENSSL_BLOCK, void, void)\n"
955583db7cSchristosV=V"#define sk_OPENSSL_BLOCK_num(sk) OPENSSL_sk_num(ossl_check_const_OPENSSL_BLOCK_sk_type(sk))\n"
965583db7cSchristosV=V"#define sk_OPENSSL_BLOCK_value(sk, idx) ((void *)OPENSSL_sk_value(ossl_check_const_OPENSSL_BLOCK_sk_type(sk), (idx)))\n"
975583db7cSchristosV=V"#define sk_OPENSSL_BLOCK_new(cmp) ((STACK_OF(OPENSSL_BLOCK) *)OPENSSL_sk_new(ossl_check_OPENSSL_BLOCK_compfunc_type(cmp)))\n"
985583db7cSchristosV=V"#define sk_OPENSSL_BLOCK_new_null() ((STACK_OF(OPENSSL_BLOCK) *)OPENSSL_sk_new_null())\n"
995583db7cSchristosV=V"#define sk_OPENSSL_BLOCK_new_reserve(cmp, n) ((STACK_OF(OPENSSL_BLOCK) *)OPENSSL_sk_new_reserve(ossl_check_OPENSSL_BLOCK_compfunc_type(cmp), (n)))\n"
1005583db7cSchristosV=V"#define sk_OPENSSL_BLOCK_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_OPENSSL_BLOCK_sk_type(sk), (n))\n"
1015583db7cSchristosV=V"#define sk_OPENSSL_BLOCK_free(sk) OPENSSL_sk_free(ossl_check_OPENSSL_BLOCK_sk_type(sk))\n"
1025583db7cSchristosV=V"#define sk_OPENSSL_BLOCK_zero(sk) OPENSSL_sk_zero(ossl_check_OPENSSL_BLOCK_sk_type(sk))\n"
1035583db7cSchristosV=V"#define sk_OPENSSL_BLOCK_delete(sk, i) ((void *)OPENSSL_sk_delete(ossl_check_OPENSSL_BLOCK_sk_type(sk), (i)))\n"
1045583db7cSchristosV=V"#define sk_OPENSSL_BLOCK_delete_ptr(sk, ptr) ((void *)OPENSSL_sk_delete_ptr(ossl_check_OPENSSL_BLOCK_sk_type(sk), ossl_check_OPENSSL_BLOCK_type(ptr)))\n"
1055583db7cSchristosV=V"#define sk_OPENSSL_BLOCK_push(sk, ptr) OPENSSL_sk_push(ossl_check_OPENSSL_BLOCK_sk_type(sk), ossl_check_OPENSSL_BLOCK_type(ptr))\n"
1065583db7cSchristosV=V"#define sk_OPENSSL_BLOCK_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_OPENSSL_BLOCK_sk_type(sk), ossl_check_OPENSSL_BLOCK_type(ptr))\n"
1075583db7cSchristosV=V"#define sk_OPENSSL_BLOCK_pop(sk) ((void *)OPENSSL_sk_pop(ossl_check_OPENSSL_BLOCK_sk_type(sk)))\n"
1085583db7cSchristosV=V"#define sk_OPENSSL_BLOCK_shift(sk) ((void *)OPENSSL_sk_shift(ossl_check_OPENSSL_BLOCK_sk_type(sk)))\n"
1095583db7cSchristosV=V"#define sk_OPENSSL_BLOCK_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_OPENSSL_BLOCK_sk_type(sk),ossl_check_OPENSSL_BLOCK_freefunc_type(freefunc))\n"
1105583db7cSchristosV=V"#define sk_OPENSSL_BLOCK_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_OPENSSL_BLOCK_sk_type(sk), ossl_check_OPENSSL_BLOCK_type(ptr), (idx))\n"
1115583db7cSchristosV=V"#define sk_OPENSSL_BLOCK_set(sk, idx, ptr) ((void *)OPENSSL_sk_set(ossl_check_OPENSSL_BLOCK_sk_type(sk), (idx), ossl_check_OPENSSL_BLOCK_type(ptr)))\n"
1125583db7cSchristosV=V"#define sk_OPENSSL_BLOCK_find(sk, ptr) OPENSSL_sk_find(ossl_check_OPENSSL_BLOCK_sk_type(sk), ossl_check_OPENSSL_BLOCK_type(ptr))\n"
1135583db7cSchristosV=V"#define sk_OPENSSL_BLOCK_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_OPENSSL_BLOCK_sk_type(sk), ossl_check_OPENSSL_BLOCK_type(ptr))\n"
1145583db7cSchristosV=V"#define sk_OPENSSL_BLOCK_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_OPENSSL_BLOCK_sk_type(sk), ossl_check_OPENSSL_BLOCK_type(ptr), pnum)\n"
1155583db7cSchristosV=V"#define sk_OPENSSL_BLOCK_sort(sk) OPENSSL_sk_sort(ossl_check_OPENSSL_BLOCK_sk_type(sk))\n"
1165583db7cSchristosV=V"#define sk_OPENSSL_BLOCK_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_OPENSSL_BLOCK_sk_type(sk))\n"
1175583db7cSchristosV=V"#define sk_OPENSSL_BLOCK_dup(sk) ((STACK_OF(OPENSSL_BLOCK) *)OPENSSL_sk_dup(ossl_check_const_OPENSSL_BLOCK_sk_type(sk)))\n"
1185583db7cSchristosV=V"#define sk_OPENSSL_BLOCK_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OPENSSL_BLOCK) *)OPENSSL_sk_deep_copy(ossl_check_const_OPENSSL_BLOCK_sk_type(sk), ossl_check_OPENSSL_BLOCK_copyfunc_type(copyfunc), ossl_check_OPENSSL_BLOCK_freefunc_type(freefunc)))\n"
1195583db7cSchristosV=V"#define sk_OPENSSL_BLOCK_set_cmp_func(sk, cmp) ((sk_OPENSSL_BLOCK_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OPENSSL_BLOCK_sk_type(sk), ossl_check_OPENSSL_BLOCK_compfunc_type(cmp)))\n"
1205583db7cSchristos
1215583db7cSchristos	gsub("@", s, V);
1225583db7cSchristos	printf("%s\n", V);
1235583db7cSchristos	next;
1245583db7cSchristos}
1255583db7cSchristos/generate_stack_block_macros/ {
1265583db7cSchristos	next;
1275583db7cSchristos}
1285583db7cSchristos/generate_const_stack_macros\(/ {
1295583db7cSchristos	i = index($0, "\"");
1305583db7cSchristos	s = substr($0, i + 1);
1315583db7cSchristos	i = index(s, "\"");
1325583db7cSchristos	s = substr(s, 1, i - 1);
1335583db7cSchristos
1345583db7cSchristosV="SKM_DEFINE_STACK_OF_INTERNAL(SSL_CIPHER, const SSL_CIPHER, SSL_CIPHER)\n"
1355583db7cSchristosV=V"#define sk_SSL_CIPHER_num(sk) OPENSSL_sk_num(ossl_check_const_SSL_CIPHER_sk_type(sk))\n"
1365583db7cSchristosV=V"#define sk_SSL_CIPHER_value(sk, idx) ((const SSL_CIPHER *)OPENSSL_sk_value(ossl_check_const_SSL_CIPHER_sk_type(sk), (idx)))\n"
1375583db7cSchristosV=V"#define sk_SSL_CIPHER_new(cmp) ((STACK_OF(SSL_CIPHER) *)OPENSSL_sk_new(ossl_check_SSL_CIPHER_compfunc_type(cmp)))\n"
1385583db7cSchristosV=V"#define sk_SSL_CIPHER_new_null() ((STACK_OF(SSL_CIPHER) *)OPENSSL_sk_new_null())\n"
1395583db7cSchristosV=V"#define sk_SSL_CIPHER_new_reserve(cmp, n) ((STACK_OF(SSL_CIPHER) *)OPENSSL_sk_new_reserve(ossl_check_SSL_CIPHER_compfunc_type(cmp), (n)))\n"
1405583db7cSchristosV=V"#define sk_SSL_CIPHER_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_SSL_CIPHER_sk_type(sk), (n))\n"
1415583db7cSchristosV=V"#define sk_SSL_CIPHER_free(sk) OPENSSL_sk_free(ossl_check_SSL_CIPHER_sk_type(sk))\n"
1425583db7cSchristosV=V"#define sk_SSL_CIPHER_zero(sk) OPENSSL_sk_zero(ossl_check_SSL_CIPHER_sk_type(sk))\n"
1435583db7cSchristosV=V"#define sk_SSL_CIPHER_delete(sk, i) ((const SSL_CIPHER *)OPENSSL_sk_delete(ossl_check_SSL_CIPHER_sk_type(sk), (i)))\n"
1445583db7cSchristosV=V"#define sk_SSL_CIPHER_delete_ptr(sk, ptr) ((const SSL_CIPHER *)OPENSSL_sk_delete_ptr(ossl_check_SSL_CIPHER_sk_type(sk), ossl_check_SSL_CIPHER_type(ptr)))\n"
1455583db7cSchristosV=V"#define sk_SSL_CIPHER_push(sk, ptr) OPENSSL_sk_push(ossl_check_SSL_CIPHER_sk_type(sk), ossl_check_SSL_CIPHER_type(ptr))\n"
1465583db7cSchristosV=V"#define sk_SSL_CIPHER_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_SSL_CIPHER_sk_type(sk), ossl_check_SSL_CIPHER_type(ptr))\n"
1475583db7cSchristosV=V"#define sk_SSL_CIPHER_pop(sk) ((const SSL_CIPHER *)OPENSSL_sk_pop(ossl_check_SSL_CIPHER_sk_type(sk)))\n"
1485583db7cSchristosV=V"#define sk_SSL_CIPHER_shift(sk) ((const SSL_CIPHER *)OPENSSL_sk_shift(ossl_check_SSL_CIPHER_sk_type(sk)))\n"
1495583db7cSchristosV=V"#define sk_SSL_CIPHER_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_SSL_CIPHER_sk_type(sk),ossl_check_SSL_CIPHER_freefunc_type(freefunc))\n"
1505583db7cSchristosV=V"#define sk_SSL_CIPHER_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_SSL_CIPHER_sk_type(sk), ossl_check_SSL_CIPHER_type(ptr), (idx))\n"
1515583db7cSchristosV=V"#define sk_SSL_CIPHER_set(sk, idx, ptr) ((const SSL_CIPHER *)OPENSSL_sk_set(ossl_check_SSL_CIPHER_sk_type(sk), (idx), ossl_check_SSL_CIPHER_type(ptr)))\n"
1525583db7cSchristosV=V"#define sk_SSL_CIPHER_find(sk, ptr) OPENSSL_sk_find(ossl_check_SSL_CIPHER_sk_type(sk), ossl_check_SSL_CIPHER_type(ptr))\n"
1535583db7cSchristosV=V"#define sk_SSL_CIPHER_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_SSL_CIPHER_sk_type(sk), ossl_check_SSL_CIPHER_type(ptr))\n"
1545583db7cSchristosV=V"#define sk_SSL_CIPHER_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_SSL_CIPHER_sk_type(sk), ossl_check_SSL_CIPHER_type(ptr), pnum)\n"
1555583db7cSchristosV=V"#define sk_SSL_CIPHER_sort(sk) OPENSSL_sk_sort(ossl_check_SSL_CIPHER_sk_type(sk))\n"
1565583db7cSchristosV=V"#define sk_SSL_CIPHER_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_SSL_CIPHER_sk_type(sk))\n"
1575583db7cSchristosV=V"#define sk_SSL_CIPHER_dup(sk) ((STACK_OF(SSL_CIPHER) *)OPENSSL_sk_dup(ossl_check_const_SSL_CIPHER_sk_type(sk)))\n"
1585583db7cSchristosV=V"#define sk_SSL_CIPHER_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(SSL_CIPHER) *)OPENSSL_sk_deep_copy(ossl_check_const_SSL_CIPHER_sk_type(sk), ossl_check_SSL_CIPHER_copyfunc_type(copyfunc), ossl_check_SSL_CIPHER_freefunc_type(freefunc)))\n"
1595583db7cSchristosV=V"#define sk_SSL_CIPHER_set_cmp_func(sk, cmp) ((sk_SSL_CIPHER_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_SSL_CIPHER_sk_type(sk), ossl_check_SSL_CIPHER_compfunc_type(cmp)))\n"
1605583db7cSchristos
1615583db7cSchristos	gsub("@", s, V);
1625583db7cSchristos	printf("%s\n", V);
1635583db7cSchristos	next;
1645583db7cSchristos}
1655583db7cSchristos/generate_lhash_macros\(/ {
1665583db7cSchristos	i = index($0, "\"");
1675583db7cSchristos	s = substr($0, i + 1);
1685583db7cSchristos	i = index(s, "\"");
1695583db7cSchristos	s = substr(s, 1, i - 1);
1705583db7cSchristos
1715583db7cSchristosV="DEFINE_LHASH_OF_INTERNAL(@);\n"
1725583db7cSchristosV=V"#define lh_@_new(hfn, cmp) ((LHASH_OF(@) *)OPENSSL_LH_new(ossl_check_@_lh_hashfunc_type(hfn), ossl_check_@_lh_compfunc_type(cmp)))\n"
1735583db7cSchristosV=V"#define lh_@_free(lh) OPENSSL_LH_free(ossl_check_@_lh_type(lh))\n"
1745583db7cSchristosV=V"#define lh_@_flush(lh) OPENSSL_LH_flush(ossl_check_@_lh_type(lh))\n"
1755583db7cSchristosV=V"#define lh_@_insert(lh, ptr) ((@ *)OPENSSL_LH_insert(ossl_check_@_lh_type(lh), ossl_check_@_lh_plain_type(ptr)))\n"
1765583db7cSchristosV=V"#define lh_@_delete(lh, ptr) ((@ *)OPENSSL_LH_delete(ossl_check_@_lh_type(lh), ossl_check_const_@_lh_plain_type(ptr)))\n"
1775583db7cSchristosV=V"#define lh_@_retrieve(lh, ptr) ((@ *)OPENSSL_LH_retrieve(ossl_check_@_lh_type(lh), ossl_check_const_@_lh_plain_type(ptr)))\n"
1785583db7cSchristosV=V"#define lh_@_error(lh) OPENSSL_LH_error(ossl_check_@_lh_type(lh))\n"
1795583db7cSchristosV=V"#define lh_@_num_items(lh) OPENSSL_LH_num_items(ossl_check_@_lh_type(lh))\n"
1805583db7cSchristosV=V"#define lh_@_node_stats_bio(lh, out) OPENSSL_LH_node_stats_bio(ossl_check_const_@_lh_type(lh), out)\n"
1815583db7cSchristosV=V"#define lh_@_node_usage_stats_bio(lh, out) OPENSSL_LH_node_usage_stats_bio(ossl_check_const_@_lh_type(lh), out)\n"
1825583db7cSchristosV=V"#define lh_@_stats_bio(lh, out) OPENSSL_LH_stats_bio(ossl_check_const_@_lh_type(lh), out)\n"
1835583db7cSchristosV=V"#define lh_@_get_down_load(lh) OPENSSL_LH_get_down_load(ossl_check_@_lh_type(lh))\n"
1845583db7cSchristosV=V"#define lh_@_set_down_load(lh, dl) OPENSSL_LH_set_down_load(ossl_check_@_lh_type(lh), dl)\n"
1855583db7cSchristosV=V"#define lh_@_doall(lh, dfn) OPENSSL_LH_doall(ossl_check_@_lh_type(lh), ossl_check_@_lh_doallfunc_type(dfn))\n"
1865583db7cSchristos	gsub("@", s, V);
1875583db7cSchristos	printf("%s\n", V);
1885583db7cSchristos	next;
1895583db7cSchristos}
1905583db7cSchristos
1915583db7cSchristos/generate_stack_macros\(/ {
1925583db7cSchristos	i = index($0, "\"");
1935583db7cSchristos	s = substr($0, i + 1);
1945583db7cSchristos	i = index(s, "\"");
1955583db7cSchristos	s = substr(s, 1, i - 1);
1965583db7cSchristos
1975583db7cSchristosV="SKM_DEFINE_STACK_OF_INTERNAL(@, @, @)\n"
1985583db7cSchristosV=V"#define sk_@_num(sk) OPENSSL_sk_num(ossl_check_const_@_sk_type(sk))\n"
1995583db7cSchristosV=V"#define sk_@_value(sk, idx) ((@ *)OPENSSL_sk_value(ossl_check_const_@_sk_type(sk), (idx)))\n"
2005583db7cSchristosV=V"#define sk_@_new(cmp) ((STACK_OF(@) *)OPENSSL_sk_new(ossl_check_@_compfunc_type(cmp)))\n"
2015583db7cSchristosV=V"#define sk_@_new_null() ((STACK_OF(@) *)OPENSSL_sk_new_null())\n"
2025583db7cSchristosV=V"#define sk_@_new_reserve(cmp, n) ((STACK_OF(@) *)OPENSSL_sk_new_reserve(ossl_check_@_compfunc_type(cmp), (n)))\n"
2035583db7cSchristosV=V"#define sk_@_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_@_sk_type(sk), (n))\n"
2045583db7cSchristosV=V"#define sk_@_free(sk) OPENSSL_sk_free(ossl_check_@_sk_type(sk))\n"
2055583db7cSchristosV=V"#define sk_@_zero(sk) OPENSSL_sk_zero(ossl_check_@_sk_type(sk))\n"
2065583db7cSchristosV=V"#define sk_@_delete(sk, i) ((@ *)OPENSSL_sk_delete(ossl_check_@_sk_type(sk), (i)))\n"
2075583db7cSchristosV=V"#define sk_@_delete_ptr(sk, ptr) ((@ *)OPENSSL_sk_delete_ptr(ossl_check_@_sk_type(sk), ossl_check_@_type(ptr)))\n"
2085583db7cSchristosV=V"#define sk_@_push(sk, ptr) OPENSSL_sk_push(ossl_check_@_sk_type(sk), ossl_check_@_type(ptr))\n"
2095583db7cSchristosV=V"#define sk_@_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_@_sk_type(sk), ossl_check_@_type(ptr))\n"
2105583db7cSchristosV=V"#define sk_@_pop(sk) ((@ *)OPENSSL_sk_pop(ossl_check_@_sk_type(sk)))\n"
2115583db7cSchristosV=V"#define sk_@_shift(sk) ((@ *)OPENSSL_sk_shift(ossl_check_@_sk_type(sk)))\n"
2125583db7cSchristosV=V"#define sk_@_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_@_sk_type(sk),ossl_check_@_freefunc_type(freefunc))\n"
2135583db7cSchristosV=V"#define sk_@_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_@_sk_type(sk), ossl_check_@_type(ptr), (idx))\n"
2145583db7cSchristosV=V"#define sk_@_set(sk, idx, ptr) ((@ *)OPENSSL_sk_set(ossl_check_@_sk_type(sk), (idx), ossl_check_@_type(ptr)))\n"
2155583db7cSchristosV=V"#define sk_@_find(sk, ptr) OPENSSL_sk_find(ossl_check_@_sk_type(sk), ossl_check_@_type(ptr))\n"
2165583db7cSchristosV=V"#define sk_@_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_@_sk_type(sk), ossl_check_@_type(ptr))\n"
2175583db7cSchristosV=V"#define sk_@_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_@_sk_type(sk), ossl_check_@_type(ptr), pnum)\n"
2185583db7cSchristosV=V"#define sk_@_sort(sk) OPENSSL_sk_sort(ossl_check_@_sk_type(sk))\n"
2195583db7cSchristosV=V"#define sk_@_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_@_sk_type(sk))\n"
2205583db7cSchristosV=V"#define sk_@_dup(sk) ((STACK_OF(@) *)OPENSSL_sk_dup(ossl_check_const_@_sk_type(sk)))\n"
2215583db7cSchristosV=V"#define sk_@_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(@) *)OPENSSL_sk_deep_copy(ossl_check_const_@_sk_type(sk), ossl_check_@_copyfunc_type(copyfunc), ossl_check_@_freefunc_type(freefunc)))\n"
2225583db7cSchristosV=V"#define sk_@_set_cmp_func(sk, cmp) ((sk_@_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_@_sk_type(sk), ossl_check_@_compfunc_type(cmp)))\n"
2235583db7cSchristos
2245583db7cSchristos	gsub("@", s, V);
2255583db7cSchristos	printf("%s\n", V);
2265583db7cSchristos	next;
2275583db7cSchristos}
2285583db7cSchristos{
2295583db7cSchristos	print $0;
2305583db7cSchristos}
2315583db7cSchristos' "$1"
232