LBRDF	MACRO M1110  22-AUG-78 01:27  PAGE 2





      1						.TITLE	LBRDF

      2						.IDENT	/05/

      3

      4					;

      5					; COPYRIGHT (C) 1974, 1976

      6					; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.

      7					;

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

      9					; SINGLE COMPUTER SYSTEM AND MAY  BE  COPIED   ONLY  WITH  THE

     10					; INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE,  OR

     11					; ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED  OR  OTHERWISE

     12					; MADE AVAILABLE TO ANY OTHER PERSON   EXCEPT FOR  USE ON SUCH

     13					; SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE  TERMS.  TITLE

     14					; TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL  TIMES  REMAIN

     15					; IN DEC.

     16					;

     17					; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT

     18					; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL

     19					; EQUIPMENT CORPORATION.

     20					;

     21					; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF

     22					; ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.

     23					;

     24					; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE

     25					; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION

     26					; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT

     27					; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.

     28					;

     29					; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT

     30					; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL

     31					; EQUIPMENT CORPORATION.

     32					;

     33					; VERSION X04.01

     34					;

     35					; WRITTEN BY:

     36					;	GEORGE W. BERRY

     37					;

     38					; MODIFIED BY:

     39					;	C.A. D'ELIA	22-MAY-74

     40					;	C.A. D'ELIA	02-JUL-74  (VIRTUAL TABLES)

     41					;	C.A. D'ELIA	05-SEP-74

     42					;	THOMAS J. MILLER 01-NOV-74

     43					;

     44					;	T. J. MILLER 11-JAN-76

     45					;

     46					;		TM001 -- ADDITION OF EXTRACT SWITCH (/EX).

     47					;

     48					;	T. J. MILLER 22-JAN-76

     49					;

     50					;		TM002 -- ADDITION OF ENTRY POINT SWITCH (/EP).

     51					;

     52					;

     53					;

     54

     55					;

     56					; MONITOR DEPENDENT I/O DATA BASE

     57					;

LBRDF	MACRO M1110  22-AUG-78 01:27  PAGE 2-1





     58					; EQUATED SYMBOLS

     59					;

     60		000020 			F$DEVL==16.			;MAX LENGTH OF DEVICE NAME

     61		000037 			F$DIRL==31.			;MAX LENGTH OF DIRECTORY NAME

     62		000021 			F$FILL==17.			;MAX LENGTH OF FILENAME

     63

     64

     65					;

     66					; MACRO LIBRARY CALLS

     67					;

     68

     69						.MCALL	CSI$

     70	000000					CSI$

     71						.MCALL	FDOFF$

     72	000000					FDOFF$	DEF$L

     73						.MCALL	GCMLD$

     74	000000					GCMLD$

     75						.MCALL	FCSBT$

     76	000000					FCSBT$

     77

     78						.MCALL	CSI$ND,CSI$SV,CSI$SW,FDAT$A,FDBDF$,FDOP$A

     79						.MCALL	FDRC$A,FSRSZ$,GCMLB$,NMBLK$

     80

     81

     82

     83					;

     84					; LOCAL MACROS

     85					;

     86					; CLOSE SWITCH P-SECTION

     87					;

     88					; CLOSCT A

     89					;

     90					;	A=FIRST THREE CHARACTERS OF BLOCK NAME.

     91					;

     92

     93						.MACRO	CLOSCT A

     94						.PSECT	A'SWT,D,GBL

     95						.WORD	0

     96						.PSECT

     97						.ENDM

     98

     99					;

    100					; GENERATE CONTROL BLOCK

    101					;

    102					; GENBLK A,B,C,DD,E,F,G,H,I,J,K

    103					;

    104					; WHERE:

    105					;

    106					;	A=FIRST THREE CHARACTERS OF BLOCK NAME.

    107					;	B=RECORD TYPE.

    108					;	C=RECORD ATTRIBUTES.

    109					;	DD=RECORD SIZE.

    110					;	E=RECORD ACCESS.

    111					;	F=RECORD BUFFER SIZE.

    112					;	G=LOGICAL UNIT.

    113					;	H=FILE POINTER SWITCH.

    114					;	I=DEFAULT FILE TYPE.

LBRDF	MACRO M1110  22-AUG-78 01:27  PAGE 2-2





    115					;	J=DEFAULT DEVICE NAME.

    116					;	K=DEFAULT DEVICE UNIT.

    117					;

    118

    119						.MACRO	GENBLK A,B,C,DD,E,F,G,H,I,J,K

    120						.PSECT	A'PT,D,GBL

    121					$'A'PT::.WORD	A'PT

    122					A'PT::	FDBDF$

    123						FDAT$A	B,C,DD

    124					$$=0

    125						.IF NB	F

    126						.PSECT	A'BUF,D,GBL

    127					$$=.

    128						.BLKB	F

    129						.PSECT	A'PT,D,GBL

    130						.ENDC

    131						FDRC$A	E,$$,F

    132						.PSECT	A'NAM,D,GBL

    133					$$=.

    134					A'NAM::

    135						NMBLK$	,I,,J,K

    136					$$0=0

    137						.IF NB	H

    138						.PSECT	A'DV,D,GBL

    139					$$1=.

    140						.BLKB	F$DEVL

    141						.PSECT	A'DR,D,GBL

    142					$$2=.

    143						.BLKB	F$DIRL

    144						.PSECT	A'FL,D,GBL

    145					$$3=.

    146						.BLKB	F$FILL

    147						.PSECT	A'FP,D,GBL

    148					$$0=.

    149						.BLKW	1

    150						.WORD	$$1

    151						.BLKW	1

    152						.WORD	$$2

    153						.BLKW	1

    154						.WORD	$$3

    155						.ENDC

    156						.PSECT	A'PT,D,GBL

    157						FDOP$A	G,$$0,$$

    158					R$NAME==.-A'PT

    159						.WORD	A'PT+F.FNB+N.FNAM

    160					R$SWTH==.-A'PT

    161						.BLKW	1

    162					R$SWBK==.-A'PT

    163						.WORD	A'SW

    164						.PSECT	A'SWT,D,GBL

    165					A'SW:

    166						.PSECT

    167						.ENDM

    168

    169

    170					;

    171					; GENERATE SWITCH CONTROL BLOCK

