DISMCAM                         DISMOUNT IMAGE FOR CAMAC ACP              6-JAN-1983 11:05:15  VAX-11 Macro V03-00         Page   0
Table of contents

    (1)        5        MODULE HEADER
    (1)       54        SYSTEM DATA STRUCS AND DEFINITIONS
    (1)       78        DCAM_MAIN, MAIN PROCEDURE FOR DISMOUNT I
    (1)      133        DCAM_PRIVS, VERIFY PROCESS PRIVILEGES AR
    (1)      158        DCAM_KMDMT, KERNEL MODE DISMOUNT PROCEDU
DISMCAM                         DISMOUNT IMAGE FOR CAMAC ACP              6-JAN-1983 11:05:15  VAX-11 Macro V03-00         Page   1
V00-002                                                                   6-JAN-1983 10:10:41  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                                     0000     1 	.TITLE	DISMCAM DISMOUNT IMAGE FOR CAMAC ACP
                                     0000     2 	.IDENT	'V00-002'
                                     0000     3 	.LIBRARY	/SYS$LIBRARY:LIB/		; SYSTEM MACRO LIBRARY
                                     0000     4 	.LIBRARY	/CAMDEF/			; CAMAC MACRO LIBRARY
                                     0000     5 	.SBTTL	MODULE HEADER
                                     0000     6 
                                     0000     7 ;++
                                     0000     8 ;
                                     0000     9 ; FACILITY
                                     0000    10 ;	OAK RIDGE NATIONAL LABORATORY
                                     0000    11 ;	FUSION ENERGY DIVISION
                                     0000    12 ;	TOKAMAK SECTION
                                     0000    13 ;
                                     0000    14 ; ABSTRACT
                                     0000    15 ;
                                     0000    16 ;	This program functions as a 'DISMOUNT' image for the Fusion
                                     0000    17 ;	Energy Division VAX CAMAC ACP. The program signals the dismount
                                     0000    18 ;	to a mounted CAMAC Highway Support Unit(UCB 0 for a particular
                                     0000    19 ;	CAMAC controller) by performing the following steps.
                                     0000    20 ;
                                     0000    21 ;		Assign the CAMAC Highway Support Unit(HSU) through the
                                     0000    22 ;			logical name 'DCAM_UNIT'.
                                     0000    23 ;		From kernel mode, locate the UCB associated with the
                                     0000    24 ;			HSU and if mounted, mark it for dismount.
                                     0000    25 ;		From user mode, if the unit was successfully marked
                                     0000    26 ;			for dismount, awaken the associated ACP via a QIO using
                                     0000    27 ;			the 'IO$_ACPCONTROL' function code.
                                     0000    28 ;
                                     0000    29 ;
                                     0000    30 ; OPERATIONAL
                                     0000    31 ;
                                     0000    32 ;	1. This program requires (CMKRNL,BUGCHK) privileges for successful
                                     0000    33 ;	   operation.
                                     0000    34 ;	2. The process logical name table must contain the logical name
                                     0000    35 ;	   'DCAM_UNIT' defined to translate to the CAMAC HSU to be dismounted.
                                     0000    36 ;	3. This program references MACRO definitions from the libraries
                                     0000    37 ;	   'SYS$LIBRARY:LIB.MLB' and 'SYS$LIBRARY:CAMDEF.MLB'.
                                     0000    38 ;
                                     0000    39 ; AUTHOR
                                     0000    40 ;	E.T. Blair
                                     0000    41 ;
                                     0000    42 ; REVISION HISTORY
                                     0000    43 ;	V00-001, E.T. Blair, 28-SEP-1982
                                     0000    44 ;	Add logic to return to the image activator if the termination
                                     0000    45 ;	status indicates success. Change code to use the ON_ERROR/
                                     0000    46 ;	ON_SUCCESS MACRO's for system service status checks.
                                     0000    47 ;
                                     0000    48 ;	V00-002, E.T. Blair, 26-OCT-1982
                                     0000    49 ;	Added JPI item to sample current process privileges and a procedure
                                     0000    50 ;	'DCAM_PRIVS' to verify the process has sufficient privileges to execute
                                     0000    51 ;	the dismount image.
                                     0000    52 ;--
DISMCAM                         DISMOUNT IMAGE FOR CAMAC ACP              6-JAN-1983 11:05:15  VAX-11 Macro V03-00         Page   2
V00-002                         SYSTEM DATA STRUCS AND DEFINITIONS        6-JAN-1983 10:10:41  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                                     0000    54 	.SBTTL	SYSTEM DATA STRUCS AND DEFINITIONS
                                     0000    55 	$CCBDEF				; CHANNEL CONTROL BLOCK
                                     0000    56 	$IODEF				; I/O FUNCTION CODES
                                     0000    57 	$JPIDEF				; JPI ITEM CODES
                                     0000    58 	$PRVDEF				; PROCESS PRIVILEGE DEFINITIONS
                                     0000    59 	$PSLDEF				; PROC STATUS LONGWORD
                                     0000    60 	$UCBDEF				; UNIT CONTROL BLOCK
DISMCAM                         DISMOUNT IMAGE FOR CAMAC ACP              6-JAN-1983 11:05:15  VAX-11 Macro V03-00         Page   3
V00-002                         SYSTEM DATA STRUCS AND DEFINITIONS        6-JAN-1983 10:10:41  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                                 00000000    62 	.PSECT	$DATA,NOSHR,NOEXE
                                     0000    63 ;
                                     0000    64 ;	DISMOUNT IMAGE DATA
                                     0000    65 ;
                                     0000    66 DCAM_JPILST:
                                     0000    67 	JPI_ITEM	-		; CURRENT PROCESS PRIVILEGE MASK
                                     0000    68 		8,JPI$_CURPRIV,DCAM_CURPRIV
                                     000C    69 	JPI_ITEM			; END OF ITEM LIST
                                     0010    70 DCAM_UNIT:
