#include <string.h>#include <stdio.h>#include "hocdec.h"

Go to the source code of this file.
Classes | |
| class | Oc2IV |
| class | ParseTopLevel |
Defines | |
| #define | CChar const char |
Functions | |
| int | hoc_obj_run (const char *, Object *) |
| int | hoc_argtype (int) |
| boolean | hoc_is_double_arg (int) |
| boolean | hoc_is_pdouble_arg (int) |
| boolean | hoc_is_str_arg (int) |
| boolean | hoc_is_object_arg (int) |
| char * | gargstr (int) |
| char ** | hoc_pgargstr (int) |
| double * | getarg (int) |
| double * | hoc_pgetarg (int) |
| Object ** | hoc_objgetarg (int) |
| Object * | hoc_name2obj (const char *name, int index) |
| int | ifarg (int) |
| char ** | hoc_temp_charptr () |
| void | hoc_assign_str (char **pstr, const char *buf) |
| double | chkarg (int, double low, double high) |
| double | hoc_call_func (Symbol *, int narg) |
| double | hoc_call_objfunc (Symbol *, int narg, Object *) |
| void | hoc_ret () |
| void | ret (double) |
| void | hoc_pushx (double) |
| void | hoc_pushstr (char **) |
| void | hoc_pushobj (Object **) |
| void | hoc_push_object (Object *) |
| void | hoc_pushpx (double *) |
| double | hoc_xpop () |
| double * | hoc_pxpop () |
| void | hoc_execerror (const char *, const char *) |
| void | hoc_warning (const char *, const char *) |
| double * | hoc_val_pointer (const char *) |
| Symbol * | hoc_lookup (const char *) |
| Symbol * | hoc_table_lookup (const char *, Symlist *) |
| Symbol * | hoc_install (const char *, int, double, Symlist **) |
| int | hoc_total_array_data (Symbol *, Objectdata *) |
| char * | hoc_araystr (Symbol *, int, Objectdata *) |
| char * | hoc_object_name (Object *) |
| char * | hoc_object_pathname (Object *) |
| const char * | expand_env_var (const char *) |
| void | check_obj_type (Object *, const char *) |
| boolean | is_obj_type (Object *, const char *) |
| void | hoc_obj_ref (Object *) |
| void | hoc_obj_unref (Object *) |
| void | hoc_dec_refcount (Object **) |
| Object ** | hoc_temp_objvar (Symbol *template_symbol, void *cpp_object) |
| Object ** | hoc_temp_objptr (Object *) |
| void | hoc_new_object_asgn (Object **obp, Symbol *template_symbol, void *cpp_object) |
| void | hoc_audit_command (const char *) |
| HocSymExtension * | hoc_var_extra (const char *) |
| double | check_domain_limits (float *, double) |
| Object * | hoc_obj_get (int i) |
| void | hoc_obj_set (int i, Object *) |
| void | nrn_hoc_lock () |
| void | nrn_hoc_unlock () |
| void | hoc_ivpanel (CChar *, boolean h=false) |
| void | hoc_ivpanelmap (int scroll=-1) |
| void | hoc_ivbutton (CChar *name, CChar *action, Object *pyact=0) |
| void | hoc_ivradiobutton (CChar *name, CChar *action, boolean activate=false, Object *pyact=0) |
| void | hoc_ivmenu (CChar *, boolean add2menubar=false) |
| void | hoc_ivvarmenu (CChar *, CChar *, boolean add2menubar=false, Object *pyvar=nil) |
| void | hoc_ivvalue (CChar *name, CChar *variable, boolean deflt=false, Object *pyvar=0) |
| void | hoc_ivfixedvalue (CChar *name, CChar *variable, boolean deflt=false, boolean usepointer=false) |
| void | hoc_ivvalue_keep_updated (CChar *name, CChar *variable, Object *pyvar=0) |
| void | hoc_ivpvalue (CChar *name, double *, boolean deflt=false, HocSymExtension *extra=nil) |
| void | hoc_ivvaluerun (CChar *name, CChar *variable, CChar *action, boolean deflt=false, boolean canrun=false, boolean usepointer=false, Object *pyvar=0, Object *pyact=0) |
| void | hoc_ivpvaluerun (CChar *name, double *, CChar *action, boolean deflt=false, boolean canrun=false, HocSymExtension *extra=nil) |
| void | hoc_ivlabel (CChar *) |
| void | hoc_ivvarlabel (char **, Object *pyvar=0) |
| void | hoc_ivstatebutton (double *, CChar *name, CChar *action, int style, Object *pyvar=0, Object *pyact=0) |
| void | hoc_ivslider (double *, float low=0, float high=100, float resolution=1, int steps=10, const char *send_cmd=nil, boolean vert=false, boolean slow=false, Object *pyvar=0, Object *pyact=0) |
| double * | object_pval (Symbol *sym, Objectdata *od) |
| char * | object_str (Symbol *sym, Objectdata *od) |
| char ** | object_pstr (Symbol *sym, Objectdata *od) |
| Object ** | object_pobj (Symbol *sym, Objectdata *od) |
| hoc_Item ** | object_psecitm (Symbol *sym, Objectdata *od) |
Variables | |
| double | hoc_ac_ |
| double | hoc_epsilon |
| Objectdata * | hoc_objectdata |
| #define CChar const char |
| double check_domain_limits | ( | float * | , | |
| double | ||||
| ) |
| void check_obj_type | ( | Object * | , | |
| const char * | ||||
| ) |
| double chkarg | ( | int | , | |
| double | low, | |||
| double | high | |||
| ) |
| const char* expand_env_var | ( | const char * | ) |
| char* gargstr | ( | int | ) |
References hoc_pgargstr().
Referenced by batch_run(), fit_praxis(), hoc_allobjects(), hoc_Chdir(), hoc_exec_cmd(), hoc_Execerror(), hoc_execute1(), hoc_fmenu(), hoc_Graph(), hoc_load_file(), hoc_Lw(), hoc_name_declared(), hoc_nrn_load_dll(), hoc_Sred(), hoc_sscanf(), hoc_stdout(), hoc_Strcmp(), hoc_Symbol_limits(), hoc_Symbol_units(), hoc_vsscanf(), hoc_win_exec(), implementTable(), ion_charge(), ion_register(), ismembrane(), issection(), ivoc_gr_begin_line(), ivoc_gr_gif(), ivoc_gr_label(), ivoc_gr_mark(), ivoc_gr_menu_remove(), ivoc_gr_menu_tool(), make_mechanism(), make_pointprocess(), nernst(), neuron2nemo(), nrn_vecsim_add(), nrnglobalmechmenu(), nrnpython_real(), push_section(), ropen(), section_exists(), sprint(), System(), wopen(), xopen(), and Xred().

