C

 

+ %TRIMR(test_file)

 

C

 

+ ' closed successfully'

 

C

except

 

 

 

C

endif

 

 

 

C\

 

 

 

 

C\ Open the file for read only

 

 

 

C\

 

 

 

 

C

eval

FileDesc = open2(%ADDR(FileName)

 

C

 

: x'ððððððð1')

 

C\

 

 

 

 

C\ Check for error and report

status.

If an error occurs,

 

C\ attempt cleanup.

 

 

 

C\

 

 

 

 

C

if

FileDesc = -1

 

C

eval

PrintLine = 'Open of file failed'

 

C

exsr

error

 

 

C

eval

ReturnInt = unlink(%ADDR(FileName))

 

C

eval

\INLR = '1'

 

C

return

 

 

 

C

else

 

 

 

C

eval

PrintLine = 'Open of file successful'

 

C

except

 

 

 

C

endif

 

 

 

C\

 

 

 

 

C\ Read from file

 

 

 

C\

 

 

 

 

C

eval

BytesRead = read(FileDesc

 

C

 

: %ADDR(Buffer) : %SIZE(Buffer))

 

C\

 

 

 

 

C\ Check for error and report

status.

If an error occurs,

 

C\ attempt cleanup.

 

 

 

C\

 

 

 

 

C

if

BytesRead = -1

 

C

eval

PrintLine = 'Read failed'

 

C

exsr

error

 

 

C

eval

ReturnInt = close(FileDesc)

 

C

eval

ReturnInt = unlink(%ADDR(FileName))

 

C

eval

\INLR = '1'

 

C

return

 

 

 

C

else

 

 

 

C

if

BytesRead = BytesWrt

 

C

eval

PrintLine = 'Data successfully read: '

 

C

 

+ %TRIMR(Buffer)

 

C

else

 

 

 

C

eval

PrintLine = 'Data truncation on read'

 

C

endif

 

 

 

C

except

 

 

 

C

endif

 

 

 

C\

 

 

 

 

C\ Close the LinkName file

 

 

 

C\

 

 

 

 

C

eval

ReturnInt = close(FileDesc)

 

C\

 

 

 

 

C\ Check for error and report

status.

If an error occurs,

 

C\ attempt cleanup.

 

 

 

C\

 

 

 

 

C

if

ReturnInt = -1

 

C

eval

PrintLine = 'Close of link failed'

B-186

System API Programming

V4R1

 

 

Page 464
Image 464
IBM Version 4 manual 186