Type of Source File
| Naming Convention
| Reserved Names
| Notes
|
CP CSECT
| CCxxxx, where x is any alphanumeric character.
| See Appendix A, "Deviations from Existing Naming Standards" for a list of CP CSECTs that deviate from the naming
conventions.
|
|
COPY members
| axxx|x|x, where a is B, C, D, U, JC, or XL, and
x is any alphanumeric character. The maximum length is six
characters.
| See Appendix A, "Deviations from Existing Naming Standards" for a list of copy members of CP CSECTs that deviate from the
naming conventions.
|
|
E-type (real-time) program
- load module (DLM, library, DLL)
- BAL
- TARGET(TPF)
- Note:
- The program name is the name in the TPFLDR input deck.
| axxx, where a is B, C, D, U, JC, or XL, and x
is any alphanumeric character.
|
- For the TPF Database Facility (TPFDF) product: members starting with
BCB, BFA-BFB, BRC, BRZ, and all members beginning with UF
(except those that start with UFF and UFH-UFJ, which are
reserved for the TPFDF product for atraxis (Swissair) only).
- For the Step-by-Step trace (SST) facility product: members starting
with BT (BTxx).
- For the CMS/TPF product: members in the CTP0-CTP9 and
CTPA-CTPZ range.
- For atraxis (Swissair): members starting with DC (DCxx), DI
(DIxx), DO (DOxx), DP (DPxx), and CVZK, CVZN, and
CVZO.
|
- BRCP and BRCQ are already in use by the TPF product and are not available
to TPFDF.
- BTCB, BTIM, and BTLI are already in use by the TPF product and are not
available to the SST facility.
- See Appendix A, "Deviations from Existing Naming Standards" for a list of those TPF real-time programs that deviate from the
naming conventions.
|
C/C++ source
| axxx/x/x, where a is B, C, D, U, JC,
or XL, and x is any alphanumeric character.
|
|
- The standard is to have 4- to 6-character names, but the guideline is to
use 5- to 6- character names.1
|
C/C++ build script
| axxxBS
- where a is B, C, D, U, JC, or XL, and x is any
alphanumeric character.
- axxx must match the load module name.
| Because axxx matches the load module name, the same list of
reserved names for E-type (real-time) programs applies.
|
|
C run-time (nondynamic) library interface script
| axxxXV
- where a is B, C, D, U, JC, or XL, and x is any
alphanumeric character.
- axxx must match the load module library name.
| Because axxx matches the load module name, the same list of
reserved names for E-type (real-time) programs applies.
|
|
Ported code segments
| Same as the ported code name, unless it is a system-required function
that must go through SIP. If you must change the file name, you must
follow the TPF standard for file names.
|
|
- Ported code segment names can be reused as long as the type is
different. ABC.C and ABC.H are allowed. The key is
that no two executable programs can have the same name.
- Six-character segment names will be allowed for ported code.
- Ported code will not have SID codes automatically placed on changed
lines.
|
TPF external C/C++ header
(TPF interface protected; interface guaranteed)
| C$xxxx, where x is any alphanumeric character.
|
|
- If an equivalent BAL DSECT already exists, xxxx should be as
close as possible to the name of the BAL DSECT.
- If there is no BAL DSECT equivalent, there is no restriction.
However, if an equivalent BAL DSECT is created, xxxx must match for
both the external C/C++ header and BAL DSECT.2
- Existing C headers, including those for drivers, will not be
renamed and will remain exceptions.
|
TPF internal C/C++ header
(TPF implementation specific; interface not guaranteed)
| I$xxxx, where x is any alphanumeric character.
|
|
- If an equivalent BAL DSECT already exists, xxxx should be as
close as possible to the name of the BAL DSECT.
- If there is no BAL DSECT equivalent, there is no restriction.
However, if an equivalent BAL DSECT is created, xxxx must match for
both the internal C/C++ header and BAL DSECT.2
|
Ported C/C++ header
| Same name as ported header.
|
| Ported C/C++ header files will not be renamed and will be named "as
ported" unless they are more than 8 characters long. Ported C/C++
header files are restricted to 8 characters in length. Ported C/C++
header files are exceptions to the C/C++ header naming conventions.
|
Standard header
| Same name as standard.
|
|
|
BAL imperative macro
(any macro that generates code)
| a(xxxx)C, where a is an alphabetic character
and x is any alphanumeric character.
Note: xxxx is variable in length and can be from 1-4
characters in length. BAL imperative macros can be no longer than 6
characters in length but can be fewer than 6 characters.
|
- For the Step-by-Step trace (SST) facility product: SSTxxC
|
- Does not apply to system generation macros.
- See "Macros" for a list of existing macros that currently deviate from these
naming standards.
- The FDRSC macro name is reserved for customer use.
|
BAL equate, declarative, keypoint, and control block macros 3
| Ixxxx(x), where x is any alphanumeric
character.
- Note:
- The 5th x is obsolete. All existing BAL equate, declarative,
keypoint, and control block macros that are 6 characters in length are
exceptions and will not be renamed.
|
- For the Step-by-Step Trace (SST) product: ISSTxx.
- For atraxis (Swissair):
- IDxxDC
- IRxxDC
- ITxxDC
- IWxxDC
|
- Field names must start with I.
- Does not apply to system generation macros.
- If a BAL DSECT is created and it will also have an equivalent C header,
the BAL DSECT will be Ixxxx,
- where xxxx is any alphanumeric character.
- where xxxx must match for both the BAL DSECT and C
header.2
- See "Macros" for a list of existing macros that currently deviate from these
naming standards.
|
BAL global set symbols in macros
| &xx, where x is any alphanumeric character.
| All global set symbol names starting with &SU, &XU, and &U
are for customer use.
| Global symbols must be unique to the system.
|
- Notes:
-
1 The PDS member name for the compiled or assembled object code will
be the same as the source file member name. This name must be unique in
the directory that it is in. See TPF Application
Programming for details about ISO-C, build scripts, and the library
interface tool. See the BSCRLSCR prolog for a sample build script
format.
2 In the following example, a new C header file is created and no BAL
DSECT exists:
C$TABL (external header)
struct tpf_itabl_item
{
char itabl_field1;
short int itabl_field2;
}
But then, if a C$TABL BAL equivalent is created, it would be named
ITABL. For example:
ITABL
ITABL_FIELD1 DS CL1
ITABL_FIELD2 DS XL2
In the following example, a new C header file is created and there is
an existing BAL DSECT:
ECBHDR a "made-up existing" TPF BAL DSECT
C$ECBH /* its new "made up" C language header
The field name in the C header should (but is not required to)
match those in the BAL DSECT.
3Any equates that are specific to a declarative macro will be defined
in the macro definition. For example, if the macro has indicator bytes
with predefined bits, those bits will be defined via equates in the
macro. These equates are available for program use with the macro
call. The naming convention for all labels in a macro (including
equates) should follow the macro naming convention and also begin with the
letter I.
|