Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:02:15

0001 /* memops.h
0002 
0003    Copyright (C) 2016 Niels Möller
0004 
0005    This file is part of GNU Nettle.
0006 
0007    GNU Nettle is free software: you can redistribute it and/or
0008    modify it under the terms of either:
0009 
0010      * the GNU Lesser General Public License as published by the Free
0011        Software Foundation; either version 3 of the License, or (at your
0012        option) any later version.
0013 
0014    or
0015 
0016      * the GNU General Public License as published by the Free
0017        Software Foundation; either version 2 of the License, or (at your
0018        option) any later version.
0019 
0020    or both in parallel, as here.
0021 
0022    GNU Nettle is distributed in the hope that it will be useful,
0023    but WITHOUT ANY WARRANTY; without even the implied warranty of
0024    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0025    General Public License for more details.
0026 
0027    You should have received copies of the GNU General Public License and
0028    the GNU Lesser General Public License along with this program.  If
0029    not, see http://www.gnu.org/licenses/.
0030 */
0031 
0032 #ifndef NETTLE_MEMOPS_H_INCLUDED
0033 #define NETTLE_MEMOPS_H_INCLUDED
0034 
0035 #include "memxor.h"
0036 
0037 #ifdef __cplusplus
0038 extern "C" {
0039 #endif
0040 
0041 /* Name mangling */
0042 #define cnd_memcpy nettle_cnd_memcpy
0043 #define memeql_sec nettle_memeql_sec
0044 
0045 int
0046 memeql_sec (const void *a, const void *b, size_t n);
0047 
0048 /* Side-channel silent conditional memcpy. cnd must be 0 (nop) or 1
0049    (copy). */
0050 void
0051 cnd_memcpy(int cnd, volatile void *dst, const volatile void *src, size_t n);
0052 
0053 #ifdef __cplusplus
0054 }
0055 #endif
0056 
0057 #endif /* NETTLE_MEMOPS_H_INCLUDED */