ftp.nice.ch/pub/next/unix/mail/smail3.1.20.s.tar.gz#/smail3.1.20/src/transport.h

This is transport.h in view mode; [Download] [Up]

/* @(#)src/transport.h	1.2 24 Oct 1990 05:25:42 */

/*
 *    Copyright (C) 1987, 1988 Ronald S. Karr and Landon Curt Noll
 * 
 * See the file COPYING, distributed with smail, for restriction
 * and warranty information.
 */

#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 */

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.