Listing 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;