LBRDF	MACRO M1110  22-AUG-78 01:27  PAGE 2-3





    172					;

    173					; GENSWT A,B,C,D,E,F,G

    174					;

    175					;	A=FIRST THREE CHARACTERS OF RECORD BLOCK NAME.

    176					;	B=A 2 CHARACTER SWITCH NAME.

    177					;	C=SWITCH MASK.

    178					;	DD=ADDRESS OF SWITCH WORD.

    179					;	E=SWITCH MASK DISPOSITION.

    180					;	F=NEGATE ENABLE.

    181					;	G=ADDRESS OF SWITCH VALUE TABLE.

    182					;

    183

    184						.MACRO	GENSWT	A,B,C,DD,E,F,G

    185						.PSECT	A'SWT,D,GBL

    186						CSI$SW	B,C,DD,E,F,G

    187						.PSECT

    188						.ENDM

    189

    190

    191					;

    192					; GET COMMAND INPUT CONTROL BLOCK

    193					;

    194

    195	000000					.PSECT	CMIPT,D,GBL

    196	000000	000002'			$CMIPT::.WORD	CMIPT		;POINTER TO CONTROL BLOCK

    197

    198		000003 			ILVL=3				;MAX LEVEL OF 3 INDIRECT FILES

    199

    200		000001 				.IIF DF	R$$11M,ILVL=1	;ONE INDIRECT FILE IN RSX-11M VERSION

    201

    202	000002				CMIPT:	GCMLB$	ILVL,LBR,$LNBUF

    203

    204

    205					;

    206					; FILE CONTROL BLOCKS

    207					;

    208

    209		000002 			$CMOLN==2			;LUN USED FOR COMMAND OUTPUT

    210

    211						.IF NDF	Q$$CMO

    212						GENBLK	CMO,R.VAR,,80.,,,$CMOLN  ;COMMAND OUTPUT ($CMOPT)

    213						.ENDC

    214

    215

    216	000270					GENBLK	INP,,,,4,132.,3,1,,SY  ;INPUT ($INPPT)

    217	000000					GENBLK	LIS,R.VAR,,74.,,,4,1,LST,SY  ;LISTING ($LISPT)

    218	000000					GENBLK	LBR,R.FIX,,512.,10,,5,1,,SY  ;LIBRARY ($LBRPT)

    219	000000					GENBLK	CMP,R.FIX,,512.,10,,6,1,,SY  ;COMPRESS ($CMPPT)

    220	000000					GENBLK	EXT,R.VAR,,512.,,,4,1,,SY                                       ; TM001

    221

    222

    223

    224					;

    225					; OTHER WORK FILE RELATED DATA

    226					;

    227

    228	000000				$FRHD::	.BLKW	2		;FREE MEMORY LIST HEAD

LBRDF	MACRO M1110  22-AUG-78 01:27  PAGE 2-4





    229

    230

    231

    232					;

    233					; SPECIFY ACTIVE FILE REQUIREMENTS

    234					;

    235

    236		000003 			AFILES=3			;3 ACTIVE FILES ARE REQUIRED

    237

    238		000002 				.IIF DF	Q$$CMO,AFILES=AFILES-1  ;ONE LESS IF Q I/O TO CMD OUTPUT

    239

    240	000004					FSRSZ$	AFILES