55 24 4D 41 43 44 00000018'010E0000' 0010    71 	.ASCID	/DCAM$UNIT/		; LOG UNIT FOR DISMOUNT
                           54 49 4E  001E       
                                     0021    72 DCAM_CURPRIV:
                  00000000 00000000  0021    73 	.QUAD	0			; CURRENT PRIVILEGE MASK
                                     0029    74 DCAM_CHAN:
                               0000  0029    75 	.WORD	0			; UNIT I/O CHANNEL
DISMCAM                         DISMOUNT IMAGE FOR CAMAC ACP              6-JAN-1983 11:05:15  VAX-11 Macro V03-00         Page   4
V00-002                         SYSTEM DATA STRUCS AND DEFINITIONS        6-JAN-1983 10:10:41  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                                 00000000    77 	.PSECT	$CODE,PIC,SHR,NOWRT
                                     0000    78 	.SBTTL	DCAM_MAIN, MAIN PROCEDURE FOR DISMOUNT IMAGE
                                     0000    79 DCAM_MAIN:
                               0000  0000    80 	.WORD	^M<>
                                     0002    81 ;++
                                     0002    82 ;
                                     0002    83 ;	GET JPI ITEMS FOR PROCESS
                                     0002    84 ;
                                     0002    85 ;--
                                     0002    86 	$GETJPI_S	-			; EXECUTE JPI ITEM LIST
                                     0002    87 		ITMLST=DCAM_JPILST
                                     0019    88 	ON_ERROR	90$			; IF FAILURE, ABORT
                                     001F    89 	CALL	DCAM_PRIVS,DCAM_CURPRIV		; VERIFY PROCESS PRIVILEGES
                                     002C    90 	ON_ERROR	90$			; IF FAILURE, ABORT HERE
                                     0032    91 ;++
                                     0032    92 ;
                                     0032    93 ;	ASSIGN I/O CHANNEL TO LOG UNIT
                                     0032    94 ;
                                     0032    95 ;--
                                     0032    96 	$ASSIGN_S	-			; PERFORM ASSIGN
                                     0032    97 		DEVNAM=DCAM_UNIT,-		; LOG UNIT ID,
                                     0032    98 		CHAN=DCAM_CHAN			; VMS I/O CHANNEL
                                     0047    99 						; ACCESS MODE=USER
                                     0047   100 	ON_ERROR	90$			; IF FAILURE, ABORT
                                     004D   101 ;++
                                     004D   102 ;
                                     004D   103 ;	PERFORM KERNEL MODE PROCESSING TO LOCATE UNIT UCB AND
                                     004D   104 ;	MARK FOR DISMOUNT.
                                     004D   105 ;
                                     004D   106 ;--
                                     004D   107 	$CMKRNL_S	DCAM_KMDMT		; INVOKE KERNEL MODE
                                     005C   108 						; DISMOUNT PROCEDURE
                                     005C   109 	ON_ERROR	80$			; IF FAILURE, ABORT
                                     0062   110 ;++
                                     0062   111 ;
                                     0062   112 ;	QUEUE ACP CONTROL FUNCTION TO ACP TO AWAKEN.
                                     0062   113 ;
                                     0062   114 ;--
                                     0062   115 	$QIOW_S	-				; PERFORM QIO TO ACP
                                     0062   116 		EFN=#0,-			; WAIT FOR EVENT FLAG
                                     0062   117 		CHAN=DCAM_CHAN,-		; VMS CHANNEL,
                                     0062   118 		FUNC=#IO$_ACPCONTROL		; ACP CONTROL FUNC
                                     0081   119 
                                     0081   120 80$:
                            50   DD  0081   121 	PUSHL	R0				; SAVE STATUS
                                     0083   122 	$DASSGN_S	-			; RELEASE I/O CHANNEL
                                     0083   123 		CHAN=DCAM_CHAN
                            50 8ED0  0091   124 	POPL	R0				; RESTORE TERMINATION STATUS
                                     0094   125 	ON_SUCCESS	190$			; IF SUCCESS, RETURN
                                     009A   126 90$:
                            50   DD  009A   127 	PUSHL	R0				; STATUS TO STACK
              00000000'GF   01   FB  009C   128 	CALLS	#1,G^LIB$SIGNAL			; SIGNAL TERMINATION STATUS
                                     00A3   129 190$:
                                 04  00A3   130 	RET					; RETURN TO IMAGE ACTIVATOR
                                     00A4   131 	.DSABL	LSB
DISMCAM                         DISMOUNT IMAGE FOR CAMAC ACP              6-JAN-1983 11:05:15  VAX-11 Macro V03-00         Page   5
V00-002                         DCAM_PRIVS, VERIFY PROCESS PRIVILEGES AR  6-JAN-1983 10:10:41  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                                     00A4   133 	.SBTTL	DCAM_PRIVS, VERIFY PROCESS PRIVILEGES ARE SUFFICIENT
                                     00A4   134 	.ENABL	LSB
                                     00A4   135 ;++
                                     00A4   136 ;
                                     00A4   137 ;	Procedure:
                                     00A4   138 ;	DCAM_PRIVS(CUR_PRIV_MASK)
                                     00A4   139 ;
                                     00A4   140 ;
                                     00A4   141 ;--
                                     00A4   142 
                                     00A4   143 ;
                                     00A4   144 ; PROCEDURE LOCAL DATA
                                     00A4   145 ;
                           00000004  00A4   146 PMASK	=	4				; PRIVILEGE MASK PARAMETER
                                     00A4   147 
                                     00A4   148 DCAM_PRIVS:
                               0000  00A4   149 	.WORD	^M<>
                  50   0000'8F   3C  00A6   150 	MOVZWL	#SS$_NOPRIV,R0			; ASSUME FAILURE
                 09 04 BC   00   E1  00AB   151 	BBC	#PRV$V_CMKRNL,@PMASK(AP),90$	; CHANGE MODE KERNEL?
                 04 04 BC   17   E1  00B0   152 	BBC	#PRV$V_BUGCHK,@PMASK(AP),90$	; MAKE ERROR LOG ENTRIES?
                    50   00'8F   9A  00B5   153 	MOVZBL	#SS$_NORMAL,R0			; CHANGE TO SUCCESS
                                     00B9   154 90$:
                                 04  00B9   155 	RET					; RETURN TO CALLER
                                     00BA   156 	.DSABL	LSB
