## Coverage Report

#### Created: 2023-09-23 17:42

    /libfido2/openbsd-compat/openbsd-compat.h

    Line
    Count
    Source
    1
    /*
    2
     * Copyright (c) 2018-2021 Yubico AB. All rights reserved.
    3
     * Use of this source code is governed by a BSD-style
    4
     * license that can be found in the LICENSE file.
    5
     * SPDX-License-Identifier: BSD-2-Clause
    6
     */
    7
    8
    #ifndef _OPENBSD_COMPAT_H
    9
    #define _OPENBSD_COMPAT_H
    10
    11
    #if defined(_MSC_VER)
    12
    #include "types.h"
    13
    #endif
    14
    15
    #if defined(HAVE_ENDIAN_H)
    16
    #include <endian.h>
    17
    #endif
    18
    19
    #if defined(__APPLE__) && !defined(HAVE_ENDIAN_H)
    20
    #include <libkern/OSByteOrder.h>
    21
    #define be16toh(x) OSSwapBigToHostInt16((x))
    22
    #define htobe16(x) OSSwapHostToBigInt16((x))
    23
    #define be32toh(x) OSSwapBigToHostInt32((x))
    24
    #define htobe32(x) OSSwapHostToBigInt32((x))
    25
    #define htole32(x) OSSwapHostToLittleInt32((x))
    26
    #define htole64(x) OSSwapHostToLittleInt64((x))
    27
    #endif /* __APPLE__ && !HAVE_ENDIAN_H */
    28
    29
    #if defined(_WIN32) && !defined(HAVE_ENDIAN_H)
    30
    #include <stdint.h>
    31
    #include <winsock2.h>
    32
    #if !defined(_MSC_VER)
    33
    #include <sys/param.h>
    34
    #endif
    35
    #define be16toh(x) ntohs((x))
    36
    #define htobe16(x) htons((x))
    37
    #define be32toh(x) ntohl((x))
    38
    #define htobe32(x) htonl((x))
    39
    uint32_t htole32(uint32_t);
    40
    uint64_t htole64(uint64_t);
    41
    #endif /* _WIN32 && !HAVE_ENDIAN_H */
    42
    43
    #if (defined(__FreeBSD__) || defined(__MidnightBSD__)) && !defined(HAVE_ENDIAN_H)
    44
    #include <sys/endian.h>
    45
    #endif
    46
    47
    #include <stdlib.h>
    48
    #include <string.h>
    49
    50
    #if !defined(HAVE_STRLCAT)
    51
    size_t strlcat(char *, const char *, size_t);
    52
    #endif
    53
    54
    #if !defined(HAVE_STRLCPY)
    55
    size_t strlcpy(char *, const char *, size_t);
    56
    #endif
    57
    58
    #if !defined(HAVE_STRSEP)
    59
    char *strsep(char **, const char *);
    60
    #endif
    61
    62
    #if !defined(HAVE_RECALLOCARRAY)
    63
    void *recallocarray(void *, size_t, size_t, size_t);
    64
    #endif
    65
    66
    #if !defined(HAVE_EXPLICIT_BZERO)
    67
    void explicit_bzero(void *, size_t);
    68
    #endif
    69
    70
    #if !defined(HAVE_FREEZERO)
    71
    void freezero(void *, size_t);
    72
    #endif
    73
    74
    #if !defined(HAVE_GETPAGESIZE)
    75
    int getpagesize(void);
    76
    #endif
    77
    78
    #if !defined(HAVE_TIMINGSAFE_BCMP)
    79
    int timingsafe_bcmp(const void *, const void *, size_t);
    80
    #endif
    81
    82
    #if !defined(HAVE_READPASSPHRASE)
    83
    #include "readpassphrase.h"
    84
    #else
    85
    #include <readpassphrase.h>
    86
    #endif
    87
    88
    #include <openssl/opensslv.h>
    89
    90
    #if !defined(HAVE_ERR_H)
    91
    #include "err.h"
    92
    #else
    93
    #include <err.h>
    94
    #endif
    95
    96
    #if !defined(HAVE_GETOPT)
    97
    #include "getopt.h"
    98
    #else
    99
    #include <unistd.h>
    100
    #endif
    101
    102
    #if !defined(HAVE_GETLINE)
    103
    #include <stdio.h>
    104
    ssize_t getline(char **, size_t *, FILE *);
    105
    #endif
    106
    107
    #if defined(_MSC_VER)
    108
    #define strerror_r(e, b, l) strerror_s((b), (l), (e))
    109
    #endif
    110
    111
    #include "time.h"
    112
    113
    #if !defined(HAVE_POSIX_IOCTL)
    114
    #define IOCTL_REQ(x)    (x)
    115
    #else
    116
    2.90M
    #define IOCTL_REQ(x)    ((int)(x))
    117
    #endif
    118
    119
    #if !defined(HAVE_ASPRINTF)
    120
    int asprintf(char **, const char *, ...);
    121
    #endif
    122
    123
    #endif /* !_OPENBSD_COMPAT_H */