This file is indexed.

/usr/include/nrn/membfunc.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
#ifndef nrn_memb_func_h
#define nrn_memb_func_h

#if defined(__cplusplus)
extern "C" {
#endif

#include "nrnoc_ml.h"

typedef Datum *(*Pfrpdat)();
typedef void(*Pvmi)(struct NrnThread*, Memb_list*, int);
typedef void (*Pvmp)(Prop*);
typedef int (*nrn_ode_count_t)(int);
typedef void (*nrn_ode_map_t)(int, double**, double**, double*, Datum*, double*, int);
typedef void (*nrn_ode_synonym_t)(int, double**, Datum**);
/* eventually replace following with Pvmp */
typedef void (*nrn_bamech_t)(Node*, double*, Datum*, Datum*, struct NrnThread*);

#define NULL_CUR (Pfri)0
#define NULL_ALLOC (Pfri)0
#define NULL_STATE (Pfri)0
#define NULL_INITIALIZE (Pfri)0

typedef struct Memb_func {
	Pvmp	alloc;
	Pvmi	current;
	Pvmi	jacob;
	Pvmi	state;
	Pvmi	initialize;
	Pvmp	destructor;	/* only for point processes */
	Symbol	*sym;
#if CVODE
	nrn_ode_count_t	ode_count;
	nrn_ode_map_t	ode_map;
	Pvmi	ode_spec;
	Pvmi	ode_matsol;
	nrn_ode_synonym_t ode_synonym;
	Pvmi	singchan_; /* managed by kschan for variable step methods */
#endif
	int vectorized;
	int thread_size_; /* how many Datum needed in Memb_list if vectorized */
	void (*thread_mem_init_)(Datum*); /* after Memb_list._thread is allocated */
	void (*thread_cleanup_)(Datum*); /* before Memb_list._thread is freed */
	void (*thread_table_check_)(double*, Datum*, Datum*, void*, int);
	void (*_update_ion_pointers)(Datum*);
	int is_point;
	void* hoc_mech;
	void (*setdata_)(struct Prop*);
	int* dparam_semantics; // for nrncore writing.
} Memb_func;


#define IMEMFAST -2
#define VINDEX	-1
#define CABLESECTION	1
#define MORPHOLOGY	2
#define CAP	3
#if EXTRACELLULAR
#define EXTRACELL	5
#endif

#define nrnocCONST 1
#define DEP 2
#define STATE 3	/*See init.c and cabvars.h for order of nrnocCONST, DEP, and STATE */

#define BEFORE_INITIAL 0
#define AFTER_INITIAL 1
#define BEFORE_BREAKPOINT 2
#define AFTER_SOLVE 3
#define BEFORE_STEP 4
#define BEFORE_AFTER_SIZE 5 /* 1 more than the previous */
typedef struct BAMech {
	nrn_bamech_t f;
	int type;
	struct BAMech* next;
} BAMech;
extern BAMech** bamech_;

extern Memb_func* memb_func;
extern int n_memb_func;
extern int* nrn_prop_param_size_;
extern int* nrn_prop_dparam_size_;
extern void hoc_register_prop_size(int type, int psize, int dpsize);

#if VECTORIZE
extern Memb_list* memb_list;
/* for finitialize, order is same up through extracellular, then ions,
then mechanisms that write concentrations, then all others. */
extern short* memb_order_; 
#endif
#define NRNPOINTER 4 /* added on to list of mechanism variables.These are
pointers which connect variables  from other mechanisms via the _ppval array.
*/

#define _AMBIGUOUS 5

#if defined(__cplusplus)
}
#endif

#endif /* nrn_memb_func_h */