|
|
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 d
Length: 4998 (0x1386)
Types: TextFile
Names: »dr.h«
└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0
└─⟦dc59850a2⟧ »EurOpenD22/pp5.0/pp-5.tar.Z«
└─⟦e5a54fb17⟧
└─⟦this⟧ »pp-5.0/h/dr.h«
/* 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