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