This manual refers to all calls and data types such as structure definitions with names that include underscores (_) separating the parts of the name. (In PL/M, dollar signs ($) separate the parts of system call names.) In some cases, you can refer to the same system call or structure definition with or without the underscore separator. For example, you can call rq_send_message or rqsendmessage, depending on the include file. The OS defines such calls and data types both ways; the versions without underscores are provided for backwards compatibility with existing code.
As a general rule, the data types with underscores are defined in header files that have underscores in the names. For example, rmx_c.h defines system calls with underscores; it also includes rmxc.h, which defines system calls without underscores. Similarly, rmx_err.h defines condition code names with underscores, while rmxerr.h defines the same names without underscores.
However, some of the latest OS type definitions are defined only with underscore separators, as shown here. In your application program, include the underscore version of include files and use the underscores as shown here.
CAUTION
Not all type definitions that include underscores are exactly the same as their counterparts that don’t include underscores. For example, the STRING_TABLE_STRUCT structure is not defined the same way as its counterpart, STRINGTABLESTRUCT.
Furthermore, not all of the PL/M structure definitions listed here are actually defined in PL/M header files (.lit and .ext files). If you program in C and include the correct header files, you can use the type definitions listed in this manual without defining them yourself. But if you program in PL/M, you may need to declare some of the literal structures listed here.