| double* getarg | ( | int | ) |
References Frame::argn, execerror, Datum::i, Symbol::name, Frame::nargs, Frame::sp, and tstkchk.
References Frame::argn, execerror, Datum::i, Symbol::name, Frame::nargs, and Frame::sp.
Referenced by hoc_is_double_arg(), hoc_is_object_arg(), hoc_is_pdouble_arg(), hoc_is_str_arg(), hoc_is_tempobj_arg(), nrnpointmenu(), and sprint().
| void hoc_assign_str | ( | char ** | pstr, | |
| const char * | buf | |||
| ) |
| void hoc_audit_command | ( | const char * | ) |
References hoc_call(), hoc_execute(), hoc_pc, hoc_xpop(), Inst::i, Inst::in, Inst::pf, STOP, Inst::sym, and xpop.
Referenced by hoc_call_objfunc().

References d, hoc_call_func(), hoc_objectdata, hoc_objectdata_restore(), hoc_objectdata_save(), hoc_thisobject, and hoc_top_level_data.
Referenced by BBSImpl::execute_helper(), HocCommand::func_call(), and BBSImpl::subworld_worker_execute().

| void hoc_dec_refcount | ( | Object ** | ) |
References assert, and hoc_obj_unref().
Referenced by hoc_free_allobjects(), hoc_free_symspace(), hoc_new_object_asgn(), hoc_newobj(), hoc_obj_set(), hoc_object_asgn(), hoc_objvardecl(), OcList::ounref(), MechanismType::point_process(), and SectionList::~SectionList().

| void hoc_execerror | ( | const char * | , | |
| const char * | ||||
| ) |
References hoc_argtype().
Referenced by LinearMechanism::create(), hoc_load_file(), hoc_spec_table(), hoc_Symbol_units(), loc_point_process(), nrn_vecsim_add(), and section_exists().

References hoc_argtype(), OBJECTTMP, and type.
Referenced by LinearMechanism::create(), fit_praxis(), hoc_execute1(), hoc_spec_table(), ivoc_gr_menu_tool(), nrn_vecsim_add(), nrnmpi_target_var(), and sprint().

References hoc_argtype(), and STRING.
Referenced by hoc_allobjects(), hoc_Symbol_limits(), hoc_Symbol_units(), hoc_vsscanf(), ivoc_gr_begin_line(), ivoc_gr_mark(), nernst(), nrn_vecsim_add(), and push_section().

