    ifnd EXEC_LIBRARIES_I
EXEC_LIBRARIES_I set 1

    ifnd    EXEC_NODES_I
    include "asm:include/exec/nodes.i"
    endif

LIB_VECTSIZE equ 6
LIB_RESERVED equ 4
LIB_BASE     equ $FFFFFFFA
LIB_USERDEF  equ LIB_BASE-(LIB_RESERVED*LIB_VECTSIZE)
LIB_NONSTD   equ LIB_USERDEF

LIBINIT     macro  \1
            ifnd   \1
COUNT_LIB   set    LIB_USERDEF
            endif
            ifd    \1
COUNT_LIB   set    \1
            endif
            endm

LIBDEF      macro   \1
\1          set     COUNT_LIB
COUNT_LIB   set     COUNT_LIB-LIB_VECTSIZE
            endm

    LIBINIT LIB_BASE

    LIBDEF  LIB_OPEN
    LIBDEF  LIB_CLOSE
    LIBDEF  LIB_EXPUNGE
    LIBDEF  LIB_EXTFUNC

LIB          set 0
LIB_FLAGS    set LIB+LN_SIZE
LIB_pad      set LIB_FLAGS+1
LIB_NEGSIZE  set LIB_pad+1
LIB_POSSIZE  set LIB_NEGSIZE+2
LIB_VERSION  set LIB_POSSIZE+2
LIB_REVISION set LIB_VERSION+2
LIB_IDSTRING set LIB_REVISION+2
LIB_SUM      set LIB_IDSTRING+4
LIB_OPENCNT  set LIB_SUM+4
LIB_SIZE     set LIB_OPENCNT+2


LIBB_SUMMING equ 0
LIBF_SUMMING equ 1<<0
LIBB_CHANGED equ 1
LIBF_CHANGED equ 1<<1
LIBB_SUMUSED equ 2
LIBF_SUMUSED equ 1<<2
LIBB_DELEXP  equ 3
LIBF_DELEXP  equ 1<<3

CALLLIB macro \1
        jsr   \1(a6)
        endm

LINKLIB macro   \1,\2
        move.l  a6,-(sp)
        movea.l \2,a6
        CALLLIB \1
        movea.l (sp)+,a6
        endm

    endif


