MACRO 00001000 &LABEL FSPOINT &FILEID,&FSCB=,&WRPNT=0,&RDPNT=0,&ERROR=*+4,&FORM= 00002100 GBLC &DMSNAME,&DMSTYPE,&DMSMODE 00003000 LCLC &READ,&WRITE 00004000 AIF (T'&FORM EQ 'O').NOFORM 00004100 AIF ('&FORM' EQ 'E').FORME 00004200 MNOTE 8,'Error: FSPOINT FORM=&FORM parameter not valid' 00004300 MEXIT 00004400 .FORME ANOP 00004500 MNOTE 4,'Warning: FSPOINT FORM=E accepted but not implemented' 00004600 .NOFORM ANOP 00004700 AIF (T'&FILEID EQ 'O' AND T'&FSCB EQ 'O').ERR1 00005000 AIF (T'&FILEID EQ 'O').NOID 00006000 AIF ('&FILEID'(1,1) NE '''' AND '&FILEID'(1,1) NE '(').ERR2 00007000 AIF ('&FILEID'(1,1) EQ '(' AND '&FILEID(1)' EQ '0').ERR3 00008000 AIF ('&FILEID'(1,1) EQ '(' AND '&FILEID(1)' EQ '1').ERR3 00009000 &DMSNAME SETC ' ' 00010000 &DMSTYPE SETC ' ' 00011000 &DMSMODE SETC ' ' 00012000 AIF ('&FILEID'(1,1) EQ '(').SKIP1 00013000 &DMSMODE SETC 'A1' 00014000 DMSPID &FILEID 00015000 AIF ('&DMSNAME' EQ ' ' OR '&DMSTYPE' EQ ' ').ERR2 00016000 .SKIP1 AIF (T'&FSCB EQ 'O').NOCB 00017000 .NOID AIF (T'&LABEL EQ 'O').NLBL 00018000 &LABEL DS 0H 00019000 .NLBL ANOP 00020000 AIF ('&FSCB'(1,1) EQ '(').REG1 00021000 LA 1,&FSCB 00022000 AGO .CONT1 00023000 .REG1 AIF ('&FSCB(1)' EQ '1').CONT1 00024000 LR 1,&FSCB(1) 00025000 .CONT1 ANOP 00026000 MVC 0(8,1),=CL8'POINT' 00027000 AIF (T'&FILEID EQ 'O').CONT2 00028000 AIF ('&FILEID'(1,1) EQ '(').REG2 00029000 MVC 8(8,1),=CL8'&DMSNAME' 00030000 MVC 16(8,1),=CL8'&DMSTYPE' 00031000 MVC 24(2,1),=CL2'&DMSMODE' 00032000 AGO .CONT2 00033000 .REG2 ANOP 00034000 MVC 8(18,1),0(&FILEID(1)) 00035000 .CONT2 ANOP 00036000 MVC 40(4,1),26(1) 00037000 AIF ('&WRPNT'(1,1) EQ '(').REG3 00038000 MVC 26(2,1),=H'&WRPNT' 00039000 AGO .CONT3 00040000 .REG3 ANOP 00041000 AIF ('&WRPNT(1)' EQ '1').ERR4 00042000 STH &WRPNT(1),26(,1) 00043000 .CONT3 ANOP 00044000 AIF ('&RDPNT'(1,1) EQ '(').REG4 00045000 MVC 28(2,1),=H'&RDPNT' 00046000 AGO .CONT4 00047000 .REG4 ANOP 00048000 AIF ('&RDPNT(1)' EQ '1').ERR5 00049000 STH &RDPNT(1),28(,1) 00050000 .CONT4 ANOP 00051000 SVC 202 00052000 DC AL4(&ERROR) 00053000 MVC 26(4,1),40(1) 00054000 MEXIT 00055000 .NOCB ANOP 00056000 &WRITE SETC '0' 00057000 AIF ('&WRPNT'(1,1) EQ '(').NEXT1 00058000 &WRITE SETC '&WRPNT' 00059000 .NEXT1 ANOP 00060000 &READ SETC '0' 00061000 AIF ('&RDPNT'(1,1) EQ '(').NEXT2 00062000 &READ SETC '&RDPNT' 00063000 .NEXT2 ANOP 00064000 CNOP 0,4 00065000 &LABEL BAL 1,DMS&SYSNDX.A 00066000 DC CL8'POINT' 00067000 DC CL8'&DMSNAME' 00068000 DC CL8'&DMSTYPE' 00069000 DC CL2'&DMSMODE' 00070000 DC HL2'&WRITE' 00071000 DC HL2'&READ' 00072000 DMS&SYSNDX.A EQU * 00073000 AIF ('&FILEID'(1,1) NE '(').SKIP2 00074000 MVC 8(18,1),0(&FILEID(1)) 00075000 .SKIP2 AIF ('&WRPNT'(1,1) NE '(').SKIP3 00076000 STH &WRPNT(1),26(,1) 00077000 .SKIP3 AIF ('&RDPNT'(1,1) NE '(').SKIP4 00078000 STH &RDPNT(1),28(,1) 00079000 .SKIP4 ANOP 00080000 SVC 202 00081000 DC AL4(&ERROR) 00082000 MEXIT 00083000 .ERR1 MNOTE 8,'NEITHER FILEID OF FSCB SPECIFIED' 00084000 MEXIT 00085000 .ERR2 MNOTE 8,'INVALID FILEID SPECIFICATION' 00086000 MEXIT 00087000 .ERR3 MNOTE 8,'REGISTERS 0 AND 1 INVALID FOR FILEID' 00088000 MEXIT 00089000 .ERR4 MNOTE 8,'REGISTER 1 INVALID FOR WRPNT' 00090000 MEXIT 00091000 .ERR5 MNOTE 8,'REGISTER 1 INVALID FOR RDPNT' 00092000 MEND 00093000