
                          Figure 3

    /* Screen structure */


    typedef struct {
                      int  sid,              /* Screen id                    */
                           s_row,            /* Normal row offset            */
                           s_col,            /* Normal column offset         */
                           height,           /* Screen height (in rows)      */
                           width,            /* Screen width  (in cols)      */
                           num_labels,       /* Label count                  */
                           num_fields,       /* Field count                  */
                           curr_field,       /* Current field number         */
                           sr_id,            /* Scrolling region id          */
                           first_sfield,     /* First scrolling field        */
                           last_sfield;      /* Last scrolling field         */
                      char *name;
                      int  version,
                           a_exit;           /* Auto exit on last field flag */
                      SML_LABEL *label;
                      SML_FIELD *field;
                      WINDOW *swin;          /* Curses window                */
                      void (*pre_screen)(),
                           (*post_screen)(),
                           (*scroll_fore)(), /* Function for forward page    */
                           (*scroll_back)(); /* Function for backward page   */

                } SML_SCREEN;

