pdp11v/usr/src/cmd/uucp/logent.c
/* @(#)logent.c 1.3 */
#include "uucp.h"
#include <sys/types.h>
#include <sys/stat.h>
#include <time.h>
time_t time();
char Tmplog[MAXFULLNAME] = "";
FILE *Lp = NULL;
FILE *Lf = NULL;
FILE *Sf = NULL;
/*
* Make log entry
* text -> ptr to text string
* status -> ptr to status string
* Returns:
* none
*/
logent(text, status)
register char *text, *status;
{
register struct tm *tp;
extern struct tm *localtime();
time_t clock;
struct stat s1;
int i,j;
int mask;
if (nstat.t_pid == 0)
nstat.t_pid = getpid();
if(Lf == NULL){
mask = umask(0);
if((Lf = fopen(LOGFILE, "a")) == NULL){
umask(mask);
return;
}
umask(mask);
}
time(&clock);
tp = localtime(&clock);
/*
for(i=0,j=0;i<20;i++){
if(fstat(i, &s1) == -1)
continue;
j++;
}
*/
fprintf(Lf, "%s!%s ", Rmtname, User);
fprintf(Lf, "(%d/%d-%d:%2.2d:%2.2d) (%.1c,%d,%d) ", tp->tm_mon + 1,
tp->tm_mday, tp->tm_hour, tp->tm_min, tp->tm_sec, Pchar, nstat.t_pid, seqn);
fprintf(Lf, "%s (%s)\n", status, text);
fflush(Lf);
return;
}
/*
* Make entry for a conversation (uucico only)
* text -> pointer to message string
* Returns:
* none
*/
syslog(text)
register char *text;
{
register struct tm *tp;
extern struct tm *localtime();
time_t clock;
long td,th,tm,ts;
int mask;
if(Sf == NULL){
mask = umask(0);
if((Sf = fopen(SYSLOG, "a")) == NULL){
umask(mask);
return;
}
umask(mask);
}
if(nstat.t_pid == 0)
nstat.t_pid = getpid();
time(&clock);
tp = localtime(&clock);
fprintf(Sf, "%s!%s %s ", Rmtname, User, Role == SLAVE?"S":"M");
fprintf(Sf, "(%d/%d-%d:%2.2d:%2.2d) ", tp->tm_mon + 1,
tp->tm_mday, tp->tm_hour, tp->tm_min, tp->tm_sec);
fprintf(Sf, "(%.1c,%d,%d) ",
Pchar, nstat.t_pid, seqn);
td = clock - nstat.t_qtime;
ts = td%60;
td /= 60;
tm = td%60;
td /= 60;
th = td;
fprintf(Sf, "(%ld:%ld:%ld) ", th, tm, ts);
fprintf(Sf, " %s\n [%ld:%ld:%ld:%ld:%ld:%ld:%ld:%ld] [%s,%ld,%d,%ld,%d]\n",
text,
(nstat.t_exf - nstat.t_beg)/60,
(nstat.t_scall - nstat.t_beg)/60,
(nstat.t_ecall - nstat.t_scall)/60,
(nstat.t_sftp - nstat.t_ecall)/60,
(nstat.t_sxf - nstat.t_sftp)/60,
(nstat.t_exf - nstat.t_sxf)/60,
(nstat.t_txfe.tms_stime + nstat.t_txfe.tms_cstime
- nstat.t_txfs.tms_stime - nstat.t_txfs.tms_cstime) ,
(nstat.t_txfe.tms_utime + nstat.t_txfe.tms_cutime
- nstat.t_txfs.tms_utime - nstat.t_txfs.tms_cutime),
&dc[0], nstat.t_tacu, nstat.t_ndial, nstat.t_tlog, nstat.t_nlogs);
nstat.t_sxf = nstat.t_exf;
nstat.t_txfs = nstat.t_txfe;
fflush(Sf);
return;
}
/*
* Close log files before a fork
*/
closelog()
{
if(Sf){
fflush(Sf);
Sf = NULL;
}
if(Lf){
fflush(Lf);
Lf = NULL;
}
}
logcls()
{
}