; create a program section to hold just the vectors, and
; to keep all transfer vectors quadword aligned.

    .psect  $$$XFRVEC,exe,shr,nowrt,rd,pic,quad

; define a macro to simplify creating a transfer vector
; to a routine located in the shareable image.

    .macro  XFRVEC  entry_point
    .align  QUAD
    .transfer       entry_point
    .mask   entry_point
    JMP             l^entry_point+2
    .endm

; define a macro that places a longword constant directly
; into the transfer vector array.

    .macro  XFRCON  constant
    .align  QUAD
    .long   constant
    .endm

; and start defining the transfer vectors...


    XFRVEC BZ2_bzCompressInit
    XFRVEC BZ2_bzCompress
    XFRVEC BZ2_bzCompressEnd
    XFRVEC BZ2_bzDecompressInit
    XFRVEC BZ2_bzDecompress
    XFRVEC BZ2_bzDecompressEnd
    XFRVEC BZ2_bzReadOpen
    XFRVEC BZ2_bzRead
    XFRVEC BZ2_bzReadGetUnused
    XFRVEC BZ2_bzReadClose
    XFRVEC BZ2_bzWriteOpen
    XFRVEC BZ2_bzWrite
    XFRVEC BZ2_bzWriteClose
    XFRVEC BZ2_bzBuffToBuffCompress
    XFRVEC BZ2_bzBuffToBuffDecompress
    .End