LBRDF	MACRO M1110  22-AUG-78 01:27  PAGE 3





    242					;+

    243					;

    244					; LIBRARIAN DATA BASE:

    245					;	LIBRARY HEADER BLOCK

    246					;	ENTRY POINT TABLE

    247					;	MODULE NAME TABLE

    248					;

    249					;-

    250

    251	000000					.PSECT	BUFFER

    252

    253					;

    254					; DEFINE THE LIBRARY HEADER

    255

    256					;	(ORDERED DATA)

    257					;

    258	000000				L$BUF::

    259

    260	000000				L$TYP::	.BLKB	1		;LIBRARY TYPE (OBJ, ETC)

    261	000001				L$ID::	.BLKB	1		;LIBRARY FILE ID

    262	000002				L$VER::	.BLKW	2		;CREATED BY LBR VERSION V-RRRRRR

    263	000006				L$DAT::	.BLKW	6		;DATE OF LAST MODULE INSERTION

    264	000022				L$ES::	.BLKB	1		;SIZE OF LIBRARY EPT ENTRIES

    265	000023					.BLKB	1		;UNUSED BYTE

    266	000024				L$ET::	.BLKW	1		;LOW-ORDER VBN OF START OF EPT IN FILE

    267	000026				L$EI::	.BLKW	1		;NUMBER OF EPT ENTRIES ALLOCATED

    268	000030				L$EA::	.BLKW	1		;NUMBER OF EPT ENTRIES AVAILABLE

    269	000032				L$MS::	.BLKB	1		;SIZE OF LIBRARY MNT ENTRIES

    270	000033					.BLKB	1		;UNUSED BYTE

    271	000034				L$MT::	.BLKW	1		;LOW-ORDER VBN OF START OF MNT IN FILE

    272	000036				L$MI::	.BLKW	1		;NUMBER OF MNT ENTRIES ALLOCATED

    273	000040				L$MA::	.BLKW	1		;NUMBER OF MNT ENTIRES AVAILABLE

    274	000042				L$LD::	.BLKW	2		;LOGICALLY DELETED MODULE SPACE (BYTES)

    275	000046				L$LA::	.BLKW	2		;BYTES AVAILABLE FOR MODULE INSERTS

    276	000052				L$NX::	.BLKW	2		;ADDR (VBN+OFFSET) OF NEXT MODULE INSERT

    277

    278

    279		001000'			.=L$BUF+512.			;MUST USE 256. WORD BLK FOR LIBRARY HDR

    280

    281

    282					;

    283					; THIS BUFFER IS EXPANDED AS NEEDED AT LINK TIME.  THE FOLLOWING

    284					; .PSECT ENABLES THE RUNNING LIBRARIAN TO DETERMINE THE SIZE OF THIS

    285					; BUFFER.

    286					;

    287					; NOTE: WHEN RUNNING ON RSX-11M SYSTEM, THE AMOUNT OF DYNAMIC BUFFER

    288					; MEMORY IS DETERMINED AT RUN TIME BY OBTAINING INFORMATION ABOUT

    289					; ITS PARTITION'S AND ITS OWN ADDRESS LIMITS.

    290					;

    291

    292	000000					.PSECT	BUFFES

    293

    294	000000				$LBEND::			;REF LABEL TO END OF BUFFER

    295

    296	000004					.PSECT

LBRDF	MACRO M1110  22-AUG-78 01:27  PAGE 4





    298					;

    299					; LBR FILE ID (INSURES ITS A LIBRARY FILE)

    300					;

    301

    302		000002 			ID$==2

    303

    304

    305					;

    306					; ENTRY POINT TABLE (EPT)

    307					;

    308

    309		000002 			EPTBLK	==2			;STARTING DISK BLOCK OF EPT

    310

    311

    312					;

    313					; MODULE HEADER RECORD

    314					;

    315

    316		000020 			MHSIZE==20			;MAXIMUM SIZE OF THE MODULE HEADER

    317

    318

    319					;

    320					; MODULE HEADER READ/WRITE BUFFER

    321					;

    322

    323	000004				$MHBUF::.BLKB	MHSIZE		;MODULE HEADER BUFFER

    324

    325		000004'			$MHST	==$MHBUF		;HEADER STATUS

    326		000005'			$MHAT	==$MHBUF+1		;MODULE ATTRIBUTES (SEL-SRCH, ETC)

    327		000006'			$MOSZ	==$MHBUF+2		;SIZE OF MODULE IN BYTES

    328		000012'			$MHDA	==$MHBUF+6		;DATE MODULE INSERTED

    329		000020'			$MHID	==$MHBUF+14		;ADDITIONAL TYPE DEPENDENT ENTRIES

    330

    331

    332					;

    333					; TYPE DEPENDENT INFORMATION

    334					;

    335

    336		000001 			TY$	==1			;HIGHEST LEGAL MODULE TYPE CODE

    337

    338					; OBJECT MODULE TYPE

    339

    340		000000 			TY$OBJ	==0			;DEFINES OBJ MODULE TYPE

    341		000010 			E$OBJ	==10			;EPT ENTRY SIZE

    342		000010 			M$OBJ	==10			;MNT ENTRY SIZE

    343		000020 			HS$OBJ	==20			;MODULE HEADER SIZE

    344

    345					; MACRO DEFINITION MODULE TYPE

    346		000001 			TY$MAC	==1			;DEFINES MACRO DEF MODULE TYPE

    347		000000 			E$MAC	==0			;NO EPT IN MACRO DEF TYPE

    348		000010 			M$MAC	==10			;MNT ENTRY SIZE

    349		000020 			HS$MAC	==20			;MODULE HEADER SIZE

    350

    351

    352					;

    353					; EPT/MNT PARTITION DESCRIPTOR LIST

    354					;

LBRDF	MACRO M1110  22-AUG-78 01:27  PAGE 4-1





    355

    356	000024				$PARTD::

    357	000024	022577 				.RAD50	/E99/		;A  -  E

    358	000026	045377 				.RAD50	/K99/		;F  -  K

    359	000030	076377 				.RAD50	/S99/		;L  -  S

    360	000032	124277 				.RAD50	/Z99/		;T  -  Z

    361	000034	125307 				.RAD50	/$L9/		;$  -  $L

    362	000036	127377 				.RAD50	/$99/		;$M -  $9

    363	000040	130407 				.RAD50	/.L9/		;.  -  .L

    364	000042	174777 				.RAD50	/999/		;.M -  999

    365

    366		000010 			NU$PAR == <.-$PARTD>/2		;NUMBER OF TABLE PARTITIONS

