/* CASL_symbols.h - C code emitted by the CASLpro compiler (DO NOT MODIFY) */ 

#ifndef CASL_SYMBOLS_H

#define CASL_SYMBOLS_H 1

extern CASL_FLOATNUM invokeR_cv_;
extern CASL_FLOATNUM invokersuB_cv_;
extern CASL_FLOATNUM bytesreaD_cv_;
extern CASL_FLOATNUM errorcodE_cv_;
extern CASL_FLOATNUM curdiR_cv_;
extern CASL_STRINGT platforM_cv_;
extern CASL_FLOATNUM bookmarK_cv_;
extern CASL_FLOATNUM _casl_c__cv_;
CASL_BYTE *icoN_cv_;
CASL_BYTE *tesT_cv_;
CASL_BYTE *truE_cv_;
CASL_BYTE *toP_cv_;
CASL_BYTE *bottoM_cv_;
CASL_BYTE *middlE_cv_;
CASL_BYTE *sidE_cv_;
CASL_BYTE *side2_cv_;
CASL_BYTE *pluS_cv_;
CASL_BYTE *minuS_cv_;
CASL_BYTE *indextoP_cv_;
CASL_BYTE *indexbottoM_cv_;
CASL_BYTE *indexsidE_cv_;
extern CASL_FLOATNUM ide__pasS_cv_;
extern CASL_STRINGT passstrinG_cv_;
extern CASL_STRINGT fldregjC_cv_;
extern CASL_STRINGT fldnamE_cv_;
extern CASL_STRINGT flddefN_cv_;
extern CASL_STRINGT fldstudY_cv_;
extern CASL_STRINGT fldA_cv_;
extern CASL_STRINGT fldB_cv_;
extern CASL_STRINGT fldC_cv_;
extern CASL_STRINGT fldD_cv_;
CASL_STRINGT indexM_cv_[10];
CASL_STRINGT indexD_cv_[100];
CASL_STRINGT indexC_cv_[50];
extern CASL_FLOATNUM numcalC_cv_;
extern CASL_FLOATNUM numlisT_cv_;



#define DT_NUM                 0
#define DT_STR                 1
#define DT_ARRAY               2
#define DT_STR_ARRAY           3
#define DT_BYTE_ARRAY          6
#define DT_OBJ                 5
#define DT_MULT_DIM_ARRAY      7
#define DT_MULT_DIM_STR_ARRAY  8
#define DT_MULT_DIM_BYTE_ARRAY 9
#define DT_MULT_DIM_OBJ_ARRAY  10

typedef struct
  {
  char *symbol_name;
  void *symbol_address;
  CASL_WORD symbol_datatype;
  CASL_WORD symbol_size;
  CASL_WORD symbol_array_size1;
  CASL_WORD symbol_array_size2;
  CASL_WORD symbol_array_size3;
  } CASLpro_symbol_struct;


CASLpro_symbol_struct CASLpro_symbol_table[36] =
  {
  "invoker", &invokeR_cv_, DT_OBJ, 0, 0, 0, 0,
  "invokersub", &invokersuB_cv_, DT_NUM, 0, 0, 0, 0,
  "bytesread", &bytesreaD_cv_, DT_NUM, 0, 0, 0, 0,
  "errorcode", &errorcodE_cv_, DT_NUM, 0, 0, 0, 0,
  "curdir", &curdiR_cv_, DT_NUM, 0, 0, 0, 0,
  "platform", &platforM_cv_, DT_STR, 0, 0, 0, 0,
  "bookmark", &bookmarK_cv_, DT_NUM, 0, 0, 0, 0,
  "_casl_c_", &_casl_c__cv_, DT_NUM, 0, 0, 0, 0,
  "icon", &icoN_cv_, DT_BYTE_ARRAY, 825, 0, 0, 0,
  "test", &tesT_cv_, DT_BYTE_ARRAY, 189, 0, 0, 0,
  "true", &truE_cv_, DT_BYTE_ARRAY, 189, 0, 0, 0,
  "top", &toP_cv_, DT_BYTE_ARRAY, 457, 0, 0, 0,
  "bottom", &bottoM_cv_, DT_BYTE_ARRAY, 457, 0, 0, 0,
  "middle", &middlE_cv_, DT_BYTE_ARRAY, 233, 0, 0, 0,
  "side", &sidE_cv_, DT_BYTE_ARRAY, 141, 0, 0, 0,
  "side2", &side2_cv_, DT_BYTE_ARRAY, 221, 0, 0, 0,
  "plus", &pluS_cv_, DT_BYTE_ARRAY, 105, 0, 0, 0,
  "minus", &minuS_cv_, DT_BYTE_ARRAY, 105, 0, 0, 0,
  "indextop", &indextoP_cv_, DT_BYTE_ARRAY, 149, 0, 0, 0,
  "indexbottom", &indexbottoM_cv_, DT_BYTE_ARRAY, 149, 0, 0, 0,
  "indexside", &indexsidE_cv_, DT_BYTE_ARRAY, 81, 0, 0, 0,
  "ide__pass", &ide__pasS_cv_, DT_NUM, 0, 0, 0, 0,
  "passstring", &passstrinG_cv_, DT_STR, 0, 0, 0, 0,
  "fldregjc", &fldregjC_cv_, DT_STR, 0, 0, 0, 0,
  "fldname", &fldnamE_cv_, DT_STR, 0, 0, 0, 0,
  "flddefn", &flddefN_cv_, DT_STR, 0, 0, 0, 0,
  "fldstudy", &fldstudY_cv_, DT_STR, 0, 0, 0, 0,
  "flda", &fldA_cv_, DT_STR, 0, 0, 0, 0,
  "fldb", &fldB_cv_, DT_STR, 0, 0, 0, 0,
  "fldc", &fldC_cv_, DT_STR, 0, 0, 0, 0,
  "fldd", &fldD_cv_, DT_STR, 0, 0, 0, 0,
  "indexm", &indexM_cv_, DT_STR_ARRAY, 10, 0, 0, 0,
  "indexd", &indexD_cv_, DT_STR_ARRAY, 100, 0, 0, 0,
  "indexc", &indexC_cv_, DT_STR_ARRAY, 50, 0, 0, 0,
  "numcalc", &numcalC_cv_, DT_NUM, 0, 0, 0, 0,
  "numlist", &numlisT_cv_, DT_NUM, 0, 0, 0, 0,
  };


CASLpro_symbol_struct *find_CASLpro_symbol(char *str)
{
int i = 0;
CASLpro_symbol_struct *found_symptr = NULL;

while ( (i < 36) && (NULL == found_symptr) )
  {
  if (0 == _pda_strcmp(str, CASLpro_symbol_table[i].symbol_name))
    found_symptr = &CASLpro_symbol_table[i];
  else
    i++;
  }
return(found_symptr);
}

#endif
