This file is indexed.

/usr/include/root/Api.h is in libroot-core-dev 5.34.00-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
 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
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
/* /% C++ %/ */
/***********************************************************************
 * cint (C/C++ interpreter)
 ************************************************************************
 * Header file Api.h
 ************************************************************************
 * Description:
 *  Extended Run Time Type Identification API
 *   -I$(CINTSYSDIR) -I$(CINTSYSDIR)/src must be given at compile time
 ************************************************************************
 * Copyright(c) 1995~1999  Masaharu Goto
 *
 * For the licensing terms see the file COPYING
 *
 ************************************************************************/

#ifndef G__API_H
#define G__API_H

/*********************************************************************
* include header files
*********************************************************************/

#ifndef G__API
#define G__API
#endif
#include "G__ci.h"
#ifdef __MAKECINT__
#pragma link off all classes;
#pragma link off all functions;
#pragma link off all globals;
#pragma link off all typedefs;
#endif

#define G__INFO_BUFLEN 50
/* #define G__INFO_TITLELEN 256 */
#define G__INFO_TITLELEN G__ONELINE

#ifndef G__PROPERTY_H
#include "Property.h"
#endif
#ifndef G__CLASSINFO_H
#include "Class.h"
#endif
#ifndef G__BaseClassInfo_H
#include "BaseCls.h"
#endif
#ifndef G__TYPEINFOX_H
#include "Type.h"
#endif
#ifndef G__METHODINFO_H
#include "Method.h"
#endif
#ifndef G__METHODARGINFO_H
#include "MethodAr.h"
#endif
#ifndef G__DATAMEMBER_H
#include "DataMbr.h"
#endif
#ifndef G__CALLFUNC_H
#include "CallFunc.h"
#endif
#ifndef G__TYPEDEFINFO_H
#include "Typedf.h"
#endif
#ifndef G__TOKENINFO_H
#include "Token.h"
#endif

#include <vector>
#include <string>

#ifndef __CINT__
struct G__includepath;
#endif

extern "C" {
#ifndef __CINT__
G__EXPORT
#endif
int G__Lsizeof(const char *typenamein);
}

struct G__ConstStringList;
struct G__Preprocessfilekey;
struct G__Deffuncmacro;
struct G__Definedtemplateclass;
struct G__Definetemplatefunc;

/*********************************************************************
 * scratch upto dictionary position
 *********************************************************************/
struct G__dictposition {
   /* global variable table position */
   struct G__var_array *var;
   int ig15;
   /* struct tagnum */
   int tagnum;
   /* const string table */
   struct G__ConstStringList *conststringpos;
   /* typedef table */
   int typenum;
   /* global function table position */
   struct G__ifunc_table *ifunc;
   int ifn;
   /* include path */
   struct G__includepath *ipath;
   /* shared library file */
   int allsl;
   /* preprocessfilekey */
   struct G__Preprocessfilekey *preprocessfilekey;
   /* input file */
   int nfile;
   /* macro table */
   struct G__Deffuncmacro *deffuncmacro;
   /* template class */
   struct G__Definedtemplateclass *definedtemplateclass;
   /* function template */
   struct G__Definetemplatefunc *definedtemplatefunc;
   
   int nactives; /* number of 'active' classes */
};

