|
|
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 t
Length: 2574 (0xa0e)
Types: TextFile
Names: »transport.h«
└─⟦9ae75bfbd⟧ Bits:30007242 EUUGD3: Starter Kit
└─⟦2fafebccf⟧ »EurOpenD3/mail/smail3.1.19.tar.Z«
└─⟦bcd2bc73f⟧
└─⟦this⟧ »src/transport.h«
/* @(#)transport.h 3.12 8/18/88 01:53:59 */
/*
* Copyright (C) 1987, 1988 Ronald S. Karr and Landon Curt Noll
*
* See the file COPYING, distributed with smail, for restriction
* and warranty information.
*
* namei master id: @(#)transport.h 3.12 8/18/88 01:53:59
*/
#ifndef TRANSPORT_H
#define TRANSPORT_H
/*
* transport.h:
* types and macros for use by transport drivers.
*/
/* structure of a transport, as read from the configuration file */
struct transport {
char *name; /* name of transport */
char *driver; /* name of the associated driver */
struct transport *succ; /* next transport in the list */
long flags; /* boolean flag values */
int max_addrs; /* maximum addresses per instance */
int max_hosts; /* maximum hosts per instance */
int max_chars; /* max chars of address per instance */
char *shadow; /* name of shadow transport */
char *error_transport; /* use this transport on errors */
char *private; /* private data storage */
};
/* compiled in transport drivers */
struct transport_driver {
char *name; /* name of transport driver */
void (*cache)(); /* function to cache transport info */
void (*driver)(); /* function to perform delivery */
void (*finish)(); /* function to free resources */
char *(*builder)(); /* fun to read from transport file */
};
/*
* structure for associating a list of remote addresses with a specific
* instance of a transport. Note: each entry in the addr list has
* the same transport, so this information is not duplicated in the
* assign_transport structure itself.
*/
struct assign_transport {
struct assign_transport *succ; /* point to next instance */
struct addr *addr; /* list of addresses */
};
/* values for transport.flags field */
#define STRICT_TPORT 0x0001 /* try to use strict RFC822 */
#define UUCP_ONLY 0x0002 /* only use uucp !-routes */
#define PUT_RECEIVED 0x0004 /* supply a Received: field */
#define PUT_RETURNPATH 0x0008 /* supply a Return-Path: field */
#define PUT_FROM 0x0010 /* supply a From_ line */
#define LOCAL_TPORT 0x0020 /* this is a local transport */
#define PUT_CRLF 0x0040 /* put \r\n on each output line */
#define BSMTP_TPORT 0x0080 /* write SMTP envelope around msg */
#define PUT_DOTS 0x0100 /* use hidden dot algorithm */
#define HBSMTP_TPORT 0x0200 /* half-baked SMTP envelope */
#define DEBUG_TPORT 0x0400 /* dump debug info, don't dump body */
#define UNIX_FROM_HACK 0x0800 /* put > in front of From's in body */
#endif /* TRANSPORT_H */