This file is indexed.

/usr/include/gm_protocol.h is in libganglia1-dev 3.6.0-7ubuntu2.

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
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
/*
 * Please do not edit this file.
 * It was generated using rpcgen.
 */

#ifndef _GM_PROTOCOL_H_RPCGEN
#define _GM_PROTOCOL_H_RPCGEN

#include <rpc/rpc.h>


#ifdef __cplusplus
extern "C" {
#endif

#define UDP_HEADER_SIZE 28
#define MAX_DESC_LEN 128
#define GM_PROTOCOL_GUARD

enum Ganglia_value_types {
	GANGLIA_VALUE_UNKNOWN = 0,
	GANGLIA_VALUE_STRING = 1,
	GANGLIA_VALUE_UNSIGNED_SHORT = 2,
	GANGLIA_VALUE_SHORT = 3,
	GANGLIA_VALUE_UNSIGNED_INT = 4,
	GANGLIA_VALUE_INT = 5,
	GANGLIA_VALUE_FLOAT = 6,
	GANGLIA_VALUE_DOUBLE = 7,
};
typedef enum Ganglia_value_types Ganglia_value_types;

struct Ganglia_extra_data {
	char *name;
	char *data;
};
typedef struct Ganglia_extra_data Ganglia_extra_data;

struct Ganglia_metadata_message {
	char *type;
	char *name;
	char *units;
	u_int slope;
	u_int tmax;
	u_int dmax;
	struct {
		u_int metadata_len;
		struct Ganglia_extra_data *metadata_val;
	} metadata;
};
typedef struct Ganglia_metadata_message Ganglia_metadata_message;

struct Ganglia_metric_id {
	char *host;
	char *name;
	bool_t spoof;
};
typedef struct Ganglia_metric_id Ganglia_metric_id;

struct Ganglia_metadatadef {
	struct Ganglia_metric_id metric_id;
	struct Ganglia_metadata_message metric;
};
typedef struct Ganglia_metadatadef Ganglia_metadatadef;

struct Ganglia_metadatareq {
	struct Ganglia_metric_id metric_id;
};
typedef struct Ganglia_metadatareq Ganglia_metadatareq;

struct Ganglia_gmetric_ushort {
	struct Ganglia_metric_id metric_id;
	char *fmt;
	u_short us;
};
typedef struct Ganglia_gmetric_ushort Ganglia_gmetric_ushort;

struct Ganglia_gmetric_short {
	struct Ganglia_metric_id metric_id;
	char *fmt;
	short ss;
};
typedef struct Ganglia_gmetric_short Ganglia_gmetric_short;

struct Ganglia_gmetric_int {
	struct Ganglia_metric_id metric_id;
	char *fmt;
	int si;
};
typedef struct Ganglia_gmetric_int Ganglia_gmetric_int;

struct Ganglia_gmetric_uint {
	struct Ganglia_metric_id metric_id;
	char *fmt;
	u_int ui;
};
typedef struct Ganglia_gmetric_uint Ganglia_gmetric_uint;

struct Ganglia_gmetric_string {
	struct Ganglia_metric_id metric_id;
	char *fmt;
	char *str;
};
typedef struct Ganglia_gmetric_string Ganglia_gmetric_string;

struct Ganglia_gmetric_float {
	struct Ganglia_metric_id metric_id;
	char *fmt;
	float f;
};
typedef struct Ganglia_gmetric_float Ganglia_gmetric_float;

struct Ganglia_gmetric_double {
	struct Ganglia_metric_id metric_id;
	char *fmt;
	double d;
};
typedef struct Ganglia_gmetric_double Ganglia_gmetric_double;

enum Ganglia_msg_formats {
	gmetadata_full = 128,
	gmetric_ushort = 128 + 1,
	gmetric_short = 128 + 2,
	gmetric_int = 128 + 3,
	gmetric_uint = 128 + 4,
	gmetric_string = 128 + 5,
	gmetric_float = 128 + 6,
	gmetric_double = 128 + 7,
	gmetadata_request = 128 + 8,
};
typedef enum Ganglia_msg_formats Ganglia_msg_formats;

struct Ganglia_metadata_msg {
	Ganglia_msg_formats id;
	union {
		Ganglia_metadatadef gfull;
		Ganglia_metadatareq grequest;
	} Ganglia_metadata_msg_u;
};
typedef struct Ganglia_metadata_msg Ganglia_metadata_msg;

struct Ganglia_value_msg {
	Ganglia_msg_formats id;
	union {
		Ganglia_gmetric_ushort gu_short;
		Ganglia_gmetric_short gs_short;
		Ganglia_gmetric_int gs_int;
		Ganglia_gmetric_uint gu_int;
		Ganglia_gmetric_string gstr;
		Ganglia_gmetric_float gf;
		Ganglia_gmetric_double gd;
	} Ganglia_value_msg_u;
};
typedef struct Ganglia_value_msg Ganglia_value_msg;

struct Ganglia_25metric {
	int key;
	char *name;
	int tmax;
	Ganglia_value_types type;
	char *units;
	char *slope;
	char *fmt;
	int msg_size;
	char *desc;
	int *metadata;
};
typedef struct Ganglia_25metric Ganglia_25metric;
 #define GANGLIA_MAX_MESSAGE_LEN (1500 - 28 - 8)
#define modular_metric 4098

/* the xdr functions */

#if defined(__STDC__) || defined(__cplusplus)
extern  bool_t xdr_Ganglia_value_types (XDR *, Ganglia_value_types*);
extern  bool_t xdr_Ganglia_extra_data (XDR *, Ganglia_extra_data*);
extern  bool_t xdr_Ganglia_metadata_message (XDR *, Ganglia_metadata_message*);
extern  bool_t xdr_Ganglia_metric_id (XDR *, Ganglia_metric_id*);
extern  bool_t xdr_Ganglia_metadatadef (XDR *, Ganglia_metadatadef*);
extern  bool_t xdr_Ganglia_metadatareq (XDR *, Ganglia_metadatareq*);
extern  bool_t xdr_Ganglia_gmetric_ushort (XDR *, Ganglia_gmetric_ushort*);
extern  bool_t xdr_Ganglia_gmetric_short (XDR *, Ganglia_gmetric_short*);
extern  bool_t xdr_Ganglia_gmetric_int (XDR *, Ganglia_gmetric_int*);
extern  bool_t xdr_Ganglia_gmetric_uint (XDR *, Ganglia_gmetric_uint*);
extern  bool_t xdr_Ganglia_gmetric_string (XDR *, Ganglia_gmetric_string*);
extern  bool_t xdr_Ganglia_gmetric_float (XDR *, Ganglia_gmetric_float*);
extern  bool_t xdr_Ganglia_gmetric_double (XDR *, Ganglia_gmetric_double*);
extern  bool_t xdr_Ganglia_msg_formats (XDR *, Ganglia_msg_formats*);
extern  bool_t xdr_Ganglia_metadata_msg (XDR *, Ganglia_metadata_msg*);
extern  bool_t xdr_Ganglia_value_msg (XDR *, Ganglia_value_msg*);
extern  bool_t xdr_Ganglia_25metric (XDR *, Ganglia_25metric*);

#else /* K&R C */
extern bool_t xdr_Ganglia_value_types ();
extern bool_t xdr_Ganglia_extra_data ();
extern bool_t xdr_Ganglia_metadata_message ();
extern bool_t xdr_Ganglia_metric_id ();
extern bool_t xdr_Ganglia_metadatadef ();
extern bool_t xdr_Ganglia_metadatareq ();
extern bool_t xdr_Ganglia_gmetric_ushort ();
extern bool_t xdr_Ganglia_gmetric_short ();
extern bool_t xdr_Ganglia_gmetric_int ();
extern bool_t xdr_Ganglia_gmetric_uint ();
extern bool_t xdr_Ganglia_gmetric_string ();
extern bool_t xdr_Ganglia_gmetric_float ();
extern bool_t xdr_Ganglia_gmetric_double ();
extern bool_t xdr_Ganglia_msg_formats ();
extern bool_t xdr_Ganglia_metadata_msg ();
extern bool_t xdr_Ganglia_value_msg ();
extern bool_t xdr_Ganglia_25metric ();

#endif /* K&R C */

#ifdef __cplusplus
}
#endif

#endif /* !_GM_PROTOCOL_H_RPCGEN */