DISMCAM                         DISMOUNT IMAGE FOR CAMAC ACP              6-JAN-1983 11:05:15  VAX-11 Macro V03-00         Page   6
V00-002                         DCAM_KMDMT, KERNEL MODE DISMOUNT PROCEDU  6-JAN-1983 10:10:41  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                                     00BA   158 	.SBTTL	DCAM_KMDMT, KERNEL MODE DISMOUNT PROCEDURE
                                     00BA   159 	.ENABL	LSB
                                     00BA   160 
                                     00BA   161 ;++
                                     00BA   162 ;
                                     00BA   163 ;	Procedure:
                                     00BA   164 ;	DCAM_KMDMT
                                     00BA   165 ;
                                     00BA   166 ;	Description:
                                     00BA   167 ;
                                     00BA   168 ;	Inputs:
                                     00BA   169 ;
                                     00BA   170 ;	Outputs:
                                     00BA   171 ;
                                     00BA   172 ;--
                                     00BA   173 
                                     00BA   174 DCAM_KMDMT:
                               003C  00BA   175 	.WORD	^M<R2,R3,R4,R5>
              50   00000029'EF   3C  00BC   176 	MOVZWL	DCAM_CHAN,R0			; GET VMS CHANNEL
                   00000000'GF   16  00C3   177 	JSB	G^IOC$VERIFYCHAN		; LOCATE CCB FROM CHANNEL
                                     00C9   178 	ON_ERROR	90$			; IF FAILURE, RETURN
                       55   61   D0  00CF   179 	MOVL	CCB$L_UCB(R1),R5		; GET UCB ADDRESS FROM CCB
              50   00000000'8F   D0  00D2   180 	MOVL	#SS$_DEVNOTMOUNT,R0		; ASSUME NOT MOUNTED
           34 A5   00000000'8F   E1  00D9   181 	BBC	#DEV$V_MNT,UCB$L_DEVCHAR(R5),-	; IF NOT, RETURN WITH STATUS
                            0F       00E1   182 		90$
              50   00000000'8F   D0  00E2   183 	MOVL	#SS$_NORMAL,R0			; SET NORMAL STATUS
           34 A5   00000000'8F   C8  00E9   184 	BISL	#DEV$M_DMT,UCB$L_DEVCHAR(R5)	; REQUEST DISMOUNT
                                     00F1   185 90$:
                                 04  00F1   186 	RET					; RETURN TO USER MODE
                                     00F2   187 	.DSABL	LSB
                                     00F2   188 	.END	DCAM_MAIN
DISMCAM                         DISMOUNT IMAGE FOR CAMAC ACP              6-JAN-1983 11:05:15  VAX-11 Macro V03-00         Page   7
Symbol table                                                              6-JAN-1983 10:10:41  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

