This file is indexed.

/usr/include/odil/endian.h is in libodil0-dev 0.4.1-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/*************************************************************************
 * odil - Copyright (C) Universite de Strasbourg
 * Distributed under the terms of the CeCILL-B license, as published by
 * the CEA-CNRS-INRIA. Refer to the LICENSE file or to
 * http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
 * for details.
 ************************************************************************/

#ifndef _05d00816_25d0_41d1_9768_afd39f0503da
#define _05d00816_25d0_41d1_9768_afd39f0503da

#include <boost/detail/endian.hpp>

#define ODIL_SWAP \
    auto source = reinterpret_cast<char const *>(&value); \
    auto const end = source + sizeof(value); \
    T result; \
    auto destination = reinterpret_cast<char *>(&result) + sizeof(result) - 1; \
    while(source != end) \
    { \
        *destination = *source; \
        ++source; \
        --destination; \
    }

namespace odil
{

enum class ByteOrdering
{
    LittleEndian,
    BigEndian
};

template<typename T>
T host_to_big_endian(T const & value)
{
#ifdef BOOST_LITTLE_ENDIAN
    ODIL_SWAP

    return result;
#else
    return value;
#endif
}

template<typename T>
T host_to_little_endian(T const & value)
{
#ifdef BOOST_BIG_ENDIAN
    ODIL_SWAP

    return result;
#else
    return value;
#endif
}

template<typename T>
T big_endian_to_host(T const & value)
{
#ifdef BOOST_LITTLE_ENDIAN
    ODIL_SWAP

    return result;
#else
    return value;
#endif
}

template<typename T>
T little_endian_to_host(T const & value)
{
#ifdef BOOST_BIG_ENDIAN
    ODIL_SWAP

    return result;
#else
    return value;
#endif
}

}

#undef ODIL_SWAP

#endif // _05d00816_25d0_41d1_9768_afd39f0503da