LBRDF	MACRO M1110  22-AUG-78 01:27  PAGE 5





    368					;+

    369					;

    370					; IMPURE DATA BASE AREA

    371					;

    372					; THE AREA BETWEEN 'DBASE' AND 'DBEND' IS ZEROED INITIALLY.

    373					;

    374					;-

    375		000044'			DBASE	==.

    376

    377					;

    378					; PARTITION LIST HEADS FOR THE EPT AND MNT

    379					;

    380

    381	000044				$EPTHL::.BLKW	NU$PAR		;EPT LIST HEADS

    382	000064				$MNTHL::.BLKW	NU$PAR		;MNT LIST HEADS

    383

    384	000104				$HDLST::.BLKW	1		;POINTER TO LIST HEADS IN USE

    385

    386

    387					;

    388					; POINTER TO FDB OF FILE CURRENTLY OPEN (OTHER THAN LIBRARY FILE)

    389					;

    390

    391	000106				$OPNFL::.BLKW	1

    392

    393

    394					;

    395					; TELETYPE ATTACHED INFORMATION (FOR LIBRARY LISTING)

    396					;

    397

    398	000110				$ATTFG::.BLKB	1		;TELETYPE ATTACHED FLAG

    399	000111					.BLKB	1		;TELETYPE LUN

    400

    401

    402					;

    403					; SWITCH OPTION WORD AND LIBRARIAN STATUS WORD

    404					;

    405

    406	000112				$SWTCH::.BLKW	2

    407

    408

    409					;

    410					; MNT DESCRIPTOR BLOCK

    411					;

    412

    413	000116				$MNBLK::.BLKW	3

    414		000116'			$MNES	==$MNBLK		;MNT ENTRY SIZE

    415		000120'			$MNADR	==$MNBLK+2		;ADDRESS OF MNT LIST HEADS

    416		000122'			$MNSIZ	==$MNBLK+4		;NUMBER OF ENTRIES IN MNT

    417

    418

    419					;

    420					; EPT DESCRIPTOR BLOCK

    421					;

    422

    423	000124				$EPBLK::.BLKW	3

    424		000124'			$EPES	==$EPBLK		;EPT ENTRY SIZE

LBRDF	MACRO M1110  22-AUG-78 01:27  PAGE 5-1





    425		000126'			$EPADR	==$EPBLK+2		;ADDRESS OF EPT LIST HEADS

    426		000130'			$EPSIZ	==$EPBLK+4		;NUMBER OF ENTRIES IN EPT

    427

    428

    429					;

    430					; -- $DMN -- MODULE DELETION LIST (USED BY /DE AND /DG)

    431					;

    432					; THIS LIST CONTAINS THE NAMES (IN RADIX 50) OF THE

    433					; MODULES TO BE DELETED WITH /DE.

    434					;

    435		000036 			$DMSIZ	==30.			;NUMBER OF NAMES PERMITTED

    436

    437	000132				$DMN::	.BLKW	2*$DMSIZ+1

    438		000312'			$DEND	==.-12

    439		000322'			$DGEND	==.-2

    440

    441

    442					;

    443					; /CR PARAMETERS

    444					;

    445

    446	000324				PBLK:	.BLKW	4

    447		000324'			$SIZ	==PBLK			;SIZE OF NEW FILE IN BLOCKS

    448		000326'			$EPT	==PBLK+2		;EPT ENTRIES TO ALLOCATE

    449		000330'			$MNT	==PBLK+4		;MNT ENTRIES TO ALLOCATE

    450		000332'			$TYP	==PBLK+6		;TYPE OF LIBRARY FILE

    451

    452

    453					;

    454					; END OF IMPURE DATA BASE AREA

    455					;

    456

    457		000334'			DBEND=.

    458		000134 			DSIZE	==<DBEND-DBASE>/2

