This file is indexed.

/usr/include/cln/modules.h is in libcln-dev 1.3.4-2.

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
// Macros for correct module ordering.

#ifndef _CL_MODULES_H
#define _CL_MODULES_H

// global constructor/destructor naming.
#include "cln/config.h"

// Concatenation of macroexpanded tokens.
// Equivalent to CL_CONCAT in src/base/cl_macros.h which we do not want
// to expose, however.
#define CL_CONCATENATE_(xxx,yyy)  xxx##yyy
#define CL_CONCATENATE(xxx,yyy)  CL_CONCATENATE_(xxx,yyy)

// Sometimes a link time dependency is needed, but without requirements
// on initialization order.
//
// CL_FORCE_LINK(dummy,external_variable)
// forces a link time reference to the external_variable.
#include <cstdlib>
#if 0
// This definition does not work.  It gets optimized away by g++ 3.1.
#define CL_FORCE_LINK(dummy,external_variable) \
  static const void* const dummy[] = { &dummy, &external_variable };
#else
#define CL_FORCE_LINK(dummy,external_variable) \
  static const								\
  struct dummy {							\
    inline dummy () {							\
      if ((void*) &external_variable == (void*) this)			\
        abort();							\
    }									\
  }									\
  CL_CONCATENATE(dummy,_instance);
#endif

#endif /* _CL_MODULES_H */