This file is indexed.

/usr/include/Yap/hglobals.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
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
  /* This file, hglobals.h, was generated automatically by "yap -L misc/buildheap"
     please do not update, update misc/GLOBALS instead */



















typedef struct worker_local {

  int  c_input_stream;
  int  c_output_stream;
  int  c_error_stream;

  restoreinfo  rinfo;




















  struct reduction_counters  call_counters;






  int  interrupts_disabled;


  union CONSULT_OBJ*  consultsp;

  UInt  consultcapacity;

  union CONSULT_OBJ*  consultbase;

  union CONSULT_OBJ*  consultlow;

  Term  global_arena;
  UInt  global_arena_overflows;
  Int  delay_arena_overflows;
  Int  arena_overflows;
  Int  depth_arenas;
  int  arith_error;
  struct pred_entry*  last_asserted_pred;
  int  debug_on;
  struct format_status*  f_info;
  char*  scanner_stack;
  struct scanner_extra_alloc*  scanner_extra_blocks;
  struct DB_TERM  *ball_term;
  UInt  active_signals;
  UInt  i_pred_arity;
  yamop*  prof_end;
  int  uncaught_throw;
  int  doing_undefp;
  Int  start_line;
  scratch_block  scratchpad;
#ifdef  COROUTINING
  Term  woken_goals;
  Term  atts_mutable_list;
#endif

  Term  gc_generation;
  Term  gc_phase;
  UInt  gc_current_phase;
  UInt  gc_calls;
  Int  tot_gc_time;
  YAP_ULONG_LONG  tot_gc_recovered;
  Int  last_gc_time;
  Int  last_ss_time;
#if LOW_LEVEL_TRACER
  Int  total_cps;
#endif
  int  consult_level_;

#if defined(YAPOR) || defined(THREADS)
  lockvar  signal_lock;
  struct pred_entry*  wpp;

  Int  tot_marked;
  Int  tot_oldies;
#if DEBUG && COROUTINING
  UInt  tot_smarked;
#endif
  struct choicept  *wl_current_B;
  CELL*  wl_prev_HB;
  CELL*  hgen;
  CELL**  ip_top;
#if GC_NO_TAGS
  char*  b_p;
#endif
#if defined(TABLING) || defined(SBA)
  struct trail_frame*  wl_sTR;
  struct trail_frame*  wl_sTR0;
  struct trail_frame*  new_tr;
#else
  Term  *wl_sTR;
  Term  *wl_sTR0;
  Term  *new_tr;
#endif
  struct gc_mark_continuation*  conttop0;
  struct gc_mark_continuation*  conttop;
  int  disc_trail_entries;
  gc_ma_hash_entry  Gc_ma_hash_table[GC_MAVARS_HASH_SIZE];
  gc_ma_hash_entry*  Gc_ma_h_top;
  gc_ma_hash_entry*  Gc_ma_h_list;
  UInt  Gc_timestamp;
  ADDR  DB_vec;
  ADDR  DB_vec0;
  struct RB_red_blk_node*  DB_root;
  struct RB_red_blk_node*  DB_nil;
#endif /* defined(YAPOR) || defined(THREADS) */
  sigjmp_buf  gc_restore;
  struct array_entry*  dynamic_arrays;
  struct static_array_entry*  static_arrays;
  struct global_entry*  global_variables;
  int  allow_restart;

  struct mem_blk*  cmem_first_block;
  UInt  cmem_first_block_sz;

  Int*  label_first_array;
  UInt  label_first_array_sz;

  char*  putc_curp_;
  char*  putc_cur_buf_;
  char*  putc_cur_lim_;
  UInt  putc_cur_flags_;
  char*  SWI_buffers_[1+SWI_BUF_RINGS];
  size_t  SWI_buffers_sz_[1+SWI_BUF_RINGS];
  int  SWI_buf_index_;
  struct open_query_struct*  _execution;

#if (defined(YAPOR) || defined(TABLING)) && defined(THREADS)
  struct worker  worker;
#endif
#ifdef THREADS
  struct thandle  thread_handle;
#define FOREIGN_ThreadHandle(wid)  (Yap_WLocal[(wid)].thread_handle)		       						
#define MY_ThreadHandle	       (Yap_WLocal[worker_id].thread_handle)
#endif

} w_local;

typedef struct worker_shared {

#if THREADS

  UInt  n_of_threads;

  UInt  n_of_threads_created;

  UInt  threads_total_time;
#endif

#if defined(YAPOR) || defined(THREADS)

  lockvar  bgl;
#endif
  Functor  f_swi_stream;
  SWI_GetFunction  swi_getc;
  SWI_PutFunction  swi_putc;
  SWI_GetWideFunction  swi_wgetc;
  SWI_PutWideFunction  swi_wputc;
  SWI_CloseFunction  swi_close;
  SWI_FlushFunction  swi_flush;
  SWI_PLGetStreamFunction  swi_get_stream_f;
  SWI_PLGetStreamPositionFunction  swi_get_stream_position_f;

  int  allow_local_expansion;
  int  allow_global_expansion;
  int  allow_trail_expansion;
  UInt  size_of_overflow;

  UInt  agc_last_call;

  UInt  agc_threshold;
  Agc_hook  agc_hook;

#if HAVE_LIBREADLINE
  char  *readline_buf;
  char  *readline_pos;
#endif

#ifdef THREADS
  lockvar  thread_handles_lock;
#endif 

#if defined(YAPOR) || defined(TABLING)
  struct global_data  global;
  struct local_data  remote[MAX_WORKERS];
#endif

  int  initialised;
  int  initialised_from_pl;
  int  pl_argc;
  char  **pl_argv;

  struct halt_hook  *yap_halt_hook;
} w_shared;