*%;/* 00060002 MACRO 00070002 IHAFCBIM &DSECT=YES,&LINES=0 00100002 .* /* START OF SPECIFICATIONS **** 00111002 .* 00112002 .*01 MODULE-NAME = IHAFCBIM 00113002 .* 00115002 .*01 COPYRIGHT = NONE 00116002 .* 00117002 .*01 STATUS = VS2 RELEASE 2 LEVEL 2 00118002 .* 00119002 .*01 CHANGE-ACTIVITY = STANDARDS UPGRADE 00120002 .* 00121002 .*01 DESCRIPTIVE-NAME = FORMS CONTROL BUFFER IMAGE 00122002 .* 00123002 .*01 FUNCTION = USED IN PLACE OF CARRIAGE TAPE FOR CERTAIN PRINTERS 00124002 .* 00125002 .*01 MODULE-TYPE = MACRO 00138002 .* 00138802 .*02 MACRO-SIZE = 150 STATEMENTS 00138902 .* 00139202 .*02 PARAMETER-RECEIVED = DSECT 00139402 .* 00140002 .*03 TYPE = CHARACTER STRING 00140102 .* 00140602 .*04 VALUE = YES OR NO 00140702 .* 00140902 .*02 PARAMETER-RECEIVED = LINES 00141202 .* 00141402 .*03 TYPE = NUMERIC 00141502 .* 00141602 .*04 VALUE = NUMBER OF LINES DESCRIBED 00141802 .* 00142302 .*01 TABLES = NONE 00143502 .* 00143802 .*01 INNER-MACROS = NONE 00144002 .* 00144402 .*01 SYSTEM-MACROS = NONE 00144502 .* 00145302 .**** END OF SPECIFICATIONS ***/ 00145602 * /* MACCOMP Y-2 SC1D0/SJD48 */ 00146602 * /* MACSTAT Y-2 73081/021160 */ 00147602 */********************************************************************/ 00148602 */* FORMS CONTROL BUFFER IMAGE */ 00149602 */* */ 00150002 */* METHOD OF ACCESS */ 00151002 */* BAL - TWO DSECTS ARE PRODUCED UNLESS DSECT=NO IS SPECIFIED. */ 00152002 */* USING ON FCBIMAGE GIVES ADDRESSIBILITY TO ALL SYMBOLS */ 00153002 */* EXCEPT THOSE DESCRIBING A SINGLE ENTRY. */ 00154002 */* USING ON FCBENTRY GIVES ADDRESSIBILITY TO ANY ENTRY. */ 00155002 */* WHEN DSECT=NO IS SPECIFIED,FCBENTRY CONTINUES TO EXPAND */ 00156002 */* AS A DSECT, BUT THE REMAINING SYMBOLS ARE EXPANDED AS A */ 00157002 */* PART OF THE CURRENT CSECT OR DSECT, WITHOUT ALIGNMENT. */ 00158002 */* LINES=NN MAY BE USED TO CONTROL THE NUMBER OF ENTRIES */ 00159002 */* ALLOWED FOR IN FCBIMAGE. THE DEFAULT IS 0 */ 00160002 */* PL/S - DCL FCBPTR AND FCBENPTR AS BASES FOR THE IMAGE AND */ 00161002 */* AND FOR AN INDIVIDUAL ENTRY. DEFAULT IS SIMPLY BASED. */ 00162002 */* */ 00163002 */* USE OF FCBIMAGE */ 00164002 */* THIS DSECT DESCRIBES AN FCB IMAGE THAT IS TO BE LOADED */ 00200002 */* INTO A PRINTER FORMS CONTROL BUFFER. */ 00250002 */* THE MAPPING IS DIVIDED INTO THREE SEGMENTS, SOME OF */ 00255002 */* WHICH MAY NOT BE PRESENT. */ 00260002 */* USER INTERFACE SEGMENT--PRESENT FOR IMAGES PASSED TO */ 00270002 */* OPEN OR SETPRT BY THEIR INVOKER */ 00280002 */* IMAGE DESCRIPTOR SEGMENT--PRESENT IN SYS1.IMAGELIB */ 00285002 */* AND IN USER PROVIDED IMAGES */ 00290002 */* IMAGE SEGMENT--ONLY THIS SEGMENT IS LOADED INTO THE */ 00295002 */* PRINTER BUFFER. IT IS ALWASY PRESENT */ 00300002 */* */ 00305002 */* USER INTERFACE SEGMENT */ 00310002 */* __________________________________________________ */ 00311002 */* 0 (00) | | */ 00315002 */* | FCBIMGID | */ 00320002 */* |________________________________________________| */ 00325002 */* */ 00326002 */* IMAGE DESCRIPTOR SEGMENT */ 00330002 */* _________________________ */ 00335002 */* 4 (04) | | | */ 00340002 */* | FCBDEFLT | FCBLENTH | */ 00345002 */* |___________|___________| */ 00346002 */* */ 00347002 */* IMAGE SEGMENT (WITHOUT INDEXING) */ 00369602 */* _________________________ */ 00370002 */* 4 (04) | | */ 00370402 */* | FCBLINE1 | VARIABLE */ 00370802 */* ________________________|___________|____________ */ 00371002 */* 8 (08) | | | | */ 00371102 */* NUMBER OF ONE BYTE ENTRIES | */ 00371202 */* ____________|___________|___________|___________| */ 00371502 */* */ 00371902 */* IMAGE SEGMENT (WITH INDEXING) */ 00372602 */* _________________________ */ 00373202 */* 4 (04) | | | */ 00373602 */* | FCBINDEX | FCBLNPI1 | */ 00374002 */* ________________________|___________|___________| */ 00374202 */* 8 (08) | | | | | */ 00379202 */* | VARIABLE NUMBER OF ONE BYTE ENTRIES | */ 00384602 */* |___________|___________|___________|___________| */ 00386602 */* */ 00389602 */********************************************************************/ 00395002 *%/* 00400002 AIF ('&DSECT' EQ 'NO').NODSCT 00405002 FCBIMAGE DSECT 00410002 AGO .CONT 00415002 .NODSCT ANOP 00420002 FCBIMAGE DS 0C 00425002 .CONT ANOP 00430002 * 00435002 * USER INTERFACE SEGMENT 00440002 * 00445002 FCBIMGID DS CL4 FCB IMAGE IDENTIFIER 00450002 * 00455002 * IMAGE DESCRIPTOR SEGMENT 00460002 * 00465002 FCBIMBEG DS 0C BEGINNING OF FCB 00500002 FCBDEFLT DS B BYTE INDICATES IF IMAGE A DEFLT 00550002 FCBDEFYS EQU X'80' IMAGE IS A DEFAULT 00600002 FCBDEFNO EQU X'00' IMAGE IS NOT A DEFAULT 00650002 FCBLENTH DS X BYTE CONTAINS LENGTH OF FCB 00700002 * IMAGE 00702002 * 00705002 * IMAGE SEGMENT 00710002 * 00715002 FCBLINE1 DS 0C FIRST LINE OF FCB IMAGE 00750002 FCBLNPIN DS 0B BYTE INDICATES NUMBER OF 00800002 * LINES PER INCH (USE WHEN NO 00850002 * INDEXING) 00860002 FCB8LINE EQU X'10' EIGHT LINES PER INCH 00900002 FCB6LINE EQU X'00' SIX LINES PER INCH 00950002 FCBINDEX DS X BYTE INDICATES IF INDEXING 00950402 * BEING USED 00950802 FCBRGTIN EQU X'80' BIT FOR RIGHT INDEXING 00950902 FCBLFTIN EQU X'40' BIT FOR LEFT INDEXING 00957502 FCBLNPN1 DS 0X SAME AS FCBLNPIN WITH INDEXING 00959502 * BEING USED 00961502 ORG FCBLINE1 Y02072 00963502 FCBLINSG DS &LINES.C AREA FOR LINE CODES Y02072 00964202 * WITHOUT INDEXING Y02072 00964602 ORG FCBLINSG+1 Y02072 00966202 FCBLINS1 DS &LINES.C AREA FOR LINE CODES Y02072 00968202 * WITH INDEXING Y02072 00970202 * 00970802 * EACH ENTRY DESCRIBES ONE LINE OF PRINTED PAGE 00977402 * 00984002 FCBENTRY DSECT Y02072 00990602 FCBLINE DS B Y02072 00997202 FCBLAST EQU X'10' ON IF LAST LINE OF PAGE Y02072 01003802 * NOTE: THIS BIT MAY ALSO BE ON FOR FIRST LINE 01010402 * OF PAGE. SEE FCB8LINE IN FCBLNPIN ABOVE 01017002 FCBCHAN EQU X'0F' MASK FOR CHANNEL NUMBER Y02072 01023602 * BINARY VALUE 1 TO 15 01030202 * FOR SKIP COMMAND, OR 0 01036802 MEND 01043402 **/; 01050002 * %IF FCBBASE = '' %THEN %FCBBASE = 'BASED'; 01055002 * %IF FCBEBASE = '' %THEN %FCBEBASE = 'BASED'; 01060002 *DCL 1 FCBIMAGE FCBBASE, /* Y02072*/ 01100002 */* USER INTERFACE SEGMENT */ 01105002 * 2 FCBIMGID CHAR(4), /*FCB IMAGE IDENTIFIER Y02072*/ 01210002 */* IMAGE DESCRIPTOR SEGMENT */ 01211002 * 2 FCBIMBEG, /*BEGINNING OF FCB Y02072*/ 01215002 * 3 FCBDEFLT CHAR(1), /*IMAGE DEFAULT INDIC Y02072*/ 01250002 * 4 FCBDEFYS BIT(1), /*IMAGE IS A DEFAULT Y02072*/ 01251002 * 3 FCBLENTH FIXED(8) UNSIGNED, /*LENGTH OF IMAGE Y02072*/ 01255002 */* IMAGE SEGMENT */ 01260002 * 2 FCBLINE1, /*FIRST LINE OF FCB IM Y02072*/ 01300002 * 3 FCBLNPIN CHAR(1), /*LINE/INCH INDICATOR Y02072*/ 01400002 * /*WITHOUT INDEXING Y02072*/ 01402002 * 4 * BIT(3), /*RESERVED Y02072*/ 01405002 * 4 FCB8LINE BIT(1), /*ON=8 LPI, OFF=6 LPI Y02072*/ 01406002 * 5 FCBINDEX CHAR(1), /*INDEX BYTE Y02072*/ 01408002 * 6 FCBRGTIN BIT(1), /*INDICATES RIGHT INDX Y02072*/ 01408402 * 6 FCBLFTIN BIT(1), /*INDICATES LEFT INDEX Y02072*/ 01408802 * 5 FCBLNPN1 CHAR(1); /*LINE/INCH INDICATOR Y02072*/ 01410002 * /*WITH INDEXING Y02072*/ 01410402 */* */ 01411002 */* EACH ENTRY DESCRIBES ONE LINE OF PRINTED PAGE */ 01416002 */* */ 01426002 * DCL 1 FCBENTRY FCBEBASE, /* Y02072*/ 01450002 * 2 FCBLINE CHAR(1), /*ONE BYTE PER LINE Y02072*/ 01484002 * 3 * BIT(3), /*RESERVED Y02072*/ 01518002 * 3 FCBLAST BIT(1), /*ON IF LAST LINE Y02072*/ 01552002 */* NOTE: THIS BIT MAY ALSO BE ON FOR FIRST LINE */ 01620002 */* OF PAGE. SEE FCB8LINE IN FCBLNPIN ABOVE. */ 01654002 * 3 FCBCHAN BIT(4); /*CHANNEL NUMBER 1 TO 15 */ 01688002