Previous | Contents | Index |
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.
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.
7
|
Previous | Next | Contents | Index |