Software Reference Manual - NetEx
Software Reference Manual - NetEx
Software Reference Manual - NetEx
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
RDDNAME DS CL8 DDNAME of file<br />
RRPARM DS CL64 64 bytes of RPARM text<br />
*<br />
* Work area for use by the record module<br />
*<br />
RMSAVE DS 18F Save area for rtns called by Rmod<br />
*<br />
END RCRECMOD<br />
Writing Block Modules<br />
The block modules are also designed to be entered from a single entry point. They differ from the simpler<br />
record modules specified above in several ways:<br />
<br />
<br />
<br />
They take complete responsibility for providing and accepting blocks of information from NETEX. All<br />
protocol needed by the block modules, such as record lengths or end of file indications, must be passed<br />
from the sender to the receiver through the file buffer.<br />
The block modules have total control over the NETEX DATAMODE parameter. They can set or examine<br />
this value to send specialized data formats.<br />
Unlike record modules, block modules cannot insert messages to be sent to the other side of the BFX<br />
transfer process. If they want to send information along with the file data, it must be embedded in the file<br />
protocol used by the block modules.<br />
Block modules are almost exclusively reserved for applications that are moving binary data between dissimilar<br />
hosts. In that case, custom DATAMODEs will often be needed to speed the work of converting floating<br />
point numbers and the like. By giving the block modules total responsibility for protocol, any NETEX supported<br />
DATAMODE may be used during the file transfer process.<br />
IMPORTANT: When writing modules that call NETEX, it is important to clear the high byte of register<br />
13 prior to calling NETEX. If a flag occupies this register when NXMUIFOO is called,<br />
an abnormal termination will occur.<br />
FORTRAN Entry<br />
The entry to the block module should be declared as shown in Figure 19.<br />
SUBROUTINE bmod (BUF,BUFLEN,BFUBIT,BDTMOD,<br />
+ BUFLEV,MSG,MSGLEN,<br />
+ MSGLEV,LCM,MODE,DDNAME,<br />
+ BBPARM,RMOD,BRPARM)<br />
type BUF(1)<br />
INTEGER*4 BUFLEN,BFUBIT,BDTMOD,BUFLEV,MSGLEN<br />
INTEGER*4 MSGLEV,LCM,MODE<br />
CHARACTER*128 MSG<br />
CHARACTER*64 BRPARM,BBPARM<br />
CHARACTER*8 RMOD,DDNAME<br />
Figure 19. Block module entry<br />
The parameters in Figure 19 are described in the following paragraphs.<br />
MAN-REF-H211-05 Appendix A: User Modules Page 71