$$T1           = 00000001               IO$M_HANGUP    = 00000200               IO$M_SYNCH     = 00000200               
...ALEN        = 0000000C               IO$M_INCLUDE   = 00000800               IO$M_TIMED     = 00000080               
...ARGC        = 00000002               IO$M_INHERLOG  = 00000800               IO$M_TRMNOECHO = 00001000               
BIT...         = 00000103               IO$M_INHEXTGAP = 00001000               IO$M_TYPEAHDCNT= 00000040               
CCB$B_AMOD       00000009               IO$M_INHRETRY  = 00008000               IO$M_UNLOOP    = 00000100               
CCB$B_STS        00000008               IO$M_INHSEEK   = 00001000               IO$M_WORD      = 00000040               
CCB$C_LENGTH     00000010               IO$M_INTCLOCK  = 00001000               IO$M_WRTATTN   = 00000100               
CCB$K_LENGTH     00000010               IO$M_INTERRUPT = 00000040               IO$S_FCODE     = 00000006               
CCB$L_DIRP       0000000C               IO$M_INTSKIP   = 00000100               IO$V_ABORT     = 00000008               
CCB$L_UCB        00000000               IO$M_LASTBLOCK = 00000400               IO$V_ACCEPT    = 00000007               
CCB$L_WIND       00000004               IO$M_LINE_OFF  = 00000200               IO$V_ACCESS    = 00000006               
CCB$M_AMB      = 00000001               IO$M_LINE_ON   = 00000800               IO$V_ATTNAST   = 00000008               
CCB$V_AMB      = 00000000               IO$M_LOOP      = 00000080               IO$V_BINARY    = 00000006               
CCB$W_IOC        0000000A               IO$M_LOOP_EXT  = 00001000               IO$V_CANCTRLO  = 00000006               
DCAM_CHAN        00000029 R     03      IO$M_LPBEXT    = 00002000               IO$V_CECYL     = 0000000A               
DCAM_CURPRIV     00000021 R     03      IO$M_LPBINT    = 00004000               IO$V_CLEAR     = 0000000C               
DCAM_JPILST      00000000 R     03      IO$M_MAINT     = 00000040               IO$V_CLR_COUNT = 0000000A               
DCAM_KMDMT       000000BA R     04      IO$M_MAINTLOOP = 00000200               IO$V_CNTRLENTRY= 00000007               
DCAM_MAIN        00000000 R     04      IO$M_MORE      = 00000040               IO$V_COMMOD    = 00000006               
DCAM_PRIVS       000000A4 R     04      IO$M_MOUNT     = 00000200               IO$V_CREATE    = 00000007               
DCAM_UNIT        00000010 R     03      IO$M_MOVETRACKD= 00000080               IO$V_CTRL      = 00000009               
DEV$M_DMT        ********   X   04      IO$M_MULTIPLE  = 00000100               IO$V_CTRLCAST  = 00000008               
DEV$V_MNT        ********   X   04      IO$M_NOCTSWAIT = 00000040               IO$V_CTRLYAST  = 00000007               
IO$K_LOOPTEST  = 0000E000               IO$M_NODSRWAIT = 00000100               IO$V_CVTLOW    = 00000008               
IO$K_PTPBSC    = 00002000               IO$M_NOECHO    = 00000040               IO$V_CYCLE     = 0000000C               
IO$K_SRRUNOUT  = 00000000               IO$M_NOFILTR   = 00000200               IO$V_DATACHECK = 0000000E               
IO$M_ABORT     = 00000100               IO$M_NOFORMAT  = 00000100               IO$V_DATAPATH  = 0000000A               
IO$M_ACCEPT    = 00000080               IO$M_NOMRSP    = 00000040               IO$V_DELDATA   = 00000006               
IO$M_ACCESS    = 00000040               IO$M_NOW       = 00000040               IO$V_DELETE    = 00000008               
IO$M_ATTNAST   = 00000100               IO$M_NOWAIT    = 00000080               IO$V_DIAGNOSTIC= 00000008               
IO$M_BINARY    = 00000040               IO$M_OPPOSITE  = 00000200               IO$V_DMOUNT    = 0000000A               
IO$M_CANCTRLO  = 00000040               IO$M_OUTBAND   = 00000400               IO$V_DSABLMBX  = 0000000A               
IO$M_CECYL     = 00000400               IO$M_PACKED    = 00000080               IO$V_DSABL_ALT = 0000000C               
IO$M_CLEAR     = 00001000               IO$M_PURGE     = 00000800               IO$V_ENABLMBX  = 00000007               
IO$M_CLR_COUNT = 00000400               IO$M_QUALIFIED = 00000080               IO$V_ENABL_ALT = 0000000B               
IO$M_CNTRLENTRY= 00000080               IO$M_RD_COUNT  = 00000100               IO$V_ESCAPE    = 0000000E               
IO$M_COMMOD    = 00000040               IO$M_RD_MEM    = 00000040               IO$V_EXTEND    = 0000000F               
IO$M_CREATE    = 00000080               IO$M_RD_MODEM  = 00000080               IO$V_FCODE     = 00000000               
IO$M_CTRL      = 00000200               IO$M_READATTN  = 00000080               IO$V_FORCE     = 00000006               
IO$M_CTRLCAST  = 00000100               IO$M_READCSR   = 00008000               IO$V_HANGUP    = 00000009               
IO$M_CTRLYAST  = 00000080               IO$M_REDIRECT  = 00000040               IO$V_INCLUDE   = 0000000B               
IO$M_CVTLOW    = 00000100               IO$M_REFRESH   = 00002000               IO$V_INHERLOG  = 0000000B               
IO$M_CYCLE     = 00001000               IO$M_RESET     = 00000800               IO$V_INHEXTGAP = 0000000C               
IO$M_DATACHECK = 00004000               IO$M_REVERSE   = 00000040               IO$V_INHRETRY  = 0000000F               
IO$M_DATAPATH  = 00000400               IO$M_SETBSIZE  = 00000200               IO$V_INHSEEK   = 0000000C               
IO$M_DELDATA   = 00000040               IO$M_SETCUADR  = 00000100               IO$V_INTCLOCK  = 0000000C               
IO$M_DELETE    = 00000100               IO$M_SETENQCNT = 00000800               IO$V_INTERRUPT = 00000006               
IO$M_DIAGNOSTIC= 00000100               IO$M_SETEVF    = 00000040               IO$V_INTSKIP   = 00000008               
IO$M_DMOUNT    = 00000400               IO$M_SETFNCT   = 00000200               IO$V_LASTBLOCK = 0000000A               
IO$M_DSABLMBX  = 00000400               IO$M_SETPOOLSZ = 00000400               IO$V_LINE_OFF  = 00000009               
IO$M_DSABL_ALT = 00001000               IO$M_SETPROT   = 00000200               IO$V_LINE_ON   = 0000000B               
IO$M_ENABLMBX  = 00000080               IO$M_SET_MODEM = 00000400               IO$V_LOOP      = 00000007               
IO$M_ENABL_ALT = 00000800               IO$M_SHUTDOWN  = 00000080               IO$V_LOOP_EXT  = 0000000C               
IO$M_ESCAPE    = 00004000               IO$M_SKPSECINH = 00000200               IO$V_LPBEXT    = 0000000D               
IO$M_EXTEND    = 00008000               IO$M_SLAVLOOP  = 00000080               IO$V_LPBINT    = 0000000E               
IO$M_FCODE     = 0000003F               IO$M_STARTUP   = 00000040               IO$V_MAINT     = 00000006               
IO$M_FORCE     = 00000040               IO$M_SWAP      = 00000400               IO$V_MAINTLOOP = 00000009               
DISMCAM                         DISMOUNT IMAGE FOR CAMAC ACP              6-JAN-1983 11:05:15  VAX-11 Macro V03-00         Page   8
Symbol table                                                              6-JAN-1983 10:10:41  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

