[Main]
Name=HToESI
Type=Function
Subtype=ROM Call
Header Files=estack.h
Definition=ESI HToESI (HANDLE Handle);

[ROM Call]
Index=$247

[Description]
Converts a handle to an expression stack index.

[Explanation]
HToESI is a simple but very useful routine. It returns a pointer to the last
byte of the <A HREF="$$LINK(MULTI_EXPR)">MULTI_EXPR</A> structure referenced
by <I>Handle</I>. Therefore it allows for the use of TIOS variables as input
data in expression stack routines. Assuming that <I>Handle</I>
is a handle of a TIOS variable which contains an expression, HToESI will return a pointer
to the tag of the expression contained in the variable. Such a pointer may be used in
any routine which needs an argument of type <A HREF="$$LINK(CESI)">CESI</A>, like
<A HREF="$$LINK(NG_approxESI)">NG_approxESI</A>, etc. (except in functions which manipulate
the actual memory space on the expression stack, like
<A HREF="$$LINK(delete_between)">delete_between</A>).
In fact, HToESI simply dereferences <I>Handle</I> and adds the size plus 1 to the address.
It also may be used to determine the type of a TIOS variable, because after execution the
result points to the data type tag of the variable data.
<BR><BR>
<B>Note:</B> If the handle is not locked, HToESI must be called again after a heap compression
since the block of memory associated with the handle may have moved.

[References]
In=NG_execute, NG_RPNToText, bascmd.h/cmd_andpic, bascmd.h/cmd_archive, bascmd.h/cmd_blddata, bascmd.h/cmd_custom, bascmd.h/cmd_cyclepic, bascmd.h/cmd_dialog, bascmd.h/cmd_fill, bascmd.h/cmd_get, bascmd.h/cmd_newdata, bascmd.h/cmd_popup, bascmd.h/cmd_rclpic, bascmd.h/cmd_request, bascmd.h/cmd_rplcpic, bascmd.h/cmd_showstat, bascmd.h/cmd_sinreg, bascmd.h/cmd_sorta, bascmd.h/cmd_sortd, bascmd.h/cmd_toolbar, bascmd.h/cmd_unarchiv, bascmd.h/cmd_xorpic, basfunc.h/push_gettype, events.h/EV_defaultHandler, events.h/EV_eventLoop, events.h/handleRclKey, events.h/handleVarLinkKey, files.h/TIOS_FFindFirst: FFindFirst, files.h/TIOS_FFindNext: FFindNext, files.h/TIOS_FOpen: FOpen, files.h/TIOS_FType: FType, gdraw.h/GR3_paint3d, graphing.h/gdb_recall, homescr.h/HomeExecute, homescr.h/HomePushEStack, homescr.h/HS_getAns, link.h/LIO_Receive, link.h/OSLinkCmd, link.h/sendcalc, textedit.h/TE_handleEvent, unknown.h/de_initRes, unknown.h/de_loop, unknown.h/dv_create_graph_titles, unknown.h/EQU_select, unknown.h/EQU_setStyle, unknown.h/FindGrFunc, unknown.h/GetStatValue, unknown.h/GM_Derivative, unknown.h/GM_DistArc, unknown.h/GM_Inflection, unknown.h/GM_Integrate, unknown.h/GM_Intersect, unknown.h/GM_Math1, unknown.h/GM_TanLine, unknown.h/gr_ck_solvergraph, unknown.h/gr_de_value, unknown.h/gr_execute_seq, unknown.h/gr_find_el, unknown.h/gr_seq_value, unknown.h/InitTimeSeq, unknown.h/push_ans_entry, unknown.h/push_user_func, unknown.h/recall_data_var, unknown.h/Regraph, unknown.h/seqWebInit, unknown.h/setup_more_graph_fun, unknown.h/spike_geo_titles, unknown.h/spike_optionD, unknown.h/time_loop, unknown.h/tokenize_if_TI_92_or_text, unknown.h/unlock_more_graph_fun, unknown.h/VarStoreLink, vat.h/checkCurrent, vat.h/CheckLinkLockFlag, vat.h/ClearUserDef, vat.h/EM_moveSymToExtMem, vat.h/VarRecall, vat.h/VarStore, unknown.h/NG_setup_graph_fun, unknown.h/NG_cleanup_graph_fun, unknown.h/_ROM_CALL_438, unknown.h/_ROM_CALL_4D1
