DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T a

⟦cdc12e63f⟧ TextFile

    Length: 6360 (0x18d8)
    Types: TextFile
    Names: »adr.h«

Derivation

└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0
    └─⟦dc59850a2⟧ »EurOpenD22/pp5.0/pp-5.tar.Z« 
        └─⟦e5a54fb17⟧ 
            └─⟦this⟧ »pp-5.0/h/adr.h« 

TextFile

/* adr.h: address structure definition */

/*
 * @(#) $Header: /cs/research/pp/hubris/pp-beta/h/RCS/adr.h,v 5.0 90/09/20 16:49:24 pp Exp Locker: pp $
 *
 * $Log:	adr.h,v $
 * Revision 5.0  90/09/20  16:49:24  pp
 * rcsforce : 5.0 public release
 * 
 *
 */



#ifndef _H_ADR
#define _H_ADR


#include "list_rchan.h"
#include "extension.h"
#include "mta.h"
#include <isode/psap.h>

typedef struct ad_redirection {
	struct ad_redirection *rd_next;
	char	*rd_addr;	/* O/R Name */
	char	*rd_dn;		/* Distinguished Name */
	UTC	rd_time;
	int	rd_reason;
#define RDR_RECIP_ASSIGNED 	0
#define RDR_ORIG_ASSIGNED	1
#define RDR_MD_ASSIGNED		2
} Redirection;

/* Address-types */

#define AD_ORIGINATOR                   1
#define AD_RECIPIENT                    2

