/*
 * $Id: hb_vm.txt 6764 2006-07-18 01:30:23Z druzus $
 */

/*
 * Las siguientes partes son derechos adquiridos de sus autores individuales.
 * www - http://www.harbour-project.org
 * 
 * Copyright 2000 Alejandro de Grate <alex_degarate@hotmail.com>
 * Documentacin en Espaol de:  
 *   Archivo de cabecera para la API de la VM
 *   hb_vmInit(), hb_vmQuit(), hb_vmExecute(), hb_vmProcessSymbols()
 *   hb_vmSymbolInit_RT(), hb_vmRequestQuit(), hb_vmRequestEndProc()
 *   hb_vmRequestCancel(), hb_vmRequestBreak(), hb_vmRequestQuery()
 *   hb_vmMessage(), hb_vmDo(), hb_vmFunction(), hb_vmSend()
 *   hb_vmEvalBlock(), hb_vmEvalBlockV(), hb_vmPush(), hb_vmPushNil()
 *   hb_vmPushNumber(), hb_vmPushInteger(), hb_vmPushLong()
 *   hb_vmPushDouble(), hb_vmPushLogical(), hb_vmPushString()
 *   hb_vmPushDate(), hb_vmPushSymbol(), hb_vmPushPointer()
 *   hb_stackDispCall(), hb_stackPop()
 *
 * Copyright 1999 Antonio Linares <alinares@fivetech.com>
 *   Header file for the Virtual Machine API
 *
 * Vea doc/license.txt por los trminos de la licencia.
 *
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_vmInit()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      Inicializa la Mquina Virtual (Virtual machine)   
 *  $SYNTAX$
 *      C Prototype
 *      
 *      #include <hbvm.h>
 *      hb_vmInit( BOOL bStartMainProc ) --> void
 *  $ARGUMENTS$
 *      <bStartMainProc> Valor lgico que indica si la VM se inicia en
 *                       un mdulo principal  secundario.
 *  $RETURNS$
 *      Nada
 *  $DESCRIPTION$
 *      Inicializa la Mquina Virtual (Virtual machine)   
 *  $EXAMPLES$
 *      
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      La librera asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_vmQuit()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_vmQuit()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      Sale Inmediatamente de la Mquina Virtual
 *  $SYNTAX$
 *      C Prototype
 *      
 *      #include <hbvm.h>
 *      hb_vmQuit( void ) --> int
 *  $ARGUMENTS$
 *      Ninguno
 *  $RETURNS$
 *      ERRORLEVEL
 *  $DESCRIPTION$
 *      Ocasiona la Inmediata salida de la Mquina Virtual
 *  $EXAMPLES$
 *      
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      La librera asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_vmInit()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_vmExecute()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      Invoca la Mquina Virtual
 *  $SYNTAX$
 *      C Prototype
 *      
 *      #include <hbvm.h>
 *      hb_vmExecute( const BYTE * pCode, PHB_SYMB pSymbols ) --> void
 *  $ARGUMENTS$
 *      <pCode>    puntero a cadena constante
 * 
 *      <pSymbols> smbolo a procesar
 *  $RETURNS$
 *      Nada
 *  $DESCRIPTION$
 *      
 *  $EXAMPLES$
 *      
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      La librera asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_vmDo(),hb_vmProcessSymbols()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_vmProcessSymbols()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      Inicializacin de smbolos estticos 
 *  $SYNTAX$
 *      C Prototype
 *      
 *      #include <hbvm.h>
 *      hb_vmProcessSymbols( PHB_SYMB pSymbols, USHORT uiSymbols ) --> void
 *  $ARGUMENTS$
 *      <pSymbols>
 * 
 *      <uiSymbols>
 *  $RETURNS$
 *      Nada 
 *  $DESCRIPTION$
 *      
 *  $EXAMPLES$
 *      
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      La librera asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_vmSymbolInit_RT(),hb_vmExecute()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_vmSymbolInit_RT()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      Inicializacin de smbolos de soporte de ejecucin
 *  $SYNTAX$
 *      C Prototype
 *      
 *      #include <hbvm.h>
 *      hb_vmSymbolInit_RT( void ) --> void
 *  $ARGUMENTS$
 *      Ninguno
 *  $RETURNS$
 *      Nada
 *  $DESCRIPTION$
 *      
 *  $EXAMPLES$
 *      
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      La librera asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_vmProcessSymbols()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_vmRequestQuit()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      
 *  $SYNTAX$
 *      C Prototype
 *      
 *      #include <hbvm.h>
 *      hb_vmRequestQuit( void ) --> void
 *  $ARGUMENTS$
 *      Ninguno
 *  $RETURNS$
 *      Nada
 *  $DESCRIPTION$
 *      
 *  $EXAMPLES$
 *      
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      La librera asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_vmRequestEndProc()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_vmRequestEndProc()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      
 *  $SYNTAX$
 *      C Prototype
 *      
 *      #include <hbvm.h>
 *      hb_vmRequestEndProc( void ) --> void
 *  $ARGUMENTS$
 *      Ninguno
 *  $RETURNS$
 *      Nada
 *  $DESCRIPTION$
 *      
 *  $EXAMPLES$
 *      
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      La librera asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_vmRequestQuit(),hb_vmRequestCancel()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_vmRequestCancel()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      
 *  $SYNTAX$
 *      C Prototype
 *      
 *      #include <hbvm.h>
 *      hb_vmRequestCancel( void ) --> void
 *  $ARGUMENTS$
 *      Ninguno
 *  $RETURNS$
 *      Nada
 *  $DESCRIPTION$
 *      
 *  $EXAMPLES$
 *      
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      La librera asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_vmRequestQuit(),hb_vmRequestBreak()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_vmRequestBreak()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      
 *  $SYNTAX$
 *      C Prototype
 *      
 *      #include <hbvm.h>
 *      hb_vmRequestBreak( PHB_ITEM pItem ) --> void
 *  $ARGUMENTS$
 *      <pItem>
 *  $RETURNS$
 *      Nada
 *  $DESCRIPTION$
 *      
 *  $EXAMPLES$
 *      
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      La librera asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_vmRequestQuit(),hb_vmRequestCancel()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_vmRequestQuery()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      
 *  $SYNTAX$
 *      C Prototype
 *      
 *      #include <hbvm.h>
 *      hb_vmRequestQuery( void ) --> ( USHORT )usResult
 *  $ARGUMENTS$
 *      Ninguno
 *  $RETURNS$
 *      El resultado <usResult> expresado como un entero corto sin signo
 *  $DESCRIPTION$
 *      
 *  $EXAMPLES$
 *      
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      La librera asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_vmRequestCancel()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_vmMessage()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      Enva un mensaje a un objeto
 *  $SYNTAX$
 *      C Prototype
 *      
 *      #include <hbvm.h>
 *      hb_vmMessage( PHB_SYMB pSymMsg ) --> void
 *  $ARGUMENTS$
 *      <pSymMsg>
 *  $RETURNS$
 *      Nada
 *  $DESCRIPTION$
 *      
 *  $EXAMPLES$
 *      
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      La librera asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_vmSend()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_vmDo()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      Invoca la Mquina Virtual
 *  $SYNTAX$
 *      C Prototype
 *      
 *      #include <hbvm.h>
 *      hb_vmDo( USHORT uiParams ) --> void
 *  $ARGUMENTS$
 *      <uiParams>
 *  $RETURNS$
 *      Nada
 *  $DESCRIPTION$
 *      
 *  $EXAMPLES$
 *      
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      La librera asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_vmExecute(),hb_vmFunction()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_vmFunction()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      Ejecuta una funcin guardando su resultado
 *  $SYNTAX$
 *      C Prototype
 *      
 *      #include <hbvm.h>
 *      hb_vmFunction( USHORT uiParams ) --> void
 *  $ARGUMENTS$
 *      <uiParams>
 *  $RETURNS$
 *      Nada
 *  $DESCRIPTION$
 *      Ejecuta una funcin guardando su resultado
 *  $EXAMPLES$
 *      
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      La librera asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_vmDo()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_vmSend()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      Enva un mensaje a un objeto
 *  $SYNTAX$
 *      C Prototype
 *      
 *      #include <hbvm.h>
 *      hb_vmSend( USHORT uiParams ) --> void
 *  $ARGUMENTS$
 *      <uiParams>
 *  $RETURNS$
 *      Nada
 *  $DESCRIPTION$
 *      
 *  $EXAMPLES$
 *      
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      La librera asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_vmMessage()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_vmEvalBlock()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      Ejecuta el codeblock pasado sin argumentos
 *  $SYNTAX$
 *      C Prototype
 *      
 *      #include <hbvm.h>
 *      hb_vmEvalBlock( PHB_ITEM pBlockItem ) --> ( PHB_ITEM )pResult
 *  $ARGUMENTS$
 *      <pBlockItem>
 *  $RETURNS$
 *      Un puntero a PHB_ITEM
 *  $DESCRIPTION$
 *      
 *  $EXAMPLES$
 *      
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      La librera asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_vmEvalBlockV()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_vmEvalBlockV()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      Ejecuta el codeblock pasado con argumentos
 *  $SYNTAX$
 *      C Prototype
 *      
 *      #include <hbvm.h>
 *      hb_vmEvalBlockV( PHB_ITEM pBlockItem, USHORT uiArgCount, ... )
 *                       --> ( PHB_ITEM )pResult
 *  $ARGUMENTS$
 *      <pBlockItem>
 * 
 *      <uiArgCount>  Numero de argumentos, expresado como entero sin signo
 * 
 *      <...>         Argumentos opcionales indicados arriba
 *  $RETURNS$
 *      Un puntero a PHB_ITEM
 *  $DESCRIPTION$
 *      
 *  $EXAMPLES$
 *      
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      La librera asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_vmEvalBlock()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_vmPush()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      Empuja un item generico a la pila
 *  $SYNTAX$
 *      C Prototype
 *      
 *      #include <hbvm.h>
 *      hb_vmPush( PHB_ITEM pItem ) --> void
 *  $ARGUMENTS$
 *      <pItem>
 *  $RETURNS$
 *      Nada
 *  $DESCRIPTION$
 *      Empuja un item genrico a la pila de evaluacin
 *  $EXAMPLES$
 *      
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      La librera asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_vmPushNil()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_vmPushNil()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      Pone NIL en el lugar de self
 *  $SYNTAX$
 *      C Prototype
 *      
 *      #include <hbvm.h>
 *      hb_vmPushNil( void ) --> void
 *  $ARGUMENTS$
 *      Ninguno
 *  $RETURNS$
 *      Nada
 *  $DESCRIPTION$
 *      
 *  $EXAMPLES$
 *      
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      La librera asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_vmPush()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_vmPushNumber()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      Empuja un nmero en la pila y lo evala
 *  $SYNTAX$
 *      C Prototype
 *      
 *      #include <hbvm.h>
 *      hb_vmPushNumber( double dNumber, int iDec ) --> void
 *  $ARGUMENTS$
 *      <dNumber> Nmero de doble precisin para ser evaluado
 * 
 *      <iDec>    Numero entero para indicar las cifras decimales
 *  $RETURNS$
 *      Nada
 *  $DESCRIPTION$
 *      Empuja un nmero en la pila y lo evala para decidir si es entero
 *      (int), entero largo (long)  de doble precisin (double)
 *  $EXAMPLES$
 *      
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      La librera asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_vmPushInteger(),hb_vmPushLong(),hb_vmPushDouble()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_vmPushInteger()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      Empuja un nmero entero corto a la pila
 *  $SYNTAX$
 *      C Prototype
 *      
 *      #include <hbvm.h>
 *      hb_vmPushInteger( int iNumber ) --> void
 *  $ARGUMENTS$
 *      <iNumber> Entero corto para ser evaluado
 *  $RETURNS$
 *      Nada
 *  $DESCRIPTION$
 *      Empuja un nmero entero corto a la pila para su evaluacin
 *  $EXAMPLES$
 *      
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      La librera asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_vmPushNumber(),hb_vmPushLong(),hb_vmPushDouble()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_vmPushLong()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      Empuja un nmero entero largo a la pila
 *  $SYNTAX$
 *      C Prototype
 *      
 *      #include <hbvm.h>
 *      hb_vmPushLong( long lNumber ) --> void
 *  $ARGUMENTS$
 *      <lNumber> Entero largo para ser evaluado
 *  $RETURNS$
 *      Nada
 *  $DESCRIPTION$
 *      Empuja un nmero entero largo a la pila para su evaluacin.
 *  $EXAMPLES$
 *      
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      La librera asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_vmPushNumber(),hb_vmPushInteger(),hb_vmPushDouble()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_vmPushDouble()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      Empuja un nmero doble a la pila
 *  $SYNTAX$
 *      C Prototype
 *      
 *      #include <hbvm.h>
 *      hb_vmPushDouble( double lNumber, int iDec ) --> void
 *  $ARGUMENTS$
 *      <lNumber> Nmero de doble precisin para ser evaluado
 * 
 *      <iDec>    Numero entero para indicar las cifras decimales
 *  $RETURNS$
 *      Nada
 *  $DESCRIPTION$
 *      Empuja un nmero de doble precisin a la pila para su evaluacin
 *  $EXAMPLES$
 *      
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      La librera asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_vmPushNumber(),hb_vmPushInteger(),hb_vmPushLong()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_vmPushLogical()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      Empuja un valor lgico a la pila
 *  $SYNTAX$
 *      C Prototype
 *      
 *      #include <hbvm.h>
 *      hb_vmPushLogical( BOOL bValue ) --> void
 *  $ARGUMENTS$
 *      <bValue> Valor logico
 *  $RETURNS$
 *      Nada
 *  $DESCRIPTION$
 *      
 *  $EXAMPLES$
 *      
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      La librera asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_vmPushNumber(),hb_vmPushString()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_vmPushString()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      Empuja una cadena a la pila
 *  $SYNTAX$
 *      C Prototype
 *      
 *      #include <hbvm.h>
 *      hb_vmPushString( char * szText, ULONG length ) --> void
 *  $ARGUMENTS$
 *      <szText>   puntero a una cadena de texto terminada en '\0'
 * 
 *      <ulLength> longitud de la cadena
 *  $RETURNS$
 *      Nada
 *  $DESCRIPTION$
 *      Empuja una cadena a la pila
 *  $EXAMPLES$
 *      
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      La librera asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_vmPushNumber(),hb_vmPushLogical()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_vmPushDate()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      Empuja una fecha representada como entero largo a la pila
 *  $SYNTAX$
 *      C Prototype
 *      
 *      #include <hbvm.h>
 *      hb_vmPushDate( long lDate ) --> void
 *  $ARGUMENTS$
 *      <lDate> Entero largo representando una fecha
 *  $RETURNS$
 *      Nada 
 *  $DESCRIPTION$
 *      Empuja una fecha representada como entero largo a la pila
 *  $EXAMPLES$
 *      
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      La librera asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_vmPushNumber(),hb_vmPushLogical()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_vmPushSymbol()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      Empuja un puntero a una funcin, a la pila
 *  $SYNTAX$
 *      C Prototype
 *      
 *      #include <hbvm.h>
 *      hb_vmPushSymbol( PHB_SYMB pSym ) --> void
 *  $ARGUMENTS$
 *      <pSym> puntero a una funcin
 *  $RETURNS$
 *      Nada 
 *  $DESCRIPTION$
 *      Empuja un puntero a una funcin, a la pila
 *  $EXAMPLES$
 *      
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      La librera asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_vmPushPointer()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_vmPushPointer()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      Empuja un item del tipo HB_IT_POINTER 
 *  $SYNTAX$
 *      C Prototype
 *      
 *      #include <hbvm.h>
 *      hb_vmPushPointer( void * ) --> void
 *  $ARGUMENTS$
 *      <void *>  puntero sin tipo (puntero genrico)
 *  $RETURNS$
 *      Nada
 *  $DESCRIPTION$
 *      
 *  $EXAMPLES$
 *      
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      La librera asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_vmPushSymbol()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_stackDispCall()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      
 *  $SYNTAX$
 *      C Prototype
 *      
 *      #include <hbvm.h>
 *      hb_stackDispCall( void ) --> void
 *  $ARGUMENTS$
 *      Ninguno
 *  $RETURNS$
 *      Nada
 *  $DESCRIPTION$
 *      
 *  $EXAMPLES$
 *      
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      La librera asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_stackPop()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_stackPop()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      Recupera un item de la pila
 *  $SYNTAX$
 *      C Prototype
 *      
 *      #include <hbvm.h>
 *      hb_stackPop( void ) --> void
 *  $ARGUMENTS$
 *      Ninguno
 *  $RETURNS$
 *      Nada
 *  $DESCRIPTION$
 *      
 *  $EXAMPLES$
 *      
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      La librera asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_stackDispCall()
 *  $END$
 */



