home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 6 / 06.iso / a / a610 / 4.ddi / INCL / SQLFM.H < prev    next >
Encoding:
C/C++ Source or Header  |  1989-12-08  |  5.7 KB  |  160 lines

  1. /***************************************************************************
  2.  *
  3.  *               INFORMIX SOFTWARE, INC.
  4.  *
  5.  *                  PROPRIETARY DATA
  6.  *
  7.  *    THIS DOCUMENT CONTAINS TRADE SECRET DATA WHICH IS THE PROPERTY OF 
  8.  *    INFORMIX SOFTWARE, INC.  THIS DOCUMENT IS SUBMITTED TO RECIPIENT IN
  9.  *    CONFIDENCE.  INFORMATION CONTAINED HEREIN MAY NOT BE USED, COPIED OR 
  10.  *    DISCLOSED IN WHOLE OR IN PART EXCEPT AS PERMITTED BY WRITTEN AGREEMENT 
  11.  *    SIGNED BY AN OFFICER OF INFORMIX SOFTWARE, INC.
  12.  *
  13.  *    THIS MATERIAL IS ALSO COPYRIGHTED AS AN UNPUBLISHED WORK UNDER
  14.  *    SECTIONS 104 AND 408 OF TITLE 17 OF THE UNITED STATES CODE. 
  15.  *    UNAUTHORIZED USE, COPYING OR OTHER REPRODUCTION IS PROHIBITED BY LAW.
  16.  *
  17.  *
  18.  *  Title:    sqlfm.h
  19.  *  Sccsid:    @(#)sqlfm.h    5.1.1.2    9/25/87  09:32:16
  20.  *  Description:
  21.  *        declarations for menu and forms statements in Informix-4GL
  22.  *
  23.  ***************************************************************************
  24.  */
  25.  
  26. #ifndef MAXIDLENGTH
  27. #define MAXIDLENGTH    50
  28. #endif
  29.  
  30. #ifndef    SQLFM
  31. #define    SQLFM
  32.  
  33. typedef struct  _EFCOMMAND
  34.     {
  35.     short _EFc_code;            /* response code */
  36.     short _EFc_htext;            /* help screen number */
  37.     char *_EFc_word;            /* one word prompt */
  38.     char *_EFc_help;            /* help text for the command */
  39.     } _EFCMDTAB[];
  40.  
  41.  
  42. typedef struct 
  43.     {
  44.     char *_EFsm_context;        /* first word to display */
  45.     struct _EFCOMMAND *_EFsm_curcomm;    /* pointer to current command */
  46.     struct _EFCOMMAND *_EFsm_first;    /* ptr to 1st elt in array of 
  47.                      * commands; last elt in array
  48.                      * has c_code = -1 */
  49.     } _EFMENU;
  50.  
  51.  
  52. typedef struct 
  53.     {
  54.     char *_EFfldname;            /* field name */
  55.     short _EFfldsub;            /* user's screen array subscript */
  56.     } _EFFIELD;
  57.  
  58.  
  59. typedef struct
  60.     {                    /* BEFORE/AFTER field sublist */
  61.     char *_EFbaname;            /* name of field */
  62.     short _EFbefore;            /* BEFORE action number */
  63.     short _EFafter;            /* AFTER action number */
  64.     } _EFBAF;
  65.  
  66. typedef struct
  67.     {                    /* INPUT control block */
  68.     _EFBAF *_EFbatab;            /* BEFORE/AFTER table */
  69.     int *_EFrowbat;            /* row BEFORE/AFTER table */
  70.     int *_EFkeys;            /* ON KEY table */
  71.     char *_EFnext;            /* NEXT FIELD name */
  72.     short _EFaction;            /* action selector */
  73.     short _EFflags;            /* see below for values */
  74.     short _EFhelp;            /* help number */
  75.     short _EFibind;            /* var number in bindlist */
  76.     short _EFifld;            /* fld number in fldlst */
  77.     short _EFrecix;            /* fld's index in rec's rixparts */
  78.  
  79.     short _EFmodf;            /* 1 = field has been modified */
  80.     short _EFentcnt;            /* 1 = verify pass */
  81.     short _EFx;                /* location of cursor */    
  82.     int   _EFdlen;            /* data size in _EFbug */
  83.     char *_EFbuf;            /* data buffer, used in _efget */
  84.     char *_EFverbuf;            /* extra buffer of verification */
  85.     char *_EFfmtstr;            /* format string, used in _efget */
  86.     
  87.     int      _EFretkey;            /* returned key in _inputrow */
  88.     int   _EFfldix;            /* index of current field, _inputrow */
  89.     int   _EFstate;            /* state machine index, _inputrow */
  90.  
  91.     int   _EFarkey;            /* returned key in _efarinkey */
  92.     int   _EFarstate;            /* state index, _efarinput */
  93.     int   _EFrcnt;            /* # of rows in screen array */
  94.  
  95.     int   _EFcrow;            /* current row in C array */
  96.     int   _EFfmrow;            /* current row in screen array */
  97.     int   _EFcrcnt;            /* # of rows in C array with data */
  98.  
  99.     int   _EFsibind, _EFsifld, _EFsrecix;    /* field state info saved */
  100.  
  101.     char  _EFcurrec[MAXIDLENGTH+1];    /* current record of the icb */
  102.     char  _EFcurfld[MAXIDLENGTH+1];    /* current field of the icb */
  103.  
  104.     struct _efwindow *_EFwin;        /* window associated with icb */
  105.     } _EFICB;
  106.  
  107. #define ICB_INIT    000001        /* first time initialization */
  108. #define ICB_ARRAY    000002        /* INPUT ARRAY */
  109. #define ICB_BEFORE    000004        /* before break in progress */
  110. #define ICB_AFTER    000010        /* after break */
  111. #define ICB_ONKEY    000020        /* on key break */
  112. #define ICB_ROWBREAK    000040        /* row break */
  113. #define ICB_NEWROW    000100        /* first time in new row */
  114. #define ICB_ROWTOUCHED    000200        /* row has been touched */
  115. #define ICB_FORCHAR    000400        /* prompt for char */
  116. #define ICB_INSERT    001000        /* row is being inserted */
  117. #define ICB_INSMODE    002000        /* insert mode */
  118. #define ICB_FCHAR    004000        /* 1 = no data char yet */
  119. #define ICB_NODEFAULT    010000        /* INPUT WITHOUT DEFAULTS */
  120. #define    ICB_VBREAK    020000        /* an output var has V_BREAK on */
  121. #define    ICB_INTRPT    040000        /* interrupt (Fgldb) */
  122.  
  123. typedef struct _efwindow
  124.     {
  125.     struct _efwindow *upper, *lower;    /* upper, lower windows */
  126.     int *win;                /* curses window */
  127.     int *swin;                /* curses subwindow */
  128.     char *formname;            /* name of form file */
  129.     int *winfrm;            /* form of window */
  130.     short rows, columns;        /* size of window */
  131.     short promptline;            /* prompt line position */
  132.     short msgline;            /* message line position */
  133.     short formline;            /* form position */
  134.     short cmtline;            /* comment line position */
  135.     short flag;                /* window status */
  136.     short forecolor;            /* foreground color */
  137.     unsigned long ucount;        /* count of use of MENU, INPUT, DISP */
  138.     } _EFwindow;
  139.  
  140. #define WINPMODE    001        /* window in input mode */
  141. #define WINMENU        002        /* window with menu */
  142. #define WINDISP        004        /* window in display array */
  143. #define WINFRM        010        /* win. opened with form */
  144.  
  145. #define WINMASK        007
  146.  
  147. #define WFIRST        0x0000        /* first line in window */
  148. #define WLAST        0x4000        /* relative distance from
  149.                        last line of window */
  150.  
  151. typedef struct _efarcb
  152.     {
  153.     _EFwindow  *cbwindow;        /* current window */
  154.     int       crow;            /* saved current row in C array */
  155.     int       fmrow;            /* saved current row in screen array */
  156.     int       crcnt;            /* # of rows in C array with data */
  157.     } _EFARCB;
  158.  
  159. #endif    /* SQLFM */
  160.