Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 896922 Details for
Bug 1098843
compile openssl-1.0.1g failed with enable-ec_nistp_64_gcc_128 option
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
Preprocessed source
ccwLAXiH.out (text/x-csrc), 179.78 KB, created by
xyyang
on 2014-05-19 02:28:18 UTC
(
hide
)
Description:
Preprocessed source
Filename:
MIME Type:
Creator:
xyyang
Created:
2014-05-19 02:28:18 UTC
Size:
179.78 KB
patch
obsolete
>// /usr/libexec/gcc/x86_64-redhat-linux/4.1.2/cc1 -quiet -I.. -I../.. -I../modes -I../asn1 -I../evp -I../../include -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM ecp_nistp224.c -quiet -dumpbase ecp_nistp224.c -m64 -mtune=generic -auxbase-strip ecp_nistp224.o -O3 -Wall -o - -frandom-seed=0 ># 1 "ecp_nistp224.c" ># 1 "<built-in>" ># 1 "<command line>" ># 1 "ecp_nistp224.c" ># 28 "ecp_nistp224.c" ># 1 "../../include/openssl/opensslconf.h" 1 ># 29 "ecp_nistp224.c" 2 > > > ># 1 "/usr/include/stdint.h" 1 3 4 ># 26 "/usr/include/stdint.h" 3 4 ># 1 "/usr/include/features.h" 1 3 4 ># 329 "/usr/include/features.h" 3 4 ># 1 "/usr/include/sys/cdefs.h" 1 3 4 ># 313 "/usr/include/sys/cdefs.h" 3 4 ># 1 "/usr/include/bits/wordsize.h" 1 3 4 ># 314 "/usr/include/sys/cdefs.h" 2 3 4 ># 330 "/usr/include/features.h" 2 3 4 ># 352 "/usr/include/features.h" 3 4 ># 1 "/usr/include/gnu/stubs.h" 1 3 4 > > > ># 1 "/usr/include/bits/wordsize.h" 1 3 4 ># 5 "/usr/include/gnu/stubs.h" 2 3 4 > > > > ># 1 "/usr/include/gnu/stubs-64.h" 1 3 4 ># 10 "/usr/include/gnu/stubs.h" 2 3 4 ># 353 "/usr/include/features.h" 2 3 4 ># 27 "/usr/include/stdint.h" 2 3 4 ># 1 "/usr/include/bits/wchar.h" 1 3 4 ># 28 "/usr/include/stdint.h" 2 3 4 ># 1 "/usr/include/bits/wordsize.h" 1 3 4 ># 29 "/usr/include/stdint.h" 2 3 4 ># 37 "/usr/include/stdint.h" 3 4 >typedef signed char int8_t; >typedef short int int16_t; >typedef int int32_t; > >typedef long int int64_t; > > > > > > > >typedef unsigned char uint8_t; >typedef unsigned short int uint16_t; > >typedef unsigned int uint32_t; > > > >typedef unsigned long int uint64_t; ># 66 "/usr/include/stdint.h" 3 4 >typedef signed char int_least8_t; >typedef short int int_least16_t; >typedef int int_least32_t; > >typedef long int int_least64_t; > > > > > > >typedef unsigned char uint_least8_t; >typedef unsigned short int uint_least16_t; >typedef unsigned int uint_least32_t; > >typedef unsigned long int uint_least64_t; ># 91 "/usr/include/stdint.h" 3 4 >typedef signed char int_fast8_t; > >typedef long int int_fast16_t; >typedef long int int_fast32_t; >typedef long int int_fast64_t; ># 104 "/usr/include/stdint.h" 3 4 >typedef unsigned char uint_fast8_t; > >typedef unsigned long int uint_fast16_t; >typedef unsigned long int uint_fast32_t; >typedef unsigned long int uint_fast64_t; ># 120 "/usr/include/stdint.h" 3 4 >typedef long int intptr_t; > > >typedef unsigned long int uintptr_t; ># 135 "/usr/include/stdint.h" 3 4 >typedef long int intmax_t; >typedef unsigned long int uintmax_t; ># 33 "ecp_nistp224.c" 2 > > > > ># 1 "/usr/include/string.h" 1 3 4 ># 28 "/usr/include/string.h" 3 4 > > > > > ># 1 "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stddef.h" 1 3 4 ># 214 "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stddef.h" 3 4 >typedef long unsigned int size_t; ># 34 "/usr/include/string.h" 2 3 4 > > > > >extern void *memcpy (void *__restrict __dest, > __const void *__restrict __src, size_t __n) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); > > >extern void *memmove (void *__dest, __const void *__src, size_t __n) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); > > > > > > >extern void *memccpy (void *__restrict __dest, __const void *__restrict __src, > int __c, size_t __n) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); > > > > > >extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); > > >extern int memcmp (__const void *__s1, __const void *__s2, size_t __n) > __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); > > >extern void *memchr (__const void *__s, int __c, size_t __n) > __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); > ># 82 "/usr/include/string.h" 3 4 > > >extern char *strcpy (char *__restrict __dest, __const char *__restrict __src) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); > >extern char *strncpy (char *__restrict __dest, > __const char *__restrict __src, size_t __n) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); > > >extern char *strcat (char *__restrict __dest, __const char *__restrict __src) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); > >extern char *strncat (char *__restrict __dest, __const char *__restrict __src, > size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); > > >extern int strcmp (__const char *__s1, __const char *__s2) > __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); > >extern int strncmp (__const char *__s1, __const char *__s2, size_t __n) > __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); > > >extern int strcoll (__const char *__s1, __const char *__s2) > __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); > >extern size_t strxfrm (char *__restrict __dest, > __const char *__restrict __src, size_t __n) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); > ># 130 "/usr/include/string.h" 3 4 >extern char *strdup (__const char *__s) > __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); ># 165 "/usr/include/string.h" 3 4 > > >extern char *strchr (__const char *__s, int __c) > __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); > >extern char *strrchr (__const char *__s, int __c) > __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); > ># 181 "/usr/include/string.h" 3 4 > > > >extern size_t strcspn (__const char *__s, __const char *__reject) > __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); > > >extern size_t strspn (__const char *__s, __const char *__accept) > __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); > >extern char *strpbrk (__const char *__s, __const char *__accept) > __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); > >extern char *strstr (__const char *__haystack, __const char *__needle) > __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); > > > >extern char *strtok (char *__restrict __s, __const char *__restrict __delim) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); > > > > >extern char *__strtok_r (char *__restrict __s, > __const char *__restrict __delim, > char **__restrict __save_ptr) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3))); > >extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim, > char **__restrict __save_ptr) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3))); ># 240 "/usr/include/string.h" 3 4 > > >extern size_t strlen (__const char *__s) > __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); > ># 254 "/usr/include/string.h" 3 4 > > >extern char *strerror (int __errnum) __attribute__ ((__nothrow__)); > ># 270 "/usr/include/string.h" 3 4 >extern int strerror_r (int __errnum, char *__buf, size_t __buflen) __asm__ ("" "__xpg_strerror_r") __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); ># 288 "/usr/include/string.h" 3 4 >extern void __bzero (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); > > > >extern void bcopy (__const void *__src, void *__dest, size_t __n) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); > > >extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); > > >extern int bcmp (__const void *__s1, __const void *__s2, size_t __n) > __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); > > >extern char *index (__const char *__s, int __c) > __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); > > >extern char *rindex (__const char *__s, int __c) > __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); > > > >extern int ffs (int __i) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); ># 325 "/usr/include/string.h" 3 4 >extern int strcasecmp (__const char *__s1, __const char *__s2) > __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); > > >extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n) > __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); ># 348 "/usr/include/string.h" 3 4 >extern char *strsep (char **__restrict __stringp, > __const char *__restrict __delim) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); ># 414 "/usr/include/string.h" 3 4 ># 1 "/usr/include/bits/string.h" 1 3 4 ># 415 "/usr/include/string.h" 2 3 4 > > ># 1 "/usr/include/bits/string2.h" 1 3 4 ># 52 "/usr/include/bits/string2.h" 3 4 ># 1 "/usr/include/endian.h" 1 3 4 ># 37 "/usr/include/endian.h" 3 4 ># 1 "/usr/include/bits/endian.h" 1 3 4 ># 38 "/usr/include/endian.h" 2 3 4 ># 53 "/usr/include/bits/string2.h" 2 3 4 ># 1 "/usr/include/bits/types.h" 1 3 4 ># 28 "/usr/include/bits/types.h" 3 4 ># 1 "/usr/include/bits/wordsize.h" 1 3 4 ># 29 "/usr/include/bits/types.h" 2 3 4 > > ># 1 "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stddef.h" 1 3 4 ># 32 "/usr/include/bits/types.h" 2 3 4 > > >typedef unsigned char __u_char; >typedef unsigned short int __u_short; >typedef unsigned int __u_int; >typedef unsigned long int __u_long; > > >typedef signed char __int8_t; >typedef unsigned char __uint8_t; >typedef signed short int __int16_t; >typedef unsigned short int __uint16_t; >typedef signed int __int32_t; >typedef unsigned int __uint32_t; > >typedef signed long int __int64_t; >typedef unsigned long int __uint64_t; > > > > > > > >typedef long int __quad_t; >typedef unsigned long int __u_quad_t; ># 134 "/usr/include/bits/types.h" 3 4 ># 1 "/usr/include/bits/typesizes.h" 1 3 4 ># 135 "/usr/include/bits/types.h" 2 3 4 > > >typedef unsigned long int __dev_t; >typedef unsigned int __uid_t; >typedef unsigned int __gid_t; >typedef unsigned long int __ino_t; >typedef unsigned long int __ino64_t; >typedef unsigned int __mode_t; >typedef unsigned long int __nlink_t; >typedef long int __off_t; >typedef long int __off64_t; >typedef int __pid_t; >typedef struct { int __val[2]; } __fsid_t; >typedef long int __clock_t; >typedef unsigned long int __rlim_t; >typedef unsigned long int __rlim64_t; >typedef unsigned int __id_t; >typedef long int __time_t; >typedef unsigned int __useconds_t; >typedef long int __suseconds_t; > >typedef int __daddr_t; >typedef long int __swblk_t; >typedef int __key_t; > > >typedef int __clockid_t; > > >typedef void * __timer_t; > > >typedef long int __blksize_t; > > > > >typedef long int __blkcnt_t; >typedef long int __blkcnt64_t; > > >typedef unsigned long int __fsblkcnt_t; >typedef unsigned long int __fsblkcnt64_t; > > >typedef unsigned long int __fsfilcnt_t; >typedef unsigned long int __fsfilcnt64_t; > >typedef long int __ssize_t; > > > >typedef __off64_t __loff_t; >typedef __quad_t *__qaddr_t; >typedef char *__caddr_t; > > >typedef long int __intptr_t; > > >typedef unsigned int __socklen_t; ># 54 "/usr/include/bits/string2.h" 2 3 4 ># 394 "/usr/include/bits/string2.h" 3 4 >extern void *__rawmemchr (const void *__s, int __c); ># 969 "/usr/include/bits/string2.h" 3 4 >extern __inline size_t __strcspn_c1 (__const char *__s, int __reject); >extern __inline size_t >__strcspn_c1 (__const char *__s, int __reject) >{ > register size_t __result = 0; > while (__s[__result] != '\0' && __s[__result] != __reject) > ++__result; > return __result; >} > >extern __inline size_t __strcspn_c2 (__const char *__s, int __reject1, > int __reject2); >extern __inline size_t >__strcspn_c2 (__const char *__s, int __reject1, int __reject2) >{ > register size_t __result = 0; > while (__s[__result] != '\0' && __s[__result] != __reject1 > && __s[__result] != __reject2) > ++__result; > return __result; >} > >extern __inline size_t __strcspn_c3 (__const char *__s, int __reject1, > int __reject2, int __reject3); >extern __inline size_t >__strcspn_c3 (__const char *__s, int __reject1, int __reject2, > int __reject3) >{ > register size_t __result = 0; > while (__s[__result] != '\0' && __s[__result] != __reject1 > && __s[__result] != __reject2 && __s[__result] != __reject3) > ++__result; > return __result; >} ># 1045 "/usr/include/bits/string2.h" 3 4 >extern __inline size_t __strspn_c1 (__const char *__s, int __accept); >extern __inline size_t >__strspn_c1 (__const char *__s, int __accept) >{ > register size_t __result = 0; > > while (__s[__result] == __accept) > ++__result; > return __result; >} > >extern __inline size_t __strspn_c2 (__const char *__s, int __accept1, > int __accept2); >extern __inline size_t >__strspn_c2 (__const char *__s, int __accept1, int __accept2) >{ > register size_t __result = 0; > > while (__s[__result] == __accept1 || __s[__result] == __accept2) > ++__result; > return __result; >} > >extern __inline size_t __strspn_c3 (__const char *__s, int __accept1, > int __accept2, int __accept3); >extern __inline size_t >__strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3) >{ > register size_t __result = 0; > > while (__s[__result] == __accept1 || __s[__result] == __accept2 > || __s[__result] == __accept3) > ++__result; > return __result; >} ># 1121 "/usr/include/bits/string2.h" 3 4 >extern __inline char *__strpbrk_c2 (__const char *__s, int __accept1, > int __accept2); >extern __inline char * >__strpbrk_c2 (__const char *__s, int __accept1, int __accept2) >{ > > while (*__s != '\0' && *__s != __accept1 && *__s != __accept2) > ++__s; > return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s; >} > >extern __inline char *__strpbrk_c3 (__const char *__s, int __accept1, > int __accept2, int __accept3); >extern __inline char * >__strpbrk_c3 (__const char *__s, int __accept1, int __accept2, > int __accept3) >{ > > while (*__s != '\0' && *__s != __accept1 && *__s != __accept2 > && *__s != __accept3) > ++__s; > return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s; >} ># 1173 "/usr/include/bits/string2.h" 3 4 >extern __inline char *__strtok_r_1c (char *__s, char __sep, char **__nextp); >extern __inline char * >__strtok_r_1c (char *__s, char __sep, char **__nextp) >{ > char *__result; > if (__s == ((void *)0)) > __s = *__nextp; > while (*__s == __sep) > ++__s; > __result = ((void *)0); > if (*__s != '\0') > { > __result = __s++; > while (*__s != '\0') > if (*__s++ == __sep) > { > __s[-1] = '\0'; > break; > } > *__nextp = __s; > } > return __result; >} ># 1205 "/usr/include/bits/string2.h" 3 4 >extern char *__strsep_g (char **__stringp, __const char *__delim); ># 1223 "/usr/include/bits/string2.h" 3 4 >extern __inline char *__strsep_1c (char **__s, char __reject); >extern __inline char * >__strsep_1c (char **__s, char __reject) >{ > register char *__retval = *__s; > if (__retval != ((void *)0) && (*__s = (__extension__ (__builtin_constant_p (__reject) && !__builtin_constant_p (__retval) && (__reject) == '\0' ? (char *) __rawmemchr (__retval, __reject) : __builtin_strchr (__retval, __reject)))) != ((void *)0)) > *(*__s)++ = '\0'; > return __retval; >} > >extern __inline char *__strsep_2c (char **__s, char __reject1, char __reject2); >extern __inline char * >__strsep_2c (char **__s, char __reject1, char __reject2) >{ > register char *__retval = *__s; > if (__retval != ((void *)0)) > { > register char *__cp = __retval; > while (1) > { > if (*__cp == '\0') > { > __cp = ((void *)0); > break; > } > if (*__cp == __reject1 || *__cp == __reject2) > { > *__cp++ = '\0'; > break; > } > ++__cp; > } > *__s = __cp; > } > return __retval; >} > >extern __inline char *__strsep_3c (char **__s, char __reject1, char __reject2, > char __reject3); >extern __inline char * >__strsep_3c (char **__s, char __reject1, char __reject2, char __reject3) >{ > register char *__retval = *__s; > if (__retval != ((void *)0)) > { > register char *__cp = __retval; > while (1) > { > if (*__cp == '\0') > { > __cp = ((void *)0); > break; > } > if (*__cp == __reject1 || *__cp == __reject2 || *__cp == __reject3) > { > *__cp++ = '\0'; > break; > } > ++__cp; > } > *__s = __cp; > } > return __retval; >} ># 1299 "/usr/include/bits/string2.h" 3 4 ># 1 "/usr/include/stdlib.h" 1 3 4 ># 33 "/usr/include/stdlib.h" 3 4 ># 1 "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stddef.h" 1 3 4 ># 34 "/usr/include/stdlib.h" 2 3 4 > > ># 587 "/usr/include/stdlib.h" 3 4 > > >extern void *malloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; > >extern void *calloc (size_t __nmemb, size_t __size) > __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; > ># 977 "/usr/include/stdlib.h" 3 4 > ># 1300 "/usr/include/bits/string2.h" 2 3 4 > > > > >extern char *__strdup (__const char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)); ># 1323 "/usr/include/bits/string2.h" 3 4 >extern char *__strndup (__const char *__string, size_t __n) > __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)); ># 418 "/usr/include/string.h" 2 3 4 ># 426 "/usr/include/string.h" 3 4 > ># 38 "ecp_nistp224.c" 2 ># 1 "../../include/openssl/err.h" 1 ># 115 "../../include/openssl/err.h" ># 1 "../../include/openssl/e_os2.h" 1 ># 56 "../../include/openssl/e_os2.h" ># 1 "../../include/openssl/opensslconf.h" 1 ># 57 "../../include/openssl/e_os2.h" 2 ># 116 "../../include/openssl/err.h" 2 > > ># 1 "/usr/include/stdio.h" 1 3 4 ># 30 "/usr/include/stdio.h" 3 4 > > > > ># 1 "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stddef.h" 1 3 4 ># 35 "/usr/include/stdio.h" 2 3 4 ># 44 "/usr/include/stdio.h" 3 4 > > >typedef struct _IO_FILE FILE; > > > > > ># 62 "/usr/include/stdio.h" 3 4 >typedef struct _IO_FILE __FILE; ># 72 "/usr/include/stdio.h" 3 4 ># 1 "/usr/include/libio.h" 1 3 4 ># 32 "/usr/include/libio.h" 3 4 ># 1 "/usr/include/_G_config.h" 1 3 4 ># 14 "/usr/include/_G_config.h" 3 4 ># 1 "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stddef.h" 1 3 4 ># 326 "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stddef.h" 3 4 >typedef int wchar_t; ># 355 "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stddef.h" 3 4 >typedef unsigned int wint_t; ># 15 "/usr/include/_G_config.h" 2 3 4 ># 24 "/usr/include/_G_config.h" 3 4 ># 1 "/usr/include/wchar.h" 1 3 4 ># 48 "/usr/include/wchar.h" 3 4 ># 1 "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stddef.h" 1 3 4 ># 49 "/usr/include/wchar.h" 2 3 4 ># 76 "/usr/include/wchar.h" 3 4 >typedef struct >{ > int __count; > union > { > wint_t __wch; > char __wchb[4]; > } __value; >} __mbstate_t; ># 25 "/usr/include/_G_config.h" 2 3 4 > >typedef struct >{ > __off_t __pos; > __mbstate_t __state; >} _G_fpos_t; >typedef struct >{ > __off64_t __pos; > __mbstate_t __state; >} _G_fpos64_t; ># 44 "/usr/include/_G_config.h" 3 4 ># 1 "/usr/include/gconv.h" 1 3 4 ># 28 "/usr/include/gconv.h" 3 4 ># 1 "/usr/include/wchar.h" 1 3 4 ># 48 "/usr/include/wchar.h" 3 4 ># 1 "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stddef.h" 1 3 4 ># 49 "/usr/include/wchar.h" 2 3 4 ># 29 "/usr/include/gconv.h" 2 3 4 > > ># 1 "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stddef.h" 1 3 4 ># 32 "/usr/include/gconv.h" 2 3 4 > > > > > >enum >{ > __GCONV_OK = 0, > __GCONV_NOCONV, > __GCONV_NODB, > __GCONV_NOMEM, > > __GCONV_EMPTY_INPUT, > __GCONV_FULL_OUTPUT, > __GCONV_ILLEGAL_INPUT, > __GCONV_INCOMPLETE_INPUT, > > __GCONV_ILLEGAL_DESCRIPTOR, > __GCONV_INTERNAL_ERROR >}; > > > >enum >{ > __GCONV_IS_LAST = 0x0001, > __GCONV_IGNORE_ERRORS = 0x0002 >}; > > > >struct __gconv_step; >struct __gconv_step_data; >struct __gconv_loaded_object; >struct __gconv_trans_data; > > > >typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *, > __const unsigned char **, __const unsigned char *, > unsigned char **, size_t *, int, int); > > >typedef wint_t (*__gconv_btowc_fct) (struct __gconv_step *, unsigned char); > > >typedef int (*__gconv_init_fct) (struct __gconv_step *); >typedef void (*__gconv_end_fct) (struct __gconv_step *); > > > >typedef int (*__gconv_trans_fct) (struct __gconv_step *, > struct __gconv_step_data *, void *, > __const unsigned char *, > __const unsigned char **, > __const unsigned char *, unsigned char **, > size_t *); > > >typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *, > __const unsigned char *, > unsigned char *, unsigned char *); > > >typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***, > size_t *); > > >typedef int (*__gconv_trans_init_fct) (void **, const char *); >typedef void (*__gconv_trans_end_fct) (void *); > >struct __gconv_trans_data >{ > > __gconv_trans_fct __trans_fct; > __gconv_trans_context_fct __trans_context_fct; > __gconv_trans_end_fct __trans_end_fct; > void *__data; > struct __gconv_trans_data *__next; >}; > > > >struct __gconv_step >{ > struct __gconv_loaded_object *__shlib_handle; > __const char *__modname; > > int __counter; > > char *__from_name; > char *__to_name; > > __gconv_fct __fct; > __gconv_btowc_fct __btowc_fct; > __gconv_init_fct __init_fct; > __gconv_end_fct __end_fct; > > > > int __min_needed_from; > int __max_needed_from; > int __min_needed_to; > int __max_needed_to; > > > int __stateful; > > void *__data; >}; > > > >struct __gconv_step_data >{ > unsigned char *__outbuf; > unsigned char *__outbufend; > > > > int __flags; > > > > int __invocation_counter; > > > > int __internal_use; > > __mbstate_t *__statep; > __mbstate_t __state; > > > > struct __gconv_trans_data *__trans; >}; > > > >typedef struct __gconv_info >{ > size_t __nsteps; > struct __gconv_step *__steps; > __extension__ struct __gconv_step_data __data []; >} *__gconv_t; ># 45 "/usr/include/_G_config.h" 2 3 4 >typedef union >{ > struct __gconv_info __cd; > struct > { > struct __gconv_info __cd; > struct __gconv_step_data __data; > } __combined; >} _G_iconv_t; > >typedef int _G_int16_t __attribute__ ((__mode__ (__HI__))); >typedef int _G_int32_t __attribute__ ((__mode__ (__SI__))); >typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__))); >typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__))); ># 33 "/usr/include/libio.h" 2 3 4 ># 53 "/usr/include/libio.h" 3 4 ># 1 "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stdarg.h" 1 3 4 ># 43 "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stdarg.h" 3 4 >typedef __builtin_va_list __gnuc_va_list; ># 54 "/usr/include/libio.h" 2 3 4 ># 167 "/usr/include/libio.h" 3 4 >struct _IO_jump_t; struct _IO_FILE; ># 177 "/usr/include/libio.h" 3 4 >typedef void _IO_lock_t; > > > > > >struct _IO_marker { > struct _IO_marker *_next; > struct _IO_FILE *_sbuf; > > > > int _pos; ># 200 "/usr/include/libio.h" 3 4 >}; > > >enum __codecvt_result >{ > __codecvt_ok, > __codecvt_partial, > __codecvt_error, > __codecvt_noconv >}; ># 268 "/usr/include/libio.h" 3 4 >struct _IO_FILE { > int _flags; > > > > > char* _IO_read_ptr; > char* _IO_read_end; > char* _IO_read_base; > char* _IO_write_base; > char* _IO_write_ptr; > char* _IO_write_end; > char* _IO_buf_base; > char* _IO_buf_end; > > char *_IO_save_base; > char *_IO_backup_base; > char *_IO_save_end; > > struct _IO_marker *_markers; > > struct _IO_FILE *_chain; > > int _fileno; > > > > int _flags2; > > __off_t _old_offset; > > > > unsigned short _cur_column; > signed char _vtable_offset; > char _shortbuf[1]; > > > > _IO_lock_t *_lock; ># 316 "/usr/include/libio.h" 3 4 > __off64_t _offset; ># 325 "/usr/include/libio.h" 3 4 > void *__pad1; > void *__pad2; > void *__pad3; > void *__pad4; > size_t __pad5; > > int _mode; > > char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; > >}; > > >typedef struct _IO_FILE _IO_FILE; > > >struct _IO_FILE_plus; > >extern struct _IO_FILE_plus _IO_2_1_stdin_; >extern struct _IO_FILE_plus _IO_2_1_stdout_; >extern struct _IO_FILE_plus _IO_2_1_stderr_; ># 361 "/usr/include/libio.h" 3 4 >typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes); > > > > > > > >typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf, > size_t __n); > > > > > > > >typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w); > > >typedef int __io_close_fn (void *__cookie); ># 413 "/usr/include/libio.h" 3 4 >extern int __underflow (_IO_FILE *); >extern int __uflow (_IO_FILE *); >extern int __overflow (_IO_FILE *, int); >extern wint_t __wunderflow (_IO_FILE *); >extern wint_t __wuflow (_IO_FILE *); >extern wint_t __woverflow (_IO_FILE *, wint_t); ># 451 "/usr/include/libio.h" 3 4 >extern int _IO_getc (_IO_FILE *__fp); >extern int _IO_putc (int __c, _IO_FILE *__fp); >extern int _IO_feof (_IO_FILE *__fp) __attribute__ ((__nothrow__)); >extern int _IO_ferror (_IO_FILE *__fp) __attribute__ ((__nothrow__)); > >extern int _IO_peekc_locked (_IO_FILE *__fp); > > > > > >extern void _IO_flockfile (_IO_FILE *) __attribute__ ((__nothrow__)); >extern void _IO_funlockfile (_IO_FILE *) __attribute__ ((__nothrow__)); >extern int _IO_ftrylockfile (_IO_FILE *) __attribute__ ((__nothrow__)); ># 481 "/usr/include/libio.h" 3 4 >extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict, > __gnuc_va_list, int *__restrict); >extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict, > __gnuc_va_list); >extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t); >extern size_t _IO_sgetn (_IO_FILE *, void *, size_t); > >extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int); >extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int); > >extern void _IO_free_backup_area (_IO_FILE *) __attribute__ ((__nothrow__)); ># 73 "/usr/include/stdio.h" 2 3 4 ># 86 "/usr/include/stdio.h" 3 4 > > >typedef _G_fpos_t fpos_t; > > > > ># 138 "/usr/include/stdio.h" 3 4 ># 1 "/usr/include/bits/stdio_lim.h" 1 3 4 ># 139 "/usr/include/stdio.h" 2 3 4 > > > >extern struct _IO_FILE *stdin; >extern struct _IO_FILE *stdout; >extern struct _IO_FILE *stderr; > > > > > > > > > >extern int remove (__const char *__filename) __attribute__ ((__nothrow__)); > >extern int rename (__const char *__old, __const char *__new) __attribute__ ((__nothrow__)); > > > > > > > > > > > > > > >extern FILE *tmpfile (void); ># 185 "/usr/include/stdio.h" 3 4 >extern char *tmpnam (char *__s) __attribute__ ((__nothrow__)); > > > > > >extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__)); ># 203 "/usr/include/stdio.h" 3 4 >extern char *tempnam (__const char *__dir, __const char *__pfx) > __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)); > > > > > > > > >extern int fclose (FILE *__stream); > > > > >extern int fflush (FILE *__stream); > ># 228 "/usr/include/stdio.h" 3 4 >extern int fflush_unlocked (FILE *__stream); ># 242 "/usr/include/stdio.h" 3 4 > > > > > > >extern FILE *fopen (__const char *__restrict __filename, > __const char *__restrict __modes); > > > > >extern FILE *freopen (__const char *__restrict __filename, > __const char *__restrict __modes, > FILE *__restrict __stream); ># 269 "/usr/include/stdio.h" 3 4 > ># 280 "/usr/include/stdio.h" 3 4 >extern FILE *fdopen (int __fd, __const char *__modes) __attribute__ ((__nothrow__)); ># 300 "/usr/include/stdio.h" 3 4 > > > >extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__)); > > > >extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, > int __modes, size_t __n) __attribute__ ((__nothrow__)); > > > > > >extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, > size_t __size) __attribute__ ((__nothrow__)); > > >extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__)); > > > > > > > > >extern int fprintf (FILE *__restrict __stream, > __const char *__restrict __format, ...); > > > > >extern int printf (__const char *__restrict __format, ...); > >extern int sprintf (char *__restrict __s, > __const char *__restrict __format, ...) __attribute__ ((__nothrow__)); > > > > > >extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format, > __gnuc_va_list __arg); > > > > >extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg); > >extern int vsprintf (char *__restrict __s, __const char *__restrict __format, > __gnuc_va_list __arg) __attribute__ ((__nothrow__)); > > > > > >extern int snprintf (char *__restrict __s, size_t __maxlen, > __const char *__restrict __format, ...) > __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))); > >extern int vsnprintf (char *__restrict __s, size_t __maxlen, > __const char *__restrict __format, __gnuc_va_list __arg) > __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))); > ># 394 "/usr/include/stdio.h" 3 4 > > > > > >extern int fscanf (FILE *__restrict __stream, > __const char *__restrict __format, ...) ; > > > > >extern int scanf (__const char *__restrict __format, ...) ; > >extern int sscanf (__const char *__restrict __s, > __const char *__restrict __format, ...) __attribute__ ((__nothrow__)); > ># 436 "/usr/include/stdio.h" 3 4 > > > > > >extern int fgetc (FILE *__stream); >extern int getc (FILE *__stream); > > > > > >extern int getchar (void); > ># 460 "/usr/include/stdio.h" 3 4 >extern int getc_unlocked (FILE *__stream); >extern int getchar_unlocked (void); ># 471 "/usr/include/stdio.h" 3 4 >extern int fgetc_unlocked (FILE *__stream); > > > > > > > > > > > >extern int fputc (int __c, FILE *__stream); >extern int putc (int __c, FILE *__stream); > > > > > >extern int putchar (int __c); > ># 504 "/usr/include/stdio.h" 3 4 >extern int fputc_unlocked (int __c, FILE *__stream); > > > > > > > >extern int putc_unlocked (int __c, FILE *__stream); >extern int putchar_unlocked (int __c); > > > > > > >extern int getw (FILE *__stream); > > >extern int putw (int __w, FILE *__stream); > > > > > > > > >extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) > ; > > > > > > >extern char *gets (char *__s) ; > ># 585 "/usr/include/stdio.h" 3 4 > > > > > >extern int fputs (__const char *__restrict __s, FILE *__restrict __stream); > > > > > >extern int puts (__const char *__s); > > > > > > >extern int ungetc (int __c, FILE *__stream); > > > > > > >extern size_t fread (void *__restrict __ptr, size_t __size, > size_t __n, FILE *__restrict __stream) ; > > > > >extern size_t fwrite (__const void *__restrict __ptr, size_t __size, > size_t __n, FILE *__restrict __s) ; > ># 638 "/usr/include/stdio.h" 3 4 >extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, > size_t __n, FILE *__restrict __stream) ; >extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size, > size_t __n, FILE *__restrict __stream) ; > > > > > > > > >extern int fseek (FILE *__stream, long int __off, int __whence); > > > > >extern long int ftell (FILE *__stream) ; > > > > >extern void rewind (FILE *__stream); > ># 674 "/usr/include/stdio.h" 3 4 >extern int fseeko (FILE *__stream, __off_t __off, int __whence); > > > > >extern __off_t ftello (FILE *__stream) ; ># 693 "/usr/include/stdio.h" 3 4 > > > > > > >extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); > > > > >extern int fsetpos (FILE *__stream, __const fpos_t *__pos); ># 716 "/usr/include/stdio.h" 3 4 > ># 725 "/usr/include/stdio.h" 3 4 > > >extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__)); > >extern int feof (FILE *__stream) __attribute__ ((__nothrow__)) ; > >extern int ferror (FILE *__stream) __attribute__ ((__nothrow__)) ; > > > > >extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__)); >extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ; >extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ; > > > > > > > > >extern void perror (__const char *__s); > > > > > > ># 1 "/usr/include/bits/sys_errlist.h" 1 3 4 ># 27 "/usr/include/bits/sys_errlist.h" 3 4 >extern int sys_nerr; >extern __const char *__const sys_errlist[]; ># 755 "/usr/include/stdio.h" 2 3 4 > > > > >extern int fileno (FILE *__stream) __attribute__ ((__nothrow__)) ; > > > > >extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ; ># 774 "/usr/include/stdio.h" 3 4 >extern FILE *popen (__const char *__command, __const char *__modes) ; > > > > > >extern int pclose (FILE *__stream); > > > > > >extern char *ctermid (char *__s) __attribute__ ((__nothrow__)); ># 814 "/usr/include/stdio.h" 3 4 >extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__)); > > > >extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__)) ; > > >extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__)); ># 835 "/usr/include/stdio.h" 3 4 ># 1 "/usr/include/bits/stdio.h" 1 3 4 ># 33 "/usr/include/bits/stdio.h" 3 4 >extern __inline int >vprintf (__const char *__restrict __fmt, __gnuc_va_list __arg) >{ > return vfprintf (stdout, __fmt, __arg); >} > > >extern __inline int >getchar (void) >{ > return _IO_getc (stdin); >} > > > > >extern __inline int >fgetc_unlocked (FILE *__fp) >{ > return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); >} > > > > > >extern __inline int >getc_unlocked (FILE *__fp) >{ > return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); >} > > >extern __inline int >getchar_unlocked (void) >{ > return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); >} > > > > >extern __inline int >putchar (int __c) >{ > return _IO_putc (__c, stdout); >} > > > > >extern __inline int >fputc_unlocked (int __c, FILE *__stream) >{ > return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); >} > > > > > >extern __inline int >putc_unlocked (int __c, FILE *__stream) >{ > return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); >} > > >extern __inline int >putchar_unlocked (int __c) >{ > return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); >} ># 121 "/usr/include/bits/stdio.h" 3 4 >extern __inline int >__attribute__ ((__nothrow__)) feof_unlocked (FILE *__stream) >{ > return (((__stream)->_flags & 0x10) != 0); >} > > >extern __inline int >__attribute__ ((__nothrow__)) ferror_unlocked (FILE *__stream) >{ > return (((__stream)->_flags & 0x20) != 0); >} ># 836 "/usr/include/stdio.h" 2 3 4 ># 844 "/usr/include/stdio.h" 3 4 > ># 119 "../../include/openssl/err.h" 2 ># 1 "/usr/include/stdlib.h" 1 3 4 ># 33 "/usr/include/stdlib.h" 3 4 ># 1 "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stddef.h" 1 3 4 ># 34 "/usr/include/stdlib.h" 2 3 4 > > ># 96 "/usr/include/stdlib.h" 3 4 > > >typedef struct > { > int quot; > int rem; > } div_t; > > > >typedef struct > { > long int quot; > long int rem; > } ldiv_t; > > > ># 140 "/usr/include/stdlib.h" 3 4 >extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__)) ; > > > > >extern double atof (__const char *__nptr) > __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; > >extern int atoi (__const char *__nptr) > __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; > >extern long int atol (__const char *__nptr) > __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; > > > > > >__extension__ extern long long int atoll (__const char *__nptr) > __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; > > > > > >extern double strtod (__const char *__restrict __nptr, > char **__restrict __endptr) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; > ># 182 "/usr/include/stdlib.h" 3 4 > > >extern long int strtol (__const char *__restrict __nptr, > char **__restrict __endptr, int __base) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; > >extern unsigned long int strtoul (__const char *__restrict __nptr, > char **__restrict __endptr, int __base) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; > > > > >__extension__ >extern long long int strtoq (__const char *__restrict __nptr, > char **__restrict __endptr, int __base) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; > >__extension__ >extern unsigned long long int strtouq (__const char *__restrict __nptr, > char **__restrict __endptr, int __base) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; > > > > > >__extension__ >extern long long int strtoll (__const char *__restrict __nptr, > char **__restrict __endptr, int __base) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; > >__extension__ >extern unsigned long long int strtoull (__const char *__restrict __nptr, > char **__restrict __endptr, int __base) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; > ># 279 "/usr/include/stdlib.h" 3 4 >extern double __strtod_internal (__const char *__restrict __nptr, > char **__restrict __endptr, int __group) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; >extern float __strtof_internal (__const char *__restrict __nptr, > char **__restrict __endptr, int __group) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; >extern long double __strtold_internal (__const char *__restrict __nptr, > char **__restrict __endptr, > int __group) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; > >extern long int __strtol_internal (__const char *__restrict __nptr, > char **__restrict __endptr, > int __base, int __group) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; > > > >extern unsigned long int __strtoul_internal (__const char *__restrict __nptr, > char **__restrict __endptr, > int __base, int __group) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; > > > > >__extension__ >extern long long int __strtoll_internal (__const char *__restrict __nptr, > char **__restrict __endptr, > int __base, int __group) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; > > > >__extension__ >extern unsigned long long int __strtoull_internal (__const char * > __restrict __nptr, > char **__restrict __endptr, > int __base, int __group) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; > > > > > > > > >extern __inline double >__attribute__ ((__nothrow__)) strtod (__const char *__restrict __nptr, char **__restrict __endptr) >{ > return __strtod_internal (__nptr, __endptr, 0); >} >extern __inline long int >__attribute__ ((__nothrow__)) strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base) > >{ > return __strtol_internal (__nptr, __endptr, __base, 0); >} >extern __inline unsigned long int >__attribute__ ((__nothrow__)) strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base) > >{ > return __strtoul_internal (__nptr, __endptr, __base, 0); >} > ># 364 "/usr/include/stdlib.h" 3 4 >__extension__ extern __inline long long int >__attribute__ ((__nothrow__)) strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) > >{ > return __strtoll_internal (__nptr, __endptr, __base, 0); >} >__extension__ extern __inline unsigned long long int >__attribute__ ((__nothrow__)) strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) > >{ > return __strtoull_internal (__nptr, __endptr, __base, 0); >} > > > > >__extension__ extern __inline long long int >__attribute__ ((__nothrow__)) strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base) > >{ > return __strtoll_internal (__nptr, __endptr, __base, 0); >} >__extension__ extern __inline unsigned long long int >__attribute__ ((__nothrow__)) strtoull (__const char * __restrict __nptr, char **__restrict __endptr, int __base) > >{ > return __strtoull_internal (__nptr, __endptr, __base, 0); >} > > > > >extern __inline double >__attribute__ ((__nothrow__)) atof (__const char *__nptr) >{ > return strtod (__nptr, (char **) ((void *)0)); >} >extern __inline int >__attribute__ ((__nothrow__)) atoi (__const char *__nptr) >{ > return (int) strtol (__nptr, (char **) ((void *)0), 10); >} >extern __inline long int >__attribute__ ((__nothrow__)) atol (__const char *__nptr) >{ > return strtol (__nptr, (char **) ((void *)0), 10); >} > > > > >__extension__ extern __inline long long int >__attribute__ ((__nothrow__)) atoll (__const char *__nptr) >{ > return strtoll (__nptr, (char **) ((void *)0), 10); >} > ># 429 "/usr/include/stdlib.h" 3 4 >extern char *l64a (long int __n) __attribute__ ((__nothrow__)) ; > > >extern long int a64l (__const char *__s) > __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; > > > > ># 1 "/usr/include/sys/types.h" 1 3 4 ># 29 "/usr/include/sys/types.h" 3 4 > > > > > > >typedef __u_char u_char; >typedef __u_short u_short; >typedef __u_int u_int; >typedef __u_long u_long; >typedef __quad_t quad_t; >typedef __u_quad_t u_quad_t; >typedef __fsid_t fsid_t; > > > > >typedef __loff_t loff_t; > > > >typedef __ino_t ino_t; ># 62 "/usr/include/sys/types.h" 3 4 >typedef __dev_t dev_t; > > > > >typedef __gid_t gid_t; > > > > >typedef __mode_t mode_t; > > > > >typedef __nlink_t nlink_t; > > > > >typedef __uid_t uid_t; > > > > > >typedef __off_t off_t; ># 100 "/usr/include/sys/types.h" 3 4 >typedef __pid_t pid_t; > > > > >typedef __id_t id_t; > > > > >typedef __ssize_t ssize_t; > > > > > >typedef __daddr_t daddr_t; >typedef __caddr_t caddr_t; > > > > > >typedef __key_t key_t; ># 133 "/usr/include/sys/types.h" 3 4 ># 1 "/usr/include/time.h" 1 3 4 ># 75 "/usr/include/time.h" 3 4 > > >typedef __time_t time_t; > > > ># 93 "/usr/include/time.h" 3 4 >typedef __clockid_t clockid_t; ># 105 "/usr/include/time.h" 3 4 >typedef __timer_t timer_t; ># 134 "/usr/include/sys/types.h" 2 3 4 ># 147 "/usr/include/sys/types.h" 3 4 ># 1 "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stddef.h" 1 3 4 ># 148 "/usr/include/sys/types.h" 2 3 4 > > > >typedef unsigned long int ulong; >typedef unsigned short int ushort; >typedef unsigned int uint; ># 201 "/usr/include/sys/types.h" 3 4 >typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__))); >typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__))); >typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__))); >typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__))); > >typedef int register_t __attribute__ ((__mode__ (__word__))); ># 220 "/usr/include/sys/types.h" 3 4 ># 1 "/usr/include/sys/select.h" 1 3 4 ># 31 "/usr/include/sys/select.h" 3 4 ># 1 "/usr/include/bits/select.h" 1 3 4 ># 32 "/usr/include/sys/select.h" 2 3 4 > > ># 1 "/usr/include/bits/sigset.h" 1 3 4 ># 23 "/usr/include/bits/sigset.h" 3 4 >typedef int __sig_atomic_t; > > > > >typedef struct > { > unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; > } __sigset_t; ># 35 "/usr/include/sys/select.h" 2 3 4 > > > >typedef __sigset_t sigset_t; > > > > > ># 1 "/usr/include/time.h" 1 3 4 ># 121 "/usr/include/time.h" 3 4 >struct timespec > { > __time_t tv_sec; > long int tv_nsec; > }; ># 45 "/usr/include/sys/select.h" 2 3 4 > ># 1 "/usr/include/bits/time.h" 1 3 4 ># 69 "/usr/include/bits/time.h" 3 4 >struct timeval > { > __time_t tv_sec; > __suseconds_t tv_usec; > }; ># 47 "/usr/include/sys/select.h" 2 3 4 > > >typedef __suseconds_t suseconds_t; > > > > > >typedef long int __fd_mask; ># 67 "/usr/include/sys/select.h" 3 4 >typedef struct > { > > > > > > > __fd_mask __fds_bits[1024 / (8 * sizeof (__fd_mask))]; > > > } fd_set; > > > > > > >typedef __fd_mask fd_mask; ># 99 "/usr/include/sys/select.h" 3 4 > ># 109 "/usr/include/sys/select.h" 3 4 >extern int select (int __nfds, fd_set *__restrict __readfds, > fd_set *__restrict __writefds, > fd_set *__restrict __exceptfds, > struct timeval *__restrict __timeout); ># 121 "/usr/include/sys/select.h" 3 4 >extern int pselect (int __nfds, fd_set *__restrict __readfds, > fd_set *__restrict __writefds, > fd_set *__restrict __exceptfds, > const struct timespec *__restrict __timeout, > const __sigset_t *__restrict __sigmask); > > > ># 221 "/usr/include/sys/types.h" 2 3 4 > > ># 1 "/usr/include/sys/sysmacros.h" 1 3 4 ># 29 "/usr/include/sys/sysmacros.h" 3 4 >__extension__ >extern __inline unsigned int gnu_dev_major (unsigned long long int __dev) > __attribute__ ((__nothrow__)); >__extension__ >extern __inline unsigned int gnu_dev_minor (unsigned long long int __dev) > __attribute__ ((__nothrow__)); >__extension__ >extern __inline unsigned long long int gnu_dev_makedev (unsigned int __major, > unsigned int __minor) > __attribute__ ((__nothrow__)); > > >__extension__ extern __inline unsigned int >__attribute__ ((__nothrow__)) gnu_dev_major (unsigned long long int __dev) >{ > return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff); >} > >__extension__ extern __inline unsigned int >__attribute__ ((__nothrow__)) gnu_dev_minor (unsigned long long int __dev) >{ > return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff); >} > >__extension__ extern __inline unsigned long long int >__attribute__ ((__nothrow__)) gnu_dev_makedev (unsigned int __major, unsigned int __minor) >{ > return ((__minor & 0xff) | ((__major & 0xfff) << 8) > | (((unsigned long long int) (__minor & ~0xff)) << 12) > | (((unsigned long long int) (__major & ~0xfff)) << 32)); >} ># 224 "/usr/include/sys/types.h" 2 3 4 ># 235 "/usr/include/sys/types.h" 3 4 >typedef __blkcnt_t blkcnt_t; > > > >typedef __fsblkcnt_t fsblkcnt_t; > > > >typedef __fsfilcnt_t fsfilcnt_t; ># 270 "/usr/include/sys/types.h" 3 4 ># 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 ># 23 "/usr/include/bits/pthreadtypes.h" 3 4 ># 1 "/usr/include/bits/wordsize.h" 1 3 4 ># 24 "/usr/include/bits/pthreadtypes.h" 2 3 4 ># 50 "/usr/include/bits/pthreadtypes.h" 3 4 >typedef unsigned long int pthread_t; > > >typedef union >{ > char __size[56]; > long int __align; >} pthread_attr_t; > > > >typedef struct __pthread_internal_list >{ > struct __pthread_internal_list *__prev; > struct __pthread_internal_list *__next; >} __pthread_list_t; ># 76 "/usr/include/bits/pthreadtypes.h" 3 4 >typedef union >{ > struct __pthread_mutex_s > { > int __lock; > unsigned int __count; > int __owner; > > unsigned int __nusers; > > > > int __kind; > > int __spins; > __pthread_list_t __list; ># 101 "/usr/include/bits/pthreadtypes.h" 3 4 > } __data; > char __size[40]; > long int __align; >} pthread_mutex_t; > >typedef union >{ > char __size[4]; > int __align; >} pthread_mutexattr_t; > > > > >typedef union >{ > struct > { > int __lock; > unsigned int __futex; > __extension__ unsigned long long int __total_seq; > __extension__ unsigned long long int __wakeup_seq; > __extension__ unsigned long long int __woken_seq; > void *__mutex; > unsigned int __nwaiters; > unsigned int __broadcast_seq; > } __data; > char __size[48]; > __extension__ long long int __align; >} pthread_cond_t; > >typedef union >{ > char __size[4]; > int __align; >} pthread_condattr_t; > > > >typedef unsigned int pthread_key_t; > > > >typedef int pthread_once_t; > > > > > >typedef union >{ > > struct > { > int __lock; > unsigned int __nr_readers; > unsigned int __readers_wakeup; > unsigned int __writer_wakeup; > unsigned int __nr_readers_queued; > unsigned int __nr_writers_queued; > int __writer; > int __shared; > unsigned long int __pad1; > unsigned long int __pad2; > > > unsigned int __flags; > } __data; ># 187 "/usr/include/bits/pthreadtypes.h" 3 4 > char __size[56]; > long int __align; >} pthread_rwlock_t; > >typedef union >{ > char __size[8]; > long int __align; >} pthread_rwlockattr_t; > > > > > >typedef volatile int pthread_spinlock_t; > > > > >typedef union >{ > char __size[32]; > long int __align; >} pthread_barrier_t; > >typedef union >{ > char __size[4]; > int __align; >} pthread_barrierattr_t; ># 271 "/usr/include/sys/types.h" 2 3 4 > > > ># 439 "/usr/include/stdlib.h" 2 3 4 > > > > > > >extern long int random (void) __attribute__ ((__nothrow__)); > > >extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__)); > > > > > >extern char *initstate (unsigned int __seed, char *__statebuf, > size_t __statelen) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); > > > >extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); > > > > > > > >struct random_data > { > int32_t *fptr; > int32_t *rptr; > int32_t *state; > int rand_type; > int rand_deg; > int rand_sep; > int32_t *end_ptr; > }; > >extern int random_r (struct random_data *__restrict __buf, > int32_t *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); > >extern int srandom_r (unsigned int __seed, struct random_data *__buf) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); > >extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, > size_t __statelen, > struct random_data *__restrict __buf) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4))); > >extern int setstate_r (char *__restrict __statebuf, > struct random_data *__restrict __buf) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); > > > > > > >extern int rand (void) __attribute__ ((__nothrow__)); > >extern void srand (unsigned int __seed) __attribute__ ((__nothrow__)); > > > > >extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__)); > > > > > > > >extern double drand48 (void) __attribute__ ((__nothrow__)); >extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); > > >extern long int lrand48 (void) __attribute__ ((__nothrow__)); >extern long int nrand48 (unsigned short int __xsubi[3]) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); > > >extern long int mrand48 (void) __attribute__ ((__nothrow__)); >extern long int jrand48 (unsigned short int __xsubi[3]) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); > > >extern void srand48 (long int __seedval) __attribute__ ((__nothrow__)); >extern unsigned short int *seed48 (unsigned short int __seed16v[3]) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); >extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); > > > > > >struct drand48_data > { > unsigned short int __x[3]; > unsigned short int __old_x[3]; > unsigned short int __c; > unsigned short int __init; > unsigned long long int __a; > }; > > >extern int drand48_r (struct drand48_data *__restrict __buffer, > double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); >extern int erand48_r (unsigned short int __xsubi[3], > struct drand48_data *__restrict __buffer, > double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); > > >extern int lrand48_r (struct drand48_data *__restrict __buffer, > long int *__restrict __result) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); >extern int nrand48_r (unsigned short int __xsubi[3], > struct drand48_data *__restrict __buffer, > long int *__restrict __result) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); > > >extern int mrand48_r (struct drand48_data *__restrict __buffer, > long int *__restrict __result) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); >extern int jrand48_r (unsigned short int __xsubi[3], > struct drand48_data *__restrict __buffer, > long int *__restrict __result) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); > > >extern int srand48_r (long int __seedval, struct drand48_data *__buffer) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); > >extern int seed48_r (unsigned short int __seed16v[3], > struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); > >extern int lcong48_r (unsigned short int __param[7], > struct drand48_data *__buffer) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); ># 597 "/usr/include/stdlib.h" 3 4 > > > >extern void *realloc (void *__ptr, size_t __size) > __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); > >extern void free (void *__ptr) __attribute__ ((__nothrow__)); > > > > >extern void cfree (void *__ptr) __attribute__ ((__nothrow__)); > > > ># 1 "/usr/include/alloca.h" 1 3 4 ># 25 "/usr/include/alloca.h" 3 4 ># 1 "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stddef.h" 1 3 4 ># 26 "/usr/include/alloca.h" 2 3 4 > > > > > > > >extern void *alloca (size_t __size) __attribute__ ((__nothrow__)); > > > > > > ># 613 "/usr/include/stdlib.h" 2 3 4 > > > > >extern void *valloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; > > > > >extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; > > > > >extern void abort (void) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); > > > >extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); > > > > > >extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); > > > > > > >extern void exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); > ># 658 "/usr/include/stdlib.h" 3 4 > > >extern char *getenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; > > > > >extern char *__secure_getenv (__const char *__name) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; > > > > > >extern int putenv (char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); > > > > > >extern int setenv (__const char *__name, __const char *__value, int __replace) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); > > >extern int unsetenv (__const char *__name) __attribute__ ((__nothrow__)); > > > > > > >extern int clearenv (void) __attribute__ ((__nothrow__)); ># 698 "/usr/include/stdlib.h" 3 4 >extern char *mktemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; ># 709 "/usr/include/stdlib.h" 3 4 >extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ; ># 729 "/usr/include/stdlib.h" 3 4 >extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; > > > > > > > > >extern int system (__const char *__command) ; > ># 756 "/usr/include/stdlib.h" 3 4 >extern char *realpath (__const char *__restrict __name, > char *__restrict __resolved) __attribute__ ((__nothrow__)) ; > > > > > > >typedef int (*__compar_fn_t) (__const void *, __const void *); > > > > > > > > > >extern void *bsearch (__const void *__key, __const void *__base, > size_t __nmemb, size_t __size, __compar_fn_t __compar) > __attribute__ ((__nonnull__ (1, 2, 5))) ; > > > >extern void qsort (void *__base, size_t __nmemb, size_t __size, > __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); > > > >extern int abs (int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; >extern long int labs (long int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; > > > > > > > > > > > > >extern div_t div (int __numer, int __denom) > __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; >extern ldiv_t ldiv (long int __numer, long int __denom) > __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; > ># 821 "/usr/include/stdlib.h" 3 4 >extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, > int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; > > > > >extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, > int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; > > > > >extern char *gcvt (double __value, int __ndigit, char *__buf) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ; > > > > >extern char *qecvt (long double __value, int __ndigit, > int *__restrict __decpt, int *__restrict __sign) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; >extern char *qfcvt (long double __value, int __ndigit, > int *__restrict __decpt, int *__restrict __sign) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; >extern char *qgcvt (long double __value, int __ndigit, char *__buf) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ; > > > > >extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, > int *__restrict __sign, char *__restrict __buf, > size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); >extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, > int *__restrict __sign, char *__restrict __buf, > size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); > >extern int qecvt_r (long double __value, int __ndigit, > int *__restrict __decpt, int *__restrict __sign, > char *__restrict __buf, size_t __len) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); >extern int qfcvt_r (long double __value, int __ndigit, > int *__restrict __decpt, int *__restrict __sign, > char *__restrict __buf, size_t __len) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); > > > > > > > >extern int mblen (__const char *__s, size_t __n) __attribute__ ((__nothrow__)) ; > > >extern int mbtowc (wchar_t *__restrict __pwc, > __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__)) ; > > >extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__)) ; > > > >extern size_t mbstowcs (wchar_t *__restrict __pwcs, > __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__)); > >extern size_t wcstombs (char *__restrict __s, > __const wchar_t *__restrict __pwcs, size_t __n) > __attribute__ ((__nothrow__)); > > > > > > > > >extern int rpmatch (__const char *__response) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; ># 926 "/usr/include/stdlib.h" 3 4 >extern int posix_openpt (int __oflag) ; ># 961 "/usr/include/stdlib.h" 3 4 >extern int getloadavg (double __loadavg[], int __nelem) > __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); ># 977 "/usr/include/stdlib.h" 3 4 > ># 120 "../../include/openssl/err.h" 2 > > ># 1 "../../include/openssl/ossl_typ.h" 1 ># 58 "../../include/openssl/ossl_typ.h" ># 1 "../../include/openssl/e_os2.h" 1 ># 56 "../../include/openssl/e_os2.h" ># 1 "../../include/openssl/opensslconf.h" 1 ># 57 "../../include/openssl/e_os2.h" 2 ># 59 "../../include/openssl/ossl_typ.h" 2 ># 79 "../../include/openssl/ossl_typ.h" >typedef struct asn1_string_st ASN1_INTEGER; >typedef struct asn1_string_st ASN1_ENUMERATED; >typedef struct asn1_string_st ASN1_BIT_STRING; >typedef struct asn1_string_st ASN1_OCTET_STRING; >typedef struct asn1_string_st ASN1_PRINTABLESTRING; >typedef struct asn1_string_st ASN1_T61STRING; >typedef struct asn1_string_st ASN1_IA5STRING; >typedef struct asn1_string_st ASN1_GENERALSTRING; >typedef struct asn1_string_st ASN1_UNIVERSALSTRING; >typedef struct asn1_string_st ASN1_BMPSTRING; >typedef struct asn1_string_st ASN1_UTCTIME; >typedef struct asn1_string_st ASN1_TIME; >typedef struct asn1_string_st ASN1_GENERALIZEDTIME; >typedef struct asn1_string_st ASN1_VISIBLESTRING; >typedef struct asn1_string_st ASN1_UTF8STRING; >typedef struct asn1_string_st ASN1_STRING; >typedef int ASN1_BOOLEAN; >typedef int ASN1_NULL; > > >typedef struct ASN1_ITEM_st ASN1_ITEM; >typedef struct asn1_pctx_st ASN1_PCTX; ># 114 "../../include/openssl/ossl_typ.h" >typedef struct bignum_st BIGNUM; >typedef struct bignum_ctx BN_CTX; >typedef struct bn_blinding_st BN_BLINDING; >typedef struct bn_mont_ctx_st BN_MONT_CTX; >typedef struct bn_recp_ctx_st BN_RECP_CTX; >typedef struct bn_gencb_st BN_GENCB; > >typedef struct buf_mem_st BUF_MEM; > >typedef struct evp_cipher_st EVP_CIPHER; >typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX; >typedef struct env_md_st EVP_MD; >typedef struct env_md_ctx_st EVP_MD_CTX; >typedef struct evp_pkey_st EVP_PKEY; > >typedef struct evp_pkey_asn1_method_st EVP_PKEY_ASN1_METHOD; > >typedef struct evp_pkey_method_st EVP_PKEY_METHOD; >typedef struct evp_pkey_ctx_st EVP_PKEY_CTX; > >typedef struct dh_st DH; >typedef struct dh_method DH_METHOD; > >typedef struct dsa_st DSA; >typedef struct dsa_method DSA_METHOD; > >typedef struct rsa_st RSA; >typedef struct rsa_meth_st RSA_METHOD; > >typedef struct rand_meth_st RAND_METHOD; > >typedef struct ecdh_method ECDH_METHOD; >typedef struct ecdsa_method ECDSA_METHOD; > >typedef struct x509_st X509; >typedef struct X509_algor_st X509_ALGOR; >typedef struct X509_crl_st X509_CRL; >typedef struct x509_crl_method_st X509_CRL_METHOD; >typedef struct x509_revoked_st X509_REVOKED; >typedef struct X509_name_st X509_NAME; >typedef struct X509_pubkey_st X509_PUBKEY; >typedef struct x509_store_st X509_STORE; >typedef struct x509_store_ctx_st X509_STORE_CTX; > >typedef struct pkcs8_priv_key_info_st PKCS8_PRIV_KEY_INFO; > >typedef struct v3_ext_ctx X509V3_CTX; >typedef struct conf_st CONF; > >typedef struct store_st STORE; >typedef struct store_method_st STORE_METHOD; > >typedef struct ui_st UI; >typedef struct ui_method_st UI_METHOD; > >typedef struct st_ERR_FNS ERR_FNS; > >typedef struct engine_st ENGINE; >typedef struct ssl_st SSL; >typedef struct ssl_ctx_st SSL_CTX; > >typedef struct X509_POLICY_NODE_st X509_POLICY_NODE; >typedef struct X509_POLICY_LEVEL_st X509_POLICY_LEVEL; >typedef struct X509_POLICY_TREE_st X509_POLICY_TREE; >typedef struct X509_POLICY_CACHE_st X509_POLICY_CACHE; > >typedef struct AUTHORITY_KEYID_st AUTHORITY_KEYID; >typedef struct DIST_POINT_st DIST_POINT; >typedef struct ISSUING_DIST_POINT_st ISSUING_DIST_POINT; >typedef struct NAME_CONSTRAINTS_st NAME_CONSTRAINTS; > > > > > >typedef struct crypto_ex_data_st CRYPTO_EX_DATA; > >typedef int CRYPTO_EX_new(void *parent, void *ptr, CRYPTO_EX_DATA *ad, > int idx, long argl, void *argp); >typedef void CRYPTO_EX_free(void *parent, void *ptr, CRYPTO_EX_DATA *ad, > int idx, long argl, void *argp); >typedef int CRYPTO_EX_dup(CRYPTO_EX_DATA *to, CRYPTO_EX_DATA *from, void *from_d, > int idx, long argl, void *argp); > >typedef struct ocsp_req_ctx_st OCSP_REQ_CTX; >typedef struct ocsp_response_st OCSP_RESPONSE; >typedef struct ocsp_responder_id_st OCSP_RESPID; ># 123 "../../include/openssl/err.h" 2 > ># 1 "../../include/openssl/bio.h" 1 ># 62 "../../include/openssl/bio.h" ># 1 "../../include/openssl/e_os2.h" 1 ># 56 "../../include/openssl/e_os2.h" ># 1 "../../include/openssl/opensslconf.h" 1 ># 57 "../../include/openssl/e_os2.h" 2 ># 63 "../../include/openssl/bio.h" 2 > > > > ># 1 "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stdarg.h" 1 3 4 ># 105 "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stdarg.h" 3 4 >typedef __gnuc_va_list va_list; ># 68 "../../include/openssl/bio.h" 2 > ># 1 "../../include/openssl/crypto.h" 1 ># 122 "../../include/openssl/crypto.h" ># 1 "../../include/openssl/e_os2.h" 1 ># 56 "../../include/openssl/e_os2.h" ># 1 "../../include/openssl/opensslconf.h" 1 ># 57 "../../include/openssl/e_os2.h" 2 ># 123 "../../include/openssl/crypto.h" 2 > > > > > ># 1 "../../include/openssl/stack.h" 1 ># 66 "../../include/openssl/stack.h" >typedef struct stack_st > { > int num; > char **data; > int sorted; > > int num_alloc; > int (*comp)(const void *, const void *); > } _STACK; > > > > >int sk_num(const _STACK *); >void *sk_value(const _STACK *, int); > >void *sk_set(_STACK *, int, void *); > >_STACK *sk_new(int (*cmp)(const void *, const void *)); >_STACK *sk_new_null(void); >void sk_free(_STACK *); >void sk_pop_free(_STACK *st, void (*func)(void *)); >int sk_insert(_STACK *sk, void *data, int where); >void *sk_delete(_STACK *st, int loc); >void *sk_delete_ptr(_STACK *st, void *p); >int sk_find(_STACK *st, void *data); >int sk_find_ex(_STACK *st, void *data); >int sk_push(_STACK *st, void *data); >int sk_unshift(_STACK *st, void *data); >void *sk_shift(_STACK *st); >void *sk_pop(_STACK *st); >void sk_zero(_STACK *st); >int (*sk_set_cmp_func(_STACK *sk, int (*c)(const void *, const void *))) > (const void *, const void *); >_STACK *sk_dup(_STACK *st); >void sk_sort(_STACK *st); >int sk_is_sorted(const _STACK *st); ># 129 "../../include/openssl/crypto.h" 2 ># 1 "../../include/openssl/safestack.h" 1 ># 113 "../../include/openssl/safestack.h" >typedef char *OPENSSL_STRING; > >typedef const char *OPENSSL_CSTRING; ># 125 "../../include/openssl/safestack.h" >struct stack_st_OPENSSL_STRING { _STACK stack; }; > > > > > >typedef void *OPENSSL_BLOCK; >struct stack_st_OPENSSL_BLOCK { _STACK stack; }; ># 130 "../../include/openssl/crypto.h" 2 ># 1 "../../include/openssl/opensslv.h" 1 ># 131 "../../include/openssl/crypto.h" 2 ># 139 "../../include/openssl/crypto.h" ># 1 "../../include/openssl/symhacks.h" 1 ># 58 "../../include/openssl/symhacks.h" ># 1 "../../include/openssl/e_os2.h" 1 ># 56 "../../include/openssl/e_os2.h" ># 1 "../../include/openssl/opensslconf.h" 1 ># 57 "../../include/openssl/e_os2.h" 2 ># 59 "../../include/openssl/symhacks.h" 2 ># 140 "../../include/openssl/crypto.h" 2 ># 171 "../../include/openssl/crypto.h" >typedef struct openssl_item_st > { > int code; > void *value; > size_t value_size; > size_t *value_length; > } OPENSSL_ITEM; ># 256 "../../include/openssl/crypto.h" >typedef struct > { > int references; > struct CRYPTO_dynlock_value *data; > } CRYPTO_dynlock; ># 283 "../../include/openssl/crypto.h" >typedef struct bio_st BIO_dummy; > >struct crypto_ex_data_st > { > struct stack_st_void *sk; > int dummy; > }; >struct stack_st_void { _STACK stack; }; > > > > >typedef struct crypto_ex_data_func_st > { > long argl; > void *argp; > CRYPTO_EX_new *new_func; > CRYPTO_EX_free *free_func; > CRYPTO_EX_dup *dup_func; > } CRYPTO_EX_DATA_FUNCS; > >struct stack_st_CRYPTO_EX_DATA_FUNCS { _STACK stack; }; ># 356 "../../include/openssl/crypto.h" >int CRYPTO_mem_ctrl(int mode); >int CRYPTO_is_mem_check_on(void); ># 384 "../../include/openssl/crypto.h" >const char *SSLeay_version(int type); >unsigned long SSLeay(void); > >int OPENSSL_issetugid(void); > > >typedef struct st_CRYPTO_EX_DATA_IMPL CRYPTO_EX_DATA_IMPL; > >const CRYPTO_EX_DATA_IMPL *CRYPTO_get_ex_data_implementation(void); > >int CRYPTO_set_ex_data_implementation(const CRYPTO_EX_DATA_IMPL *i); > >int CRYPTO_ex_data_new_class(void); > >int CRYPTO_get_ex_new_index(int class_index, long argl, void *argp, > CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, > CRYPTO_EX_free *free_func); > > >int CRYPTO_new_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad); >int CRYPTO_dup_ex_data(int class_index, CRYPTO_EX_DATA *to, > CRYPTO_EX_DATA *from); >void CRYPTO_free_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad); > > >int CRYPTO_set_ex_data(CRYPTO_EX_DATA *ad, int idx, void *val); >void *CRYPTO_get_ex_data(const CRYPTO_EX_DATA *ad,int idx); > > >void CRYPTO_cleanup_all_ex_data(void); > >int CRYPTO_get_new_lockid(char *name); > >int CRYPTO_num_locks(void); >void CRYPTO_lock(int mode, int type,const char *file,int line); >void CRYPTO_set_locking_callback(void (*func)(int mode,int type, > const char *file,int line)); >void (*CRYPTO_get_locking_callback(void))(int mode,int type,const char *file, > int line); >void CRYPTO_set_add_lock_callback(int (*func)(int *num,int mount,int type, > const char *file, int line)); >int (*CRYPTO_get_add_lock_callback(void))(int *num,int mount,int type, > const char *file,int line); > > >typedef struct crypto_threadid_st > { > void *ptr; > unsigned long val; > } CRYPTO_THREADID; > >void CRYPTO_THREADID_set_numeric(CRYPTO_THREADID *id, unsigned long val); >void CRYPTO_THREADID_set_pointer(CRYPTO_THREADID *id, void *ptr); >int CRYPTO_THREADID_set_callback(void (*threadid_func)(CRYPTO_THREADID *)); >void (*CRYPTO_THREADID_get_callback(void))(CRYPTO_THREADID *); >void CRYPTO_THREADID_current(CRYPTO_THREADID *id); >int CRYPTO_THREADID_cmp(const CRYPTO_THREADID *a, const CRYPTO_THREADID *b); >void CRYPTO_THREADID_cpy(CRYPTO_THREADID *dest, const CRYPTO_THREADID *src); >unsigned long CRYPTO_THREADID_hash(const CRYPTO_THREADID *id); > >void CRYPTO_set_id_callback(unsigned long (*func)(void)); >unsigned long (*CRYPTO_get_id_callback(void))(void); >unsigned long CRYPTO_thread_id(void); > > >const char *CRYPTO_get_lock_name(int type); >int CRYPTO_add_lock(int *pointer,int amount,int type, const char *file, > int line); > >int CRYPTO_get_new_dynlockid(void); >void CRYPTO_destroy_dynlockid(int i); >struct CRYPTO_dynlock_value *CRYPTO_get_dynlock_value(int i); >void CRYPTO_set_dynlock_create_callback(struct CRYPTO_dynlock_value *(*dyn_create_function)(const char *file, int line)); >void CRYPTO_set_dynlock_lock_callback(void (*dyn_lock_function)(int mode, struct CRYPTO_dynlock_value *l, const char *file, int line)); >void CRYPTO_set_dynlock_destroy_callback(void (*dyn_destroy_function)(struct CRYPTO_dynlock_value *l, const char *file, int line)); >struct CRYPTO_dynlock_value *(*CRYPTO_get_dynlock_create_callback(void))(const char *file,int line); >void (*CRYPTO_get_dynlock_lock_callback(void))(int mode, struct CRYPTO_dynlock_value *l, const char *file,int line); >void (*CRYPTO_get_dynlock_destroy_callback(void))(struct CRYPTO_dynlock_value *l, const char *file,int line); > > > >int CRYPTO_set_mem_functions(void *(*m)(size_t),void *(*r)(void *,size_t), void (*f)(void *)); >int CRYPTO_set_locked_mem_functions(void *(*m)(size_t), void (*free_func)(void *)); >int CRYPTO_set_mem_ex_functions(void *(*m)(size_t,const char *,int), > void *(*r)(void *,size_t,const char *,int), > void (*f)(void *)); >int CRYPTO_set_locked_mem_ex_functions(void *(*m)(size_t,const char *,int), > void (*free_func)(void *)); >int CRYPTO_set_mem_debug_functions(void (*m)(void *,int,const char *,int,int), > void (*r)(void *,void *,int,const char *,int,int), > void (*f)(void *,int), > void (*so)(long), > long (*go)(void)); >void CRYPTO_get_mem_functions(void *(**m)(size_t),void *(**r)(void *, size_t), void (**f)(void *)); >void CRYPTO_get_locked_mem_functions(void *(**m)(size_t), void (**f)(void *)); >void CRYPTO_get_mem_ex_functions(void *(**m)(size_t,const char *,int), > void *(**r)(void *, size_t,const char *,int), > void (**f)(void *)); >void CRYPTO_get_locked_mem_ex_functions(void *(**m)(size_t,const char *,int), > void (**f)(void *)); >void CRYPTO_get_mem_debug_functions(void (**m)(void *,int,const char *,int,int), > void (**r)(void *,void *,int,const char *,int,int), > void (**f)(void *,int), > void (**so)(long), > long (**go)(void)); > >void *CRYPTO_malloc_locked(int num, const char *file, int line); >void CRYPTO_free_locked(void *ptr); >void *CRYPTO_malloc(int num, const char *file, int line); >char *CRYPTO_strdup(const char *str, const char *file, int line); >void CRYPTO_free(void *ptr); >void *CRYPTO_realloc(void *addr,int num, const char *file, int line); >void *CRYPTO_realloc_clean(void *addr,int old_num,int num,const char *file, > int line); >void *CRYPTO_remalloc(void *addr,int num, const char *file, int line); > >void OPENSSL_cleanse(void *ptr, size_t len); > >void CRYPTO_set_mem_debug_options(long bits); >long CRYPTO_get_mem_debug_options(void); > > > >int CRYPTO_push_info_(const char *info, const char *file, int line); >int CRYPTO_pop_info(void); >int CRYPTO_remove_all_info(void); ># 519 "../../include/openssl/crypto.h" >void CRYPTO_dbg_malloc(void *addr,int num,const char *file,int line,int before_p); >void CRYPTO_dbg_realloc(void *addr1,void *addr2,int num,const char *file,int line,int before_p); >void CRYPTO_dbg_free(void *addr,int before_p); ># 530 "../../include/openssl/crypto.h" >void CRYPTO_dbg_set_options(long bits); >long CRYPTO_dbg_get_options(void); > > > >void CRYPTO_mem_leaks_fp(FILE *); > >void CRYPTO_mem_leaks(struct bio_st *bio); > >typedef void *CRYPTO_MEM_LEAK_CB(unsigned long, const char *, int, int, void *); >void CRYPTO_mem_leaks_cb(CRYPTO_MEM_LEAK_CB *cb); > > >void OpenSSLDie(const char *file,int line,const char *assertion); > > >unsigned long *OPENSSL_ia32cap_loc(void); > >int OPENSSL_isservice(void); > >int FIPS_mode(void); >int FIPS_mode_set(int r); > >void OPENSSL_init(void); ># 582 "../../include/openssl/crypto.h" >int CRYPTO_memcmp(const void *a, const void *b, size_t len); > > > > > >void ERR_load_CRYPTO_strings(void); ># 70 "../../include/openssl/bio.h" 2 ># 231 "../../include/openssl/bio.h" >typedef struct bio_st BIO; > >void BIO_set_flags(BIO *b, int flags); >int BIO_test_flags(const BIO *b, int flags); >void BIO_clear_flags(BIO *b, int flags); ># 285 "../../include/openssl/bio.h" >long (*BIO_get_callback(const BIO *b)) (struct bio_st *,int,const char *,int, long,long); >void BIO_set_callback(BIO *b, > long (*callback)(struct bio_st *,int,const char *,int, long,long)); >char *BIO_get_callback_arg(const BIO *b); >void BIO_set_callback_arg(BIO *b, char *arg); > >const char * BIO_method_name(const BIO *b); >int BIO_method_type(const BIO *b); > >typedef void bio_info_cb(struct bio_st *, int, const char *, int, long, long); > >typedef struct bio_method_st > { > int type; > const char *name; > int (*bwrite)(BIO *, const char *, int); > int (*bread)(BIO *, char *, int); > int (*bputs)(BIO *, const char *); > int (*bgets)(BIO *, char *, int); > long (*ctrl)(BIO *, int, long, void *); > int (*create)(BIO *); > int (*destroy)(BIO *); > long (*callback_ctrl)(BIO *, int, bio_info_cb *); > } BIO_METHOD; > >struct bio_st > { > BIO_METHOD *method; > > long (*callback)(struct bio_st *,int,const char *,int, long,long); > char *cb_arg; > > int init; > int shutdown; > int flags; > int retry_reason; > int num; > void *ptr; > struct bio_st *next_bio; > struct bio_st *prev_bio; > int references; > unsigned long num_read; > unsigned long num_write; > > CRYPTO_EX_DATA ex_data; > }; > >struct stack_st_BIO { _STACK stack; }; > >typedef struct bio_f_buffer_ctx_struct > { ># 346 "../../include/openssl/bio.h" > int ibuf_size; > int obuf_size; > > char *ibuf; > int ibuf_len; > int ibuf_off; > > char *obuf; > int obuf_len; > int obuf_off; > } BIO_F_BUFFER_CTX; > > >typedef int asn1_ps_func(BIO *b, unsigned char **pbuf, int *plen, void *parg); ># 574 "../../include/openssl/bio.h" >size_t BIO_ctrl_pending(BIO *b); >size_t BIO_ctrl_wpending(BIO *b); ># 593 "../../include/openssl/bio.h" >size_t BIO_ctrl_get_write_guarantee(BIO *b); >size_t BIO_ctrl_get_read_request(BIO *b); >int BIO_ctrl_reset_read_request(BIO *b); ># 614 "../../include/openssl/bio.h" >int BIO_set_ex_data(BIO *bio,int idx,void *data); >void *BIO_get_ex_data(BIO *bio,int idx); >int BIO_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, > CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); >unsigned long BIO_number_read(BIO *bio); >unsigned long BIO_number_written(BIO *bio); > > >int BIO_asn1_set_prefix(BIO *b, asn1_ps_func *prefix, > asn1_ps_func *prefix_free); >int BIO_asn1_get_prefix(BIO *b, asn1_ps_func **pprefix, > asn1_ps_func **pprefix_free); >int BIO_asn1_set_suffix(BIO *b, asn1_ps_func *suffix, > asn1_ps_func *suffix_free); >int BIO_asn1_get_suffix(BIO *b, asn1_ps_func **psuffix, > asn1_ps_func **psuffix_free); > > >BIO_METHOD *BIO_s_file(void ); >BIO *BIO_new_file(const char *filename, const char *mode); >BIO *BIO_new_fp(FILE *stream, int close_flag); > > >BIO * BIO_new(BIO_METHOD *type); >int BIO_set(BIO *a,BIO_METHOD *type); >int BIO_free(BIO *a); >void BIO_vfree(BIO *a); >int BIO_read(BIO *b, void *data, int len); >int BIO_gets(BIO *bp,char *buf, int size); >int BIO_write(BIO *b, const void *data, int len); >int BIO_puts(BIO *bp,const char *buf); >int BIO_indent(BIO *b,int indent,int max); >long BIO_ctrl(BIO *bp,int cmd,long larg,void *parg); >long BIO_callback_ctrl(BIO *b, int cmd, void (*fp)(struct bio_st *, int, const char *, int, long, long)); >char * BIO_ptr_ctrl(BIO *bp,int cmd,long larg); >long BIO_int_ctrl(BIO *bp,int cmd,long larg,int iarg); >BIO * BIO_push(BIO *b,BIO *append); >BIO * BIO_pop(BIO *b); >void BIO_free_all(BIO *a); >BIO * BIO_find_type(BIO *b,int bio_type); >BIO * BIO_next(BIO *b); >BIO * BIO_get_retry_BIO(BIO *bio, int *reason); >int BIO_get_retry_reason(BIO *bio); >BIO * BIO_dup_chain(BIO *in); > >int BIO_nread0(BIO *bio, char **buf); >int BIO_nread(BIO *bio, char **buf, int num); >int BIO_nwrite0(BIO *bio, char **buf); >int BIO_nwrite(BIO *bio, char **buf, int num); > >long BIO_debug_callback(BIO *bio,int cmd,const char *argp,int argi, > long argl,long ret); > >BIO_METHOD *BIO_s_mem(void); >BIO *BIO_new_mem_buf(void *buf, int len); >BIO_METHOD *BIO_s_socket(void); >BIO_METHOD *BIO_s_connect(void); >BIO_METHOD *BIO_s_accept(void); >BIO_METHOD *BIO_s_fd(void); > >BIO_METHOD *BIO_s_log(void); > >BIO_METHOD *BIO_s_bio(void); >BIO_METHOD *BIO_s_null(void); >BIO_METHOD *BIO_f_null(void); >BIO_METHOD *BIO_f_buffer(void); > > > >BIO_METHOD *BIO_f_nbio_test(void); > >BIO_METHOD *BIO_s_datagram(void); > > > > > > > >int BIO_sock_should_retry(int i); >int BIO_sock_non_fatal_error(int error); >int BIO_dgram_non_fatal_error(int error); > >int BIO_fd_should_retry(int i); >int BIO_fd_non_fatal_error(int error); >int BIO_dump_cb(int (*cb)(const void *data, size_t len, void *u), > void *u, const char *s, int len); >int BIO_dump_indent_cb(int (*cb)(const void *data, size_t len, void *u), > void *u, const char *s, int len, int indent); >int BIO_dump(BIO *b,const char *bytes,int len); >int BIO_dump_indent(BIO *b,const char *bytes,int len,int indent); > >int BIO_dump_fp(FILE *fp, const char *s, int len); >int BIO_dump_indent_fp(FILE *fp, const char *s, int len, int indent); > >struct hostent *BIO_gethostbyname(const char *name); ># 718 "../../include/openssl/bio.h" >int BIO_sock_error(int sock); >int BIO_socket_ioctl(int fd, long type, void *arg); >int BIO_socket_nbio(int fd,int mode); >int BIO_get_port(const char *str, unsigned short *port_ptr); >int BIO_get_host_ip(const char *str, unsigned char *ip); >int BIO_get_accept_socket(char *host_port,int mode); >int BIO_accept(int sock,char **ip_port); >int BIO_sock_init(void ); >void BIO_sock_cleanup(void); >int BIO_set_tcp_ndelay(int sock,int turn_on); > >BIO *BIO_new_socket(int sock, int close_flag); >BIO *BIO_new_dgram(int fd, int close_flag); ># 740 "../../include/openssl/bio.h" >BIO *BIO_new_fd(int fd, int close_flag); >BIO *BIO_new_connect(char *host_port); >BIO *BIO_new_accept(char *host_port); > >int BIO_new_bio_pair(BIO **bio1, size_t writebuf1, > BIO **bio2, size_t writebuf2); > > > > > >void BIO_copy_next_retry(BIO *b); ># 760 "../../include/openssl/bio.h" >int BIO_printf(BIO *bio, const char *format, ...) > __attribute__((__format__(__printf__,2,3))); >int BIO_vprintf(BIO *bio, const char *format, va_list args) > __attribute__((__format__(__printf__,2,0))); >int BIO_snprintf(char *buf, size_t n, const char *format, ...) > __attribute__((__format__(__printf__,3,4))); >int BIO_vsnprintf(char *buf, size_t n, const char *format, va_list args) > __attribute__((__format__(__printf__,3,0))); > > > > > > >void ERR_load_BIO_strings(void); ># 125 "../../include/openssl/err.h" 2 > > ># 1 "../../include/openssl/lhash.h" 1 ># 66 "../../include/openssl/lhash.h" ># 1 "../../include/openssl/e_os2.h" 1 ># 56 "../../include/openssl/e_os2.h" ># 1 "../../include/openssl/opensslconf.h" 1 ># 57 "../../include/openssl/e_os2.h" 2 ># 67 "../../include/openssl/lhash.h" 2 ># 79 "../../include/openssl/lhash.h" >typedef struct lhash_node_st > { > void *data; > struct lhash_node_st *next; > > unsigned long hash; > > } LHASH_NODE; > >typedef int (*LHASH_COMP_FN_TYPE)(const void *, const void *); >typedef unsigned long (*LHASH_HASH_FN_TYPE)(const void *); >typedef void (*LHASH_DOALL_FN_TYPE)(void *); >typedef void (*LHASH_DOALL_ARG_FN_TYPE)(void *, void *); ># 138 "../../include/openssl/lhash.h" >typedef struct lhash_st > { > LHASH_NODE **b; > LHASH_COMP_FN_TYPE comp; > LHASH_HASH_FN_TYPE hash; > unsigned int num_nodes; > unsigned int num_alloc_nodes; > unsigned int p; > unsigned int pmax; > unsigned long up_load; > unsigned long down_load; > unsigned long num_items; > > unsigned long num_expands; > unsigned long num_expand_reallocs; > unsigned long num_contracts; > unsigned long num_contract_reallocs; > unsigned long num_hash_calls; > unsigned long num_comp_calls; > unsigned long num_insert; > unsigned long num_replace; > unsigned long num_delete; > unsigned long num_no_delete; > unsigned long num_retrieve; > unsigned long num_retrieve_miss; > unsigned long num_hash_comps; > > int error; > } _LHASH; ># 175 "../../include/openssl/lhash.h" >_LHASH *lh_new(LHASH_HASH_FN_TYPE h, LHASH_COMP_FN_TYPE c); >void lh_free(_LHASH *lh); >void *lh_insert(_LHASH *lh, void *data); >void *lh_delete(_LHASH *lh, const void *data); >void *lh_retrieve(_LHASH *lh, const void *data); >void lh_doall(_LHASH *lh, LHASH_DOALL_FN_TYPE func); >void lh_doall_arg(_LHASH *lh, LHASH_DOALL_ARG_FN_TYPE func, void *arg); >unsigned long lh_strhash(const char *c); >unsigned long lh_num_items(const _LHASH *lh); > > >void lh_stats(const _LHASH *lh, FILE *out); >void lh_node_stats(const _LHASH *lh, FILE *out); >void lh_node_usage_stats(const _LHASH *lh, FILE *out); > > > >void lh_stats_bio(const _LHASH *lh, BIO *out); >void lh_node_stats_bio(const _LHASH *lh, BIO *out); >void lh_node_usage_stats_bio(const _LHASH *lh, BIO *out); ># 233 "../../include/openssl/lhash.h" >struct lhash_st_OPENSSL_STRING { int dummy; }; >struct lhash_st_OPENSSL_CSTRING { int dummy; }; ># 128 "../../include/openssl/err.h" 2 ># 140 "../../include/openssl/err.h" ># 1 "/usr/include/errno.h" 1 3 4 ># 32 "/usr/include/errno.h" 3 4 > > > > ># 1 "/usr/include/bits/errno.h" 1 3 4 ># 25 "/usr/include/bits/errno.h" 3 4 ># 1 "/usr/include/linux/errno.h" 1 3 4 > > > ># 1 "/usr/include/asm/errno.h" 1 3 4 > > > > ># 1 "/usr/include/asm-x86_64/errno.h" 1 3 4 > > > ># 1 "/usr/include/asm-generic/errno.h" 1 3 4 > > > ># 1 "/usr/include/asm-generic/errno-base.h" 1 3 4 ># 5 "/usr/include/asm-generic/errno.h" 2 3 4 ># 5 "/usr/include/asm-x86_64/errno.h" 2 3 4 ># 6 "/usr/include/asm/errno.h" 2 3 4 ># 5 "/usr/include/linux/errno.h" 2 3 4 ># 26 "/usr/include/bits/errno.h" 2 3 4 ># 43 "/usr/include/bits/errno.h" 3 4 >extern int *__errno_location (void) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); ># 37 "/usr/include/errno.h" 2 3 4 ># 59 "/usr/include/errno.h" 3 4 > ># 141 "../../include/openssl/err.h" 2 > > > > > > > >typedef struct err_state_st > { > CRYPTO_THREADID tid; > int err_flags[16]; > unsigned long err_buffer[16]; > char *err_data[16]; > int err_data_flags[16]; > const char *err_file[16]; > int err_line[16]; > int top,bottom; > } ERR_STATE; ># 313 "../../include/openssl/err.h" >typedef struct ERR_string_data_st > { > unsigned long error; > const char *string; > } ERR_STRING_DATA; > >void ERR_put_error(int lib, int func,int reason,const char *file,int line); >void ERR_set_error_data(char *data,int flags); > >unsigned long ERR_get_error(void); >unsigned long ERR_get_error_line(const char **file,int *line); >unsigned long ERR_get_error_line_data(const char **file,int *line, > const char **data, int *flags); >unsigned long ERR_peek_error(void); >unsigned long ERR_peek_error_line(const char **file,int *line); >unsigned long ERR_peek_error_line_data(const char **file,int *line, > const char **data,int *flags); >unsigned long ERR_peek_last_error(void); >unsigned long ERR_peek_last_error_line(const char **file,int *line); >unsigned long ERR_peek_last_error_line_data(const char **file,int *line, > const char **data,int *flags); >void ERR_clear_error(void ); >char *ERR_error_string(unsigned long e,char *buf); >void ERR_error_string_n(unsigned long e, char *buf, size_t len); >const char *ERR_lib_error_string(unsigned long e); >const char *ERR_func_error_string(unsigned long e); >const char *ERR_reason_error_string(unsigned long e); >void ERR_print_errors_cb(int (*cb)(const char *str, size_t len, void *u), > void *u); > >void ERR_print_errors_fp(FILE *fp); > > >void ERR_print_errors(BIO *bp); > >void ERR_add_error_data(int num, ...); >void ERR_add_error_vdata(int num, va_list args); >void ERR_load_strings(int lib,ERR_STRING_DATA str[]); >void ERR_unload_strings(int lib,ERR_STRING_DATA str[]); >void ERR_load_ERR_strings(void); >void ERR_load_crypto_strings(void); >void ERR_free_strings(void); > >void ERR_remove_thread_state(const CRYPTO_THREADID *tid); > >void ERR_remove_state(unsigned long pid); > >ERR_STATE *ERR_get_state(void); > > >struct lhash_st_ERR_STRING_DATA *ERR_get_string_table(void); >struct lhash_st_ERR_STATE *ERR_get_err_state_table(void); >void ERR_release_err_state_table(struct lhash_st_ERR_STATE **hash); > > >int ERR_get_next_error_library(void); > >int ERR_set_mark(void); >int ERR_pop_to_mark(void); > > > > > >const ERR_FNS *ERR_get_implementation(void); > > >int ERR_set_implementation(const ERR_FNS *fns); ># 39 "ecp_nistp224.c" 2 ># 1 "ec_lcl.h" 1 ># 75 "ec_lcl.h" ># 1 "../../include/openssl/obj_mac.h" 1 ># 76 "ec_lcl.h" 2 ># 1 "../../include/openssl/ec.h" 1 ># 79 "../../include/openssl/ec.h" ># 1 "../../include/openssl/opensslconf.h" 1 ># 80 "../../include/openssl/ec.h" 2 > > > > > ># 1 "../../include/openssl/asn1.h" 1 ># 62 "../../include/openssl/asn1.h" ># 1 "/usr/include/time.h" 1 3 4 ># 31 "/usr/include/time.h" 3 4 > > > > > > > > ># 1 "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stddef.h" 1 3 4 ># 40 "/usr/include/time.h" 2 3 4 > > > ># 1 "/usr/include/bits/time.h" 1 3 4 ># 44 "/usr/include/time.h" 2 3 4 ># 59 "/usr/include/time.h" 3 4 > > >typedef __clock_t clock_t; > > > ># 132 "/usr/include/time.h" 3 4 > > >struct tm >{ > int tm_sec; > int tm_min; > int tm_hour; > int tm_mday; > int tm_mon; > int tm_year; > int tm_wday; > int tm_yday; > int tm_isdst; > > > long int tm_gmtoff; > __const char *tm_zone; > > > > >}; > > > > > > > > >struct itimerspec > { > struct timespec it_interval; > struct timespec it_value; > }; > > >struct sigevent; ># 181 "/usr/include/time.h" 3 4 > > > >extern clock_t clock (void) __attribute__ ((__nothrow__)); > > >extern time_t time (time_t *__timer) __attribute__ ((__nothrow__)); > > >extern double difftime (time_t __time1, time_t __time0) > __attribute__ ((__nothrow__)) __attribute__ ((__const__)); > > >extern time_t mktime (struct tm *__tp) __attribute__ ((__nothrow__)); > > > > > >extern size_t strftime (char *__restrict __s, size_t __maxsize, > __const char *__restrict __format, > __const struct tm *__restrict __tp) __attribute__ ((__nothrow__)); > ># 229 "/usr/include/time.h" 3 4 > > > >extern struct tm *gmtime (__const time_t *__timer) __attribute__ ((__nothrow__)); > > > >extern struct tm *localtime (__const time_t *__timer) __attribute__ ((__nothrow__)); > > > > > >extern struct tm *gmtime_r (__const time_t *__restrict __timer, > struct tm *__restrict __tp) __attribute__ ((__nothrow__)); > > > >extern struct tm *localtime_r (__const time_t *__restrict __timer, > struct tm *__restrict __tp) __attribute__ ((__nothrow__)); > > > > > >extern char *asctime (__const struct tm *__tp) __attribute__ ((__nothrow__)); > > >extern char *ctime (__const time_t *__timer) __attribute__ ((__nothrow__)); > > > > > > > >extern char *asctime_r (__const struct tm *__restrict __tp, > char *__restrict __buf) __attribute__ ((__nothrow__)); > > >extern char *ctime_r (__const time_t *__restrict __timer, > char *__restrict __buf) __attribute__ ((__nothrow__)); > > > > >extern char *__tzname[2]; >extern int __daylight; >extern long int __timezone; > > > > >extern char *tzname[2]; > > > >extern void tzset (void) __attribute__ ((__nothrow__)); > > > >extern int daylight; >extern long int timezone; > > > > > >extern int stime (__const time_t *__when) __attribute__ ((__nothrow__)); ># 312 "/usr/include/time.h" 3 4 >extern time_t timegm (struct tm *__tp) __attribute__ ((__nothrow__)); > > >extern time_t timelocal (struct tm *__tp) __attribute__ ((__nothrow__)); > > >extern int dysize (int __year) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); ># 327 "/usr/include/time.h" 3 4 >extern int nanosleep (__const struct timespec *__requested_time, > struct timespec *__remaining); > > > >extern int clock_getres (clockid_t __clock_id, struct timespec *__res) __attribute__ ((__nothrow__)); > > >extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) __attribute__ ((__nothrow__)); > > >extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp) > __attribute__ ((__nothrow__)); > > > > > > >extern int clock_nanosleep (clockid_t __clock_id, int __flags, > __const struct timespec *__req, > struct timespec *__rem); > > >extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) __attribute__ ((__nothrow__)); > > > > >extern int timer_create (clockid_t __clock_id, > struct sigevent *__restrict __evp, > timer_t *__restrict __timerid) __attribute__ ((__nothrow__)); > > >extern int timer_delete (timer_t __timerid) __attribute__ ((__nothrow__)); > > >extern int timer_settime (timer_t __timerid, int __flags, > __const struct itimerspec *__restrict __value, > struct itimerspec *__restrict __ovalue) __attribute__ ((__nothrow__)); > > >extern int timer_gettime (timer_t __timerid, struct itimerspec *__value) > __attribute__ ((__nothrow__)); > > >extern int timer_getoverrun (timer_t __timerid) __attribute__ ((__nothrow__)); ># 416 "/usr/include/time.h" 3 4 > ># 63 "../../include/openssl/asn1.h" 2 ># 1 "../../include/openssl/e_os2.h" 1 ># 56 "../../include/openssl/e_os2.h" ># 1 "../../include/openssl/opensslconf.h" 1 ># 57 "../../include/openssl/e_os2.h" 2 ># 64 "../../include/openssl/asn1.h" 2 ># 74 "../../include/openssl/asn1.h" ># 1 "../../include/openssl/bn.h" 1 ># 128 "../../include/openssl/bn.h" ># 1 "../../include/openssl/e_os2.h" 1 ># 56 "../../include/openssl/e_os2.h" ># 1 "../../include/openssl/opensslconf.h" 1 ># 57 "../../include/openssl/e_os2.h" 2 ># 129 "../../include/openssl/bn.h" 2 ># 318 "../../include/openssl/bn.h" >struct bignum_st > { > unsigned long *d; > int top; > > int dmax; > int neg; > int flags; > }; > > >struct bn_mont_ctx_st > { > int ri; > BIGNUM RR; > BIGNUM N; > BIGNUM Ni; > > unsigned long n0[2]; > > int flags; > }; > > > > >struct bn_recp_ctx_st > { > BIGNUM N; > BIGNUM Nr; > int num_bits; > int shift; > int flags; > }; > > >struct bn_gencb_st > { > unsigned int ver; > void *arg; > union > { > > void (*cb_1)(int, int, void *); > > int (*cb_2)(int, int, BN_GENCB *); > } cb; > }; > >int BN_GENCB_call(BN_GENCB *cb, int a, int b); ># 425 "../../include/openssl/bn.h" >const BIGNUM *BN_value_one(void); >char * BN_options(void); >BN_CTX *BN_CTX_new(void); > >void BN_CTX_init(BN_CTX *c); > >void BN_CTX_free(BN_CTX *c); >void BN_CTX_start(BN_CTX *ctx); >BIGNUM *BN_CTX_get(BN_CTX *ctx); >void BN_CTX_end(BN_CTX *ctx); >int BN_rand(BIGNUM *rnd, int bits, int top,int bottom); >int BN_pseudo_rand(BIGNUM *rnd, int bits, int top,int bottom); >int BN_rand_range(BIGNUM *rnd, const BIGNUM *range); >int BN_pseudo_rand_range(BIGNUM *rnd, const BIGNUM *range); >int BN_num_bits(const BIGNUM *a); >int BN_num_bits_word(unsigned long); >BIGNUM *BN_new(void); >void BN_init(BIGNUM *); >void BN_clear_free(BIGNUM *a); >BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b); >void BN_swap(BIGNUM *a, BIGNUM *b); >BIGNUM *BN_bin2bn(const unsigned char *s,int len,BIGNUM *ret); >int BN_bn2bin(const BIGNUM *a, unsigned char *to); >BIGNUM *BN_mpi2bn(const unsigned char *s,int len,BIGNUM *ret); >int BN_bn2mpi(const BIGNUM *a, unsigned char *to); >int BN_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); >int BN_usub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); >int BN_uadd(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); >int BN_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); >int BN_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); >int BN_sqr(BIGNUM *r, const BIGNUM *a,BN_CTX *ctx); > > > > >void BN_set_negative(BIGNUM *b, int n); > > > > > > >int BN_div(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, const BIGNUM *d, > BN_CTX *ctx); > >int BN_nnmod(BIGNUM *r, const BIGNUM *m, const BIGNUM *d, BN_CTX *ctx); >int BN_mod_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, BN_CTX *ctx); >int BN_mod_add_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m); >int BN_mod_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, BN_CTX *ctx); >int BN_mod_sub_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m); >int BN_mod_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, > const BIGNUM *m, BN_CTX *ctx); >int BN_mod_sqr(BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX *ctx); >int BN_mod_lshift1(BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX *ctx); >int BN_mod_lshift1_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *m); >int BN_mod_lshift(BIGNUM *r, const BIGNUM *a, int n, const BIGNUM *m, BN_CTX *ctx); >int BN_mod_lshift_quick(BIGNUM *r, const BIGNUM *a, int n, const BIGNUM *m); > >unsigned long BN_mod_word(const BIGNUM *a, unsigned long w); >unsigned long BN_div_word(BIGNUM *a, unsigned long w); >int BN_mul_word(BIGNUM *a, unsigned long w); >int BN_add_word(BIGNUM *a, unsigned long w); >int BN_sub_word(BIGNUM *a, unsigned long w); >int BN_set_word(BIGNUM *a, unsigned long w); >unsigned long BN_get_word(const BIGNUM *a); > >int BN_cmp(const BIGNUM *a, const BIGNUM *b); >void BN_free(BIGNUM *a); >int BN_is_bit_set(const BIGNUM *a, int n); >int BN_lshift(BIGNUM *r, const BIGNUM *a, int n); >int BN_lshift1(BIGNUM *r, const BIGNUM *a); >int BN_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,BN_CTX *ctx); > >int BN_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, > const BIGNUM *m,BN_CTX *ctx); >int BN_mod_exp_mont(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, > const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); >int BN_mod_exp_mont_consttime(BIGNUM *rr, const BIGNUM *a, const BIGNUM *p, > const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *in_mont); >int BN_mod_exp_mont_word(BIGNUM *r, unsigned long a, const BIGNUM *p, > const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); >int BN_mod_exp2_mont(BIGNUM *r, const BIGNUM *a1, const BIGNUM *p1, > const BIGNUM *a2, const BIGNUM *p2,const BIGNUM *m, > BN_CTX *ctx,BN_MONT_CTX *m_ctx); >int BN_mod_exp_simple(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, > const BIGNUM *m,BN_CTX *ctx); > >int BN_mask_bits(BIGNUM *a,int n); > >int BN_print_fp(FILE *fp, const BIGNUM *a); > > >int BN_print(BIO *fp, const BIGNUM *a); > > > >int BN_reciprocal(BIGNUM *r, const BIGNUM *m, int len, BN_CTX *ctx); >int BN_rshift(BIGNUM *r, const BIGNUM *a, int n); >int BN_rshift1(BIGNUM *r, const BIGNUM *a); >void BN_clear(BIGNUM *a); >BIGNUM *BN_dup(const BIGNUM *a); >int BN_ucmp(const BIGNUM *a, const BIGNUM *b); >int BN_set_bit(BIGNUM *a, int n); >int BN_clear_bit(BIGNUM *a, int n); >char * BN_bn2hex(const BIGNUM *a); >char * BN_bn2dec(const BIGNUM *a); >int BN_hex2bn(BIGNUM **a, const char *str); >int BN_dec2bn(BIGNUM **a, const char *str); >int BN_asc2bn(BIGNUM **a, const char *str); >int BN_gcd(BIGNUM *r,const BIGNUM *a,const BIGNUM *b,BN_CTX *ctx); >int BN_kronecker(const BIGNUM *a,const BIGNUM *b,BN_CTX *ctx); >BIGNUM *BN_mod_inverse(BIGNUM *ret, > const BIGNUM *a, const BIGNUM *n,BN_CTX *ctx); >BIGNUM *BN_mod_sqrt(BIGNUM *ret, > const BIGNUM *a, const BIGNUM *n,BN_CTX *ctx); > >void BN_consttime_swap(unsigned long swap, BIGNUM *a, BIGNUM *b, int nwords); > > > >BIGNUM *BN_generate_prime(BIGNUM *ret,int bits,int safe, > const BIGNUM *add, const BIGNUM *rem, > void (*callback)(int,int,void *),void *cb_arg); >int BN_is_prime(const BIGNUM *p,int nchecks, > void (*callback)(int,int,void *), > BN_CTX *ctx,void *cb_arg); >int BN_is_prime_fasttest(const BIGNUM *p,int nchecks, > void (*callback)(int,int,void *),BN_CTX *ctx,void *cb_arg, > int do_trial_division); > > > >int BN_generate_prime_ex(BIGNUM *ret,int bits,int safe, const BIGNUM *add, > const BIGNUM *rem, BN_GENCB *cb); >int BN_is_prime_ex(const BIGNUM *p,int nchecks, BN_CTX *ctx, BN_GENCB *cb); >int BN_is_prime_fasttest_ex(const BIGNUM *p,int nchecks, BN_CTX *ctx, > int do_trial_division, BN_GENCB *cb); > >int BN_X931_generate_Xpq(BIGNUM *Xp, BIGNUM *Xq, int nbits, BN_CTX *ctx); > >int BN_X931_derive_prime_ex(BIGNUM *p, BIGNUM *p1, BIGNUM *p2, > const BIGNUM *Xp, const BIGNUM *Xp1, const BIGNUM *Xp2, > const BIGNUM *e, BN_CTX *ctx, BN_GENCB *cb); >int BN_X931_generate_prime_ex(BIGNUM *p, BIGNUM *p1, BIGNUM *p2, > BIGNUM *Xp1, BIGNUM *Xp2, > const BIGNUM *Xp, > const BIGNUM *e, BN_CTX *ctx, > BN_GENCB *cb); > >BN_MONT_CTX *BN_MONT_CTX_new(void ); >void BN_MONT_CTX_init(BN_MONT_CTX *ctx); >int BN_mod_mul_montgomery(BIGNUM *r,const BIGNUM *a,const BIGNUM *b, > BN_MONT_CTX *mont, BN_CTX *ctx); > > >int BN_from_montgomery(BIGNUM *r,const BIGNUM *a, > BN_MONT_CTX *mont, BN_CTX *ctx); >void BN_MONT_CTX_free(BN_MONT_CTX *mont); >int BN_MONT_CTX_set(BN_MONT_CTX *mont,const BIGNUM *mod,BN_CTX *ctx); >BN_MONT_CTX *BN_MONT_CTX_copy(BN_MONT_CTX *to,BN_MONT_CTX *from); >BN_MONT_CTX *BN_MONT_CTX_set_locked(BN_MONT_CTX **pmont, int lock, > const BIGNUM *mod, BN_CTX *ctx); > > > > > >BN_BLINDING *BN_BLINDING_new(const BIGNUM *A, const BIGNUM *Ai, BIGNUM *mod); >void BN_BLINDING_free(BN_BLINDING *b); >int BN_BLINDING_update(BN_BLINDING *b,BN_CTX *ctx); >int BN_BLINDING_convert(BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx); >int BN_BLINDING_invert(BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx); >int BN_BLINDING_convert_ex(BIGNUM *n, BIGNUM *r, BN_BLINDING *b, BN_CTX *); >int BN_BLINDING_invert_ex(BIGNUM *n, const BIGNUM *r, BN_BLINDING *b, BN_CTX *); > >unsigned long BN_BLINDING_get_thread_id(const BN_BLINDING *); >void BN_BLINDING_set_thread_id(BN_BLINDING *, unsigned long); > >CRYPTO_THREADID *BN_BLINDING_thread_id(BN_BLINDING *); >unsigned long BN_BLINDING_get_flags(const BN_BLINDING *); >void BN_BLINDING_set_flags(BN_BLINDING *, unsigned long); >BN_BLINDING *BN_BLINDING_create_param(BN_BLINDING *b, > const BIGNUM *e, BIGNUM *m, BN_CTX *ctx, > int (*bn_mod_exp)(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, > const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx), > BN_MONT_CTX *m_ctx); > > >void BN_set_params(int mul,int high,int low,int mont); >int BN_get_params(int which); > > >void BN_RECP_CTX_init(BN_RECP_CTX *recp); >BN_RECP_CTX *BN_RECP_CTX_new(void); >void BN_RECP_CTX_free(BN_RECP_CTX *recp); >int BN_RECP_CTX_set(BN_RECP_CTX *recp,const BIGNUM *rdiv,BN_CTX *ctx); >int BN_mod_mul_reciprocal(BIGNUM *r, const BIGNUM *x, const BIGNUM *y, > BN_RECP_CTX *recp,BN_CTX *ctx); >int BN_mod_exp_recp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, > const BIGNUM *m, BN_CTX *ctx); >int BN_div_recp(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, > BN_RECP_CTX *recp, BN_CTX *ctx); ># 639 "../../include/openssl/bn.h" >int BN_GF2m_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); > >int BN_GF2m_mod(BIGNUM *r, const BIGNUM *a, const BIGNUM *p); >int BN_GF2m_mod_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, > const BIGNUM *p, BN_CTX *ctx); >int BN_GF2m_mod_sqr(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, > BN_CTX *ctx); >int BN_GF2m_mod_inv(BIGNUM *r, const BIGNUM *b, const BIGNUM *p, > BN_CTX *ctx); >int BN_GF2m_mod_div(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, > const BIGNUM *p, BN_CTX *ctx); >int BN_GF2m_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, > const BIGNUM *p, BN_CTX *ctx); >int BN_GF2m_mod_sqrt(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, > BN_CTX *ctx); >int BN_GF2m_mod_solve_quad(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, > BN_CTX *ctx); > > > > > > >int BN_GF2m_mod_arr(BIGNUM *r, const BIGNUM *a, const int p[]); > >int BN_GF2m_mod_mul_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, > const int p[], BN_CTX *ctx); >int BN_GF2m_mod_sqr_arr(BIGNUM *r, const BIGNUM *a, const int p[], > BN_CTX *ctx); >int BN_GF2m_mod_inv_arr(BIGNUM *r, const BIGNUM *b, const int p[], > BN_CTX *ctx); >int BN_GF2m_mod_div_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, > const int p[], BN_CTX *ctx); >int BN_GF2m_mod_exp_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, > const int p[], BN_CTX *ctx); >int BN_GF2m_mod_sqrt_arr(BIGNUM *r, const BIGNUM *a, > const int p[], BN_CTX *ctx); >int BN_GF2m_mod_solve_quad_arr(BIGNUM *r, const BIGNUM *a, > const int p[], BN_CTX *ctx); >int BN_GF2m_poly2arr(const BIGNUM *a, int p[], int max); >int BN_GF2m_arr2poly(const int p[], BIGNUM *a); > > > > > >int BN_nist_mod_192(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); >int BN_nist_mod_224(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); >int BN_nist_mod_256(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); >int BN_nist_mod_384(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); >int BN_nist_mod_521(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); > >const BIGNUM *BN_get0_nist_prime_192(void); >const BIGNUM *BN_get0_nist_prime_224(void); >const BIGNUM *BN_get0_nist_prime_256(void); >const BIGNUM *BN_get0_nist_prime_384(void); >const BIGNUM *BN_get0_nist_prime_521(void); > > > > > > >BIGNUM *bn_expand2(BIGNUM *a, int words); > >BIGNUM *bn_dup_expand(const BIGNUM *a, int words); ># 809 "../../include/openssl/bn.h" >unsigned long bn_mul_add_words(unsigned long *rp, const unsigned long *ap, int num, unsigned long w); >unsigned long bn_mul_words(unsigned long *rp, const unsigned long *ap, int num, unsigned long w); >void bn_sqr_words(unsigned long *rp, const unsigned long *ap, int num); >unsigned long bn_div_words(unsigned long h, unsigned long l, unsigned long d); >unsigned long bn_add_words(unsigned long *rp, const unsigned long *ap, const unsigned long *bp,int num); >unsigned long bn_sub_words(unsigned long *rp, const unsigned long *ap, const unsigned long *bp,int num); > > >BIGNUM *get_rfc2409_prime_768(BIGNUM *bn); >BIGNUM *get_rfc2409_prime_1024(BIGNUM *bn); > > >BIGNUM *get_rfc3526_prime_1536(BIGNUM *bn); >BIGNUM *get_rfc3526_prime_2048(BIGNUM *bn); >BIGNUM *get_rfc3526_prime_3072(BIGNUM *bn); >BIGNUM *get_rfc3526_prime_4096(BIGNUM *bn); >BIGNUM *get_rfc3526_prime_6144(BIGNUM *bn); >BIGNUM *get_rfc3526_prime_8192(BIGNUM *bn); > >int BN_bntest_rand(BIGNUM *rnd, int bits, int top,int bottom); > > > > > >void ERR_load_BN_strings(void); ># 75 "../../include/openssl/asn1.h" 2 ># 165 "../../include/openssl/asn1.h" >struct X509_algor_st; >struct stack_st_X509_ALGOR { _STACK stack; }; ># 175 "../../include/openssl/asn1.h" >typedef struct asn1_ctx_st > { > unsigned char *p; > int eos; > int error; > int inf; > int tag; > int xclass; > long slen; > unsigned char *max; > unsigned char *q; > unsigned char **pp; > int line; > } ASN1_CTX; > >typedef struct asn1_const_ctx_st > { > const unsigned char *p; > int eos; > int error; > int inf; > int tag; > int xclass; > long slen; > const unsigned char *max; > const unsigned char *q; > const unsigned char **pp; > int line; > } ASN1_const_CTX; > > > > > > > >typedef struct asn1_object_st > { > const char *sn,*ln; > int nid; > int length; > const unsigned char *data; > int flags; > } ASN1_OBJECT; ># 238 "../../include/openssl/asn1.h" >struct asn1_string_st > { > int length; > int type; > unsigned char *data; > > > > > long flags; > }; > > > > > > >typedef struct ASN1_ENCODING_st > { > unsigned char *enc; > long len; > int modified; > } ASN1_ENCODING; ># 271 "../../include/openssl/asn1.h" >typedef struct asn1_string_table_st { > int nid; > long minsize; > long maxsize; > unsigned long mask; > unsigned long flags; >} ASN1_STRING_TABLE; > >struct stack_st_ASN1_STRING_TABLE { _STACK stack; }; ># 295 "../../include/openssl/asn1.h" >typedef struct ASN1_TEMPLATE_st ASN1_TEMPLATE; >typedef struct ASN1_TLC_st ASN1_TLC; > >typedef struct ASN1_VALUE_st ASN1_VALUE; ># 362 "../../include/openssl/asn1.h" >typedef void *d2i_of_void(void **,const unsigned char **,long); typedef int i2d_of_void(void *,unsigned char **); ># 402 "../../include/openssl/asn1.h" >typedef const ASN1_ITEM ASN1_ITEM_EXP; ># 516 "../../include/openssl/asn1.h" >struct stack_st_ASN1_INTEGER { _STACK stack; }; > > >struct stack_st_ASN1_GENERALSTRING { _STACK stack; }; > >typedef struct asn1_type_st > { > int type; > union { > char *ptr; > ASN1_BOOLEAN boolean; > ASN1_STRING * asn1_string; > ASN1_OBJECT * object; > ASN1_INTEGER * integer; > ASN1_ENUMERATED * enumerated; > ASN1_BIT_STRING * bit_string; > ASN1_OCTET_STRING * octet_string; > ASN1_PRINTABLESTRING * printablestring; > ASN1_T61STRING * t61string; > ASN1_IA5STRING * ia5string; > ASN1_GENERALSTRING * generalstring; > ASN1_BMPSTRING * bmpstring; > ASN1_UNIVERSALSTRING * universalstring; > ASN1_UTCTIME * utctime; > ASN1_GENERALIZEDTIME * generalizedtime; > ASN1_VISIBLESTRING * visiblestring; > ASN1_UTF8STRING * utf8string; > > > ASN1_STRING * set; > ASN1_STRING * sequence; > ASN1_VALUE * asn1_value; > } value; > } ASN1_TYPE; > >struct stack_st_ASN1_TYPE { _STACK stack; }; > > >typedef struct stack_st_ASN1_TYPE ASN1_SEQUENCE_ANY; > >ASN1_SEQUENCE_ANY *d2i_ASN1_SEQUENCE_ANY(ASN1_SEQUENCE_ANY **a, const unsigned char **in, long len); int i2d_ASN1_SEQUENCE_ANY(const ASN1_SEQUENCE_ANY *a, unsigned char **out); extern const ASN1_ITEM ASN1_SEQUENCE_ANY_it; >ASN1_SEQUENCE_ANY *d2i_ASN1_SET_ANY(ASN1_SEQUENCE_ANY **a, const unsigned char **in, long len); int i2d_ASN1_SET_ANY(const ASN1_SEQUENCE_ANY *a, unsigned char **out); extern const ASN1_ITEM ASN1_SET_ANY_it; > >typedef struct NETSCAPE_X509_st > { > ASN1_OCTET_STRING *header; > X509 *cert; > } NETSCAPE_X509; > > >typedef struct BIT_STRING_BITNAME_st { > int bitnum; > const char *lname; > const char *sname; >} BIT_STRING_BITNAME; ># 774 "../../include/openssl/asn1.h" >ASN1_TYPE *ASN1_TYPE_new(void); void ASN1_TYPE_free(ASN1_TYPE *a); ASN1_TYPE *d2i_ASN1_TYPE(ASN1_TYPE **a, const unsigned char **in, long len); int i2d_ASN1_TYPE(ASN1_TYPE *a, unsigned char **out); extern const ASN1_ITEM ASN1_ANY_it; > >int ASN1_TYPE_get(ASN1_TYPE *a); >void ASN1_TYPE_set(ASN1_TYPE *a, int type, void *value); >int ASN1_TYPE_set1(ASN1_TYPE *a, int type, const void *value); >int ASN1_TYPE_cmp(ASN1_TYPE *a, ASN1_TYPE *b); > >ASN1_OBJECT * ASN1_OBJECT_new(void ); >void ASN1_OBJECT_free(ASN1_OBJECT *a); >int i2d_ASN1_OBJECT(ASN1_OBJECT *a,unsigned char **pp); >ASN1_OBJECT * c2i_ASN1_OBJECT(ASN1_OBJECT **a,const unsigned char **pp, > long length); >ASN1_OBJECT * d2i_ASN1_OBJECT(ASN1_OBJECT **a,const unsigned char **pp, > long length); > >extern const ASN1_ITEM ASN1_OBJECT_it; > >struct stack_st_ASN1_OBJECT { _STACK stack; }; > > >ASN1_STRING * ASN1_STRING_new(void); >void ASN1_STRING_free(ASN1_STRING *a); >int ASN1_STRING_copy(ASN1_STRING *dst, const ASN1_STRING *str); >ASN1_STRING * ASN1_STRING_dup(const ASN1_STRING *a); >ASN1_STRING * ASN1_STRING_type_new(int type ); >int ASN1_STRING_cmp(const ASN1_STRING *a, const ASN1_STRING *b); > > >int ASN1_STRING_set(ASN1_STRING *str, const void *data, int len); >void ASN1_STRING_set0(ASN1_STRING *str, void *data, int len); >int ASN1_STRING_length(const ASN1_STRING *x); >void ASN1_STRING_length_set(ASN1_STRING *x, int n); >int ASN1_STRING_type(ASN1_STRING *x); >unsigned char * ASN1_STRING_data(ASN1_STRING *x); > >ASN1_BIT_STRING *ASN1_BIT_STRING_new(void); void ASN1_BIT_STRING_free(ASN1_BIT_STRING *a); ASN1_BIT_STRING *d2i_ASN1_BIT_STRING(ASN1_BIT_STRING **a, const unsigned char **in, long len); int i2d_ASN1_BIT_STRING(ASN1_BIT_STRING *a, unsigned char **out); extern const ASN1_ITEM ASN1_BIT_STRING_it; >int i2c_ASN1_BIT_STRING(ASN1_BIT_STRING *a,unsigned char **pp); >ASN1_BIT_STRING *c2i_ASN1_BIT_STRING(ASN1_BIT_STRING **a,const unsigned char **pp, > long length); >int ASN1_BIT_STRING_set(ASN1_BIT_STRING *a, unsigned char *d, > int length ); >int ASN1_BIT_STRING_set_bit(ASN1_BIT_STRING *a, int n, int value); >int ASN1_BIT_STRING_get_bit(ASN1_BIT_STRING *a, int n); >int ASN1_BIT_STRING_check(ASN1_BIT_STRING *a, > unsigned char *flags, int flags_len); > > >int ASN1_BIT_STRING_name_print(BIO *out, ASN1_BIT_STRING *bs, > BIT_STRING_BITNAME *tbl, int indent); > >int ASN1_BIT_STRING_num_asc(char *name, BIT_STRING_BITNAME *tbl); >int ASN1_BIT_STRING_set_asc(ASN1_BIT_STRING *bs, char *name, int value, > BIT_STRING_BITNAME *tbl); > >int i2d_ASN1_BOOLEAN(int a,unsigned char **pp); >int d2i_ASN1_BOOLEAN(int *a,const unsigned char **pp,long length); > >ASN1_INTEGER *ASN1_INTEGER_new(void); void ASN1_INTEGER_free(ASN1_INTEGER *a); ASN1_INTEGER *d2i_ASN1_INTEGER(ASN1_INTEGER **a, const unsigned char **in, long len); int i2d_ASN1_INTEGER(ASN1_INTEGER *a, unsigned char **out); extern const ASN1_ITEM ASN1_INTEGER_it; >int i2c_ASN1_INTEGER(ASN1_INTEGER *a,unsigned char **pp); >ASN1_INTEGER *c2i_ASN1_INTEGER(ASN1_INTEGER **a,const unsigned char **pp, > long length); >ASN1_INTEGER *d2i_ASN1_UINTEGER(ASN1_INTEGER **a,const unsigned char **pp, > long length); >ASN1_INTEGER * ASN1_INTEGER_dup(const ASN1_INTEGER *x); >int ASN1_INTEGER_cmp(const ASN1_INTEGER *x, const ASN1_INTEGER *y); > >ASN1_ENUMERATED *ASN1_ENUMERATED_new(void); void ASN1_ENUMERATED_free(ASN1_ENUMERATED *a); ASN1_ENUMERATED *d2i_ASN1_ENUMERATED(ASN1_ENUMERATED **a, const unsigned char **in, long len); int i2d_ASN1_ENUMERATED(ASN1_ENUMERATED *a, unsigned char **out); extern const ASN1_ITEM ASN1_ENUMERATED_it; > >int ASN1_UTCTIME_check(ASN1_UTCTIME *a); >ASN1_UTCTIME *ASN1_UTCTIME_set(ASN1_UTCTIME *s,time_t t); >ASN1_UTCTIME *ASN1_UTCTIME_adj(ASN1_UTCTIME *s, time_t t, > int offset_day, long offset_sec); >int ASN1_UTCTIME_set_string(ASN1_UTCTIME *s, const char *str); >int ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t); > > > > >int ASN1_GENERALIZEDTIME_check(ASN1_GENERALIZEDTIME *a); >ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_set(ASN1_GENERALIZEDTIME *s,time_t t); >ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_adj(ASN1_GENERALIZEDTIME *s, > time_t t, int offset_day, long offset_sec); >int ASN1_GENERALIZEDTIME_set_string(ASN1_GENERALIZEDTIME *s, const char *str); > >ASN1_OCTET_STRING *ASN1_OCTET_STRING_new(void); void ASN1_OCTET_STRING_free(ASN1_OCTET_STRING *a); ASN1_OCTET_STRING *d2i_ASN1_OCTET_STRING(ASN1_OCTET_STRING **a, const unsigned char **in, long len); int i2d_ASN1_OCTET_STRING(ASN1_OCTET_STRING *a, unsigned char **out); extern const ASN1_ITEM ASN1_OCTET_STRING_it; >ASN1_OCTET_STRING * ASN1_OCTET_STRING_dup(const ASN1_OCTET_STRING *a); >int ASN1_OCTET_STRING_cmp(const ASN1_OCTET_STRING *a, const ASN1_OCTET_STRING *b); >int ASN1_OCTET_STRING_set(ASN1_OCTET_STRING *str, const unsigned char *data, int len); > >ASN1_VISIBLESTRING *ASN1_VISIBLESTRING_new(void); void ASN1_VISIBLESTRING_free(ASN1_VISIBLESTRING *a); ASN1_VISIBLESTRING *d2i_ASN1_VISIBLESTRING(ASN1_VISIBLESTRING **a, const unsigned char **in, long len); int i2d_ASN1_VISIBLESTRING(ASN1_VISIBLESTRING *a, unsigned char **out); extern const ASN1_ITEM ASN1_VISIBLESTRING_it; >ASN1_UNIVERSALSTRING *ASN1_UNIVERSALSTRING_new(void); void ASN1_UNIVERSALSTRING_free(ASN1_UNIVERSALSTRING *a); ASN1_UNIVERSALSTRING *d2i_ASN1_UNIVERSALSTRING(ASN1_UNIVERSALSTRING **a, const unsigned char **in, long len); int i2d_ASN1_UNIVERSALSTRING(ASN1_UNIVERSALSTRING *a, unsigned char **out); extern const ASN1_ITEM ASN1_UNIVERSALSTRING_it; >ASN1_UTF8STRING *ASN1_UTF8STRING_new(void); void ASN1_UTF8STRING_free(ASN1_UTF8STRING *a); ASN1_UTF8STRING *d2i_ASN1_UTF8STRING(ASN1_UTF8STRING **a, const unsigned char **in, long len); int i2d_ASN1_UTF8STRING(ASN1_UTF8STRING *a, unsigned char **out); extern const ASN1_ITEM ASN1_UTF8STRING_it; >ASN1_NULL *ASN1_NULL_new(void); void ASN1_NULL_free(ASN1_NULL *a); ASN1_NULL *d2i_ASN1_NULL(ASN1_NULL **a, const unsigned char **in, long len); int i2d_ASN1_NULL(ASN1_NULL *a, unsigned char **out); extern const ASN1_ITEM ASN1_NULL_it; >ASN1_BMPSTRING *ASN1_BMPSTRING_new(void); void ASN1_BMPSTRING_free(ASN1_BMPSTRING *a); ASN1_BMPSTRING *d2i_ASN1_BMPSTRING(ASN1_BMPSTRING **a, const unsigned char **in, long len); int i2d_ASN1_BMPSTRING(ASN1_BMPSTRING *a, unsigned char **out); extern const ASN1_ITEM ASN1_BMPSTRING_it; > >int UTF8_getc(const unsigned char *str, int len, unsigned long *val); >int UTF8_putc(unsigned char *str, int len, unsigned long value); > >ASN1_STRING *ASN1_PRINTABLE_new(void); void ASN1_PRINTABLE_free(ASN1_STRING *a); ASN1_STRING *d2i_ASN1_PRINTABLE(ASN1_STRING **a, const unsigned char **in, long len); int i2d_ASN1_PRINTABLE(ASN1_STRING *a, unsigned char **out); extern const ASN1_ITEM ASN1_PRINTABLE_it; > >ASN1_STRING *DIRECTORYSTRING_new(void); void DIRECTORYSTRING_free(ASN1_STRING *a); ASN1_STRING *d2i_DIRECTORYSTRING(ASN1_STRING **a, const unsigned char **in, long len); int i2d_DIRECTORYSTRING(ASN1_STRING *a, unsigned char **out); extern const ASN1_ITEM DIRECTORYSTRING_it; >ASN1_STRING *DISPLAYTEXT_new(void); void DISPLAYTEXT_free(ASN1_STRING *a); ASN1_STRING *d2i_DISPLAYTEXT(ASN1_STRING **a, const unsigned char **in, long len); int i2d_DISPLAYTEXT(ASN1_STRING *a, unsigned char **out); extern const ASN1_ITEM DISPLAYTEXT_it; >ASN1_PRINTABLESTRING *ASN1_PRINTABLESTRING_new(void); void ASN1_PRINTABLESTRING_free(ASN1_PRINTABLESTRING *a); ASN1_PRINTABLESTRING *d2i_ASN1_PRINTABLESTRING(ASN1_PRINTABLESTRING **a, const unsigned char **in, long len); int i2d_ASN1_PRINTABLESTRING(ASN1_PRINTABLESTRING *a, unsigned char **out); extern const ASN1_ITEM ASN1_PRINTABLESTRING_it; >ASN1_T61STRING *ASN1_T61STRING_new(void); void ASN1_T61STRING_free(ASN1_T61STRING *a); ASN1_T61STRING *d2i_ASN1_T61STRING(ASN1_T61STRING **a, const unsigned char **in, long len); int i2d_ASN1_T61STRING(ASN1_T61STRING *a, unsigned char **out); extern const ASN1_ITEM ASN1_T61STRING_it; >ASN1_IA5STRING *ASN1_IA5STRING_new(void); void ASN1_IA5STRING_free(ASN1_IA5STRING *a); ASN1_IA5STRING *d2i_ASN1_IA5STRING(ASN1_IA5STRING **a, const unsigned char **in, long len); int i2d_ASN1_IA5STRING(ASN1_IA5STRING *a, unsigned char **out); extern const ASN1_ITEM ASN1_IA5STRING_it; >ASN1_GENERALSTRING *ASN1_GENERALSTRING_new(void); void ASN1_GENERALSTRING_free(ASN1_GENERALSTRING *a); ASN1_GENERALSTRING *d2i_ASN1_GENERALSTRING(ASN1_GENERALSTRING **a, const unsigned char **in, long len); int i2d_ASN1_GENERALSTRING(ASN1_GENERALSTRING *a, unsigned char **out); extern const ASN1_ITEM ASN1_GENERALSTRING_it; >ASN1_UTCTIME *ASN1_UTCTIME_new(void); void ASN1_UTCTIME_free(ASN1_UTCTIME *a); ASN1_UTCTIME *d2i_ASN1_UTCTIME(ASN1_UTCTIME **a, const unsigned char **in, long len); int i2d_ASN1_UTCTIME(ASN1_UTCTIME *a, unsigned char **out); extern const ASN1_ITEM ASN1_UTCTIME_it; >ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_new(void); void ASN1_GENERALIZEDTIME_free(ASN1_GENERALIZEDTIME *a); ASN1_GENERALIZEDTIME *d2i_ASN1_GENERALIZEDTIME(ASN1_GENERALIZEDTIME **a, const unsigned char **in, long len); int i2d_ASN1_GENERALIZEDTIME(ASN1_GENERALIZEDTIME *a, unsigned char **out); extern const ASN1_ITEM ASN1_GENERALIZEDTIME_it; >ASN1_TIME *ASN1_TIME_new(void); void ASN1_TIME_free(ASN1_TIME *a); ASN1_TIME *d2i_ASN1_TIME(ASN1_TIME **a, const unsigned char **in, long len); int i2d_ASN1_TIME(ASN1_TIME *a, unsigned char **out); extern const ASN1_ITEM ASN1_TIME_it; > >extern const ASN1_ITEM ASN1_OCTET_STRING_NDEF_it; > >ASN1_TIME *ASN1_TIME_set(ASN1_TIME *s,time_t t); >ASN1_TIME *ASN1_TIME_adj(ASN1_TIME *s,time_t t, > int offset_day, long offset_sec); >int ASN1_TIME_check(ASN1_TIME *t); >ASN1_GENERALIZEDTIME *ASN1_TIME_to_generalizedtime(ASN1_TIME *t, ASN1_GENERALIZEDTIME **out); >int ASN1_TIME_set_string(ASN1_TIME *s, const char *str); > >int i2d_ASN1_SET(struct stack_st_OPENSSL_BLOCK *a, unsigned char **pp, > i2d_of_void *i2d, int ex_tag, int ex_class, > int is_set); >struct stack_st_OPENSSL_BLOCK *d2i_ASN1_SET(struct stack_st_OPENSSL_BLOCK **a, > const unsigned char **pp, > long length, d2i_of_void *d2i, > void (*free_func)(OPENSSL_BLOCK), int ex_tag, > int ex_class); > > >int i2a_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *a); >int a2i_ASN1_INTEGER(BIO *bp,ASN1_INTEGER *bs,char *buf,int size); >int i2a_ASN1_ENUMERATED(BIO *bp, ASN1_ENUMERATED *a); >int a2i_ASN1_ENUMERATED(BIO *bp,ASN1_ENUMERATED *bs,char *buf,int size); >int i2a_ASN1_OBJECT(BIO *bp,ASN1_OBJECT *a); >int a2i_ASN1_STRING(BIO *bp,ASN1_STRING *bs,char *buf,int size); >int i2a_ASN1_STRING(BIO *bp, ASN1_STRING *a, int type); > >int i2t_ASN1_OBJECT(char *buf,int buf_len,ASN1_OBJECT *a); > >int a2d_ASN1_OBJECT(unsigned char *out,int olen, const char *buf, int num); >ASN1_OBJECT *ASN1_OBJECT_create(int nid, unsigned char *data,int len, > const char *sn, const char *ln); > >int ASN1_INTEGER_set(ASN1_INTEGER *a, long v); >long ASN1_INTEGER_get(const ASN1_INTEGER *a); >ASN1_INTEGER *BN_to_ASN1_INTEGER(const BIGNUM *bn, ASN1_INTEGER *ai); >BIGNUM *ASN1_INTEGER_to_BN(const ASN1_INTEGER *ai,BIGNUM *bn); > >int ASN1_ENUMERATED_set(ASN1_ENUMERATED *a, long v); >long ASN1_ENUMERATED_get(ASN1_ENUMERATED *a); >ASN1_ENUMERATED *BN_to_ASN1_ENUMERATED(BIGNUM *bn, ASN1_ENUMERATED *ai); >BIGNUM *ASN1_ENUMERATED_to_BN(ASN1_ENUMERATED *ai,BIGNUM *bn); > > > >int ASN1_PRINTABLE_type(const unsigned char *s, int max); > >int i2d_ASN1_bytes(ASN1_STRING *a, unsigned char **pp, int tag, int xclass); >ASN1_STRING *d2i_ASN1_bytes(ASN1_STRING **a, const unsigned char **pp, > long length, int Ptag, int Pclass); >unsigned long ASN1_tag2bit(int tag); > >ASN1_STRING *d2i_ASN1_type_bytes(ASN1_STRING **a,const unsigned char **pp, > long length,int type); > > >int asn1_Finish(ASN1_CTX *c); >int asn1_const_Finish(ASN1_const_CTX *c); > > >int ASN1_get_object(const unsigned char **pp, long *plength, int *ptag, > int *pclass, long omax); >int ASN1_check_infinite_end(unsigned char **p,long len); >int ASN1_const_check_infinite_end(const unsigned char **p,long len); >void ASN1_put_object(unsigned char **pp, int constructed, int length, > int tag, int xclass); >int ASN1_put_eoc(unsigned char **pp); >int ASN1_object_size(int constructed, int length, int tag); > > >void *ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, void *x); ># 966 "../../include/openssl/asn1.h" >void *ASN1_item_dup(const ASN1_ITEM *it, void *x); ># 975 "../../include/openssl/asn1.h" >void *ASN1_d2i_fp(void *(*xnew)(void), d2i_of_void *d2i, FILE *in, void **x); > > > > > > > >void *ASN1_item_d2i_fp(const ASN1_ITEM *it, FILE *in, void *x); >int ASN1_i2d_fp(i2d_of_void *i2d,FILE *out,void *x); ># 996 "../../include/openssl/asn1.h" >int ASN1_item_i2d_fp(const ASN1_ITEM *it, FILE *out, void *x); >int ASN1_STRING_print_ex_fp(FILE *fp, ASN1_STRING *str, unsigned long flags); > > >int ASN1_STRING_to_UTF8(unsigned char **out, ASN1_STRING *in); > > >void *ASN1_d2i_bio(void *(*xnew)(void), d2i_of_void *d2i, BIO *in, void **x); > > > > > > > >void *ASN1_item_d2i_bio(const ASN1_ITEM *it, BIO *in, void *x); >int ASN1_i2d_bio(i2d_of_void *i2d,BIO *out, unsigned char *x); ># 1024 "../../include/openssl/asn1.h" >int ASN1_item_i2d_bio(const ASN1_ITEM *it, BIO *out, void *x); >int ASN1_UTCTIME_print(BIO *fp, const ASN1_UTCTIME *a); >int ASN1_GENERALIZEDTIME_print(BIO *fp, const ASN1_GENERALIZEDTIME *a); >int ASN1_TIME_print(BIO *fp, const ASN1_TIME *a); >int ASN1_STRING_print(BIO *bp, const ASN1_STRING *v); >int ASN1_STRING_print_ex(BIO *out, ASN1_STRING *str, unsigned long flags); >int ASN1_bn_print(BIO *bp, const char *number, const BIGNUM *num, > unsigned char *buf, int off); >int ASN1_parse(BIO *bp,const unsigned char *pp,long len,int indent); >int ASN1_parse_dump(BIO *bp,const unsigned char *pp,long len,int indent,int dump); > >const char *ASN1_tag2str(int tag); > > > >NETSCAPE_X509 *NETSCAPE_X509_new(void); void NETSCAPE_X509_free(NETSCAPE_X509 *a); NETSCAPE_X509 *d2i_NETSCAPE_X509(NETSCAPE_X509 **a, const unsigned char **in, long len); int i2d_NETSCAPE_X509(NETSCAPE_X509 *a, unsigned char **out); extern const ASN1_ITEM NETSCAPE_X509_it; > >int ASN1_UNIVERSALSTRING_to_string(ASN1_UNIVERSALSTRING *s); > >int ASN1_TYPE_set_octetstring(ASN1_TYPE *a, > unsigned char *data, int len); >int ASN1_TYPE_get_octetstring(ASN1_TYPE *a, > unsigned char *data, int max_len); >int ASN1_TYPE_set_int_octetstring(ASN1_TYPE *a, long num, > unsigned char *data, int len); >int ASN1_TYPE_get_int_octetstring(ASN1_TYPE *a,long *num, > unsigned char *data, int max_len); > >struct stack_st_OPENSSL_BLOCK *ASN1_seq_unpack(const unsigned char *buf, int len, > d2i_of_void *d2i, void (*free_func)(OPENSSL_BLOCK)); >unsigned char *ASN1_seq_pack(struct stack_st_OPENSSL_BLOCK *safes, i2d_of_void *i2d, > unsigned char **buf, int *len ); >void *ASN1_unpack_string(ASN1_STRING *oct, d2i_of_void *d2i); >void *ASN1_item_unpack(ASN1_STRING *oct, const ASN1_ITEM *it); >ASN1_STRING *ASN1_pack_string(void *obj, i2d_of_void *i2d, > ASN1_OCTET_STRING **oct); > > > > > > >ASN1_STRING *ASN1_item_pack(void *obj, const ASN1_ITEM *it, ASN1_OCTET_STRING **oct); > >void ASN1_STRING_set_default_mask(unsigned long mask); >int ASN1_STRING_set_default_mask_asc(const char *p); >unsigned long ASN1_STRING_get_default_mask(void); >int ASN1_mbstring_copy(ASN1_STRING **out, const unsigned char *in, int len, > int inform, unsigned long mask); >int ASN1_mbstring_ncopy(ASN1_STRING **out, const unsigned char *in, int len, > int inform, unsigned long mask, > long minsize, long maxsize); > >ASN1_STRING *ASN1_STRING_set_by_NID(ASN1_STRING **out, > const unsigned char *in, int inlen, int inform, int nid); >ASN1_STRING_TABLE *ASN1_STRING_TABLE_get(int nid); >int ASN1_STRING_TABLE_add(int, long, long, unsigned long, unsigned long); >void ASN1_STRING_TABLE_cleanup(void); > > > > >ASN1_VALUE *ASN1_item_new(const ASN1_ITEM *it); >void ASN1_item_free(ASN1_VALUE *val, const ASN1_ITEM *it); >ASN1_VALUE * ASN1_item_d2i(ASN1_VALUE **val, const unsigned char **in, long len, const ASN1_ITEM *it); >int ASN1_item_i2d(ASN1_VALUE *val, unsigned char **out, const ASN1_ITEM *it); >int ASN1_item_ndef_i2d(ASN1_VALUE *val, unsigned char **out, const ASN1_ITEM *it); > >void ASN1_add_oid_module(void); > >ASN1_TYPE *ASN1_generate_nconf(char *str, CONF *nconf); >ASN1_TYPE *ASN1_generate_v3(char *str, X509V3_CTX *cnf); ># 1118 "../../include/openssl/asn1.h" >int ASN1_item_print(BIO *out, ASN1_VALUE *ifld, int indent, > const ASN1_ITEM *it, const ASN1_PCTX *pctx); >ASN1_PCTX *ASN1_PCTX_new(void); >void ASN1_PCTX_free(ASN1_PCTX *p); >unsigned long ASN1_PCTX_get_flags(ASN1_PCTX *p); >void ASN1_PCTX_set_flags(ASN1_PCTX *p, unsigned long flags); >unsigned long ASN1_PCTX_get_nm_flags(ASN1_PCTX *p); >void ASN1_PCTX_set_nm_flags(ASN1_PCTX *p, unsigned long flags); >unsigned long ASN1_PCTX_get_cert_flags(ASN1_PCTX *p); >void ASN1_PCTX_set_cert_flags(ASN1_PCTX *p, unsigned long flags); >unsigned long ASN1_PCTX_get_oid_flags(ASN1_PCTX *p); >void ASN1_PCTX_set_oid_flags(ASN1_PCTX *p, unsigned long flags); >unsigned long ASN1_PCTX_get_str_flags(ASN1_PCTX *p); >void ASN1_PCTX_set_str_flags(ASN1_PCTX *p, unsigned long flags); > >BIO_METHOD *BIO_f_asn1(void); > >BIO *BIO_new_NDEF(BIO *out, ASN1_VALUE *val, const ASN1_ITEM *it); > >int i2d_ASN1_bio_stream(BIO *out, ASN1_VALUE *val, BIO *in, int flags, > const ASN1_ITEM *it); >int PEM_write_bio_ASN1_stream(BIO *out, ASN1_VALUE *val, BIO *in, int flags, > const char *hdr, > const ASN1_ITEM *it); >int SMIME_write_ASN1(BIO *bio, ASN1_VALUE *val, BIO *data, int flags, > int ctype_nid, int econt_nid, > struct stack_st_X509_ALGOR *mdalgs, > const ASN1_ITEM *it); >ASN1_VALUE *SMIME_read_ASN1(BIO *bio, BIO **bcont, const ASN1_ITEM *it); >int SMIME_crlf_copy(BIO *in, BIO *out, int flags); >int SMIME_text(BIO *in, BIO *out); > > > > > >void ERR_load_ASN1_strings(void); ># 86 "../../include/openssl/ec.h" 2 ># 106 "../../include/openssl/ec.h" >typedef enum { > > > POINT_CONVERSION_COMPRESSED = 2, > > POINT_CONVERSION_UNCOMPRESSED = 4, > > > POINT_CONVERSION_HYBRID = 6 >} point_conversion_form_t; > > >typedef struct ec_method_st EC_METHOD; > >typedef struct ec_group_st ># 129 "../../include/openssl/ec.h" > EC_GROUP; > >typedef struct ec_point_st EC_POINT; ># 142 "../../include/openssl/ec.h" >const EC_METHOD *EC_GFp_simple_method(void); > > > > >const EC_METHOD *EC_GFp_mont_method(void); > > > > >const EC_METHOD *EC_GFp_nist_method(void); > > > > > >const EC_METHOD *EC_GFp_nistp224_method(void); > > > > >const EC_METHOD *EC_GFp_nistp256_method(void); > > > > >const EC_METHOD *EC_GFp_nistp521_method(void); ># 179 "../../include/openssl/ec.h" >const EC_METHOD *EC_GF2m_simple_method(void); ># 192 "../../include/openssl/ec.h" >EC_GROUP *EC_GROUP_new(const EC_METHOD *meth); > > > > >void EC_GROUP_free(EC_GROUP *group); > > > > >void EC_GROUP_clear_free(EC_GROUP *group); > > > > > > >int EC_GROUP_copy(EC_GROUP *dst, const EC_GROUP *src); > > > > > > >EC_GROUP *EC_GROUP_dup(const EC_GROUP *src); > > > > > >const EC_METHOD *EC_GROUP_method_of(const EC_GROUP *group); > > > > > >int EC_METHOD_get_field_type(const EC_METHOD *meth); ># 238 "../../include/openssl/ec.h" >int EC_GROUP_set_generator(EC_GROUP *group, const EC_POINT *generator, const BIGNUM *order, const BIGNUM *cofactor); > > > > > >const EC_POINT *EC_GROUP_get0_generator(const EC_GROUP *group); > > > > > > > >int EC_GROUP_get_order(const EC_GROUP *group, BIGNUM *order, BN_CTX *ctx); > > > > > > > >int EC_GROUP_get_cofactor(const EC_GROUP *group, BIGNUM *cofactor, BN_CTX *ctx); > > > > > >void EC_GROUP_set_curve_name(EC_GROUP *group, int nid); > > > > > >int EC_GROUP_get_curve_name(const EC_GROUP *group); > >void EC_GROUP_set_asn1_flag(EC_GROUP *group, int flag); >int EC_GROUP_get_asn1_flag(const EC_GROUP *group); > >void EC_GROUP_set_point_conversion_form(EC_GROUP *group, point_conversion_form_t form); >point_conversion_form_t EC_GROUP_get_point_conversion_form(const EC_GROUP *); > >unsigned char *EC_GROUP_get0_seed(const EC_GROUP *x); >size_t EC_GROUP_get_seed_len(const EC_GROUP *); >size_t EC_GROUP_set_seed(EC_GROUP *, const unsigned char *, size_t len); ># 292 "../../include/openssl/ec.h" >int EC_GROUP_set_curve_GFp(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); ># 302 "../../include/openssl/ec.h" >int EC_GROUP_get_curve_GFp(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, BIGNUM *b, BN_CTX *ctx); ># 313 "../../include/openssl/ec.h" >int EC_GROUP_set_curve_GF2m(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); ># 323 "../../include/openssl/ec.h" >int EC_GROUP_get_curve_GF2m(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, BIGNUM *b, BN_CTX *ctx); > > > > > >int EC_GROUP_get_degree(const EC_GROUP *group); > > > > > > >int EC_GROUP_check(const EC_GROUP *group, BN_CTX *ctx); > > > > > > >int EC_GROUP_check_discriminant(const EC_GROUP *group, BN_CTX *ctx); > > > > > > > >int EC_GROUP_cmp(const EC_GROUP *a, const EC_GROUP *b, BN_CTX *ctx); ># 364 "../../include/openssl/ec.h" >EC_GROUP *EC_GROUP_new_curve_GFp(const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); ># 374 "../../include/openssl/ec.h" >EC_GROUP *EC_GROUP_new_curve_GF2m(const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); > > > > > > >EC_GROUP *EC_GROUP_new_by_curve_name(int nid); > > > > > > >typedef struct { > int nid; > const char *comment; > } EC_builtin_curve; > > > > > >size_t EC_get_builtin_curves(EC_builtin_curve *r, size_t nitems); ># 408 "../../include/openssl/ec.h" >EC_POINT *EC_POINT_new(const EC_GROUP *group); > > > > >void EC_POINT_free(EC_POINT *point); > > > > >void EC_POINT_clear_free(EC_POINT *point); > > > > > > >int EC_POINT_copy(EC_POINT *dst, const EC_POINT *src); > > > > > > > >EC_POINT *EC_POINT_dup(const EC_POINT *src, const EC_GROUP *group); > > > > > >const EC_METHOD *EC_POINT_method_of(const EC_POINT *point); > > > > > > >int EC_POINT_set_to_infinity(const EC_GROUP *group, EC_POINT *point); ># 457 "../../include/openssl/ec.h" >int EC_POINT_set_Jprojective_coordinates_GFp(const EC_GROUP *group, EC_POINT *p, > const BIGNUM *x, const BIGNUM *y, const BIGNUM *z, BN_CTX *ctx); ># 469 "../../include/openssl/ec.h" >int EC_POINT_get_Jprojective_coordinates_GFp(const EC_GROUP *group, > const EC_POINT *p, BIGNUM *x, BIGNUM *y, BIGNUM *z, BN_CTX *ctx); ># 480 "../../include/openssl/ec.h" >int EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *group, EC_POINT *p, > const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx); ># 491 "../../include/openssl/ec.h" >int EC_POINT_get_affine_coordinates_GFp(const EC_GROUP *group, > const EC_POINT *p, BIGNUM *x, BIGNUM *y, BN_CTX *ctx); ># 502 "../../include/openssl/ec.h" >int EC_POINT_set_compressed_coordinates_GFp(const EC_GROUP *group, EC_POINT *p, > const BIGNUM *x, int y_bit, BN_CTX *ctx); ># 513 "../../include/openssl/ec.h" >int EC_POINT_set_affine_coordinates_GF2m(const EC_GROUP *group, EC_POINT *p, > const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx); ># 524 "../../include/openssl/ec.h" >int EC_POINT_get_affine_coordinates_GF2m(const EC_GROUP *group, > const EC_POINT *p, BIGNUM *x, BIGNUM *y, BN_CTX *ctx); ># 535 "../../include/openssl/ec.h" >int EC_POINT_set_compressed_coordinates_GF2m(const EC_GROUP *group, EC_POINT *p, > const BIGNUM *x, int y_bit, BN_CTX *ctx); ># 548 "../../include/openssl/ec.h" >size_t EC_POINT_point2oct(const EC_GROUP *group, const EC_POINT *p, > point_conversion_form_t form, > unsigned char *buf, size_t len, BN_CTX *ctx); ># 560 "../../include/openssl/ec.h" >int EC_POINT_oct2point(const EC_GROUP *group, EC_POINT *p, > const unsigned char *buf, size_t len, BN_CTX *ctx); > > >BIGNUM *EC_POINT_point2bn(const EC_GROUP *, const EC_POINT *, > point_conversion_form_t form, BIGNUM *, BN_CTX *); >EC_POINT *EC_POINT_bn2point(const EC_GROUP *, const BIGNUM *, > EC_POINT *, BN_CTX *); >char *EC_POINT_point2hex(const EC_GROUP *, const EC_POINT *, > point_conversion_form_t form, BN_CTX *); >EC_POINT *EC_POINT_hex2point(const EC_GROUP *, const char *, > EC_POINT *, BN_CTX *); ># 586 "../../include/openssl/ec.h" >int EC_POINT_add(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, const EC_POINT *b, BN_CTX *ctx); ># 595 "../../include/openssl/ec.h" >int EC_POINT_dbl(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, BN_CTX *ctx); > > > > > > > >int EC_POINT_invert(const EC_GROUP *group, EC_POINT *a, BN_CTX *ctx); > > > > > > >int EC_POINT_is_at_infinity(const EC_GROUP *group, const EC_POINT *p); > > > > > > > >int EC_POINT_is_on_curve(const EC_GROUP *group, const EC_POINT *point, BN_CTX *ctx); ># 627 "../../include/openssl/ec.h" >int EC_POINT_cmp(const EC_GROUP *group, const EC_POINT *a, const EC_POINT *b, BN_CTX *ctx); > >int EC_POINT_make_affine(const EC_GROUP *group, EC_POINT *point, BN_CTX *ctx); >int EC_POINTs_make_affine(const EC_GROUP *group, size_t num, EC_POINT *points[], BN_CTX *ctx); ># 642 "../../include/openssl/ec.h" >int EC_POINTs_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, size_t num, const EC_POINT *p[], const BIGNUM *m[], BN_CTX *ctx); ># 653 "../../include/openssl/ec.h" >int EC_POINT_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, const EC_POINT *q, const BIGNUM *m, BN_CTX *ctx); > > > > > > >int EC_GROUP_precompute_mult(EC_GROUP *group, BN_CTX *ctx); > > > > > >int EC_GROUP_have_precompute_mult(const EC_GROUP *group); ># 675 "../../include/openssl/ec.h" >int EC_GROUP_get_basis_type(const EC_GROUP *); > >int EC_GROUP_get_trinomial_basis(const EC_GROUP *, unsigned int *k); >int EC_GROUP_get_pentanomial_basis(const EC_GROUP *, unsigned int *k1, > unsigned int *k2, unsigned int *k3); > > > > >typedef struct ecpk_parameters_st ECPKPARAMETERS; > >EC_GROUP *d2i_ECPKParameters(EC_GROUP **, const unsigned char **in, long len); >int i2d_ECPKParameters(const EC_GROUP *, unsigned char **out); ># 697 "../../include/openssl/ec.h" >int ECPKParameters_print(BIO *bp, const EC_GROUP *x, int off); > > >int ECPKParameters_print_fp(FILE *fp, const EC_GROUP *x, int off); > > > > > > > >typedef struct ec_key_st EC_KEY; ># 721 "../../include/openssl/ec.h" >EC_KEY *EC_KEY_new(void); > >int EC_KEY_get_flags(const EC_KEY *key); > >void EC_KEY_set_flags(EC_KEY *key, int flags); > >void EC_KEY_clear_flags(EC_KEY *key, int flags); > > > > > > >EC_KEY *EC_KEY_new_by_curve_name(int nid); > > > > >void EC_KEY_free(EC_KEY *key); > > > > > > >EC_KEY *EC_KEY_copy(EC_KEY *dst, const EC_KEY *src); > > > > > >EC_KEY *EC_KEY_dup(const EC_KEY *src); > > > > > >int EC_KEY_up_ref(EC_KEY *key); > > > > > >const EC_GROUP *EC_KEY_get0_group(const EC_KEY *key); > > > > > > > >int EC_KEY_set_group(EC_KEY *key, const EC_GROUP *group); > > > > > >const BIGNUM *EC_KEY_get0_private_key(const EC_KEY *key); > > > > > > > >int EC_KEY_set_private_key(EC_KEY *key, const BIGNUM *prv); > > > > > >const EC_POINT *EC_KEY_get0_public_key(const EC_KEY *key); > > > > > > > >int EC_KEY_set_public_key(EC_KEY *key, const EC_POINT *pub); > >unsigned EC_KEY_get_enc_flags(const EC_KEY *key); >void EC_KEY_set_enc_flags(EC_KEY *eckey, unsigned int flags); >point_conversion_form_t EC_KEY_get_conv_form(const EC_KEY *key); >void EC_KEY_set_conv_form(EC_KEY *eckey, point_conversion_form_t cform); > >void *EC_KEY_get_key_method_data(EC_KEY *key, > void *(*dup_func)(void *), void (*free_func)(void *), void (*clear_free_func)(void *)); ># 817 "../../include/openssl/ec.h" >void *EC_KEY_insert_key_method_data(EC_KEY *key, void *data, > void *(*dup_func)(void *), void (*free_func)(void *), void (*clear_free_func)(void *)); > >void EC_KEY_set_asn1_flag(EC_KEY *eckey, int asn1_flag); > > > > > > > >int EC_KEY_precompute_mult(EC_KEY *key, BN_CTX *ctx); > > > > > >int EC_KEY_generate_key(EC_KEY *key); > > > > > >int EC_KEY_check_key(const EC_KEY *key); ># 849 "../../include/openssl/ec.h" >int EC_KEY_set_public_key_affine_coordinates(EC_KEY *key, BIGNUM *x, BIGNUM *y); ># 862 "../../include/openssl/ec.h" >EC_KEY *d2i_ECPrivateKey(EC_KEY **key, const unsigned char **in, long len); > > > > > > > >int i2d_ECPrivateKey(EC_KEY *key, unsigned char **out); ># 884 "../../include/openssl/ec.h" >EC_KEY *d2i_ECParameters(EC_KEY **key, const unsigned char **in, long len); > > > > > > > >int i2d_ECParameters(EC_KEY *key, unsigned char **out); ># 907 "../../include/openssl/ec.h" >EC_KEY *o2i_ECPublicKey(EC_KEY **key, const unsigned char **in, long len); > > > > > > > >int i2o_ECPublicKey(EC_KEY *key, unsigned char **out); > > > > > > > >int ECParameters_print(BIO *bp, const EC_KEY *key); > > > > > > > >int EC_KEY_print(BIO *bp, const EC_KEY *key, int off); ># 940 "../../include/openssl/ec.h" >int ECParameters_print_fp(FILE *fp, const EC_KEY *key); > > > > > > > >int EC_KEY_print_fp(FILE *fp, const EC_KEY *key, int off); ># 973 "../../include/openssl/ec.h" >void ERR_load_EC_strings(void); ># 77 "ec_lcl.h" 2 ># 91 "ec_lcl.h" >struct ec_method_st { > > int flags; > > int field_type; > > > int (*group_init)(EC_GROUP *); > void (*group_finish)(EC_GROUP *); > void (*group_clear_finish)(EC_GROUP *); > int (*group_copy)(EC_GROUP *, const EC_GROUP *); > > > > int (*group_set_curve)(EC_GROUP *, const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *); > int (*group_get_curve)(const EC_GROUP *, BIGNUM *p, BIGNUM *a, BIGNUM *b, BN_CTX *); > > > int (*group_get_degree)(const EC_GROUP *); > > > int (*group_check_discriminant)(const EC_GROUP *, BN_CTX *); > > > int (*point_init)(EC_POINT *); > void (*point_finish)(EC_POINT *); > void (*point_clear_finish)(EC_POINT *); > int (*point_copy)(EC_POINT *, const EC_POINT *); ># 127 "ec_lcl.h" > int (*point_set_to_infinity)(const EC_GROUP *, EC_POINT *); > int (*point_set_Jprojective_coordinates_GFp)(const EC_GROUP *, EC_POINT *, > const BIGNUM *x, const BIGNUM *y, const BIGNUM *z, BN_CTX *); > int (*point_get_Jprojective_coordinates_GFp)(const EC_GROUP *, const EC_POINT *, > BIGNUM *x, BIGNUM *y, BIGNUM *z, BN_CTX *); > int (*point_set_affine_coordinates)(const EC_GROUP *, EC_POINT *, > const BIGNUM *x, const BIGNUM *y, BN_CTX *); > int (*point_get_affine_coordinates)(const EC_GROUP *, const EC_POINT *, > BIGNUM *x, BIGNUM *y, BN_CTX *); > int (*point_set_compressed_coordinates)(const EC_GROUP *, EC_POINT *, > const BIGNUM *x, int y_bit, BN_CTX *); > > > size_t (*point2oct)(const EC_GROUP *, const EC_POINT *, point_conversion_form_t form, > unsigned char *buf, size_t len, BN_CTX *); > int (*oct2point)(const EC_GROUP *, EC_POINT *, > const unsigned char *buf, size_t len, BN_CTX *); > > > int (*add)(const EC_GROUP *, EC_POINT *r, const EC_POINT *a, const EC_POINT *b, BN_CTX *); > int (*dbl)(const EC_GROUP *, EC_POINT *r, const EC_POINT *a, BN_CTX *); > int (*invert)(const EC_GROUP *, EC_POINT *, BN_CTX *); > > > int (*is_at_infinity)(const EC_GROUP *, const EC_POINT *); > int (*is_on_curve)(const EC_GROUP *, const EC_POINT *, BN_CTX *); > int (*point_cmp)(const EC_GROUP *, const EC_POINT *a, const EC_POINT *b, BN_CTX *); > > > int (*make_affine)(const EC_GROUP *, EC_POINT *, BN_CTX *); > int (*points_make_affine)(const EC_GROUP *, size_t num, EC_POINT *[], BN_CTX *); > > > > int (*mul)(const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar, > size_t num, const EC_POINT *points[], const BIGNUM *scalars[], BN_CTX *); > int (*precompute_mult)(EC_GROUP *group, BN_CTX *); > int (*have_precompute_mult)(const EC_GROUP *group); > > > > > > > > int (*field_mul)(const EC_GROUP *, BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *); > int (*field_sqr)(const EC_GROUP *, BIGNUM *r, const BIGNUM *a, BN_CTX *); > int (*field_div)(const EC_GROUP *, BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *); > > int (*field_encode)(const EC_GROUP *, BIGNUM *r, const BIGNUM *a, BN_CTX *); > int (*field_decode)(const EC_GROUP *, BIGNUM *r, const BIGNUM *a, BN_CTX *); > int (*field_set_to_one)(const EC_GROUP *, BIGNUM *r, BN_CTX *); >} ; > >typedef struct ec_extra_data_st { > struct ec_extra_data_st *next; > void *data; > void *(*dup_func)(void *); > void (*free_func)(void *); > void (*clear_free_func)(void *); >} EC_EXTRA_DATA; > >struct ec_group_st { > const EC_METHOD *meth; > > EC_POINT *generator; > BIGNUM order, cofactor; > > int curve_name; > int asn1_flag; > point_conversion_form_t asn1_form; > > unsigned char *seed; > size_t seed_len; > > EC_EXTRA_DATA *extra_data; > > > > > BIGNUM field; > > > > > > int poly[6]; ># 222 "ec_lcl.h" > BIGNUM a, b; ># 233 "ec_lcl.h" > int a_is_minus3; > > void *field_data1; > void *field_data2; > int (*field_mod_func)(BIGNUM *, const BIGNUM *, const BIGNUM *, BN_CTX *); >} ; > >struct ec_key_st { > int version; > > EC_GROUP *group; > > EC_POINT *pub_key; > BIGNUM *priv_key; > > unsigned int enc_flag; > point_conversion_form_t conv_form; > > int references; > int flags; > > EC_EXTRA_DATA *method_data; >} ; > > > > > > >int EC_EX_DATA_set_data(EC_EXTRA_DATA **, void *data, > void *(*dup_func)(void *), void (*free_func)(void *), void (*clear_free_func)(void *)); >void *EC_EX_DATA_get_data(const EC_EXTRA_DATA *, > void *(*dup_func)(void *), void (*free_func)(void *), void (*clear_free_func)(void *)); >void EC_EX_DATA_free_data(EC_EXTRA_DATA **, > void *(*dup_func)(void *), void (*free_func)(void *), void (*clear_free_func)(void *)); >void EC_EX_DATA_clear_free_data(EC_EXTRA_DATA **, > void *(*dup_func)(void *), void (*free_func)(void *), void (*clear_free_func)(void *)); >void EC_EX_DATA_free_all_data(EC_EXTRA_DATA **); >void EC_EX_DATA_clear_free_all_data(EC_EXTRA_DATA **); > > > >struct ec_point_st { > const EC_METHOD *meth; > > > > > BIGNUM X; > BIGNUM Y; > BIGNUM Z; > > int Z_is_one; >} ; > > > > > >int ec_wNAF_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar, > size_t num, const EC_POINT *points[], const BIGNUM *scalars[], BN_CTX *); >int ec_wNAF_precompute_mult(EC_GROUP *group, BN_CTX *); >int ec_wNAF_have_precompute_mult(const EC_GROUP *group); > > > >int ec_GFp_simple_group_init(EC_GROUP *); >void ec_GFp_simple_group_finish(EC_GROUP *); >void ec_GFp_simple_group_clear_finish(EC_GROUP *); >int ec_GFp_simple_group_copy(EC_GROUP *, const EC_GROUP *); >int ec_GFp_simple_group_set_curve(EC_GROUP *, const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *); >int ec_GFp_simple_group_get_curve(const EC_GROUP *, BIGNUM *p, BIGNUM *a, BIGNUM *b, BN_CTX *); >int ec_GFp_simple_group_get_degree(const EC_GROUP *); >int ec_GFp_simple_group_check_discriminant(const EC_GROUP *, BN_CTX *); >int ec_GFp_simple_point_init(EC_POINT *); >void ec_GFp_simple_point_finish(EC_POINT *); >void ec_GFp_simple_point_clear_finish(EC_POINT *); >int ec_GFp_simple_point_copy(EC_POINT *, const EC_POINT *); >int ec_GFp_simple_point_set_to_infinity(const EC_GROUP *, EC_POINT *); >int ec_GFp_simple_set_Jprojective_coordinates_GFp(const EC_GROUP *, EC_POINT *, > const BIGNUM *x, const BIGNUM *y, const BIGNUM *z, BN_CTX *); >int ec_GFp_simple_get_Jprojective_coordinates_GFp(const EC_GROUP *, const EC_POINT *, > BIGNUM *x, BIGNUM *y, BIGNUM *z, BN_CTX *); >int ec_GFp_simple_point_set_affine_coordinates(const EC_GROUP *, EC_POINT *, > const BIGNUM *x, const BIGNUM *y, BN_CTX *); >int ec_GFp_simple_point_get_affine_coordinates(const EC_GROUP *, const EC_POINT *, > BIGNUM *x, BIGNUM *y, BN_CTX *); >int ec_GFp_simple_set_compressed_coordinates(const EC_GROUP *, EC_POINT *, > const BIGNUM *x, int y_bit, BN_CTX *); >size_t ec_GFp_simple_point2oct(const EC_GROUP *, const EC_POINT *, point_conversion_form_t form, > unsigned char *buf, size_t len, BN_CTX *); >int ec_GFp_simple_oct2point(const EC_GROUP *, EC_POINT *, > const unsigned char *buf, size_t len, BN_CTX *); >int ec_GFp_simple_add(const EC_GROUP *, EC_POINT *r, const EC_POINT *a, const EC_POINT *b, BN_CTX *); >int ec_GFp_simple_dbl(const EC_GROUP *, EC_POINT *r, const EC_POINT *a, BN_CTX *); >int ec_GFp_simple_invert(const EC_GROUP *, EC_POINT *, BN_CTX *); >int ec_GFp_simple_is_at_infinity(const EC_GROUP *, const EC_POINT *); >int ec_GFp_simple_is_on_curve(const EC_GROUP *, const EC_POINT *, BN_CTX *); >int ec_GFp_simple_cmp(const EC_GROUP *, const EC_POINT *a, const EC_POINT *b, BN_CTX *); >int ec_GFp_simple_make_affine(const EC_GROUP *, EC_POINT *, BN_CTX *); >int ec_GFp_simple_points_make_affine(const EC_GROUP *, size_t num, EC_POINT *[], BN_CTX *); >int ec_GFp_simple_field_mul(const EC_GROUP *, BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *); >int ec_GFp_simple_field_sqr(const EC_GROUP *, BIGNUM *r, const BIGNUM *a, BN_CTX *); > > > >int ec_GFp_mont_group_init(EC_GROUP *); >int ec_GFp_mont_group_set_curve(EC_GROUP *, const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *); >void ec_GFp_mont_group_finish(EC_GROUP *); >void ec_GFp_mont_group_clear_finish(EC_GROUP *); >int ec_GFp_mont_group_copy(EC_GROUP *, const EC_GROUP *); >int ec_GFp_mont_field_mul(const EC_GROUP *, BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *); >int ec_GFp_mont_field_sqr(const EC_GROUP *, BIGNUM *r, const BIGNUM *a, BN_CTX *); >int ec_GFp_mont_field_encode(const EC_GROUP *, BIGNUM *r, const BIGNUM *a, BN_CTX *); >int ec_GFp_mont_field_decode(const EC_GROUP *, BIGNUM *r, const BIGNUM *a, BN_CTX *); >int ec_GFp_mont_field_set_to_one(const EC_GROUP *, BIGNUM *r, BN_CTX *); > > > >int ec_GFp_nist_group_copy(EC_GROUP *dest, const EC_GROUP *src); >int ec_GFp_nist_group_set_curve(EC_GROUP *, const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *); >int ec_GFp_nist_field_mul(const EC_GROUP *, BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *); >int ec_GFp_nist_field_sqr(const EC_GROUP *, BIGNUM *r, const BIGNUM *a, BN_CTX *); > > > >int ec_GF2m_simple_group_init(EC_GROUP *); >void ec_GF2m_simple_group_finish(EC_GROUP *); >void ec_GF2m_simple_group_clear_finish(EC_GROUP *); >int ec_GF2m_simple_group_copy(EC_GROUP *, const EC_GROUP *); >int ec_GF2m_simple_group_set_curve(EC_GROUP *, const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *); >int ec_GF2m_simple_group_get_curve(const EC_GROUP *, BIGNUM *p, BIGNUM *a, BIGNUM *b, BN_CTX *); >int ec_GF2m_simple_group_get_degree(const EC_GROUP *); >int ec_GF2m_simple_group_check_discriminant(const EC_GROUP *, BN_CTX *); >int ec_GF2m_simple_point_init(EC_POINT *); >void ec_GF2m_simple_point_finish(EC_POINT *); >void ec_GF2m_simple_point_clear_finish(EC_POINT *); >int ec_GF2m_simple_point_copy(EC_POINT *, const EC_POINT *); >int ec_GF2m_simple_point_set_to_infinity(const EC_GROUP *, EC_POINT *); >int ec_GF2m_simple_point_set_affine_coordinates(const EC_GROUP *, EC_POINT *, > const BIGNUM *x, const BIGNUM *y, BN_CTX *); >int ec_GF2m_simple_point_get_affine_coordinates(const EC_GROUP *, const EC_POINT *, > BIGNUM *x, BIGNUM *y, BN_CTX *); >int ec_GF2m_simple_set_compressed_coordinates(const EC_GROUP *, EC_POINT *, > const BIGNUM *x, int y_bit, BN_CTX *); >size_t ec_GF2m_simple_point2oct(const EC_GROUP *, const EC_POINT *, point_conversion_form_t form, > unsigned char *buf, size_t len, BN_CTX *); >int ec_GF2m_simple_oct2point(const EC_GROUP *, EC_POINT *, > const unsigned char *buf, size_t len, BN_CTX *); >int ec_GF2m_simple_add(const EC_GROUP *, EC_POINT *r, const EC_POINT *a, const EC_POINT *b, BN_CTX *); >int ec_GF2m_simple_dbl(const EC_GROUP *, EC_POINT *r, const EC_POINT *a, BN_CTX *); >int ec_GF2m_simple_invert(const EC_GROUP *, EC_POINT *, BN_CTX *); >int ec_GF2m_simple_is_at_infinity(const EC_GROUP *, const EC_POINT *); >int ec_GF2m_simple_is_on_curve(const EC_GROUP *, const EC_POINT *, BN_CTX *); >int ec_GF2m_simple_cmp(const EC_GROUP *, const EC_POINT *a, const EC_POINT *b, BN_CTX *); >int ec_GF2m_simple_make_affine(const EC_GROUP *, EC_POINT *, BN_CTX *); >int ec_GF2m_simple_points_make_affine(const EC_GROUP *, size_t num, EC_POINT *[], BN_CTX *); >int ec_GF2m_simple_field_mul(const EC_GROUP *, BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *); >int ec_GF2m_simple_field_sqr(const EC_GROUP *, BIGNUM *r, const BIGNUM *a, BN_CTX *); >int ec_GF2m_simple_field_div(const EC_GROUP *, BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *); > > > >int ec_GF2m_simple_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar, > size_t num, const EC_POINT *points[], const BIGNUM *scalars[], BN_CTX *); >int ec_GF2m_precompute_mult(EC_GROUP *group, BN_CTX *ctx); >int ec_GF2m_have_precompute_mult(const EC_GROUP *group); > > >int ec_GF2m_simple_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar, > size_t num, const EC_POINT *points[], const BIGNUM *scalars[], BN_CTX *); >int ec_GF2m_precompute_mult(EC_GROUP *group, BN_CTX *ctx); >int ec_GF2m_have_precompute_mult(const EC_GROUP *group); > > > >int ec_GFp_nistp224_group_init(EC_GROUP *group); >int ec_GFp_nistp224_group_set_curve(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, const BIGNUM *n, BN_CTX *); >int ec_GFp_nistp224_point_get_affine_coordinates(const EC_GROUP *group, const EC_POINT *point, BIGNUM *x, BIGNUM *y, BN_CTX *ctx); >int ec_GFp_nistp224_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar, size_t num, const EC_POINT *points[], const BIGNUM *scalars[], BN_CTX *); >int ec_GFp_nistp224_points_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar, size_t num, const EC_POINT *points[], const BIGNUM *scalars[], BN_CTX *ctx); >int ec_GFp_nistp224_precompute_mult(EC_GROUP *group, BN_CTX *ctx); >int ec_GFp_nistp224_have_precompute_mult(const EC_GROUP *group); > > >int ec_GFp_nistp256_group_init(EC_GROUP *group); >int ec_GFp_nistp256_group_set_curve(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, const BIGNUM *n, BN_CTX *); >int ec_GFp_nistp256_point_get_affine_coordinates(const EC_GROUP *group, const EC_POINT *point, BIGNUM *x, BIGNUM *y, BN_CTX *ctx); >int ec_GFp_nistp256_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar, size_t num, const EC_POINT *points[], const BIGNUM *scalars[], BN_CTX *); >int ec_GFp_nistp256_points_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar, size_t num, const EC_POINT *points[], const BIGNUM *scalars[], BN_CTX *ctx); >int ec_GFp_nistp256_precompute_mult(EC_GROUP *group, BN_CTX *ctx); >int ec_GFp_nistp256_have_precompute_mult(const EC_GROUP *group); > > >int ec_GFp_nistp521_group_init(EC_GROUP *group); >int ec_GFp_nistp521_group_set_curve(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, const BIGNUM *n, BN_CTX *); >int ec_GFp_nistp521_point_get_affine_coordinates(const EC_GROUP *group, const EC_POINT *point, BIGNUM *x, BIGNUM *y, BN_CTX *ctx); >int ec_GFp_nistp521_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar, size_t num, const EC_POINT *points[], const BIGNUM *scalars[], BN_CTX *); >int ec_GFp_nistp521_points_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar, size_t num, const EC_POINT *points[], const BIGNUM *scalars[], BN_CTX *ctx); >int ec_GFp_nistp521_precompute_mult(EC_GROUP *group, BN_CTX *ctx); >int ec_GFp_nistp521_have_precompute_mult(const EC_GROUP *group); > > >void ec_GFp_nistp_points_make_affine_internal(size_t num, void *point_array, > size_t felem_size, void *tmp_felems, > void (*felem_one)(void *out), > int (*felem_is_zero)(const void *in), > void (*felem_assign)(void *out, const void *in), > void (*felem_square)(void *out, const void *in), > void (*felem_mul)(void *out, const void *in1, const void *in2), > void (*felem_inv)(void *out, const void *in), > void (*felem_contract)(void *out, const void *in)); >void ec_GFp_nistp_recode_scalar_bits(unsigned char *sign, unsigned char *digit, unsigned char in); ># 40 "ecp_nistp224.c" 2 > > > > typedef __uint128_t uint128_t; > > > > >typedef uint8_t u8; >typedef uint64_t u64; >typedef int64_t s64; ># 72 "ecp_nistp224.c" >typedef uint64_t limb; >typedef uint128_t widelimb; > >typedef limb felem[4]; >typedef widelimb widefelem[7]; > > > > > >typedef u8 felem_bytearray[28]; > >static const felem_bytearray nistp224_curve_params[5] = { > {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, > 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00, > 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01}, > {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, > 0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF, > 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE}, > {0xB4,0x05,0x0A,0x85,0x0C,0x04,0xB3,0xAB,0xF5,0x41, > 0x32,0x56,0x50,0x44,0xB0,0xB7,0xD7,0xBF,0xD8,0xBA, > 0x27,0x0B,0x39,0x43,0x23,0x55,0xFF,0xB4}, > {0xB7,0x0E,0x0C,0xBD,0x6B,0xB4,0xBF,0x7F,0x32,0x13, > 0x90,0xB9,0x4A,0x03,0xC1,0xD3,0x56,0xC2,0x11,0x22, > 0x34,0x32,0x80,0xD6,0x11,0x5C,0x1D,0x21}, > {0xbd,0x37,0x63,0x88,0xb5,0xf7,0x23,0xfb,0x4c,0x22, > 0xdf,0xe6,0xcd,0x43,0x75,0xa0,0x5a,0x07,0x47,0x64, > 0x44,0xd5,0x81,0x99,0x85,0x00,0x7e,0x34} >}; ># 132 "ecp_nistp224.c" >static const felem gmul[2][16][3] = >{{{{0, 0, 0, 0}, > {0, 0, 0, 0}, > {0, 0, 0, 0}}, > {{0x3280d6115c1d21, 0xc1d356c2112234, 0x7f321390b94a03, 0xb70e0cbd6bb4bf}, > {0xd5819985007e34, 0x75a05a07476444, 0xfb4c22dfe6cd43, 0xbd376388b5f723}, > {1, 0, 0, 0}}, > {{0xfd9675666ebbe9, 0xbca7664d40ce5e, 0x2242df8d8a2a43, 0x1f49bbb0f99bc5}, > {0x29e0b892dc9c43, 0xece8608436e662, 0xdc858f185310d0, 0x9812dd4eb8d321}, > {1, 0, 0, 0}}, > {{0x6d3e678d5d8eb8, 0x559eed1cb362f1, 0x16e9a3bbce8a3f, 0xeedcccd8c2a748}, > {0xf19f90ed50266d, 0xabf2b4bf65f9df, 0x313865468fafec, 0x5cb379ba910a17}, > {1, 0, 0, 0}}, > {{0x0641966cab26e3, 0x91fb2991fab0a0, 0xefec27a4e13a0b, 0x0499aa8a5f8ebe}, > {0x7510407766af5d, 0x84d929610d5450, 0x81d77aae82f706, 0x6916f6d4338c5b}, > {1, 0, 0, 0}}, > {{0xea95ac3b1f15c6, 0x086000905e82d4, 0xdd323ae4d1c8b1, 0x932b56be7685a3}, > {0x9ef93dea25dbbf, 0x41665960f390f0, 0xfdec76dbe2a8a7, 0x523e80f019062a}, > {1, 0, 0, 0}}, > {{0x822fdd26732c73, 0xa01c83531b5d0f, 0x363f37347c1ba4, 0xc391b45c84725c}, > {0xbbd5e1b2d6ad24, 0xddfbcde19dfaec, 0xc393da7e222a7f, 0x1efb7890ede244}, > {1, 0, 0, 0}}, > {{0x4c9e90ca217da1, 0xd11beca79159bb, 0xff8d33c2c98b7c, 0x2610b39409f849}, > {0x44d1352ac64da0, 0xcdbb7b2c46b4fb, 0x966c079b753c89, 0xfe67e4e820b112}, > {1, 0, 0, 0}}, > {{0xe28cae2df5312d, 0xc71b61d16f5c6e, 0x79b7619a3e7c4c, 0x05c73240899b47}, > {0x9f7f6382c73e3a, 0x18615165c56bda, 0x641fab2116fd56, 0x72855882b08394}, > {1, 0, 0, 0}}, > {{0x0469182f161c09, 0x74a98ca8d00fb5, 0xb89da93489a3e0, 0x41c98768fb0c1d}, > {0xe5ea05fb32da81, 0x3dce9ffbca6855, 0x1cfe2d3fbf59e6, 0x0e5e03408738a7}, > {1, 0, 0, 0}}, > {{0xdab22b2333e87f, 0x4430137a5dd2f6, 0xe03ab9f738beb8, 0xcb0c5d0dc34f24}, > {0x764a7df0c8fda5, 0x185ba5c3fa2044, 0x9281d688bcbe50, 0xc40331df893881}, > {1, 0, 0, 0}}, > {{0xb89530796f0f60, 0xade92bd26909a3, 0x1a0c83fb4884da, 0x1765bf22a5a984}, > {0x772a9ee75db09e, 0x23bc6c67cec16f, 0x4c1edba8b14e2f, 0xe2a215d9611369}, > {1, 0, 0, 0}}, > {{0x571e509fb5efb3, 0xade88696410552, 0xc8ae85fada74fe, 0x6c7e4be83bbde3}, > {0xff9f51160f4652, 0xb47ce2495a6539, 0xa2946c53b582f4, 0x286d2db3ee9a60}, > {1, 0, 0, 0}}, > {{0x40bbd5081a44af, 0x0995183b13926c, 0xbcefba6f47f6d0, 0x215619e9cc0057}, > {0x8bc94d3b0df45e, 0xf11c54a3694f6f, 0x8631b93cdfe8b5, 0xe7e3f4b0982db9}, > {1, 0, 0, 0}}, > {{0xb17048ab3e1c7b, 0xac38f36ff8a1d8, 0x1c29819435d2c6, 0xc813132f4c07e9}, > {0x2891425503b11f, 0x08781030579fea, 0xf5426ba5cc9674, 0x1e28ebf18562bc}, > {1, 0, 0, 0}}, > {{0x9f31997cc864eb, 0x06cd91d28b5e4c, 0xff17036691a973, 0xf1aef351497c58}, > {0xdd1f2d600564ff, 0xdead073b1402db, 0x74a684435bd693, 0xeea7471f962558}, > {1, 0, 0, 0}}}, > {{{0, 0, 0, 0}, > {0, 0, 0, 0}, > {0, 0, 0, 0}}, > {{0x9665266dddf554, 0x9613d78b60ef2d, 0xce27a34cdba417, 0xd35ab74d6afc31}, > {0x85ccdd22deb15e, 0x2137e5783a6aab, 0xa141cffd8c93c6, 0x355a1830e90f2d}, > {1, 0, 0, 0}}, > {{0x1a494eadaade65, 0xd6da4da77fe53c, 0xe7992996abec86, 0x65c3553c6090e3}, > {0xfa610b1fb09346, 0xf1c6540b8a4aaf, 0xc51a13ccd3cbab, 0x02995b1b18c28a}, > {1, 0, 0, 0}}, > {{0x7874568e7295ef, 0x86b419fbe38d04, 0xdc0690a7550d9a, 0xd3966a44beac33}, > {0x2b7280ec29132f, 0xbeaa3b6a032df3, 0xdc7dd88ae41200, 0xd25e2513e3a100}, > {1, 0, 0, 0}}, > {{0x924857eb2efafd, 0xac2bce41223190, 0x8edaa1445553fc, 0x825800fd3562d5}, > {0x8d79148ea96621, 0x23a01c3dd9ed8d, 0xaf8b219f9416b5, 0xd8db0cc277daea}, > {1, 0, 0, 0}}, > {{0x76a9c3b1a700f0, 0xe9acd29bc7e691, 0x69212d1a6b0327, 0x6322e97fe154be}, > {0x469fc5465d62aa, 0x8d41ed18883b05, 0x1f8eae66c52b88, 0xe4fcbe9325be51}, > {1, 0, 0, 0}}, > {{0x825fdf583cac16, 0x020b857c7b023a, 0x683c17744b0165, 0x14ffd0a2daf2f1}, > {0x323b36184218f9, 0x4944ec4e3b47d4, 0xc15b3080841acf, 0x0bced4b01a28bb}, > {1, 0, 0, 0}}, > {{0x92ac22230df5c4, 0x52f33b4063eda8, 0xcb3f19870c0c93, 0x40064f2ba65233}, > {0xfe16f0924f8992, 0x012da25af5b517, 0x1a57bb24f723a6, 0x06f8bc76760def}, > {1, 0, 0, 0}}, > {{0x4a7084f7817cb9, 0xbcab0738ee9a78, 0x3ec11e11d9c326, 0xdc0fe90e0f1aae}, > {0xcf639ea5f98390, 0x5c350aa22ffb74, 0x9afae98a4047b7, 0x956ec2d617fc45}, > {1, 0, 0, 0}}, > {{0x4306d648c1be6a, 0x9247cd8bc9a462, 0xf5595e377d2f2e, 0xbd1c3caff1a52e}, > {0x045e14472409d0, 0x29f3e17078f773, 0x745a602b2d4f7d, 0x191837685cdfbb}, > {1, 0, 0, 0}}, > {{0x5b6ee254a8cb79, 0x4953433f5e7026, 0xe21faeb1d1def4, 0xc4c225785c09de}, > {0x307ce7bba1e518, 0x31b125b1036db8, 0x47e91868839e8f, 0xc765866e33b9f3}, > {1, 0, 0, 0}}, > {{0x3bfece24f96906, 0x4794da641e5093, 0xde5df64f95db26, 0x297ecd89714b05}, > {0x701bd3ebb2c3aa, 0x7073b4f53cb1d5, 0x13c5665658af16, 0x9895089d66fe58}, > {1, 0, 0, 0}}, > {{0x0fef05f78c4790, 0x2d773633b05d2e, 0x94229c3a951c94, 0xbbbd70df4911bb}, > {0xb2c6963d2c1168, 0x105f47a72b0d73, 0x9fdf6111614080, 0x7b7e94b39e67b0}, > {1, 0, 0, 0}}, > {{0xad1a7d6efbe2b3, 0xf012482c0da69d, 0x6b3bdf12438345, 0x40d7558d7aa4d9}, > {0x8a09fffb5c6d3d, 0x9a356e5d9ffd38, 0x5973f15f4f9b1c, 0xdcd5f59f63c3ea}, > {1, 0, 0, 0}}, > {{0xacf39f4c5ca7ab, 0x4c8071cc5fd737, 0xc64e3602cd1184, 0x0acd4644c9abba}, > {0x6c011a36d8bf6e, 0xfecd87ba24e32a, 0x19f6f56574fad8, 0x050b204ced9405}, > {1, 0, 0, 0}}, > {{0xed4f1cae7d9a96, 0x5ceef7ad94c40a, 0x778e4a3bf3ef9b, 0x7405783dc3b55e}, > {0x32477c61b6e8c6, 0xb46a97570f018b, 0x91176d0a7e95d1, 0x3df90fbc4c7d0e}, > {1, 0, 0, 0}}}}; > > >typedef struct { > felem g_pre_comp[2][16][3]; > int references; >} NISTP224_PRE_COMP; > >const EC_METHOD *EC_GFp_nistp224_method(void) > { > static const EC_METHOD ret = { > 0x1, > 406, > ec_GFp_nistp224_group_init, > ec_GFp_simple_group_finish, > ec_GFp_simple_group_clear_finish, > ec_GFp_nist_group_copy, > ec_GFp_nistp224_group_set_curve, > ec_GFp_simple_group_get_curve, > ec_GFp_simple_group_get_degree, > ec_GFp_simple_group_check_discriminant, > ec_GFp_simple_point_init, > ec_GFp_simple_point_finish, > ec_GFp_simple_point_clear_finish, > ec_GFp_simple_point_copy, > ec_GFp_simple_point_set_to_infinity, > ec_GFp_simple_set_Jprojective_coordinates_GFp, > ec_GFp_simple_get_Jprojective_coordinates_GFp, > ec_GFp_simple_point_set_affine_coordinates, > ec_GFp_nistp224_point_get_affine_coordinates, > 0 , > 0 , > 0 , > ec_GFp_simple_add, > ec_GFp_simple_dbl, > ec_GFp_simple_invert, > ec_GFp_simple_is_at_infinity, > ec_GFp_simple_is_on_curve, > ec_GFp_simple_cmp, > ec_GFp_simple_make_affine, > ec_GFp_simple_points_make_affine, > ec_GFp_nistp224_points_mul, > ec_GFp_nistp224_precompute_mult, > ec_GFp_nistp224_have_precompute_mult, > ec_GFp_nist_field_mul, > ec_GFp_nist_field_sqr, > 0 , > 0 , > 0 , > 0 }; > > return &ret; > } > > >static void bin28_to_felem(felem out, const u8 in[28]) > { > out[0] = *((const uint64_t *)(in)) & 0x00ffffffffffffff; > out[1] = (*((const uint64_t *)(in+7))) & 0x00ffffffffffffff; > out[2] = (*((const uint64_t *)(in+14))) & 0x00ffffffffffffff; > out[3] = (*((const uint64_t *)(in+21))) & 0x00ffffffffffffff; > } > >static void felem_to_bin28(u8 out[28], const felem in) > { > unsigned i; > for (i = 0; i < 7; ++i) > { > out[i] = in[0]>>(8*i); > out[i+7] = in[1]>>(8*i); > out[i+14] = in[2]>>(8*i); > out[i+21] = in[3]>>(8*i); > } > } > > >static void flip_endian(u8 *out, const u8 *in, unsigned len) > { > unsigned i; > for (i = 0; i < len; ++i) > out[i] = in[len-1-i]; > } > > >static int BN_to_felem(felem out, const BIGNUM *bn) > { > felem_bytearray b_in; > felem_bytearray b_out; > unsigned num_bytes; > > > memset(b_out, 0, sizeof b_out); > num_bytes = ((BN_num_bits(bn)+7)/8); > if (num_bytes > sizeof b_out) > { > ERR_put_error(16,(224),(144),"ecp_nistp224.c",323); > return 0; > } > if (((bn)->neg != 0)) > { > ERR_put_error(16,(224),(144),"ecp_nistp224.c",328); > return 0; > } > num_bytes = BN_bn2bin(bn, b_in); > flip_endian(b_out, b_in, num_bytes); > bin28_to_felem(out, b_out); > return 1; > } > > >static BIGNUM *felem_to_BN(BIGNUM *out, const felem in) > { > felem_bytearray b_in, b_out; > felem_to_bin28(b_in, in); > flip_endian(b_out, b_in, sizeof b_out); > return BN_bin2bn(b_out, sizeof b_out, out); > } ># 356 "ecp_nistp224.c" >static void felem_one(felem out) > { > out[0] = 1; > out[1] = 0; > out[2] = 0; > out[3] = 0; > } > >static void felem_assign(felem out, const felem in) > { > out[0] = in[0]; > out[1] = in[1]; > out[2] = in[2]; > out[3] = in[3]; > } > > >static void felem_sum(felem out, const felem in) > { > out[0] += in[0]; > out[1] += in[1]; > out[2] += in[2]; > out[3] += in[3]; > } > > > >static void felem_neg(felem out, const felem in) > { > static const limb two58p2 = (((limb) 1) << 58) + (((limb) 1) << 2); > static const limb two58m2 = (((limb) 1) << 58) - (((limb) 1) << 2); > static const limb two58m42m2 = (((limb) 1) << 58) - > (((limb) 1) << 42) - (((limb) 1) << 2); > > > out[0] = two58p2 - in[0]; > out[1] = two58m42m2 - in[1]; > out[2] = two58m2 - in[2]; > out[3] = two58m2 - in[3]; > } > > > >static void felem_diff(felem out, const felem in) > { > static const limb two58p2 = (((limb) 1) << 58) + (((limb) 1) << 2); > static const limb two58m2 = (((limb) 1) << 58) - (((limb) 1) << 2); > static const limb two58m42m2 = (((limb) 1) << 58) - > (((limb) 1) << 42) - (((limb) 1) << 2); > > > out[0] += two58p2; > out[1] += two58m42m2; > out[2] += two58m2; > out[3] += two58m2; > > out[0] -= in[0]; > out[1] -= in[1]; > out[2] -= in[2]; > out[3] -= in[3]; > } > > > >static void widefelem_diff(widefelem out, const widefelem in) > { > static const widelimb two120 = ((widelimb) 1) << 120; > static const widelimb two120m64 = (((widelimb) 1) << 120) - > (((widelimb) 1) << 64); > static const widelimb two120m104m64 = (((widelimb) 1) << 120) - > (((widelimb) 1) << 104) - (((widelimb) 1) << 64); > > > out[0] += two120; > out[1] += two120m64; > out[2] += two120m64; > out[3] += two120; > out[4] += two120m104m64; > out[5] += two120m64; > out[6] += two120m64; > > out[0] -= in[0]; > out[1] -= in[1]; > out[2] -= in[2]; > out[3] -= in[3]; > out[4] -= in[4]; > out[5] -= in[5]; > out[6] -= in[6]; > } > > > >static void felem_diff_128_64(widefelem out, const felem in) > { > static const widelimb two64p8 = (((widelimb) 1) << 64) + > (((widelimb) 1) << 8); > static const widelimb two64m8 = (((widelimb) 1) << 64) - > (((widelimb) 1) << 8); > static const widelimb two64m48m8 = (((widelimb) 1) << 64) - > (((widelimb) 1) << 48) - (((widelimb) 1) << 8); > > > out[0] += two64p8; > out[1] += two64m48m8; > out[2] += two64m8; > out[3] += two64m8; > > out[0] -= in[0]; > out[1] -= in[1]; > out[2] -= in[2]; > out[3] -= in[3]; > } > > > >static void felem_scalar(felem out, const limb scalar) > { > out[0] *= scalar; > out[1] *= scalar; > out[2] *= scalar; > out[3] *= scalar; > } > > > >static void widefelem_scalar(widefelem out, const widelimb scalar) > { > out[0] *= scalar; > out[1] *= scalar; > out[2] *= scalar; > out[3] *= scalar; > out[4] *= scalar; > out[5] *= scalar; > out[6] *= scalar; > } > > >static void felem_square(widefelem out, const felem in) > { > limb tmp0, tmp1, tmp2; > tmp0 = 2 * in[0]; tmp1 = 2 * in[1]; tmp2 = 2 * in[2]; > out[0] = ((widelimb) in[0]) * in[0]; > out[1] = ((widelimb) in[0]) * tmp1; > out[2] = ((widelimb) in[0]) * tmp2 + ((widelimb) in[1]) * in[1]; > out[3] = ((widelimb) in[3]) * tmp0 + > ((widelimb) in[1]) * tmp2; > out[4] = ((widelimb) in[3]) * tmp1 + ((widelimb) in[2]) * in[2]; > out[5] = ((widelimb) in[3]) * tmp2; > out[6] = ((widelimb) in[3]) * in[3]; > } > > >static void felem_mul(widefelem out, const felem in1, const felem in2) > { > out[0] = ((widelimb) in1[0]) * in2[0]; > out[1] = ((widelimb) in1[0]) * in2[1] + ((widelimb) in1[1]) * in2[0]; > out[2] = ((widelimb) in1[0]) * in2[2] + ((widelimb) in1[1]) * in2[1] + > ((widelimb) in1[2]) * in2[0]; > out[3] = ((widelimb) in1[0]) * in2[3] + ((widelimb) in1[1]) * in2[2] + > ((widelimb) in1[2]) * in2[1] + ((widelimb) in1[3]) * in2[0]; > out[4] = ((widelimb) in1[1]) * in2[3] + ((widelimb) in1[2]) * in2[2] + > ((widelimb) in1[3]) * in2[1]; > out[5] = ((widelimb) in1[2]) * in2[3] + ((widelimb) in1[3]) * in2[2]; > out[6] = ((widelimb) in1[3]) * in2[3]; > } > > > > >static void felem_reduce(felem out, const widefelem in) > { > static const widelimb two127p15 = (((widelimb) 1) << 127) + > (((widelimb) 1) << 15); > static const widelimb two127m71 = (((widelimb) 1) << 127) - > (((widelimb) 1) << 71); > static const widelimb two127m71m55 = (((widelimb) 1) << 127) - > (((widelimb) 1) << 71) - (((widelimb) 1) << 55); > widelimb output[5]; > > > output[0] = in[0] + two127p15; > output[1] = in[1] + two127m71m55; > output[2] = in[2] + two127m71; > output[3] = in[3]; > output[4] = in[4]; > > > output[4] += in[6] >> 16; > output[3] += (in[6] & 0xffff) << 40; > output[2] -= in[6]; > > output[3] += in[5] >> 16; > output[2] += (in[5] & 0xffff) << 40; > output[1] -= in[5]; > > output[2] += output[4] >> 16; > output[1] += (output[4] & 0xffff) << 40; > output[0] -= output[4]; > > > output[3] += output[2] >> 56; > output[2] &= 0x00ffffffffffffff; > > output[4] = output[3] >> 56; > output[3] &= 0x00ffffffffffffff; > > > > > output[2] += output[4] >> 16; > > output[1] += (output[4] & 0xffff) << 40; > output[0] -= output[4]; > > > output[1] += output[0] >> 56; > out[0] = output[0] & 0x00ffffffffffffff; > > output[2] += output[1] >> 56; > > out[1] = output[1] & 0x00ffffffffffffff; > output[3] += output[2] >> 56; > > out[2] = output[2] & 0x00ffffffffffffff; > > > > > out[3] = output[3]; > } > >static void felem_square_reduce(felem out, const felem in) > { > widefelem tmp; > felem_square(tmp, in); > felem_reduce(out, tmp); > } > >static void felem_mul_reduce(felem out, const felem in1, const felem in2) > { > widefelem tmp; > felem_mul(tmp, in1, in2); > felem_reduce(out, tmp); > } > > > >static void felem_contract(felem out, const felem in) > { > static const int64_t two56 = ((limb) 1) << 56; > > > int64_t tmp[4], a; > tmp[0] = in[0]; > tmp[1] = in[1]; > tmp[2] = in[2]; > tmp[3] = in[3]; > > a = (in[3] >> 56); > tmp[0] -= a; > tmp[1] += a << 40; > tmp[3] &= 0x00ffffffffffffff; > > > a = ((in[3] & in[2] & (in[1] | 0x000000ffffffffff)) + 1) | > (((int64_t)(in[0] + (in[1] & 0x000000ffffffffff)) - 1) >> 63); > a &= 0x00ffffffffffffff; > > a = (a - 1) >> 63; > > tmp[3] &= a ^ 0xffffffffffffffff; > tmp[2] &= a ^ 0xffffffffffffffff; > tmp[1] &= (a ^ 0xffffffffffffffff) | 0x000000ffffffffff; > tmp[0] -= 1 & a; > > > > a = tmp[0] >> 63; > tmp[0] += two56 & a; > tmp[1] -= 1 & a; > > > tmp[2] += tmp[1] >> 56; > tmp[1] &= 0x00ffffffffffffff; > > tmp[3] += tmp[2] >> 56; > tmp[2] &= 0x00ffffffffffffff; > > > out[0] = tmp[0]; > out[1] = tmp[1]; > out[2] = tmp[2]; > out[3] = tmp[3]; > } > > > > > >static limb felem_is_zero(const felem in) > { > limb zero, two224m96p1, two225m97p2; > > zero = in[0] | in[1] | in[2] | in[3]; > zero = (((int64_t)(zero) - 1) >> 63) & 1; > two224m96p1 = (in[0] ^ 1) | (in[1] ^ 0x00ffff0000000000) > | (in[2] ^ 0x00ffffffffffffff) | (in[3] ^ 0x00ffffffffffffff); > two224m96p1 = (((int64_t)(two224m96p1) - 1) >> 63) & 1; > two225m97p2 = (in[0] ^ 2) | (in[1] ^ 0x00fffe0000000000) > | (in[2] ^ 0x00ffffffffffffff) | (in[3] ^ 0x01ffffffffffffff); > two225m97p2 = (((int64_t)(two225m97p2) - 1) >> 63) & 1; > return (zero | two224m96p1 | two225m97p2); > } > >static limb felem_is_zero_int(const felem in) > { > return (int) (felem_is_zero(in) & ((limb)1)); > } > > > >static void felem_inv(felem out, const felem in) > { > felem ftmp, ftmp2, ftmp3, ftmp4; > widefelem tmp; > unsigned i; > > felem_square(tmp, in); felem_reduce(ftmp, tmp); > felem_mul(tmp, in, ftmp); felem_reduce(ftmp, tmp); > felem_square(tmp, ftmp); felem_reduce(ftmp, tmp); > felem_mul(tmp, in, ftmp); felem_reduce(ftmp, tmp); > felem_square(tmp, ftmp); felem_reduce(ftmp2, tmp); > felem_square(tmp, ftmp2); felem_reduce(ftmp2, tmp); > felem_square(tmp, ftmp2); felem_reduce(ftmp2, tmp); > felem_mul(tmp, ftmp2, ftmp); felem_reduce(ftmp, tmp); > felem_square(tmp, ftmp); felem_reduce(ftmp2, tmp); > for (i = 0; i < 5; ++i) > { > felem_square(tmp, ftmp2); felem_reduce(ftmp2, tmp); > } > felem_mul(tmp, ftmp2, ftmp); felem_reduce(ftmp2, tmp); > felem_square(tmp, ftmp2); felem_reduce(ftmp3, tmp); > for (i = 0; i < 11; ++i) > { > felem_square(tmp, ftmp3); felem_reduce(ftmp3, tmp); > } > felem_mul(tmp, ftmp3, ftmp2); felem_reduce(ftmp2, tmp); > felem_square(tmp, ftmp2); felem_reduce(ftmp3, tmp); > for (i = 0; i < 23; ++i) > { > felem_square(tmp, ftmp3); felem_reduce(ftmp3, tmp); > } > felem_mul(tmp, ftmp3, ftmp2); felem_reduce(ftmp3, tmp); > felem_square(tmp, ftmp3); felem_reduce(ftmp4, tmp); > for (i = 0; i < 47; ++i) > { > felem_square(tmp, ftmp4); felem_reduce(ftmp4, tmp); > } > felem_mul(tmp, ftmp3, ftmp4); felem_reduce(ftmp3, tmp); > felem_square(tmp, ftmp3); felem_reduce(ftmp4, tmp); > for (i = 0; i < 23; ++i) > { > felem_square(tmp, ftmp4); felem_reduce(ftmp4, tmp); > } > felem_mul(tmp, ftmp2, ftmp4); felem_reduce(ftmp2, tmp); > for (i = 0; i < 6; ++i) > { > felem_square(tmp, ftmp2); felem_reduce(ftmp2, tmp); > } > felem_mul(tmp, ftmp2, ftmp); felem_reduce(ftmp, tmp); > felem_square(tmp, ftmp); felem_reduce(ftmp, tmp); > felem_mul(tmp, ftmp, in); felem_reduce(ftmp, tmp); > for (i = 0; i < 97; ++i) > { > felem_square(tmp, ftmp); felem_reduce(ftmp, tmp); > } > felem_mul(tmp, ftmp, ftmp3); felem_reduce(out, tmp); > } > > > > >static void >copy_conditional(felem out, const felem in, limb icopy) > { > unsigned i; > > const limb copy = -icopy; > for (i = 0; i < 4; ++i) > { > const limb tmp = copy & (in[i] ^ out[i]); > out[i] ^= tmp; > } > } ># 767 "ecp_nistp224.c" >static void >point_double(felem x_out, felem y_out, felem z_out, > const felem x_in, const felem y_in, const felem z_in) > { > widefelem tmp, tmp2; > felem delta, gamma, beta, alpha, ftmp, ftmp2; > > felem_assign(ftmp, x_in); > felem_assign(ftmp2, x_in); > > > felem_square(tmp, z_in); > felem_reduce(delta, tmp); > > > felem_square(tmp, y_in); > felem_reduce(gamma, tmp); > > > felem_mul(tmp, x_in, gamma); > felem_reduce(beta, tmp); > > > felem_diff(ftmp, delta); > > felem_sum(ftmp2, delta); > > felem_scalar(ftmp2, 3); > > felem_mul(tmp, ftmp, ftmp2); > > felem_reduce(alpha, tmp); > > > felem_square(tmp, alpha); > > felem_assign(ftmp, beta); > felem_scalar(ftmp, 8); > > felem_diff_128_64(tmp, ftmp); > > felem_reduce(x_out, tmp); > > > felem_sum(delta, gamma); > > felem_assign(ftmp, y_in); > felem_sum(ftmp, z_in); > > felem_square(tmp, ftmp); > > felem_diff_128_64(tmp, delta); > > felem_reduce(z_out, tmp); > > > felem_scalar(beta, 4); > > felem_diff(beta, x_out); > > felem_mul(tmp, alpha, beta); > > felem_square(tmp2, gamma); > > widefelem_scalar(tmp2, 8); > > widefelem_diff(tmp, tmp2); > > felem_reduce(y_out, tmp); > } ># 854 "ecp_nistp224.c" >static void point_add(felem x3, felem y3, felem z3, > const felem x1, const felem y1, const felem z1, > const int mixed, const felem x2, const felem y2, const felem z2) > { > felem ftmp, ftmp2, ftmp3, ftmp4, ftmp5, x_out, y_out, z_out; > widefelem tmp, tmp2; > limb z1_is_zero, z2_is_zero, x_equal, y_equal; > > if (!mixed) > { > > felem_square(tmp, z2); > felem_reduce(ftmp2, tmp); > > > felem_mul(tmp, ftmp2, z2); > felem_reduce(ftmp4, tmp); > > > felem_mul(tmp2, ftmp4, y1); > felem_reduce(ftmp4, tmp2); > > > felem_mul(tmp2, ftmp2, x1); > felem_reduce(ftmp2, tmp2); > } > else > { > > > > felem_assign(ftmp4, y1); > > > felem_assign(ftmp2, x1); > } > > > felem_square(tmp, z1); > felem_reduce(ftmp, tmp); > > > felem_mul(tmp, ftmp, z1); > felem_reduce(ftmp3, tmp); > > > felem_mul(tmp, ftmp3, y2); > > > > felem_diff_128_64(tmp, ftmp4); > > felem_reduce(ftmp3, tmp); > > > felem_mul(tmp, ftmp, x2); > > > > felem_diff_128_64(tmp, ftmp2); > > felem_reduce(ftmp, tmp); > > > > x_equal = felem_is_zero(ftmp); > y_equal = felem_is_zero(ftmp3); > z1_is_zero = felem_is_zero(z1); > z2_is_zero = felem_is_zero(z2); > > if (x_equal && y_equal && !z1_is_zero && !z2_is_zero) > { > point_double(x3, y3, z3, x1, y1, z1); > return; > } > > > if (!mixed) > { > felem_mul(tmp, z1, z2); > felem_reduce(ftmp5, tmp); > } > else > { > > felem_assign(ftmp5, z1); > } > > > felem_mul(tmp, ftmp, ftmp5); > felem_reduce(z_out, tmp); > > > felem_assign(ftmp5, ftmp); > felem_square(tmp, ftmp); > felem_reduce(ftmp, tmp); > > > felem_mul(tmp, ftmp, ftmp5); > felem_reduce(ftmp5, tmp); > > > felem_mul(tmp, ftmp2, ftmp); > felem_reduce(ftmp2, tmp); > > > felem_mul(tmp, ftmp4, ftmp5); > > > > felem_square(tmp2, ftmp3); > > > > felem_diff_128_64(tmp2, ftmp5); > > > > felem_assign(ftmp5, ftmp2); > felem_scalar(ftmp5, 2); > > > > > felem_diff_128_64(tmp2, ftmp5); > > felem_reduce(x_out, tmp2); > > > felem_diff(ftmp2, x_out); > > > > felem_mul(tmp2, ftmp3, ftmp2); > > > > > widefelem_diff(tmp2, tmp); > > felem_reduce(y_out, tmp2); > > > > > > copy_conditional(x_out, x2, z1_is_zero); > copy_conditional(x_out, x1, z2_is_zero); > copy_conditional(y_out, y2, z1_is_zero); > copy_conditional(y_out, y1, z2_is_zero); > copy_conditional(z_out, z2, z1_is_zero); > copy_conditional(z_out, z1, z2_is_zero); > felem_assign(x3, x_out); > felem_assign(y3, y_out); > felem_assign(z3, z_out); > } > > > >static void select_point(const u64 idx, unsigned int size, const felem pre_comp[ ][3], felem out[3]) > { > unsigned i, j; > limb *outlimbs = &out[0][0]; > memset(outlimbs, 0, 3 * sizeof(felem)); > > for (i = 0; i < size; i++) > { > const limb *inlimbs = &pre_comp[i][0][0]; > u64 mask = i ^ idx; > mask |= mask >> 4; > mask |= mask >> 2; > mask |= mask >> 1; > mask &= 1; > mask--; > for (j = 0; j < 4 * 3; j++) > outlimbs[j] |= inlimbs[j] & mask; > } > } > > >static char get_bit(const felem_bytearray in, unsigned i) > { > if (i >= 224) > return 0; > return (in[i >> 3] >> (i & 7)) & 1; > } > > > > > > >static void batch_mul(felem x_out, felem y_out, felem z_out, > const felem_bytearray scalars[], const unsigned num_points, const u8 *g_scalar, > const int mixed, const felem pre_comp[][17][3], const felem g_pre_comp[2][16][3]) > { > int i, skip; > unsigned num; > unsigned gen_mul = (g_scalar != ((void *)0)); > felem nq[3], tmp[4]; > u64 bits; > u8 sign, digit; > > > memset(nq, 0, 3 * sizeof(felem)); > > > > > > skip = 1; > for (i = (num_points ? 220 : 27); i >= 0; --i) > { > > if (!skip) > point_double(nq[0], nq[1], nq[2], nq[0], nq[1], nq[2]); > > > if (gen_mul && (i <= 27)) > { > > bits = get_bit(g_scalar, i + 196) << 3; > bits |= get_bit(g_scalar, i + 140) << 2; > bits |= get_bit(g_scalar, i + 84) << 1; > bits |= get_bit(g_scalar, i + 28); > > select_point(bits, 16, g_pre_comp[1], tmp); > > if (!skip) > { > point_add(nq[0], nq[1], nq[2], > nq[0], nq[1], nq[2], > 1 , tmp[0], tmp[1], tmp[2]); > } > else > { > memcpy(nq, tmp, 3 * sizeof(felem)); > skip = 0; > } > > > bits = get_bit(g_scalar, i + 168) << 3; > bits |= get_bit(g_scalar, i + 112) << 2; > bits |= get_bit(g_scalar, i + 56) << 1; > bits |= get_bit(g_scalar, i); > > select_point(bits, 16, g_pre_comp[0], tmp); > point_add(nq[0], nq[1], nq[2], > nq[0], nq[1], nq[2], > 1 , tmp[0], tmp[1], tmp[2]); > } > > > if (num_points && (i % 5 == 0)) > { > > for (num = 0; num < num_points; ++num) > { > bits = get_bit(scalars[num], i + 4) << 5; > bits |= get_bit(scalars[num], i + 3) << 4; > bits |= get_bit(scalars[num], i + 2) << 3; > bits |= get_bit(scalars[num], i + 1) << 2; > bits |= get_bit(scalars[num], i) << 1; > bits |= get_bit(scalars[num], i - 1); > ec_GFp_nistp_recode_scalar_bits(&sign, &digit, bits); > > > select_point(digit, 17, pre_comp[num], tmp); > felem_neg(tmp[3], tmp[1]); > copy_conditional(tmp[1], tmp[3], sign); > > if (!skip) > { > point_add(nq[0], nq[1], nq[2], > nq[0], nq[1], nq[2], > mixed, tmp[0], tmp[1], tmp[2]); > } > else > { > memcpy(nq, tmp, 3 * sizeof(felem)); > skip = 0; > } > } > } > } > felem_assign(x_out, nq[0]); > felem_assign(y_out, nq[1]); > felem_assign(z_out, nq[2]); > } > > > > > >static NISTP224_PRE_COMP *nistp224_pre_comp_new() > { > NISTP224_PRE_COMP *ret = ((void *)0); > ret = (NISTP224_PRE_COMP *) CRYPTO_malloc((int)sizeof *ret,"ecp_nistp224.c",1151); > if (!ret) > { > ERR_put_error(16,(227),((1|64)),"ecp_nistp224.c",1154); > return ret; > } > memset(ret->g_pre_comp, 0, sizeof(ret->g_pre_comp)); > ret->references = 1; > return ret; > } > >static void *nistp224_pre_comp_dup(void *src_) > { > NISTP224_PRE_COMP *src = src_; > > > CRYPTO_add_lock(&src->references,1,36,"ecp_nistp224.c",1167); > > return src_; > } > >static void nistp224_pre_comp_free(void *pre_) > { > int i; > NISTP224_PRE_COMP *pre = pre_; > > if (!pre) > return; > > i = CRYPTO_add_lock(&pre->references,-1,36,"ecp_nistp224.c",1180); > if (i > 0) > return; > > CRYPTO_free(pre); > } > >static void nistp224_pre_comp_clear_free(void *pre_) > { > int i; > NISTP224_PRE_COMP *pre = pre_; > > if (!pre) > return; > > i = CRYPTO_add_lock(&pre->references,-1,36,"ecp_nistp224.c",1195); > if (i > 0) > return; > > OPENSSL_cleanse(pre, sizeof *pre); > CRYPTO_free(pre); > } > > > > > >int ec_GFp_nistp224_group_init(EC_GROUP *group) > { > int ret; > ret = ec_GFp_simple_group_init(group); > group->a_is_minus3 = 1; > return ret; > } > >int ec_GFp_nistp224_group_set_curve(EC_GROUP *group, const BIGNUM *p, > const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx) > { > int ret = 0; > BN_CTX *new_ctx = ((void *)0); > BIGNUM *curve_p, *curve_a, *curve_b; > > if (ctx == ((void *)0)) > if ((ctx = new_ctx = BN_CTX_new()) == ((void *)0)) return 0; > BN_CTX_start(ctx); > if (((curve_p = BN_CTX_get(ctx)) == ((void *)0)) || > ((curve_a = BN_CTX_get(ctx)) == ((void *)0)) || > ((curve_b = BN_CTX_get(ctx)) == ((void *)0))) goto err; > BN_bin2bn(nistp224_curve_params[0], sizeof(felem_bytearray), curve_p); > BN_bin2bn(nistp224_curve_params[1], sizeof(felem_bytearray), curve_a); > BN_bin2bn(nistp224_curve_params[2], sizeof(felem_bytearray), curve_b); > if ((BN_cmp(curve_p, p)) || (BN_cmp(curve_a, a)) || > (BN_cmp(curve_b, b))) > { > ERR_put_error(16,(225),(145),"ecp_nistp224.c",1235); > > goto err; > } > group->field_mod_func = BN_nist_mod_224; > ret = ec_GFp_simple_group_set_curve(group, p, a, b, ctx); >err: > BN_CTX_end(ctx); > if (new_ctx != ((void *)0)) > BN_CTX_free(new_ctx); > return ret; > } > > > >int ec_GFp_nistp224_point_get_affine_coordinates(const EC_GROUP *group, > const EC_POINT *point, BIGNUM *x, BIGNUM *y, BN_CTX *ctx) > { > felem z1, z2, x_in, y_in, x_out, y_out; > widefelem tmp; > > if (EC_POINT_is_at_infinity(group, point)) > { > ERR_put_error(16,(226),(106),"ecp_nistp224.c",1258); > > return 0; > } > if ((!BN_to_felem(x_in, &point->X)) || (!BN_to_felem(y_in, &point->Y)) || > (!BN_to_felem(z1, &point->Z))) return 0; > felem_inv(z2, z1); > felem_square(tmp, z2); felem_reduce(z1, tmp); > felem_mul(tmp, x_in, z1); felem_reduce(x_in, tmp); > felem_contract(x_out, x_in); > if (x != ((void *)0)) > { > if (!felem_to_BN(x, x_out)) { > ERR_put_error(16,(226),(3),"ecp_nistp224.c",1271); > > return 0; > } > } > felem_mul(tmp, z1, z2); felem_reduce(z1, tmp); > felem_mul(tmp, y_in, z1); felem_reduce(y_in, tmp); > felem_contract(y_out, y_in); > if (y != ((void *)0)) > { > if (!felem_to_BN(y, y_out)) { > ERR_put_error(16,(226),(3),"ecp_nistp224.c",1282); > > return 0; > } > } > return 1; > } > >static void make_points_affine(size_t num, felem points[ ][3], felem tmp_felems[ ]) > { > > > ec_GFp_nistp_points_make_affine_internal( > num, > points, > sizeof(felem), > tmp_felems, > (void (*)(void *)) felem_one, > (int (*)(const void *)) felem_is_zero_int, > (void (*)(void *, const void *)) felem_assign, > (void (*)(void *, const void *)) felem_square_reduce, > (void (*)(void *, const void *, const void *)) felem_mul_reduce, > (void (*)(void *, const void *)) felem_inv, > (void (*)(void *, const void *)) felem_contract); > } > > > >int ec_GFp_nistp224_points_mul(const EC_GROUP *group, EC_POINT *r, > const BIGNUM *scalar, size_t num, const EC_POINT *points[], > const BIGNUM *scalars[], BN_CTX *ctx) > { > int ret = 0; > int j; > unsigned i; > int mixed = 0; > BN_CTX *new_ctx = ((void *)0); > BIGNUM *x, *y, *z, *tmp_scalar; > felem_bytearray g_secret; > felem_bytearray *secrets = ((void *)0); > felem (*pre_comp)[17][3] = ((void *)0); > felem *tmp_felems = ((void *)0); > felem_bytearray tmp; > unsigned num_bytes; > int have_pre_comp = 0; > size_t num_points = num; > felem x_in, y_in, z_in, x_out, y_out, z_out; > NISTP224_PRE_COMP *pre = ((void *)0); > const felem (*g_pre_comp)[16][3] = ((void *)0); > EC_POINT *generator = ((void *)0); > const EC_POINT *p = ((void *)0); > const BIGNUM *p_scalar = ((void *)0); > > if (ctx == ((void *)0)) > if ((ctx = new_ctx = BN_CTX_new()) == ((void *)0)) return 0; > BN_CTX_start(ctx); > if (((x = BN_CTX_get(ctx)) == ((void *)0)) || > ((y = BN_CTX_get(ctx)) == ((void *)0)) || > ((z = BN_CTX_get(ctx)) == ((void *)0)) || > ((tmp_scalar = BN_CTX_get(ctx)) == ((void *)0))) > goto err; > > if (scalar != ((void *)0)) > { > pre = EC_EX_DATA_get_data(group->extra_data, > nistp224_pre_comp_dup, nistp224_pre_comp_free, > nistp224_pre_comp_clear_free); > if (pre) > > g_pre_comp = (const felem (*)[16][3]) pre->g_pre_comp; > else > > g_pre_comp = &gmul[0]; > generator = EC_POINT_new(group); > if (generator == ((void *)0)) > goto err; > > if (!felem_to_BN(x, g_pre_comp[0][1][0]) || > !felem_to_BN(y, g_pre_comp[0][1][1]) || > !felem_to_BN(z, g_pre_comp[0][1][2])) > { > ERR_put_error(16,(228),(3),"ecp_nistp224.c",1362); > goto err; > } > if (!EC_POINT_set_Jprojective_coordinates_GFp(group, > generator, x, y, z, ctx)) > goto err; > if (0 == EC_POINT_cmp(group, generator, group->generator, ctx)) > > have_pre_comp = 1; > else > > > num_points = num_points + 1; > } > > if (num_points > 0) > { > if (num_points >= 3) > { > > > mixed = 1; > } > secrets = CRYPTO_malloc((int)num_points * sizeof(felem_bytearray),"ecp_nistp224.c",1385); > pre_comp = CRYPTO_malloc((int)num_points * 17 * 3 * sizeof(felem),"ecp_nistp224.c",1386); > if (mixed) > tmp_felems = CRYPTO_malloc((int)(num_points * 17 + 1) * sizeof(felem),"ecp_nistp224.c",1388); > if ((secrets == ((void *)0)) || (pre_comp == ((void *)0)) || (mixed && (tmp_felems == ((void *)0)))) > { > ERR_put_error(16,(228),((1|64)),"ecp_nistp224.c",1391); > goto err; > } > > > > memset(secrets, 0, num_points * sizeof(felem_bytearray)); > memset(pre_comp, 0, num_points * 17 * 3 * sizeof(felem)); > for (i = 0; i < num_points; ++i) > { > if (i == num) > > { > p = EC_GROUP_get0_generator(group); > p_scalar = scalar; > } > else > > { > p = points[i]; > p_scalar = scalars[i]; > } > if ((p_scalar != ((void *)0)) && (p != ((void *)0))) > { > > if ((BN_num_bits(p_scalar) > 224) || (((p_scalar)->neg != 0))) > { > > > if (!BN_nnmod(tmp_scalar, p_scalar, &group->order, ctx)) > { > ERR_put_error(16,(228),(3),"ecp_nistp224.c",1422); > goto err; > } > num_bytes = BN_bn2bin(tmp_scalar, tmp); > } > else > num_bytes = BN_bn2bin(p_scalar, tmp); > flip_endian(secrets[i], tmp, num_bytes); > > if ((!BN_to_felem(x_out, &p->X)) || > (!BN_to_felem(y_out, &p->Y)) || > (!BN_to_felem(z_out, &p->Z))) goto err; > felem_assign(pre_comp[i][1][0], x_out); > felem_assign(pre_comp[i][1][1], y_out); > felem_assign(pre_comp[i][1][2], z_out); > for (j = 2; j <= 16; ++j) > { > if (j & 1) > { > point_add( > pre_comp[i][j][0], pre_comp[i][j][1], pre_comp[i][j][2], > pre_comp[i][1][0], pre_comp[i][1][1], pre_comp[i][1][2], > 0, pre_comp[i][j-1][0], pre_comp[i][j-1][1], pre_comp[i][j-1][2]); > } > else > { > point_double( > pre_comp[i][j][0], pre_comp[i][j][1], pre_comp[i][j][2], > pre_comp[i][j/2][0], pre_comp[i][j/2][1], pre_comp[i][j/2][2]); > } > } > } > } > if (mixed) > make_points_affine(num_points * 17, pre_comp[0], tmp_felems); > } > > > if ((scalar != ((void *)0)) && (have_pre_comp)) > { > memset(g_secret, 0, sizeof g_secret); > > if ((BN_num_bits(scalar) > 224) || (((scalar)->neg != 0))) > { > > > if (!BN_nnmod(tmp_scalar, scalar, &group->order, ctx)) > { > ERR_put_error(16,(228),(3),"ecp_nistp224.c",1470); > goto err; > } > num_bytes = BN_bn2bin(tmp_scalar, tmp); > } > else > num_bytes = BN_bn2bin(scalar, tmp); > flip_endian(g_secret, tmp, num_bytes); > > batch_mul(x_out, y_out, z_out, > (const felem_bytearray (*)) secrets, num_points, > g_secret, > mixed, (const felem (*)[17][3]) pre_comp, > g_pre_comp); > } > else > > batch_mul(x_out, y_out, z_out, > (const felem_bytearray (*)) secrets, num_points, > ((void *)0), mixed, (const felem (*)[17][3]) pre_comp, ((void *)0)); > > felem_contract(x_in, x_out); > felem_contract(y_in, y_out); > felem_contract(z_in, z_out); > if ((!felem_to_BN(x, x_in)) || (!felem_to_BN(y, y_in)) || > (!felem_to_BN(z, z_in))) > { > ERR_put_error(16,(228),(3),"ecp_nistp224.c",1497); > goto err; > } > ret = EC_POINT_set_Jprojective_coordinates_GFp(group, r, x, y, z, ctx); > >err: > BN_CTX_end(ctx); > if (generator != ((void *)0)) > EC_POINT_free(generator); > if (new_ctx != ((void *)0)) > BN_CTX_free(new_ctx); > if (secrets != ((void *)0)) > CRYPTO_free(secrets); > if (pre_comp != ((void *)0)) > CRYPTO_free(pre_comp); > if (tmp_felems != ((void *)0)) > CRYPTO_free(tmp_felems); > return ret; > } > >int ec_GFp_nistp224_precompute_mult(EC_GROUP *group, BN_CTX *ctx) > { > int ret = 0; > NISTP224_PRE_COMP *pre = ((void *)0); > int i, j; > BN_CTX *new_ctx = ((void *)0); > BIGNUM *x, *y; > EC_POINT *generator = ((void *)0); > felem tmp_felems[32]; > > > EC_EX_DATA_free_data(&group->extra_data, nistp224_pre_comp_dup, > nistp224_pre_comp_free, nistp224_pre_comp_clear_free); > if (ctx == ((void *)0)) > if ((ctx = new_ctx = BN_CTX_new()) == ((void *)0)) return 0; > BN_CTX_start(ctx); > if (((x = BN_CTX_get(ctx)) == ((void *)0)) || > ((y = BN_CTX_get(ctx)) == ((void *)0))) > goto err; > > if (group->generator == ((void *)0)) goto err; > generator = EC_POINT_new(group); > if (generator == ((void *)0)) > goto err; > BN_bin2bn(nistp224_curve_params[3], sizeof (felem_bytearray), x); > BN_bin2bn(nistp224_curve_params[4], sizeof (felem_bytearray), y); > if (!EC_POINT_set_affine_coordinates_GFp(group, generator, x, y, ctx)) > goto err; > if ((pre = nistp224_pre_comp_new()) == ((void *)0)) > goto err; > > if (0 == EC_POINT_cmp(group, generator, group->generator, ctx)) > { > memcpy(pre->g_pre_comp, gmul, sizeof(pre->g_pre_comp)); > ret = 1; > goto err; > } > if ((!BN_to_felem(pre->g_pre_comp[0][1][0], &group->generator->X)) || > (!BN_to_felem(pre->g_pre_comp[0][1][1], &group->generator->Y)) || > (!BN_to_felem(pre->g_pre_comp[0][1][2], &group->generator->Z))) > goto err; > > > > for (i = 1; i <= 8; i <<= 1) > { > point_double( > pre->g_pre_comp[1][i][0], pre->g_pre_comp[1][i][1], pre->g_pre_comp[1][i][2], > pre->g_pre_comp[0][i][0], pre->g_pre_comp[0][i][1], pre->g_pre_comp[0][i][2]); > for (j = 0; j < 27; ++j) > { > point_double( > pre->g_pre_comp[1][i][0], pre->g_pre_comp[1][i][1], pre->g_pre_comp[1][i][2], > pre->g_pre_comp[1][i][0], pre->g_pre_comp[1][i][1], pre->g_pre_comp[1][i][2]); > } > if (i == 8) > break; > point_double( > pre->g_pre_comp[0][2*i][0], pre->g_pre_comp[0][2*i][1], pre->g_pre_comp[0][2*i][2], > pre->g_pre_comp[1][i][0], pre->g_pre_comp[1][i][1], pre->g_pre_comp[1][i][2]); > for (j = 0; j < 27; ++j) > { > point_double( > pre->g_pre_comp[0][2*i][0], pre->g_pre_comp[0][2*i][1], pre->g_pre_comp[0][2*i][2], > pre->g_pre_comp[0][2*i][0], pre->g_pre_comp[0][2*i][1], pre->g_pre_comp[0][2*i][2]); > } > } > for (i = 0; i < 2; i++) > { > > memset(pre->g_pre_comp[i][0], 0, sizeof(pre->g_pre_comp[i][0])); > > > point_add( > pre->g_pre_comp[i][6][0], pre->g_pre_comp[i][6][1], > pre->g_pre_comp[i][6][2], pre->g_pre_comp[i][4][0], > pre->g_pre_comp[i][4][1], pre->g_pre_comp[i][4][2], > 0, pre->g_pre_comp[i][2][0], pre->g_pre_comp[i][2][1], > pre->g_pre_comp[i][2][2]); > > point_add( > pre->g_pre_comp[i][10][0], pre->g_pre_comp[i][10][1], > pre->g_pre_comp[i][10][2], pre->g_pre_comp[i][8][0], > pre->g_pre_comp[i][8][1], pre->g_pre_comp[i][8][2], > 0, pre->g_pre_comp[i][2][0], pre->g_pre_comp[i][2][1], > pre->g_pre_comp[i][2][2]); > > point_add( > pre->g_pre_comp[i][12][0], pre->g_pre_comp[i][12][1], > pre->g_pre_comp[i][12][2], pre->g_pre_comp[i][8][0], > pre->g_pre_comp[i][8][1], pre->g_pre_comp[i][8][2], > 0, pre->g_pre_comp[i][4][0], pre->g_pre_comp[i][4][1], > pre->g_pre_comp[i][4][2]); > > point_add( > pre->g_pre_comp[i][14][0], pre->g_pre_comp[i][14][1], > pre->g_pre_comp[i][14][2], pre->g_pre_comp[i][12][0], > pre->g_pre_comp[i][12][1], pre->g_pre_comp[i][12][2], > 0, pre->g_pre_comp[i][2][0], pre->g_pre_comp[i][2][1], > pre->g_pre_comp[i][2][2]); > for (j = 1; j < 8; ++j) > { > > point_add( > pre->g_pre_comp[i][2*j+1][0], pre->g_pre_comp[i][2*j+1][1], > pre->g_pre_comp[i][2*j+1][2], pre->g_pre_comp[i][2*j][0], > pre->g_pre_comp[i][2*j][1], pre->g_pre_comp[i][2*j][2], > 0, pre->g_pre_comp[i][1][0], pre->g_pre_comp[i][1][1], > pre->g_pre_comp[i][1][2]); > } > } > make_points_affine(31, &(pre->g_pre_comp[0][1]), tmp_felems); > > if (!EC_EX_DATA_set_data(&group->extra_data, pre, nistp224_pre_comp_dup, > nistp224_pre_comp_free, nistp224_pre_comp_clear_free)) > goto err; > ret = 1; > pre = ((void *)0); > err: > BN_CTX_end(ctx); > if (generator != ((void *)0)) > EC_POINT_free(generator); > if (new_ctx != ((void *)0)) > BN_CTX_free(new_ctx); > if (pre) > nistp224_pre_comp_free(pre); > return ret; > } > >int ec_GFp_nistp224_have_precompute_mult(const EC_GROUP *group) > { > if (EC_EX_DATA_get_data(group->extra_data, nistp224_pre_comp_dup, > nistp224_pre_comp_free, nistp224_pre_comp_clear_free) > != ((void *)0)) > return 1; > else > return 0; > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 1098843
: 896922