nrniv_mf.h
Go to the documentation of this file.00001 #ifndef nrniv_mf_h
00002 #define nrniv_mf_h
00003
00004 #include "classreg.h"
00005 #include "membfunc.h"
00006 struct NrnThread;
00007
00008 typedef void(*Pvmi)(NrnThread*, Memb_list*, int);
00009
00010 #if defined(__cplusplus)
00011 extern "C" {
00012 #endif
00013
00014 extern void register_mech(char**, void(*)(Prop*), Pvmi, Pvmi, Pvmi, Pvmi, int, int);
00015 extern int point_register_mech(char**, void(*)(Prop*), Pvmi, Pvmi, Pvmi, Pvmi, int,
00016 void*(*)(Object*), void(*)(void*), Member_func*, int);
00017 extern void hoc_register_cvode(int, int(*)(int),
00018 int(*)(int, double**, double**, double*, Datum*, double*, int),
00019 int(*)(NrnThread*, Memb_list*, int),
00020 int(*)(NrnThread*, Memb_list*, int)
00021 );
00022
00023 extern int nrn_get_mechtype(const char*);
00024 extern int v_structure_change;
00025 extern void ion_reg(const char*, double);
00026 extern Prop* need_memb(Symbol*);
00027 extern Prop* prop_alloc(Prop**, int, Node*);
00028 extern void nrn_promote(Prop*, int, int);
00029 extern double nrn_ion_charge(Symbol*);
00030 extern void* create_point_process(int, Object*);
00031 extern void destroy_point_process(void*);
00032 extern double has_loc_point(void*);
00033 extern double get_loc_point_process(void*);
00034 extern double loc_point_process(int, void*);
00035 extern Prop* nrn_point_prop_;
00036 extern Point_process* ob2pntproc(Object*);
00037 extern Point_process* ob2pntproc_0(Object*);
00038 #if defined(__cplusplus)
00039 }
00040 #endif
00041
00042 #endif