PMDF System Manager's Guide


Previous Contents Index

1.5.1 Channel Queue Formats

Messages queued for delivery are always stored in the same format, described below in Section 1.5.2, regardless of the type of channel in which they are queued. All messages are stored in subdirectories under the PMDF queue directory.7 Each channel has its own subdirectory, with the name of the subdirectory being that of the channel. For example, messages queued for delivery to Internet destinations are typically handled by a tcp_local channel, hence stored in PMDF_QUEUE:[tcp_local] on OpenVMS systems, /pmdf/queue/tcp_local/ on UNIX systems, and usually C:\pmdf\queue\tcp_local\ on NT. A channel subdirectory can in turn have multiple subdirectories beneath it, usually purely for file system usage reasons,8 but also some channels, such as the MAILSERV and PRINTER channels, use a subsidiary spool subdirectory for storing temporary file. Each file in a channel subdirectory contains a single message.

Note

On OpenVMS, some temporary files are stored in the top level queue directory. The names of these temporary files usually begin with a dollar sign, $.

All of these directories are protected against access by nonprivileged users. The first two characters of each file name are a representation of the number of times delivery has been attempted on the file. This information is encoded in "complemented base 36". Files are initially created having names beginning with "ZZ". Upon completion of an unsuccessful delivery attempt, a file is renamed, counting down in complemented base 36. So a name beginning with "ZY" indicates that at least one attempt has been made, a name beginning with "ZA" indicatees that at least 25 attempts have been made, a name beginning with "Z0" indicates that at least 35 attempts have been made, a name beginning with "YZ" indicates that at least 36 attempts have been made, and so on.

The remainder of the file names are pseudo-random strings of hexadecimal characters that serve to make the file names unique. The file type (extension) is always a pair of letters or digits, usually "00". Messages being held have a ".HELD" as the file type; these messages are not eligible for delivery processing and must be renamed to have a two-character file type before they will become eligible for delivery.9

The actual internal format of the message files is irrelevant. Those who want to write their own PMDF channel programs should access the messages via the documented PMDF API interface. This interface is documented in the PMDF Programmer's Reference Manual. PMDF itself uses the MM subroutine library to enqueue messages and the QU subroutine library to dequeue messages. However, it is sometimes useful for a system manager to examine messages in the queues, so it is nice to note that messages are stored as ASCII text and message files can be typed on a terminal without adverse effects. An overview is provided of message file format below in Section 1.5.2.

Note

7 PMDF_QUEUE: on OpenVMS; /pmdf/queue/ on UNIX; the directory specified by the PMDF_QUEUE Registry entry on NT, usually C:\pmdf\queue\.

8 See the subdirs channel keyword in Section 2.3.4.17.

9 See Section 33.4.7 or Section 34.4.7 for information on dealing with files marked .HELD, should you ever encounter any.


Previous Next Contents Index