/*
 * $Id: hb_vm.txt 10694 2009-03-25 15:34:09Z vszakats $
 */

/*
 * Las siguientes partes son derechos adquiridos de sus autores individuales.
 * www - http://www.harbour-project.org
 * 
 * Copyright 2000 Alejandro de G rate <alex_degarate@hotmail.com>
 * Documentaci¢n en Espa¤ol 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 COPYING por los t‚rminos de la licencia.
 *
 */

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

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

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

/*  $DOC$
 *  $FUNCNAME$
 *      hb_vmProcessSymbols()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      Inicializaci¢n de s¡mbolos est ticos 
 *  $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 librer¡a asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_vmSymbolInit_RT(),hb_vmExecute()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_vmSymbolInit_RT()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      Inicializaci¢n de s¡mbolos de soporte de ejecuci¢n
 *  $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 librer¡a 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 librer¡a 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 librer¡a 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 librer¡a 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 librer¡a 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 librer¡a asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_vmRequestCancel()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_vmMessage()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      Env¡a 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 librer¡a asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_vmSend()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_vmDo()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      Invoca la M quina 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 librer¡a asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_vmExecute(),hb_vmFunction()
 *  $END$
 */

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

/*  $DOC$
 *  $FUNCNAME$
 *      hb_vmSend()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      Env¡a 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 librer¡a 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 librer¡a 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 librer¡a 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 gen‚rico a la pila de evaluaci¢n
 *  $EXAMPLES$
 *      
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      La librer¡a 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 librer¡a asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_vmPush()
 *  $END$
 */

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

/*  $DOC$
 *  $FUNCNAME$
 *      hb_vmPushInteger()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      Empuja un n£mero 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 n£mero entero corto a la pila para su evaluaci¢n
 *  $EXAMPLES$
 *      
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      La librer¡a asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_vmPushNumber(),hb_vmPushLong(),hb_vmPushDouble()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_vmPushLong()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      Empuja un n£mero 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 n£mero entero largo a la pila para su evaluaci¢n.
 *  $EXAMPLES$
 *      
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      La librer¡a asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_vmPushNumber(),hb_vmPushInteger(),hb_vmPushDouble()
 *  $END$
 */

/*  $DOC$
 *  $FUNCNAME$
 *      hb_vmPushDouble()
 *  $CATEGORY$
 *      Virtual machine API
 *  $ONELINER$
 *      Empuja un n£mero doble a la pila
 *  $SYNTAX$
 *      C Prototype
 *      
 *      #include <hbvm.h>
 *      hb_vmPushDouble( double lNumber, int iDec ) --> void
 *  $ARGUMENTS$
 *      <lNumber> N£mero de doble precisi¢n para ser evaluado
 * 
 *      <iDec>    Numero entero para indicar las cifras decimales
 *  $RETURNS$
 *      Nada
 *  $DESCRIPTION$
 *      Empuja un n£mero de doble precisi¢n a la pila para su evaluaci¢n
 *  $EXAMPLES$
 *      
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      La librer¡a 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 l¢gico 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 librer¡a 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 librer¡a 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 librer¡a 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 funci¢n, a la pila
 *  $SYNTAX$
 *      C Prototype
 *      
 *      #include <hbvm.h>
 *      hb_vmPushSymbol( PHB_SYMB pSym ) --> void
 *  $ARGUMENTS$
 *      <pSym> puntero a una funci¢n
 *  $RETURNS$
 *      Nada 
 *  $DESCRIPTION$
 *      Empuja un puntero a una funci¢n, a la pila
 *  $EXAMPLES$
 *      
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      La librer¡a 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 gen‚rico)
 *  $RETURNS$
 *      Nada
 *  $DESCRIPTION$
 *      
 *  $EXAMPLES$
 *      
 *  $STATUS$
 *      R
 *  $COMPLIANCE$
 *      Compatibilidad no es aplicable a las llamadas a las APIs.
 *  $FILES$
 *      La librer¡a 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 librer¡a 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 librer¡a asociada es vm
 *  $PLATFORMS$
 *      Todas
 *  $SEEALSO$
 *      hb_stackDispCall()
 *  $END$
 */