IO$V_MORE      = 00000006               IO$_DSE        = 00000015               IO$_WRITELBLK  = 00000020               
IO$V_MOUNT     = 00000009               IO$_ENDRU1     = 0000003A               IO$_WRITEMARK  = 0000001C               
IO$V_MOVETRACKD= 00000007               IO$_ENDRU2     = 0000003B               IO$_WRITEOF    = 00000028               
IO$V_MULTIPLE  = 00000008               IO$_ERASETAPE  = 00000006               IO$_WRITEPBLK  = 0000000B               
IO$V_NOCTSWAIT = 00000006               IO$_FORCE      = 00000037               IO$_WRITERET   = 00000018               
IO$V_NODSRWAIT = 00000008               IO$_FORMAT     = 0000001E               IO$_WRITETRACKD= 0000000F               
IO$V_NOECHO    = 00000006               IO$_INITIALIZE = 00000004               IO$_WRITEVBLK  = 00000030               
IO$V_NOFILTR   = 00000009               IO$_LOADMCODE  = 00000001               IO$_WRTTMKR    = 0000001D               
IO$V_NOFORMAT  = 00000008               IO$_LOGICAL    = 0000002F               IOC$VERIFYCHAN   ********   X   04      
IO$V_NOMRSP    = 00000006               IO$_MODIFY     = 00000036               JPI$C_ADRTYPE  = 00000001               
IO$V_NOW       = 00000006               IO$_MOUNT      = 00000039               JPI$C_CTLTYPE  = 00000002               
IO$V_NOWAIT    = 00000007               IO$_NETCONTROL = 00000036               JPI$C_LISTEND  = 00000000               
IO$V_OPPOSITE  = 00000009               IO$_NOP        = 00000000               JPI$C_PCBTYPE  = 00000003               
IO$V_OUTBAND   = 0000000A               IO$_OFFSET     = 00000006               JPI$C_PHDTYPE  = 00000004               
IO$V_PACKED    = 00000007               IO$_PACKACK    = 00000008               JPI$_ACCOUNT   = 00000203               
IO$V_PURGE     = 0000000B               IO$_PHYSICAL   = 0000001F               JPI$_APTCNT    = 0000030A               
IO$V_QUALIFIED = 00000007               IO$_QSTOP      = 00000007               JPI$_ASTACT    = 00000300               
IO$V_RD_COUNT  = 00000008               IO$_RDSTATS    = 0000000D               JPI$_ASTCNT    = 0000030E               
IO$V_RD_MEM    = 00000006               IO$_READHEAD   = 0000000E               JPI$_ASTEN     = 00000301               
IO$V_RD_MODEM  = 00000007               IO$_READINIT   = 0000003C               JPI$_ASTLM     = 00000409               
IO$V_READATTN  = 00000007               IO$_READLBLK   = 00000021               JPI$_AUTHPRI   = 00000418               
IO$V_READCSR   = 0000000F               IO$_READPBLK   = 0000000C               JPI$_AUTHPRIV  = 00000412               
IO$V_REDIRECT  = 00000006               IO$_READPRESET = 00000019               JPI$_BIOCNT    = 0000030F               
IO$V_REFRESH   = 0000000D               IO$_READPROMPT = 00000037               JPI$_BIOLM     = 00000310               
IO$V_RESET     = 0000000B               IO$_READTRACKD = 00000010               JPI$_BUFIO     = 0000040C               
IO$V_REVERSE   = 00000006               IO$_READVBLK   = 00000031               JPI$_BYTCNT    = 00000311               
IO$V_SETBSIZE  = 00000009               IO$_RECAL      = 00000003               JPI$_BYTLM     = 0000031A               
IO$V_SETCUADR  = 00000008               IO$_RELEASE    = 00000005               JPI$_CPULIM    = 0000040D               
IO$V_SETENQCNT = 0000000B               IO$_REREADN    = 00000016               JPI$_CPUTIM    = 00000407               
IO$V_SETEVF    = 00000006               IO$_REREADP    = 00000017               JPI$_CURPRIV   = 00000400               
IO$V_SETFNCT   = 00000009               IO$_RETCENTER  = 00000007               JPI$_DFPFC     = 00000406               
IO$V_SETPOOLSZ = 0000000A               IO$_REWIND     = 00000024               JPI$_DFWSCNT   = 00000403               
IO$V_SETPROT   = 00000009               IO$_REWINDOFF  = 00000022               JPI$_DIOCNT    = 00000312               
IO$V_SET_MODEM = 0000000A               IO$_SEARCH     = 00000009               JPI$_DIOLM     = 00000313               
IO$V_SHUTDOWN  = 00000007               IO$_SEEK       = 00000002               JPI$_DIRIO     = 0000040B               
IO$V_SKPSECINH = 00000009               IO$_SENSECHAR  = 0000001B               JPI$_EFCS      = 00000317               
IO$V_SLAVLOOP  = 00000007               IO$_SENSEMODE  = 00000027               JPI$_EFCU      = 00000318               
IO$V_STARTUP   = 00000006               IO$_SETCHAR    = 0000001A               JPI$_EFWM      = 00000316               
IO$V_SWAP      = 0000000A               IO$_SETCLOCK   = 00000037               JPI$_ENQCNT    = 0000031F               
IO$V_SYNCH     = 00000009               IO$_SETCLOCKP  = 00000005               JPI$_ENQLM     = 00000320               
IO$V_TIMED     = 00000007               IO$_SETMODE    = 00000023               JPI$_EXCVEC    = 00000100               
IO$V_TRMNOECHO = 0000000C               IO$_SKIPFILE   = 00000025               JPI$_FILCNT    = 00000314               
IO$V_TYPEAHDCNT= 00000006               IO$_SKIPRECORD = 00000026               JPI$_FILLM     = 0000040F               
IO$V_UNLOOP    = 00000008               IO$_SPACEFILE  = 00000002               JPI$_FINALEXC  = 00000101               
IO$V_WORD      = 00000006               IO$_SPACERECORD= 00000009               JPI$_FREP0VA   = 00000404               
IO$V_WRTATTN   = 00000008               IO$_STARTDATA  = 00000038               JPI$_FREP1VA   = 00000405               
IO$_ACCESS     = 00000032               IO$_STARTDATAP = 00000006               JPI$_FREPTECNT = 00000415               
IO$_ACPCONTROL = 00000038               IO$_STARTMPROC = 00000002               JPI$_GPGCNT    = 0000030C               
IO$_AVAILABLE  = 00000011               IO$_STARTSPNDL = 00000019               JPI$_GRP       = 00000308               
IO$_CLEAN      = 0000001E               IO$_STOP       = 00000003               JPI$_IMAGECOUNT= 0000041A               
IO$_CONINTREAD = 0000003C               IO$_TTYREADALL = 0000003A               JPI$_IMAGNAME  = 00000207               
IO$_CONINTWRITE= 0000003D               IO$_TTYREADPALL= 0000003B               JPI$_IMAGPRIV  = 00000413               
IO$_CREATE     = 00000033               IO$_UNLOAD     = 00000001               JPI$_JOBPRCCNT = 0000031E               
IO$_DEACCESS   = 00000034               IO$_VIRTUAL    = 0000003F               JPI$_LASTADR   = 00000102               
IO$_DELETE     = 00000035               IO$_WRITECHECK = 0000000A               JPI$_LASTCTL   = 00000209               
IO$_DIAGNOSE   = 0000001D               IO$_WRITECHECKH= 00000018               JPI$_LASTPCB   = 00000322               
IO$_DRVCLR     = 00000004               IO$_WRITEHEAD  = 0000000D               JPI$_LASTPHD   = 0000041B               
DISMCAM                         DISMOUNT IMAGE FOR CAMAC ACP              6-JAN-1983 11:05:15  VAX-11 Macro V03-00         Page   9
Symbol table                                                              6-JAN-1983 10:10:41  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