LBRDF	MACRO M1110  22-AUG-78 01:27  PAGE 6





    460					;

    461					; STORAGE REQURIED FOR 'GTCML' INTERFACE ROUTINE

    462					;

    463

    464	000334				$LNDES::.BLKW	2		;COMMAND LINE DESCRIPTOR

    465	000340				$LNBUF::.BLKW	42.		;COMMAND LINE BUFFER

    466

    467	000464	000000 			$CMFLG::.WORD	0		;NO SPECIAL PROMPT FROM $GTCML

    468

    469

    470					;

    471					; EPT ENTRY SIZE TABLE (INDEXED BY TYPE)

    472					;

    473

    474	000466				TY$ES::

    475	000466	   010 				.BYTE	E$OBJ		;SIZE OF OBJECT MODULE EPT ENTRIES

    476	000467	   000 				.BYTE	E$MAC		;SIZE OF MACRO DEF MODULE EPT ENTRIES

    477

    478

    479					;

    480					; MNT ENTRY SIZE TABLE (INDEXED BY TYPE)

    481					;

    482

    483	000470				TY$MS::

    484	000470	   010 				.BYTE	M$OBJ		;SIZE OF OBJECT MODULE MNT ENTRIES

    485	000471	   010 				.BYTE	M$MAC		;SIZE OF MACRO DEF MODULE MNT ENTRIES

    486

    487

    488						.EVEN

    489					;

    490					; CURRENT DEFAULT LIBRARY TYPE (INITIALLY OBJ)

    491					;

    492	000472	000000 			DF$TYP::.WORD	0

    493

    494

    495					;

    496					; REGISTER SAVE AREA FOR CONTINUOUS ASSOCIATIVE SEARCH

    497					;

    498

    499	000474				SR0::	.BLKW	5

    500

    501					;

    502					; THIS PSECT CONTAINS A ONE WORD ENTRY FOR EACH LIBRARY TYPE CONTAINING

    503					; THE DEFAULT LIBRARY EXTENSION FOR LIBRARY FILES OF THE TYPE.  THE

    504					; THE ENTRIES ARE IN THE MODULE LBRCD, BUT THEY ARE REFERENCED THROUGH

    505					; THE GLOBAL SYMBOL DEFINED HERE.  ALLOCATION FOR THE ENTRIES IS IN THE ROOT.

    506					;

    507

    508	000000					.PSECT	DFTYP,D,GBL,OVR

    509	000000				LBRTAB::

    510	000506					.PSECT

    511

    512

    513					;

    514					; MESSAGE OUTPUT BUFFER -- NOTE THE 'OVR' .PSECT ATTRIBUTE USED TO

    515					; SHARE THE ALLOCATED SPACE BETWEEN FOLLOWING MODULES:

    516					;	NORMAL MESSAGE OUTPUT ROUTINE ($OUT)

LBRDF	MACRO M1110  22-AUG-78 01:27  PAGE 6-1





    517					;	ERROR MESSAGE OUTPUT ROUTINE ($ERMSG)

    518					;	TABLE INPUT ROUTINES ($RDEP/$RDMN)

    519					;

    520

    521	000000					.PSECT	OUTBUF,D,GBL,OVR

    522

    523	000000				$OUTBF::.BLKB	128.

    524

    525	000506					.PSECT

LBRDF	MACRO M1110  22-AUG-78 01:27  PAGE 7





    527					;

    528					; CSI DEPENDENT DATA BASE

    529					;

    530

    531	000506				$CSIBK::.BLKB	C.SIZE		;CSI BLOCK

    532

    533

    534					;

    535					; SWITCHES DEFINED AS BITS IN $SWTCH

    536					;

    537

    538		100000 			CR$SW	==100000		;/CR (CREATE)

    539		040000 			IN$SW	==40000			;/IN (INSERT)

    540		020000 			DL$SW	==20000			;/DL (DELETE)

    541		010000 			RP$SW	==10000			;/RP (REPLACE)

    542		004000 			CO$SW	==4000			;/CO (COMPRESS)

    543		002000 			LI$SW	==2000			;/LI (LIST)

    544		001000 			LE$SW	==1000			;/LE (LIST MODULE ENTRY POINTS)

    545		000400 			FU$SW	==400			;/FU (LIST FULL MODULE ID)

    546		000200 			SP$SW	==200			;/SP (SPOOL OUTPUT)

    547		000100 			SS$SW	==100			;/SS (SELECTIVE SEARCH ATTRIBUTE)

    548		000040 			DF$SW	==40			;/DF (SET DEFAULT TYPE)

    549		000020 			SZ$SW	==20			;/SZ (SQUEEZE)

    550		000010 			EX$SW	==10			;/EX (EXTRACT)                                  ; TM001

    551		000004 			EP$SW	==4			;/EP (ENTRY POINT)                              ; TM002

    552					;

    553					; STATUS BITS DEFINED IN $SWTCH+2

    554					;

    555		100000 			IN$COR	==100000		;LBR HEADER, EPT AND MNT IN CORE

    556		040000 			LB$DTY	==40000			;LBR HEADER, EPT OR MNT HAS BEEN MODIFIED

    557					;

    558					; THE FOLLOWING IS DEFINED FOR GTCML COMPATIBILITY BUT IS NOT USED

    559					;

    560		000000 			EN$DR	==0

    561

    562					; SWITCH COMBINATION DEFINITIONS

    563

    564		160020 			XC$SW	==CR$SW!IN$SW!DL$SW!SZ$SW ;ALL BUT /CO AND /LI

    565		024000 			CO$DL	==CO$SW!DL$SW		;CO$SW+DL$SW

    566		002400 			LI$FU	==LI$SW!FU$SW		;LI$SW+FU$SW

    567		003000 			LI$LE	==LI$SW!LE$SW		;LI$SW+LE$SW

    568

    569

    570					;

    571					; GENERATE SWITCH CONTROL BLOCKS

    572					;

    573

    574	000562					GENSWT	LBR,CR,CR$SW,$SWTCH,SET,,CRVAL

    575	000562					GENSWT	LBR,CO,CO$SW,$SWTCH,SET,,COVAL

    576	000562					GENSWT	LBR,IN,IN$SW,$SWTCH,SET

    577	000562					GENSWT	LBR,RP,RP$SW,$SWTCH,SET

    578	000562					GENSWT	LBR,SZ,SZ$SW,$SWTCH,SET

    579	000562					GENSWT	LBR,SS,SS$SW,$SWTCH,SET,NEG                                     ; TM001

    580	000562					GENSWT	LBR,LI,LI$SW,$SWTCH,SET

    581	000562					GENSWT	LBR,FU,LI$FU,$SWTCH,SET

    582	000562					GENSWT	LBR,LE,LI$LE,$SWTCH,SET

    583	000562					GENSWT	LBR,DE,DL$SW,$SWTCH,SET,,DLVAL

