/****************************************************************************/
/** Copyright (c) Quest Engineering Technologies, 1991                     **/
/**                                                                        **/
/** All Rights Reserved.  Unpublished rights reserved under the  copyright **/
/** laws of the United States.                                             **/
/**                                                                        **/
/** The software contained on this media is proprietary  to  and  embodies **/
/** the   confidential   technology  of  Quest  Engineering  Technologies. **/
/** Possession, use, duplication or  dissemination  of  the  software  and **/
/** media  is  authorized  only  pursuant  to a valid written license from **/
/** Quest Engineering Technologies.                                        **/
/**                                                                        **/
/** RESTRICTED RIGHTS LEGEND Use, duplication, or disclosure by  the  U.S. **/
/** Government  is  subject  to  restrictions as set forth in Subparagraph **/
/** (c)(1)(ii) of DFARS 252.227-7013, or in FAR 52.227-19, as applicable.  **/
/****************************************************************************/

/*
File name:             Project:
----------             --------
   app32imp.h          EZDSP in C++ under Windows.

Description:
------------
   APP32.EXE importing routines and data structures
             out-bound communication from the app16 to the dll32
*/

#ifndef app32imp_h
#define app32imp_h
#include "ez_inter.h"

int InitEzdsp      (RETVAL void **Program);
int CloseEzdsp     (void *Program);

int EzdspEvaluate  (void *Program, DATUM *result, int *print, void *);  // EZDSP_SETTING *
int EzdspScript    (void *Program, DCONST char *Script, int LineOffset, int ExecFlag, void *);  // EZDSP_SETTING *
int EzdspScript2   (void *Program, DCONST char *Script, DCONST char *fName, int LineOffset, int ExecFlag, void *);  // EZDSP_SETTING *

int EzdspAbort     (void *Program); 

int EzdspGetValue  (void *Program, int val_type,
                      RETVAL char *VarName, RETVAL DATUM *result); 

int EzdspSetValue  (void *Program, 
                      DCONST char *VarName, DCONST DATUM *result); 

int DeleteVar      (void *Program, DCONST char *VarName); 

int EzdspGetError  (void *Program, RETVAL char *Message);

int EzdspSetOption (void *Program, EZDSP_OPTION Option, long OptSel, long optVal);

int EzdspSetCallBack(void *Program, EZDSP_CALLBACK CallBack,
                       DCONST void *Win,  DCONST PROC_PTR CallBackProcedure);

int EzdspGetAppType(void *Program, void *);  // EZDSP_SETTING *
int EzdspSetAppType(void *Program, void *);  // EZDSP_SETTING *
int EzdspCheckHW   (void *);                 // EZDSP_HW_SETTING *

long EzdspCreateGraphWin(long hParent, int x, int y, int cx, int cy);

// has to match the ezmenus.h file
#define FORMAT_MV       0
#define FORMAT_SHORT    1
#define FORMAT_SHORT_E  2
#define FORMAT_LONG     3
#define FORMAT_LONG_E   4
#define FORMAT_HEX      5
#define FORMAT_PLUS     6
#define FORMAT_BANK     7
// menu separator       8
#define FORMAT_COMPACT  9
#define FORMAT_LOOSE   10

#define FORMAT_DEFAULT  FORMAT_SHORT

#endif  // app32imp_h