| void hoc_ivbutton | ( | CChar * | name, | |
| CChar * | action, | |||
| Object * | pyact = 0 | |||
| ) |
Referenced by nrnallpointmenu(), and nrnglobalmechmenu().
| void hoc_ivfixedvalue | ( | CChar * | name, | |
| CChar * | variable, | |||
| boolean | deflt = false, |
|||
| boolean | usepointer = false | |||
| ) |
| void hoc_ivlabel | ( | CChar * | ) |
Referenced by MechanismStandard::panel().
Referenced by nrnallpointmenu(), and nrnglobalmechmenu().
Referenced by nrnallpointmenu(), nrnglobalmechmenu(), and MechanismStandard::panel().
Referenced by nrnallpointmenu(), nrnglobalmechmenu(), and MechanismStandard::panel().
| void hoc_ivpvalue | ( | CChar * | name, | |
| double * | , | |||
| boolean | deflt = false, |
|||
| HocSymExtension * | extra = nil | |||
| ) |
Referenced by nrnglobalmechmenu().
| void hoc_ivpvaluerun | ( | CChar * | name, | |
| double * | , | |||
| CChar * | action, | |||
| boolean | deflt = false, |
|||
| boolean | canrun = false, |
|||
| HocSymExtension * | extra = nil | |||
| ) |
Referenced by MechanismStandard::panel().
| void hoc_ivradiobutton | ( | CChar * | name, | |
| CChar * | action, | |||
| boolean | activate = false, |
|||
| Object * | pyact = 0 | |||
| ) |
| void hoc_ivslider | ( | double * | , | |
| float | low = 0, |
|||
| float | high = 100, |
|||
| float | resolution = 1, |
|||
| int | steps = 10, |
|||
| const char * | send_cmd = nil, |
|||
| boolean | vert = false, |
|||
| boolean | slow = false, |
|||
| Object * | pyvar = 0, |
|||
| Object * | pyact = 0 | |||
| ) |
| void hoc_ivstatebutton | ( | double * | , | |
| CChar * | name, | |||
| CChar * | action, | |||
| int | style, | |||
| Object * | pyvar = 0, |
|||
| Object * | pyact = 0 | |||
| ) |
Referenced by nrnglobalmechmenu().
| void hoc_ivvalue_keep_updated | ( | CChar * | name, | |
| CChar * | variable, | |||
| Object * | pyvar = 0 | |||
| ) |
| void hoc_ivvaluerun | ( | CChar * | name, | |
| CChar * | variable, | |||
| CChar * | action, | |||
| boolean | deflt = false, |
|||
| boolean | canrun = false, |
|||
| boolean | usepointer = false, |
|||
| Object * | pyvar = 0, |
|||
| Object * | pyact = 0 | |||
| ) |
| void hoc_ivvarlabel | ( | char ** | , | |
| Object * | pyvar = 0 | |||
| ) |
| Symbol* hoc_lookup | ( | const char * | ) |
| Object* hoc_name2obj | ( | const char * | name, | |
| int | index | |||
| ) |
References hoc_dec_refcount(), hoc_new_object(), and hoc_obj_ref().

| Object* hoc_obj_get | ( | int | i | ) |
References hoc_objectdata, Symbol::oboff, and Symbol::u.
| void hoc_obj_ref | ( | Object * | ) |
| int hoc_obj_run | ( | const char * | , | |
| Object * | ||||
| ) |
References hoc_dec_refcount(), hoc_obj_ref(), hoc_objectdata, Symbol::oboff, and Symbol::u.

| void hoc_obj_unref | ( | Object * | ) |
References call_ob_proc(), CPLUSOBJECT, hoc_free_object(), hoc_obj_disconnect(), hoc_object_name(), hoc_template_notify(), hoc_thisobject, i, ivoc_free_alias(), JAVAOBJECT, and pushx.
Referenced by clear_point_process_struct(), fit_praxis(), hoc_dec_refcount(), hoc_free_symspace(), hoc_newobj(), hoc_stkobj_unref(), hoc_tobj_unref(), hoc_unref_defer(), nrn_thread_partition(), nrn_threads_create(), ret(), SingleChan::setrand(), single_prop_free(), HocCommand::~HocCommand(), KSChanFunction::~KSChanFunction(), and SingleChan::~SingleChan().

| char* hoc_object_pathname | ( | Object * | ) |
References hoc_object_name(), hoc_warning(), and objectpath.
Referenced by hoc_section_pathname().

