LCOV - code coverage report
Current view: top level - src - visibility.c (source / functions) Hit Total Coverage
Test: coverage.info Lines: 375 601 62.4 %
Date: 2015-11-05 17:08:00 Functions: 140 203 69.0 %

          Line data    Source code
       1             : /* visibility.c - Wrapper for all public functions.
       2             :  * Copyright (C) 2007, 2008, 2011  Free Software Foundation, Inc.
       3             :  * Copyright (C) 2013  g10 Code GmbH
       4             :  *
       5             :  * This file is part of Libgcrypt.
       6             :  *
       7             :  * Libgcrypt is free software; you can redistribute it and/or modify
       8             :  * it under the terms of the GNU Lesser General Public License as
       9             :  * published by the Free Software Foundation; either version 2.1 of
      10             :  * the License, or (at your option) any later version.
      11             :  *
      12             :  * Libgcrypt is distributed in the hope that it will be useful,
      13             :  * but WITHOUT ANY WARRANTY; without even the implied warranty of
      14             :  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      15             :  * GNU Lesser General Public License for more details.
      16             :  *
      17             :  * You should have received a copy of the GNU Lesser General Public
      18             :  * License along with this program; if not, see <http://www.gnu.org/licenses/>.
      19             :  */
      20             : 
      21             : #include <config.h>
      22             : #include <stdarg.h>
      23             : 
      24             : #define _GCRY_INCLUDED_BY_VISIBILITY_C
      25             : #include "g10lib.h"
      26             : #include "cipher-proto.h"
      27             : #include "context.h"
      28             : #include "mpi.h"
      29             : 
      30             : const char *
      31           0 : gcry_strerror (gcry_error_t err)
      32             : {
      33           0 :   return _gcry_strerror (err);
      34             : }
      35             : 
      36             : const char *
      37           0 : gcry_strsource (gcry_error_t err)
      38             : {
      39           0 :   return _gcry_strsource (err);
      40             : }
      41             : 
      42             : gcry_err_code_t
      43           0 : gcry_err_code_from_errno (int err)
      44             : {
      45           0 :   return _gcry_err_code_from_errno (err);
      46             : }
      47             : 
      48             : int
      49           0 : gcry_err_code_to_errno (gcry_err_code_t code)
      50             : {
      51           0 :   return _gcry_err_code_to_errno (code);
      52             : }
      53             : 
      54             : gcry_error_t
      55           0 : gcry_err_make_from_errno (gcry_err_source_t source, int err)
      56             : {
      57           0 :   return _gcry_err_make_from_errno (source, err);
      58             : }
      59             : 
      60             : gcry_error_t
      61           0 : gcry_error_from_errno (int err)
      62             : {
      63           0 :   return _gcry_error_from_errno (err);
      64             : }
      65             : 
      66             : const char *
      67          33 : gcry_check_version (const char *req_version)
      68             : {
      69          33 :   return _gcry_check_version (req_version);
      70             : }
      71             : 
      72             : gcry_error_t
      73       24079 : gcry_control (enum gcry_ctl_cmds cmd, ...)
      74             : {
      75             :   gcry_error_t err;
      76             :   va_list arg_ptr;
      77             : 
      78       24079 :   va_start (arg_ptr, cmd);
      79       24079 :   err = gpg_error (_gcry_vcontrol (cmd, arg_ptr));
      80       24275 :   va_end(arg_ptr);
      81       24275 :   return err;
      82             : }
      83             : 
      84             : gcry_error_t
      85         328 : gcry_sexp_new (gcry_sexp_t *retsexp,
      86             :                const void *buffer, size_t length,
      87             :                int autodetect)
      88             : {
      89         328 :   return gpg_error (_gcry_sexp_new (retsexp, buffer, length, autodetect));
      90             : }
      91             : 
      92             : gcry_error_t
      93           6 : gcry_sexp_create (gcry_sexp_t *retsexp,
      94             :                   void *buffer, size_t length,
      95             :                   int autodetect, void (*freefnc) (void *))
      96             : {
      97           6 :   return gpg_error (_gcry_sexp_create (retsexp, buffer, length,
      98             :                                        autodetect, freefnc));
      99             : }
     100             : 
     101             : gcry_error_t
     102         455 : gcry_sexp_sscan (gcry_sexp_t *retsexp, size_t *erroff,
     103             :                  const char *buffer, size_t length)
     104             : {
     105         455 :   return gpg_error (_gcry_sexp_sscan (retsexp, erroff, buffer, length));
     106             : }
     107             : 
     108             : gcry_error_t
     109        5134 : gcry_sexp_build (gcry_sexp_t *retsexp, size_t *erroff,
     110             :                  const char *format, ...)
     111             : {
     112             :   gcry_err_code_t rc;
     113             :   va_list arg_ptr;
     114             : 
     115        5134 :   va_start (arg_ptr, format);
     116        5134 :   rc = _gcry_sexp_vbuild (retsexp, erroff, format, arg_ptr);
     117        5134 :   va_end (arg_ptr);
     118        5134 :   return gpg_error (rc);
     119             : }
     120             : 
     121             : gcry_error_t
     122           0 : gcry_sexp_build_array (gcry_sexp_t *retsexp, size_t *erroff,
     123             :                        const char *format, void **arg_list)
     124             : {
     125           0 :   return gpg_error (_gcry_sexp_build_array (retsexp, erroff, format, arg_list));
     126             : }
     127             : 
     128             : void
     129       14896 : gcry_sexp_release (gcry_sexp_t sexp)
     130             : {
     131       14896 :   _gcry_sexp_release (sexp);
     132       14896 : }
     133             : 
     134             : size_t
     135          14 : gcry_sexp_canon_len (const unsigned char *buffer, size_t length,
     136             :                      size_t *erroff, gcry_error_t *errcode)
     137             : {
     138             :   size_t n;
     139             :   gpg_err_code_t rc;
     140             : 
     141          14 :   n = _gcry_sexp_canon_len (buffer, length, erroff, &rc);
     142          14 :   if (errcode)
     143          14 :     *errcode = gpg_error (rc);
     144          14 :   return n;
     145             : }
     146             : 
     147             : size_t
     148         349 : gcry_sexp_sprint (gcry_sexp_t sexp, int mode, void *buffer, size_t maxlength)
     149             : {
     150         349 :   return _gcry_sexp_sprint (sexp, mode, buffer, maxlength);
     151             : }
     152             : 
     153             : void
     154           0 : gcry_sexp_dump (const gcry_sexp_t a)
     155             : {
     156           0 :   _gcry_sexp_dump (a);
     157           0 : }
     158             : 
     159             : gcry_sexp_t
     160           0 : gcry_sexp_cons (const gcry_sexp_t a, const gcry_sexp_t b)
     161             : {
     162           0 :   return _gcry_sexp_cons (a, b);
     163             : }
     164             : 
     165             : gcry_sexp_t
     166           0 : gcry_sexp_alist (const gcry_sexp_t *array)
     167             : {
     168           0 :   return _gcry_sexp_alist (array);
     169             : }
     170             : 
     171             : gcry_sexp_t
     172           0 : gcry_sexp_vlist (const gcry_sexp_t a, ...)
     173             : {
     174             :   /* This is not yet implemented in sexp.c.  */
     175             :   (void)a;
     176           0 :   BUG ();
     177             :   return NULL;
     178             : }
     179             : 
     180             : gcry_sexp_t
     181           0 : gcry_sexp_append (const gcry_sexp_t a, const gcry_sexp_t n)
     182             : {
     183           0 :   return _gcry_sexp_append (a, n);
     184             : }
     185             : 
     186             : gcry_sexp_t
     187           0 : gcry_sexp_prepend (const gcry_sexp_t a, const gcry_sexp_t n)
     188             : {
     189           0 :   return _gcry_sexp_prepend (a, n);
     190             : }
     191             : 
     192             : 
     193             : gcry_sexp_t
     194        5877 : gcry_sexp_find_token (gcry_sexp_t list, const char *tok, size_t toklen)
     195             : {
     196        5877 :   return _gcry_sexp_find_token (list, tok, toklen);
     197             : }
     198             : 
     199             : int
     200           0 : gcry_sexp_length (const gcry_sexp_t list)
     201             : {
     202           0 :   return _gcry_sexp_length (list);
     203             : }
     204             : 
     205             : gcry_sexp_t
     206           4 : gcry_sexp_nth (const gcry_sexp_t list, int number)
     207             : {
     208           4 :   return _gcry_sexp_nth (list, number);
     209             : }
     210             : 
     211             : gcry_sexp_t
     212           0 : gcry_sexp_car (const gcry_sexp_t list)
     213             : {
     214           0 :   return _gcry_sexp_car (list);
     215             : }
     216             : 
     217             : gcry_sexp_t
     218          24 : gcry_sexp_cdr (const gcry_sexp_t list)
     219             : {
     220          24 :   return _gcry_sexp_cdr (list);
     221             : }
     222             : 
     223             : gcry_sexp_t
     224           0 : gcry_sexp_cadr (const gcry_sexp_t list)
     225             : {
     226           0 :   return _gcry_sexp_cadr (list);
     227             : }
     228             : 
     229             : const char *
     230        1432 : gcry_sexp_nth_data (const gcry_sexp_t list, int number, size_t *datalen)
     231             : {
     232        1432 :   return _gcry_sexp_nth_data (list, number, datalen);
     233             : }
     234             : 
     235             : void *
     236        2052 : gcry_sexp_nth_buffer (const gcry_sexp_t list, int number, size_t *rlength)
     237             : {
     238        2052 :   return _gcry_sexp_nth_buffer (list, number, rlength);
     239             : }
     240             : 
     241             : char *
     242          10 : gcry_sexp_nth_string (gcry_sexp_t list, int number)
     243             : {
     244          10 :   return _gcry_sexp_nth_string (list, number);
     245             : }
     246             : 
     247             : gcry_mpi_t
     248         119 : gcry_sexp_nth_mpi (gcry_sexp_t list, int number, int mpifmt)
     249             : {
     250         119 :   return _gcry_sexp_nth_mpi (list, number, mpifmt);
     251             : }
     252             : 
     253             : gpg_error_t
     254          20 : gcry_sexp_extract_param (gcry_sexp_t sexp, const char *path,
     255             :                          const char *list, ...)
     256             : {
     257             :   gcry_err_code_t rc;
     258             :   va_list arg_ptr;
     259             : 
     260          20 :   va_start (arg_ptr, list);
     261          20 :   rc = _gcry_sexp_vextract_param (sexp, path, list, arg_ptr);
     262          20 :   va_end (arg_ptr);
     263          20 :   return gpg_error (rc);
     264             : }
     265             : 
     266             : 
     267             : 
     268             : gcry_mpi_t
     269         180 : gcry_mpi_new (unsigned int nbits)
     270             : {
     271         180 :   return _gcry_mpi_new (nbits);
     272             : }
     273             : 
     274             : gcry_mpi_t
     275           0 : gcry_mpi_snew (unsigned int nbits)
     276             : {
     277           0 :   return _gcry_mpi_snew (nbits);
     278             : }
     279             : 
     280             : void
     281        3835 : gcry_mpi_release (gcry_mpi_t a)
     282             : {
     283        3835 :   _gcry_mpi_release (a);
     284        3835 : }
     285             : 
     286             : gcry_mpi_t
     287        3003 : gcry_mpi_copy (const gcry_mpi_t a)
     288             : {
     289        3003 :   return _gcry_mpi_copy (a);
     290             : }
     291             : 
     292             : void
     293           0 : gcry_mpi_snatch (gcry_mpi_t w, const gcry_mpi_t u)
     294             : {
     295           0 :   _gcry_mpi_snatch (w, u);
     296           0 : }
     297             : 
     298             : gcry_mpi_t
     299           2 : gcry_mpi_set (gcry_mpi_t w, const gcry_mpi_t u)
     300             : {
     301           2 :   return _gcry_mpi_set (w, u);
     302             : }
     303             : 
     304             : gcry_mpi_t
     305          92 : gcry_mpi_set_ui (gcry_mpi_t w, unsigned long u)
     306             : {
     307          92 :   return _gcry_mpi_set_ui (w, u);
     308             : }
     309             : 
     310             : gcry_error_t
     311           0 : gcry_mpi_get_ui (gcry_mpi_t w, unsigned long *u)
     312             : {
     313           0 :   return gpg_error (_gcry_mpi_get_ui (w, u));
     314             : }
     315             : 
     316             : void
     317           0 : gcry_mpi_swap (gcry_mpi_t a, gcry_mpi_t b)
     318             : {
     319           0 :   _gcry_mpi_swap (a, b);
     320           0 : }
     321             : 
     322             : int
     323          70 : gcry_mpi_is_neg (gcry_mpi_t a)
     324             : {
     325          70 :   return _gcry_mpi_is_neg (a);
     326             : }
     327             : 
     328             : void
     329          36 : gcry_mpi_neg (gcry_mpi_t w, gcry_mpi_t u)
     330             : {
     331          36 :   _gcry_mpi_neg (w, u);
     332          36 : }
     333             : 
     334             : void
     335           1 : gcry_mpi_abs (gcry_mpi_t w)
     336             : {
     337           1 :   _gcry_mpi_abs (w);
     338           1 : }
     339             : 
     340             : int
     341         347 : gcry_mpi_cmp (const gcry_mpi_t u, const gcry_mpi_t v)
     342             : {
     343         347 :   return _gcry_mpi_cmp (u, v);
     344             : }
     345             : 
     346             : int
     347          45 : gcry_mpi_cmp_ui (const gcry_mpi_t u, unsigned long v)
     348             : {
     349          45 :   return _gcry_mpi_cmp_ui (u, v);
     350             : }
     351             : 
     352             : gcry_error_t
     353         320 : gcry_mpi_scan (gcry_mpi_t *ret_mpi, enum gcry_mpi_format format,
     354             :                const void *buffer, size_t buflen,
     355             :                size_t *nscanned)
     356             : {
     357         320 :   return gpg_error (_gcry_mpi_scan (ret_mpi, format, buffer, buflen, nscanned));
     358             : }
     359             : 
     360             : gcry_error_t
     361           0 : gcry_mpi_print (enum gcry_mpi_format format,
     362             :                 unsigned char *buffer, size_t buflen,
     363             :                 size_t *nwritten,
     364             :                 const gcry_mpi_t a)
     365             : {
     366           0 :   return gpg_error (_gcry_mpi_print (format, buffer, buflen, nwritten, a));
     367             : }
     368             : 
     369             : gcry_error_t
     370         129 : gcry_mpi_aprint (enum gcry_mpi_format format,
     371             :                  unsigned char **buffer, size_t *nwritten,
     372             :                  const gcry_mpi_t a)
     373             : {
     374         129 :   return gpg_error (_gcry_mpi_aprint (format, buffer, nwritten, a));
     375             : }
     376             : 
     377             : void
     378           0 : gcry_mpi_dump (const gcry_mpi_t a)
     379             : {
     380           0 :   _gcry_log_printmpi (NULL, a);
     381           0 : }
     382             : 
     383             : void
     384           2 : gcry_mpi_add (gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v)
     385             : {
     386           2 :   _gcry_mpi_add (w, u, v);
     387           2 : }
     388             : 
     389             : void
     390           3 : gcry_mpi_add_ui (gcry_mpi_t w, gcry_mpi_t u, unsigned long v)
     391             : {
     392           3 :   _gcry_mpi_add_ui (w, u, v);
     393           3 : }
     394             : 
     395             : void
     396           0 : gcry_mpi_addm (gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v, gcry_mpi_t m)
     397             : {
     398           0 :   _gcry_mpi_addm (w, u, v, m);
     399           0 : }
     400             : 
     401             : void
     402           1 : gcry_mpi_sub (gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v)
     403             : {
     404           1 :   _gcry_mpi_sub (w, u, v);
     405           1 : }
     406             : 
     407             : void
     408           5 : gcry_mpi_sub_ui (gcry_mpi_t w, gcry_mpi_t u, unsigned long v )
     409             : {
     410           5 :   _gcry_mpi_sub_ui (w, u, v);
     411           5 : }
     412             : 
     413             : void
     414           0 : gcry_mpi_subm (gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v, gcry_mpi_t m)
     415             : {
     416           0 :   _gcry_mpi_subm (w, u, v, m);
     417           0 : }
     418             : 
     419             : void
     420           1 : gcry_mpi_mul (gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v)
     421             : {
     422           1 :   _gcry_mpi_mul (w, u, v);
     423           1 : }
     424             : 
     425             : void
     426           0 : gcry_mpi_mul_ui (gcry_mpi_t w, gcry_mpi_t u, unsigned long v )
     427             : {
     428           0 :   _gcry_mpi_mul_ui (w, u, v);
     429           0 : }
     430             : 
     431             : void
     432           0 : gcry_mpi_mulm (gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v, gcry_mpi_t m)
     433             : {
     434           0 :   _gcry_mpi_mulm (w, u, v, m);
     435           0 : }
     436             : 
     437             : void
     438           0 : gcry_mpi_mul_2exp (gcry_mpi_t w, gcry_mpi_t u, unsigned long cnt)
     439             : {
     440           0 :   _gcry_mpi_mul_2exp (w, u, cnt);
     441           0 : }
     442             : 
     443             : void
     444           2 : gcry_mpi_div (gcry_mpi_t q, gcry_mpi_t r,
     445             :               gcry_mpi_t dividend, gcry_mpi_t divisor, int round)
     446             : {
     447           2 :   _gcry_mpi_div (q, r, dividend, divisor, round);
     448           2 : }
     449             : 
     450             : void
     451           1 : gcry_mpi_mod (gcry_mpi_t r, gcry_mpi_t dividend, gcry_mpi_t divisor)
     452             : {
     453           1 :   _gcry_mpi_mod (r, dividend, divisor);
     454           1 : }
     455             : 
     456             : void
     457        3015 : gcry_mpi_powm (gcry_mpi_t w, const gcry_mpi_t b, const gcry_mpi_t e,
     458             :                const gcry_mpi_t m)
     459             : {
     460        3015 :   _gcry_mpi_powm (w, b, e, m);
     461        3015 : }
     462             : 
     463             : int
     464           0 : gcry_mpi_gcd (gcry_mpi_t g, gcry_mpi_t a, gcry_mpi_t b)
     465             : {
     466           0 :   return _gcry_mpi_gcd (g, a, b);
     467             : }
     468             : 
     469             : int
     470           0 : gcry_mpi_invm (gcry_mpi_t x, gcry_mpi_t a, gcry_mpi_t m)
     471             : {
     472           0 :   return _gcry_mpi_invm (x, a, m);
     473             : }
     474             : 
     475             : gcry_mpi_point_t
     476           6 : gcry_mpi_point_new (unsigned int nbits)
     477             : {
     478           6 :   return _gcry_mpi_point_new (nbits);
     479             : }
     480             : 
     481             : void
     482           7 : gcry_mpi_point_release (gcry_mpi_point_t point)
     483             : {
     484           7 :   _gcry_mpi_point_release (point);
     485           7 : }
     486             : 
     487             : void
     488           6 : gcry_mpi_point_get (gcry_mpi_t x, gcry_mpi_t y, gcry_mpi_t z,
     489             :                     gcry_mpi_point_t point)
     490             : {
     491           6 :   _gcry_mpi_point_get (x, y, z, point);
     492           6 : }
     493             : 
     494             : void
     495           9 : gcry_mpi_point_snatch_get (gcry_mpi_t x, gcry_mpi_t y, gcry_mpi_t z,
     496             :                            gcry_mpi_point_t point)
     497             : {
     498           9 :   _gcry_mpi_point_snatch_get (x, y, z, point);
     499           9 : }
     500             : 
     501             : gcry_mpi_point_t
     502           1 : gcry_mpi_point_set (gcry_mpi_point_t point,
     503             :                     gcry_mpi_t x, gcry_mpi_t y, gcry_mpi_t z)
     504             : {
     505           1 :   return _gcry_mpi_point_set (point, x, y, z);
     506             : }
     507             : 
     508             : gcry_mpi_point_t
     509           2 : gcry_mpi_point_snatch_set (gcry_mpi_point_t point,
     510             :                            gcry_mpi_t x, gcry_mpi_t y, gcry_mpi_t z)
     511             : {
     512           2 :   return _gcry_mpi_point_snatch_set (point, x, y, z);
     513             : }
     514             : 
     515             : gpg_error_t
     516          14 : gcry_mpi_ec_new (gcry_ctx_t *r_ctx,
     517             :                  gcry_sexp_t keyparam, const char *curvename)
     518             : {
     519          14 :   return gpg_error (_gcry_mpi_ec_new (r_ctx, keyparam, curvename));
     520             : }
     521             : 
     522             : gcry_mpi_t
     523          53 : gcry_mpi_ec_get_mpi (const char *name, gcry_ctx_t ctx, int copy)
     524             : {
     525          53 :   return _gcry_mpi_ec_get_mpi (name, ctx, copy);
     526             : }
     527             : 
     528             : gcry_mpi_point_t
     529          10 : gcry_mpi_ec_get_point (const char *name, gcry_ctx_t ctx, int copy)
     530             : {
     531          10 :   return _gcry_mpi_ec_get_point (name, ctx, copy);
     532             : }
     533             : 
     534             : gpg_error_t
     535           8 : gcry_mpi_ec_set_mpi (const char *name, gcry_mpi_t newvalue, gcry_ctx_t ctx)
     536             : {
     537           8 :   return gpg_error (_gcry_mpi_ec_set_mpi (name, newvalue, ctx));
     538             : }
     539             : 
     540             : gpg_error_t
     541           2 : gcry_mpi_ec_set_point (const char *name, gcry_mpi_point_t newvalue,
     542             :                         gcry_ctx_t ctx)
     543             : {
     544           2 :   return gpg_error (_gcry_mpi_ec_set_point (name, newvalue, ctx));
     545             : }
     546             : 
     547             : int
     548           5 : gcry_mpi_ec_get_affine (gcry_mpi_t x, gcry_mpi_t y, gcry_mpi_point_t point,
     549             :                         gcry_ctx_t ctx)
     550             : {
     551           5 :   return _gcry_mpi_ec_get_affine (x, y, point,
     552           5 :                                   _gcry_ctx_get_pointer (ctx, CONTEXT_TYPE_EC));
     553             : }
     554             : 
     555             : void
     556           0 : gcry_mpi_ec_dup (gcry_mpi_point_t w, gcry_mpi_point_t u, gcry_ctx_t ctx)
     557             : {
     558           0 :   _gcry_mpi_ec_dup_point (w, u, _gcry_ctx_get_pointer (ctx, CONTEXT_TYPE_EC));
     559           0 : }
     560             : 
     561             : void
     562           0 : gcry_mpi_ec_add (gcry_mpi_point_t w,
     563             :                  gcry_mpi_point_t u, gcry_mpi_point_t v, gcry_ctx_t ctx)
     564             : {
     565           0 :   _gcry_mpi_ec_add_points (w, u, v,
     566           0 :                            _gcry_ctx_get_pointer (ctx, CONTEXT_TYPE_EC));
     567           0 : }
     568             : 
     569             : void
     570           0 : gcry_mpi_ec_sub (gcry_mpi_point_t w,
     571             :                  gcry_mpi_point_t u, gcry_mpi_point_t v, gcry_ctx_t ctx)
     572             : {
     573           0 :   _gcry_mpi_ec_sub_points (w, u, v,
     574           0 :                            _gcry_ctx_get_pointer (ctx, CONTEXT_TYPE_EC));
     575           0 : }
     576             : 
     577             : void
     578           6 : gcry_mpi_ec_mul (gcry_mpi_point_t w, gcry_mpi_t n, gcry_mpi_point_t u,
     579             :                  gcry_ctx_t ctx)
     580             : {
     581           6 :   _gcry_mpi_ec_mul_point (w, n, u,
     582           6 :                           _gcry_ctx_get_pointer (ctx, CONTEXT_TYPE_EC));
     583           6 : }
     584             : 
     585             : int
     586           1 : gcry_mpi_ec_curve_point (gcry_mpi_point_t point, gcry_ctx_t ctx)
     587             : {
     588           1 :   return _gcry_mpi_ec_curve_point
     589           1 :     (point, _gcry_ctx_get_pointer (ctx, CONTEXT_TYPE_EC));
     590             : }
     591             : 
     592             : unsigned int
     593       10500 : gcry_mpi_get_nbits (gcry_mpi_t a)
     594             : {
     595       10500 :   return _gcry_mpi_get_nbits (a);
     596             : }
     597             : 
     598             : int
     599      770770 : gcry_mpi_test_bit (gcry_mpi_t a, unsigned int n)
     600             : {
     601      770770 :   return _gcry_mpi_test_bit (a, n);
     602             : }
     603             : 
     604             : void
     605           2 : gcry_mpi_set_bit (gcry_mpi_t a, unsigned int n)
     606             : {
     607           2 :   _gcry_mpi_set_bit (a, n);
     608           2 : }
     609             : 
     610             : void
     611           2 : gcry_mpi_clear_bit (gcry_mpi_t a, unsigned int n)
     612             : {
     613           2 :   _gcry_mpi_clear_bit (a, n);
     614           2 : }
     615             : 
     616             : void
     617           2 : gcry_mpi_set_highbit (gcry_mpi_t a, unsigned int n)
     618             : {
     619           2 :   _gcry_mpi_set_highbit (a, n);
     620           2 : }
     621             : 
     622             : void
     623          70 : gcry_mpi_clear_highbit (gcry_mpi_t a, unsigned int n)
     624             : {
     625          70 :   _gcry_mpi_clear_highbit (a, n);
     626          70 : }
     627             : 
     628             : void
     629         750 : gcry_mpi_rshift (gcry_mpi_t x, gcry_mpi_t a, unsigned int n)
     630             : {
     631         750 :   _gcry_mpi_rshift (x, a, n);
     632         750 : }
     633             : 
     634             : void
     635        5250 : gcry_mpi_lshift (gcry_mpi_t x, gcry_mpi_t a, unsigned int n)
     636             : {
     637        5250 :   _gcry_mpi_lshift (x, a, n);
     638        5250 : }
     639             : 
     640             : gcry_mpi_t
     641          14 : gcry_mpi_set_opaque (gcry_mpi_t a, void *p, unsigned int nbits)
     642             : {
     643          14 :   return _gcry_mpi_set_opaque (a, p, nbits);
     644             : }
     645             : 
     646             : gcry_mpi_t
     647           1 : gcry_mpi_set_opaque_copy (gcry_mpi_t a, const void *p, unsigned int nbits)
     648             : {
     649           1 :   return _gcry_mpi_set_opaque_copy (a, p, nbits);
     650             : }
     651             : 
     652             : void *
     653           2 : gcry_mpi_get_opaque (gcry_mpi_t a, unsigned int *nbits)
     654             : {
     655           2 :   return _gcry_mpi_get_opaque (a, nbits);
     656             : }
     657             : 
     658             : void
     659           2 : gcry_mpi_set_flag (gcry_mpi_t a, enum gcry_mpi_flag flag)
     660             : {
     661           2 :   _gcry_mpi_set_flag (a, flag);
     662           2 : }
     663             : 
     664             : void
     665           2 : gcry_mpi_clear_flag (gcry_mpi_t a, enum gcry_mpi_flag flag)
     666             : {
     667           2 :   _gcry_mpi_clear_flag (a, flag);
     668           2 : }
     669             : 
     670             : int
     671         168 : gcry_mpi_get_flag (gcry_mpi_t a, enum gcry_mpi_flag flag)
     672             : {
     673         168 :   return _gcry_mpi_get_flag (a, flag);
     674             : }
     675             : 
     676             : gcry_mpi_t
     677           9 : _gcry_mpi_get_const (int no)
     678             : {
     679           9 :   switch (no)
     680             :     {
     681           2 :     case 1: return _gcry_mpi_const (MPI_C_ONE);
     682           5 :     case 2: return _gcry_mpi_const (MPI_C_TWO);
     683           0 :     case 3: return _gcry_mpi_const (MPI_C_THREE);
     684           2 :     case 4: return _gcry_mpi_const (MPI_C_FOUR);
     685           0 :     case 8: return _gcry_mpi_const (MPI_C_EIGHT);
     686           0 :     default: log_bug("unsupported GCRYMPI_CONST_ macro used\n");
     687             :     }
     688             : }
     689             : 
     690             : gcry_error_t
     691        4144 : gcry_cipher_open (gcry_cipher_hd_t *handle,
     692             :                   int algo, int mode, unsigned int flags)
     693             : {
     694        4144 :   if (!fips_is_operational ())
     695             :     {
     696           0 :       *handle = NULL;
     697           0 :       return gpg_error (fips_not_operational ());
     698             :     }
     699             : 
     700        4144 :   return gpg_error (_gcry_cipher_open (handle, algo, mode, flags));
     701             : }
     702             : 
     703             : void
     704        4146 : gcry_cipher_close (gcry_cipher_hd_t h)
     705             : {
     706        4146 :   _gcry_cipher_close (h);
     707        4146 : }
     708             : 
     709             : gcry_error_t
     710        4224 : gcry_cipher_setkey (gcry_cipher_hd_t hd, const void *key, size_t keylen)
     711             : {
     712        4224 :   if (!fips_is_operational ())
     713           0 :     return gpg_error (fips_not_operational ());
     714             : 
     715        4224 :   return gcry_error (_gcry_cipher_setkey (hd, key, keylen));
     716             : }
     717             : 
     718             : gcry_error_t
     719      155324 : gcry_cipher_setiv (gcry_cipher_hd_t hd, const void *iv, size_t ivlen)
     720             : {
     721      155324 :   if (!fips_is_operational ())
     722           0 :     return gpg_error (fips_not_operational ());
     723             : 
     724      155324 :   return gcry_error (_gcry_cipher_setiv (hd, iv, ivlen));
     725             : }
     726             : 
     727             : gpg_error_t
     728          20 : gcry_cipher_setctr (gcry_cipher_hd_t hd, const void *ctr, size_t ctrlen)
     729             : {
     730          20 :   if (!fips_is_operational ())
     731           0 :     return gpg_error (fips_not_operational ());
     732             : 
     733          20 :   return gcry_error (_gcry_cipher_setctr (hd, ctr, ctrlen));
     734             : }
     735             : 
     736             : gcry_error_t
     737       32998 : gcry_cipher_authenticate (gcry_cipher_hd_t hd, const void *abuf, size_t abuflen)
     738             : {
     739       32998 :   if (!fips_is_operational ())
     740           0 :     return gpg_error (fips_not_operational ());
     741             : 
     742       32998 :   return gpg_error (_gcry_cipher_authenticate (hd, abuf, abuflen));
     743             : }
     744             : 
     745             : gcry_error_t
     746       83975 : gcry_cipher_gettag (gcry_cipher_hd_t hd, void *outtag, size_t taglen)
     747             : {
     748       83975 :   if (!fips_is_operational ())
     749           0 :     return gpg_error (fips_not_operational ());
     750             : 
     751       83975 :   return gpg_error (_gcry_cipher_gettag (hd, outtag, taglen));
     752             : }
     753             : 
     754             : gcry_error_t
     755       44176 : gcry_cipher_checktag (gcry_cipher_hd_t hd, const void *intag, size_t taglen)
     756             : {
     757       44176 :   if (!fips_is_operational ())
     758           0 :     return gpg_error (fips_not_operational ());
     759             : 
     760       44176 :   return gpg_error (_gcry_cipher_checktag (hd, intag, taglen));
     761             : }
     762             : 
     763             : 
     764             : gcry_error_t
     765      301401 : gcry_cipher_ctl (gcry_cipher_hd_t h, int cmd, void *buffer, size_t buflen)
     766             : {
     767      301401 :   if (!fips_is_operational ())
     768           0 :     return gpg_error (fips_not_operational ());
     769             : 
     770      301401 :   return gpg_error (_gcry_cipher_ctl (h, cmd, buffer, buflen));
     771             : }
     772             : 
     773             : gcry_error_t
     774           0 : gcry_cipher_info (gcry_cipher_hd_t h, int what, void *buffer, size_t *nbytes)
     775             : {
     776           0 :   return gpg_error (_gcry_cipher_info (h, what, buffer, nbytes));
     777             : }
     778             : 
     779             : gcry_error_t
     780         824 : gcry_cipher_algo_info (int algo, int what, void *buffer, size_t *nbytes)
     781             : {
     782         824 :   if (!fips_is_operational ())
     783           0 :     return gpg_error (fips_not_operational ());
     784             : 
     785         824 :   return gpg_error (_gcry_cipher_algo_info (algo, what, buffer, nbytes));
     786             : }
     787             : 
     788             : const char *
     789          72 : gcry_cipher_algo_name (int algorithm)
     790             : {
     791          72 :   return _gcry_cipher_algo_name (algorithm);
     792             : }
     793             : 
     794             : int
     795          24 : gcry_cipher_map_name (const char *name)
     796             : {
     797          24 :   return _gcry_cipher_map_name (name);
     798             : }
     799             : 
     800             : int
     801           0 : gcry_cipher_mode_from_oid (const char *string)
     802             : {
     803           0 :   return _gcry_cipher_mode_from_oid (string);
     804             : }
     805             : 
     806             : gcry_error_t
     807      503120 : gcry_cipher_encrypt (gcry_cipher_hd_t h,
     808             :                      void *out, size_t outsize,
     809             :                      const void *in, size_t inlen)
     810             : {
     811      503120 :   if (!fips_is_operational ())
     812             :     {
     813             :       /* Make sure that the plaintext will never make it to OUT. */
     814           0 :       if (out)
     815           0 :         memset (out, 0x42, outsize);
     816           0 :       return gpg_error (fips_not_operational ());
     817             :     }
     818             : 
     819      503120 :   return gpg_error (_gcry_cipher_encrypt (h, out, outsize, in, inlen));
     820             : }
     821             : 
     822             : gcry_error_t
     823      438961 : gcry_cipher_decrypt (gcry_cipher_hd_t h,
     824             :                      void *out, size_t outsize,
     825             :                      const void *in, size_t inlen)
     826             : {
     827      438961 :   if (!fips_is_operational ())
     828           0 :     return gpg_error (fips_not_operational ());
     829             : 
     830      438961 :   return gpg_error (_gcry_cipher_decrypt (h, out, outsize, in, inlen));
     831             : }
     832             : 
     833             : size_t
     834        3233 : gcry_cipher_get_algo_keylen (int algo)
     835             : {
     836        3233 :   return _gcry_cipher_get_algo_keylen (algo);
     837             : }
     838             : 
     839             : size_t
     840        3481 : gcry_cipher_get_algo_blklen (int algo)
     841             : {
     842        3481 :   return _gcry_cipher_get_algo_blklen (algo);
     843             : }
     844             : 
     845             : gcry_error_t
     846        1388 : gcry_mac_algo_info (int algo, int what, void *buffer, size_t *nbytes)
     847             : {
     848        1388 :   if (!fips_is_operational ())
     849           0 :     return gpg_error (fips_not_operational ());
     850             : 
     851        1388 :   return gpg_error (_gcry_mac_algo_info (algo, what, buffer, nbytes));
     852             : }
     853             : 
     854             : const char *
     855         117 : gcry_mac_algo_name (int algorithm)
     856             : {
     857         117 :   return _gcry_mac_algo_name (algorithm);
     858             : }
     859             : 
     860             : int
     861          39 : gcry_mac_map_name (const char *string)
     862             : {
     863          39 :   return _gcry_mac_map_name (string);
     864             : }
     865             : 
     866             : int
     867         190 : gcry_mac_get_algo (gcry_mac_hd_t hd)
     868             : {
     869         190 :   return _gcry_mac_get_algo (hd);
     870             : }
     871             : 
     872             : unsigned int
     873         229 : gcry_mac_get_algo_maclen (int algo)
     874             : {
     875         229 :   return _gcry_mac_get_algo_maclen (algo);
     876             : }
     877             : 
     878             : unsigned int
     879          78 : gcry_mac_get_algo_keylen (int algo)
     880             : {
     881          78 :   return _gcry_mac_get_algo_keylen (algo);
     882             : }
     883             : 
     884             : gcry_error_t
     885         268 : gcry_mac_open (gcry_mac_hd_t *handle, int algo, unsigned int flags,
     886             :                gcry_ctx_t ctx)
     887             : {
     888         268 :   if (!fips_is_operational ())
     889             :     {
     890           0 :       *handle = NULL;
     891           0 :       return gpg_error (fips_not_operational ());
     892             :     }
     893             : 
     894         268 :   return gpg_error (_gcry_mac_open (handle, algo, flags, ctx));
     895             : }
     896             : 
     897             : void
     898         268 : gcry_mac_close (gcry_mac_hd_t hd)
     899             : {
     900         268 :   _gcry_mac_close (hd);
     901         268 : }
     902             : 
     903             : gcry_error_t
     904         268 : gcry_mac_setkey (gcry_mac_hd_t hd, const void *key, size_t keylen)
     905             : {
     906         268 :   if (!fips_is_operational ())
     907           0 :     return gpg_error (fips_not_operational ());
     908             : 
     909         268 :   return gpg_error (_gcry_mac_setkey (hd, key, keylen));
     910             : }
     911             : 
     912             : gcry_error_t
     913          26 : gcry_mac_setiv (gcry_mac_hd_t hd, const void *iv, size_t ivlen)
     914             : {
     915          26 :   if (!fips_is_operational ())
     916           0 :     return gpg_error (fips_not_operational ());
     917             : 
     918          26 :   return gpg_error (_gcry_mac_setiv (hd, iv, ivlen));
     919             : }
     920             : 
     921             : gcry_error_t
     922     4357749 : gcry_mac_write (gcry_mac_hd_t hd, const void *buf, size_t buflen)
     923             : {
     924     4357749 :   if (!fips_is_operational ())
     925           0 :     return gpg_error (fips_not_operational ());
     926             : 
     927     4357749 :   return gpg_error (_gcry_mac_write (hd, buf, buflen));
     928             : }
     929             : 
     930             : gcry_error_t
     931       23941 : gcry_mac_read (gcry_mac_hd_t hd, void *outbuf, size_t *outlen)
     932             : {
     933       23941 :   if (!fips_is_operational ())
     934           0 :     return gpg_error (fips_not_operational ());
     935             : 
     936       23941 :   return gpg_error (_gcry_mac_read (hd, outbuf, outlen));
     937             : }
     938             : 
     939             : gcry_error_t
     940         190 : gcry_mac_verify (gcry_mac_hd_t hd, const void *buf, size_t buflen)
     941             : {
     942         190 :   if (!fips_is_operational ())
     943           0 :     return gpg_error (fips_not_operational ());
     944             : 
     945         190 :   return gpg_error (_gcry_mac_verify (hd, buf, buflen));
     946             : }
     947             : 
     948             : gcry_error_t
     949       23712 : gcry_mac_ctl (gcry_mac_hd_t h, int cmd, void *buffer, size_t buflen)
     950             : {
     951       23712 :   if (!fips_is_operational ())
     952           0 :     return gpg_error (fips_not_operational ());
     953             : 
     954       23712 :   return gpg_error (_gcry_mac_ctl (h, cmd, buffer, buflen));
     955             : }
     956             : 
     957             : gcry_error_t
     958         592 : gcry_pk_encrypt (gcry_sexp_t *result, gcry_sexp_t data, gcry_sexp_t pkey)
     959             : {
     960         592 :   if (!fips_is_operational ())
     961             :     {
     962           0 :       *result = NULL;
     963           0 :       return gpg_error (fips_not_operational ());
     964             :     }
     965         592 :   return gpg_error (_gcry_pk_encrypt (result, data, pkey));
     966             : }
     967             : 
     968             : gcry_error_t
     969         554 : gcry_pk_decrypt (gcry_sexp_t *result, gcry_sexp_t data, gcry_sexp_t skey)
     970             : {
     971         554 :   if (!fips_is_operational ())
     972             :     {
     973           0 :       *result = NULL;
     974           0 :       return gpg_error (fips_not_operational ());
     975             :     }
     976         554 :   return gpg_error (_gcry_pk_decrypt (result, data, skey));
     977             : }
     978             : 
     979             : gcry_error_t
     980        1805 : gcry_pk_sign (gcry_sexp_t *result, gcry_sexp_t data, gcry_sexp_t skey)
     981             : {
     982        1805 :   if (!fips_is_operational ())
     983             :     {
     984           0 :       *result = NULL;
     985           0 :       return gpg_error (fips_not_operational ());
     986             :     }
     987        1805 :   return gpg_error (_gcry_pk_sign (result, data, skey));
     988             : }
     989             : 
     990             : gcry_error_t
     991        1844 : gcry_pk_verify (gcry_sexp_t sigval, gcry_sexp_t data, gcry_sexp_t pkey)
     992             : {
     993        1844 :   if (!fips_is_operational ())
     994           0 :     return gpg_error (fips_not_operational ());
     995        1844 :   return gpg_error (_gcry_pk_verify (sigval, data, pkey));
     996             : }
     997             : 
     998             : gcry_error_t
     999          25 : gcry_pk_testkey (gcry_sexp_t key)
    1000             : {
    1001          25 :   if (!fips_is_operational ())
    1002           0 :     return gpg_error (fips_not_operational ());
    1003          25 :   return gpg_error (_gcry_pk_testkey (key));
    1004             : }
    1005             : 
    1006             : gcry_error_t
    1007          75 : gcry_pk_genkey (gcry_sexp_t *r_key, gcry_sexp_t s_parms)
    1008             : {
    1009          75 :   if (!fips_is_operational ())
    1010             :     {
    1011           0 :       *r_key = NULL;
    1012           0 :       return gpg_error (fips_not_operational ());
    1013             :     }
    1014          75 :   return gpg_error (_gcry_pk_genkey (r_key, s_parms));
    1015             : }
    1016             : 
    1017             : gcry_error_t
    1018           0 : gcry_pk_ctl (int cmd, void *buffer, size_t buflen)
    1019             : {
    1020           0 :   return gpg_error (_gcry_pk_ctl (cmd, buffer, buflen));
    1021             : }
    1022             : 
    1023             : gcry_error_t
    1024          34 : gcry_pk_algo_info (int algo, int what, void *buffer, size_t *nbytes)
    1025             : {
    1026          34 :   if (!fips_is_operational ())
    1027           0 :     return gpg_error (fips_not_operational ());
    1028             : 
    1029          34 :   return gpg_error (_gcry_pk_algo_info (algo, what, buffer, nbytes));
    1030             : }
    1031             : 
    1032             : const char *
    1033           0 : gcry_pk_algo_name (int algorithm)
    1034             : {
    1035           0 :   return _gcry_pk_algo_name (algorithm);
    1036             : }
    1037             : 
    1038             : int
    1039           0 : gcry_pk_map_name (const char *name)
    1040             : {
    1041           0 :   return _gcry_pk_map_name (name);
    1042             : }
    1043             : 
    1044             : unsigned int
    1045           8 : gcry_pk_get_nbits (gcry_sexp_t key)
    1046             : {
    1047           8 :   if (!fips_is_operational ())
    1048             :     {
    1049             :       (void)fips_not_operational ();
    1050           0 :       return 0;
    1051             :     }
    1052             : 
    1053           8 :   return _gcry_pk_get_nbits (key);
    1054             : }
    1055             : 
    1056             : unsigned char *
    1057          12 : gcry_pk_get_keygrip (gcry_sexp_t key, unsigned char *array)
    1058             : {
    1059          12 :   if (!fips_is_operational ())
    1060             :     {
    1061             :       (void)fips_not_operational ();
    1062           0 :       return NULL;
    1063             :     }
    1064          12 :   return _gcry_pk_get_keygrip (key, array);
    1065             : }
    1066             : 
    1067             : const char *
    1068          28 : gcry_pk_get_curve (gcry_sexp_t key, int iterator, unsigned int *r_nbits)
    1069             : {
    1070          28 :   if (!fips_is_operational ())
    1071             :     {
    1072             :       (void)fips_not_operational ();
    1073           0 :       return NULL;
    1074             :     }
    1075          28 :   return _gcry_pk_get_curve (key, iterator, r_nbits);
    1076             : }
    1077             : 
    1078             : gcry_sexp_t
    1079           2 : gcry_pk_get_param (int algo, const char *name)
    1080             : {
    1081           2 :   if (!fips_is_operational ())
    1082             :     {
    1083             :       (void)fips_not_operational ();
    1084           0 :       return NULL;
    1085             :     }
    1086           2 :   return _gcry_pk_get_param (algo, name);
    1087             : }
    1088             : 
    1089             : gcry_error_t
    1090          11 : gcry_pubkey_get_sexp (gcry_sexp_t *r_sexp, int mode, gcry_ctx_t ctx)
    1091             : {
    1092          11 :   if (!fips_is_operational ())
    1093             :     {
    1094           0 :       *r_sexp = NULL;
    1095           0 :       return gpg_error (fips_not_operational ());
    1096             :     }
    1097          11 :   return gpg_error (_gcry_pubkey_get_sexp (r_sexp, mode, ctx));
    1098             : }
    1099             : 
    1100             : gcry_error_t
    1101        1230 : gcry_md_open (gcry_md_hd_t *h, int algo, unsigned int flags)
    1102             : {
    1103        1230 :   if (!fips_is_operational ())
    1104             :     {
    1105           0 :       *h = NULL;
    1106           0 :       return gpg_error (fips_not_operational ());
    1107             :     }
    1108             : 
    1109        1230 :   return gpg_error (_gcry_md_open (h, algo, flags));
    1110             : }
    1111             : 
    1112             : void
    1113        2407 : gcry_md_close (gcry_md_hd_t hd)
    1114             : {
    1115        2407 :   _gcry_md_close (hd);
    1116        2407 : }
    1117             : 
    1118             : gcry_error_t
    1119           0 : gcry_md_enable (gcry_md_hd_t hd, int algo)
    1120             : {
    1121           0 :   if (!fips_is_operational ())
    1122           0 :     return gpg_error (fips_not_operational ());
    1123           0 :   return gpg_error (_gcry_md_enable (hd, algo));
    1124             : }
    1125             : 
    1126             : gcry_error_t
    1127        1177 : gcry_md_copy (gcry_md_hd_t *bhd, gcry_md_hd_t ahd)
    1128             : {
    1129        1177 :   if (!fips_is_operational ())
    1130             :     {
    1131           0 :       *bhd = NULL;
    1132           0 :       return gpg_error (fips_not_operational ());
    1133             :     }
    1134        1177 :   return gpg_error (_gcry_md_copy (bhd, ahd));
    1135             : }
    1136             : 
    1137             : void
    1138       51194 : gcry_md_reset (gcry_md_hd_t hd)
    1139             : {
    1140       51194 :   _gcry_md_reset (hd);
    1141       51194 : }
    1142             : 
    1143             : gcry_error_t
    1144       51244 : gcry_md_ctl (gcry_md_hd_t hd, int cmd, void *buffer, size_t buflen)
    1145             : {
    1146       51244 :   if (!fips_is_operational ())
    1147           0 :     return gpg_error (fips_not_operational ());
    1148       51244 :   return gpg_error (_gcry_md_ctl (hd, cmd, buffer, buflen));
    1149             : }
    1150             : 
    1151             : void
    1152    25392258 : gcry_md_write (gcry_md_hd_t hd, const void *buffer, size_t length)
    1153             : {
    1154    25392258 :   if (!fips_is_operational ())
    1155             :     {
    1156             :       (void)fips_not_operational ();
    1157    25392258 :       return;
    1158             :     }
    1159    25392258 :   _gcry_md_write (hd, buffer, length);
    1160             : }
    1161             : 
    1162             : unsigned char *
    1163        1174 : gcry_md_read (gcry_md_hd_t hd, int algo)
    1164             : {
    1165        1174 :   return _gcry_md_read (hd, algo);
    1166             : }
    1167             : 
    1168             : gcry_err_code_t
    1169        8936 : gcry_md_extract (gcry_md_hd_t hd, int algo, void *buffer, size_t length)
    1170             : {
    1171        8936 :   return _gcry_md_extract(hd, algo, buffer, length);
    1172             : }
    1173             : 
    1174             : void
    1175        2945 : gcry_md_hash_buffer (int algo, void *digest,
    1176             :                      const void *buffer, size_t length)
    1177             : {
    1178        2945 :   if (!fips_is_operational ())
    1179             :     {
    1180             :       (void)fips_not_operational ();
    1181           0 :       fips_signal_error ("called in non-operational state");
    1182             :     }
    1183        2945 :   _gcry_md_hash_buffer (algo, digest, buffer, length);
    1184        2945 : }
    1185             : 
    1186             : gpg_error_t
    1187        1119 : gcry_md_hash_buffers (int algo, unsigned int flags, void *digest,
    1188             :                       const gcry_buffer_t *iov, int iovcnt)
    1189             : {
    1190        1119 :   if (!fips_is_operational ())
    1191             :     {
    1192             :       (void)fips_not_operational ();
    1193           0 :       fips_signal_error ("called in non-operational state");
    1194             :     }
    1195        1119 :   return gpg_error (_gcry_md_hash_buffers (algo, flags, digest, iov, iovcnt));
    1196             : }
    1197             : 
    1198             : int
    1199           0 : gcry_md_get_algo (gcry_md_hd_t hd)
    1200             : {
    1201           0 :   if (!fips_is_operational ())
    1202             :     {
    1203             :       (void)fips_not_operational ();
    1204           0 :       fips_signal_error ("used in non-operational state");
    1205           0 :       return 0;
    1206             :     }
    1207           0 :   return _gcry_md_get_algo (hd);
    1208             : }
    1209             : 
    1210             : unsigned int
    1211        2435 : gcry_md_get_algo_dlen (int algo)
    1212             : {
    1213        2435 :   return _gcry_md_get_algo_dlen (algo);
    1214             : }
    1215             : 
    1216             : int
    1217           0 : gcry_md_is_enabled (gcry_md_hd_t a, int algo)
    1218             : {
    1219           0 :   if (!fips_is_operational ())
    1220             :     {
    1221             :       (void)fips_not_operational ();
    1222           0 :       return 0;
    1223             :     }
    1224             : 
    1225           0 :   return _gcry_md_is_enabled (a, algo);
    1226             : }
    1227             : 
    1228             : int
    1229           0 : gcry_md_is_secure (gcry_md_hd_t a)
    1230             : {
    1231           0 :   return _gcry_md_is_secure (a);
    1232             : }
    1233             : 
    1234             : gcry_error_t
    1235           0 : gcry_md_info (gcry_md_hd_t h, int what, void *buffer, size_t *nbytes)
    1236             : {
    1237           0 :   if (!fips_is_operational ())
    1238           0 :     return gpg_error (fips_not_operational ());
    1239             : 
    1240           0 :   return gpg_error (_gcry_md_info (h, what, buffer, nbytes));
    1241             : }
    1242             : 
    1243             : gcry_error_t
    1244        3967 : gcry_md_algo_info (int algo, int what, void *buffer, size_t *nbytes)
    1245             : {
    1246        3967 :   return gpg_error (_gcry_md_algo_info (algo, what, buffer, nbytes));
    1247             : }
    1248             : 
    1249             : const char *
    1250          94 : gcry_md_algo_name (int algo)
    1251             : {
    1252          94 :   return _gcry_md_algo_name (algo);
    1253             : }
    1254             : 
    1255             : int
    1256          95 : gcry_md_map_name (const char* name)
    1257             : {
    1258          95 :   return _gcry_md_map_name (name);
    1259             : }
    1260             : 
    1261             : gcry_error_t
    1262          35 : gcry_md_setkey (gcry_md_hd_t hd, const void *key, size_t keylen)
    1263             : {
    1264          35 :   if (!fips_is_operational ())
    1265           0 :     return gpg_error (fips_not_operational ());
    1266          35 :   return gpg_error (_gcry_md_setkey (hd, key, keylen));
    1267             : }
    1268             : 
    1269             : void
    1270           0 : gcry_md_debug (gcry_md_hd_t hd, const char *suffix)
    1271             : {
    1272           0 :   _gcry_md_debug (hd, suffix);
    1273           0 : }
    1274             : 
    1275             : gpg_error_t
    1276        7063 : gcry_kdf_derive (const void *passphrase, size_t passphraselen,
    1277             :                  int algo, int hashalgo,
    1278             :                  const void *salt, size_t saltlen,
    1279             :                  unsigned long iterations,
    1280             :                  size_t keysize, void *keybuffer)
    1281             : {
    1282        7063 :   return gpg_error (_gcry_kdf_derive (passphrase, passphraselen, algo, hashalgo,
    1283             :                                       salt, saltlen, iterations,
    1284             :                                       keysize, keybuffer));
    1285             : }
    1286             : 
    1287             : void
    1288         235 : gcry_randomize (void *buffer, size_t length, enum gcry_random_level level)
    1289             : {
    1290         235 :   if (!fips_is_operational ())
    1291             :     {
    1292             :       (void)fips_not_operational ();
    1293           0 :       fips_signal_fatal_error ("called in non-operational state");
    1294           0 :       fips_noreturn ();
    1295             :     }
    1296         235 :   _gcry_randomize (buffer, length, level);
    1297         235 : }
    1298             : 
    1299             : gcry_error_t
    1300           0 : gcry_random_add_bytes (const void *buffer, size_t length, int quality)
    1301             : {
    1302           0 :   if (!fips_is_operational ())
    1303           0 :     return gpg_error (fips_not_operational ());
    1304           0 :   return gpg_error (_gcry_random_add_bytes (buffer, length, quality));
    1305             : }
    1306             : 
    1307             : void *
    1308           0 : gcry_random_bytes (size_t nbytes, enum gcry_random_level level)
    1309             : {
    1310           0 :   if (!fips_is_operational ())
    1311             :     {
    1312             :       (void)fips_not_operational ();
    1313           0 :       fips_signal_fatal_error ("called in non-operational state");
    1314           0 :       fips_noreturn ();
    1315             :     }
    1316             : 
    1317           0 :   return _gcry_random_bytes (nbytes,level);
    1318             : }
    1319             : 
    1320             : void *
    1321           0 : gcry_random_bytes_secure (size_t nbytes, enum gcry_random_level level)
    1322             : {
    1323           0 :   if (!fips_is_operational ())
    1324             :     {
    1325             :       (void)fips_not_operational ();
    1326           0 :       fips_signal_fatal_error ("called in non-operational state");
    1327           0 :       fips_noreturn ();
    1328             :     }
    1329             : 
    1330           0 :   return _gcry_random_bytes_secure (nbytes, level);
    1331             : }
    1332             : 
    1333             : void
    1334         128 : gcry_mpi_randomize (gcry_mpi_t w,
    1335             :                     unsigned int nbits, enum gcry_random_level level)
    1336             : {
    1337         128 :   _gcry_mpi_randomize (w, nbits, level);
    1338         128 : }
    1339             : 
    1340             : void
    1341        8023 : gcry_create_nonce (void *buffer, size_t length)
    1342             : {
    1343        8023 :   if (!fips_is_operational ())
    1344             :     {
    1345             :       (void)fips_not_operational ();
    1346           0 :       fips_signal_fatal_error ("called in non-operational state");
    1347           0 :       fips_noreturn ();
    1348             :     }
    1349        8023 :   _gcry_create_nonce (buffer, length);
    1350        8022 : }
    1351             : 
    1352             : gcry_error_t
    1353           2 : gcry_prime_generate (gcry_mpi_t *prime,
    1354             :                      unsigned int prime_bits,
    1355             :                      unsigned int factor_bits,
    1356             :                      gcry_mpi_t **factors,
    1357             :                      gcry_prime_check_func_t cb_func,
    1358             :                      void *cb_arg,
    1359             :                      gcry_random_level_t random_level,
    1360             :                      unsigned int flags)
    1361             : {
    1362           2 :   return gpg_error (_gcry_prime_generate (prime, prime_bits, factor_bits,
    1363             :                                           factors, cb_func, cb_arg,
    1364             :                                           random_level, flags));
    1365             : }
    1366             : 
    1367             : gcry_error_t
    1368           2 : gcry_prime_group_generator (gcry_mpi_t *r_g,
    1369             :                             gcry_mpi_t prime, gcry_mpi_t *factors,
    1370             :                             gcry_mpi_t start_g)
    1371             : {
    1372           2 :   return gpg_error (_gcry_prime_group_generator (r_g, prime, factors, start_g));
    1373             : }
    1374             : 
    1375             : void
    1376           2 : gcry_prime_release_factors (gcry_mpi_t *factors)
    1377             : {
    1378           2 :   _gcry_prime_release_factors (factors);
    1379           2 : }
    1380             : 
    1381             : gcry_error_t
    1382           4 : gcry_prime_check (gcry_mpi_t x, unsigned int flags)
    1383             : {
    1384           4 :   return gpg_error (_gcry_prime_check (x, flags));
    1385             : }
    1386             : 
    1387             : void
    1388          13 : gcry_ctx_release (gcry_ctx_t ctx)
    1389             : {
    1390          13 :   _gcry_ctx_release (ctx);
    1391          13 : }
    1392             : 
    1393             : void
    1394           0 : gcry_log_debug (const char *fmt, ...)
    1395             : {
    1396             :   va_list arg_ptr ;
    1397             : 
    1398           0 :   va_start( arg_ptr, fmt ) ;
    1399           0 :   _gcry_logv (GCRY_LOG_DEBUG, fmt, arg_ptr);
    1400           0 :   va_end (arg_ptr);
    1401           0 : }
    1402             : 
    1403             : void
    1404           0 : gcry_log_debughex (const char *text, const void *buffer, size_t length)
    1405             : {
    1406           0 :   _gcry_log_printhex (text, buffer, length);
    1407           0 : }
    1408             : 
    1409             : void
    1410           0 : gcry_log_debugmpi (const char *text, gcry_mpi_t mpi)
    1411             : {
    1412           0 :   _gcry_log_printmpi (text, mpi);
    1413           0 : }
    1414             : 
    1415             : void
    1416           0 : gcry_log_debugpnt (const char *text, mpi_point_t point, gcry_ctx_t ctx)
    1417             : {
    1418           0 :   mpi_ec_t ec = ctx? _gcry_ctx_get_pointer (ctx, CONTEXT_TYPE_EC) : NULL;
    1419             : 
    1420           0 :   _gcry_mpi_point_log (text, point, ec);
    1421           0 : }
    1422             : 
    1423             : void
    1424           0 : gcry_log_debugsxp (const char *text, gcry_sexp_t sexp)
    1425             : {
    1426           0 :   _gcry_log_printsxp (text, sexp);
    1427           0 : }
    1428             : 
    1429             : void
    1430           1 : gcry_set_progress_handler (gcry_handler_progress_t cb, void *cb_data)
    1431             : {
    1432           1 :   _gcry_set_progress_handler (cb, cb_data);
    1433           1 : }
    1434             : 
    1435             : void
    1436           0 : gcry_set_allocation_handler (gcry_handler_alloc_t func_alloc,
    1437             :                              gcry_handler_alloc_t func_alloc_secure,
    1438             :                              gcry_handler_secure_check_t func_secure_check,
    1439             :                              gcry_handler_realloc_t func_realloc,
    1440             :                              gcry_handler_free_t func_free)
    1441             : {
    1442           0 :   _gcry_set_allocation_handler (func_alloc, func_alloc_secure,
    1443             :                                 func_secure_check, func_realloc, func_free);
    1444           0 : }
    1445             : 
    1446             : void
    1447           0 : gcry_set_outofcore_handler (gcry_handler_no_mem_t h, void *opaque)
    1448             : {
    1449           0 :   _gcry_set_outofcore_handler (h, opaque);
    1450           0 : }
    1451             : 
    1452             : void
    1453           0 : gcry_set_fatalerror_handler (gcry_handler_error_t fnc, void *opaque)
    1454             : {
    1455           0 :   _gcry_set_fatalerror_handler (fnc, opaque);
    1456           0 : }
    1457             : 
    1458             : void
    1459           0 : gcry_set_log_handler (gcry_handler_log_t f, void *opaque)
    1460             : {
    1461           0 :   _gcry_set_log_handler (f, opaque);
    1462           0 : }
    1463             : 
    1464             : void
    1465           0 : gcry_set_gettext_handler (const char *(*f)(const char*))
    1466             : {
    1467           0 :   _gcry_set_gettext_handler (f);
    1468           0 : }
    1469             : 
    1470             : void *
    1471         170 : gcry_malloc (size_t n)
    1472             : {
    1473         170 :   return _gcry_malloc (n);
    1474             : }
    1475             : 
    1476             : void *
    1477           0 : gcry_calloc (size_t n, size_t m)
    1478             : {
    1479           0 :   return _gcry_calloc (n, m);
    1480             : }
    1481             : 
    1482             : void *
    1483           0 : gcry_malloc_secure (size_t n)
    1484             : {
    1485           0 :   return _gcry_malloc_secure (n);
    1486             : }
    1487             : 
    1488             : void *
    1489           0 : gcry_calloc_secure (size_t n, size_t m)
    1490             : {
    1491           0 :   return _gcry_calloc_secure (n,m);
    1492             : }
    1493             : 
    1494             : void *
    1495           0 : gcry_realloc (void *a, size_t n)
    1496             : {
    1497           0 :   return _gcry_realloc (a, n);
    1498             : }
    1499             : 
    1500             : char *
    1501           0 : gcry_strdup (const char *string)
    1502             : {
    1503           0 :   return _gcry_strdup (string);
    1504             : }
    1505             : 
    1506             : void *
    1507       25370 : gcry_xmalloc (size_t n)
    1508             : {
    1509       25370 :   return _gcry_xmalloc (n);
    1510             : }
    1511             : 
    1512             : void *
    1513          24 : gcry_xcalloc (size_t n, size_t m)
    1514             : {
    1515          24 :   return _gcry_xcalloc (n, m);
    1516             : }
    1517             : 
    1518             : void *
    1519           1 : gcry_xmalloc_secure (size_t n)
    1520             : {
    1521           1 :   return _gcry_xmalloc_secure (n);
    1522             : }
    1523             : 
    1524             : void *
    1525           0 : gcry_xcalloc_secure (size_t n, size_t m)
    1526             : {
    1527           0 :   return _gcry_xcalloc_secure (n, m);
    1528             : }
    1529             : 
    1530             : void *
    1531           0 : gcry_xrealloc (void *a, size_t n)
    1532             : {
    1533           0 :   return _gcry_xrealloc (a, n);
    1534             : }
    1535             : 
    1536             : char *
    1537        9242 : gcry_xstrdup (const char *a)
    1538             : {
    1539        9242 :   return _gcry_xstrdup (a);
    1540             : }
    1541             : 
    1542             : void
    1543       41082 : gcry_free (void *a)
    1544             : {
    1545       41082 :   _gcry_free (a);
    1546       41082 : }
    1547             : 
    1548             : int
    1549           1 : gcry_is_secure (const void *a)
    1550             : {
    1551           1 :   return _gcry_is_secure (a);
    1552             : }

Generated by: LCOV version 1.11