|
|
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 u
Length: 2910 (0xb5e)
Types: TextFile
Names: »ut_p12mm.c«
└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0
└─⟦dc59850a2⟧ »EurOpenD22/pp5.0/pp-5.tar.Z«
└─⟦e5a54fb17⟧
└─⟦this⟧ »pp-5.0/Lib/pp/ut_p12mm.c«
/* ut_p1_mm.c: Deals with conversions between p1 structures <-> fields */
# ifndef lint
static char Rcsid[] = "@(#)$Header: /cs/research/pp/hubris/pp-beta/Lib/pp/RCS/ut_p12mm.c,v 5.0 90/09/20 16:13:06 pp Exp Locker: pp $";
# endif
/*
* $Header: /cs/research/pp/hubris/pp-beta/Lib/pp/RCS/ut_p12mm.c,v 5.0 90/09/20 16:13:06 pp Exp Locker: pp $
*
* $Log: ut_p12mm.c,v $
* Revision 5.0 90/09/20 16:13:06 pp
* rcsforce : 5.0 public release
*
*/
#include "util.h"
#include <isode/cmd_srch.h>
#include "q.h"
#include "tb_bpt84.h"
#include "tb_p1.h"
#include "dr.h"
#include "list_bpt.h"
extern CMD_TABLE bptbl_body_parts84 [/* body part types */];
/* --------------------- Field -> Memory -------------------------------- */
void prf2mem (prf, resp, mta, usr) /* PerRecipientFlag -> Mem */
int prf;
int *resp;
int *mta;
int *usr;
{
int i;
PP_DBG (("Lib/pp/prf2mem(%d)", prf));
*resp = *mta = *usr = 0;
for (i = 0; i < 5; i++)
if (prf & (1 << i))
switch (i) {
case 0:
*resp = 1;
break;
case 1:
*mta |= 2;
break;
case 2:
*mta |= 1;
break;
case 3:
*usr |= 2;
break;
case 4:
*usr |= 1;
break;
}
PP_DBG (("Lib/pp/prf2mem returns %d (%d %d %d)",
prf, *resp, *mta, *usr));
}
void enctypes2mem (field, ptr) /* EncodedInformationTypesBitString -> Memory */
int field;
LIST_BPT **ptr;
{
LIST_BPT *new,
*base = NULLIST_BPT;
char *value;
int i;
PP_DBG (("Lib/pp/enctypes2mem (%d)", field));
if (field == 0 || field < 0) {
value = rcmd_srch (BPT_IA5, bptbl_body_parts84);
*ptr = list_bpt_new (value);
return;
}
/* This is a temp measure because of erroneous encoding from bull */
if (field > 1023)
field = 1;
for (i = EI_TOTAL - 1; i >= 0; i--)
if (field & (1 << i)) {
switch (i) {
case 0:
value = rcmd_srch (BPT_ODIF,
bptbl_body_parts84);
break;
case 1:
value = rcmd_srch (BPT_TLX,
bptbl_body_parts84);
break;
case 2:
value = rcmd_srch (BPT_IA5,
bptbl_body_parts84);
break;
case 3:
value = rcmd_srch (BPT_G3FAX,
bptbl_body_parts84);
break;
case 4:
value = rcmd_srch (BPT_TIF0,
bptbl_body_parts84);
break;
case 5:
value = rcmd_srch (BPT_TTX,
bptbl_body_parts84);
break;
case 6:
value = rcmd_srch (BPT_VIDEOTEX,
bptbl_body_parts84);
break;
case 7:
value = rcmd_srch (BPT_VOICE,
bptbl_body_parts84);
break;
case 8:
value = rcmd_srch (BPT_SFD,
bptbl_body_parts84);
break;
case 9:
value = rcmd_srch (BPT_TIF1,
bptbl_body_parts84);
break;
default:
PP_LOG (LLOG_EXCEPTIONS,
("Lib/pp/enctyp2mem (i=%d) err", i));
continue;
} /* -- end of switch -- */
new = list_bpt_new (value);
list_bpt_add (&base, new);
} /* -- end of if -- */
*ptr = base;
return;
}