namespace Cint {

/*********************************************************************
* $xxx object resolution function, pointer to a class object
*
* Usage:
*
*  void YourGetObject(char *name,G__ClassInfo *type) {
*     void *p;
*     // Whatever you want to fill type and pointetr to the object info
*     return(p);
*  }
*
*  ROOT_Initialization() {
*     // set pointer to yourown interface method
*     G__InitGetSpecialObject(YourGetObject);
*  }
*********************************************************************/
typedef void *(*G__pMethodSpecialObject)(char *item,G__ClassInfo *typeinfo
                                         ,void** pptr,void** ppdict);
#ifndef __CINT__
G__EXPORT
#endif
void G__InitGetSpecialObject(G__pMethodSpecialObject pmethod);

/*********************************************************************
* $xxx object resolution function, Generic
*********************************************************************/
typedef void (*G__pMethodSpecialValue)(char *item,G__TypeInfo *typeinfo
                                       ,long *pl,double *pd,void** pptr
                                       ,void** ppdict);
#ifndef __CINT__
G__EXPORT
#endif
void G__InitGetSpecialValue(G__pMethodSpecialValue pmethod);


#ifndef __CINT__
G__EXPORT
#endif
int G__SetGlobalcomp(char *funcname,char *param,int globalcomp); // Method.cxx
int G__SetForceStub(char *funcname,char *param); // Method.cxx

#ifndef __CINT__
G__EXPORT
#endif
int G__ForceBytecodecompilation(char *funcname,char *param); // Method.cxx

/*********************************************************************
* Feedback routine in case tagnum for a class changes (in case the
* dictionary of a shared lib is being re-initialized).
*********************************************************************/
typedef void (*G__pMethodUpdateClassInfo)(char *item,long tagnum);

#ifndef __CINT__
G__EXPORT
#endif
void G__InitUpdateClassInfo(G__pMethodUpdateClassInfo pmethod);

#ifndef __CINT__
G__EXPORT
#endif
void* G__new_interpreted_object(int size);

#ifndef __CINT__
G__EXPORT
#endif
void G__delete_interpreted_object(void* p);

/*********************************************************************
* Generate dictionary.
*********************************************************************/
   typedef int (*G__pGenerateDictionary)(const std::string &className,const std::vector<std::string> &headers, const std::vector<std::string> &fwdDecls, const std::vector<std::string> &unknown);

#ifndef __CINT__
G__EXPORT
#endif
void G__InitGenerateDictionary( G__pGenerateDictionary gdict );

#ifndef __CINT__
G__EXPORT
#endif
G__pGenerateDictionary G__GetGenerateDictionary();


/*********************************************************************
* G__SourceFileInfo
*********************************************************************/
class
#ifndef __CINT__
G__EXPORT
#endif
G__SourceFileInfo {
 public:
  G__SourceFileInfo(): filen(0) { Init(); }
  G__SourceFileInfo(int filenin): filen(filenin) { }
  G__SourceFileInfo(const char* fname): filen(0) { Init(fname); }
  ~G__SourceFileInfo() { }
  void Init() {
    filen = -1;
  }
  void Init(const char* fname);
  const char *Name();
  const char *Prepname();
  FILE* fp();
  int MaxLine();
  G__SourceFileInfo& IncludedFrom();
  long Property();
  int IsValid();
  int Next();

  static int SerialNumber();
 private:
  int filen;
};

/*********************************************************************
* G__IncludePathInfo
*********************************************************************/
class
#ifndef __CINT__
G__EXPORT
#endif
G__IncludePathInfo {
 public:
  G__IncludePathInfo(): p(NULL) { Init(); }
#ifndef __CINT__
  G__IncludePathInfo(const G__IncludePathInfo& ipf): p(ipf.p) {}
#endif
  ~G__IncludePathInfo() { }
  void Init() { p=(struct G__includepath*)NULL; }
  const char *Name();
  long Property();
  int IsValid();
  int Next();
 private:
  G__IncludePathInfo& operator=(const G__IncludePathInfo&);
#ifndef __CINT__
  struct G__includepath *p;
#endif
};

#ifdef G__EXCEPTIONWRAPPER
/*********************************************************************
* G__ExceptionWrapper
*********************************************************************/
int G__ExceptionWrapper(G__InterfaceMethod funcp
                        ,G__value* result7
                        ,char* funcname
                        ,struct G__param *libp
                        ,int hash);
#endif

unsigned long G__long_random(unsigned long limit);
   


/*********************************************************************
* External readline interface
*********************************************************************/
typedef const char* (*G__pGetline_t)(const char* prompt);
typedef void  (*G__pHistadd_t)(const char* line);

#ifndef __CINT__
G__EXPORT
#endif
G__pGetline_t G__GetGetlineFunc();

#ifndef __CINT__
G__EXPORT
#endif
G__pHistadd_t G__GetHistaddFunc();

#ifndef __CINT__
G__EXPORT
#endif
   void G__SetGetlineFunc(G__pGetline_t glfcn, G__pHistadd_t hafcn);

} // namespace Cint

using namespace Cint;

#ifdef __MAKECINT__
#pragma link off class $G__value;
#pragma link off class $G__COMPLETIONLIST;
#pragma link off class $G__linked_taginfo;
#pragma link off class G__includepath;
#pragma link C++ namespace Cint;
#pragma link C++ nestedclasses;
#pragma link off namespace Cint::Internal;
#endif

#endif