LBRDF	MACRO M1110  22-AUG-78 01:27  PAGE 7-1





    584	000562					GENSWT	LBR,DF,DF$SW,$SWTCH,SET,,DFVAL

    585	000562					GENSWT	LBR,DG,DL$SW,$SWTCH,SET,,DGVAL

    586	000562					GENSWT	LBR,EX,EX$SW,$SWTCH,SET,,DLVAL                                  ; TM001

    587	000562					GENSWT	LBR,EP,EP$SW,$SWTCH,CLEAR,NEG                                   ; TM002

    588

    589	000562					GENSWT	LIS,LI,LI$SW,$SWTCH,SET

    590	000562					GENSWT	LIS,FU,FU$SW,$SWTCH,SET

    591	000562					GENSWT	LIS,LE,LE$SW,$SWTCH,SET

    592	000562					GENSWT	LIS,SP,SP$SW,$SWTCH,CLEAR,NEG

    593

    594	000562					GENSWT	INP,RP,RP$SW,INPPT+R$SWTH,SET,NEG

    595	000562					GENSWT	INP,SZ,SZ$SW,INPPT+R$SWTH,SET,NEG

    596	000562					GENSWT	INP,SS,SS$SW,INPPT+R$SWTH,SET,NEG

    597	000562					GENSWT	INP,EP,EP$SW,INPPT+R$SWTH,CLEAR,NEG                             ; TM002

    598

    599

    600	000000					.PSECT	LBRVAL,D,GBL

    601

    602					;

    603					; VALUE BLOCK FOR /CR:SIZ:EPT:MNT:TYPE

    604					;

    605	000000				CRVAL:	CSI$SV	NUMERIC,$SIZ,2

    606	000004					CSI$SV	NUMERIC,$EPT,2

    607	000010					CSI$SV	NUMERIC,$MNT,2

    608	000014					CSI$SV	ASCII,L$BUF,3

    609

    610	000020					CSI$ND

    611

    612

    613					;

    614					; VALUE BLOCK FOR /CO:SIZ:EPT:MNT

    615					;

    616	000022				COVAL:	CSI$SV	NUMERIC,$SIZ,2

    617	000026					CSI$SV	NUMERIC,$EPT,2

    618	000032					CSI$SV	NUMERIC,$MNT,2

    619

    620	000036					CSI$ND

    621					;

    622					; VALUE BLOCK FOR /DF:TYP

    623					;

    624	000040				DFVAL:	CSI$SV	ASCII,L$BUF+3,3

    625

    626	000044					CSI$ND

    627

    628					;

    629					; VALUE BLOCK FOR /DE:NAME1:NAME2:...

    630					;

    631		000006'			$DBLK	==L$BUF+6		;ADDRESS TO STORE NAMES

    632		000000 			ZZZ=0

    633

    634	000046				DLVAL:

    635		000036 				.REPT	$DMSIZ

    636						CSI$SV	ASCII,$DBLK+ZZZ,6

    637						ZZZ=ZZZ+6

    638						.ENDR

    639

    640		000272'			$DGBLK	==$DBLK+ZZZ

LBRDF	MACRO M1110  22-AUG-78 01:27  PAGE 7-2





    641

    642	000236					CSI$ND

    643

    644

    645					;

    646					; VALUE TABLE FOR /DG:NAME:NAME:...

    647					;

    648		000000 			ZZZ=0

    649

    650	000240				DGVAL:

    651		000036 				.REPT	$DMSIZ

    652						CSI$SV	ASCII,$DGBLK+ZZZ,6

    653						ZZZ=ZZZ+6

    654						.ENDR

    655

    656	000430					CSI$ND

    657

    658	000562					.PSECT

    659

    660

    661					;

    662					; CLOSE SWITCH P-SECTIONS

    663					;

    664

    665	000562					CLOSCT	LBR

    666	000562					CLOSCT	LIS

    667	000562					CLOSCT	INP

    668	000562					CLOSCT	CMP

    669

    670

    671		000001 				.END

LBRDF	MACRO M1110  22-AUG-78 01:27  PAGE 7-3

SYMBOL TABLE



AFILES= 000002   	FA.POS= 010000   	F.CNTG= 000034   	HS$OBJ= 000020 G 	N.STAT= 000020

CHR$$ = 000120   	FA.RD = 000001   	F.DFNB= 000046   	ID$   = 000002 G 	N.UNIT= 000034

CH.AND= 000001   	FA.RWD= 004000   	F.DSPT= 000044   	ILVL  = 000001   	PBLK    000324R

CMIPT   000002R     002	FA.SEQ= 040000   	F.DVNM= 000134   	INPNAM  000000RG    005	Q$$CMO= 000000

CMPNAM  000000RG    032	FA.SHR= 000040   	F.EFBK= 000010   	INPPT   000002RG    003	RP$SW = 010000 G

CMPPT   000002RG    031	FA.TMP= 000020   	F.EFN = 000050   	INPSW   000000R     012	R$NAME= 000140 G

CMPSW   000000R     037	FA.WCK= 020000   	F.EOBB= 000032   	IN$COR= 100000 G 	R$SWBK= 000144 G

