@APPLICATION

Use the @APPLICATION control statement to specify the real-time programs that you want to load to the z/TPF system. If an older version of a particular program was previously specified in the loader input file, that version will be replaced by the new version.

The following figure shows the syntax for the @APPLICATION control statement section of the loader input file. In this figure, the double arrowhead (►►) indicates that the information must begin on a new line.
Figure 1. @APPLICATION control statement section of the loader input file
Read syntax diagramSkip visual syntax diagram@APPlication   CWD  defaultloc
Note: This must be the first line of the @APPLICATION control statement section.
Read syntax diagramSkip visual syntax diagram,defaultloc/specificloc/prognameversion. ext( progcmt)
Note: If you have more than one program to load, use this line as many times as you need. Each time you use it, separate occurrences with a comma or start each occurrence on a new line.
Read syntax diagramSkip visual syntax diagram@@ progname. objfile rsa newdata valdata- olddata,MOVe
Note: If you have more than one program to patch (or if you have more than one patch for a program), use this line as many times as you need. Each time you use it, start the next occurrence on a new line.
defaultloc
is the default location of programs to load, where defaultloc is one of the following:
  • The name of a search path that was defined previously in an @DEFINE control statement section (for example, &APPLPATH)
  • An absolute path (for example, /u/ztpf/applpath)
  • A relative path (for example, applpath).
    Note: All relative paths are appended to the current working directory, which must have been defined previously using the CWD parameter in the @DEFINE control statement section.

The default location is searched for programs listed in the @APPLICATION control statement section. You can override the default path for a particular program by specifying a specific path for that program.

specificloc
is the specific location of the program to load, where specificloc is one of the following:
  • The name of a search path that was defined previously in an @DEFINE control statement section (for example, &APPLPATH)
  • An absolute path (for example, /u/ztpf/applpath)
  • A relative path (for example, applpath).
    Note: All relative paths are appended to the current working directory, which is defined using the CWD parameter in the @DEFINE control statement section. Therefore, you must define the CWD parameter before you can specify a relative path.

If you specify a specific location for a program, this location overrides any default location that might have been defined for the @APPLICATION control statement section; that is, only the specific location is searched for the program. If the program is not found in the specific location, an error occurs.

CWD
is the value specified for the CWD parameter in the @DEFINE control statement section. If you do not specify a default location or a specific location, this is the only location that is searched.
progname
is the 4-character alphanumeric name of the program that you want to load to the z/TPF system. Program names must begin with a letter (A–Z). For example, if the linker creates a program called ctal51.so, the CTAL portion of the name is required.
version
is the 1- to 2-character alphanumeric version code for the program. For example, if the linker creates a program called ctal51.so, the 51 portion of the name is optional.
.ext
specifies an extension of the full program name as created by the linker, where ext is the appropriate extension. For example, if the linker creates a program called ctal51.so, the .so portion of the name is optional.
(progcmt)
appends a comment for the program specified by progname that is displayed in the output report, where progcmt is the text that is appended.
@@progname
specifies a program to patch or to move, where progname is the 4-character name of the program that you want to patch or move. Program names must begin with a letter (A–Z).
Note: If you want to patch a program, you must load the program in the current @APPLICATION control statement section before you can patch it. If you are moving an entry point, you must ensure that it is being loaded in the current @APPLICATION control statement section.
.objfile
specifies the object file name, where objfile is an alphanumeric name of the object file (in the program) that you want to patch on the z/TPF system. Object file names must begin with a letter (A–Z).
rsa
is the 1- to 6-digit hexadecimal relative starting address in the program or object file. The relative starting address specifies the offset into the program or object file where the patch will be applied.
newdata
is the new data (or patch) that will replace the old data in the program or object file, beginning at the relative starting address. The new data must be an even number of hexadecimal digits and cannot exceed 32 digits (16 bytes).
valdata-olddata
validates the data that is replaced by newdata, where olddata is an even number in hexadecimal format that does not exceed 32 digits (16 bytes). The data specified for olddata must match what is currently in the program. If it does not, the data in the program is not changed and an error occurs. If it does, the data in the program is replaced by newdata. For example, this parameter can help to verify that your patch is starting at the correct relative starting address.
Note: The length of the data that you are validating can have fewer bytes or more bytes than the new data. If the validation is completed successfully, only the number of bytes in your new data will be replaced.
MOVe
indicates that the single entry BSO specified by @@progname has been moved into another BSO. The BSO that @@progname has been moved to must be included in the loader input file.