This file is indexed.

/usr/include/Yap/index.h is in yap 6.2.2-6.

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
/*************************************************************************
*									 *
*	 YAP Prolog 	%W% %G%
*									 *
*	Yap Prolog was developed at NCCUP - Universidade do Porto	 *
*									 *
* Copyright L.Damas, V.S.Costa and Universidade do Porto 1985-1997	 *
*									 *
**************************************************************************
*									 *
* File:		index.h							 *
* Last rev:								 *
* mods:									 *
* comments:	indexation info						 *
*									 *
*************************************************************************/

/* allowed types for clauses */
typedef enum clause_type_enum {
  pair_clause       = 0x01,
  struct_clause     = 0x02,
  atom_clause       = 0x04,
  int_clause        = 0x08,
  flt_clause        = 0x10,
  lgint_clause      = 0x20,
  dbref_clause      = 0x40
} clause_type;

/* Four types of Clauses */
#define MaxOptions	4

/* Minimum number of clauses needed to build an hash table */
/* must be a power of two */
#define	MIN_HASH_ENTRIES	4

#define HASH_SHIFT 6

/* Intermediate Data structures,
   used to build the indexing code */

/* Used to store all important information about a clause */
typedef struct StructClauseDef {
  Term Tag;		/* if nonvar or nonlist, first argument */
  yamop *Code;		/* start of code for clause */
  yamop *CurrentCode;		/* start of code for clause */
  union {
    yamop *WorkPC;		/* start of code for clause */
    Term   t_ptr;
    CELL  *c_sreg;
  } u;
} ClauseDef;


/* Relevant information for groups */
typedef struct {
  ClauseDef *FirstClause;
  ClauseDef *LastClause;
  UInt  VarClauses;
  UInt  AtomClauses;
  UInt  PairClauses;
  UInt  StructClauses;
  UInt  TestClauses;
} GroupDef;



/* switch_on_cons */
typedef struct {
  Term  Tag;
  union {
    UInt  Label;
    yamop *labp;
  } u;
} AtomSwiEntry;

/* switch_on_func */
typedef struct {
  Functor  Tag;
  union {
    UInt  Label;
    yamop *labp;
  } u;
} FuncSwiEntry;

/* switch_on_type */
typedef struct {
  UInt  PairEntry;
  UInt  ConstEntry;
  UInt  FuncEntry;
  UInt  VarEntry;
} TypeSwitch;

#define MAX_REG_COPIES 32

typedef struct {
  Int pos;
  Term val;
  Term  extra;
} istack_entry;

typedef enum {
  pc_entry,
  block_entry
} add2index_entries;


typedef struct {
  add2index_entries flag;
  union {
    struct {
      yamop**pi_pc;
      yamop *code, *current_code, *work_pc;
      Term tag;
    } pce;
    struct {
      ClauseUnion *block;
      yamop **entry_code;
    } cle;
  } u;
} path_stack_entry;

#define MAX_ISTACK_DEPTH 32

typedef enum {
  REFRESH,
  RECORDA,
  RECORDZ
} expand_values;