|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T c
Length: 4574 (0x11de)
Types: TextFile
Names: »chan.h«
└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0
└─⟦dc59850a2⟧ »EurOpenD22/pp5.0/pp-5.tar.Z«
└─⟦e5a54fb17⟧
└─⟦this⟧ »pp-5.0/h/chan.h«
/* chan.h: the description of a channel structure */
/*
* @(#) $Header: /cs/research/pp/hubris/pp-beta/h/RCS/chan.h,v 5.0 90/09/20 16:49:50 pp Exp Locker: pp $
*
* $Log: chan.h,v $
* Revision 5.0 90/09/20 16:49:50 pp
* rcsforce : 5.0 public release
*
*
*/
#ifndef _H_CHAN
#define _H_CHAN
#include "table.h"
#include "list_bpt.h"
#define CH_MAX_SORT 10
typedef struct chan_struct {
char *ch_name; /* channel name */
char *ch_progname; /* prog name referencing this chan */
char *ch_show; /* Display field of the chan title */
int ch_chan_type; /* What kind of channel is this */
#define CH_SHAPER 0
#define CH_IN 1
#define CH_OUT 2
#define CH_BOTH 3
#define CH_WARNING 4
#define CH_DELETE 5
#define CH_QMGR_LOAD 6
#define CH_DEBRIS 7
#define CH_TIMEOUT 8
char *ch_chan_out; /* Channel for DRs */
int ch_cost; /* How expensive to run */
/* SEK - must define this ! */
char ch_sort[CH_MAX_SORT]; /* How to sort the msgs */
#define CH_SORT_USR 01
#define CH_SORT_MTA 02
#define CH_SORT_PRIORITY 03
#define CH_SORT_TIME 04
#define CH_SORT_SIZE 05
char *ch_info; /* Info locally interpreted by chan */
char *ch_content_in; /* Incoming content of a message */
char *ch_content_out; /* Outgoing content of a message */
int ch_ad_type; /* Address types */
int ch_ad_subtype; /* Address subtypes */
/* Used outbound only */
int ch_ad_order; /* Ordering of the incoming domain */
/* for submit to interpret */
#define CH_USA_ONLY 00
#define CH_USA_PREF 01
#define CH_UK_ONLY 02
#define CH_UK_PREF 03
int trace_type; /* Text type of trace for messages */
/* interpreted by submit */
#define CH_TRACE_RECEIVED
#define CH_TRACE_VIA
#define CH_TRACE_X400
LIST_BPT *ch_bpt_in; /* Incoming body part types */
LIST_BPT *ch_bpt_out; /* Outgoing body part types */
Table *ch_table; /* Table that this chan references */
/* optional */
Table *ch_auth_tbl; /* Table of authentication stuff */
char *ch_mta; /* Mta to route through */
unsigned int
ch_probe:1, /* Does the channel support probes */
ch_domain_norm:1, /* parse all domains or just next hop */
#define CH_DOMAIN_NORM_PARTIAL 0
#define CH_DOMAIN_NORM_ALL 1
ch_conversion:2, /* what sort of conversion this does */
#define CH_CONV_NONE 0
#define CH_CONV_1148 1
#define CH_CONV_CONVERT 2
#define CH_CONV_WITHLOSS 3
ch_access:1; /* The type of channel access */
#define CH_MTS 00
#define CH_MTA 01
int ch_maxproc; /* Max instances of channel qmgr */
/* can run */
} CHAN;
/* ---------------------------------------------------------------------------
NOTES
-----
ch_ad_type:
The values come from tb_a.h
ch_chan_out:
Only set on an incomming (or listening) channel. This
is the name of the output channel to which any error
reports are sent. During Submit, if an error report is
generated, and if this ptr is set then the msg is
sent back to the originator via this channel. Otherwise
it is sent via the output channel calculated by the
routine ch_bind().
ch_chan_type:
May have one of the following values:
CH_SHAPER - formatter
CH_IN - listener
CH_OUT - transmitter
CH_BOTH - listener/transmitter
CH_WARNING - Warning channel (for qmgr)
CH_DELETE - Deletion of unwanted msgs (for qmgr)
CH_QMGR_LOADER - Loading the QMGR channel (for qmgr)
CH_DEBRIS - Debris cleaning channel
CH_TIMEOUT - timeout channel
CH_SHAPER - may be flattener, unflattener or a formatter.
Depending on whether ch_bpt_in &/or ch_bpt_out fields are set.
ch_bpt_in:
Channel is a unflattener.
ch_bpt_out:
Channel is a flattner.
ch_bpt_in & ch_bpt_out:
Channel is a formatter.
ch_cost:
How expensive is this channel to run. The higher the
cost the less likely it is to be used. This is an
important parameter for Submit's ch_bind() routine.
ch_content_in:
ch_content_out:
Only set on an incoming (or listening) channel. Otherwise NULLCP.
May have one of the following values:
"822"
"p2"
ch_info:
This is a local string that is specific to a particular
channel, to be interpreted by that channel in any way
it sees fit.
ch_mta:
A relay route for this channel.
ch_access:
Whether this channel is from another MTA or from local submission
--------------------------------------------------------------------------- */
#define NULLCHAN ((CHAN *)0)
extern CHAN *ch_nm2struct();
extern CHAN *ch_all[]; /* all chans from tailor file */
#endif