Commit b5da00ee authored by Per Cederqvist's avatar Per Cederqvist
Browse files

(prot_a_output_ul): New function.

(prot_a_output_person): Use prot_a_output_ul, isc_puts, isc_putc
	and isc_write instead of mux_printf, mux_putc and mux_write.
(prot_a_output_membership_type): Likewise.
(prot_a_output_membership): Likewise.
(prot_a_output_membership_old): Likewise.
(prot_a_output_membership_list_old): Likewise.
(prot_a_output_membership_list): Likewise.
(prot_a_output_conf_list): Likewise.
(prot_a_output_conf_no_list): Likewise.
(prot_a_output_conference): Likewise.
(prot_a_output_conference_old): Likewise.
(prot_a_output_uconference): Likewise.
(prot_a_output_mark_list): Likewise.
(prot_a_output_aux_item_flags): Likewise.
(prot_a_output_aux_item): Likewise.
(prot_a_output_text_stat_old): Likewise.
(prot_a_output_aux_item_list): Likewise.
(prot_a_output_who_info_ident): Likewise.
(prot_a_output_who_info): Likewise.
(prot_a_output_who_info_list): Likewise.
(prot_a_output_who_info_ident_list): Likewise.
(prot_a_output_who_info_list_old): Likewise.
(prot_a_output_session_info): Likewise.
(prot_a_output_session_info_ident): Likewise.
(prot_a_output_info_old): Likewise.
(prot_a_output_string): Likewise.
(prot_a_output_priv_bits): Likewise.
(prot_a_output_personal_flags): Likewise.
(prot_a_output_conf_type): Likewise.
(prot_a_output_extended_conf_type): Likewise.
(prot_a_output_member_list): Likewise.
(prot_a_output_member_list_old): Likewise.
(prot_a_output_member): Likewise.
(prot_a_output_member_old): Likewise.
(prot_a_output_mark): Likewise.
(prot_a_output_misc_info): Likewise.
(prot_a_output_time): Likewise.
(prot_a_output_session_no): Likewise.
(prot_a_output_text_no): Likewise.
(prot_a_output_conf_z_info): Likewise.
(prot_a_output_conf_z_info_list): Likewise.
(prot_a_output_version_info): Likewise.
(prot_a_output_num_list): Likewise.
(prot_a_output_dynamic_session_info): Likewise.
(prot_a_output_dynamic_session_info_list): Likewise.
(prot_a_output_l2g_iterator_as_text_list): Likewise.
(prot_a_output_text_mapping): Likewise.
(prot_a_output_memory_info): Likewise.
parent 199a516b
/*
* $Id: prot-a-output.c,v 0.41 1999/04/05 00:43:32 ceder Exp $
* $Id: prot-a-output.c,v 0.42 1999/04/28 22:11:44 ceder Exp $
* Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996 Lysator Academic Computer Association.
*
* This file is part of the LysKOM server.
......@@ -23,7 +23,7 @@
* Please mail bug reports to bug-lyskom@lysator.liu.se.
*/
/*
* prot-a-output.c - write objects through a mux connection.
* prot-a-output.c - write objects through an ISC connection.
*
* Written by ceder 1990-07-13
*/
......@@ -35,7 +35,7 @@
#endif
static const char *
rcsid = "$Id: prot-a-output.c,v 0.41 1999/04/05 00:43:32 ceder Exp $";
rcsid = "$Id: prot-a-output.c,v 0.42 1999/04/28 22:11:44 ceder Exp $";
#include "rcs.h"
USE(rcsid);
......@@ -54,12 +54,19 @@ USE(rcsid);
#include "com.h"
#include "async.h"
#include "connections.h"
#include "mux.h"
#include "prot-a-output.h"
#include "lyskomd.h"
#include "param.h"
#include "local-to-global.h"
void
prot_a_output_ul(Connection *fp,
unsigned long ul)
{
isc_putc(' ', fp->isc_session);
isc_putul(ul, fp->isc_session);
}
void
prot_a_output_person (Connection *fp,
Person *person)
......@@ -79,44 +86,41 @@ prot_a_output_person (Connection *fp,
prot_a_output_time(fp, person->last_login);
mux_printf (fp, " %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu",
(unsigned long) person -> user_area,
(unsigned long) person -> total_time_present, /* This is not a time,
* but a number of seconds.
*/
(unsigned long) person -> sessions,
(unsigned long) person -> created_lines,
(unsigned long) person -> created_bytes,
(unsigned long) person -> read_texts,
(unsigned long) person -> no_of_text_fetches,
(unsigned long) person -> created_persons,
(unsigned long) person -> created_confs,
(unsigned long) first_created,
(unsigned long) num_created,
(unsigned long) person -> marks.no_of_marks,
(unsigned long) person -> conferences.no_of_confs);
prot_a_output_ul(fp, person->user_area);
prot_a_output_ul(fp, person->total_time_present);
prot_a_output_ul(fp, person->sessions);
prot_a_output_ul(fp, person->created_lines);
prot_a_output_ul(fp, person->created_bytes);
prot_a_output_ul(fp, person->read_texts);
prot_a_output_ul(fp, person->no_of_text_fetches);
prot_a_output_ul(fp, person->created_persons);
prot_a_output_ul(fp, person->created_confs);
prot_a_output_ul(fp, first_created);
prot_a_output_ul(fp, num_created);
prot_a_output_ul(fp, person->marks.no_of_marks);
prot_a_output_ul(fp, person->conferences.no_of_confs);
}
void prot_a_output_membership_type(Connection *fp,
const Membership_type type)
{
mux_putc(' ', fp);
mux_putc(type.invitation + '0', fp);
mux_putc(type.passive + '0', fp);
mux_putc(type.secret + '0', fp);
mux_putc(type.reserved1 + '0', fp);
mux_putc(type.reserved2 + '0', fp);
mux_putc(type.reserved3 + '0', fp);
mux_putc(type.reserved4 + '0', fp);
mux_putc(type.reserved5 + '0', fp);
isc_putc(' ', fp->isc_session);
isc_putc(type.invitation + '0', fp->isc_session);
isc_putc(type.passive + '0', fp->isc_session);
isc_putc(type.secret + '0', fp->isc_session);
isc_putc(type.reserved1 + '0', fp->isc_session);
isc_putc(type.reserved2 + '0', fp->isc_session);
isc_putc(type.reserved3 + '0', fp->isc_session);
isc_putc(type.reserved4 + '0', fp->isc_session);
isc_putc(type.reserved5 + '0', fp->isc_session);
}
void prot_a_output_membership(Connection *fp,
const Membership *mship)
{
mux_printf(fp, " %lu", mship->position);
prot_a_output_ul(fp, mship->position);
prot_a_output_membership_old(fp, mship);
mux_printf(fp, " %lu", (unsigned long)mship->added_by);
prot_a_output_ul(fp, mship->added_by);
prot_a_output_time(fp, mship->added_at);
prot_a_output_membership_type(fp, mship->type);
}
......@@ -129,22 +133,21 @@ prot_a_output_membership_old(Connection *fp,
prot_a_output_time(fp, mship->last_time_read );
mux_printf(fp, " %lu %lu %lu %lu",
(unsigned long)mship->conf_no,
(unsigned long)mship->priority,
(unsigned long)mship->last_text_read,
(unsigned long)mship->no_of_read);
prot_a_output_ul(fp, mship->conf_no);
prot_a_output_ul(fp, mship->priority);
prot_a_output_ul(fp, mship->last_text_read);
prot_a_output_ul(fp, mship->no_of_read);
if ( mship->read_texts != NULL && mship->no_of_read > 0)
{
mux_printf(fp, " {");
isc_puts(" {", fp->isc_session);
for ( i = 0; i < mship->no_of_read; i++)
mux_printf(fp, " %lu", (unsigned long)mship->read_texts[ i ]);
prot_a_output_ul(fp, mship->read_texts[i]);
mux_printf(fp, " }");
isc_puts(" }", fp->isc_session);
}
else
mux_printf(fp, " *");
isc_puts(" *", fp->isc_session);
}
......@@ -154,17 +157,17 @@ prot_a_output_membership_list_old (Connection * fp,
{
int i;
mux_printf(fp, " %lu", (unsigned long)mlist.no_of_confs);
prot_a_output_ul(fp, mlist.no_of_confs);
if ( mlist.confs != NULL && mlist.no_of_confs > 0 )
{
mux_printf(fp, " {");
isc_puts(" {", fp->isc_session);
for ( i = 0; i < mlist.no_of_confs; i++)
prot_a_output_membership_old(fp, mlist.confs + i);
mux_printf(fp, " }");
isc_puts(" }", fp->isc_session);
}
else
mux_printf(fp, " *");
isc_puts(" *", fp->isc_session);
}
void
......@@ -173,17 +176,17 @@ prot_a_output_membership_list (Connection * fp,
{
int i;
mux_printf(fp, " %lu", (unsigned long)mlist.no_of_confs);
prot_a_output_ul(fp, mlist.no_of_confs);
if ( mlist.confs != NULL && mlist.no_of_confs > 0 )
{
mux_printf(fp, " {");
isc_puts(" {", fp->isc_session);
for ( i = 0; i < mlist.no_of_confs; i++)
prot_a_output_membership(fp, mlist.confs + i);
mux_printf(fp, " }");
isc_puts(" }", fp->isc_session);
}
else
mux_printf(fp, " *");
isc_puts(" *", fp->isc_session);
}
void
......@@ -192,26 +195,26 @@ prot_a_output_conf_list(Connection *fp,
{
unsigned long i;
mux_printf(fp, " %lu", (unsigned long)conf_list.no_of_conf_nos);
prot_a_output_ul(fp, conf_list.no_of_conf_nos);
if ( conf_list.conf_nos != NULL && conf_list.no_of_conf_nos > 0 )
{
mux_printf(fp, " {");
isc_puts(" {", fp->isc_session);
for ( i = 0; i < conf_list.no_of_conf_nos; i++ )
mux_printf(fp, " %lu", (unsigned long)conf_list.conf_nos[ i ]);
mux_printf(fp, " }");
prot_a_output_ul(fp, conf_list.conf_nos[i]);
isc_puts(" }", fp->isc_session);
}
else
mux_printf(fp, " *");
isc_puts(" *", fp->isc_session);
if ( conf_list.type_of_conf != NULL && conf_list.no_of_conf_nos > 0 )
{
mux_printf(fp, " {");
isc_puts(" {", fp->isc_session);
for ( i = 0; i < conf_list.no_of_conf_nos; i++ )
prot_a_output_conf_type(fp, conf_list.type_of_conf[ i ]);
mux_printf(fp, " }");
isc_puts(" }", fp->isc_session);
}
else
mux_printf(fp, " *");
isc_puts(" *", fp->isc_session);
}
void
......@@ -220,16 +223,16 @@ prot_a_output_conf_no_list(Connection *fp,
{
int i;
mux_printf(fp, " %lu", (unsigned long)conf_no_list.no_of_confs);
prot_a_output_ul(fp, conf_no_list.no_of_confs);
if ( conf_no_list.conf_nos != NULL && conf_no_list.no_of_confs > 0 )
{
mux_printf(fp, " {");
isc_puts(" {", fp->isc_session);
for ( i = 0; i < conf_no_list.no_of_confs; i++ )
mux_printf(fp, " %lu", (unsigned long)conf_no_list.conf_nos[ i ]);
mux_printf(fp, " }");
prot_a_output_ul(fp, conf_no_list.conf_nos[i]);
isc_puts(" }", fp->isc_session);
}
else
mux_printf(fp, " *");
isc_puts(" *", fp->isc_session);
}
......@@ -248,21 +251,20 @@ prot_a_output_conference (Connection *fp,
prot_a_output_string(fp, conf_c->name);
prot_a_output_extended_conf_type(fp, conf_c->type);
prot_a_output_time(fp, conf_c -> creation_time );
prot_a_output_time(fp, conf_c -> last_written );
mux_printf (fp, " %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu",
(unsigned long) conf_c -> creator,
(unsigned long) conf_c -> presentation,
(unsigned long) conf_c -> supervisor,
(unsigned long) conf_c -> permitted_submitters,
(unsigned long) conf_c -> super_conf,
(unsigned long) conf_c -> msg_of_day,
(unsigned long) conf_c -> nice,
(unsigned long) conf_c -> keep_commented,
(unsigned long) conf_c -> members.no_of_members,
(unsigned long) first_local_no,
(unsigned long) no_of_texts,
(unsigned long) conf_c -> expire);
prot_a_output_time(fp, conf_c->creation_time );
prot_a_output_time(fp, conf_c->last_written );
prot_a_output_ul(fp, conf_c->creator);
prot_a_output_ul(fp, conf_c->presentation);
prot_a_output_ul(fp, conf_c->supervisor);
prot_a_output_ul(fp, conf_c->permitted_submitters);
prot_a_output_ul(fp, conf_c->super_conf);
prot_a_output_ul(fp, conf_c->msg_of_day);
prot_a_output_ul(fp, conf_c->nice);
prot_a_output_ul(fp, conf_c->keep_commented);
prot_a_output_ul(fp, conf_c->members.no_of_members);
prot_a_output_ul(fp, first_local_no);
prot_a_output_ul(fp, no_of_texts);
prot_a_output_ul(fp, conf_c->expire);
prot_a_output_aux_item_list (fp, &conf_c->aux_item_list);
}
......@@ -286,17 +288,16 @@ prot_a_output_conference_old (Connection *fp,
prot_a_output_time(fp, conf_c -> creation_time );
prot_a_output_time(fp, conf_c -> last_written );
mux_printf (fp, " %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu",
(unsigned long) conf_c -> creator,
(unsigned long) conf_c -> presentation,
(unsigned long) conf_c -> supervisor,
(unsigned long) conf_c -> permitted_submitters,
(unsigned long) conf_c -> super_conf,
(unsigned long) conf_c -> msg_of_day,
(unsigned long) conf_c -> nice,
(unsigned long) conf_c -> members.no_of_members,
(unsigned long) first_local_no,
(unsigned long) no_of_texts);
prot_a_output_ul(fp, conf_c->creator);
prot_a_output_ul(fp, conf_c->presentation);
prot_a_output_ul(fp, conf_c->supervisor);
prot_a_output_ul(fp, conf_c->permitted_submitters);
prot_a_output_ul(fp, conf_c->super_conf);
prot_a_output_ul(fp, conf_c->msg_of_day);
prot_a_output_ul(fp, conf_c->nice);
prot_a_output_ul(fp, conf_c->members.no_of_members);
prot_a_output_ul(fp, first_local_no);
prot_a_output_ul(fp, no_of_texts);
}
void prot_a_output_uconference(Connection *fp,
......@@ -304,9 +305,8 @@ void prot_a_output_uconference(Connection *fp,
{
prot_a_output_string(fp, conf_c -> name);
prot_a_output_extended_conf_type(fp, conf_c -> type);
mux_printf(fp, " %lu %lu",
(unsigned long) conf_c -> highest_local_no,
(unsigned long) conf_c -> nice);
prot_a_output_ul(fp, conf_c->highest_local_no);
prot_a_output_ul(fp, conf_c->nice);
}
......@@ -316,17 +316,17 @@ prot_a_output_mark_list(Connection *fp,
{
int i;
mux_printf(fp, " %lu", (unsigned long)mark_list.no_of_marks);
prot_a_output_ul(fp, mark_list.no_of_marks);
if ( mark_list.marks != NULL && mark_list.no_of_marks > 0 )
{
mux_printf(fp, " {");
isc_puts(" {", fp->isc_session);
for ( i = 0; i < mark_list.no_of_marks; i++ )
prot_a_output_mark(fp, mark_list.marks[ i ]);
mux_printf(fp, " }");
isc_puts(" }", fp->isc_session);
}
else
mux_printf(fp, " *");
isc_puts(" *", fp->isc_session);
}
......@@ -334,28 +334,27 @@ void
prot_a_output_aux_item_flags(Connection *fp,
Aux_item_flags flags)
{
mux_putc(' ', fp);
mux_putc(flags.deleted + '0', fp);
mux_putc(flags.inherit + '0', fp);
mux_putc(flags.secret + '0', fp);
mux_putc(flags.hide_creator + '0', fp);
mux_putc(flags.dont_garb + '0', fp);
mux_putc(flags.reserved3 + '0', fp);
mux_putc(flags.reserved4 + '0', fp);
mux_putc(flags.reserved5 + '0', fp);
isc_putc(' ', fp->isc_session);
isc_putc(flags.deleted + '0', fp->isc_session);
isc_putc(flags.inherit + '0', fp->isc_session);
isc_putc(flags.secret + '0', fp->isc_session);
isc_putc(flags.hide_creator + '0', fp->isc_session);
isc_putc(flags.dont_garb + '0', fp->isc_session);
isc_putc(flags.reserved3 + '0', fp->isc_session);
isc_putc(flags.reserved4 + '0', fp->isc_session);
isc_putc(flags.reserved5 + '0', fp->isc_session);
}
void
prot_a_output_aux_item(Connection *fp,
Aux_item *item)
{
mux_printf(fp, " %lu %lu %lu",
item->aux_no,
item->tag,
(unsigned long)item->creator);
prot_a_output_ul(fp, item->aux_no);
prot_a_output_ul(fp, item->tag);
prot_a_output_ul(fp, item->creator);
prot_a_output_time(fp, item->sent_at);
prot_a_output_aux_item_flags(fp, item->flags);
mux_printf(fp, " %lu", item->inherit_limit);
prot_a_output_ul(fp, item->inherit_limit);
prot_a_output_string(fp, item->data);
}
......@@ -367,22 +366,21 @@ prot_a_output_text_stat_old(Connection *fp,
prot_a_output_time(fp, t_stat->creation_time);
mux_printf(fp, " %lu %lu %lu %lu %lu",
(unsigned long)t_stat->author,
(unsigned long)t_stat->no_of_lines,
(unsigned long)t_stat->no_of_chars,
(unsigned long)t_stat->no_of_marks,
(unsigned long)t_stat->no_of_misc);
prot_a_output_ul(fp, t_stat->author);
prot_a_output_ul(fp, t_stat->no_of_lines);
prot_a_output_ul(fp, t_stat->no_of_chars);
prot_a_output_ul(fp, t_stat->no_of_marks);
prot_a_output_ul(fp, t_stat->no_of_misc);
if ( t_stat->misc_items != NULL && t_stat->no_of_misc > 0 )
{
mux_printf(fp, " {");
isc_puts(" {", fp->isc_session);
for ( i = 0; i < t_stat->no_of_misc; i++ )
prot_a_output_misc_info(fp, t_stat->misc_items[ i ]);
mux_printf(fp, " }");
isc_puts(" }", fp->isc_session);
}
else
mux_printf(fp, " *");
isc_puts(" *", fp->isc_session);
}
void
......@@ -391,18 +389,17 @@ prot_a_output_aux_item_list(Connection *fp,
{
int i;
mux_printf(fp, " %lu",
(unsigned long)aux->length);
prot_a_output_ul(fp, aux->length);
if ( aux->items != NULL && aux->length > 0 )
{
mux_printf(fp, " {");
isc_puts(" {", fp->isc_session);
for (i = 0; i < aux->length; i++)
prot_a_output_aux_item(fp, &aux->items[i]);
mux_printf(fp, " }");
isc_puts(" }", fp->isc_session);
}
else
mux_printf(fp, " *");
isc_puts(" *", fp->isc_session);
}
void
......@@ -418,10 +415,9 @@ static void
prot_a_output_who_info_ident(Connection *fp,
Who_info_ident *info)
{
mux_printf(fp, " %lu %lu %lu",
(unsigned long)info->person,
(unsigned long)info->working_conference,
(unsigned long)info->session_no);
prot_a_output_ul(fp, info->person);
prot_a_output_ul(fp, info->working_conference);
prot_a_output_ul(fp, info->session_no);
prot_a_output_string(fp, info->what_am_i_doing);
prot_a_output_string(fp, info->username);
......@@ -434,10 +430,9 @@ void
prot_a_output_who_info(Connection *fp,
Who_info *info)
{
mux_printf(fp, " %lu %lu %lu",
(unsigned long)info->person,
(unsigned long)info->working_conference,
(unsigned long)info->session_no);
prot_a_output_ul(fp, info->person);
prot_a_output_ul(fp, info->working_conference);
prot_a_output_ul(fp, info->session_no);
prot_a_output_string(fp, info->what_am_i_doing);
prot_a_output_string(fp, info->username);
......@@ -450,11 +445,11 @@ prot_a_output_who_info_list(Connection *fp,
{
int i;
mux_printf(fp, " %lu", (unsigned long)info.no_of_persons);
prot_a_output_ul(fp, info.no_of_persons);
if ( info.info != NULL && info.no_of_persons > 0 )
{
mux_printf(fp, " {");
isc_puts(" {", fp->isc_session);
for ( i = 0; i < info.no_of_persons; i++ )
{
prot_a_output_who_info(fp, &info.info[ i ]);
......@@ -462,10 +457,10 @@ prot_a_output_who_info_list(Connection *fp,
session.c. */
s_clear(&info.info[i].username);
}
mux_printf(fp, " }");
isc_puts(" }", fp->isc_session);
}
else
mux_printf(fp, " *");
isc_puts(" *", fp->isc_session);
}
void
......@@ -474,19 +469,19 @@ prot_a_output_who_info_ident_list(Connection *fp,
{
int i;
mux_printf(fp, " %lu", (unsigned long)info.no_of_persons);
prot_a_output_ul(fp, info.no_of_persons);
if ( info.info != NULL && info.no_of_persons > 0 )
{
mux_printf(fp, " {");
isc_puts(" {", fp->isc_session);
for ( i = 0; i < info.no_of_persons; i++ )
{
prot_a_output_who_info_ident(fp, &info.info[ i ]);
}
mux_printf(fp, " }");
isc_puts(" }", fp->isc_session);
}
else
mux_printf(fp, " *");
isc_puts(" *", fp->isc_session);
}
void
......@@ -495,38 +490,36 @@ prot_a_output_who_info_list_old(Connection *fp,
{
int i;
mux_printf(fp, " %lu", (unsigned long)info.no_of_persons);
prot_a_output_ul(fp, info.no_of_persons);
if ( info.info != NULL && info.no_of_persons > 0 )
{
mux_printf(fp, " {");
isc_puts(" {", fp->isc_session);
for ( i = 0; i < info.no_of_persons; i++ )
{
mux_printf(fp, " %lu %lu",
(unsigned long)info.info[ i ].person,
(unsigned long)info.info[ i ].working_conference);
prot_a_output_ul(fp, info.info[i].person);
prot_a_output_ul(fp, info.info[i].working_conference);
prot_a_output_string(fp, info.info[ i ].what_am_i_doing);
}
mux_printf(fp, " }");
isc_puts(" }", fp->isc_session);
}
else
mux_printf(fp, " *");
isc_puts(" *", fp->isc_session);
}
void
prot_a_output_session_info(Connection *fp,
Session_info *info)
{
mux_printf(fp, " %lu %lu %lu",
(unsigned long)info->person,
(unsigned long)info->working_conference,
(unsigned long)info->session);
prot_a_output_ul(fp, info->person);
prot_a_output_ul(fp, info->working_conference);
prot_a_output_ul(fp, info->session);
prot_a_output_string(fp, info->what_am_i_doing);
prot_a_output_string(fp, info->username);
mux_printf(fp, " %lu", (unsigned long)info->idle_time);
prot_a_output_ul(fp, info->idle_time);
prot_a_output_time(fp, info->connection_time);
}
......@@ -534,17 +527,16 @@ void
prot_a_output_session_info_ident(Connection *fp,
Session_info_ident *info)
{
mux_printf(fp, " %lu %lu %lu",
(unsigned long)info->person,
(unsigned long)info->working_conference,
(unsigned long)info->session);
prot_a_output_ul(fp, info->person);
prot_a_output_ul(fp, info->working_conference);
prot_a_output_ul(fp, info->session);
prot_a_output_string(fp, info->what_am_i_doing);
prot_a_output_string(fp, info->username);
prot_a_output_string(fp, info->hostname);
prot_a_output_string(fp, info->ident_user);
mux_printf(fp, " %lu", (unsigned long)info->idle_time);
prot_a_output_ul(fp, info->idle_time);
prot_a_output_time(fp, info->connection_time);
}
......@@ -560,13 +552,12 @@ void
prot_a_output_info_old(Connection *fp,
Info *info)
{
mux_printf(fp, " %lu %lu %lu %lu %lu %lu",
(unsigned long)info->version,
(unsigned long)info->conf_pres_conf,
(unsigned long)info->pers_pres_conf,
(unsigned long)info->motd_conf,
(unsigned long)info->kom_news_conf,
(unsigned long)info->motd_of_lyskom);
prot_a_output_ul(fp, info->version);
prot_a_output_ul(fp, info->conf_pres_conf);
prot_a_output_ul(fp,