CNT$$ = 000002   	FA.WRT= 000002   	F.ERR = 000052   	IN$SW = 040000 G 	R$SWTH= 000142 G

COVAL   000022R     054	FD.BLK= 000010   	F.FACC= 000043   	LBRNAM  000000RG    023	R$$11M= 000000

CO$DL = 024000 G 	FD.CCL= 000002   	F.FFBY= 000014   	LBRPT   000002RG    022	R.FIX = 000001

CO$SW = 004000 G 	FD.COM= 020000   	F.FNAM= 000110   	LBRSW   000000R     030	R.SEQ = 000003

CRVAL   000000R     054	FD.CR = 000002   	F.FNB = 000102   	LBRTAB  000000RG    052	R.VAR = 000002

CR$SW = 100000 G 	FD.DIR= 000010   	F.FTYP= 000116   	LB$DTY= 040000 G 	SIZ$$ = 000002

CS.DIF= 000002   	FD.FTN= 000001   	F.FVER= 000120   	LE$SW = 001000 G 	SP$SW = 000200 G

CS.DVF= 000004   	FD.F11= 040000   	F.HIBK= 000004   	LISNAM  000000RG    014	SR0     000474RG

CS.EQU= 000040   	FD.INS= 000010   	F.LUN = 000042   	LISPT   000002RG    013	SS$SW = 000100 G

CS.INP= 000001   	FD.ISP= 002000   	F.MBCT= 000054   	LISSW   000000R     021	SZ$SW = 000020 G

CS.MOR= 000020   	FD.MNT= 100000   	F.MBC1= 000055   	LI$FU = 002400 G 	S$$LIB= 000000

CS.NMF= 000001   	FD.OSP= 004000   	F.MBFG= 000056   	LI$LE = 003000 G 	S.BFHD= 000020

CS.OUT= 000002   	FD.PLC= 000004   	F.NRBD= 000024   	LI$SW = 002000 G 	S.FATT= 000016

CS.WLD= 000010   	FD.PRN= 000004   	F.NREC= 000030   	L$BUF   000000RG    050	S.FDB = 000140

C.CMLD= 000002   	FD.PSE= 010000   	F.OVBS= 000030   	L$DAT   000006RG    050	S.FNAM= 000006

C.DEVD= 000006   	FD.RAH= 000001   	F.RACC= 000016   	L$EA    000030RG    050	S.FNB = 000036

C.DIRD= 000012   	FD.RAN= 000002   	F.RATT= 000001   	L$EI    000026RG    050	S.FNBW= 000017

C.DSDS= 000006   	FD.REC= 000001   	F.RCNM= 000034   	L$ES    000022RG    050	S.FNTY= 000004

C.FILD= 000016   	FD.RWM= 000001   	F.RCTL= 000017   	L$ET    000024RG    050	S.FTYP= 000002

C.MKW1= 000024   	FD.SDI= 000020   	F.RSIZ= 000002   	L$ID    000001RG    050	S.NFEN= 000020

C.MKW2= 000026   	FD.SQD= 000040   	F.RTYP= 000000   	L$LA    000046RG    050	TY$   = 000001 G

C.SIZE= 000054   	FD.TTY= 000004   	F.SEQN= 000100   	L$LD    000042RG    050	TY$ES   000466RG

C.STAT= 000001   	FD.WBH= 000002   	F.SPDV= 000072   	L$MA    000040RG    050	TY$MAC= 000001 G

C.SWAD= 000022   	FF.CHR= 000005   	F.SPUN= 000074   	L$MI    000036RG    050	TY$MS   000470RG

C.TYPR= 000000   	FF.NV = 000003   	F.STBK= 000036   	L$MS    000032RG    050	TY$OBJ= 000000 G

DBASE = 000044RG 	FF.POE= 000002   	F.UNIT= 000136   	L$MT    000034RG    050	XC$SW = 160020 G

DBEND = 000334R  	FF.RWD= 000001   	F.URBD= 000020   	L$NX    000052RG    050	ZZZ   = 000264

DFVAL   000040R     054	FF.RWF= 000006   	F.VBN = 000064   	L$TYP   000000RG    050	$ATTFG  000110RG

DF$SW = 000040 G 	FF.SPC= 000004   	F.VBSZ= 000060   	L$VER   000002RG    050	$CMFLG  000464RG

DF$TYP  000472RG 	FO.APD= 000106   	GE.BIF= 177775   	MHSIZE= 000020 G 	$CMIPT  000000RG    002

DGVAL   000240R     054	FO.MFY= 000002   	GE.CLO= 000004   	M$MAC = 000010 G 	$CMOLN= 000002 G

DLVAL   000046R     054	FO.RD = 000001   	GE.COM= 000001   	M$OBJ = 000010 G 	$CMPPT  000000RG    031

DL$SW = 020000 G 	FO.UPD= 000006   	GE.CON= 000020   	NB.DEV= 000200   	$CSIBK  000506RG

DSIZE = 000134 G 	FO.WRT= 000016   	GE.EOF= 177766   	NB.DIR= 000100   	$DBLK = 000006RG    050

EN$DR = 000000 G 	FU$SW = 000400 G 	GE.IND= 000002   	NB.NAM= 000004   	$DEND = 000312RG

