;Assembler header file for WimpExtend
;written by DefMod (Mar  9 1999) on Thu Apr  8 03:59:29 1999
;Richard Sargeant, sargeant@arcade.demon.co.uk, 04-Mar-1999

        [       :LNOT: :DEF: Get_Types
        GBLS    Get_Types
        ]
        [       :LNOT: :DEF: Types_Hdr
Get_Types                       SETS    "GET OS:Hdr.Types"
        |
Get_Types                       SETS    ""
        ]
        $Get_Types

        [       :LNOT: :DEF: Get_OS
        GBLS    Get_OS
        ]
        [       :LNOT: :DEF: OS_Hdr
Get_OS                          SETS    "GET OS:Hdr.OS"
        |
Get_OS                          SETS    ""
        ]
        $Get_OS

        [       :LNOT: :DEF: Get_Wimp
        GBLS    Get_Wimp
        ]
        [       :LNOT: :DEF: Wimp_Hdr
Get_Wimp                        SETS    "GET OS:Hdr.Wimp"
        |
Get_Wimp                        SETS    ""
        ]
        $Get_Wimp

        [       :LNOT: :DEF: WimpExtend_Hdr
        GBLS    WimpExtend_Hdr

;Symbols for SWIs and SWI reason codes
XWimp_Extend                    *       &600FB
Wimp_Extend                     *       &400FB

WimpExtend_GetParent            *       &6
   ;Entry
   ;  R0 = &6
   ;  R1 = w (Wimp_W)
   ;Exit
   ;  R0 = parent (Wimp_W)

WimpExtend_GetFrontChild        *       &7
   ;Entry
   ;  R0 = &7
   ;  R1 = w (Wimp_W)
   ;Exit
   ;  R0 = child (Wimp_W)

WimpExtend_GetBackChild         *       &8
   ;Entry
   ;  R0 = &8
   ;  R1 = w (Wimp_W)
   ;Exit
   ;  R0 = child (Wimp_W)

WimpExtend_GetSiblingUnder      *       &9
   ;Entry
   ;  R0 = &9
   ;  R1 = w (Wimp_W)
   ;Exit
   ;  R0 = sibling (Wimp_W)

WimpExtend_GetSiblingOver       *       &A
   ;Entry
   ;  R0 = &A
   ;  R1 = w (Wimp_W)
   ;Exit
   ;  R0 = sibling (Wimp_W)

        ]

        END