| Object** hoc_objgetarg | ( | int | ) |
| char** hoc_pgargstr | ( | int | ) |
References Frame::argn, Symbol::cstr, execerror, Symbol::name, Frame::nargs, OPSTR, Frame::sp, STRING, SYMBOL, Symbol::type, type, and Symbol::u.
Referenced by gargstr(), hoc_Getstr(), hoc_Sprint(), hoc_Sred(), hoc_stringarg(), hoc_vsscanf(), machine_name(), sectionname(), and System().
| double* hoc_pgetarg | ( | int | ) |
References Frame::argn, execerror, Datum::i, Symbol::name, Frame::nargs, Frame::sp, and tstkchk.
| void hoc_push_object | ( | Object * | ) |
References hoc_obj_ref(), OBJECTTMP, and STACKCHK.
Referenced by hoc_newobj(), hoc_object_component(), hoc_object_pushed(), hoc_push_current_object(), hoc_pushobj(), hocobjret(), and section_owner().

| void hoc_pushobj | ( | Object ** | ) |
References hoc_push_object(), STACKCHK, and TOBJ_POOL_SIZE.
Referenced by call_ob_proc(), dashes(), BBSImpl::execute_helper(), hoc_autoobject(), hoc_constobject(), hoc_newobj(), hoc_newobj_arg(), hoc_object_asgn(), hoc_object_component(), hoc_objectarg(), hoc_objectvar(), and BBSImpl::subworld_worker_execute().

| void hoc_pushpx | ( | double * | ) |
References STACKCHK.
Referenced by hoc_argrefarg(), hoc_evalpointer(), hoc_ob_pointer(), hoc_object_component(), and steer_point_process().
| void hoc_pushstr | ( | char ** | ) |
References STACKCHK, and STRING.
Referenced by call_ob_proc(), BBSImpl::execute_helper(), hoc_getcwd(), hoc_neuronhome(), hoc_nrnversion(), hoc_object_asgn(), hoc_object_component(), hoc_push_string(), hoc_secname(), hoc_stringarg(), hoc_Symbol_units(), and BBSImpl::subworld_worker_execute().
| void hoc_pushx | ( | double | ) |
| double* hoc_pxpop | ( | ) |
References execerror, Datum::i, and tstkchk.
Referenced by connect_point_process_pointer(), hoc_object_asgn(), hoc_object_component(), hoc_object_eval(), and nrnpy_hoc_pop().
| void hoc_ret | ( | ) |
| char** hoc_temp_charptr | ( | ) |
Referenced by hoc_Symbol_units().
| Object** hoc_temp_objptr | ( | Object * | ) |
References hoc_new_object(), and hoc_temp_objptr().
Referenced by BBS::gid_connect(), and IvocVect::temp_objvar().

| double* hoc_val_pointer | ( | const char * | ) |
| HocSymExtension* hoc_var_extra | ( | const char * | ) |
| void hoc_warning | ( | const char * | , | |
| const char * | ||||
| ) |
Referenced by call(), call_ob_proc(), connection_coef(), errcheck(), HocDataPathImpl::found_v(), hoc_audit_from_emacs(), hoc_audit_from_hoc_main1(), hoc_free_symspace(), hoc_help(), hoc_Load_file(), hoc_nrn_load_dll(), hoc_object_pathname(), hoc_parallel_begin(), hoc_saveaudit(), hoc_section_pathname(), nonvint(), nrn_finitialize(), nrn_lhs(), nrn_pushsec(), nrn_rhs(), nrn_secstack(), nrnmpi_spike_compress(), objectpath(), and KSChan::set_single().
| double hoc_xpop | ( | ) |
| boolean is_obj_type | ( | Object * | , | |
| const char * | ||||
| ) |
| void nrn_hoc_lock | ( | ) |
References nrn_inthread_.
| void nrn_hoc_unlock | ( | ) |
| Object** object_pobj | ( | Symbol * | sym, | |
| Objectdata * | od | |||
| ) | [inline] |
References Symbol::oboff, and Symbol::u.
Referenced by HocDataPathImpl::search(), and SymDirectory::SymDirectory().
References Symbol::oboff, and Symbol::u.
Referenced by HocDataPathImpl::search(), and SymDirectory::SymDirectory().
| char** object_pstr | ( | Symbol * | sym, | |
| Objectdata * | od | |||
| ) | [inline] |
References Symbol::oboff, and Symbol::u.
Referenced by HocDataPathImpl::search().
| double* object_pval | ( | Symbol * | sym, | |
| Objectdata * | od | |||
| ) | [inline] |
References Symbol::oboff, and Symbol::u.
Referenced by HocDataPathImpl::search().
| char* object_str | ( | Symbol * | sym, | |
| Objectdata * | od | |||
| ) | [inline] |
References Symbol::oboff, and Symbol::u.
| void ret | ( | double | ) |
| double hoc_ac_ |
| double hoc_epsilon |
| Objectdata* hoc_objectdata |
1.6.3