JPI$_LOGINTIM  = 00000206               PRV$V_PSWAPM   = 0000000C               UCB$B_AMOD       00000053               
JPI$_MEM       = 00000307               PRV$V_SETPRI   = 0000000D               UCB$B_CEX        00000087               
JPI$_OWNER     = 00000303               PRV$V_SETPRV   = 0000000E               UCB$B_CM1        0000004A               
JPI$_PAGEFLTS  = 0000040A               PRV$V_SHMEM    = 0000001B               UCB$B_CM2        0000004B               
JPI$_PAGFILCNT = 00000414               PRV$V_SYSGBL   = 00000019               UCB$B_DEVCLASS   00000038               
JPI$_PAGFILLOC = 00000419               PRV$V_SYSLCK   = 0000001E               UCB$B_DEVTYPE    00000039               
JPI$_PGFLQUOTA = 0000040E               PRV$V_SYSNAM   = 00000002               UCB$B_DIPL       00000052               
JPI$_PID       = 00000319               PRV$V_SYSPRV   = 0000001C               UCB$B_DX_SCTCNT  000000B6               
JPI$_PPGCNT    = 0000030D               PRV$V_TMPMBX   = 0000000F               UCB$B_ERTCNT     00000070               
JPI$_PRCCNT    = 0000031B               PRV$V_VOLPRO   = 00000015               UCB$B_ERTMAX     00000071               
JPI$_PRCLM     = 00000408               PRV$V_WORLD    = 00000010               UCB$B_FEX        00000086               
JPI$_PRCNAM    = 0000031C               PSL$C_EXEC     = 00000001               UCB$B_FIPL       0000000B               
JPI$_PRI       = 00000302               PSL$C_KERNEL   = 00000000               UCB$B_JNL_NAM    0000009C               
JPI$_PRIB      = 00000309               PSL$C_SUPER    = 00000002               UCB$B_LOCSRV     0000003C               
JPI$_PROCPRIV  = 00000204               PSL$C_USER     = 00000003               UCB$B_OFFNDX     000000A4               
JPI$_SITESPEC  = 00000208               PSL$M_C        = 00000001               UCB$B_OFFRTC     000000A5               
JPI$_STATE     = 00000306               PSL$M_CM       = 80000000               UCB$B_REMSRV     0000003D               
JPI$_STS       = 00000305               PSL$M_CURMOD   = 03000000               UCB$B_SECTORS    0000003C               
JPI$_SWPFILLOC = 00000321               PSL$M_DV       = 00000080               UCB$B_SLAVE      00000084               
JPI$_TERMINAL  = 0000031D               PSL$M_FPD      = 08000000               UCB$B_SPR        00000085               
JPI$_TMBU      = 0000030B               PSL$M_FU       = 00000040               UCB$B_STATE      00000052               
JPI$_TQCNT     = 00000315               PSL$M_IPL      = 001F0000               UCB$B_TRACKS     0000003D               
JPI$_TQLM      = 00000410               PSL$M_IS       = 04000000               UCB$B_TYPE       0000000A               
JPI$_UIC       = 00000304               PSL$M_IV       = 00000020               UCB$B_VERTSZ     0000003F               
JPI$_USERNAME  = 00000202               PSL$M_N        = 00000008               UCB$C_JNL_LEN    000000AE               
JPI$_VIRTPEAK  = 00000200               PSL$M_PRVMOD   = 00C00000               UCB$C_LENGTH     00000084               
JPI$_VOLUMES   = 00000205               PSL$M_SAFBITS  = 000037FF               UCB$C_LOGLNK   = 00000001               
JPI$_WSAUTH    = 00000401               PSL$M_TBIT     = 00000010               UCB$C_MB_LENGTH  000000A0               
JPI$_WSAUTHEXT = 00000417               PSL$M_TP       = 40000000               UCB$K_JNL_LEN    000000AE               
JPI$_WSEXTENT  = 00000416               PSL$M_V        = 00000002               UCB$K_LENGTH     00000084               
JPI$_WSPEAK    = 00000201               PSL$M_Z        = 00000004               UCB$K_MB_LENGTH  000000A0               
JPI$_WSQUOTA   = 00000402               PSL$S_CURMOD   = 00000002               UCB$L_AMB        00000054               
JPI$_WSSIZE    = 00000411               PSL$S_IPL      = 00000005               UCB$L_ASTQBL     00000010               
LIB$SIGNAL       ********   X   04      PSL$S_PRVMOD   = 00000002               UCB$L_ASTQFL     0000000C               
PMASK          = 00000004               PSL$V_C        = 00000000               UCB$L_CPID       0000005C               
PRV$V_ACNT     = 00000009               PSL$V_CM       = 0000001F               UCB$L_CRB        00000020               
PRV$V_ALLSPOOL = 00000004               PSL$V_CURMOD   = 00000018               UCB$L_DDB        00000024               
PRV$V_ALTPRI   = 0000000D               PSL$V_DV       = 00000007               UCB$L_DDT        00000078               
PRV$V_BUGCHK   = 00000017               PSL$V_FPD      = 0000001B               UCB$L_DEVCHAR    00000034               
PRV$V_BYPASS   = 0000001D               PSL$V_FU       = 00000006               UCB$L_DEVDEPEND  0000003C               
PRV$V_CMEXEC   = 00000001               PSL$V_IPL      = 00000010               UCB$L_DEVDEPND2  00000080               
PRV$V_CMKRNL   = 00000000               PSL$V_IS       = 0000001A               UCB$L_DPC        00000090               
PRV$V_DETACH   = 00000005               PSL$V_IV       = 00000005               UCB$L_DUETIM     0000005C               
PRV$V_DIAGNOSE = 00000006               PSL$V_N        = 00000003               UCB$L_DX_BFPNT   000000AC               
PRV$V_EXQUOTA  = 00000013               PSL$V_PRVMOD   = 00000016               UCB$L_DX_BUF     000000A8               
PRV$V_GROUP    = 00000008               PSL$V_TBIT     = 00000004               UCB$L_DX_RXDB    000000B0               
PRV$V_GRPNAM   = 00000003               PSL$V_TP       = 0000001E               UCB$L_EMB        00000088               
PRV$V_LOG_IO   = 00000007               PSL$V_V        = 00000001               UCB$L_FIRST      00000014               
PRV$V_MOUNT    = 00000011               PSL$V_Z        = 00000002               UCB$L_FPC        0000000C               
PRV$V_NETMBX   = 00000014               SS$_DEVNOTMOUNT  ********   X   04      UCB$L_FQBL       00000004               
PRV$V_NOACNT   = 00000009               SS$_NOPRIV       ********   X   04      UCB$L_FQFL       00000000               
PRV$V_OPER     = 00000012               SS$_NORMAL       ********   X   04      UCB$L_FR3        00000010               
PRV$V_PFNMAP   = 0000001A               SYS$ASSIGN       ********  GX   04      UCB$L_FR4        00000014               
PRV$V_PHY_IO   = 00000016               SYS$CMKRNL       ********  GX   04      UCB$L_IOQBL      00000044               
PRV$V_PRMCEB   = 0000000A               SYS$DASSGN       ********  GX   04      UCB$L_IOQFL      00000040               
PRV$V_PRMGBL   = 00000018               SYS$GETJPI       ********  GX   04      UCB$L_IRP        0000004C               
PRV$V_PRMMBX   = 0000000B               SYS$QIOW         ********  GX   04      UCB$L_JNL_BCB    00000084               
DISMCAM                         DISMOUNT IMAGE FOR CAMAC ACP              6-JAN-1983 11:05:15  VAX-11 Macro V03-00         Page  10
Symbol table                                                              6-JAN-1983 10:10:41  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

