PHS(3)

NAME
Note the MMDF transmission phase (phs_)

SYNOPSIS
#include "util.h"
#include "mmdf.h"
#include "ch.h"
#include "phs.h"
phs_note (thechan, phase)
    Chan *thechan;
    int phase;
phs_msg  (thechan, naddrs, len)
    Chan *thechan;
    int nardr;
    long len;
time_t  phs_get (thechan, phase)
    Chan *thechan;
    int phase;
phases:
    PHS_CNSTRT  /* start connecting to site */
    PHS_CNGOT   /* got connection to site */
    PHS_CNEND   /* end connection to site */
    PHS_RESTRT  /* start reading (sending) mail from site */
    PHS_REEND   /* end reading (sending) mail from site */
    PHS_WRSTRT  /* start writing (picking up) mail to site */
    PHS_WREND   /* end writing (picking up) mail to site */

DESCRIPTION

These routines are used to record the progress made during a connection between MMDF and another mail system. Sessions are divided into the phases indicated above. External time-stamps are maintained, for each channel, for each phase. The stamps are primarily used by the checkque(8) program, but notations also are made in the channel log (see logs(5)). The time-stamps are maintained by setting the modified time of files in channel subdirectories of the "phsdfldir" directory specified in the MMDF configuration. One file is kept per time-stamp (see FILES below).

Phs_note() records the indicated event. Phs_msg() is a special case; it records the transmission of one message, noting the number of addresses for it and the number of characters. This is recorded only in the channel log and is not given any external time-stamps. Phs_get() returns the time-stamp of the specified channel and phase. If no time-stamp exists for the specified channel and phase, phs_get() returns zero.

FILES

<phsdfldir>/<channel>/cstrt
    PSH_CNSTRT time-stamp file

<phsdfldir>/<channel>/cgot
    PSH_CNGOT time-stamp file

<phsdfldir>/<channel>/cend
    PSH_CNEND time-stamp file

<phsdfldir>/<channel>/rstrt
    PSH_RESTRT time-stamp file

<phsdfldir>/<channel>/rmsg
    PSH_REMSG time-stamp file

<phsdfldir>/<channel>/rend
    PSH_REEND time-stamp file

<phsdfldir>/<channel>/wstrt
    PSH_WRSTRT time-stamp file

<phsdfldir>/<channel>/wmsg
    PSH_WRMSG time-stamp file

<phsdfldir>/<channel>/wend
    PSH_WREND time-stamp file