CHNUCB          - GET ASSUGNED UCB ADDRESS OF CHANNEL            21-AUG-1978 23:47:21   VAX-11 MACRO X0.3-11               Page   1

X0001                                                                                                                            (2)



                                     0000    49 ;

                                     0000    50 ; ASSORTED MACROS USED IN FCP CODE

                                     0000    51 ;

                                     0000    52 

                                     0000    53 	.MACRO	SET_IPL	LEVEL		; SET PROCESSOR IPL (DUMMY NOW)

                                     0000    54 	.ENDM	SET_IPL

                                     0000    55 ;

                                     0000    56 ; MACRO USED TO SIGNAL FATAL ERRORS (INTERNAL CONSISTENCY CHECKS).

                                     0000    57 ;

                                     0000    58 	.MACRO	BUG_CHECK	CODE, TYPE, MESSAGE

                                     0000    59 	HALT			; SIMPLY CALL A HALT FOR NOW

                                     0000    60 	.ENDM	BUG_CHECK

                                     0000    61 ;

                                     0000    62 ; MACRO TO SIGNAL AN ERROR STATUS AND CONTINUE.

                                     0000    63 ;

                                     0000    64 	.MACRO	ERROR	CODE

                                     0000    65 	MOVL	#CODE,USER_STATUS

                                     0000    66 	.ENDM	ERROR

                                     0000    67 ;

                                     0000    68 ; MACRO TO SIGNAL AN ERROR STATUS AND EXIT.

                                     0000    69 ;

                                     0000    70 	.MACRO	ERR_EXIT	CODE

                                     0000    71 	MOVZWL	CODE,-(SP)

                                     0000    72 	HALT			; UNTIL WE FIGURE THIS OUT

                                     0000    73 	.ENDM	ERR_EXIT

                                     0000    74 ;

                                     0000    75 ; TYPE CODES USED TO IDENTIFY BLOCKS BEING READ BY READ_BLOCK.

                                     0000    76 ; NOTE THAT READ_BLOCK CONTAINS A TABLE INDEXED BY THESE CODES.

                                     0000    77 ;

                           00000000  0000    78 	HEADER_TYPE	= 0		; FILE HEADER

                           00000001  0000    79 	BITMAP_TYPE	= 1		; STORAGE BITMAP

                           00000002  0000    80 	DIRECTORY_TYPE	= 2		; DIRECTORY BLOCK

                           00000003  0000    81 	INDEX_TYPE	= 3		; OTHER INDEX FILE BLOCKS

                                     0000    82 ;

                                     0000    83 ; TYPE CODES USED TO IDENTIFY BLOCKS OF MEMORY REQUESTED FROM THE

                                     0000    84 ; ALLOCATOR. NOTE THAT THESE CODES INDEX INTO A TABLE IN ALLOCATE.

                                     0000    85 ;

                           00000000  0000    86 	FCB_TYPE	= 0		; FILE CONTROL BLOCK

                           00000001  0000    87 	WCB_TYPE	= 1		; WINDOW BLOCK

CHNUCB          - GET ASSUGNED UCB ADDRESS OF CHANNEL            21-AUG-1978 23:47:21   VAX-11 MACRO X0.3-11               Page   2

X0001                                                                                                                            (1)



                                     0000     1 	.TITLE	CHNUCB - GET ASSUGNED UCB ADDRESS OF CHANNEL

                                     0000     2 	.IDENT	"X0001"

                                     0000     3 

                                     0000     4 ;

                                     0000     5 ; COPYRIGHT (C) 1976

                                     0000     6 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS 01754

                                     0000     7 ;

                                     0000     8 ; THIS SOFTWARE IS FURNISHED  UNDER A LICENSE FOR USE ONLY ON A SINGLE

                                     0000     9 ; COMPUTER  SYSTEM AND  MAY BE  COPIED ONLY WITH  THE INCLUSION OF THE

                                     0000    10 ; ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE, OR ANY OTHER COPIES THEREOF,

                                     0000    11 ; MAY NOT BE PROVIDED OR  OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON

                                     0000    12 ; EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE

                                     0000    13 ; TERMS.  TITLE TO AND  OWNERSHIP OF THE  SOFTWARE  SHALL AT ALL TIMES

                                     0000    14 ; REMAIN IN DEC.

                                     0000    15 ;

                                     0000    16 ; THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE

                                     0000    17 ; AND SHOULD  NOT BE CONSTRUED  AS A COMMITMENT  BY DIGITAL  EQUIPMENT

                                     0000    18 ; CORPORATION.

                                     0000    19 ;

                                     0000    20 ; DEC ASSUMES  NO  RESPONSIBILITY  FOR  THE USE OR  RELIABILITY OF ITS

                                     0000    21 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.

                                     0000    22 

                                     0000    23 ;++

                                     0000    24 ;

                                     0000    25 ; FACILITY:  F11ACP STRUCTURE LEVEL 1

                                     0000    26 ;

                                     0000    27 ; ABSTRACT:

                                     0000    28 ;

                                     0000    29 ;	THIS ROUTINE RETURNS THE ADDRESS OF THE UCB ASSIGNED TO THE GIVEN

                                     0000    30 ;	CHANNEL.

                                     0000    31 ;

                                     0000    32 ; ENVIRONMENT:

                                     0000    33 ;

                                     0000    34 ;	STARLET OPERATING SYSTEM, INCLUDING PRIVILEGED SYSTEM SERVICES

                                     0000    35 ;	AND INTERNAL EXEC ROUTINES. THIS ROUTINE MUST BE CALLED IN

                                     0000    36 ;	KERNEL MODE.

                                     0000    37 ;

                                     0000    38 ; AUTHOR:  ANDREW C. GOLDSTEIN, CREATION DATE:  28-APR-1977  16:26

                                     0000    39 ;

                                     0000    40 ; MODIFIED BY:

                                     0000    41 ;

                                     0000    42 ;  , VERSION  ,

                                     0000    43 ; 01	- 

                                     0000    44 ;--

                                     0000    45 

                                     0000    46 ;

                                     0000    47 ; EQUATED SYMBOLS:

                                     0000    48 ;

                           00000004  0000    49 CHANNEL	= 4				; ADDRESS OF CHANNEL NUMBER ARG

                                     0000    50 

                                     0000    51 	$CCBDEF				; DEFINE CHANNEL CONTROL BLOCK

