|
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 x
Length: 2869 (0xb35) Types: TextFile Names: »x400trace2rfc.c«
└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0 └─⟦dc59850a2⟧ »EurOpenD22/pp5.0/pp-5.tar.Z« └─⟦e5a54fb17⟧ └─⟦this⟧ »pp-5.0/Lib/format/x400trace2rfc.c«
/* x400trace2rfc: converts an x400 Trace struct into an RFC string as by RFC 1138 */ # ifndef lint static char Rcsid[] = "@(#)$Header: /cs/research/pp/hubris/pp-beta/Lib/format/RCS/x400trace2rfc.c,v 5.0 90/09/20 16:06:14 pp Exp Locker: pp $"; # endif /* * $Header: /cs/research/pp/hubris/pp-beta/Lib/format/RCS/x400trace2rfc.c,v 5.0 90/09/20 16:06:14 pp Exp Locker: pp $ * * $Log: x400trace2rfc.c,v $ * Revision 5.0 90/09/20 16:06:14 pp * rcsforce : 5.0 public release * */ #include "util.h" #include "mta.h" extern void globalid2rfc(); extern UTC utclocalise(); int x400trace2rfc (trace, buffer) Trace *trace; char *buffer; { char tbuf[LINESIZE]; UTC lut; if (trace == (Trace *) NULL) return DONE; (void) sprintf(buffer, "by"); if (trace->trace_mta != NULL) (void) sprintf(buffer, "%s mta %s in", buffer, trace->trace_mta); globalid2rfc(&trace -> trace_DomId, tbuf); (void) sprintf(buffer, "%s %s;", buffer,tbuf); if (trace->trace_DomSinfo.dsi_deferred != 0 && (lut = utclocalise(trace->trace_DomSinfo.dsi_deferred)) != NULLUTC && UTC2rfc (lut, tbuf) == OK) { (void) sprintf (buffer, "%s deferred until %s;", buffer, tbuf); free ((char *) lut); } if (trace->trace_DomSinfo.dsi_converted.eit_types != NULL) { LIST_BPT *ix = trace->trace_DomSinfo.dsi_converted.eit_types; int first = TRUE; (void) sprintf(buffer, "%s converted (", buffer); while (ix != NULL) { if (first == TRUE) { first = FALSE; (void) sprintf(buffer, "%s%s", buffer, ix->li_name); } else (void) sprintf(buffer, "%s, %s", buffer, ix->li_name); ix = ix->li_next; } (void) sprintf(buffer, "%s);", buffer); } if (trace->trace_DomSinfo.dsi_attempted_md.global_Country != NULLCP) { (void) sprintf(buffer, "%s attempted", buffer); if (trace->trace_DomSinfo.dsi_attempted_mta != NULLCP) (void) sprintf(buffer, "%s mta %s in", buffer, trace->trace_DomSinfo.dsi_attempted_mta); globalid2rfc(&(trace->trace_DomSinfo.dsi_attempted_md), tbuf); (void) sprintf(buffer, "%s %s;", buffer, tbuf); } if (trace->trace_DomSinfo.dsi_action == ACTION_RELAYED) (void) sprintf(buffer, "%s Relayed", buffer); else if (trace->trace_DomSinfo.dsi_action == ACTION_ROUTED) (void) sprintf(buffer, "%s Rerouted", buffer); if (trace->trace_DomSinfo.dsi_other_actions & ACTION_REDIRECTED) (void) sprintf(buffer, "%s Redirected", buffer); if (trace->trace_DomSinfo.dsi_other_actions & ACTION_EXPANDED) (void) sprintf(buffer, "%s Expanded", buffer); lut = utclocalise(trace->trace_DomSinfo.dsi_time); if (UTC2rfc(lut, tbuf) == OK) (void) sprintf(buffer, "%s; %s", buffer, tbuf); if (lut) free((char *) lut); PP_DBG (("Lib/x400trace2rfc returns (%s)", buffer)); return OK; }