typedef struct	adr_struct {
	int		ad_no;		/* recipient number */
					/* PP's key to this adr */

					/* Next 3 parms may be modfiied */
					/* in Q.  Fixed text encoding */
	int		ad_status;	/* recipient status */
#define  AD_STAT_UNKNOWN                0
#define  AD_STAT_PEND                   1
#define  AD_STAT_DRREQUIRED             2       /* DR required */
#define  AD_STAT_DRWRITTEN              3       /* DR written */
#define  AD_STAT_DONE                   4
	int		ad_rcnt;	/* reformatters done count  */

	/* -- MTS Service Parms */

	char		*ad_value;	/* address-original */
	char		*ad_dn;		/* Directory Distinguished Name */
					/* QUIPU string encoding */

	int		ad_usrreq;	/* user-report-request bit */
#define  AD_USR_NOREPORT                0
#define  AD_USR_BASIC                   1
#define  AD_USR_CONFIRM                 2
#define  AD_USR_NONE                    3
	int		ad_explicitconversion;	/* explicit conversion */
#define AD_EXP_NONE			-1
#define	AD_EXP_IA5_TEXT_TO_TELETEX	0
#define	AD_EXP_TELETEX_TO_TELEX		1
#define	AD_EXP_TELEX_TO_IA5_TEXT	2
#define	AD_EXP_TELEX_TO_TELETEX		3
#define	AD_EXP_TELEX_TO_G4_CLASS_1	4
#define	AD_EXP_TELEX_TO_VIDEOTEX	5
#define	AD_EXP_IA5_TEXT_TO_TELEX	6
#define	AD_EXP_TELEX_TO_G3_FACSIMILE	7
#define	AD_EXP_IA5_TEXT_TO_G3_FACSIMILE	8
#define	AD_EXP_IA5_TEXT_TO_G4_CLASS_1	9
#define	AD_EXP_IA5_TEXT_TO_VIDEOTEX	10
#define	AD_EXP_TELETEX_TO_IA5_TEXT	11
#define	AD_EXP_TELETEX_TO_G3_FACSIMILE	12
#define	AD_EXP_TELETEX_TO_G4_CLASS_1	13
#define	AD_EXP_TELETEX_TO_VIDEOTEX	14
#define	AD_EXP_VIDEOTEX_TO_TELEX	15
#define	AD_EXP_VIDEOTEX_TO_IA5_TEXT	16
#define	AD_EXP_VIDEOTEX_TO_TELETEX	17

	int		ad_type;	/* address-type */
#define  AD_X400_TYPE                   1
#define  AD_822_TYPE                    2
#define	 AD_ANY_TYPE			3

	char		*ad_orig_req_alt; /* originator requested alternate */
					/* recipient - std encoded */
	char		ad_orig_req_alt_crit;

#define AD_RDM_MAX	4
	int		ad_req_del[AD_RDM_MAX];	/* requested delivery method */
#define AD_RDM_NOTUSED  -1
#define AD_RDM_ANY 	0
#define AD_RDM_MHS 	1
#define AD_RDM_PD	2
#define AD_RDM_TLX	3
#define AD_RDM_TTX	4
#define AD_RDM_G3	5
#define AD_RDM_G4	6
#define AD_RDM_TTY	7
#define AD_RDM_VTX	8
	char		ad_req_del_crit;

	char		ad_phys_forward; /* boolean - is physical 	*/
					/* forwarding allowed */
	char		ad_phys_forward_crit;

	char		ad_phys_fw_ad_req;
	char		ad_phys_fw_ad_crit;
					/* boolean - request for phys */
					/* foward address */

	int		ad_phys_modes;
	char		ad_phys_modes_crit;
#define AD_PM_ORD	0x1
#define AD_PM_SPEC	0x2
#define AD_PM_EXPR	0x4
#define AD_PM_CNT	0x8
#define AD_PM_CNT_PHONE	0x10
#define AD_PM_CNT_TLX	0x20
#define AD_PM_CNT_TTX	0x40
#define AD_PM_CNT_BUREAU	0x80
#define AD_PM_MAX	0x80
					
	int		ad_reg_mail_type;
	char		ad_reg_mail_type_crit;
#define AD_RMT_UNSPECIFIED	-1
#define AD_RMT_NON_REG		0
#define AD_RMT_REG		1
#define AD_RMT_PERSON		2

	char		*ad_recip_number_for_advice;
	char		ad_recip_number_for_advice_crit;

	OID		ad_phys_rendition_attribs;
	char		ad_phys_rendition_attribs_crit;
	
	int		ad_pd_report_request;
	char		ad_pd_report_request_crit;
#define AD_PRR_UNSPECIFIED -1
#define AD_PRR_UNDELIV_PDS	0
#define AD_NTF_PDS		1
#define AD_NTF_MHS		2
#define AD_NTF_BOTH		3
	Redirection	*ad_redirection_history;
	char		ad_redirection_history_crit;

	struct qbuf	*ad_message_token;
	char		ad_message_token_crit;

	struct qbuf	*ad_content_integrity;
	char		ad_content_integrity_crit;

	int 		ad_proof_delivery;
	char		ad_proof_delivery_crit;
				/* boolean.  Is proof of delivery */
				/* requested */

	/* -- MTA Service Params (calculated for MTS AS) */
	
	int		ad_extension;	/* extension-id */
	int		ad_resp;	/* responsibility bit */
	int		ad_mtarreq;	/* mta-report-request bit */
#define  AD_MTA_NONE                    0
#define  AD_MTA_BASIC                   1
#define  AD_MTA_CONFIRM                 2
#define  AD_MTA_AUDIT_CONFIRM           3

	/* -- This may be supplied as a hint  but might get changed */
	
	int		ad_subtype;	/* address-subtype */
#define  AD_NOSUBTYPE                   0
#define  AD_JNT                         1
#define  AD_REAL733                     2
#define  AD_REAL822                     3
#define  AD_X400_84			4  /* Use this if compatible */
#define  AD_X400_88			5


	Extension	*ad_per_recip_ext_list;
					/* bucket for new and private */
					/* odds and sods */

	/* -- parameters calculated by PP */
	/* -- Note: the outbound mta is held in ad_outchan -- */

	char		*ad_r400adr;	/* x400-addr */
	char		*ad_r822adr;	/* rfc-addr */

	char		*ad_content;	/* outgoing content type */

	LIST_RCHAN	*ad_fmtchan;	/* reformatting channels */
	LIST_RCHAN	*ad_outchan;	/* outbound channel structure */
	LIST_BPT	*ad_eit;	/* outgoing eit's */


	/* -- from here onwards extra PP specific info -- */
	/* -- Diagnostics for any address parsing failures -- */

	int		ad_parse_stat;	/* address parsing err status */
	char		*ad_parse_message; /* address parsing err message */
	int		ad_reason;	/* DR reason failure */
	int		ad_diagnostic;	/* DR diagnostic code */
	char		*ad_add_info;	/* DR supplementary info */


	/* -- Address Control File offsets for fixed length variables -- */

	off_t		ad_no_offset;	/* offset param for recip number */
	off_t		ad_stat_offset; /* offset param for recip status */
	off_t		ad_rcnt_offset; /* offset param for reformat next */


	struct adr_struct   *ad_next;
} ADDR;

#define NULLADDR ((ADDR *)0)

extern ADDR	*adr_new ();
extern void	adr_init ();
extern void	adr_free ();
extern void	adr_tfree ();
extern void	adr_add ();
extern void	redirection_free ();

#endif