CHNUCB          - GET ASSUGNED UCB ADDRESS OF CHANNEL            21-AUG-1978 23:47:21   VAX-11 MACRO X0.3-11               Page   3

X0001                                                                                                                            (2)



                                     0000    53 ;++

                                     0000    54 ;

                                     0000    55 ; FUNCTIONAL DESCRIPTION:

                                     0000    56 ;

                                     0000    57 ;	THIS ROUTINE RETURNS THE ADDRESS OF THE UCB ASSIGNED TO THE GIVEN

                                     0000    58 ;	CHANNEL.

                                     0000    59 ;

                                     0000    60 ; CALLING SEQUENCE:

                                     0000    61 ;	CALL	GET_CHANNELUCB (ARG1)

                                     0000    62 ;

                                     0000    63 ; INPUT PARAMETERS:

                                     0000    64 ;	ARG1: CHANNEL NUMBER

                                     0000    65 ;

                                     0000    66 ; IMPLICIT INPUTS:

                                     0000    67 ;	NONE

                                     0000    68 ;

                                     0000    69 ; OUTPUT PARAMETERS:

                                     0000    70 ;	NONE

                                     0000    71 ;

                                     0000    72 ; IMPLICIT OUTPUTS:

                                     0000    73 ;	NONE

                                     0000    74 ;

                                     0000    75 ; ROUTINE VALUE:

                                     0000    76 ;	NONE

                                     0000    77 ;

                                     0000    78 ; SIDE EFFECTS:

                                     0000    79 ;	NONE

                                     0000    80 ;

                                     0000    81 ;--

                                     0000    82 

                                 00000000    83 	.PSECT	$CODE$,NOWRT,LONG

                                     0000    84 

                                     0000    85 GET_CHANNELUCB::

                               003C  0000    86 	.WORD	^M<R2,R3,R4,R5>		; SAVE REGISTERS

            50         04 AC     D0  0002    87 	MOVL	CHANNEL(AP),R0		; GET CHANNEL NUMBER

                 00000000'9F     16  0006    88 	JSB	@#IOC$VERIFYCHAN	; GET UCB WITH EXEC SUBROUTINE

            04            50     E8  000C    89 	BLBS	R0,10$			; BRANCH IF GOOD

                                     000F    90 	ERR_EXIT  R0

            50            61     D0  0013    91 10$:	MOVL	CCB$L_UCB(R1),R0	; RETURN UCB ADDRESS AS VALUE

                                 04  0016    92 	RET

                                     0017    93 

                                     0017    94 

                                     0017    95 

                                     0017    96 	.END

CHNUCB          - GET ASSUGNED UCB ADDRESS OF CHANNEL            21-AUG-1978 23:47:21   VAX-11 MACRO X0.3-11               Page   4

SYMBOL TABLE                                                                                                                     (2)



BITMAP_TYPE    = 00000001            

CCB$B_AMOD       00000009            

CCB$B_STS        00000008            

CCB$C_LENGTH     00000010            

CCB$K_LENGTH     00000010            

CCB$L_DIRP       0000000C            

CCB$L_UCB        00000000            

CCB$L_WIND       00000004            

CCB$W_IOC        0000000A            

CHANNEL        = 00000004            

DIRECTORY_TYPE = 00000002            

FCB_TYPE       = 00000000            

GBL...         = 00000000            

GET_CHANNELUCB   00000000 RG    03   

HEADER_TYPE    = 00000000            

INDEX_TYPE     = 00000003            

IOC$VERIFYCHAN   ********   X   03   

WCB_TYPE       = 00000001            





PROGRAM SECTION SYNOPSIS



.  ABS  .        00000000      00     NOPIC   USR   CON   ABS   LCL NOSHR NOEXE NORD  NOWRT BYTE  

. BLANK .        00000000      01     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  

$ABS$            00000010      02     NOPIC   USR   CON   ABS   LCL NOSHR   EXE   RD    WRT BYTE  

$CODE$           00000017      03     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD  NOWRT LONG  





THERE WERE NO ERRORS OR WARNINGS.

27004. BYTES LEFT IN FREE MEMORY POOL.

208. BYTES OF RECLAIMED MEMORY.

OBJ$:CHNUCB,LIS$:CHNUCB/-SP=EXECML$/ML,SRC$:FCPDEF,CHNUCB

2 MLB DIR RDS - 50 GETS TO DEFINE 5 MACROS. 2 INTER. FILE WRITES. 

