This file is indexed.

/usr/include/saf/ais_membership.h is in libheartbeat2-dev 1:3.0.5-3.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
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
88
89
90
91
92
#ifndef _AIS_MEMBERSHIP_H_
#define _AIS_MEMBERSHIP_H_

#include "ais_base.h"

/* Chapter 6 */
#ifdef __CPLUSPLUS
extern "C"{
#endif

typedef SaUint32T SaClmHandleT;
typedef SaUint32T SaClmNodeIdT;

#define SA_CLM_MAX_ADDRESS_LENGTH 64
typedef struct {
    SaUint8T length;
    char value[SA_CLM_MAX_ADDRESS_LENGTH];
} SaClmNodeAddressT;

typedef struct {
    SaClmNodeIdT nodeId;
    SaClmNodeAddressT nodeAddress;
    SaNameT nodeName;
    SaNameT clusterName;
    SaBoolT member;
    SaTimeT bootTimestamp;
} SaClmClusterNodeT;

typedef enum {
    SA_CLM_NODE_NO_CHANGE = 1,
    SA_CLM_NODE_JOINED = 2,
    SA_CLM_NODE_LEFT = 3
} SaClmClusterChangesT;

typedef struct {
    SaClmClusterNodeT clusterNode;
    SaClmClusterChangesT clusterChanges;
} SaClmClusterNotificationT;

typedef void 
(*SaClmClusterTrackCallbackT) (SaClmClusterNotificationT *notificationBuffer,
                               SaUint32T numberOfItems,
                               SaUint32T numberOfMembers,
                               SaUint64T viewNumber,
                               SaErrorT error);
typedef void 
(*SaClmClusterNodeGetCallbackT)(SaInvocationT invocation,
                                SaClmClusterNodeT *clusterNode,
                                SaErrorT error);

typedef struct {
    SaClmClusterNodeGetCallbackT saClmClusterNodeGetCallback;
    SaClmClusterTrackCallbackT   saClmClusterTrackCallback;
} SaClmCallbacksT;

    SaErrorT 
saClmInitialize(SaClmHandleT *clmHandle, const SaClmCallbacksT *clmCallbacks,
                const SaVersionT *version);

    SaErrorT 
saClmSelectionObjectGet(const SaClmHandleT *clmHandle, 
                        SaSelectionObjectT *selectionObject);

    SaErrorT
saClmDispatch(const SaClmHandleT *clmHandle, 
              SaDispatchFlagsT dispatchFlags);

    SaErrorT 
saClmFinalize(SaClmHandleT *clmHandle);

    SaErrorT 
saClmClusterTrackStart(const SaClmHandleT *clmHandle,
                       SaUint8T trackFlags,
                       SaClmClusterNotificationT *notificationBuffer,
                       SaUint32T numberOfItems);
    SaErrorT 
saClmClusterTrackStop(const SaClmHandleT *clmHandle);

    SaErrorT 
saClmClusterNodeGet(SaClmNodeIdT nodeId, SaTimeT timeout,
                    SaClmClusterNodeT *clusterNode);

    SaErrorT
saClmClusterNodeGetAsync(const SaClmHandleT *clmHandle,
                         SaInvocationT invocation,
                         SaClmNodeIdT nodeId,
                         SaClmClusterNodeT *clusterNode);
#ifdef __CPLUSPLUS
}
#endif

#endif /* _AIS_MEMBERSHIP_H_ */