home *** CD-ROM | disk | FTP | other *** search
- /***************************************************************************
- *
- * INFORMIX SOFTWARE, INC.
- *
- * PROPRIETARY DATA
- *
- * THIS DOCUMENT CONTAINS TRADE SECRET DATA WHICH IS THE PROPERTY OF
- * INFORMIX SOFTWARE, INC. THIS DOCUMENT IS SUBMITTED TO RECIPIENT IN
- * CONFIDENCE. INFORMATION CONTAINED HEREIN MAY NOT BE USED, COPIED OR
- * DISCLOSED IN WHOLE OR IN PART EXCEPT AS PERMITTED BY WRITTEN AGREEMENT
- * SIGNED BY AN OFFICER OF INFORMIX SOFTWARE, INC.
- *
- * THIS MATERIAL IS ALSO COPYRIGHTED AS AN UNPUBLISHED WORK UNDER
- * SECTIONS 104 AND 408 OF TITLE 17 OF THE UNITED STATES CODE.
- * UNAUTHORIZED USE, COPYING OR OTHER REPRODUCTION IS PROHIBITED BY LAW.
- *
- *
- * Title: sqlfm.h
- * Sccsid: @(#)sqlfm.h 5.1.1.2 9/25/87 09:32:16
- * Description:
- * declarations for menu and forms statements in Informix-4GL
- *
- ***************************************************************************
- */
-
- #ifndef MAXIDLENGTH
- #define MAXIDLENGTH 50
- #endif
-
- #ifndef SQLFM
- #define SQLFM
-
- typedef struct _EFCOMMAND
- {
- short _EFc_code; /* response code */
- short _EFc_htext; /* help screen number */
- char *_EFc_word; /* one word prompt */
- char *_EFc_help; /* help text for the command */
- } _EFCMDTAB[];
-
-
- typedef struct
- {
- char *_EFsm_context; /* first word to display */
- struct _EFCOMMAND *_EFsm_curcomm; /* pointer to current command */
- struct _EFCOMMAND *_EFsm_first; /* ptr to 1st elt in array of
- * commands; last elt in array
- * has c_code = -1 */
- } _EFMENU;
-
-
- typedef struct
- {
- char *_EFfldname; /* field name */
- short _EFfldsub; /* user's screen array subscript */
- } _EFFIELD;
-
-
- typedef struct
- { /* BEFORE/AFTER field sublist */
- char *_EFbaname; /* name of field */
- short _EFbefore; /* BEFORE action number */
- short _EFafter; /* AFTER action number */
- } _EFBAF;
-
- typedef struct
- { /* INPUT control block */
- _EFBAF *_EFbatab; /* BEFORE/AFTER table */
- int *_EFrowbat; /* row BEFORE/AFTER table */
- int *_EFkeys; /* ON KEY table */
- char *_EFnext; /* NEXT FIELD name */
- short _EFaction; /* action selector */
- short _EFflags; /* see below for values */
- short _EFhelp; /* help number */
- short _EFibind; /* var number in bindlist */
- short _EFifld; /* fld number in fldlst */
- short _EFrecix; /* fld's index in rec's rixparts */
-
- short _EFmodf; /* 1 = field has been modified */
- short _EFentcnt; /* 1 = verify pass */
- short _EFx; /* location of cursor */
- int _EFdlen; /* data size in _EFbug */
- char *_EFbuf; /* data buffer, used in _efget */
- char *_EFverbuf; /* extra buffer of verification */
- char *_EFfmtstr; /* format string, used in _efget */
-
- int _EFretkey; /* returned key in _inputrow */
- int _EFfldix; /* index of current field, _inputrow */
- int _EFstate; /* state machine index, _inputrow */
-
- int _EFarkey; /* returned key in _efarinkey */
- int _EFarstate; /* state index, _efarinput */
- int _EFrcnt; /* # of rows in screen array */
-
- int _EFcrow; /* current row in C array */
- int _EFfmrow; /* current row in screen array */
- int _EFcrcnt; /* # of rows in C array with data */
-
- int _EFsibind, _EFsifld, _EFsrecix; /* field state info saved */
-
- char _EFcurrec[MAXIDLENGTH+1]; /* current record of the icb */
- char _EFcurfld[MAXIDLENGTH+1]; /* current field of the icb */
-
- struct _efwindow *_EFwin; /* window associated with icb */
- } _EFICB;
-
- #define ICB_INIT 000001 /* first time initialization */
- #define ICB_ARRAY 000002 /* INPUT ARRAY */
- #define ICB_BEFORE 000004 /* before break in progress */
- #define ICB_AFTER 000010 /* after break */
- #define ICB_ONKEY 000020 /* on key break */
- #define ICB_ROWBREAK 000040 /* row break */
- #define ICB_NEWROW 000100 /* first time in new row */
- #define ICB_ROWTOUCHED 000200 /* row has been touched */
- #define ICB_FORCHAR 000400 /* prompt for char */
- #define ICB_INSERT 001000 /* row is being inserted */
- #define ICB_INSMODE 002000 /* insert mode */
- #define ICB_FCHAR 004000 /* 1 = no data char yet */
- #define ICB_NODEFAULT 010000 /* INPUT WITHOUT DEFAULTS */
- #define ICB_VBREAK 020000 /* an output var has V_BREAK on */
- #define ICB_INTRPT 040000 /* interrupt (Fgldb) */
-
- typedef struct _efwindow
- {
- struct _efwindow *upper, *lower; /* upper, lower windows */
- int *win; /* curses window */
- int *swin; /* curses subwindow */
- char *formname; /* name of form file */
- int *winfrm; /* form of window */
- short rows, columns; /* size of window */
- short promptline; /* prompt line position */
- short msgline; /* message line position */
- short formline; /* form position */
- short cmtline; /* comment line position */
- short flag; /* window status */
- short forecolor; /* foreground color */
- unsigned long ucount; /* count of use of MENU, INPUT, DISP */
- } _EFwindow;
-
- #define WINPMODE 001 /* window in input mode */
- #define WINMENU 002 /* window with menu */
- #define WINDISP 004 /* window in display array */
- #define WINFRM 010 /* win. opened with form */
-
- #define WINMASK 007
-
- #define WFIRST 0x0000 /* first line in window */
- #define WLAST 0x4000 /* relative distance from
- last line of window */
-
- typedef struct _efarcb
- {
- _EFwindow *cbwindow; /* current window */
- int crow; /* saved current row in C array */
- int fmrow; /* saved current row in screen array */
- int crcnt; /* # of rows in C array with data */
- } _EFARCB;
-
- #endif /* SQLFM */
-