--- /dev/null
+package api_data;
+use strict;
+
+use Data::Dumper;
+use File::Slurp;
+
+# The basic data store for a declaration is a hash holding the following
+# information (let's simply call this structure "declaration"):
+# sym => string (the symbol of the declaration)
+# symcomment=> string (if there's a comment about this symbol) or undef
+# type => string (type definition text, with a '?' where the symbol should be
+# kind => 0 (variable)
+# 1 (function)
+# params => list reference (list of declarations, one for each parameter)
+# [only exists when kind = 1]
+# direction => 0 (input)
+# 1 (output)
+# 2 (input and output)
+# 3 (output or input and output)
+# +4 (guess)
+# [only exists when this symbol is a parameter to a function]
+
+# Constructor
+sub new {
+ my $class = shift;
+ my $self = {};
+ $self->{DECLARATIONS} = {};
+ bless($self, $class);
+ return $self;
+}
+
+sub read_declaration_db {
+ my $self = shift;
+ my $declaration_file = shift;
+ my $buf = read_file($declaration_file);
+ $self->{DECLARATIONS} = eval $buf;
+ die $@ if $@;
+}
+
+sub write_declaration_db {
+ my $self = shift;
+ my $declaration_file = shift;
+
+ $Data::Dumper::Purity = 1;
+ open FILE,">".$declaration_file ||
+ die "Can't open '$declaration_file': $!\n";
+ print FILE "my ",Data::Dumper->Dump([ $self->{DECLARATIONS} ], [qw(declaration_db)]);
+ close FILE;
+}
+
+sub insert_declaration {
+ my $self = shift;
+ my %decl = @_;
+ my $sym = $decl{sym};
+
+ if ($self->{DECLARATIONS}->{$sym}) {
+ foreach my $k (('sym', 'symcomment','oldsym','objfile','kind')) {
+ $self->{DECLARATIONS}->{$sym}->{$k} = $decl{$k};
+ }
+ if ($self->{DECLARATIONS}->{$sym}->{kind} == 1) {
+ # Replace parameters only if the kind or type has changed
+ my $oldp = $self->{DECLARATIONS}->{$sym}->{params};
+ my $newp = $decl{params};
+ my $l = scalar(@{$oldp});
+ for my $pn (0..($l - 1)) {
+ if ($oldp->[$pn]->{kind} != $newp->[$pn]->{kind}
+ || $oldp->[$pn]->{type} ne $newp->[$pn]->{type}) {
+ $self->{DECLARATIONS}->{$sym}->{params} = $newp;
+ }
+ }
+ }
+ } else {
+ $self->{DECLARATIONS}->{$decl{sym}} = { %decl };
+ }
+}
+
+# Input is a simple C declaration, output is a declaration structure
+sub _parse_declaration {
+ my $decl = shift;
+ my $newname = shift;
+ my $objfile = shift;
+ my $namecomment = shift;
+ my %parsed_decl = ();
+
+ my $debug = 0;
+
+ print "DEBUG: going to parse: $decl\n" if $debug;
+
+ # Start with changing all parens to { and } except the outermost
+ # Within these, convert all commas to semi-colons
+ my $s = "";
+ do {
+ print "DEBUG: decl: $decl\n" if $debug;
+ $s = $decl;
+ if ($decl =~ m/
+ \(
+ ([^\(\)]*)
+ \(
+ ([^\(\)]*)
+ \)
+ /x) {
+ print "DEBUG: \`: $`\n" if $debug;
+ print "DEBUG: 1: $1\n" if $debug;
+ print "DEBUG: 2: $2\n" if $debug;
+ print "DEBUG: \': $'\n" if $debug;
+
+ my $a = "$`"."("."$1";
+ my $b = "{"."$2"."}";
+ my $c = "$'";
+ print "DEBUG: a: $a\n" if $debug;
+ print "DEBUG: b: $b\n" if $debug;
+ print "DEBUG: c: $c\n" if $debug;
+ $b =~ s/,/;/g;
+ print "DEBUG: b: $b\n" if $debug;
+
+ $decl = $a.$b.$c;
+ }
+ } while ($s ne $decl);
+
+ # There are types that we look for. The first is the function pointer
+ # T (*X)(...)
+ if ($decl =~ m/
+ ^\s*
+ ([^\(]+) # Return type of the function pointed at
+ \(
+ \s*\*\s*
+ ([^\)]*) # Function returning or variable holding fn ptr
+ \)
+ \s*
+ \(
+ ([^\)]*) # Parameter for the function pointed at
+ \)
+ \s*$
+ /x) {
+ print "DEBUG: function pointer variable or function\n" if $debug;
+ print "DEBUG: 1: $1\n" if $debug;
+ print "DEBUG: 2: $2\n" if $debug;
+ print "DEBUG: 3: $3\n" if $debug;
+
+ my $tmp1 = $1 . "(*?)" . "(" . $3 . ")";
+ my $tmp2 = $2;
+
+ $tmp1 =~ tr/\{\}\;/(),/; # Convert all braces and semi-colons
+ # back to parens and commas
+
+ $tmp2 =~ tr/\{\}\;/(),/; # Convert all braces and semi-colons
+ # back to parens and commas
+
+ # Parse the symbol part with a fake type. This will determine if
+ # it's a variable or a function.
+ my $subdeclaration = _parse_declaration("int " . $tmp2, $newname);
+ map { $parsed_decl{$_} = $subdeclaration->{$_} } ( "sym",
+ "kind",
+ "params" );
+ $parsed_decl{symcomment} = $namecomment if $namecomment;
+ $parsed_decl{type} = $tmp1;
+ }
+ # If that wasn't it, check for the simple function declaration
+ # T X(...)
+ elsif ($decl =~ m/^\s*(.*?\W)(\w+)\s*\(\s*(.*)\s*\)\s*$/) {
+ print "DEBUG: function\n" if $debug;
+ print "DEBUG: 1: $1\n" if $debug;
+ print "DEBUG: 2: $2\n" if $debug;
+ print "DEBUG: 3: $3\n" if $debug;
+
+ $parsed_decl{kind} = 1;
+ $parsed_decl{type} = $1."?";
+ $parsed_decl{sym} = $newname ? $newname : $2;
+ $parsed_decl{symcomment} = $namecomment if $namecomment;
+ $parsed_decl{oldsym} = $newname ? $2 : undef;
+ $parsed_decl{params} = [
+ map { tr/\{\}\;/(),/; _parse_declaration($_,undef,undef,undef) }
+ grep { !/^\s*void\s*$/ }
+ split(/\s*,\s*/, $3)
+ ];
+ }
+ # If that wasn't it either, try to get a variable
+ # T X or T X[...]
+ elsif ($decl =~ m/^\s*(.*\W)(\w+)(\s*\[.*\])?\s*$/) {
+ print "DEBUG: variable\n" if $debug;
+ print "DEBUG: 1: $1\n" if $debug;
+ print "DEBUG: 2: $2\n" if $debug;
+
+ $parsed_decl{kind} = 0;
+ $parsed_decl{type} = $1."?";
+ $parsed_decl{sym} = $newname ? $newname : $2;
+ $parsed_decl{symcomment} = $namecomment if $namecomment;
+ $parsed_decl{oldsym} = $newname ? $2 : undef;
+ }
+ # Special for the parameter "..."
+ elsif ($decl =~ m/^\s*\.\.\.\s*$/) {
+ %parsed_decl = ( kind => 0, type => "?", sym => "..." );
+ }
+ # Otherwise, we got something weird
+ else {
+ print "Warning: weird declaration: $decl\n";
+ %parsed_decl = ( kind => -1, decl => $decl );
+ }
+ $parsed_decl{objfile} = $objfile;
+
+ print Dumper({ %parsed_decl }) if $debug;
+ return { %parsed_decl };
+}
+
+sub add_declaration {
+ my $self = shift;
+ my $parsed = _parse_declaration(@_);
+ $self->insert_declaration( %{$parsed} );
+}
+
+sub complete_directions {
+ my $self = shift;
+ foreach my $sym (keys %{$self->{DECLARATIONS}}) {
+ if ($self->{DECLARATIONS}->{$sym}->{kind} == 1) {
+ map {
+ if (!$_->{direction} || $_->{direction} =~ m/\?/) {
+ if ($_->{type} =~ m/const/) {
+ $_->{direction} = '->'; # Input
+ } elsif ($_->{sym} =~ m/ctx/ || $_->{type} =~ m/ctx/i) {
+ $_->{direction} = '<-?'; # Guess output
+ } elsif ($_->{type} =~ m/\*/) {
+ if ($_->{type} =~ m/(short|int|char|size_t)/) {
+ $_->{direction} = '<-?'; # Guess output
+ } else {
+ $_->{direction} = '<-? <->?'; # Guess output or input/output
+ }
+ } else {
+ $_->{direction} = '->'; # Input
+ }
+ }
+ } @{$self->{DECLARATIONS}->{$sym}->{params}};
+ }
+ }
+}
+
+sub on_all_declarations {
+ my $self = shift;
+ my $fn = shift;
+ foreach my $sym (sort keys %{$self->{DECLARATIONS}}) {
+ &$fn($self->{DECLARATIONS}->{$sym});
+ }
+}
+
+sub get_function_declaration_strings_from_file {
+ my $fn = shift;
+ my %declarations = ();
+ my $line = "";
+ my $cppline = "";
+
+ my $debug = 0;
+
+ foreach my $headerline (`cat $fn`) {
+ chomp $headerline;
+ print STDERR "DEBUG0: $headerline\n" if $debug;
+ # First, treat the line at a CPP level; remove comments, add on more
+ # lines if there's an ending backslash or an incomplete comment.
+ # If none of that is true, then remove all comments and check if the
+ # line starts with a #, skip if it does, otherwise continue.
+ if ($cppline && $headerline) { $cppline .= " "; }
+ $cppline .= $headerline;
+ $cppline =~ s^\"(.|\\\")*\"^@@^g; # Collapse strings
+ $cppline =~ s^/\*.*?\*/^^g; # Remove all complete comments
+ print STDERR "DEBUG1: $cppline\n" if $debug;
+ if ($cppline =~ m/\\$/) { # Keep on reading if the current line ends
+ # with a backslash
+ $cppline = $`;
+ next;
+ }
+ next if $cppline =~ m/\/\*/; # Keep on reading if there remains the
+ # start of a comment
+ next if $cppline =~ m/"/; # Keep on reading if there remains the
+ # start of a string
+ if ($cppline =~ m/^\#/) {
+ $cppline = "";
+ next;
+ }
+
+ # Done with the preprocessor part, add the resulting line to the
+ # line we're putting together to get a statement.
+ if ($line && $cppline) { $line .= " "; }
+ $line .= $cppline;
+ $cppline = "";
+ $line =~ s%extern\s+\@\@\s+\{%%g; # Remove 'extern "C" {'
+ $line =~ s%\{[^\{\}]*\}%\$\$%g; # Collapse any compound structure
+ print STDERR "DEBUG2: $line\n" if $debug;
+ next if $line =~ m%\{%; # If there is any compound structure start,
+ # we are not quite done reading.
+ $line =~ s%\}%%; # Remove a lonely }, it's probably a rest
+ # from 'extern "C" {'
+ $line =~ s%^\s+%%; # Remove beginning blanks
+ $line =~ s%\s+$%%; # Remove trailing blanks
+ $line =~ s%\s+% %g; # Collapse multiple blanks to one.
+ if ($line =~ m/;/) {
+ print STDERR "DEBUG3: $`\n" if $debug;
+ my $decl = $`; #`; # (emacs is stupid that way)
+ $line = $'; #'; # (emacs is stupid that way)
+
+ # Find the symbol by taking the declaration and fiddling with it:
+ # (remember, we're just extracting the symbol, so we're allowed
+ # to cheat here ;-))
+ # 1. Remove all paired parenthesies, innermost first. While doing
+ # this, if something like "(* foo)(" is found, this is a
+ # function pointer; change it to "foo("
+ # 2. Remove all paired square parenthesies.
+ # 3. Remove any $$ with surrounding spaces.
+ # 4. Pick the last word, that's the symbol.
+ my $tmp;
+ my $sym = $decl;
+ print STDERR "DEBUG3.1: $sym\n" if $debug;
+ do {
+ $tmp = $sym;
+ # NOTE: The order of these two is important, and it's also
+ # important not to use the g modifier.
+ $sym =~ s/\(\s*\*\s*(\w+)\s*\)\s*\(/$1(/;
+ $sym =~ s/\([^\(\)]*\)//;
+ print STDERR "DEBUG3.2: $sym\n" if $debug;
+ } while ($tmp ne $sym);
+ do {
+ $tmp = $sym;
+ $sym =~ s/\[[^\[\]]*\]//g;
+ } while ($tmp ne $sym);
+ $sym =~ s/\s*\$\$\s*//g;
+ $sym =~ s/.*[\s\*](\w+)\s*$/$1/;
+ print STDERR "DEBUG4: $sym\n" if $debug;
+ if ($sym =~ m/\W/) {
+ print STDERR "Warning[$fn]: didn't find proper symbol in declaration:\n";
+ print STDERR " decl: $decl\n";
+ print STDERR " sym: $sym\n";
+ }
+ $declarations{$sym} = $decl;
+ }
+ }
+ return %declarations;
+}
+
+1;
--- /dev/null
+my $declaration_db = {
+ '' => {
+ 'objfile' => './fips/fipscanister.[o|c]',
+ 'kind' => -1,
+ 'decl' => undef,
+ 'sym' => undef,
+ 'oldsym' => undef
+ },
+ 'FIPS_rand_strength' => {
+ 'params' => [],
+ 'objfile' => './fips/rand/fips_rand_lib.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => undef,
+ 'sym' => 'FIPS_rand_strength',
+ 'type' => 'int ?',
+ 'oldsym' => 'FIPS_rand_strength'
+ },
+ 'FIPS_selftest' => {
+ 'params' => [],
+ 'objfile' => './fips/fips_post.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => undef,
+ 'sym' => 'FIPS_selftest',
+ 'type' => 'int ?',
+ 'oldsym' => 'FIPS_selftest'
+ },
+ 'FIPS_ec_group_set_asn1_flag' => {
+ 'params' => [
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'group',
+ 'type' => 'EC_GROUP *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'flag',
+ 'type' => 'int ?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/ec/ec_lib.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames EC_GROUP_set_asn1_flag)',
+ 'sym' => 'FIPS_ec_group_set_asn1_flag',
+ 'type' => 'void ?',
+ 'oldsym' => 'EC_GROUP_set_asn1_flag'
+ },
+ 'FIPS_drbg_reseed' => {
+ 'params' => [
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'dctx',
+ 'type' => 'DRBG_CTX *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'adin',
+ 'type' => 'const unsigned char *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'adinlen',
+ 'type' => 'size_t ?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './fips/rand/fips_drbg_lib.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => undef,
+ 'sym' => 'FIPS_drbg_reseed',
+ 'type' => 'int ?',
+ 'oldsym' => 'FIPS_drbg_reseed'
+ },
+ 'FIPS_evp_aes_256_ofb' => {
+ 'params' => [],
+ 'objfile' => './crypto/evp/e_aes.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames EVP_aes_256_ofb)',
+ 'sym' => 'FIPS_evp_aes_256_ofb',
+ 'type' => 'const EVP_CIPHER *?',
+ 'oldsym' => 'EVP_aes_256_ofb'
+ },
+ 'FIPS_evp_aes_256_ecb' => {
+ 'params' => [],
+ 'objfile' => './crypto/evp/e_aes.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames EVP_aes_256_ecb)',
+ 'sym' => 'FIPS_evp_aes_256_ecb',
+ 'type' => 'const EVP_CIPHER *?',
+ 'oldsym' => 'EVP_aes_256_ecb'
+ },
+ 'FIPS_rsa_new' => {
+ 'params' => [],
+ 'objfile' => './fips/rsa/fips_rsa_lib.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => undef,
+ 'sym' => 'FIPS_rsa_new',
+ 'type' => 'struct rsa_st *?',
+ 'oldsym' => 'FIPS_rsa_new'
+ },
+ 'FIPS_x931_reset' => {
+ 'params' => [],
+ 'objfile' => './fips/rand/fips_rand.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => undef,
+ 'sym' => 'FIPS_x931_reset',
+ 'type' => 'void ?',
+ 'oldsym' => 'FIPS_x931_reset'
+ },
+ 'FIPS_set_malloc_callbacks' => {
+ 'params' => [
+ {
+ 'direction' => '->',
+ 'params' => undef,
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'malloc_cb',
+ 'type' => 'void *(*?)(int num, const char *file, int line)'
+ },
+ {
+ 'direction' => '<-? <->?',
+ 'params' => undef,
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'free_cb',
+ 'type' => 'void (*?)(void *)'
+ }
+ ],
+ 'objfile' => './fips/utl/fips_mem.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => undef,
+ 'sym' => 'FIPS_set_malloc_callbacks',
+ 'type' => 'void ?',
+ 'oldsym' => 'FIPS_set_malloc_callbacks'
+ },
+ 'FIPS_digest' => {
+ 'objfile' => './fips/utl/fips_md.[o|c]',
+ 'params' => [
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'data',
+ 'type' => 'const void *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'count',
+ 'type' => 'size_t ?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'md',
+ 'type' => 'unsigned char *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'size',
+ 'type' => 'unsigned int *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'type',
+ 'type' => 'const EVP_MD *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'impl',
+ 'type' => 'ENGINE *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'kind' => 1,
+ 'symcomment' => '(reimplements EVP_Digest)',
+ 'sym' => 'FIPS_digest',
+ 'oldsym' => 'EVP_Digest',
+ 'type' => '__owur int ?'
+ },
+ 'FIPS_evp_aes_128_ctr' => {
+ 'params' => [],
+ 'objfile' => './crypto/evp/e_aes.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames EVP_aes_128_ctr)',
+ 'sym' => 'FIPS_evp_aes_128_ctr',
+ 'type' => 'const EVP_CIPHER *?',
+ 'oldsym' => 'EVP_aes_128_ctr'
+ },
+ 'FIPS_rsa_flags' => {
+ 'params' => [
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'r',
+ 'type' => 'const RSA *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/rsa/rsa_crpt.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames RSA_flags)',
+ 'sym' => 'FIPS_rsa_flags',
+ 'type' => 'int ?',
+ 'oldsym' => 'RSA_flags'
+ },
+ 'FIPS_set_error_callbacks' => {
+ 'params' => [
+ {
+ 'direction' => '->',
+ 'params' => undef,
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'put_cb',
+ 'type' => 'void (*?)(int lib, int func,int reason,const char *file,int line)'
+ },
+ {
+ 'direction' => '<-?',
+ 'params' => undef,
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'add_cb',
+ 'type' => 'void (*?)(int num, va_list args)'
+ }
+ ],
+ 'objfile' => './fips/utl/fips_err.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => undef,
+ 'sym' => 'FIPS_set_error_callbacks',
+ 'type' => 'void ?',
+ 'oldsym' => 'FIPS_set_error_callbacks'
+ },
+ 'FIPS_rsa_private_encrypt' => {
+ 'params' => [
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'flen',
+ 'type' => 'int ?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'from',
+ 'type' => 'const unsigned char *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'to',
+ 'type' => 'unsigned char *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'rsa',
+ 'type' => 'RSA *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'padding',
+ 'type' => 'int ?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/rsa/rsa_crpt.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames RSA_private_encrypt)',
+ 'sym' => 'FIPS_rsa_private_encrypt',
+ 'type' => 'int ?',
+ 'oldsym' => 'RSA_private_encrypt'
+ },
+ 'FIPS_x931_method' => {
+ 'params' => [],
+ 'objfile' => './fips/rand/fips_rand.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => undef,
+ 'sym' => 'FIPS_x931_method',
+ 'type' => 'const RAND_METHOD *?',
+ 'oldsym' => 'FIPS_x931_method'
+ },
+ 'FIPS_bn_pseudo_rand_range' => {
+ 'params' => [
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'rnd',
+ 'type' => 'BIGNUM *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'range',
+ 'type' => 'const BIGNUM *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/bn/bn_rand.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames BN_pseudo_rand_range)',
+ 'sym' => 'FIPS_bn_pseudo_rand_range',
+ 'type' => 'int ?',
+ 'oldsym' => 'BN_pseudo_rand_range'
+ },
+ 'FIPS_evp_aes_128_gcm' => {
+ 'params' => [],
+ 'objfile' => './crypto/evp/e_aes.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames EVP_aes_128_gcm)',
+ 'sym' => 'FIPS_evp_aes_128_gcm',
+ 'type' => 'const EVP_CIPHER *?',
+ 'oldsym' => 'EVP_aes_128_gcm'
+ },
+ 'FIPS_evp_aes_192_cbc' => {
+ 'params' => [],
+ 'objfile' => './crypto/evp/e_aes.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames EVP_aes_192_cbc)',
+ 'sym' => 'FIPS_evp_aes_192_cbc',
+ 'type' => 'const EVP_CIPHER *?',
+ 'oldsym' => 'EVP_aes_192_cbc'
+ },
+ 'FIPS_evp_ecdsa' => {
+ 'params' => [],
+ 'objfile' => './crypto/evp/m_ecdsa.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames EVP_ecdsa)',
+ 'sym' => 'FIPS_evp_ecdsa',
+ 'type' => 'const EVP_MD *?',
+ 'oldsym' => 'EVP_ecdsa'
+ },
+ 'FIPS_crypto_set_id_callback' => {
+ 'params' => [
+ {
+ 'direction' => '<-? <->?',
+ 'params' => undef,
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'func',
+ 'type' => 'unsigned long (*?)(void)'
+ }
+ ],
+ 'objfile' => './crypto/thr_id.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames CRYPTO_set_id_callback)',
+ 'sym' => 'FIPS_crypto_set_id_callback',
+ 'type' => 'void ?',
+ 'oldsym' => 'CRYPTO_set_id_callback'
+ },
+ 'FIPS_bn_free' => {
+ 'params' => [
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'a',
+ 'type' => 'BIGNUM *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/bn/bn_lib.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames BN_free)',
+ 'sym' => 'FIPS_bn_free',
+ 'type' => 'void ?',
+ 'oldsym' => 'BN_free'
+ },
+ 'FIPS_ec_key_clear_flags' => {
+ 'params' => [
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'key',
+ 'type' => 'EC_KEY *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'flags',
+ 'type' => 'int ?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/ec/ec_key.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames EC_KEY_clear_flags)',
+ 'sym' => 'FIPS_ec_key_clear_flags',
+ 'type' => 'void ?',
+ 'oldsym' => 'EC_KEY_clear_flags'
+ },
+ 'FIPS_cipher_ctx_new' => {
+ 'params' => [],
+ 'objfile' => './fips/utl/fips_enc.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(reimplements EVP_CIPHER_CTX_new)',
+ 'sym' => 'FIPS_cipher_ctx_new',
+ 'type' => 'EVP_CIPHER_CTX *?',
+ 'oldsym' => 'EVP_CIPHER_CTX_new'
+ },
+ 'FIPS_bn_clear' => {
+ 'params' => [
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'a',
+ 'type' => 'BIGNUM *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/bn/bn_lib.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames BN_clear)',
+ 'sym' => 'FIPS_bn_clear',
+ 'type' => 'void ?',
+ 'oldsym' => 'BN_clear'
+ },
+ 'FIPS_dh_compute_key' => {
+ 'params' => [
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'key',
+ 'type' => 'unsigned char *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'pub_key',
+ 'type' => 'const BIGNUM *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'dh',
+ 'type' => 'DH *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/dh/dh_key.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames DH_compute_key)',
+ 'sym' => 'FIPS_dh_compute_key',
+ 'type' => 'int ?',
+ 'oldsym' => 'DH_compute_key'
+ },
+ 'FIPS_evp_des_ede_ecb' => {
+ 'params' => [],
+ 'objfile' => './crypto/evp/e_des3.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames EVP_des_ede_ecb)',
+ 'sym' => 'FIPS_evp_des_ede_ecb',
+ 'type' => 'const EVP_CIPHER *?',
+ 'oldsym' => 'EVP_des_ede_ecb'
+ },
+ 'FIPS_ec_group_method_of' => {
+ 'params' => [
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'group',
+ 'type' => 'const EC_GROUP *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/ec/ec_lib.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames EC_GROUP_method_of)',
+ 'sym' => 'FIPS_ec_group_method_of',
+ 'type' => 'const EC_METHOD *?',
+ 'oldsym' => 'EC_GROUP_method_of'
+ },
+ 'FIPS_ec_key_set_private_key' => {
+ 'params' => [
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'key',
+ 'type' => 'EC_KEY *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'prv',
+ 'type' => 'const BIGNUM *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/ec/ec_key.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames EC_KEY_set_private_key)',
+ 'sym' => 'FIPS_ec_key_set_private_key',
+ 'type' => 'int ?',
+ 'oldsym' => 'EC_KEY_set_private_key'
+ },
+ 'FIPS_ec_key_precompute_mult' => {
+ 'params' => [
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'key',
+ 'type' => 'EC_KEY *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'ctx',
+ 'type' => 'BN_CTX *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/ec/ec_key.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames EC_KEY_precompute_mult)',
+ 'sym' => 'FIPS_ec_key_precompute_mult',
+ 'type' => 'int ?',
+ 'oldsym' => 'EC_KEY_precompute_mult'
+ },
+ 'FIPS_add_error_data' => {
+ 'params' => [
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'num',
+ 'type' => 'int ?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => '...',
+ 'type' => '?'
+ }
+ ],
+ 'objfile' => './fips/utl/fips_err.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(reimplements ERR_add_error_data)',
+ 'sym' => 'FIPS_add_error_data',
+ 'type' => 'void ?',
+ 'oldsym' => 'ERR_add_error_data'
+ },
+ 'FIPS_drbg_uninstantiate' => {
+ 'params' => [
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'dctx',
+ 'type' => 'DRBG_CTX *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './fips/rand/fips_drbg_lib.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => undef,
+ 'sym' => 'FIPS_drbg_uninstantiate',
+ 'type' => 'int ?',
+ 'oldsym' => 'FIPS_drbg_uninstantiate'
+ },
+ 'FIPS_dh_generate_key' => {
+ 'params' => [
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'dh',
+ 'type' => 'DH *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/dh/dh_key.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames DH_generate_key)',
+ 'sym' => 'FIPS_dh_generate_key',
+ 'type' => 'int ?',
+ 'oldsym' => 'DH_generate_key'
+ },
+ 'FIPS_bn_num_bits_word' => {
+ 'params' => [
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'l',
+ 'type' => 'BN_ULONG ?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/bn/bn_lib.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames BN_num_bits_word)',
+ 'sym' => 'FIPS_bn_num_bits_word',
+ 'type' => 'int ?',
+ 'oldsym' => 'BN_num_bits_word'
+ },
+ 'FIPS_cmac_final' => {
+ 'params' => [
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'ctx',
+ 'type' => 'CMAC_CTX *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'out',
+ 'type' => 'unsigned char *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'poutlen',
+ 'type' => 'size_t *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/cmac/cmac.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames CMAC_Final)',
+ 'sym' => 'FIPS_cmac_final',
+ 'type' => 'int ?',
+ 'oldsym' => 'CMAC_Final'
+ },
+ 'FIPS_bn_set_bit' => {
+ 'params' => [
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'a',
+ 'type' => 'BIGNUM *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'n',
+ 'type' => 'int ?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/bn/bn_lib.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames BN_set_bit)',
+ 'sym' => 'FIPS_bn_set_bit',
+ 'type' => 'int ?',
+ 'oldsym' => 'BN_set_bit'
+ },
+ 'FIPS_selftest_des' => {
+ 'params' => [],
+ 'objfile' => './fips/des/fips_des_selftest.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => undef,
+ 'sym' => 'FIPS_selftest_des',
+ 'type' => 'int ?',
+ 'oldsym' => 'FIPS_selftest_des'
+ },
+ 'FIPS_cipher_ctx_init' => {
+ 'params' => [
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'a',
+ 'type' => 'EVP_CIPHER_CTX *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './fips/utl/fips_enc.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(reimplements EVP_CIPHER_CTX_init)',
+ 'sym' => 'FIPS_cipher_ctx_init',
+ 'type' => 'void ?',
+ 'oldsym' => 'EVP_CIPHER_CTX_init'
+ },
+ 'FIPS_ec_point_get_affine_coordinates_gf2m' => {
+ 'params' => [
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'group',
+ 'type' => 'const EC_GROUP *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'p',
+ 'type' => 'const EC_POINT *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'x',
+ 'type' => 'BIGNUM *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'y',
+ 'type' => 'BIGNUM *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'ctx',
+ 'type' => 'BN_CTX *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/ec/ec_lib.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames EC_POINT_get_affine_coordinates_GF2m)',
+ 'sym' => 'FIPS_ec_point_get_affine_coordinates_gf2m',
+ 'type' => 'int ?',
+ 'oldsym' => 'EC_POINT_get_affine_coordinates_GF2m'
+ },
+ 'FIPS_dh_generate_parameters_ex' => {
+ 'params' => [
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'dh',
+ 'type' => 'DH *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'prime_len',
+ 'type' => 'int ?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'generator',
+ 'type' => 'int ?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'cb',
+ 'type' => 'BN_GENCB *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/dh/dh_gen.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames DH_generate_parameters_ex)',
+ 'sym' => 'FIPS_dh_generate_parameters_ex',
+ 'type' => 'int ?',
+ 'oldsym' => 'DH_generate_parameters_ex'
+ },
+ 'FIPS_evp_aes_256_xts' => {
+ 'params' => [],
+ 'objfile' => './crypto/evp/e_aes.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames EVP_aes_256_xts)',
+ 'sym' => 'FIPS_evp_aes_256_xts',
+ 'type' => 'const EVP_CIPHER *?',
+ 'oldsym' => 'EVP_aes_256_xts'
+ },
+ 'FIPS_drbg_instantiate' => {
+ 'params' => [
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'dctx',
+ 'type' => 'DRBG_CTX *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'pers',
+ 'type' => 'const unsigned char *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'perslen',
+ 'type' => 'size_t ?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './fips/rand/fips_drbg_lib.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => undef,
+ 'sym' => 'FIPS_drbg_instantiate',
+ 'type' => 'int ?',
+ 'oldsym' => 'FIPS_drbg_instantiate'
+ },
+ 'FIPS_dsa_sign_digest' => {
+ 'params' => [
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'dsa',
+ 'type' => 'DSA *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'dig',
+ 'type' => 'const unsigned char *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'dlen',
+ 'type' => 'int ?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './fips/dsa/fips_dsa_sign.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => undef,
+ 'sym' => 'FIPS_dsa_sign_digest',
+ 'type' => 'DSA_SIG * ?',
+ 'oldsym' => 'FIPS_dsa_sign_digest'
+ },
+ 'FIPS_drbg_init' => {
+ 'params' => [
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'dctx',
+ 'type' => 'DRBG_CTX *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'type',
+ 'type' => 'int ?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'flags',
+ 'type' => 'unsigned int ?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './fips/rand/fips_drbg_lib.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => undef,
+ 'sym' => 'FIPS_drbg_init',
+ 'type' => 'int ?',
+ 'oldsym' => 'FIPS_drbg_init'
+ },
+ 'FIPS_x931_seed' => {
+ 'params' => [
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'buf',
+ 'type' => 'const void *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'num',
+ 'type' => 'int ?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './fips/rand/fips_rand.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => undef,
+ 'sym' => 'FIPS_x931_seed',
+ 'type' => 'int ?',
+ 'oldsym' => 'FIPS_x931_seed'
+ },
+ 'FIPS_drbg_set_check_interval' => {
+ 'params' => [
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'dctx',
+ 'type' => 'DRBG_CTX *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'interval',
+ 'type' => 'int ?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './fips/rand/fips_drbg_lib.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => undef,
+ 'sym' => 'FIPS_drbg_set_check_interval',
+ 'type' => 'void ?',
+ 'oldsym' => 'FIPS_drbg_set_check_interval'
+ },
+ 'FIPS_module_mode_set' => {
+ 'params' => [
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'onoff',
+ 'type' => 'int ?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './fips/fips.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => undef,
+ 'sym' => 'FIPS_module_mode_set',
+ 'type' => 'int ?',
+ 'oldsym' => 'FIPS_module_mode_set'
+ },
+ 'FIPS_cipher_ctx_set_key_length' => {
+ 'params' => [
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'x',
+ 'type' => 'EVP_CIPHER_CTX *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'keylen',
+ 'type' => 'int ?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './fips/utl/fips_enc.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(reimplements EVP_CIPHER_CTX_set_key_length)',
+ 'sym' => 'FIPS_cipher_ctx_set_key_length',
+ 'type' => 'int ?',
+ 'oldsym' => 'EVP_CIPHER_CTX_set_key_length'
+ },
+ 'FIPS_rand_set_method' => {
+ 'params' => [
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'meth',
+ 'type' => 'const RAND_METHOD *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './fips/rand/fips_rand_lib.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => undef,
+ 'sym' => 'FIPS_rand_set_method',
+ 'type' => 'int ?',
+ 'oldsym' => 'FIPS_rand_set_method'
+ },
+ 'FIPS_post_set_callback' => {
+ 'params' => [
+ {
+ 'direction' => '<-?',
+ 'params' => undef,
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'post_cb',
+ 'type' => 'int (*?)(int op, int id, int subid, void *ex)'
+ }
+ ],
+ 'objfile' => './fips/fips_post.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => undef,
+ 'sym' => 'FIPS_post_set_callback',
+ 'type' => 'void ?',
+ 'oldsym' => 'FIPS_post_set_callback'
+ },
+ 'FIPS_crypto_threadid_hash' => {
+ 'params' => [
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'id',
+ 'type' => 'const CRYPTO_THREADID *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/thr_id.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames CRYPTO_THREADID_hash)',
+ 'sym' => 'FIPS_crypto_threadid_hash',
+ 'type' => 'unsigned long ?',
+ 'oldsym' => 'CRYPTO_THREADID_hash'
+ },
+ 'FIPS_ecdsa_sig_free' => {
+ 'params' => [
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'sig',
+ 'type' => 'ECDSA_SIG *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './fips/ecdsa/fips_ecdsa_lib.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(reimplements ECDSA_SIG_free)',
+ 'sym' => 'FIPS_ecdsa_sig_free',
+ 'type' => 'void ?',
+ 'oldsym' => 'ECDSA_SIG_free'
+ },
+ 'FIPS_bn_rand' => {
+ 'params' => [
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'rnd',
+ 'type' => 'BIGNUM *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'bits',
+ 'type' => 'int ?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'top',
+ 'type' => 'int ?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'bottom',
+ 'type' => 'int ?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/bn/bn_rand.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames BN_rand)',
+ 'sym' => 'FIPS_bn_rand',
+ 'type' => 'int ?',
+ 'oldsym' => 'BN_rand'
+ },
+ 'FIPS_evp_des_ede3_cfb8' => {
+ 'params' => [],
+ 'objfile' => './crypto/evp/e_des3.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames EVP_des_ede3_cfb8)',
+ 'sym' => 'FIPS_evp_des_ede3_cfb8',
+ 'type' => 'const EVP_CIPHER *?',
+ 'oldsym' => 'EVP_des_ede3_cfb8'
+ },
+ 'FIPS_hmac_final' => {
+ 'params' => [
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'ctx',
+ 'type' => 'HMAC_CTX *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'md',
+ 'type' => 'unsigned char *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'len',
+ 'type' => 'unsigned int *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/hmac/hmac.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames HMAC_Final)',
+ 'sym' => 'FIPS_hmac_final',
+ 'type' => '__owur int ?',
+ 'oldsym' => 'HMAC_Final'
+ },
+ 'FIPS_bn_bn2bin' => {
+ 'params' => [
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'a',
+ 'type' => 'const BIGNUM *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'to',
+ 'type' => 'unsigned char *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/bn/bn_lib.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames BN_bn2bin)',
+ 'sym' => 'FIPS_bn_bn2bin',
+ 'type' => 'int ?',
+ 'oldsym' => 'BN_bn2bin'
+ },
+ 'FIPS_bn_bin2bn' => {
+ 'params' => [
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 's',
+ 'type' => 'const unsigned char *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'len',
+ 'type' => 'int ?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'ret',
+ 'type' => 'BIGNUM *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/bn/bn_lib.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames BN_bin2bn)',
+ 'sym' => 'FIPS_bn_bin2bn',
+ 'type' => 'BIGNUM *?',
+ 'oldsym' => 'BN_bin2bn'
+ },
+ 'FIPS_evp_aes_192_cfb128' => {
+ 'params' => [],
+ 'objfile' => './crypto/evp/e_aes.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames EVP_aes_192_cfb128)',
+ 'sym' => 'FIPS_evp_aes_192_cfb128',
+ 'type' => 'const EVP_CIPHER *?',
+ 'oldsym' => 'EVP_aes_192_cfb128'
+ },
+ 'FIPS_ec_group_set_curve_name' => {
+ 'params' => [
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'group',
+ 'type' => 'EC_GROUP *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'nid',
+ 'type' => 'int ?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/ec/ec_lib.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames EC_GROUP_set_curve_name)',
+ 'sym' => 'FIPS_ec_group_set_curve_name',
+ 'type' => 'void ?',
+ 'oldsym' => 'EC_GROUP_set_curve_name'
+ },
+ 'FIPS_ec_group_new' => {
+ 'params' => [
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'meth',
+ 'type' => 'const EC_METHOD *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/ec/ec_lib.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames EC_GROUP_new)',
+ 'sym' => 'FIPS_ec_group_new',
+ 'type' => 'EC_GROUP *?',
+ 'oldsym' => 'EC_GROUP_new'
+ },
+ 'FIPS_rand_pseudo_bytes' => {
+ 'params' => [
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'buf',
+ 'type' => 'unsigned char *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'num',
+ 'type' => 'int ?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './fips/rand/fips_rand_lib.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(reimplements RAND_pseudo_bytes)',
+ 'sym' => 'FIPS_rand_pseudo_bytes',
+ 'type' => 'int ?',
+ 'oldsym' => 'RAND_pseudo_bytes'
+ },
+ 'FIPS_evp_aes_192_ofb' => {
+ 'params' => [],
+ 'objfile' => './crypto/evp/e_aes.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames EVP_aes_192_ofb)',
+ 'sym' => 'FIPS_evp_aes_192_ofb',
+ 'type' => 'const EVP_CIPHER *?',
+ 'oldsym' => 'EVP_aes_192_ofb'
+ },
+ 'FIPS_selftest_sha1' => {
+ 'params' => [],
+ 'objfile' => './fips/sha/fips_sha1_selftest.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => undef,
+ 'sym' => 'FIPS_selftest_sha1',
+ 'type' => 'int ?',
+ 'oldsym' => 'FIPS_selftest_sha1'
+ },
+ 'FIPS_bn_num_bits' => {
+ 'params' => [
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'a',
+ 'type' => 'const BIGNUM *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/bn/bn_lib.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames BN_num_bits)',
+ 'sym' => 'FIPS_bn_num_bits',
+ 'type' => 'int ?',
+ 'oldsym' => 'BN_num_bits'
+ },
+ 'FIPS_selftest_aes_gcm' => {
+ 'params' => [],
+ 'objfile' => './fips/aes/fips_aes_selftest.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => undef,
+ 'sym' => 'FIPS_selftest_aes_gcm',
+ 'type' => 'int ?',
+ 'oldsym' => 'FIPS_selftest_aes_gcm'
+ },
+ 'FIPS_ecdsa_verify_ctx' => {
+ 'params' => [
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'key',
+ 'type' => 'EC_KEY *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'ctx',
+ 'type' => 'EVP_MD_CTX *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 's',
+ 'type' => 'ECDSA_SIG *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './fips/ecdsa/fips_ecdsa_sign.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => undef,
+ 'sym' => 'FIPS_ecdsa_verify_ctx',
+ 'type' => 'int ?',
+ 'oldsym' => 'FIPS_ecdsa_verify_ctx'
+ },
+ 'FIPS_ec_group_new_curve_gf2m' => {
+ 'params' => [
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'p',
+ 'type' => 'const BIGNUM *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'a',
+ 'type' => 'const BIGNUM *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'b',
+ 'type' => 'const BIGNUM *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'ctx',
+ 'type' => 'BN_CTX *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/ec/ec_cvt.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames EC_GROUP_new_curve_GF2m)',
+ 'sym' => 'FIPS_ec_group_new_curve_gf2m',
+ 'type' => 'EC_GROUP *?',
+ 'oldsym' => 'EC_GROUP_new_curve_GF2m'
+ },
+ 'FIPS_evp_sha224' => {
+ 'params' => [],
+ 'objfile' => './crypto/evp/m_sha1.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames EVP_sha224)',
+ 'sym' => 'FIPS_evp_sha224',
+ 'type' => 'const EVP_MD *?',
+ 'oldsym' => 'EVP_sha224'
+ },
+ 'FIPS_malloc' => {
+ 'params' => [
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'num',
+ 'type' => 'int ?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'file',
+ 'type' => 'const char *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'line',
+ 'type' => 'int ?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './fips/utl/fips_mem.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(reimplements CRYPTO_malloc)',
+ 'sym' => 'FIPS_malloc',
+ 'type' => 'void *?',
+ 'oldsym' => 'CRYPTO_malloc'
+ },
+ 'FIPS_dsa_sig_new' => {
+ 'params' => [],
+ 'objfile' => './fips/dsa/fips_dsa_lib.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(reimplements DSA_SIG_new)',
+ 'sym' => 'FIPS_dsa_sig_new',
+ 'type' => 'DSA_SIG * ?',
+ 'oldsym' => 'DSA_SIG_new'
+ },
+ 'FIPS_evp_aes_192_ctr' => {
+ 'params' => [],
+ 'objfile' => './crypto/evp/e_aes.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames EVP_aes_192_ctr)',
+ 'sym' => 'FIPS_evp_aes_192_ctr',
+ 'type' => 'const EVP_CIPHER *?',
+ 'oldsym' => 'EVP_aes_192_ctr'
+ },
+ 'FIPS_x931_bytes' => {
+ 'params' => [
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'out',
+ 'type' => 'unsigned char *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'outlen',
+ 'type' => 'int ?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './fips/rand/fips_rand.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => undef,
+ 'sym' => 'FIPS_x931_bytes',
+ 'type' => 'int ?',
+ 'oldsym' => 'FIPS_x931_bytes'
+ },
+ 'FIPS_evp_des_ede_cbc' => {
+ 'params' => [],
+ 'objfile' => './crypto/evp/e_des3.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames EVP_des_ede_cbc)',
+ 'sym' => 'FIPS_evp_des_ede_cbc',
+ 'type' => 'const EVP_CIPHER *?',
+ 'oldsym' => 'EVP_des_ede_cbc'
+ },
+ 'FIPS_selftest_aes_ccm' => {
+ 'params' => [],
+ 'objfile' => './fips/aes/fips_aes_selftest.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => undef,
+ 'sym' => 'FIPS_selftest_aes_ccm',
+ 'type' => 'int ?',
+ 'oldsym' => 'FIPS_selftest_aes_ccm'
+ },
+ 'FIPS_md_ctx_destroy' => {
+ 'params' => [
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'ctx',
+ 'type' => 'EVP_MD_CTX *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './fips/utl/fips_md.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(reimplements EVP_MD_CTX_destroy)',
+ 'sym' => 'FIPS_md_ctx_destroy',
+ 'type' => 'void ?',
+ 'oldsym' => 'EVP_MD_CTX_destroy'
+ },
+ 'FIPS_ec_group_get_curve_gf2m' => {
+ 'params' => [
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'group',
+ 'type' => 'const EC_GROUP *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'p',
+ 'type' => 'BIGNUM *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'a',
+ 'type' => 'BIGNUM *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'b',
+ 'type' => 'BIGNUM *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'ctx',
+ 'type' => 'BN_CTX *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/ec/ec_lib.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames EC_GROUP_get_curve_GF2m)',
+ 'sym' => 'FIPS_ec_group_get_curve_gf2m',
+ 'type' => 'int ?',
+ 'oldsym' => 'EC_GROUP_get_curve_GF2m'
+ },
+ 'FIPS_ec_group_get_curve_name' => {
+ 'params' => [
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'group',
+ 'type' => 'const EC_GROUP *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/ec/ec_lib.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames EC_GROUP_get_curve_name)',
+ 'sym' => 'FIPS_ec_group_get_curve_name',
+ 'type' => 'int ?',
+ 'oldsym' => 'EC_GROUP_get_curve_name'
+ },
+ 'FIPS_ec_group_set_curve_gf2m' => {
+ 'params' => [
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'group',
+ 'type' => 'EC_GROUP *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'p',
+ 'type' => 'const BIGNUM *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'a',
+ 'type' => 'const BIGNUM *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'b',
+ 'type' => 'const BIGNUM *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'ctx',
+ 'type' => 'BN_CTX *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/ec/ec_lib.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames EC_GROUP_set_curve_GF2m)',
+ 'sym' => 'FIPS_ec_group_set_curve_gf2m',
+ 'type' => 'int ?',
+ 'oldsym' => 'EC_GROUP_set_curve_GF2m'
+ },
+ 'FIPS_cipher_ctx_copy' => {
+ 'params' => [
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'out',
+ 'type' => 'EVP_CIPHER_CTX *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'in',
+ 'type' => 'const EVP_CIPHER_CTX *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './fips/utl/fips_enc.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(reimplements EVP_CIPHER_CTX_copy)',
+ 'sym' => 'FIPS_cipher_ctx_copy',
+ 'type' => 'int ?',
+ 'oldsym' => 'EVP_CIPHER_CTX_copy'
+ },
+ 'FIPS_drbg_set_rand_callbacks' => {
+ 'params' => [
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'dctx',
+ 'type' => 'DRBG_CTX *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-?',
+ 'params' => undef,
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'get_adin',
+ 'type' => 'size_t (*?)(DRBG_CTX *ctx, unsigned char **pout)'
+ },
+ {
+ 'direction' => '<-?',
+ 'params' => undef,
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'cleanup_adin',
+ 'type' => 'void (*?)(DRBG_CTX *ctx, unsigned char *out, size_t olen)'
+ },
+ {
+ 'direction' => '->',
+ 'params' => undef,
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'rand_seed_cb',
+ 'type' => 'int (*?)(DRBG_CTX *ctx, const void *buf, int num)'
+ },
+ {
+ 'direction' => '->',
+ 'params' => undef,
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'rand_add_cb',
+ 'type' => 'int (*?)(DRBG_CTX *ctx, const void *buf, int num, double entropy)'
+ }
+ ],
+ 'objfile' => './fips/rand/fips_drbg_lib.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => undef,
+ 'sym' => 'FIPS_drbg_set_rand_callbacks',
+ 'type' => 'int ?',
+ 'oldsym' => 'FIPS_drbg_set_rand_callbacks'
+ },
+ 'FIPS_selftest_rsa' => {
+ 'params' => [],
+ 'objfile' => './fips/rsa/fips_rsa_selftest.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => undef,
+ 'sym' => 'FIPS_selftest_rsa',
+ 'type' => 'int ?',
+ 'oldsym' => 'FIPS_selftest_rsa'
+ },
+ 'FIPS_ec_group_get_curve_gfp' => {
+ 'params' => [
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'group',
+ 'type' => 'const EC_GROUP *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'p',
+ 'type' => 'BIGNUM *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'a',
+ 'type' => 'BIGNUM *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'b',
+ 'type' => 'BIGNUM *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'ctx',
+ 'type' => 'BN_CTX *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/ec/ec_lib.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames EC_GROUP_get_curve_GFp)',
+ 'sym' => 'FIPS_ec_group_get_curve_gfp',
+ 'type' => 'int ?',
+ 'oldsym' => 'EC_GROUP_get_curve_GFp'
+ },
+ 'FIPS_bn_rand_range' => {
+ 'params' => [
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'rnd',
+ 'type' => 'BIGNUM *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'range',
+ 'type' => 'const BIGNUM *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/bn/bn_rand.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames BN_rand_range)',
+ 'sym' => 'FIPS_bn_rand_range',
+ 'type' => 'int ?',
+ 'oldsym' => 'BN_rand_range'
+ },
+ 'FIPS_dsa_generate_parameters_ex' => {
+ 'params' => [
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'dsa',
+ 'type' => 'DSA *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'bits',
+ 'type' => 'int ?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'seed',
+ 'type' => 'const unsigned char *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'seed_len',
+ 'type' => 'int ?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'counter_ret',
+ 'type' => 'int *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'h_ret',
+ 'type' => 'unsigned long *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'cb',
+ 'type' => 'BN_GENCB *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/dsa/dsa_gen.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames DSA_generate_parameters_ex)',
+ 'sym' => 'FIPS_dsa_generate_parameters_ex',
+ 'type' => 'int ?',
+ 'oldsym' => 'DSA_generate_parameters_ex'
+ },
+ 'FIPS_rand_get_method' => {
+ 'params' => [],
+ 'objfile' => './fips/rand/fips_rand_lib.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => undef,
+ 'sym' => 'FIPS_rand_get_method',
+ 'type' => 'const RAND_METHOD *?',
+ 'oldsym' => 'FIPS_rand_get_method'
+ },
+ 'FIPS_rsa_x931_generate_key_ex' => {
+ 'params' => [
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'rsa',
+ 'type' => 'RSA *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'bits',
+ 'type' => 'int ?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'e',
+ 'type' => 'const BIGNUM *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'cb',
+ 'type' => 'BN_GENCB *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/rsa/rsa_x931g.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames RSA_X931_generate_key_ex)',
+ 'sym' => 'FIPS_rsa_x931_generate_key_ex',
+ 'type' => 'int ?',
+ 'oldsym' => 'RSA_X931_generate_key_ex'
+ },
+ 'FIPS_ec_key_set_asn1_flag' => {
+ 'params' => [
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'eckey',
+ 'type' => 'EC_KEY *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'asn1_flag',
+ 'type' => 'int ?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/ec/ec_key.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames EC_KEY_set_asn1_flag)',
+ 'sym' => 'FIPS_ec_key_set_asn1_flag',
+ 'type' => 'void ?',
+ 'oldsym' => 'EC_KEY_set_asn1_flag'
+ },
+ 'FIPS_ec_key_free' => {
+ 'params' => [
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'key',
+ 'type' => 'EC_KEY *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/ec/ec_key.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames EC_KEY_free)',
+ 'sym' => 'FIPS_ec_key_free',
+ 'type' => 'void ?',
+ 'oldsym' => 'EC_KEY_free'
+ },
+ 'FIPS_put_error' => {
+ 'params' => [
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'lib',
+ 'type' => 'int ?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'func',
+ 'type' => 'int ?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'reason',
+ 'type' => 'int ?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'file',
+ 'type' => 'const char *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'line',
+ 'type' => 'int ?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './fips/utl/fips_err.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(reimplements ERR_put_error)',
+ 'sym' => 'FIPS_put_error',
+ 'type' => 'void ?',
+ 'oldsym' => 'ERR_put_error'
+ },
+ 'FIPS_get_timevec' => {
+ 'params' => [
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'buf',
+ 'type' => 'unsigned char *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'pctr',
+ 'type' => 'unsigned long *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './fips/rand/fips_rand.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => undef,
+ 'sym' => 'FIPS_get_timevec',
+ 'type' => 'void ?',
+ 'oldsym' => 'FIPS_get_timevec'
+ },
+ 'FIPS_dsa_verify_ctx' => {
+ 'params' => [
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'dsa',
+ 'type' => 'DSA *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'ctx',
+ 'type' => 'EVP_MD_CTX *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 's',
+ 'type' => 'DSA_SIG *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './fips/dsa/fips_dsa_sign.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => undef,
+ 'sym' => 'FIPS_dsa_verify_ctx',
+ 'type' => 'int ?',
+ 'oldsym' => 'FIPS_dsa_verify_ctx'
+ },
+ 'FIPS_cmac_update' => {
+ 'params' => [
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'ctx',
+ 'type' => 'CMAC_CTX *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'data',
+ 'type' => 'const void *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'dlen',
+ 'type' => 'size_t ?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/cmac/cmac.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames CMAC_Update)',
+ 'sym' => 'FIPS_cmac_update',
+ 'type' => 'int ?',
+ 'oldsym' => 'CMAC_Update'
+ },
+ 'FIPS_ec_key_set_flags' => {
+ 'params' => [
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'key',
+ 'type' => 'EC_KEY *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'flags',
+ 'type' => 'int ?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/ec/ec_key.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames EC_KEY_set_flags)',
+ 'sym' => 'FIPS_ec_key_set_flags',
+ 'type' => 'void ?',
+ 'oldsym' => 'EC_KEY_set_flags'
+ },
+ 'FIPS_set_locking_callbacks' => {
+ 'params' => [
+ {
+ 'direction' => '->',
+ 'params' => undef,
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'func',
+ 'type' => 'void (*?)(int mode, int type, const char *file,int line)'
+ },
+ {
+ 'direction' => '->',
+ 'params' => undef,
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'add_cb',
+ 'type' => 'int (*?)(int *pointer, int amount, int type, const char *file, int line)'
+ }
+ ],
+ 'objfile' => './fips/utl/fips_lck.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => undef,
+ 'sym' => 'FIPS_set_locking_callbacks',
+ 'type' => 'void ?',
+ 'oldsym' => 'FIPS_set_locking_callbacks'
+ },
+ 'FIPS_crypto_threadid_get_callback' => {
+ 'params' => [],
+ 'objfile' => './crypto/thr_id.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames CRYPTO_THREADID_get_callback)',
+ 'sym' => 'FIPS_crypto_threadid_get_callback',
+ 'type' => 'void (*?)(CRYPTO_THREADID *)',
+ 'oldsym' => undef
+ },
+ 'FIPS_ec_key_up_ref' => {
+ 'params' => [
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'key',
+ 'type' => 'EC_KEY *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/ec/ec_key.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames EC_KEY_up_ref)',
+ 'sym' => 'FIPS_ec_key_up_ref',
+ 'type' => 'int ?',
+ 'oldsym' => 'EC_KEY_up_ref'
+ },
+ 'FIPS_evp_sha1' => {
+ 'params' => [],
+ 'objfile' => './crypto/evp/m_sha1.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames EVP_sha1)',
+ 'sym' => 'FIPS_evp_sha1',
+ 'type' => 'const EVP_MD *?',
+ 'oldsym' => 'EVP_sha1'
+ },
+ 'FIPS_hmac_ctx_copy' => {
+ 'params' => [
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'dctx',
+ 'type' => 'HMAC_CTX *?',
+ 'oldsym' => undef
+ },
+ {
+ 'direction' => '<-?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'sctx',
+ 'type' => 'HMAC_CTX *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/hmac/hmac.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames HMAC_CTX_copy)',
+ 'sym' => 'FIPS_hmac_ctx_copy',
+ 'type' => '__owur int ?',
+ 'oldsym' => 'HMAC_CTX_copy'
+ },
+ 'FIPS_rsa_free' => {
+ 'params' => [
+ {
+ 'direction' => '<-? <->?',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'r',
+ 'type' => 'struct rsa_st *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './fips/rsa/fips_rsa_lib.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => undef,
+ 'sym' => 'FIPS_rsa_free',
+ 'type' => 'void ?',
+ 'oldsym' => 'FIPS_rsa_free'
+ },
+ 'FIPS_ecdh_openssl' => {
+ 'params' => [],
+ 'objfile' => './crypto/ecdh/ech_ossl.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames ECDH_OpenSSL)',
+ 'sym' => 'FIPS_ecdh_openssl',
+ 'type' => 'const ECDH_METHOD *?',
+ 'oldsym' => 'ECDH_OpenSSL'
+ },
+ 'FIPS_bn_get_word' => {
+ 'params' => [
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ 'kind' => 0,
+ 'sym' => 'a',
+ 'type' => 'const BIGNUM *?',
+ 'oldsym' => undef
+ }
+ ],
+ 'objfile' => './crypto/bn/bn_lib.[o|c]',
+ 'kind' => 1,
+ 'symcomment' => '(renames BN_get_word)',
+ 'sym' => 'FIPS_bn_get_word',
+ 'type' => 'BN_ULONG ?',
+ 'oldsym' => 'BN_get_word'
+ },
+ 'FIPS_ec_point_get_affine_coordinates_gfp' => {
+ 'params' => [
+ {
+ 'direction' => '->',
+ 'objfile' => undef,
+ &n