UCB$L_JNL_FQBL   00000098               UCB$M_TT_NOTIF = 00000004               UCB$W_DEVSTS     0000005A               
UCB$L_JNL_FQFL   00000094               UCB$M_TT_TIMO  = 00000002               UCB$W_DIRSEQ     00000098               
UCB$L_JNL_QUOT   000000A8               UCB$M_UNLOAD   = 00001000               UCB$W_DSTADDR    00000018               
UCB$L_JNL_RUL    00000088               UCB$M_VALID    = 00000800               UCB$W_DX_BCR     000000B4               
UCB$L_JNL_SEQNO  0000003C               UCB$M_WRONGVOL = 00008000               UCB$W_EC1        000000A0               
UCB$L_JNL_WQBL   00000090               UCB$S_JNL_NAM  = 0000000C               UCB$W_EC2        000000A2               
UCB$L_JNL_WQFL   0000008C               UCB$S_LNKPRI   = 00000002               UCB$W_ERRCNT     00000072               
UCB$L_LINK       0000002C               UCB$S_LTYPE    = 00000002               UCB$W_FUNC       0000008E               
UCB$L_LOGADR     00000064               UCB$T_PARTNER    0000000C               UCB$W_JNL_ID     000000AC               
UCB$L_MAXBLOCK   00000094               UCB$V_BACKP    = 00000005               UCB$W_MB_SEED    00000000               
UCB$L_MB_MBX     0000008C               UCB$V_BSY      = 00000008               UCB$W_MSGCNT     00000016               
UCB$L_MB_PORT    0000009C               UCB$V_CANCEL   = 00000003               UCB$W_MSGMAX     00000014               
UCB$L_MB_RAST    00000088               UCB$V_DEADMO   = 0000000A               UCB$W_NT_CHAN    0000008C               
UCB$L_MB_SHB     00000090               UCB$V_DELMBX   = 00000001               UCB$W_OFFSET     0000009A               
UCB$L_MB_WAST    00000084               UCB$V_DIAGBUF  = 00000001               UCB$W_REFC       00000050               
UCB$L_MB_WIOQBL  00000098               UCB$V_DX_WRITE = 00000003               UCB$W_RWAITCNT   0000004A               
UCB$L_MB_WIOQFL  00000094               UCB$V_ECC      = 00000000               UCB$W_SIZE       00000008               
UCB$L_MEDIA      0000009C               UCB$V_ERLOGIP  = 00000002               UCB$W_SRCADDR    0000001A               
UCB$L_NT_DATSSB  00000084               UCB$V_INT      = 00000001               UCB$W_STS        00000058               
UCB$L_NT_INTSSB  00000088               UCB$V_INTTYPE  = 00000007               UCB$W_UNIT       00000048               
UCB$L_OPCNT      00000060               UCB$V_JOB      = 00000000               UCB$W_VPROT      0000001A               
UCB$L_OWNUIC     0000001C               UCB$V_LNKPRI   = 00000006               
UCB$L_PDT        00000074               UCB$V_LTYPE    = 00000000               
UCB$L_PID        00000028               UCB$V_MNTVERIP = 0000000E               
UCB$L_RQBL       00000004               UCB$V_MOUNTING = 00000009               
UCB$L_RQFL       00000000               UCB$V_MSGACK   = 00000004               
UCB$L_SVAPTE     00000068               UCB$V_MSGFLO   = 00000003               
UCB$L_SVPN       00000064               UCB$V_NOCNVRT  = 00000002               
UCB$L_TT_DEVDP1  00000080               UCB$V_NT_BFROVF= 00000002               
UCB$L_VCB        00000030               UCB$V_NT_BREAK = 00000005               
UCB$M_BACKP    = 00000020               UCB$V_NT_NAME  = 00000004               
UCB$M_BSY      = 00000100               UCB$V_ONLINE   = 00000004               
UCB$M_CANCEL   = 00000008               UCB$V_PERM_JNL = 00000004               
UCB$M_DEADMO   = 00000400               UCB$V_POWER    = 00000005               
UCB$M_DELMBX   = 00000002               UCB$V_PRMMBX   = 00000000               
UCB$M_DIAGBUF  = 00000002               UCB$V_SEGFLO   = 00000002               
UCB$M_DX_WRITE = 00000008               UCB$V_SHMMBX   = 00000003               
UCB$M_ECC      = 00000001               UCB$V_TEMPLATE = 0000000D               
UCB$M_ERLOGIP  = 00000004               UCB$V_TEMPL_BSY= 00000005               
UCB$M_INT      = 00000002               UCB$V_TIM      = 00000000               
UCB$M_INTTYPE  = 00000080               UCB$V_TIMOUT   = 00000006               
UCB$M_JOB      = 00000001               UCB$V_TT_HANGUP= 00000003               
UCB$M_MNTVERIP = 00004000               UCB$V_TT_NOTIF = 00000002               
UCB$M_MOUNTING = 00000200               UCB$V_TT_TIMO  = 00000001               
UCB$M_NOCNVRT  = 00000004               UCB$V_UNLOAD   = 0000000C               
UCB$M_NT_BFROVF= 00000004               UCB$V_VALID    = 0000000B               
UCB$M_NT_BREAK = 00000020               UCB$V_WRONGVOL = 0000000F               
UCB$M_NT_NAME  = 00000010               UCB$W_BCNT       0000006E               
UCB$M_ONLINE   = 00000010               UCB$W_BCR        000000A6               
UCB$M_PERM_JNL = 00000010               UCB$W_BOFF       0000006C               
UCB$M_POWER    = 00000020               UCB$W_BUFQUO     00000018               
UCB$M_PRMMBX   = 00000001               UCB$W_BYTESTOGO  0000003E               
UCB$M_SHMMBX   = 00000008               UCB$W_CHARGE     0000004A               
UCB$M_TEMPLATE = 00002000               UCB$W_CYLINDERS  0000003E               
UCB$M_TIM      = 00000001               UCB$W_DA         0000009C               
UCB$M_TIMOUT   = 00000040               UCB$W_DC         0000009E               
UCB$M_TT_HANGUP= 00000008               UCB$W_DEVBUFSIZ  0000003A               
DISMCAM                         DISMOUNT IMAGE FOR CAMAC ACP              6-JAN-1983 11:05:15  VAX-11 Macro V03-00         Page  11
Psect synopsis                                                            6-JAN-1983 10:10:41  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)


                                                +----------------+
                                                ! Psect synopsis !
                                                +----------------+

