|
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: 3195 (0xc7b) Types: TextFile Names: »domsinfo2rfc.c«
└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0 └─⟦dc59850a2⟧ »EurOpenD22/pp5.0/pp-5.tar.Z« └─⟦e5a54fb17⟧ └─⟦this⟧ »pp-5.0/Lib/format/domsinfo2rfc.c«
/* domsinfo2rfc.c - Converts a DomSupInfo struct into a RFC string */ # ifndef lint static char Rcsid[] = "@(#)$Header: /cs/research/pp/hubris/pp-beta/Lib/format/RCS/domsinfo2rfc.c,v 5.0 90/09/20 16:04:48 pp Exp Locker: pp $"; # endif /* * $Header: /cs/research/pp/hubris/pp-beta/Lib/format/RCS/domsinfo2rfc.c,v 5.0 90/09/20 16:04:48 pp Exp Locker: pp $ * * $Log: domsinfo2rfc.c,v $ * Revision 5.0 90/09/20 16:04:48 pp * rcsforce : 5.0 public release * */ #include "util.h" #include <isode/cmd_srch.h> #include "mta.h" #include "tb_p1.h" extern CMD_TABLE p1tbl_domsinfo[]; extern void encinfo2rfc (); extern void globalid2rfc (); extern UTC utclocalise (); static void action2rfc (); /* -------------------- Begin Routines ---------------------------------- */ void domsinfo2rfc (dominfo, buffer) /* DomainSuppliedInfo -> RFC */ DomSupInfo *dominfo; char *buffer; { char tbuf [LINESIZE], obuf [LOTS*3]; UTC lut; bzero (&obuf[0], sizeof obuf); /* -- arrival -- */ if (dominfo -> dsi_time != 0 && (lut = utclocalise(dominfo -> dsi_time)) != NULLUTC && UTC2rfc (lut, tbuf) == OK) { (void) strcat (obuf, rcmd_srch (DSI_TIME, p1tbl_domsinfo)); (void) strcat (obuf, " "); (void) strcat (obuf, tbuf); free ((char *) lut); } else return; /* -- deferred -- */ if (dominfo -> dsi_deferred != 0 && (lut = utclocalise(dominfo -> dsi_deferred)) != NULLUTC && UTC2rfc (lut, tbuf) == OK) { (void) strcat (obuf, " "); (void) strcat (obuf, rcmd_srch (DSI_DEFERRED, p1tbl_domsinfo)); (void) strcat (obuf, " "); (void) strcat (obuf, tbuf); free ((char *) lut); } /* -- action -- */ action2rfc (dominfo -> dsi_action, tbuf); (void) strcat (obuf, " "); (void) strcat (obuf, rcmd_srch (DSI_ACTION, p1tbl_domsinfo)); (void) strcat (obuf, " "); (void) strcat (obuf, tbuf); /* -- converted -- */ if (dominfo -> dsi_converted.eit_types) { encinfo2rfc (&dominfo -> dsi_converted, tbuf); (void) strcat (obuf, " "); (void) strcat (obuf, rcmd_srch (DSI_CONVERTED, p1tbl_domsinfo)); (void) strcat (obuf, " ("); (void) strcat (obuf, tbuf); (void) strcat (obuf, ")"); } /* -- attempted/previous -- */ if (dominfo -> dsi_attempted_md.global_Country != NULLCP || dominfo -> dsi_attempted_md.global_Admin != NULLCP || dominfo -> dsi_attempted_md.global_Private != NULLCP) { globalid2rfc (&dominfo -> dsi_attempted_md, tbuf); (void) strcat (obuf, " "); (void) strcat (obuf, rcmd_srch (DSI_ATTEMPTED, p1tbl_domsinfo)); (void) strcat (obuf, " "); (void) strcat (obuf, tbuf); } (void) strcpy (buffer, obuf); PP_DBG (("Lib/domsinfo2rfc returns (%s)", buffer)); return; } /* --------------------- Static Routines ------------------------------- */ static void action2rfc (action, buffer) /* DomainSuppliedInfo(action) -> RFC */ int action; char *buffer; { PP_DBG (("Lib/action2rfc(%d)", action)); switch (action) { case ACTION_RELAYED: (void) strcpy (buffer, "Relayed"); break; case ACTION_ROUTED: (void) strcpy (buffer, "Routed"); break; default: (void) strcpy (buffer, "\0"); } return; }