EPTBLK= 000002 G 	F$DEVL= 000020 G 	GE.IOR= 177777   	NB.SD1= 000400   	$DGBLK= 000272RG    050

EP$SW = 000004 G 	F$DIRL= 000037 G 	GE.LC = 000010   	NB.SD2= 001000   	$DGEND= 000322RG

EXTNAM  000000RG    041	F$FILL= 000021 G 	GE.MDE= 177774   	NB.SNM= 000040   	$DMN    000132RG

EXTPT   000002RG    040	F.ACTL= 000076   	GE.OPR= 177776   	NB.STP= 000020   	$DMSIZ= 000036 G

EXTSW   000000R     046	F.ALOC= 000040   	GE.RBG= 177730   	NB.SVR= 000010   	$EPADR= 000126RG

EX$SW = 000010 G 	F.BBFS= 000062   	GE.SIZ= 000040   	NB.TYP= 000002   	$EPBLK  000124RG

E$MAC = 000000 G 	F.BDB = 000070   	G.CMLD= 000146   	NB.VER= 000001   	$EPES = 000124RG

E$OBJ = 000010 G 	F.BGBC= 000057   	G.DPRM= 000160   	NU$PAR= 000010 G 	$EPSIZ= 000130RG

FA.APD= 000100   	F.BKDN= 000026   	G.ERR = 000140   	N.DID = 000024   	$EPT  = 000326RG

FA.CRE= 000010   	F.BKDS= 000020   	G.ISIZ= 000020   	N.DVNM= 000032   	$EPTHL  000044RG

FA.DLK= 001000   	F.BKEF= 000050   	G.LPDL= 000040   	N.FID = 000000   	$EXTPT  000000RG    040

FA.ENB= 100000   	F.BKP1= 000051   	G.MODE= 000141   	N.FNAM= 000006   	$FRHD   000000RG

FA.EXC= 002000   	F.BKST= 000024   	G.PSDS= 000142   	N.FTYP= 000014   	$HDLST  000104RG

FA.EXT= 000004   	F.BKVB= 000064   	G.SIZE= 000224   	N.FVER= 000016   	$INPPT  000000RG    003

FA.NSP= 000100   	F.CHR = 000075   	HS$MAC= 000020 G 	N.NEXT= 000022   	$LBEND  000000RG    051

LBRDF	MACRO M1110  22-AUG-78 01:27  PAGE 7-4

SYMBOL TABLE



$LBRPT  000000RG    022	$MHID = 000020RG 	$MNTHL  000064RG 	$TYP  = 000332RG 	.FSRCB= ****** G

$LISPT  000000RG    013	$MHST = 000004RG 	$MOSZ = 000006RG 	$$    = 000001   	...GBL= 000000

$LNBUF  000340RG 	$MNADR= 000120RG 	$OPNFL  000106RG 	$$$   = 000162R     002	...PC1= 000002R     040

$LNDES  000334RG 	$MNBLK  000116RG 	$OUTBF  000000RG    053	$$0   = 000000R     045	...PC2= 000142R     040

$MHAT = 000005RG 	$MNES = 000116RG 	$PARTD  000024RG 	$$1   = 000000R     042	...PC3= 000002R     040

$MHBUF  000004RG 	$MNSIZ= 000122RG 	$SIZ  = 000324RG 	$$2   = 000000R     043	...TPC= 000020

$MHDA = 000012RG 	$MNT  = 000330RG 	$SWTCH  000112RG 	$$3   = 000000R     044



. ABS.	000000	   000

      	000562	   001

CMIPT 	000270	   002

INPPT 	000150	   003

INPBUF	000204	   004

INPNAM	000036	   005

INPDV 	000020	   006

INPDR 	000037	   007

INPFL 	000021	   010

INPFP 	000014	   011

INPSWT	000042	   012

LISPT 	000150	   013

LISNAM	000036	   014

LISDV 	000020	   015

LISDR 	000037	   016

LISFL 	000021	   017

LISFP 	000014	   020

LISSWT	000042	   021

LBRPT 	000150	   022

LBRNAM	000036	   023

LBRDV 	000020	   024

LBRDR 	000037	   025

LBRFL 	000021	   026

LBRFP 	000014	   027

LBRSWT	000162	   030

CMPPT 	000150	   031

CMPNAM	000036	   032

CMPDV 	000020	   033

CMPDR 	000037	   034

CMPFL 	000021	   035

CMPFP 	000014	   036

CMPSWT	000002	   037

EXTPT 	000150	   040

EXTNAM	000036	   041

EXTDV 	000020	   042

EXTDR 	000037	   043

EXTFL 	000021	   044

EXTFP 	000014	   045

EXTSWT	000000	   046

$$FSR1	002040	   047

BUFFER	001000	   050

BUFFES	000000	   051

DFTYP 	000000	   052

OUTBUF	000200	   053

LBRVAL	000432	   054

ERRORS DETECTED:  0



VIRTUAL MEMORY USED:  5647 WORDS  ( 23 PAGES)

DYNAMIC MEMORY:  6996 WORDS  ( 26 PAGES)

ELAPSED TIME:  00:01:24

LBRDF	MACRO M1110  22-AUG-78 01:27  PAGE 7-5

SYMBOL TABLE



OBJ$:LBRDF,LIS$:LBRDF/-SP=SRC$:LBRPRF,LBRDF