PSECT name                      Allocation          PSECT No.  Attributes     
----------                      ----------          ---------  ----------     
.  ABS  .                       00000000  (    0.)  00 (  0.)  NOPIC   USR   CON   ABS   LCL NOSHR NOEXE NORD  NOWRT NOVEC BYTE  
. BLANK .                       00000000  (    0.)  01 (  1.)  NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT NOVEC BYTE  
$ABS$                           000000B8  (  184.)  02 (  2.)  NOPIC   USR   CON   ABS   LCL NOSHR   EXE   RD    WRT NOVEC BYTE  
$DATA                           0000002B  (   43.)  03 (  3.)  NOPIC   USR   CON   REL   LCL NOSHR NOEXE   RD    WRT NOVEC BYTE  
$CODE                           000000F2  (  242.)  04 (  4.)    PIC   USR   CON   REL   LCL   SHR   EXE   RD  NOWRT NOVEC BYTE  

                                             +------------------------+
                                             ! Performance indicators !
                                             +------------------------+

Phase                    Page faults    CPU Time       Elapsed Time   
-----                    -----------    --------       ------------   
Initialization                   27     00:00:00.05    00:00:00.14
Command processing               29     00:00:00.21    00:00:00.45
Pass 1                          510     00:00:08.79    00:00:09.69
Symbol table sort                17     00:00:00.94    00:00:00.94
Pass 2                          154     00:00:01.39    00:00:01.44
Symbol table output              58     00:00:00.36    00:00:00.38
Psect synopsis output             5     00:00:00.03    00:00:00.03
Cross-reference output            0     00:00:00.00    00:00:00.00
Assembler run totals            803     00:00:11.77    00:00:13.07

The working set limit was 600 pages.
42577 bytes (84 pages) of virtual memory were used to buffer the intermediate code.
There were 40 pages of symbol table space allocated to hold 648 non-local and 11 local symbols.
188 source lines were read in Pass 1, producing 16 object records in Pass 2.
29 pages of virtual memory were used to define 28 macros.

                                            +--------------------------+
                                            ! Macro library statistics !
                                            +--------------------------+

Macro library name                           Macros defined      
------------------                           --------------      
SYS$SYSROOT:[CAMAC.SOURCE.KS30202]CAMDEF.MLB;           5        
SYS$SYSROOT:[SYSLIB]LIB.MLB;1                           2        
SYS$SYSROOT:[SYSLIB]STARLET.MLB;1                      17        
TOTALS (all libraries)                                 24        

981 GETS were required to define 24 macros.

There were no errors, warnings or information messages.

/LIS DMOUNTCAM
