            BITDEF  FLAG,exists,0
            BITDEF  FLAG,info,1
            BITDEF  FLAG,trap,2
            BITDEF  FLAG,quit,3
            BITDEF  FLAG,Qual,4
            BITDEF  FLAG,blankp,5

kmw_bsize   equ     80                      ; buffer size
procpri     equ     2                       ; process priority
procstack   equ     500                     ; process stacksize
handlerpri  equ     51                      ; input handler priority
return_down equ     $44                     ; default select key
ralt_down   equ     $65                     ; default activation key
esc_down    equ     $45                     ; default escape key

    structure keymenu_workarea,0
        aptr    kmw_dosbase                 ; doslibrary base address
        long    kmw_filehandle              ; output file handle
        aptr    kmw_cmd                     ; runtime command
        word    kmw_cmd_length              ; runtime command length
        byte    kmw_flags                   ; various flags
                                            ;  - handler exists
                                            ;  - info param given
                                            ;  - trap param given
                                            ;  - quit param given
                                            ;  - blank pointer param given
        byte    kmw_AKey                    ; activation key
        byte    kmw_DKey                    ; deactivation key
        byte    kmw_SKey                    ; select key
        byte    kmw_UpKey                   ; up key
        byte    kmw_DownKey                 ; down key
        byte    kmw_LeftKey                 ; left key
        byte    kmw_RightKey                ; right key
        byte    kmw_handlerpri              ; input handler priority
        byte    kmw_Qual                    ; qualifier(s)
        struct  kmw_buffer,kmw_bsize        ; formatted message buffer
        
        label   kmw_size
