static char sccsid
[] = "@(#)systat.c 5.1 (Berkeley) %G%";
#define STATNAME(f, n) sprintf(f, "%s/%s.%.7s", Spool, "STST", n)
* systat(name, type, text) make system status entry
char filename
[MAXFULLNAME
], line
[S_SIZE
];
STATNAME(filename
, name
);
fp
= fopen(filename
, "r");
sscanf(&line
[2], "%d", &count
);
fp
= fopen(filename
, "w");
ASSERT(fp
!= NULL
, "SYSTAT OPEN FAIL", "", 0);
/* chmod(filename, 0666); rm-ed by rti!trt */
fprintf(fp
, "%d %d %ld %ld %s %s\n", type
, count
, prestime
, Retrytime
, text
, name
);
* rmstat(name) remove system status entry
char filename
[MAXFULLNAME
];
STATNAME(filename
, name
);
* callok(name) check system status for call
* return codes 0 - ok | >0 system status
char filename
[MAXFULLNAME
], line
[S_SIZE
];
time_t lasttime
, prestime
;
STATNAME(filename
, name
);
fp
= fopen(filename
, "r");
if (fgets(line
, S_SIZE
, fp
) == NULL
) {
sscanf(line
, "%d%d%ld%ld", &type
, &count
, &lasttime
, &retrytime
);
case SS_INPROGRESS
: /*let LCK take care of it */
if (count
> MAXRECALLS
) {
logent("MAX RECALLS", "NO CALL");
DEBUG(4, "MAX RECALL COUNT %d\n", count
);
if (prestime
- lasttime
< retrytime
) {
logent("RETRY TIME NOT REACHED", "NO CALL");
DEBUG(4, "RETRY TIME (%d) NOT REACHED\n", (long) RETRYTIME
);