.macro ztdef ; ; driver/server communication area: ; sent to server via MBX, ; copied back by server ; $defini ZT .if ne EVAX $def zt_l_media .blkl 2 ; IRP$L_MEDIA,.+4 (Q-align) d -> s $def zt_l_devdepend .blkl ; UCB$W_DEVDEPEND = IOSB+4 d -> s -> d $def zt_l_record .blkl ; UBC$L_RECORD d -> s -> d $def zt_l_ucbsts .blkl ; UCB$L_STS d -> s -> d (*) ; (*) only UCB$M_VALID to be copied back $def zt_l_devchar .blkl ; UCB$L_DEVCHAR d -> s $def zt_l_func .blkl ; IRP$L_FUNC d -> s $def zt_l_bcnt .blkl ; UCB$L_BCNT d -> s $def zt_l_iosts .blkl ; IOSB+0 (in low word) [d ->] s -> d $def zt_l_iobct .blkl ; IOSB+2 [d ->] s -> d .iff $def zt_w_iosts .blkw ; IOSB+0 [d ->] s -> d $def zt_w_iobct .blkw ; IOSB+2 [d ->] s -> d $def zt_l_devdepend .blkl ; UCB$W_DEVDEPEND = IOSB+4 d -> s -> d $def zt_l_record .blkl ; UBC$L_RECORD d -> s -> d $def zt_w_ucbsts .blkw ; UCB$W_STS d -> s -> d (*) ; (*) only UCB$M_VALID to be copied back $def zt_w_fill1 .blkw ; "reserved" $def zt_l_devchar .blkl ; UCB$L_DEVCHAR d -> s $def zt_w_func .blkw ; IRP$W_FUNC d -> s $def zt_w_bcnt .blkw ; UCB$W_BCNT d -> s $def zt_l_media .blkl 2 ; IRP$L_MEDIA d -> s .endc $def zt_msglen $defend ZT ; $defini ZTUCB,dot=ucb$k_lcl_tape_length ;data cells known to server $def ucb_l_inter .blkl ; pointer to pseudo-interrupt routine $def ucb_l_ztmbx .blkl ; pointer to server's mailbox UCB ; $def ucb_a_ztmsg .blkb zt_msglen ; above data $def ucb_k_ztend $defend ZTUCB ; .endm ztdef