This file is indexed.

/usr/include/nrn/hoclist.h is in neuron-dev 7.5-1.

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
#ifndef hoc_list_h
#define hoc_list_h

#if HOC_L_LIST
#define stralloc	hoc_l_stralloc
#define newitem		hoc_l_newitem
#define newlist		hoc_l_newlist
#define freelist	hoc_l_freelist
#define next		hoc_l_next
#define prev		hoc_l_prev
#define insertstr	hoc_l_insertstr
#define insertitem	hoc_l_insertitem
#define insertlist	hoc_l_insertlist
#define insertsym	hoc_l_insertsym
#define insertsec	hoc_l_insertsec
#define insertobj	hoc_l_insertobj
#define insertvoid	hoc_l_insertvoid
#define linsertsym	hoc_l_linsertsym
#define linsertstr	hoc_l_linsertstr
#define lappendsym	hoc_l_lappendsym
#define lappendstr	hoc_l_lappendstr
#define lappenditem	hoc_l_lappenditem
#define lappendlst	hoc_l_lappendlst
#define lappendsec	hoc_l_lappendsec
#define lappendobj	hoc_l_lappendobj
#define lappendvoid	hoc_l_lappendvoid
#define delete		hoc_l_delete
#define delitems	hoc_l_delitems
#define move		hoc_l_move
#define movelist	hoc_l_movelist
#define replacstr	hoc_l_replacstr
#define Item		hoc_Item
#define List		hoc_List

typedef struct hoc_Item    hoc_List;		/* list of mixed items */
#else
#define hoc_List struct hoc_Item
#endif

typedef struct hoc_Item {
	union	{
			struct hoc_Item *itm;
			hoc_List *lst;
			char *str;
			struct Symbol *sym;
			struct Section* sec;
			struct Object* obj;
			void* vd;
	}	element;	/* pointer to the actual item */
	struct hoc_Item    *next;
	struct hoc_Item    *prev;
	short           itemtype;
}               hoc_Item;
#define ITEM0	(hoc_Item *)0
#define LIST0	(hoc_List *)0

#define ITERATE(itm,lst) for (itm = (lst)->next; itm != (lst); itm = itm->next)
/*
 * this is convenient way to get the element pointer if you know what type
 * the item is 
 */
#define SYM(q)	((q)->element.sym)
#define STR(q)	((q)->element.str)
#define ITM(q)	((q)->element.itm)
#define LST(q)	((q)->element.lst)
#define hocSEC(q)	((q)->element.sec)
#define OBJ(q)	((q)->element.obj)
#define VOIDITM(q)	((q)->element.vd)

/* types not defined in parser */
#define ITEM	2
#define LIST	3
#define VOIDPOINTER	4
/*
 * An item type, STRING is also used as an item type 
 */

#ifdef __cplusplus
extern "C" {
#endif

extern char* hoc_l_stralloc(const char*, char* release);
extern hoc_List* hoc_l_newlist();
extern hoc_Item* hoc_l_insertstr(hoc_Item*, const char*);
extern hoc_Item* hoc_l_insertsym(hoc_Item*, struct Symbol*);
extern hoc_Item* hoc_l_insertitem(hoc_Item*, hoc_Item*);
extern hoc_Item* hoc_l_insertlist(hoc_Item*, hoc_List*);
extern hoc_Item* hoc_l_insertsec(hoc_Item*, struct Section*);
extern hoc_Item* hoc_l_insertvoid(hoc_Item*, void*);

extern hoc_Item* hoc_l_linsertstr(hoc_List*, const char*);
extern hoc_Item* hoc_l_linsertsym(hoc_List*, struct Symbol*);

extern hoc_Item* hoc_l_lappendstr(hoc_List*, const char*);
extern hoc_Item* hoc_l_lappendsym(hoc_List*, struct Symbol*);
extern hoc_Item* hoc_l_lappenditem(hoc_List*, hoc_Item*);
extern hoc_Item* hoc_l_lappendlst(hoc_List*, hoc_List*);
extern hoc_Item* hoc_l_lappendsec(hoc_List*, struct Section*);
extern hoc_Item* hoc_l_lappendvoid(hoc_List*, void*);
extern hoc_Item* hoc_l_lappendobj(hoc_List*, struct Object*);

extern void hoc_l_freelist(hoc_List**);
extern hoc_Item* hoc_l_next(hoc_Item*);
extern hoc_Item* hoc_l_prev(hoc_Item*);
extern void hoc_l_delete(hoc_Item*);
extern void hoc_l_move(hoc_Item*, hoc_Item*, hoc_Item*);
extern void hoc_l_movelist(hoc_Item*, hoc_Item*, hoc_List*);
extern void hoc_l_replacstr(hoc_Item*, const char*);

#define Insertstr	insertstr
#define Insertsym	insertsym
#define Insertsec	insertsec
#define Linsertsym	linsertsym
#define Linsertstr	linsertstr
#define Lappendsym	lappendsym
#define Lappendstr	lappendstr
#define Lappenditem	lappenditem
#define Lappendlst	lappendlst
#define Lappendsec	lappendsec

#ifdef __cplusplus
}
#endif

#endif