Xref: utzoo comp.sources.wanted:13546 alt.sources:2419 Path: utzoo!attcan!uunet!bu.edu!shelby!apple!portal!cup.portal.com!thad From: thad@cup.portal.com (Thad P Floryan) Newsgroups: comp.sources.wanted,alt.sources Subject: Re: System V uptime Message-ID: <34684@cup.portal.com> Date: 9 Oct 90 11:53:39 GMT References: <195@netsys.NETSYS.COM> Organization: The Portal System (TM) Lines: 142 len@netsys.NETSYS.COM (Len Rose) in <195@netsys.NETSYS.COM> writes: Hi.. I used to have this source, but now it's temporarily unavailable.. (It went with the rest of my software and equipment) If someone can lend a hand and send me a copy, I'd appreciate it. Or, perhaps a pointer to an ftp site. Thanks. Dunno what version about which he's referring, but here's one I use. Thad Floryan [ thad@cup.portal.com (OR) ..!sun!portal!cup.portal.com!thad ] ---- Cut Here and unpack ---- #!/bin/sh # This is a shell archive (shar 3.32) # made 10/09/1990 11:49 UTC by thad@thadlabs # Source directory /u/thad/tmp # # existing files WILL be overwritten # # This shar contains: # length mode name # ------ ---------- ------------------------------------------ # 217 -rw-r--r-- README # 612 -rw-r--r-- Makefile # 814 -rw-r--r-- uptime.c # if touch 2>&1 | fgrep 'amc' > /dev/null then TOUCH=touch else TOUCH=true fi # ============= README ============== echo "x - extracting README (Text)" sed 's/^X//' << 'SHAR_EOF' > README && XThis is the ``uptime'' used on all my systems (3B1, CTIX, Motorola, SVR3, etc) . XAn assumption is made about the clock ticks being at a 60 Hz rate; if there's Xdoubt on your system, use HZ from /usr/include/sys/param.h SHAR_EOF $TOUCH -am 1009044790 README && chmod 0644 README || echo "restore of README failed" set `wc -c README`;Wc_c=$1 if test "$Wc_c" != "217"; then echo original size 217, current size $Wc_c fi # ============= Makefile ============== echo "x - extracting Makefile (Text)" sed 's/^X//' << 'SHAR_EOF' > Makefile && X# Makefile for uptime, tested on a 3B1 and on a SVR3 system X# XCC = gcc X#CC = cc XCFLAGS = -O XLDFLAGS = -s X# X# the following for a 3B1 and shared library X# X#LIBS = /lib/crt0s.o /lib/shlib.ifile X# X# the following for SVR3 and shared library X# XLIBS = -lc_s X# XNAME = uptime XOBJS = uptime.o XSRCS = uptime.c XDEST = /usr/local/bin XFMODE = 555 XOWNER = bin XGROUP = bin X X$(NAME) : $(OBJS) X $(CC) $(CFLAGS) $(LDFLAGS) -o $(NAME) $(OBJS) $(LIBS) X Xclean : X rm -f $(OBJS) core *~ X Xinstall : $(NAME) X mv $(NAME) $(DEST)/ X chown $(OWNER) $(DEST)/$(NAME) X chgrp $(GROUP) $(DEST)/$(NAME) X chmod $(FMODE) $(DEST)/$(NAME) SHAR_EOF $TOUCH -am 1009044790 Makefile && chmod 0644 Makefile || echo "restore of Makefile failed" set `wc -c Makefile`;Wc_c=$1 if test "$Wc_c" != "612"; then echo original size 612, current size $Wc_c fi # ============= uptime.c ============== echo "x - extracting uptime.c (Text)" sed 's/^X//' << 'SHAR_EOF' > uptime.c && X/* uptime.c X * X * displays system uptime and boot-time X * X * 3-August-1990, Thad Floryan, original release X * 23-August-1990, Thad Floryan, "fixed" the output format to be conducive X * for use with shell scripts X */ X X#include X#include X Xmain() X{ X extern long time(), times(); X extern char *ctime(); X X long boottime, uptime; X long days, hours, minutes, secs; X struct tms timebuf; X X uptime = times(&timebuf)/60L; X boottime = time((long *) 0) - uptime; X days = uptime / (24L*60L*60L); X secs = uptime % (24L*60L*60L); X hours = ( secs / (60L*60L) ); X minutes = ((secs % (60L*60L)) / 60L); X secs = ((secs % (60L*60L)) % 60L); X X printf("up %ld day%s %ld:%02ld:%02ld booted %s", X days, X ((days == 1L) ? "" : "s"), X hours, X minutes, X secs, X ctime(&boottime)); X} SHAR_EOF $TOUCH -am 1009044790 uptime.c && chmod 0644 uptime.c || echo "restore of uptime.c failed" set `wc -c uptime.c`;Wc_c=$1 if test "$Wc_c" != "814"; then echo original size 814, current size $Wc_c fi exit 0