This file is indexed.

/usr/include/dparser/dsymtab.h is in mcrl2 201202.0-2+b1.

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
/*
  Copyright 2002-2004 John Plevyak, All Rights Reserved
*/
#ifndef _dsymtab_H_
#define _dsymtab_H_

#ifndef D_UserSym
#define D_UserSym unsigned int
#endif

struct D_SymHash;
struct D_Scope;

typedef struct D_Sym {
  char		 *name;
  int		 len;
  unsigned int	 hash;
  struct D_Scope *scope;
  struct D_Sym	 *update_of;
  struct D_Sym	 *next;
  D_UserSym	 user;
} D_Sym;

#define D_SCOPE_INHERIT			0
#define D_SCOPE_RECURSIVE		1
#define D_SCOPE_PARALLEL		2
#define D_SCOPE_SEQUENTIAL		3

typedef struct D_Scope {
  unsigned int		kind:2;
  unsigned int		owned_by_user:1; /* don't automatically delete */
  unsigned int		depth;
  D_Sym		 	*ll;
  struct D_SymHash	*hash;
  D_Sym		 	*updates;
  struct D_Scope *search;       /* scope to start search */
  struct D_Scope *dynamic;      /* dynamic scope (e.g. methods) */
  struct D_Scope *up;		/* enclosing scope */
  struct D_Scope *up_updates;	/* prior scope in speculative parse */
  struct D_Scope *down;		/* enclosed scopes (for FREE) */
  struct D_Scope *down_next;	/* next enclosed scope */
} D_Scope;

D_Scope *new_D_Scope(D_Scope *parent);
D_Scope *enter_D_Scope(D_Scope *current, D_Scope *scope);
D_Scope *commit_D_Scope(D_Scope *scope);
D_Scope *equiv_D_Scope(D_Scope *scope);
D_Scope *global_D_Scope(D_Scope *scope);
D_Scope *scope_D_Scope(D_Scope *current, D_Scope *scope);
void free_D_Scope(D_Scope *st, int force);
D_Sym *new_D_Sym(D_Scope *st, char *name, char *end, int sizeof_D_Sym);
#define NEW_D_SYM(_st, _name, _end) new_D_Sym(_st, _name, _end, sizeof(D_Sym))
void free_D_Sym(D_Sym *sym);
D_Sym *find_D_Sym(D_Scope *st, char *name, char *end);
D_Sym *find_global_D_Sym(D_Scope *st, char *name, char *end);
/* use for first update in a production to update scope */
D_Sym *update_D_Sym(D_Sym *sym, D_Scope **st, int sizeof_D_Sym);
#define UPDATE_D_SYM(_sym, _st) update_D_Sym(_sym, _st, sizeof(D_Sym))
/* use for first subsequent updates in a production */
D_Sym *update_additional_D_Sym(D_Scope *st, D_Sym *sym, int sizeof_D_Sym);
#define UPDATE_ADDITIONAL_D_SYM(_st, _sym) update_additional_D_Sym(_st, _sym, sizeof(D_Sym))
D_Sym *current_D_Sym(D_Scope *st, D_Sym *sym);
D_Sym *find_D_Sym_in_Scope(D_Scope *st, D_Scope *cur, char *name, char *end);
D_Sym *next_D_Sym_in_Scope(D_Scope **st, D_Sym **sym);
void print_scope(D_Scope *st);

#endif