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 d

⟦267686ee6⟧ TextFile

    Length: 4998 (0x1386)
    Types: TextFile
    Names: »dr.h«

Derivation

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

TextFile

/* dr.h: delivery report definitions */

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



#ifndef _H_DR
#define _H_DR
#include "extension.h"
#include "mta.h"

typedef struct	DeliveredInfo {
	UTC	del_time;
	int	del_type;
#define DRT_PUBLIC				0
#define DRT_PRIVATE				1
#define DRT_MS					2
#define DRT_DL					3
#define DRT_PDAU				4
#define DRT_PHYSICAL_RECIPIENT			5
#define DRT_OTHER				6
} Delinfo;


typedef struct	NonDeliveredInfo {
	int	nd_rcode;
#define  DRR_NO_REASON                          -1
#define  DRR_TRANSFER_FAILURE                   0
#define  DRR_UNABLE_TO_TRANSFER                 1
#define  DRR_CONVERSION_NOT_PERFORMED           2
#define  DRR_PHYS_RRENDITION_NOT_PERFORMED	3
#define	 DRR_PHYS_DELIVERY_NOT_PERFORMED	4
#define  DRR_RESTRICTED_DELIVERY		5
#define  DRR_DIRECTORY_OP_UNSUCCESSFUL		6

	int	nd_dcode;
#define  DRD_UNRECOGNISED_OR                    0
#define  DRD_AMBIGUOUS_OR                       1
#define  DRD_MTA_CONGESTION                     2
#define  DRD_LOOP_DETECTED                      3
#define  DRD_UA_UNAVAILABLE                     4
#define  DRD_MAX_TIME_EXPIRED                   5
#define  DRD_ENCINFOTYPES_NOTSUPPORTED          6
#define  DRD_CONTENT_TOO_LONG                   7
#define  DRD_CONVERSION_IMPRACTICAL             8
#define  DRD_CONVERSION_PROHIBITED              9
#define  DRD_IMPLICITCONV_NOTREGISTERED         10
#define  DRD_INVALID_PARAMETERS                 11
#define	DRD_CONTENT_SYNTAX_ERROR	12
#define	DRD_SIZE_CONSTRAINT_VIOLATION	13
#define	DRD_PROTOCOL_VIOLATION	14
#define	DRD_CONTENT_TYPE_NOT_SUPPORTED	15
#define	DRD_TOO_MANY_RECIPIENTS	16
#define	DRD_NO_BILATERAL_AGREEMENT	17
#define	DRD_UNSUPPORTED_CRITICAL_FUNCTION	18
#define	DRD_CONVERSION_WITH_LOSS_PROHIBITED	19
#define	DRD_LINE_TOO_LONG	20
#define	DRD_PAGE_SPLIT	21
#define	DRD_PICTORIAL_SYMBOL_LOSS	22
#define	DRD_PUNCTUATION_SYMBOL_LOSS	23
#define	DRD_ALPHABETIC_CHARACTER_LOSS	24
#define	DRD_MULTIPLE_INFORMATION_LOSS	25
#define	DRD_RECIPIENT_REASSIGNMENT_PROHIBITED	26
#define	DRD_REDIRECTION_LOOP_DETECTED	27
#define	DRD_DL_EXPANSION_PROHIBITED	28
#define	DRD_NO_DL_SUBMIT_PERMISSION	29
#define	DRD_DL_EXPANSION_FAILURE	30
#define	DRD_PHYSICAL_RENDITION_ATTRIBUTES_NOT_SUPPORTED	31
#define	DRD_UNDLIV_PD_ADDRESS_INCORRECT	32
#define	DRD_UNDLIV_PD_OFFICE_INCORRECT_OR_INVALID	33
#define	DRD_UNDLIV_PD_ADDRESS_INCOMPLETE	34
#define	DRD_UNDLIV_RECIPIENT_UNKNOWN	35
#define	DRD_UNDLIV_RECIPIENT_DECEASED	36
#define	DRD_UNDLIV_ORGANIZATION_EXPIRED	37
#define	DRD_UNDLIV_RECIPIENT_REFUSED_TO_ACCEPT	38
#define	DRD_UNDLIV_RECIPIENT_DID_NOT_CLAIM	39
#define	DRD_UNDLIV_RECIPIENT_CHANGED_ADDRESS_PERMANENTLY	40
#define	DRD_UNDLIV_RECIPIENT_CHANGED_ADDRESS_TEMPORARILY	41
#define	DRD_UNDLIV_RECIPIENT_CHANGED_TEMPORARY_ADDRESS	42
#define	DRD_UNDLIV_NEW_ADDRESS_UNKNOWN	43
#define	DRD_UNDLIV_RECIPIENT_DID_NOT_WANT_FORWARDING	44
#define	DRD_UNDLIV_ORIGINATOR_PROHIBITED_FORWARDING	45
#define	DRD_SECURE_MESSAGING_ERROR	46
#define	DRD_UNABLE_TO_DOWNGRADE	47
	} NonDelinfo;


typedef struct	report	{
	char	rep_type;
#define  DR_REP_SUCCESS                         0
#define  DR_REP_FAILURE                         1
	union	{
		Delinfo		rep_dinfo;
		NonDelinfo	rep_ndinfo;
		} rep;
	} Report;



typedef struct	ReportedRecipientInfo {
	struct ReportedRecipientInfo *rr_next;
	int		rr_recip;	/* reference to adr struct */
	Report		rr_report;
	EncodedIT	*rr_converted;
	FullName	*rr_originally_intended_recip;
	char		*rr_supplementary;

	Redirection	*rr_redirect_history;
	char		rr_redirect_history_crit;

	FullName	*rr_physical_fwd_addr;
	char		rr_physical_fwd_addr_crit;

	struct qbuf	*rr_recip_certificate;
	char		rr_recip_certificate_crit;

	struct qbuf	*rr_report_origin_authentication_check;
	char		rr_report_origin_authentication_check_crit;

	UTC		rr_arrival;
	Extension	*rr_per_recip_extensions;
	} Rrinfo;



					/* Originator, MPDU ID, content id  */
					/* Content correlator, EITs */
					/* be stored in associated addr */
					/* structure - no repeat	*/
typedef struct	DeliveryReportMPDU {
	MPDUid		*dr_mpduid;	/* envelope mpdu id */
	Trace		*dr_trace;	/* envelope trace */
	Trace		*dr_subject_intermediate_trace; /* content trace */

	DLHistory 	*dr_dl_history;
	char		dr_dl_history_crit;

	FullName 	*dr_reporting_dl_name; 
	char		dr_reporting_dl_name_crit;

	struct qbuf 	*dr_security_label;
	char		dr_security_label_crit;

	struct qbuf 	*dr_reporting_mta_certificate;
	char		dr_reporting_mta_certificate_crit;

	struct qbuf 	*dr_report_origin_auth_check;
	char		dr_report_origin_auth_check_crit;

	Extension	*dr_per_envelope_extensions;
	Extension	*dr_per_report_extensions;
	Rrinfo		*dr_recip_list;
} DRmpdu;

/* couple of useful defines */
#define DR_FILENO_DEFAULT                       1

extern void	dr_init ();
extern void	dr_free ();
extern void	rrinfo_free ();

#endif