08.11.2014 Views

Software Reference Manual - NetEx

Software Reference Manual - NetEx

Software Reference Manual - NetEx

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!