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 p

⟦b1c4976cd⟧ TextFile

    Length: 2253 (0x8cd)
    Types: TextFile
    Names: »prm2txt.c«

Derivation

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

TextFile

/* tx_prm.c: handles the MessageManagementParameter structures,
	     see manaul page QUEUE (5).
*/

# ifndef lint
static char Rcsid[] = "@(#)$Header: /cs/research/pp/hubris/pp-beta/Lib/pp/RCS/prm2txt.c,v 5.0 90/09/20 16:11:22 pp Exp Locker: pp $";
# endif

/*
 * $Header: /cs/research/pp/hubris/pp-beta/Lib/pp/RCS/prm2txt.c,v 5.0 90/09/20 16:11:22 pp Exp Locker: pp $
 *
 * $Log:	prm2txt.c,v $
 * Revision 5.0  90/09/20  16:11:22  pp
 * rcsforce : 5.0 public release
 * 
 */



#include        "util.h"
#include        <isode/cmd_srch.h>
#include        "prm.h"
#include        "tb_prm.h"

extern	void	genreset ();
extern	void	argv2fp ();

extern CMD_TABLE
		prmtbl_ln [/* message-management-parameters */],
		prmtbl_opts [/* options */];


/* -------------------  Memory -> Text File  ------------------------------ */

static void PRM_opts2txt ();

int prm2txt (fp, pp)  /* MessageManagementParameters -> Txt */
FILE                    *fp;
struct prm_vars         *pp;
{
	extern char     *int2txt ();
	char    *argv[100];
	int     argc;

	genreset ();
	PP_DBG (("Lib/pp/prm2txt()"));

	if (pp->prm_logfile != NULLCP) {
		argv[0] = rcmd_srch (PRM_LOGFILE, prmtbl_ln);
		argv[1] = pp -> prm_logfile;
		argv[2] = NULLCP;
		(void) argv2fp (fp, argv);
	}

	if (pp->prm_loglevel != NULL) {
		argv[0] = rcmd_srch (PRM_LOGLEVEL, prmtbl_ln);
		argv[1] = int2txt (pp->prm_loglevel);
		argv[2] = NULLCP;
		(void) argv2fp (fp, argv);
	}

	if (pp->prm_opts != NULL) {
		argv[0] = rcmd_srch (PRM_OPTS, prmtbl_ln);
		argc = 1;
		PRM_opts2txt (pp->prm_opts, argv, &argc);
		argv[argc] = NULLCP;
		(void) argv2fp (fp, argv);
	}
	if (pp -> prm_passwd != NULL) {
		argv[0] = rcmd_srch (PRM_PASSWD, prmtbl_ln);
		argv[1] = pp -> prm_passwd;
		argv[2] = NULLCP;
		(void) argv2fp (fp, argv);
	}
		
	(void) fprintf (fp, "%s\n", rcmd_srch (PRM_END, prmtbl_ln));

	(void) fflush (fp);
	return (ferror (fp) ? NOTOK : OK);
}


static void PRM_opts2txt (options, argv, argcp)  /* Param options -> Txt */
int     options;
char    *argv[];
int     *argcp;
{
	int     i, narg= *argcp;

	PP_DBG (("Lib/pp/PRM_opts2txt(%d)", options));

	for (i=0; i < PRM_OPTS_TOTAL; i++)
		if (options & (1<<i))
			argv[narg++] = rcmd_srch (1<<i, prmtbl_opts);

	argv[narg] = 0;
	*argcp = narg;
}