2
0

safestack.h 72 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134
  1. /* ====================================================================
  2. * Copyright (c) 1999 The OpenSSL Project. All rights reserved.
  3. *
  4. * Redistribution and use in source and binary forms, with or without
  5. * modification, are permitted provided that the following conditions
  6. * are met:
  7. *
  8. * 1. Redistributions of source code must retain the above copyright
  9. * notice, this list of conditions and the following disclaimer.
  10. *
  11. * 2. Redistributions in binary form must reproduce the above copyright
  12. * notice, this list of conditions and the following disclaimer in
  13. * the documentation and/or other materials provided with the
  14. * distribution.
  15. *
  16. * 3. All advertising materials mentioning features or use of this
  17. * software must display the following acknowledgment:
  18. * "This product includes software developed by the OpenSSL Project
  19. * for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
  20. *
  21. * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
  22. * endorse or promote products derived from this software without
  23. * prior written permission. For written permission, please contact
  24. * openssl-core@openssl.org.
  25. *
  26. * 5. Products derived from this software may not be called "OpenSSL"
  27. * nor may "OpenSSL" appear in their names without prior written
  28. * permission of the OpenSSL Project.
  29. *
  30. * 6. Redistributions of any form whatsoever must retain the following
  31. * acknowledgment:
  32. * "This product includes software developed by the OpenSSL Project
  33. * for use in the OpenSSL Toolkit (http://www.openssl.org/)"
  34. *
  35. * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
  36. * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  37. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  38. * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
  39. * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  40. * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  41. * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  42. * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  43. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
  44. * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  45. * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
  46. * OF THE POSSIBILITY OF SUCH DAMAGE.
  47. * ====================================================================
  48. *
  49. * This product includes cryptographic software written by Eric Young
  50. * (eay@cryptsoft.com). This product includes software written by Tim
  51. * Hudson (tjh@cryptsoft.com).
  52. *
  53. */
  54. #ifndef HEADER_SAFESTACK_H
  55. #define HEADER_SAFESTACK_H
  56. #include <openssl/stack.h>
  57. #ifdef DEBUG_SAFESTACK
  58. #define STACK_OF(type) struct stack_st_##type
  59. #define PREDECLARE_STACK_OF(type) STACK_OF(type);
  60. #define DECLARE_STACK_OF(type) \
  61. STACK_OF(type) \
  62. { \
  63. STACK stack; \
  64. };
  65. #define IMPLEMENT_STACK_OF(type) /* nada (obsolete in new safestack approach)*/
  66. /* SKM_sk_... stack macros are internal to safestack.h:
  67. * never use them directly, use sk_<type>_... instead */
  68. #define SKM_sk_new(type, cmp) \
  69. ((STACK_OF(type) * (*)(int (*)(const type * const *, const type * const *)))sk_new)(cmp)
  70. #define SKM_sk_new_null(type) \
  71. ((STACK_OF(type) * (*)(void))sk_new_null)()
  72. #define SKM_sk_free(type, st) \
  73. ((void (*)(STACK_OF(type) *))sk_free)(st)
  74. #define SKM_sk_num(type, st) \
  75. ((int (*)(const STACK_OF(type) *))sk_num)(st)
  76. #define SKM_sk_value(type, st,i) \
  77. ((type * (*)(const STACK_OF(type) *, int))sk_value)(st, i)
  78. #define SKM_sk_set(type, st,i,val) \
  79. ((type * (*)(STACK_OF(type) *, int, type *))sk_set)(st, i, val)
  80. #define SKM_sk_zero(type, st) \
  81. ((void (*)(STACK_OF(type) *))sk_zero)(st)
  82. #define SKM_sk_push(type, st,val) \
  83. ((int (*)(STACK_OF(type) *, type *))sk_push)(st, val)
  84. #define SKM_sk_unshift(type, st,val) \
  85. ((int (*)(STACK_OF(type) *, type *))sk_unshift)(st, val)
  86. #define SKM_sk_find(type, st,val) \
  87. ((int (*)(STACK_OF(type) *, type *))sk_find)(st, val)
  88. #define SKM_sk_delete(type, st,i) \
  89. ((type * (*)(STACK_OF(type) *, int))sk_delete)(st, i)
  90. #define SKM_sk_delete_ptr(type, st,ptr) \
  91. ((type * (*)(STACK_OF(type) *, type *))sk_delete_ptr)(st, ptr)
  92. #define SKM_sk_insert(type, st,val,i) \
  93. ((int (*)(STACK_OF(type) *, type *, int))sk_insert)(st, val, i)
  94. #define SKM_sk_set_cmp_func(type, st,cmp) \
  95. ((int (*(*)(STACK_OF(type) *, int (*)(const type * const *, const type * const *))) \
  96. (const type * const *, const type * const *))sk_set_cmp_func)\
  97. (st, cmp)
  98. #define SKM_sk_dup(type, st) \
  99. ((STACK_OF(type) *(*)(STACK_OF(type) *))sk_dup)(st)
  100. #define SKM_sk_pop_free(type, st,free_func) \
  101. ((void (*)(STACK_OF(type) *, void (*)(type *)))sk_pop_free)\
  102. (st, free_func)
  103. #define SKM_sk_shift(type, st) \
  104. ((type * (*)(STACK_OF(type) *))sk_shift)(st)
  105. #define SKM_sk_pop(type, st) \
  106. ((type * (*)(STACK_OF(type) *))sk_pop)(st)
  107. #define SKM_sk_sort(type, st) \
  108. ((void (*)(STACK_OF(type) *))sk_sort)(st)
  109. #define SKM_ASN1_SET_OF_d2i(type, st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
  110. ((STACK_OF(type) * (*) (STACK_OF(type) **,unsigned char **, long , \
  111. type *(*)(type **, unsigned char **,long), \
  112. void (*)(type *), int ,int )) d2i_ASN1_SET) \
  113. (st,pp,length, d2i_func, free_func, ex_tag,ex_class)
  114. #define SKM_ASN1_SET_OF_i2d(type, st, pp, i2d_func, ex_tag, ex_class, is_set) \
  115. ((int (*)(STACK_OF(type) *,unsigned char **, \
  116. int (*)(type *,unsigned char **), int , int , int)) i2d_ASN1_SET) \
  117. (st,pp,i2d_func,ex_tag,ex_class,is_set)
  118. #define SKM_ASN1_seq_pack(type, st, i2d_func, buf, len) \
  119. ((unsigned char *(*)(STACK_OF(type) *, \
  120. int (*)(type *,unsigned char **), unsigned char **,int *)) ASN1_seq_pack) \
  121. (st, i2d_func, buf, len)
  122. #define SKM_ASN1_seq_unpack(type, buf, len, d2i_func, free_func) \
  123. ((STACK_OF(type) * (*)(unsigned char *,int, \
  124. type *(*)(type **,unsigned char **, long), \
  125. void (*)(type *)))ASN1_seq_unpack) \
  126. (buf,len,d2i_func, free_func)
  127. #define SKM_PKCS12_decrypt_d2i(type, algor, d2i_func, free_func, pass, passlen, oct, seq) \
  128. ((STACK_OF(type) * (*)(X509_ALGOR *, \
  129. type *(*)(type **, unsigned char **, long), void (*)(type *), \
  130. const char *, int, \
  131. ASN1_STRING *, int))PKCS12_decrypt_d2i) \
  132. (algor,d2i_func,free_func,pass,passlen,oct,seq)
  133. #else
  134. #define STACK_OF(type) STACK
  135. #define PREDECLARE_STACK_OF(type) /* nada */
  136. #define DECLARE_STACK_OF(type) /* nada */
  137. #define IMPLEMENT_STACK_OF(type) /* nada */
  138. #define SKM_sk_new(type, cmp) \
  139. sk_new((int (*)(const char * const *, const char * const *))(cmp))
  140. #define SKM_sk_new_null(type) \
  141. sk_new_null()
  142. #define SKM_sk_free(type, st) \
  143. sk_free(st)
  144. #define SKM_sk_num(type, st) \
  145. sk_num(st)
  146. #define SKM_sk_value(type, st,i) \
  147. ((type *)sk_value(st, i))
  148. #define SKM_sk_set(type, st,i,val) \
  149. ((type *)sk_set(st, i,(char *)val))
  150. #define SKM_sk_zero(type, st) \
  151. sk_zero(st)
  152. #define SKM_sk_push(type, st,val) \
  153. sk_push(st, (char *)val)
  154. #define SKM_sk_unshift(type, st,val) \
  155. sk_unshift(st, val)
  156. #define SKM_sk_find(type, st,val) \
  157. sk_find(st, (char *)val)
  158. #define SKM_sk_delete(type, st,i) \
  159. ((type *)sk_delete(st, i))
  160. #define SKM_sk_delete_ptr(type, st,ptr) \
  161. ((type *)sk_delete_ptr(st,(char *)ptr))
  162. #define SKM_sk_insert(type, st,val,i) \
  163. sk_insert(st, (char *)val, i)
  164. #define SKM_sk_set_cmp_func(type, st,cmp) \
  165. ((int (*)(const type * const *,const type * const *)) \
  166. sk_set_cmp_func(st, (int (*)(const char * const *, const char * const *))(cmp)))
  167. #define SKM_sk_dup(type, st) \
  168. sk_dup(st)
  169. #define SKM_sk_pop_free(type, st,free_func) \
  170. sk_pop_free(st, (void (*)(void *))free_func)
  171. #define SKM_sk_shift(type, st) \
  172. ((type *)sk_shift(st))
  173. #define SKM_sk_pop(type, st) \
  174. ((type *)sk_pop(st))
  175. #define SKM_sk_sort(type, st) \
  176. sk_sort(st)
  177. #define SKM_ASN1_SET_OF_d2i(type, st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
  178. d2i_ASN1_SET(st,pp,length, (char *(*)())d2i_func, (void (*)(void *))free_func, ex_tag,ex_class)
  179. #define SKM_ASN1_SET_OF_i2d(type, st, pp, i2d_func, ex_tag, ex_class, is_set) \
  180. i2d_ASN1_SET(st,pp,i2d_func,ex_tag,ex_class,is_set)
  181. #define SKM_ASN1_seq_pack(type, st, i2d_func, buf, len) \
  182. ASN1_seq_pack(st, i2d_func, buf, len)
  183. #define SKM_ASN1_seq_unpack(type, buf, len, d2i_func, free_func) \
  184. ASN1_seq_unpack(buf,len,(char *(*)())d2i_func, (void(*)(void *))free_func)
  185. #define SKM_PKCS12_decrypt_d2i(type, algor, d2i_func, free_func, pass, passlen, oct, seq) \
  186. ((STACK *)PKCS12_decrypt_d2i(algor,(char *(*)())d2i_func, (void(*)(void *))free_func,pass,passlen,oct,seq))
  187. #endif
  188. /* This block of defines is updated by util/mkstack.pl, please do not touch! */
  189. #define sk_ACCESS_DESCRIPTION_new(st) SKM_sk_new(ACCESS_DESCRIPTION, (st))
  190. #define sk_ACCESS_DESCRIPTION_new_null() SKM_sk_new_null(ACCESS_DESCRIPTION)
  191. #define sk_ACCESS_DESCRIPTION_free(st) SKM_sk_free(ACCESS_DESCRIPTION, (st))
  192. #define sk_ACCESS_DESCRIPTION_num(st) SKM_sk_num(ACCESS_DESCRIPTION, (st))
  193. #define sk_ACCESS_DESCRIPTION_value(st, i) SKM_sk_value(ACCESS_DESCRIPTION, (st), (i))
  194. #define sk_ACCESS_DESCRIPTION_set(st, i, val) SKM_sk_set(ACCESS_DESCRIPTION, (st), (i), (val))
  195. #define sk_ACCESS_DESCRIPTION_zero(st) SKM_sk_zero(ACCESS_DESCRIPTION, (st))
  196. #define sk_ACCESS_DESCRIPTION_push(st, val) SKM_sk_push(ACCESS_DESCRIPTION, (st), (val))
  197. #define sk_ACCESS_DESCRIPTION_unshift(st, val) SKM_sk_unshift(ACCESS_DESCRIPTION, (st), (val))
  198. #define sk_ACCESS_DESCRIPTION_find(st, val) SKM_sk_find(ACCESS_DESCRIPTION, (st), (val))
  199. #define sk_ACCESS_DESCRIPTION_delete(st, i) SKM_sk_delete(ACCESS_DESCRIPTION, (st), (i))
  200. #define sk_ACCESS_DESCRIPTION_delete_ptr(st, ptr) SKM_sk_delete_ptr(ACCESS_DESCRIPTION, (st), (ptr))
  201. #define sk_ACCESS_DESCRIPTION_insert(st, val, i) SKM_sk_insert(ACCESS_DESCRIPTION, (st), (val), (i))
  202. #define sk_ACCESS_DESCRIPTION_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ACCESS_DESCRIPTION, (st), (cmp))
  203. #define sk_ACCESS_DESCRIPTION_dup(st) SKM_sk_dup(ACCESS_DESCRIPTION, st)
  204. #define sk_ACCESS_DESCRIPTION_pop_free(st, free_func) SKM_sk_pop_free(ACCESS_DESCRIPTION, (st), (free_func))
  205. #define sk_ACCESS_DESCRIPTION_shift(st) SKM_sk_shift(ACCESS_DESCRIPTION, (st))
  206. #define sk_ACCESS_DESCRIPTION_pop(st) SKM_sk_pop(ACCESS_DESCRIPTION, (st))
  207. #define sk_ACCESS_DESCRIPTION_sort(st) SKM_sk_sort(ACCESS_DESCRIPTION, (st))
  208. #define sk_ASN1_INTEGER_new(st) SKM_sk_new(ASN1_INTEGER, (st))
  209. #define sk_ASN1_INTEGER_new_null() SKM_sk_new_null(ASN1_INTEGER)
  210. #define sk_ASN1_INTEGER_free(st) SKM_sk_free(ASN1_INTEGER, (st))
  211. #define sk_ASN1_INTEGER_num(st) SKM_sk_num(ASN1_INTEGER, (st))
  212. #define sk_ASN1_INTEGER_value(st, i) SKM_sk_value(ASN1_INTEGER, (st), (i))
  213. #define sk_ASN1_INTEGER_set(st, i, val) SKM_sk_set(ASN1_INTEGER, (st), (i), (val))
  214. #define sk_ASN1_INTEGER_zero(st) SKM_sk_zero(ASN1_INTEGER, (st))
  215. #define sk_ASN1_INTEGER_push(st, val) SKM_sk_push(ASN1_INTEGER, (st), (val))
  216. #define sk_ASN1_INTEGER_unshift(st, val) SKM_sk_unshift(ASN1_INTEGER, (st), (val))
  217. #define sk_ASN1_INTEGER_find(st, val) SKM_sk_find(ASN1_INTEGER, (st), (val))
  218. #define sk_ASN1_INTEGER_delete(st, i) SKM_sk_delete(ASN1_INTEGER, (st), (i))
  219. #define sk_ASN1_INTEGER_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_INTEGER, (st), (ptr))
  220. #define sk_ASN1_INTEGER_insert(st, val, i) SKM_sk_insert(ASN1_INTEGER, (st), (val), (i))
  221. #define sk_ASN1_INTEGER_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_INTEGER, (st), (cmp))
  222. #define sk_ASN1_INTEGER_dup(st) SKM_sk_dup(ASN1_INTEGER, st)
  223. #define sk_ASN1_INTEGER_pop_free(st, free_func) SKM_sk_pop_free(ASN1_INTEGER, (st), (free_func))
  224. #define sk_ASN1_INTEGER_shift(st) SKM_sk_shift(ASN1_INTEGER, (st))
  225. #define sk_ASN1_INTEGER_pop(st) SKM_sk_pop(ASN1_INTEGER, (st))
  226. #define sk_ASN1_INTEGER_sort(st) SKM_sk_sort(ASN1_INTEGER, (st))
  227. #define sk_ASN1_OBJECT_new(st) SKM_sk_new(ASN1_OBJECT, (st))
  228. #define sk_ASN1_OBJECT_new_null() SKM_sk_new_null(ASN1_OBJECT)
  229. #define sk_ASN1_OBJECT_free(st) SKM_sk_free(ASN1_OBJECT, (st))
  230. #define sk_ASN1_OBJECT_num(st) SKM_sk_num(ASN1_OBJECT, (st))
  231. #define sk_ASN1_OBJECT_value(st, i) SKM_sk_value(ASN1_OBJECT, (st), (i))
  232. #define sk_ASN1_OBJECT_set(st, i, val) SKM_sk_set(ASN1_OBJECT, (st), (i), (val))
  233. #define sk_ASN1_OBJECT_zero(st) SKM_sk_zero(ASN1_OBJECT, (st))
  234. #define sk_ASN1_OBJECT_push(st, val) SKM_sk_push(ASN1_OBJECT, (st), (val))
  235. #define sk_ASN1_OBJECT_unshift(st, val) SKM_sk_unshift(ASN1_OBJECT, (st), (val))
  236. #define sk_ASN1_OBJECT_find(st, val) SKM_sk_find(ASN1_OBJECT, (st), (val))
  237. #define sk_ASN1_OBJECT_delete(st, i) SKM_sk_delete(ASN1_OBJECT, (st), (i))
  238. #define sk_ASN1_OBJECT_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_OBJECT, (st), (ptr))
  239. #define sk_ASN1_OBJECT_insert(st, val, i) SKM_sk_insert(ASN1_OBJECT, (st), (val), (i))
  240. #define sk_ASN1_OBJECT_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_OBJECT, (st), (cmp))
  241. #define sk_ASN1_OBJECT_dup(st) SKM_sk_dup(ASN1_OBJECT, st)
  242. #define sk_ASN1_OBJECT_pop_free(st, free_func) SKM_sk_pop_free(ASN1_OBJECT, (st), (free_func))
  243. #define sk_ASN1_OBJECT_shift(st) SKM_sk_shift(ASN1_OBJECT, (st))
  244. #define sk_ASN1_OBJECT_pop(st) SKM_sk_pop(ASN1_OBJECT, (st))
  245. #define sk_ASN1_OBJECT_sort(st) SKM_sk_sort(ASN1_OBJECT, (st))
  246. #define sk_ASN1_STRING_TABLE_new(st) SKM_sk_new(ASN1_STRING_TABLE, (st))
  247. #define sk_ASN1_STRING_TABLE_new_null() SKM_sk_new_null(ASN1_STRING_TABLE)
  248. #define sk_ASN1_STRING_TABLE_free(st) SKM_sk_free(ASN1_STRING_TABLE, (st))
  249. #define sk_ASN1_STRING_TABLE_num(st) SKM_sk_num(ASN1_STRING_TABLE, (st))
  250. #define sk_ASN1_STRING_TABLE_value(st, i) SKM_sk_value(ASN1_STRING_TABLE, (st), (i))
  251. #define sk_ASN1_STRING_TABLE_set(st, i, val) SKM_sk_set(ASN1_STRING_TABLE, (st), (i), (val))
  252. #define sk_ASN1_STRING_TABLE_zero(st) SKM_sk_zero(ASN1_STRING_TABLE, (st))
  253. #define sk_ASN1_STRING_TABLE_push(st, val) SKM_sk_push(ASN1_STRING_TABLE, (st), (val))
  254. #define sk_ASN1_STRING_TABLE_unshift(st, val) SKM_sk_unshift(ASN1_STRING_TABLE, (st), (val))
  255. #define sk_ASN1_STRING_TABLE_find(st, val) SKM_sk_find(ASN1_STRING_TABLE, (st), (val))
  256. #define sk_ASN1_STRING_TABLE_delete(st, i) SKM_sk_delete(ASN1_STRING_TABLE, (st), (i))
  257. #define sk_ASN1_STRING_TABLE_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_STRING_TABLE, (st), (ptr))
  258. #define sk_ASN1_STRING_TABLE_insert(st, val, i) SKM_sk_insert(ASN1_STRING_TABLE, (st), (val), (i))
  259. #define sk_ASN1_STRING_TABLE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_STRING_TABLE, (st), (cmp))
  260. #define sk_ASN1_STRING_TABLE_dup(st) SKM_sk_dup(ASN1_STRING_TABLE, st)
  261. #define sk_ASN1_STRING_TABLE_pop_free(st, free_func) SKM_sk_pop_free(ASN1_STRING_TABLE, (st), (free_func))
  262. #define sk_ASN1_STRING_TABLE_shift(st) SKM_sk_shift(ASN1_STRING_TABLE, (st))
  263. #define sk_ASN1_STRING_TABLE_pop(st) SKM_sk_pop(ASN1_STRING_TABLE, (st))
  264. #define sk_ASN1_STRING_TABLE_sort(st) SKM_sk_sort(ASN1_STRING_TABLE, (st))
  265. #define sk_ASN1_TYPE_new(st) SKM_sk_new(ASN1_TYPE, (st))
  266. #define sk_ASN1_TYPE_new_null() SKM_sk_new_null(ASN1_TYPE)
  267. #define sk_ASN1_TYPE_free(st) SKM_sk_free(ASN1_TYPE, (st))
  268. #define sk_ASN1_TYPE_num(st) SKM_sk_num(ASN1_TYPE, (st))
  269. #define sk_ASN1_TYPE_value(st, i) SKM_sk_value(ASN1_TYPE, (st), (i))
  270. #define sk_ASN1_TYPE_set(st, i, val) SKM_sk_set(ASN1_TYPE, (st), (i), (val))
  271. #define sk_ASN1_TYPE_zero(st) SKM_sk_zero(ASN1_TYPE, (st))
  272. #define sk_ASN1_TYPE_push(st, val) SKM_sk_push(ASN1_TYPE, (st), (val))
  273. #define sk_ASN1_TYPE_unshift(st, val) SKM_sk_unshift(ASN1_TYPE, (st), (val))
  274. #define sk_ASN1_TYPE_find(st, val) SKM_sk_find(ASN1_TYPE, (st), (val))
  275. #define sk_ASN1_TYPE_delete(st, i) SKM_sk_delete(ASN1_TYPE, (st), (i))
  276. #define sk_ASN1_TYPE_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_TYPE, (st), (ptr))
  277. #define sk_ASN1_TYPE_insert(st, val, i) SKM_sk_insert(ASN1_TYPE, (st), (val), (i))
  278. #define sk_ASN1_TYPE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_TYPE, (st), (cmp))
  279. #define sk_ASN1_TYPE_dup(st) SKM_sk_dup(ASN1_TYPE, st)
  280. #define sk_ASN1_TYPE_pop_free(st, free_func) SKM_sk_pop_free(ASN1_TYPE, (st), (free_func))
  281. #define sk_ASN1_TYPE_shift(st) SKM_sk_shift(ASN1_TYPE, (st))
  282. #define sk_ASN1_TYPE_pop(st) SKM_sk_pop(ASN1_TYPE, (st))
  283. #define sk_ASN1_TYPE_sort(st) SKM_sk_sort(ASN1_TYPE, (st))
  284. #define sk_BIO_new(st) SKM_sk_new(BIO, (st))
  285. #define sk_BIO_new_null() SKM_sk_new_null(BIO)
  286. #define sk_BIO_free(st) SKM_sk_free(BIO, (st))
  287. #define sk_BIO_num(st) SKM_sk_num(BIO, (st))
  288. #define sk_BIO_value(st, i) SKM_sk_value(BIO, (st), (i))
  289. #define sk_BIO_set(st, i, val) SKM_sk_set(BIO, (st), (i), (val))
  290. #define sk_BIO_zero(st) SKM_sk_zero(BIO, (st))
  291. #define sk_BIO_push(st, val) SKM_sk_push(BIO, (st), (val))
  292. #define sk_BIO_unshift(st, val) SKM_sk_unshift(BIO, (st), (val))
  293. #define sk_BIO_find(st, val) SKM_sk_find(BIO, (st), (val))
  294. #define sk_BIO_delete(st, i) SKM_sk_delete(BIO, (st), (i))
  295. #define sk_BIO_delete_ptr(st, ptr) SKM_sk_delete_ptr(BIO, (st), (ptr))
  296. #define sk_BIO_insert(st, val, i) SKM_sk_insert(BIO, (st), (val), (i))
  297. #define sk_BIO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(BIO, (st), (cmp))
  298. #define sk_BIO_dup(st) SKM_sk_dup(BIO, st)
  299. #define sk_BIO_pop_free(st, free_func) SKM_sk_pop_free(BIO, (st), (free_func))
  300. #define sk_BIO_shift(st) SKM_sk_shift(BIO, (st))
  301. #define sk_BIO_pop(st) SKM_sk_pop(BIO, (st))
  302. #define sk_BIO_sort(st) SKM_sk_sort(BIO, (st))
  303. #define sk_CONF_VALUE_new(st) SKM_sk_new(CONF_VALUE, (st))
  304. #define sk_CONF_VALUE_new_null() SKM_sk_new_null(CONF_VALUE)
  305. #define sk_CONF_VALUE_free(st) SKM_sk_free(CONF_VALUE, (st))
  306. #define sk_CONF_VALUE_num(st) SKM_sk_num(CONF_VALUE, (st))
  307. #define sk_CONF_VALUE_value(st, i) SKM_sk_value(CONF_VALUE, (st), (i))
  308. #define sk_CONF_VALUE_set(st, i, val) SKM_sk_set(CONF_VALUE, (st), (i), (val))
  309. #define sk_CONF_VALUE_zero(st) SKM_sk_zero(CONF_VALUE, (st))
  310. #define sk_CONF_VALUE_push(st, val) SKM_sk_push(CONF_VALUE, (st), (val))
  311. #define sk_CONF_VALUE_unshift(st, val) SKM_sk_unshift(CONF_VALUE, (st), (val))
  312. #define sk_CONF_VALUE_find(st, val) SKM_sk_find(CONF_VALUE, (st), (val))
  313. #define sk_CONF_VALUE_delete(st, i) SKM_sk_delete(CONF_VALUE, (st), (i))
  314. #define sk_CONF_VALUE_delete_ptr(st, ptr) SKM_sk_delete_ptr(CONF_VALUE, (st), (ptr))
  315. #define sk_CONF_VALUE_insert(st, val, i) SKM_sk_insert(CONF_VALUE, (st), (val), (i))
  316. #define sk_CONF_VALUE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CONF_VALUE, (st), (cmp))
  317. #define sk_CONF_VALUE_dup(st) SKM_sk_dup(CONF_VALUE, st)
  318. #define sk_CONF_VALUE_pop_free(st, free_func) SKM_sk_pop_free(CONF_VALUE, (st), (free_func))
  319. #define sk_CONF_VALUE_shift(st) SKM_sk_shift(CONF_VALUE, (st))
  320. #define sk_CONF_VALUE_pop(st) SKM_sk_pop(CONF_VALUE, (st))
  321. #define sk_CONF_VALUE_sort(st) SKM_sk_sort(CONF_VALUE, (st))
  322. #define sk_CRYPTO_EX_DATA_FUNCS_new(st) SKM_sk_new(CRYPTO_EX_DATA_FUNCS, (st))
  323. #define sk_CRYPTO_EX_DATA_FUNCS_new_null() SKM_sk_new_null(CRYPTO_EX_DATA_FUNCS)
  324. #define sk_CRYPTO_EX_DATA_FUNCS_free(st) SKM_sk_free(CRYPTO_EX_DATA_FUNCS, (st))
  325. #define sk_CRYPTO_EX_DATA_FUNCS_num(st) SKM_sk_num(CRYPTO_EX_DATA_FUNCS, (st))
  326. #define sk_CRYPTO_EX_DATA_FUNCS_value(st, i) SKM_sk_value(CRYPTO_EX_DATA_FUNCS, (st), (i))
  327. #define sk_CRYPTO_EX_DATA_FUNCS_set(st, i, val) SKM_sk_set(CRYPTO_EX_DATA_FUNCS, (st), (i), (val))
  328. #define sk_CRYPTO_EX_DATA_FUNCS_zero(st) SKM_sk_zero(CRYPTO_EX_DATA_FUNCS, (st))
  329. #define sk_CRYPTO_EX_DATA_FUNCS_push(st, val) SKM_sk_push(CRYPTO_EX_DATA_FUNCS, (st), (val))
  330. #define sk_CRYPTO_EX_DATA_FUNCS_unshift(st, val) SKM_sk_unshift(CRYPTO_EX_DATA_FUNCS, (st), (val))
  331. #define sk_CRYPTO_EX_DATA_FUNCS_find(st, val) SKM_sk_find(CRYPTO_EX_DATA_FUNCS, (st), (val))
  332. #define sk_CRYPTO_EX_DATA_FUNCS_delete(st, i) SKM_sk_delete(CRYPTO_EX_DATA_FUNCS, (st), (i))
  333. #define sk_CRYPTO_EX_DATA_FUNCS_delete_ptr(st, ptr) SKM_sk_delete_ptr(CRYPTO_EX_DATA_FUNCS, (st), (ptr))
  334. #define sk_CRYPTO_EX_DATA_FUNCS_insert(st, val, i) SKM_sk_insert(CRYPTO_EX_DATA_FUNCS, (st), (val), (i))
  335. #define sk_CRYPTO_EX_DATA_FUNCS_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CRYPTO_EX_DATA_FUNCS, (st), (cmp))
  336. #define sk_CRYPTO_EX_DATA_FUNCS_dup(st) SKM_sk_dup(CRYPTO_EX_DATA_FUNCS, st)
  337. #define sk_CRYPTO_EX_DATA_FUNCS_pop_free(st, free_func) SKM_sk_pop_free(CRYPTO_EX_DATA_FUNCS, (st), (free_func))
  338. #define sk_CRYPTO_EX_DATA_FUNCS_shift(st) SKM_sk_shift(CRYPTO_EX_DATA_FUNCS, (st))
  339. #define sk_CRYPTO_EX_DATA_FUNCS_pop(st) SKM_sk_pop(CRYPTO_EX_DATA_FUNCS, (st))
  340. #define sk_CRYPTO_EX_DATA_FUNCS_sort(st) SKM_sk_sort(CRYPTO_EX_DATA_FUNCS, (st))
  341. #define sk_CRYPTO_dynlock_new(st) SKM_sk_new(CRYPTO_dynlock, (st))
  342. #define sk_CRYPTO_dynlock_new_null() SKM_sk_new_null(CRYPTO_dynlock)
  343. #define sk_CRYPTO_dynlock_free(st) SKM_sk_free(CRYPTO_dynlock, (st))
  344. #define sk_CRYPTO_dynlock_num(st) SKM_sk_num(CRYPTO_dynlock, (st))
  345. #define sk_CRYPTO_dynlock_value(st, i) SKM_sk_value(CRYPTO_dynlock, (st), (i))
  346. #define sk_CRYPTO_dynlock_set(st, i, val) SKM_sk_set(CRYPTO_dynlock, (st), (i), (val))
  347. #define sk_CRYPTO_dynlock_zero(st) SKM_sk_zero(CRYPTO_dynlock, (st))
  348. #define sk_CRYPTO_dynlock_push(st, val) SKM_sk_push(CRYPTO_dynlock, (st), (val))
  349. #define sk_CRYPTO_dynlock_unshift(st, val) SKM_sk_unshift(CRYPTO_dynlock, (st), (val))
  350. #define sk_CRYPTO_dynlock_find(st, val) SKM_sk_find(CRYPTO_dynlock, (st), (val))
  351. #define sk_CRYPTO_dynlock_delete(st, i) SKM_sk_delete(CRYPTO_dynlock, (st), (i))
  352. #define sk_CRYPTO_dynlock_delete_ptr(st, ptr) SKM_sk_delete_ptr(CRYPTO_dynlock, (st), (ptr))
  353. #define sk_CRYPTO_dynlock_insert(st, val, i) SKM_sk_insert(CRYPTO_dynlock, (st), (val), (i))
  354. #define sk_CRYPTO_dynlock_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CRYPTO_dynlock, (st), (cmp))
  355. #define sk_CRYPTO_dynlock_dup(st) SKM_sk_dup(CRYPTO_dynlock, st)
  356. #define sk_CRYPTO_dynlock_pop_free(st, free_func) SKM_sk_pop_free(CRYPTO_dynlock, (st), (free_func))
  357. #define sk_CRYPTO_dynlock_shift(st) SKM_sk_shift(CRYPTO_dynlock, (st))
  358. #define sk_CRYPTO_dynlock_pop(st) SKM_sk_pop(CRYPTO_dynlock, (st))
  359. #define sk_CRYPTO_dynlock_sort(st) SKM_sk_sort(CRYPTO_dynlock, (st))
  360. #define sk_DIST_POINT_new(st) SKM_sk_new(DIST_POINT, (st))
  361. #define sk_DIST_POINT_new_null() SKM_sk_new_null(DIST_POINT)
  362. #define sk_DIST_POINT_free(st) SKM_sk_free(DIST_POINT, (st))
  363. #define sk_DIST_POINT_num(st) SKM_sk_num(DIST_POINT, (st))
  364. #define sk_DIST_POINT_value(st, i) SKM_sk_value(DIST_POINT, (st), (i))
  365. #define sk_DIST_POINT_set(st, i, val) SKM_sk_set(DIST_POINT, (st), (i), (val))
  366. #define sk_DIST_POINT_zero(st) SKM_sk_zero(DIST_POINT, (st))
  367. #define sk_DIST_POINT_push(st, val) SKM_sk_push(DIST_POINT, (st), (val))
  368. #define sk_DIST_POINT_unshift(st, val) SKM_sk_unshift(DIST_POINT, (st), (val))
  369. #define sk_DIST_POINT_find(st, val) SKM_sk_find(DIST_POINT, (st), (val))
  370. #define sk_DIST_POINT_delete(st, i) SKM_sk_delete(DIST_POINT, (st), (i))
  371. #define sk_DIST_POINT_delete_ptr(st, ptr) SKM_sk_delete_ptr(DIST_POINT, (st), (ptr))
  372. #define sk_DIST_POINT_insert(st, val, i) SKM_sk_insert(DIST_POINT, (st), (val), (i))
  373. #define sk_DIST_POINT_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(DIST_POINT, (st), (cmp))
  374. #define sk_DIST_POINT_dup(st) SKM_sk_dup(DIST_POINT, st)
  375. #define sk_DIST_POINT_pop_free(st, free_func) SKM_sk_pop_free(DIST_POINT, (st), (free_func))
  376. #define sk_DIST_POINT_shift(st) SKM_sk_shift(DIST_POINT, (st))
  377. #define sk_DIST_POINT_pop(st) SKM_sk_pop(DIST_POINT, (st))
  378. #define sk_DIST_POINT_sort(st) SKM_sk_sort(DIST_POINT, (st))
  379. #define sk_GENERAL_NAME_new(st) SKM_sk_new(GENERAL_NAME, (st))
  380. #define sk_GENERAL_NAME_new_null() SKM_sk_new_null(GENERAL_NAME)
  381. #define sk_GENERAL_NAME_free(st) SKM_sk_free(GENERAL_NAME, (st))
  382. #define sk_GENERAL_NAME_num(st) SKM_sk_num(GENERAL_NAME, (st))
  383. #define sk_GENERAL_NAME_value(st, i) SKM_sk_value(GENERAL_NAME, (st), (i))
  384. #define sk_GENERAL_NAME_set(st, i, val) SKM_sk_set(GENERAL_NAME, (st), (i), (val))
  385. #define sk_GENERAL_NAME_zero(st) SKM_sk_zero(GENERAL_NAME, (st))
  386. #define sk_GENERAL_NAME_push(st, val) SKM_sk_push(GENERAL_NAME, (st), (val))
  387. #define sk_GENERAL_NAME_unshift(st, val) SKM_sk_unshift(GENERAL_NAME, (st), (val))
  388. #define sk_GENERAL_NAME_find(st, val) SKM_sk_find(GENERAL_NAME, (st), (val))
  389. #define sk_GENERAL_NAME_delete(st, i) SKM_sk_delete(GENERAL_NAME, (st), (i))
  390. #define sk_GENERAL_NAME_delete_ptr(st, ptr) SKM_sk_delete_ptr(GENERAL_NAME, (st), (ptr))
  391. #define sk_GENERAL_NAME_insert(st, val, i) SKM_sk_insert(GENERAL_NAME, (st), (val), (i))
  392. #define sk_GENERAL_NAME_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(GENERAL_NAME, (st), (cmp))
  393. #define sk_GENERAL_NAME_dup(st) SKM_sk_dup(GENERAL_NAME, st)
  394. #define sk_GENERAL_NAME_pop_free(st, free_func) SKM_sk_pop_free(GENERAL_NAME, (st), (free_func))
  395. #define sk_GENERAL_NAME_shift(st) SKM_sk_shift(GENERAL_NAME, (st))
  396. #define sk_GENERAL_NAME_pop(st) SKM_sk_pop(GENERAL_NAME, (st))
  397. #define sk_GENERAL_NAME_sort(st) SKM_sk_sort(GENERAL_NAME, (st))
  398. #define sk_MIME_HEADER_new(st) SKM_sk_new(MIME_HEADER, (st))
  399. #define sk_MIME_HEADER_new_null() SKM_sk_new_null(MIME_HEADER)
  400. #define sk_MIME_HEADER_free(st) SKM_sk_free(MIME_HEADER, (st))
  401. #define sk_MIME_HEADER_num(st) SKM_sk_num(MIME_HEADER, (st))
  402. #define sk_MIME_HEADER_value(st, i) SKM_sk_value(MIME_HEADER, (st), (i))
  403. #define sk_MIME_HEADER_set(st, i, val) SKM_sk_set(MIME_HEADER, (st), (i), (val))
  404. #define sk_MIME_HEADER_zero(st) SKM_sk_zero(MIME_HEADER, (st))
  405. #define sk_MIME_HEADER_push(st, val) SKM_sk_push(MIME_HEADER, (st), (val))
  406. #define sk_MIME_HEADER_unshift(st, val) SKM_sk_unshift(MIME_HEADER, (st), (val))
  407. #define sk_MIME_HEADER_find(st, val) SKM_sk_find(MIME_HEADER, (st), (val))
  408. #define sk_MIME_HEADER_delete(st, i) SKM_sk_delete(MIME_HEADER, (st), (i))
  409. #define sk_MIME_HEADER_delete_ptr(st, ptr) SKM_sk_delete_ptr(MIME_HEADER, (st), (ptr))
  410. #define sk_MIME_HEADER_insert(st, val, i) SKM_sk_insert(MIME_HEADER, (st), (val), (i))
  411. #define sk_MIME_HEADER_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(MIME_HEADER, (st), (cmp))
  412. #define sk_MIME_HEADER_dup(st) SKM_sk_dup(MIME_HEADER, st)
  413. #define sk_MIME_HEADER_pop_free(st, free_func) SKM_sk_pop_free(MIME_HEADER, (st), (free_func))
  414. #define sk_MIME_HEADER_shift(st) SKM_sk_shift(MIME_HEADER, (st))
  415. #define sk_MIME_HEADER_pop(st) SKM_sk_pop(MIME_HEADER, (st))
  416. #define sk_MIME_HEADER_sort(st) SKM_sk_sort(MIME_HEADER, (st))
  417. #define sk_MIME_PARAM_new(st) SKM_sk_new(MIME_PARAM, (st))
  418. #define sk_MIME_PARAM_new_null() SKM_sk_new_null(MIME_PARAM)
  419. #define sk_MIME_PARAM_free(st) SKM_sk_free(MIME_PARAM, (st))
  420. #define sk_MIME_PARAM_num(st) SKM_sk_num(MIME_PARAM, (st))
  421. #define sk_MIME_PARAM_value(st, i) SKM_sk_value(MIME_PARAM, (st), (i))
  422. #define sk_MIME_PARAM_set(st, i, val) SKM_sk_set(MIME_PARAM, (st), (i), (val))
  423. #define sk_MIME_PARAM_zero(st) SKM_sk_zero(MIME_PARAM, (st))
  424. #define sk_MIME_PARAM_push(st, val) SKM_sk_push(MIME_PARAM, (st), (val))
  425. #define sk_MIME_PARAM_unshift(st, val) SKM_sk_unshift(MIME_PARAM, (st), (val))
  426. #define sk_MIME_PARAM_find(st, val) SKM_sk_find(MIME_PARAM, (st), (val))
  427. #define sk_MIME_PARAM_delete(st, i) SKM_sk_delete(MIME_PARAM, (st), (i))
  428. #define sk_MIME_PARAM_delete_ptr(st, ptr) SKM_sk_delete_ptr(MIME_PARAM, (st), (ptr))
  429. #define sk_MIME_PARAM_insert(st, val, i) SKM_sk_insert(MIME_PARAM, (st), (val), (i))
  430. #define sk_MIME_PARAM_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(MIME_PARAM, (st), (cmp))
  431. #define sk_MIME_PARAM_dup(st) SKM_sk_dup(MIME_PARAM, st)
  432. #define sk_MIME_PARAM_pop_free(st, free_func) SKM_sk_pop_free(MIME_PARAM, (st), (free_func))
  433. #define sk_MIME_PARAM_shift(st) SKM_sk_shift(MIME_PARAM, (st))
  434. #define sk_MIME_PARAM_pop(st) SKM_sk_pop(MIME_PARAM, (st))
  435. #define sk_MIME_PARAM_sort(st) SKM_sk_sort(MIME_PARAM, (st))
  436. #define sk_NAME_FUNCS_new(st) SKM_sk_new(NAME_FUNCS, (st))
  437. #define sk_NAME_FUNCS_new_null() SKM_sk_new_null(NAME_FUNCS)
  438. #define sk_NAME_FUNCS_free(st) SKM_sk_free(NAME_FUNCS, (st))
  439. #define sk_NAME_FUNCS_num(st) SKM_sk_num(NAME_FUNCS, (st))
  440. #define sk_NAME_FUNCS_value(st, i) SKM_sk_value(NAME_FUNCS, (st), (i))
  441. #define sk_NAME_FUNCS_set(st, i, val) SKM_sk_set(NAME_FUNCS, (st), (i), (val))
  442. #define sk_NAME_FUNCS_zero(st) SKM_sk_zero(NAME_FUNCS, (st))
  443. #define sk_NAME_FUNCS_push(st, val) SKM_sk_push(NAME_FUNCS, (st), (val))
  444. #define sk_NAME_FUNCS_unshift(st, val) SKM_sk_unshift(NAME_FUNCS, (st), (val))
  445. #define sk_NAME_FUNCS_find(st, val) SKM_sk_find(NAME_FUNCS, (st), (val))
  446. #define sk_NAME_FUNCS_delete(st, i) SKM_sk_delete(NAME_FUNCS, (st), (i))
  447. #define sk_NAME_FUNCS_delete_ptr(st, ptr) SKM_sk_delete_ptr(NAME_FUNCS, (st), (ptr))
  448. #define sk_NAME_FUNCS_insert(st, val, i) SKM_sk_insert(NAME_FUNCS, (st), (val), (i))
  449. #define sk_NAME_FUNCS_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(NAME_FUNCS, (st), (cmp))
  450. #define sk_NAME_FUNCS_dup(st) SKM_sk_dup(NAME_FUNCS, st)
  451. #define sk_NAME_FUNCS_pop_free(st, free_func) SKM_sk_pop_free(NAME_FUNCS, (st), (free_func))
  452. #define sk_NAME_FUNCS_shift(st) SKM_sk_shift(NAME_FUNCS, (st))
  453. #define sk_NAME_FUNCS_pop(st) SKM_sk_pop(NAME_FUNCS, (st))
  454. #define sk_NAME_FUNCS_sort(st) SKM_sk_sort(NAME_FUNCS, (st))
  455. #define sk_PKCS12_SAFEBAG_new(st) SKM_sk_new(PKCS12_SAFEBAG, (st))
  456. #define sk_PKCS12_SAFEBAG_new_null() SKM_sk_new_null(PKCS12_SAFEBAG)
  457. #define sk_PKCS12_SAFEBAG_free(st) SKM_sk_free(PKCS12_SAFEBAG, (st))
  458. #define sk_PKCS12_SAFEBAG_num(st) SKM_sk_num(PKCS12_SAFEBAG, (st))
  459. #define sk_PKCS12_SAFEBAG_value(st, i) SKM_sk_value(PKCS12_SAFEBAG, (st), (i))
  460. #define sk_PKCS12_SAFEBAG_set(st, i, val) SKM_sk_set(PKCS12_SAFEBAG, (st), (i), (val))
  461. #define sk_PKCS12_SAFEBAG_zero(st) SKM_sk_zero(PKCS12_SAFEBAG, (st))
  462. #define sk_PKCS12_SAFEBAG_push(st, val) SKM_sk_push(PKCS12_SAFEBAG, (st), (val))
  463. #define sk_PKCS12_SAFEBAG_unshift(st, val) SKM_sk_unshift(PKCS12_SAFEBAG, (st), (val))
  464. #define sk_PKCS12_SAFEBAG_find(st, val) SKM_sk_find(PKCS12_SAFEBAG, (st), (val))
  465. #define sk_PKCS12_SAFEBAG_delete(st, i) SKM_sk_delete(PKCS12_SAFEBAG, (st), (i))
  466. #define sk_PKCS12_SAFEBAG_delete_ptr(st, ptr) SKM_sk_delete_ptr(PKCS12_SAFEBAG, (st), (ptr))
  467. #define sk_PKCS12_SAFEBAG_insert(st, val, i) SKM_sk_insert(PKCS12_SAFEBAG, (st), (val), (i))
  468. #define sk_PKCS12_SAFEBAG_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(PKCS12_SAFEBAG, (st), (cmp))
  469. #define sk_PKCS12_SAFEBAG_dup(st) SKM_sk_dup(PKCS12_SAFEBAG, st)
  470. #define sk_PKCS12_SAFEBAG_pop_free(st, free_func) SKM_sk_pop_free(PKCS12_SAFEBAG, (st), (free_func))
  471. #define sk_PKCS12_SAFEBAG_shift(st) SKM_sk_shift(PKCS12_SAFEBAG, (st))
  472. #define sk_PKCS12_SAFEBAG_pop(st) SKM_sk_pop(PKCS12_SAFEBAG, (st))
  473. #define sk_PKCS12_SAFEBAG_sort(st) SKM_sk_sort(PKCS12_SAFEBAG, (st))
  474. #define sk_PKCS7_new(st) SKM_sk_new(PKCS7, (st))
  475. #define sk_PKCS7_new_null() SKM_sk_new_null(PKCS7)
  476. #define sk_PKCS7_free(st) SKM_sk_free(PKCS7, (st))
  477. #define sk_PKCS7_num(st) SKM_sk_num(PKCS7, (st))
  478. #define sk_PKCS7_value(st, i) SKM_sk_value(PKCS7, (st), (i))
  479. #define sk_PKCS7_set(st, i, val) SKM_sk_set(PKCS7, (st), (i), (val))
  480. #define sk_PKCS7_zero(st) SKM_sk_zero(PKCS7, (st))
  481. #define sk_PKCS7_push(st, val) SKM_sk_push(PKCS7, (st), (val))
  482. #define sk_PKCS7_unshift(st, val) SKM_sk_unshift(PKCS7, (st), (val))
  483. #define sk_PKCS7_find(st, val) SKM_sk_find(PKCS7, (st), (val))
  484. #define sk_PKCS7_delete(st, i) SKM_sk_delete(PKCS7, (st), (i))
  485. #define sk_PKCS7_delete_ptr(st, ptr) SKM_sk_delete_ptr(PKCS7, (st), (ptr))
  486. #define sk_PKCS7_insert(st, val, i) SKM_sk_insert(PKCS7, (st), (val), (i))
  487. #define sk_PKCS7_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(PKCS7, (st), (cmp))
  488. #define sk_PKCS7_dup(st) SKM_sk_dup(PKCS7, st)
  489. #define sk_PKCS7_pop_free(st, free_func) SKM_sk_pop_free(PKCS7, (st), (free_func))
  490. #define sk_PKCS7_shift(st) SKM_sk_shift(PKCS7, (st))
  491. #define sk_PKCS7_pop(st) SKM_sk_pop(PKCS7, (st))
  492. #define sk_PKCS7_sort(st) SKM_sk_sort(PKCS7, (st))
  493. #define sk_PKCS7_RECIP_INFO_new(st) SKM_sk_new(PKCS7_RECIP_INFO, (st))
  494. #define sk_PKCS7_RECIP_INFO_new_null() SKM_sk_new_null(PKCS7_RECIP_INFO)
  495. #define sk_PKCS7_RECIP_INFO_free(st) SKM_sk_free(PKCS7_RECIP_INFO, (st))
  496. #define sk_PKCS7_RECIP_INFO_num(st) SKM_sk_num(PKCS7_RECIP_INFO, (st))
  497. #define sk_PKCS7_RECIP_INFO_value(st, i) SKM_sk_value(PKCS7_RECIP_INFO, (st), (i))
  498. #define sk_PKCS7_RECIP_INFO_set(st, i, val) SKM_sk_set(PKCS7_RECIP_INFO, (st), (i), (val))
  499. #define sk_PKCS7_RECIP_INFO_zero(st) SKM_sk_zero(PKCS7_RECIP_INFO, (st))
  500. #define sk_PKCS7_RECIP_INFO_push(st, val) SKM_sk_push(PKCS7_RECIP_INFO, (st), (val))
  501. #define sk_PKCS7_RECIP_INFO_unshift(st, val) SKM_sk_unshift(PKCS7_RECIP_INFO, (st), (val))
  502. #define sk_PKCS7_RECIP_INFO_find(st, val) SKM_sk_find(PKCS7_RECIP_INFO, (st), (val))
  503. #define sk_PKCS7_RECIP_INFO_delete(st, i) SKM_sk_delete(PKCS7_RECIP_INFO, (st), (i))
  504. #define sk_PKCS7_RECIP_INFO_delete_ptr(st, ptr) SKM_sk_delete_ptr(PKCS7_RECIP_INFO, (st), (ptr))
  505. #define sk_PKCS7_RECIP_INFO_insert(st, val, i) SKM_sk_insert(PKCS7_RECIP_INFO, (st), (val), (i))
  506. #define sk_PKCS7_RECIP_INFO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(PKCS7_RECIP_INFO, (st), (cmp))
  507. #define sk_PKCS7_RECIP_INFO_dup(st) SKM_sk_dup(PKCS7_RECIP_INFO, st)
  508. #define sk_PKCS7_RECIP_INFO_pop_free(st, free_func) SKM_sk_pop_free(PKCS7_RECIP_INFO, (st), (free_func))
  509. #define sk_PKCS7_RECIP_INFO_shift(st) SKM_sk_shift(PKCS7_RECIP_INFO, (st))
  510. #define sk_PKCS7_RECIP_INFO_pop(st) SKM_sk_pop(PKCS7_RECIP_INFO, (st))
  511. #define sk_PKCS7_RECIP_INFO_sort(st) SKM_sk_sort(PKCS7_RECIP_INFO, (st))
  512. #define sk_PKCS7_SIGNER_INFO_new(st) SKM_sk_new(PKCS7_SIGNER_INFO, (st))
  513. #define sk_PKCS7_SIGNER_INFO_new_null() SKM_sk_new_null(PKCS7_SIGNER_INFO)
  514. #define sk_PKCS7_SIGNER_INFO_free(st) SKM_sk_free(PKCS7_SIGNER_INFO, (st))
  515. #define sk_PKCS7_SIGNER_INFO_num(st) SKM_sk_num(PKCS7_SIGNER_INFO, (st))
  516. #define sk_PKCS7_SIGNER_INFO_value(st, i) SKM_sk_value(PKCS7_SIGNER_INFO, (st), (i))
  517. #define sk_PKCS7_SIGNER_INFO_set(st, i, val) SKM_sk_set(PKCS7_SIGNER_INFO, (st), (i), (val))
  518. #define sk_PKCS7_SIGNER_INFO_zero(st) SKM_sk_zero(PKCS7_SIGNER_INFO, (st))
  519. #define sk_PKCS7_SIGNER_INFO_push(st, val) SKM_sk_push(PKCS7_SIGNER_INFO, (st), (val))
  520. #define sk_PKCS7_SIGNER_INFO_unshift(st, val) SKM_sk_unshift(PKCS7_SIGNER_INFO, (st), (val))
  521. #define sk_PKCS7_SIGNER_INFO_find(st, val) SKM_sk_find(PKCS7_SIGNER_INFO, (st), (val))
  522. #define sk_PKCS7_SIGNER_INFO_delete(st, i) SKM_sk_delete(PKCS7_SIGNER_INFO, (st), (i))
  523. #define sk_PKCS7_SIGNER_INFO_delete_ptr(st, ptr) SKM_sk_delete_ptr(PKCS7_SIGNER_INFO, (st), (ptr))
  524. #define sk_PKCS7_SIGNER_INFO_insert(st, val, i) SKM_sk_insert(PKCS7_SIGNER_INFO, (st), (val), (i))
  525. #define sk_PKCS7_SIGNER_INFO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(PKCS7_SIGNER_INFO, (st), (cmp))
  526. #define sk_PKCS7_SIGNER_INFO_dup(st) SKM_sk_dup(PKCS7_SIGNER_INFO, st)
  527. #define sk_PKCS7_SIGNER_INFO_pop_free(st, free_func) SKM_sk_pop_free(PKCS7_SIGNER_INFO, (st), (free_func))
  528. #define sk_PKCS7_SIGNER_INFO_shift(st) SKM_sk_shift(PKCS7_SIGNER_INFO, (st))
  529. #define sk_PKCS7_SIGNER_INFO_pop(st) SKM_sk_pop(PKCS7_SIGNER_INFO, (st))
  530. #define sk_PKCS7_SIGNER_INFO_sort(st) SKM_sk_sort(PKCS7_SIGNER_INFO, (st))
  531. #define sk_POLICYINFO_new(st) SKM_sk_new(POLICYINFO, (st))
  532. #define sk_POLICYINFO_new_null() SKM_sk_new_null(POLICYINFO)
  533. #define sk_POLICYINFO_free(st) SKM_sk_free(POLICYINFO, (st))
  534. #define sk_POLICYINFO_num(st) SKM_sk_num(POLICYINFO, (st))
  535. #define sk_POLICYINFO_value(st, i) SKM_sk_value(POLICYINFO, (st), (i))
  536. #define sk_POLICYINFO_set(st, i, val) SKM_sk_set(POLICYINFO, (st), (i), (val))
  537. #define sk_POLICYINFO_zero(st) SKM_sk_zero(POLICYINFO, (st))
  538. #define sk_POLICYINFO_push(st, val) SKM_sk_push(POLICYINFO, (st), (val))
  539. #define sk_POLICYINFO_unshift(st, val) SKM_sk_unshift(POLICYINFO, (st), (val))
  540. #define sk_POLICYINFO_find(st, val) SKM_sk_find(POLICYINFO, (st), (val))
  541. #define sk_POLICYINFO_delete(st, i) SKM_sk_delete(POLICYINFO, (st), (i))
  542. #define sk_POLICYINFO_delete_ptr(st, ptr) SKM_sk_delete_ptr(POLICYINFO, (st), (ptr))
  543. #define sk_POLICYINFO_insert(st, val, i) SKM_sk_insert(POLICYINFO, (st), (val), (i))
  544. #define sk_POLICYINFO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(POLICYINFO, (st), (cmp))
  545. #define sk_POLICYINFO_dup(st) SKM_sk_dup(POLICYINFO, st)
  546. #define sk_POLICYINFO_pop_free(st, free_func) SKM_sk_pop_free(POLICYINFO, (st), (free_func))
  547. #define sk_POLICYINFO_shift(st) SKM_sk_shift(POLICYINFO, (st))
  548. #define sk_POLICYINFO_pop(st) SKM_sk_pop(POLICYINFO, (st))
  549. #define sk_POLICYINFO_sort(st) SKM_sk_sort(POLICYINFO, (st))
  550. #define sk_POLICYQUALINFO_new(st) SKM_sk_new(POLICYQUALINFO, (st))
  551. #define sk_POLICYQUALINFO_new_null() SKM_sk_new_null(POLICYQUALINFO)
  552. #define sk_POLICYQUALINFO_free(st) SKM_sk_free(POLICYQUALINFO, (st))
  553. #define sk_POLICYQUALINFO_num(st) SKM_sk_num(POLICYQUALINFO, (st))
  554. #define sk_POLICYQUALINFO_value(st, i) SKM_sk_value(POLICYQUALINFO, (st), (i))
  555. #define sk_POLICYQUALINFO_set(st, i, val) SKM_sk_set(POLICYQUALINFO, (st), (i), (val))
  556. #define sk_POLICYQUALINFO_zero(st) SKM_sk_zero(POLICYQUALINFO, (st))
  557. #define sk_POLICYQUALINFO_push(st, val) SKM_sk_push(POLICYQUALINFO, (st), (val))
  558. #define sk_POLICYQUALINFO_unshift(st, val) SKM_sk_unshift(POLICYQUALINFO, (st), (val))
  559. #define sk_POLICYQUALINFO_find(st, val) SKM_sk_find(POLICYQUALINFO, (st), (val))
  560. #define sk_POLICYQUALINFO_delete(st, i) SKM_sk_delete(POLICYQUALINFO, (st), (i))
  561. #define sk_POLICYQUALINFO_delete_ptr(st, ptr) SKM_sk_delete_ptr(POLICYQUALINFO, (st), (ptr))
  562. #define sk_POLICYQUALINFO_insert(st, val, i) SKM_sk_insert(POLICYQUALINFO, (st), (val), (i))
  563. #define sk_POLICYQUALINFO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(POLICYQUALINFO, (st), (cmp))
  564. #define sk_POLICYQUALINFO_dup(st) SKM_sk_dup(POLICYQUALINFO, st)
  565. #define sk_POLICYQUALINFO_pop_free(st, free_func) SKM_sk_pop_free(POLICYQUALINFO, (st), (free_func))
  566. #define sk_POLICYQUALINFO_shift(st) SKM_sk_shift(POLICYQUALINFO, (st))
  567. #define sk_POLICYQUALINFO_pop(st) SKM_sk_pop(POLICYQUALINFO, (st))
  568. #define sk_POLICYQUALINFO_sort(st) SKM_sk_sort(POLICYQUALINFO, (st))
  569. #define sk_SSL_CIPHER_new(st) SKM_sk_new(SSL_CIPHER, (st))
  570. #define sk_SSL_CIPHER_new_null() SKM_sk_new_null(SSL_CIPHER)
  571. #define sk_SSL_CIPHER_free(st) SKM_sk_free(SSL_CIPHER, (st))
  572. #define sk_SSL_CIPHER_num(st) SKM_sk_num(SSL_CIPHER, (st))
  573. #define sk_SSL_CIPHER_value(st, i) SKM_sk_value(SSL_CIPHER, (st), (i))
  574. #define sk_SSL_CIPHER_set(st, i, val) SKM_sk_set(SSL_CIPHER, (st), (i), (val))
  575. #define sk_SSL_CIPHER_zero(st) SKM_sk_zero(SSL_CIPHER, (st))
  576. #define sk_SSL_CIPHER_push(st, val) SKM_sk_push(SSL_CIPHER, (st), (val))
  577. #define sk_SSL_CIPHER_unshift(st, val) SKM_sk_unshift(SSL_CIPHER, (st), (val))
  578. #define sk_SSL_CIPHER_find(st, val) SKM_sk_find(SSL_CIPHER, (st), (val))
  579. #define sk_SSL_CIPHER_delete(st, i) SKM_sk_delete(SSL_CIPHER, (st), (i))
  580. #define sk_SSL_CIPHER_delete_ptr(st, ptr) SKM_sk_delete_ptr(SSL_CIPHER, (st), (ptr))
  581. #define sk_SSL_CIPHER_insert(st, val, i) SKM_sk_insert(SSL_CIPHER, (st), (val), (i))
  582. #define sk_SSL_CIPHER_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SSL_CIPHER, (st), (cmp))
  583. #define sk_SSL_CIPHER_dup(st) SKM_sk_dup(SSL_CIPHER, st)
  584. #define sk_SSL_CIPHER_pop_free(st, free_func) SKM_sk_pop_free(SSL_CIPHER, (st), (free_func))
  585. #define sk_SSL_CIPHER_shift(st) SKM_sk_shift(SSL_CIPHER, (st))
  586. #define sk_SSL_CIPHER_pop(st) SKM_sk_pop(SSL_CIPHER, (st))
  587. #define sk_SSL_CIPHER_sort(st) SKM_sk_sort(SSL_CIPHER, (st))
  588. #define sk_SSL_COMP_new(st) SKM_sk_new(SSL_COMP, (st))
  589. #define sk_SSL_COMP_new_null() SKM_sk_new_null(SSL_COMP)
  590. #define sk_SSL_COMP_free(st) SKM_sk_free(SSL_COMP, (st))
  591. #define sk_SSL_COMP_num(st) SKM_sk_num(SSL_COMP, (st))
  592. #define sk_SSL_COMP_value(st, i) SKM_sk_value(SSL_COMP, (st), (i))
  593. #define sk_SSL_COMP_set(st, i, val) SKM_sk_set(SSL_COMP, (st), (i), (val))
  594. #define sk_SSL_COMP_zero(st) SKM_sk_zero(SSL_COMP, (st))
  595. #define sk_SSL_COMP_push(st, val) SKM_sk_push(SSL_COMP, (st), (val))
  596. #define sk_SSL_COMP_unshift(st, val) SKM_sk_unshift(SSL_COMP, (st), (val))
  597. #define sk_SSL_COMP_find(st, val) SKM_sk_find(SSL_COMP, (st), (val))
  598. #define sk_SSL_COMP_delete(st, i) SKM_sk_delete(SSL_COMP, (st), (i))
  599. #define sk_SSL_COMP_delete_ptr(st, ptr) SKM_sk_delete_ptr(SSL_COMP, (st), (ptr))
  600. #define sk_SSL_COMP_insert(st, val, i) SKM_sk_insert(SSL_COMP, (st), (val), (i))
  601. #define sk_SSL_COMP_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SSL_COMP, (st), (cmp))
  602. #define sk_SSL_COMP_dup(st) SKM_sk_dup(SSL_COMP, st)
  603. #define sk_SSL_COMP_pop_free(st, free_func) SKM_sk_pop_free(SSL_COMP, (st), (free_func))
  604. #define sk_SSL_COMP_shift(st) SKM_sk_shift(SSL_COMP, (st))
  605. #define sk_SSL_COMP_pop(st) SKM_sk_pop(SSL_COMP, (st))
  606. #define sk_SSL_COMP_sort(st) SKM_sk_sort(SSL_COMP, (st))
  607. #define sk_SXNETID_new(st) SKM_sk_new(SXNETID, (st))
  608. #define sk_SXNETID_new_null() SKM_sk_new_null(SXNETID)
  609. #define sk_SXNETID_free(st) SKM_sk_free(SXNETID, (st))
  610. #define sk_SXNETID_num(st) SKM_sk_num(SXNETID, (st))
  611. #define sk_SXNETID_value(st, i) SKM_sk_value(SXNETID, (st), (i))
  612. #define sk_SXNETID_set(st, i, val) SKM_sk_set(SXNETID, (st), (i), (val))
  613. #define sk_SXNETID_zero(st) SKM_sk_zero(SXNETID, (st))
  614. #define sk_SXNETID_push(st, val) SKM_sk_push(SXNETID, (st), (val))
  615. #define sk_SXNETID_unshift(st, val) SKM_sk_unshift(SXNETID, (st), (val))
  616. #define sk_SXNETID_find(st, val) SKM_sk_find(SXNETID, (st), (val))
  617. #define sk_SXNETID_delete(st, i) SKM_sk_delete(SXNETID, (st), (i))
  618. #define sk_SXNETID_delete_ptr(st, ptr) SKM_sk_delete_ptr(SXNETID, (st), (ptr))
  619. #define sk_SXNETID_insert(st, val, i) SKM_sk_insert(SXNETID, (st), (val), (i))
  620. #define sk_SXNETID_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SXNETID, (st), (cmp))
  621. #define sk_SXNETID_dup(st) SKM_sk_dup(SXNETID, st)
  622. #define sk_SXNETID_pop_free(st, free_func) SKM_sk_pop_free(SXNETID, (st), (free_func))
  623. #define sk_SXNETID_shift(st) SKM_sk_shift(SXNETID, (st))
  624. #define sk_SXNETID_pop(st) SKM_sk_pop(SXNETID, (st))
  625. #define sk_SXNETID_sort(st) SKM_sk_sort(SXNETID, (st))
  626. #define sk_X509_new(st) SKM_sk_new(X509, (st))
  627. #define sk_X509_new_null() SKM_sk_new_null(X509)
  628. #define sk_X509_free(st) SKM_sk_free(X509, (st))
  629. #define sk_X509_num(st) SKM_sk_num(X509, (st))
  630. #define sk_X509_value(st, i) SKM_sk_value(X509, (st), (i))
  631. #define sk_X509_set(st, i, val) SKM_sk_set(X509, (st), (i), (val))
  632. #define sk_X509_zero(st) SKM_sk_zero(X509, (st))
  633. #define sk_X509_push(st, val) SKM_sk_push(X509, (st), (val))
  634. #define sk_X509_unshift(st, val) SKM_sk_unshift(X509, (st), (val))
  635. #define sk_X509_find(st, val) SKM_sk_find(X509, (st), (val))
  636. #define sk_X509_delete(st, i) SKM_sk_delete(X509, (st), (i))
  637. #define sk_X509_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509, (st), (ptr))
  638. #define sk_X509_insert(st, val, i) SKM_sk_insert(X509, (st), (val), (i))
  639. #define sk_X509_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509, (st), (cmp))
  640. #define sk_X509_dup(st) SKM_sk_dup(X509, st)
  641. #define sk_X509_pop_free(st, free_func) SKM_sk_pop_free(X509, (st), (free_func))
  642. #define sk_X509_shift(st) SKM_sk_shift(X509, (st))
  643. #define sk_X509_pop(st) SKM_sk_pop(X509, (st))
  644. #define sk_X509_sort(st) SKM_sk_sort(X509, (st))
  645. #define sk_X509V3_EXT_METHOD_new(st) SKM_sk_new(X509V3_EXT_METHOD, (st))
  646. #define sk_X509V3_EXT_METHOD_new_null() SKM_sk_new_null(X509V3_EXT_METHOD)
  647. #define sk_X509V3_EXT_METHOD_free(st) SKM_sk_free(X509V3_EXT_METHOD, (st))
  648. #define sk_X509V3_EXT_METHOD_num(st) SKM_sk_num(X509V3_EXT_METHOD, (st))
  649. #define sk_X509V3_EXT_METHOD_value(st, i) SKM_sk_value(X509V3_EXT_METHOD, (st), (i))
  650. #define sk_X509V3_EXT_METHOD_set(st, i, val) SKM_sk_set(X509V3_EXT_METHOD, (st), (i), (val))
  651. #define sk_X509V3_EXT_METHOD_zero(st) SKM_sk_zero(X509V3_EXT_METHOD, (st))
  652. #define sk_X509V3_EXT_METHOD_push(st, val) SKM_sk_push(X509V3_EXT_METHOD, (st), (val))
  653. #define sk_X509V3_EXT_METHOD_unshift(st, val) SKM_sk_unshift(X509V3_EXT_METHOD, (st), (val))
  654. #define sk_X509V3_EXT_METHOD_find(st, val) SKM_sk_find(X509V3_EXT_METHOD, (st), (val))
  655. #define sk_X509V3_EXT_METHOD_delete(st, i) SKM_sk_delete(X509V3_EXT_METHOD, (st), (i))
  656. #define sk_X509V3_EXT_METHOD_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509V3_EXT_METHOD, (st), (ptr))
  657. #define sk_X509V3_EXT_METHOD_insert(st, val, i) SKM_sk_insert(X509V3_EXT_METHOD, (st), (val), (i))
  658. #define sk_X509V3_EXT_METHOD_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509V3_EXT_METHOD, (st), (cmp))
  659. #define sk_X509V3_EXT_METHOD_dup(st) SKM_sk_dup(X509V3_EXT_METHOD, st)
  660. #define sk_X509V3_EXT_METHOD_pop_free(st, free_func) SKM_sk_pop_free(X509V3_EXT_METHOD, (st), (free_func))
  661. #define sk_X509V3_EXT_METHOD_shift(st) SKM_sk_shift(X509V3_EXT_METHOD, (st))
  662. #define sk_X509V3_EXT_METHOD_pop(st) SKM_sk_pop(X509V3_EXT_METHOD, (st))
  663. #define sk_X509V3_EXT_METHOD_sort(st) SKM_sk_sort(X509V3_EXT_METHOD, (st))
  664. #define sk_X509_ALGOR_new(st) SKM_sk_new(X509_ALGOR, (st))
  665. #define sk_X509_ALGOR_new_null() SKM_sk_new_null(X509_ALGOR)
  666. #define sk_X509_ALGOR_free(st) SKM_sk_free(X509_ALGOR, (st))
  667. #define sk_X509_ALGOR_num(st) SKM_sk_num(X509_ALGOR, (st))
  668. #define sk_X509_ALGOR_value(st, i) SKM_sk_value(X509_ALGOR, (st), (i))
  669. #define sk_X509_ALGOR_set(st, i, val) SKM_sk_set(X509_ALGOR, (st), (i), (val))
  670. #define sk_X509_ALGOR_zero(st) SKM_sk_zero(X509_ALGOR, (st))
  671. #define sk_X509_ALGOR_push(st, val) SKM_sk_push(X509_ALGOR, (st), (val))
  672. #define sk_X509_ALGOR_unshift(st, val) SKM_sk_unshift(X509_ALGOR, (st), (val))
  673. #define sk_X509_ALGOR_find(st, val) SKM_sk_find(X509_ALGOR, (st), (val))
  674. #define sk_X509_ALGOR_delete(st, i) SKM_sk_delete(X509_ALGOR, (st), (i))
  675. #define sk_X509_ALGOR_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_ALGOR, (st), (ptr))
  676. #define sk_X509_ALGOR_insert(st, val, i) SKM_sk_insert(X509_ALGOR, (st), (val), (i))
  677. #define sk_X509_ALGOR_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_ALGOR, (st), (cmp))
  678. #define sk_X509_ALGOR_dup(st) SKM_sk_dup(X509_ALGOR, st)
  679. #define sk_X509_ALGOR_pop_free(st, free_func) SKM_sk_pop_free(X509_ALGOR, (st), (free_func))
  680. #define sk_X509_ALGOR_shift(st) SKM_sk_shift(X509_ALGOR, (st))
  681. #define sk_X509_ALGOR_pop(st) SKM_sk_pop(X509_ALGOR, (st))
  682. #define sk_X509_ALGOR_sort(st) SKM_sk_sort(X509_ALGOR, (st))
  683. #define sk_X509_ATTRIBUTE_new(st) SKM_sk_new(X509_ATTRIBUTE, (st))
  684. #define sk_X509_ATTRIBUTE_new_null() SKM_sk_new_null(X509_ATTRIBUTE)
  685. #define sk_X509_ATTRIBUTE_free(st) SKM_sk_free(X509_ATTRIBUTE, (st))
  686. #define sk_X509_ATTRIBUTE_num(st) SKM_sk_num(X509_ATTRIBUTE, (st))
  687. #define sk_X509_ATTRIBUTE_value(st, i) SKM_sk_value(X509_ATTRIBUTE, (st), (i))
  688. #define sk_X509_ATTRIBUTE_set(st, i, val) SKM_sk_set(X509_ATTRIBUTE, (st), (i), (val))
  689. #define sk_X509_ATTRIBUTE_zero(st) SKM_sk_zero(X509_ATTRIBUTE, (st))
  690. #define sk_X509_ATTRIBUTE_push(st, val) SKM_sk_push(X509_ATTRIBUTE, (st), (val))
  691. #define sk_X509_ATTRIBUTE_unshift(st, val) SKM_sk_unshift(X509_ATTRIBUTE, (st), (val))
  692. #define sk_X509_ATTRIBUTE_find(st, val) SKM_sk_find(X509_ATTRIBUTE, (st), (val))
  693. #define sk_X509_ATTRIBUTE_delete(st, i) SKM_sk_delete(X509_ATTRIBUTE, (st), (i))
  694. #define sk_X509_ATTRIBUTE_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_ATTRIBUTE, (st), (ptr))
  695. #define sk_X509_ATTRIBUTE_insert(st, val, i) SKM_sk_insert(X509_ATTRIBUTE, (st), (val), (i))
  696. #define sk_X509_ATTRIBUTE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_ATTRIBUTE, (st), (cmp))
  697. #define sk_X509_ATTRIBUTE_dup(st) SKM_sk_dup(X509_ATTRIBUTE, st)
  698. #define sk_X509_ATTRIBUTE_pop_free(st, free_func) SKM_sk_pop_free(X509_ATTRIBUTE, (st), (free_func))
  699. #define sk_X509_ATTRIBUTE_shift(st) SKM_sk_shift(X509_ATTRIBUTE, (st))
  700. #define sk_X509_ATTRIBUTE_pop(st) SKM_sk_pop(X509_ATTRIBUTE, (st))
  701. #define sk_X509_ATTRIBUTE_sort(st) SKM_sk_sort(X509_ATTRIBUTE, (st))
  702. #define sk_X509_CRL_new(st) SKM_sk_new(X509_CRL, (st))
  703. #define sk_X509_CRL_new_null() SKM_sk_new_null(X509_CRL)
  704. #define sk_X509_CRL_free(st) SKM_sk_free(X509_CRL, (st))
  705. #define sk_X509_CRL_num(st) SKM_sk_num(X509_CRL, (st))
  706. #define sk_X509_CRL_value(st, i) SKM_sk_value(X509_CRL, (st), (i))
  707. #define sk_X509_CRL_set(st, i, val) SKM_sk_set(X509_CRL, (st), (i), (val))
  708. #define sk_X509_CRL_zero(st) SKM_sk_zero(X509_CRL, (st))
  709. #define sk_X509_CRL_push(st, val) SKM_sk_push(X509_CRL, (st), (val))
  710. #define sk_X509_CRL_unshift(st, val) SKM_sk_unshift(X509_CRL, (st), (val))
  711. #define sk_X509_CRL_find(st, val) SKM_sk_find(X509_CRL, (st), (val))
  712. #define sk_X509_CRL_delete(st, i) SKM_sk_delete(X509_CRL, (st), (i))
  713. #define sk_X509_CRL_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_CRL, (st), (ptr))
  714. #define sk_X509_CRL_insert(st, val, i) SKM_sk_insert(X509_CRL, (st), (val), (i))
  715. #define sk_X509_CRL_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_CRL, (st), (cmp))
  716. #define sk_X509_CRL_dup(st) SKM_sk_dup(X509_CRL, st)
  717. #define sk_X509_CRL_pop_free(st, free_func) SKM_sk_pop_free(X509_CRL, (st), (free_func))
  718. #define sk_X509_CRL_shift(st) SKM_sk_shift(X509_CRL, (st))
  719. #define sk_X509_CRL_pop(st) SKM_sk_pop(X509_CRL, (st))
  720. #define sk_X509_CRL_sort(st) SKM_sk_sort(X509_CRL, (st))
  721. #define sk_X509_EXTENSION_new(st) SKM_sk_new(X509_EXTENSION, (st))
  722. #define sk_X509_EXTENSION_new_null() SKM_sk_new_null(X509_EXTENSION)
  723. #define sk_X509_EXTENSION_free(st) SKM_sk_free(X509_EXTENSION, (st))
  724. #define sk_X509_EXTENSION_num(st) SKM_sk_num(X509_EXTENSION, (st))
  725. #define sk_X509_EXTENSION_value(st, i) SKM_sk_value(X509_EXTENSION, (st), (i))
  726. #define sk_X509_EXTENSION_set(st, i, val) SKM_sk_set(X509_EXTENSION, (st), (i), (val))
  727. #define sk_X509_EXTENSION_zero(st) SKM_sk_zero(X509_EXTENSION, (st))
  728. #define sk_X509_EXTENSION_push(st, val) SKM_sk_push(X509_EXTENSION, (st), (val))
  729. #define sk_X509_EXTENSION_unshift(st, val) SKM_sk_unshift(X509_EXTENSION, (st), (val))
  730. #define sk_X509_EXTENSION_find(st, val) SKM_sk_find(X509_EXTENSION, (st), (val))
  731. #define sk_X509_EXTENSION_delete(st, i) SKM_sk_delete(X509_EXTENSION, (st), (i))
  732. #define sk_X509_EXTENSION_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_EXTENSION, (st), (ptr))
  733. #define sk_X509_EXTENSION_insert(st, val, i) SKM_sk_insert(X509_EXTENSION, (st), (val), (i))
  734. #define sk_X509_EXTENSION_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_EXTENSION, (st), (cmp))
  735. #define sk_X509_EXTENSION_dup(st) SKM_sk_dup(X509_EXTENSION, st)
  736. #define sk_X509_EXTENSION_pop_free(st, free_func) SKM_sk_pop_free(X509_EXTENSION, (st), (free_func))
  737. #define sk_X509_EXTENSION_shift(st) SKM_sk_shift(X509_EXTENSION, (st))
  738. #define sk_X509_EXTENSION_pop(st) SKM_sk_pop(X509_EXTENSION, (st))
  739. #define sk_X509_EXTENSION_sort(st) SKM_sk_sort(X509_EXTENSION, (st))
  740. #define sk_X509_INFO_new(st) SKM_sk_new(X509_INFO, (st))
  741. #define sk_X509_INFO_new_null() SKM_sk_new_null(X509_INFO)
  742. #define sk_X509_INFO_free(st) SKM_sk_free(X509_INFO, (st))
  743. #define sk_X509_INFO_num(st) SKM_sk_num(X509_INFO, (st))
  744. #define sk_X509_INFO_value(st, i) SKM_sk_value(X509_INFO, (st), (i))
  745. #define sk_X509_INFO_set(st, i, val) SKM_sk_set(X509_INFO, (st), (i), (val))
  746. #define sk_X509_INFO_zero(st) SKM_sk_zero(X509_INFO, (st))
  747. #define sk_X509_INFO_push(st, val) SKM_sk_push(X509_INFO, (st), (val))
  748. #define sk_X509_INFO_unshift(st, val) SKM_sk_unshift(X509_INFO, (st), (val))
  749. #define sk_X509_INFO_find(st, val) SKM_sk_find(X509_INFO, (st), (val))
  750. #define sk_X509_INFO_delete(st, i) SKM_sk_delete(X509_INFO, (st), (i))
  751. #define sk_X509_INFO_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_INFO, (st), (ptr))
  752. #define sk_X509_INFO_insert(st, val, i) SKM_sk_insert(X509_INFO, (st), (val), (i))
  753. #define sk_X509_INFO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_INFO, (st), (cmp))
  754. #define sk_X509_INFO_dup(st) SKM_sk_dup(X509_INFO, st)
  755. #define sk_X509_INFO_pop_free(st, free_func) SKM_sk_pop_free(X509_INFO, (st), (free_func))
  756. #define sk_X509_INFO_shift(st) SKM_sk_shift(X509_INFO, (st))
  757. #define sk_X509_INFO_pop(st) SKM_sk_pop(X509_INFO, (st))
  758. #define sk_X509_INFO_sort(st) SKM_sk_sort(X509_INFO, (st))
  759. #define sk_X509_LOOKUP_new(st) SKM_sk_new(X509_LOOKUP, (st))
  760. #define sk_X509_LOOKUP_new_null() SKM_sk_new_null(X509_LOOKUP)
  761. #define sk_X509_LOOKUP_free(st) SKM_sk_free(X509_LOOKUP, (st))
  762. #define sk_X509_LOOKUP_num(st) SKM_sk_num(X509_LOOKUP, (st))
  763. #define sk_X509_LOOKUP_value(st, i) SKM_sk_value(X509_LOOKUP, (st), (i))
  764. #define sk_X509_LOOKUP_set(st, i, val) SKM_sk_set(X509_LOOKUP, (st), (i), (val))
  765. #define sk_X509_LOOKUP_zero(st) SKM_sk_zero(X509_LOOKUP, (st))
  766. #define sk_X509_LOOKUP_push(st, val) SKM_sk_push(X509_LOOKUP, (st), (val))
  767. #define sk_X509_LOOKUP_unshift(st, val) SKM_sk_unshift(X509_LOOKUP, (st), (val))
  768. #define sk_X509_LOOKUP_find(st, val) SKM_sk_find(X509_LOOKUP, (st), (val))
  769. #define sk_X509_LOOKUP_delete(st, i) SKM_sk_delete(X509_LOOKUP, (st), (i))
  770. #define sk_X509_LOOKUP_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_LOOKUP, (st), (ptr))
  771. #define sk_X509_LOOKUP_insert(st, val, i) SKM_sk_insert(X509_LOOKUP, (st), (val), (i))
  772. #define sk_X509_LOOKUP_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_LOOKUP, (st), (cmp))
  773. #define sk_X509_LOOKUP_dup(st) SKM_sk_dup(X509_LOOKUP, st)
  774. #define sk_X509_LOOKUP_pop_free(st, free_func) SKM_sk_pop_free(X509_LOOKUP, (st), (free_func))
  775. #define sk_X509_LOOKUP_shift(st) SKM_sk_shift(X509_LOOKUP, (st))
  776. #define sk_X509_LOOKUP_pop(st) SKM_sk_pop(X509_LOOKUP, (st))
  777. #define sk_X509_LOOKUP_sort(st) SKM_sk_sort(X509_LOOKUP, (st))
  778. #define sk_X509_NAME_new(st) SKM_sk_new(X509_NAME, (st))
  779. #define sk_X509_NAME_new_null() SKM_sk_new_null(X509_NAME)
  780. #define sk_X509_NAME_free(st) SKM_sk_free(X509_NAME, (st))
  781. #define sk_X509_NAME_num(st) SKM_sk_num(X509_NAME, (st))
  782. #define sk_X509_NAME_value(st, i) SKM_sk_value(X509_NAME, (st), (i))
  783. #define sk_X509_NAME_set(st, i, val) SKM_sk_set(X509_NAME, (st), (i), (val))
  784. #define sk_X509_NAME_zero(st) SKM_sk_zero(X509_NAME, (st))
  785. #define sk_X509_NAME_push(st, val) SKM_sk_push(X509_NAME, (st), (val))
  786. #define sk_X509_NAME_unshift(st, val) SKM_sk_unshift(X509_NAME, (st), (val))
  787. #define sk_X509_NAME_find(st, val) SKM_sk_find(X509_NAME, (st), (val))
  788. #define sk_X509_NAME_delete(st, i) SKM_sk_delete(X509_NAME, (st), (i))
  789. #define sk_X509_NAME_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_NAME, (st), (ptr))
  790. #define sk_X509_NAME_insert(st, val, i) SKM_sk_insert(X509_NAME, (st), (val), (i))
  791. #define sk_X509_NAME_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_NAME, (st), (cmp))
  792. #define sk_X509_NAME_dup(st) SKM_sk_dup(X509_NAME, st)
  793. #define sk_X509_NAME_pop_free(st, free_func) SKM_sk_pop_free(X509_NAME, (st), (free_func))
  794. #define sk_X509_NAME_shift(st) SKM_sk_shift(X509_NAME, (st))
  795. #define sk_X509_NAME_pop(st) SKM_sk_pop(X509_NAME, (st))
  796. #define sk_X509_NAME_sort(st) SKM_sk_sort(X509_NAME, (st))
  797. #define sk_X509_NAME_ENTRY_new(st) SKM_sk_new(X509_NAME_ENTRY, (st))
  798. #define sk_X509_NAME_ENTRY_new_null() SKM_sk_new_null(X509_NAME_ENTRY)
  799. #define sk_X509_NAME_ENTRY_free(st) SKM_sk_free(X509_NAME_ENTRY, (st))
  800. #define sk_X509_NAME_ENTRY_num(st) SKM_sk_num(X509_NAME_ENTRY, (st))
  801. #define sk_X509_NAME_ENTRY_value(st, i) SKM_sk_value(X509_NAME_ENTRY, (st), (i))
  802. #define sk_X509_NAME_ENTRY_set(st, i, val) SKM_sk_set(X509_NAME_ENTRY, (st), (i), (val))
  803. #define sk_X509_NAME_ENTRY_zero(st) SKM_sk_zero(X509_NAME_ENTRY, (st))
  804. #define sk_X509_NAME_ENTRY_push(st, val) SKM_sk_push(X509_NAME_ENTRY, (st), (val))
  805. #define sk_X509_NAME_ENTRY_unshift(st, val) SKM_sk_unshift(X509_NAME_ENTRY, (st), (val))
  806. #define sk_X509_NAME_ENTRY_find(st, val) SKM_sk_find(X509_NAME_ENTRY, (st), (val))
  807. #define sk_X509_NAME_ENTRY_delete(st, i) SKM_sk_delete(X509_NAME_ENTRY, (st), (i))
  808. #define sk_X509_NAME_ENTRY_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_NAME_ENTRY, (st), (ptr))
  809. #define sk_X509_NAME_ENTRY_insert(st, val, i) SKM_sk_insert(X509_NAME_ENTRY, (st), (val), (i))
  810. #define sk_X509_NAME_ENTRY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_NAME_ENTRY, (st), (cmp))
  811. #define sk_X509_NAME_ENTRY_dup(st) SKM_sk_dup(X509_NAME_ENTRY, st)
  812. #define sk_X509_NAME_ENTRY_pop_free(st, free_func) SKM_sk_pop_free(X509_NAME_ENTRY, (st), (free_func))
  813. #define sk_X509_NAME_ENTRY_shift(st) SKM_sk_shift(X509_NAME_ENTRY, (st))
  814. #define sk_X509_NAME_ENTRY_pop(st) SKM_sk_pop(X509_NAME_ENTRY, (st))
  815. #define sk_X509_NAME_ENTRY_sort(st) SKM_sk_sort(X509_NAME_ENTRY, (st))
  816. #define sk_X509_OBJECT_new(st) SKM_sk_new(X509_OBJECT, (st))
  817. #define sk_X509_OBJECT_new_null() SKM_sk_new_null(X509_OBJECT)
  818. #define sk_X509_OBJECT_free(st) SKM_sk_free(X509_OBJECT, (st))
  819. #define sk_X509_OBJECT_num(st) SKM_sk_num(X509_OBJECT, (st))
  820. #define sk_X509_OBJECT_value(st, i) SKM_sk_value(X509_OBJECT, (st), (i))
  821. #define sk_X509_OBJECT_set(st, i, val) SKM_sk_set(X509_OBJECT, (st), (i), (val))
  822. #define sk_X509_OBJECT_zero(st) SKM_sk_zero(X509_OBJECT, (st))
  823. #define sk_X509_OBJECT_push(st, val) SKM_sk_push(X509_OBJECT, (st), (val))
  824. #define sk_X509_OBJECT_unshift(st, val) SKM_sk_unshift(X509_OBJECT, (st), (val))
  825. #define sk_X509_OBJECT_find(st, val) SKM_sk_find(X509_OBJECT, (st), (val))
  826. #define sk_X509_OBJECT_delete(st, i) SKM_sk_delete(X509_OBJECT, (st), (i))
  827. #define sk_X509_OBJECT_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_OBJECT, (st), (ptr))
  828. #define sk_X509_OBJECT_insert(st, val, i) SKM_sk_insert(X509_OBJECT, (st), (val), (i))
  829. #define sk_X509_OBJECT_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_OBJECT, (st), (cmp))
  830. #define sk_X509_OBJECT_dup(st) SKM_sk_dup(X509_OBJECT, st)
  831. #define sk_X509_OBJECT_pop_free(st, free_func) SKM_sk_pop_free(X509_OBJECT, (st), (free_func))
  832. #define sk_X509_OBJECT_shift(st) SKM_sk_shift(X509_OBJECT, (st))
  833. #define sk_X509_OBJECT_pop(st) SKM_sk_pop(X509_OBJECT, (st))
  834. #define sk_X509_OBJECT_sort(st) SKM_sk_sort(X509_OBJECT, (st))
  835. #define sk_X509_PURPOSE_new(st) SKM_sk_new(X509_PURPOSE, (st))
  836. #define sk_X509_PURPOSE_new_null() SKM_sk_new_null(X509_PURPOSE)
  837. #define sk_X509_PURPOSE_free(st) SKM_sk_free(X509_PURPOSE, (st))
  838. #define sk_X509_PURPOSE_num(st) SKM_sk_num(X509_PURPOSE, (st))
  839. #define sk_X509_PURPOSE_value(st, i) SKM_sk_value(X509_PURPOSE, (st), (i))
  840. #define sk_X509_PURPOSE_set(st, i, val) SKM_sk_set(X509_PURPOSE, (st), (i), (val))
  841. #define sk_X509_PURPOSE_zero(st) SKM_sk_zero(X509_PURPOSE, (st))
  842. #define sk_X509_PURPOSE_push(st, val) SKM_sk_push(X509_PURPOSE, (st), (val))
  843. #define sk_X509_PURPOSE_unshift(st, val) SKM_sk_unshift(X509_PURPOSE, (st), (val))
  844. #define sk_X509_PURPOSE_find(st, val) SKM_sk_find(X509_PURPOSE, (st), (val))
  845. #define sk_X509_PURPOSE_delete(st, i) SKM_sk_delete(X509_PURPOSE, (st), (i))
  846. #define sk_X509_PURPOSE_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_PURPOSE, (st), (ptr))
  847. #define sk_X509_PURPOSE_insert(st, val, i) SKM_sk_insert(X509_PURPOSE, (st), (val), (i))
  848. #define sk_X509_PURPOSE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_PURPOSE, (st), (cmp))
  849. #define sk_X509_PURPOSE_dup(st) SKM_sk_dup(X509_PURPOSE, st)
  850. #define sk_X509_PURPOSE_pop_free(st, free_func) SKM_sk_pop_free(X509_PURPOSE, (st), (free_func))
  851. #define sk_X509_PURPOSE_shift(st) SKM_sk_shift(X509_PURPOSE, (st))
  852. #define sk_X509_PURPOSE_pop(st) SKM_sk_pop(X509_PURPOSE, (st))
  853. #define sk_X509_PURPOSE_sort(st) SKM_sk_sort(X509_PURPOSE, (st))
  854. #define sk_X509_REVOKED_new(st) SKM_sk_new(X509_REVOKED, (st))
  855. #define sk_X509_REVOKED_new_null() SKM_sk_new_null(X509_REVOKED)
  856. #define sk_X509_REVOKED_free(st) SKM_sk_free(X509_REVOKED, (st))
  857. #define sk_X509_REVOKED_num(st) SKM_sk_num(X509_REVOKED, (st))
  858. #define sk_X509_REVOKED_value(st, i) SKM_sk_value(X509_REVOKED, (st), (i))
  859. #define sk_X509_REVOKED_set(st, i, val) SKM_sk_set(X509_REVOKED, (st), (i), (val))
  860. #define sk_X509_REVOKED_zero(st) SKM_sk_zero(X509_REVOKED, (st))
  861. #define sk_X509_REVOKED_push(st, val) SKM_sk_push(X509_REVOKED, (st), (val))
  862. #define sk_X509_REVOKED_unshift(st, val) SKM_sk_unshift(X509_REVOKED, (st), (val))
  863. #define sk_X509_REVOKED_find(st, val) SKM_sk_find(X509_REVOKED, (st), (val))
  864. #define sk_X509_REVOKED_delete(st, i) SKM_sk_delete(X509_REVOKED, (st), (i))
  865. #define sk_X509_REVOKED_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_REVOKED, (st), (ptr))
  866. #define sk_X509_REVOKED_insert(st, val, i) SKM_sk_insert(X509_REVOKED, (st), (val), (i))
  867. #define sk_X509_REVOKED_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_REVOKED, (st), (cmp))
  868. #define sk_X509_REVOKED_dup(st) SKM_sk_dup(X509_REVOKED, st)
  869. #define sk_X509_REVOKED_pop_free(st, free_func) SKM_sk_pop_free(X509_REVOKED, (st), (free_func))
  870. #define sk_X509_REVOKED_shift(st) SKM_sk_shift(X509_REVOKED, (st))
  871. #define sk_X509_REVOKED_pop(st) SKM_sk_pop(X509_REVOKED, (st))
  872. #define sk_X509_REVOKED_sort(st) SKM_sk_sort(X509_REVOKED, (st))
  873. #define sk_X509_TRUST_new(st) SKM_sk_new(X509_TRUST, (st))
  874. #define sk_X509_TRUST_new_null() SKM_sk_new_null(X509_TRUST)
  875. #define sk_X509_TRUST_free(st) SKM_sk_free(X509_TRUST, (st))
  876. #define sk_X509_TRUST_num(st) SKM_sk_num(X509_TRUST, (st))
  877. #define sk_X509_TRUST_value(st, i) SKM_sk_value(X509_TRUST, (st), (i))
  878. #define sk_X509_TRUST_set(st, i, val) SKM_sk_set(X509_TRUST, (st), (i), (val))
  879. #define sk_X509_TRUST_zero(st) SKM_sk_zero(X509_TRUST, (st))
  880. #define sk_X509_TRUST_push(st, val) SKM_sk_push(X509_TRUST, (st), (val))
  881. #define sk_X509_TRUST_unshift(st, val) SKM_sk_unshift(X509_TRUST, (st), (val))
  882. #define sk_X509_TRUST_find(st, val) SKM_sk_find(X509_TRUST, (st), (val))
  883. #define sk_X509_TRUST_delete(st, i) SKM_sk_delete(X509_TRUST, (st), (i))
  884. #define sk_X509_TRUST_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_TRUST, (st), (ptr))
  885. #define sk_X509_TRUST_insert(st, val, i) SKM_sk_insert(X509_TRUST, (st), (val), (i))
  886. #define sk_X509_TRUST_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_TRUST, (st), (cmp))
  887. #define sk_X509_TRUST_dup(st) SKM_sk_dup(X509_TRUST, st)
  888. #define sk_X509_TRUST_pop_free(st, free_func) SKM_sk_pop_free(X509_TRUST, (st), (free_func))
  889. #define sk_X509_TRUST_shift(st) SKM_sk_shift(X509_TRUST, (st))
  890. #define sk_X509_TRUST_pop(st) SKM_sk_pop(X509_TRUST, (st))
  891. #define sk_X509_TRUST_sort(st) SKM_sk_sort(X509_TRUST, (st))
  892. #define d2i_ASN1_SET_OF_ACCESS_DESCRIPTION(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
  893. SKM_ASN1_SET_OF_d2i(ACCESS_DESCRIPTION, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
  894. #define i2d_ASN1_SET_OF_ACCESS_DESCRIPTION(st, pp, i2d_func, ex_tag, ex_class, is_set) \
  895. SKM_ASN1_SET_OF_i2d(ACCESS_DESCRIPTION, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
  896. #define ASN1_seq_pack_ACCESS_DESCRIPTION(st, i2d_func, buf, len) \
  897. SKM_ASN1_seq_pack(ACCESS_DESCRIPTION, (st), (i2d_func), (buf), (len))
  898. #define ASN1_seq_unpack_ACCESS_DESCRIPTION(buf, len, d2i_func, free_func) \
  899. SKM_ASN1_seq_unpack(ACCESS_DESCRIPTION, (buf), (len), (d2i_func), (free_func))
  900. #define d2i_ASN1_SET_OF_ASN1_INTEGER(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
  901. SKM_ASN1_SET_OF_d2i(ASN1_INTEGER, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
  902. #define i2d_ASN1_SET_OF_ASN1_INTEGER(st, pp, i2d_func, ex_tag, ex_class, is_set) \
  903. SKM_ASN1_SET_OF_i2d(ASN1_INTEGER, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
  904. #define ASN1_seq_pack_ASN1_INTEGER(st, i2d_func, buf, len) \
  905. SKM_ASN1_seq_pack(ASN1_INTEGER, (st), (i2d_func), (buf), (len))
  906. #define ASN1_seq_unpack_ASN1_INTEGER(buf, len, d2i_func, free_func) \
  907. SKM_ASN1_seq_unpack(ASN1_INTEGER, (buf), (len), (d2i_func), (free_func))
  908. #define d2i_ASN1_SET_OF_ASN1_OBJECT(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
  909. SKM_ASN1_SET_OF_d2i(ASN1_OBJECT, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
  910. #define i2d_ASN1_SET_OF_ASN1_OBJECT(st, pp, i2d_func, ex_tag, ex_class, is_set) \
  911. SKM_ASN1_SET_OF_i2d(ASN1_OBJECT, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
  912. #define ASN1_seq_pack_ASN1_OBJECT(st, i2d_func, buf, len) \
  913. SKM_ASN1_seq_pack(ASN1_OBJECT, (st), (i2d_func), (buf), (len))
  914. #define ASN1_seq_unpack_ASN1_OBJECT(buf, len, d2i_func, free_func) \
  915. SKM_ASN1_seq_unpack(ASN1_OBJECT, (buf), (len), (d2i_func), (free_func))
  916. #define d2i_ASN1_SET_OF_ASN1_TYPE(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
  917. SKM_ASN1_SET_OF_d2i(ASN1_TYPE, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
  918. #define i2d_ASN1_SET_OF_ASN1_TYPE(st, pp, i2d_func, ex_tag, ex_class, is_set) \
  919. SKM_ASN1_SET_OF_i2d(ASN1_TYPE, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
  920. #define ASN1_seq_pack_ASN1_TYPE(st, i2d_func, buf, len) \
  921. SKM_ASN1_seq_pack(ASN1_TYPE, (st), (i2d_func), (buf), (len))
  922. #define ASN1_seq_unpack_ASN1_TYPE(buf, len, d2i_func, free_func) \
  923. SKM_ASN1_seq_unpack(ASN1_TYPE, (buf), (len), (d2i_func), (free_func))
  924. #define d2i_ASN1_SET_OF_DIST_POINT(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
  925. SKM_ASN1_SET_OF_d2i(DIST_POINT, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
  926. #define i2d_ASN1_SET_OF_DIST_POINT(st, pp, i2d_func, ex_tag, ex_class, is_set) \
  927. SKM_ASN1_SET_OF_i2d(DIST_POINT, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
  928. #define ASN1_seq_pack_DIST_POINT(st, i2d_func, buf, len) \
  929. SKM_ASN1_seq_pack(DIST_POINT, (st), (i2d_func), (buf), (len))
  930. #define ASN1_seq_unpack_DIST_POINT(buf, len, d2i_func, free_func) \
  931. SKM_ASN1_seq_unpack(DIST_POINT, (buf), (len), (d2i_func), (free_func))
  932. #define d2i_ASN1_SET_OF_GENERAL_NAME(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
  933. SKM_ASN1_SET_OF_d2i(GENERAL_NAME, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
  934. #define i2d_ASN1_SET_OF_GENERAL_NAME(st, pp, i2d_func, ex_tag, ex_class, is_set) \
  935. SKM_ASN1_SET_OF_i2d(GENERAL_NAME, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
  936. #define ASN1_seq_pack_GENERAL_NAME(st, i2d_func, buf, len) \
  937. SKM_ASN1_seq_pack(GENERAL_NAME, (st), (i2d_func), (buf), (len))
  938. #define ASN1_seq_unpack_GENERAL_NAME(buf, len, d2i_func, free_func) \
  939. SKM_ASN1_seq_unpack(GENERAL_NAME, (buf), (len), (d2i_func), (free_func))
  940. #define d2i_ASN1_SET_OF_PKCS12_SAFEBAG(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
  941. SKM_ASN1_SET_OF_d2i(PKCS12_SAFEBAG, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
  942. #define i2d_ASN1_SET_OF_PKCS12_SAFEBAG(st, pp, i2d_func, ex_tag, ex_class, is_set) \
  943. SKM_ASN1_SET_OF_i2d(PKCS12_SAFEBAG, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
  944. #define ASN1_seq_pack_PKCS12_SAFEBAG(st, i2d_func, buf, len) \
  945. SKM_ASN1_seq_pack(PKCS12_SAFEBAG, (st), (i2d_func), (buf), (len))
  946. #define ASN1_seq_unpack_PKCS12_SAFEBAG(buf, len, d2i_func, free_func) \
  947. SKM_ASN1_seq_unpack(PKCS12_SAFEBAG, (buf), (len), (d2i_func), (free_func))
  948. #define d2i_ASN1_SET_OF_PKCS7(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
  949. SKM_ASN1_SET_OF_d2i(PKCS7, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
  950. #define i2d_ASN1_SET_OF_PKCS7(st, pp, i2d_func, ex_tag, ex_class, is_set) \
  951. SKM_ASN1_SET_OF_i2d(PKCS7, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
  952. #define ASN1_seq_pack_PKCS7(st, i2d_func, buf, len) \
  953. SKM_ASN1_seq_pack(PKCS7, (st), (i2d_func), (buf), (len))
  954. #define ASN1_seq_unpack_PKCS7(buf, len, d2i_func, free_func) \
  955. SKM_ASN1_seq_unpack(PKCS7, (buf), (len), (d2i_func), (free_func))
  956. #define d2i_ASN1_SET_OF_PKCS7_RECIP_INFO(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
  957. SKM_ASN1_SET_OF_d2i(PKCS7_RECIP_INFO, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
  958. #define i2d_ASN1_SET_OF_PKCS7_RECIP_INFO(st, pp, i2d_func, ex_tag, ex_class, is_set) \
  959. SKM_ASN1_SET_OF_i2d(PKCS7_RECIP_INFO, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
  960. #define ASN1_seq_pack_PKCS7_RECIP_INFO(st, i2d_func, buf, len) \
  961. SKM_ASN1_seq_pack(PKCS7_RECIP_INFO, (st), (i2d_func), (buf), (len))
  962. #define ASN1_seq_unpack_PKCS7_RECIP_INFO(buf, len, d2i_func, free_func) \
  963. SKM_ASN1_seq_unpack(PKCS7_RECIP_INFO, (buf), (len), (d2i_func), (free_func))
  964. #define d2i_ASN1_SET_OF_PKCS7_SIGNER_INFO(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
  965. SKM_ASN1_SET_OF_d2i(PKCS7_SIGNER_INFO, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
  966. #define i2d_ASN1_SET_OF_PKCS7_SIGNER_INFO(st, pp, i2d_func, ex_tag, ex_class, is_set) \
  967. SKM_ASN1_SET_OF_i2d(PKCS7_SIGNER_INFO, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
  968. #define ASN1_seq_pack_PKCS7_SIGNER_INFO(st, i2d_func, buf, len) \
  969. SKM_ASN1_seq_pack(PKCS7_SIGNER_INFO, (st), (i2d_func), (buf), (len))
  970. #define ASN1_seq_unpack_PKCS7_SIGNER_INFO(buf, len, d2i_func, free_func) \
  971. SKM_ASN1_seq_unpack(PKCS7_SIGNER_INFO, (buf), (len), (d2i_func), (free_func))
  972. #define d2i_ASN1_SET_OF_POLICYINFO(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
  973. SKM_ASN1_SET_OF_d2i(POLICYINFO, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
  974. #define i2d_ASN1_SET_OF_POLICYINFO(st, pp, i2d_func, ex_tag, ex_class, is_set) \
  975. SKM_ASN1_SET_OF_i2d(POLICYINFO, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
  976. #define ASN1_seq_pack_POLICYINFO(st, i2d_func, buf, len) \
  977. SKM_ASN1_seq_pack(POLICYINFO, (st), (i2d_func), (buf), (len))
  978. #define ASN1_seq_unpack_POLICYINFO(buf, len, d2i_func, free_func) \
  979. SKM_ASN1_seq_unpack(POLICYINFO, (buf), (len), (d2i_func), (free_func))
  980. #define d2i_ASN1_SET_OF_POLICYQUALINFO(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
  981. SKM_ASN1_SET_OF_d2i(POLICYQUALINFO, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
  982. #define i2d_ASN1_SET_OF_POLICYQUALINFO(st, pp, i2d_func, ex_tag, ex_class, is_set) \
  983. SKM_ASN1_SET_OF_i2d(POLICYQUALINFO, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
  984. #define ASN1_seq_pack_POLICYQUALINFO(st, i2d_func, buf, len) \
  985. SKM_ASN1_seq_pack(POLICYQUALINFO, (st), (i2d_func), (buf), (len))
  986. #define ASN1_seq_unpack_POLICYQUALINFO(buf, len, d2i_func, free_func) \
  987. SKM_ASN1_seq_unpack(POLICYQUALINFO, (buf), (len), (d2i_func), (free_func))
  988. #define d2i_ASN1_SET_OF_SXNETID(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
  989. SKM_ASN1_SET_OF_d2i(SXNETID, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
  990. #define i2d_ASN1_SET_OF_SXNETID(st, pp, i2d_func, ex_tag, ex_class, is_set) \
  991. SKM_ASN1_SET_OF_i2d(SXNETID, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
  992. #define ASN1_seq_pack_SXNETID(st, i2d_func, buf, len) \
  993. SKM_ASN1_seq_pack(SXNETID, (st), (i2d_func), (buf), (len))
  994. #define ASN1_seq_unpack_SXNETID(buf, len, d2i_func, free_func) \
  995. SKM_ASN1_seq_unpack(SXNETID, (buf), (len), (d2i_func), (free_func))
  996. #define d2i_ASN1_SET_OF_X509(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
  997. SKM_ASN1_SET_OF_d2i(X509, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
  998. #define i2d_ASN1_SET_OF_X509(st, pp, i2d_func, ex_tag, ex_class, is_set) \
  999. SKM_ASN1_SET_OF_i2d(X509, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
  1000. #define ASN1_seq_pack_X509(st, i2d_func, buf, len) \
  1001. SKM_ASN1_seq_pack(X509, (st), (i2d_func), (buf), (len))
  1002. #define ASN1_seq_unpack_X509(buf, len, d2i_func, free_func) \
  1003. SKM_ASN1_seq_unpack(X509, (buf), (len), (d2i_func), (free_func))
  1004. #define d2i_ASN1_SET_OF_X509_ALGOR(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
  1005. SKM_ASN1_SET_OF_d2i(X509_ALGOR, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
  1006. #define i2d_ASN1_SET_OF_X509_ALGOR(st, pp, i2d_func, ex_tag, ex_class, is_set) \
  1007. SKM_ASN1_SET_OF_i2d(X509_ALGOR, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
  1008. #define ASN1_seq_pack_X509_ALGOR(st, i2d_func, buf, len) \
  1009. SKM_ASN1_seq_pack(X509_ALGOR, (st), (i2d_func), (buf), (len))
  1010. #define ASN1_seq_unpack_X509_ALGOR(buf, len, d2i_func, free_func) \
  1011. SKM_ASN1_seq_unpack(X509_ALGOR, (buf), (len), (d2i_func), (free_func))
  1012. #define d2i_ASN1_SET_OF_X509_ATTRIBUTE(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
  1013. SKM_ASN1_SET_OF_d2i(X509_ATTRIBUTE, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
  1014. #define i2d_ASN1_SET_OF_X509_ATTRIBUTE(st, pp, i2d_func, ex_tag, ex_class, is_set) \
  1015. SKM_ASN1_SET_OF_i2d(X509_ATTRIBUTE, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
  1016. #define ASN1_seq_pack_X509_ATTRIBUTE(st, i2d_func, buf, len) \
  1017. SKM_ASN1_seq_pack(X509_ATTRIBUTE, (st), (i2d_func), (buf), (len))
  1018. #define ASN1_seq_unpack_X509_ATTRIBUTE(buf, len, d2i_func, free_func) \
  1019. SKM_ASN1_seq_unpack(X509_ATTRIBUTE, (buf), (len), (d2i_func), (free_func))
  1020. #define d2i_ASN1_SET_OF_X509_CRL(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
  1021. SKM_ASN1_SET_OF_d2i(X509_CRL, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
  1022. #define i2d_ASN1_SET_OF_X509_CRL(st, pp, i2d_func, ex_tag, ex_class, is_set) \
  1023. SKM_ASN1_SET_OF_i2d(X509_CRL, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
  1024. #define ASN1_seq_pack_X509_CRL(st, i2d_func, buf, len) \
  1025. SKM_ASN1_seq_pack(X509_CRL, (st), (i2d_func), (buf), (len))
  1026. #define ASN1_seq_unpack_X509_CRL(buf, len, d2i_func, free_func) \
  1027. SKM_ASN1_seq_unpack(X509_CRL, (buf), (len), (d2i_func), (free_func))
  1028. #define d2i_ASN1_SET_OF_X509_EXTENSION(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
  1029. SKM_ASN1_SET_OF_d2i(X509_EXTENSION, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
  1030. #define i2d_ASN1_SET_OF_X509_EXTENSION(st, pp, i2d_func, ex_tag, ex_class, is_set) \
  1031. SKM_ASN1_SET_OF_i2d(X509_EXTENSION, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
  1032. #define ASN1_seq_pack_X509_EXTENSION(st, i2d_func, buf, len) \
  1033. SKM_ASN1_seq_pack(X509_EXTENSION, (st), (i2d_func), (buf), (len))
  1034. #define ASN1_seq_unpack_X509_EXTENSION(buf, len, d2i_func, free_func) \
  1035. SKM_ASN1_seq_unpack(X509_EXTENSION, (buf), (len), (d2i_func), (free_func))
  1036. #define d2i_ASN1_SET_OF_X509_NAME_ENTRY(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
  1037. SKM_ASN1_SET_OF_d2i(X509_NAME_ENTRY, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
  1038. #define i2d_ASN1_SET_OF_X509_NAME_ENTRY(st, pp, i2d_func, ex_tag, ex_class, is_set) \
  1039. SKM_ASN1_SET_OF_i2d(X509_NAME_ENTRY, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
  1040. #define ASN1_seq_pack_X509_NAME_ENTRY(st, i2d_func, buf, len) \
  1041. SKM_ASN1_seq_pack(X509_NAME_ENTRY, (st), (i2d_func), (buf), (len))
  1042. #define ASN1_seq_unpack_X509_NAME_ENTRY(buf, len, d2i_func, free_func) \
  1043. SKM_ASN1_seq_unpack(X509_NAME_ENTRY, (buf), (len), (d2i_func), (free_func))
  1044. #define d2i_ASN1_SET_OF_X509_REVOKED(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
  1045. SKM_ASN1_SET_OF_d2i(X509_REVOKED, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
  1046. #define i2d_ASN1_SET_OF_X509_REVOKED(st, pp, i2d_func, ex_tag, ex_class, is_set) \
  1047. SKM_ASN1_SET_OF_i2d(X509_REVOKED, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
  1048. #define ASN1_seq_pack_X509_REVOKED(st, i2d_func, buf, len) \
  1049. SKM_ASN1_seq_pack(X509_REVOKED, (st), (i2d_func), (buf), (len))
  1050. #define ASN1_seq_unpack_X509_REVOKED(buf, len, d2i_func, free_func) \
  1051. SKM_ASN1_seq_unpack(X509_REVOKED, (buf), (len), (d2i_func), (free_func))
  1052. #define PKCS12_decrypt_d2i_PKCS12_SAFEBAG(algor, d2i_func, free_func, pass, passlen, oct, seq) \
  1053. SKM_PKCS12_decrypt_d2i(PKCS12_SAFEBAG, (algor), (d2i_func), (free_func), (pass), (passlen), (oct), (seq))
  1054. #define PKCS12_decrypt_d2i_PKCS7(algor, d2i_func, free_func, pass, passlen, oct, seq) \
  1055. SKM_PKCS12_decrypt_d2i(PKCS7, (algor), (d2i_func), (free_func), (pass), (passlen), (oct), (seq))
  1056. /* End of util/mkstack.pl block, you may now edit :-) */
  1057. #endif /* !defined HEADER_SAFESTACK_H */