NEWSAUX(8CN)                                                      NEWSAUX(8CN)

       spacefor - check available space for news
       queuelen - get length of outbound-news uucp queues
       sizeof - get size of file(s) for news
       ctime, getabsdate - convert dates to and from internal representation
       for news
       newshostname - get host name for news
       gngp - search text using a newsgroup pattern
       canonhdr - extract header and canonicalize
       newslock - do locking for news

       /usr/local/news/cnewsbin/spacefor filesize location [ site ]
       /usr/local/news/cnewsbin/queuelen site
       /usr/local/news/cnewsbin/sizeof [ -i ] file ...
       /usr/local/news/cnewsbin/ctime [ -i ] [ -u ] decimaldate
       /usr/local/news/cnewsbin/getabsdate absolute-printable-date
       /usr/local/news/cnewsbin/gngp [ -arv ] ngpattern file ...
       /usr/local/news/cnewsbin/canonhdr [ -dm ] [ file ] ...
       /usr/local/news/cnewsbin/newslock locktemp lockname

       These programs are minor utilities used by various parts of C News.

       Spacefor determines how many files of size filesize can fit in location
       (incoming, articles, control, archive, or outbound to site) without
       cramping things unduly.  The precise locations of these places, and how
       low space gets before it is unduly cramped, are site-specific.
       Spacefor invokes df(1) or the equivalent system call to determine the
       available space.

       Queuelen reports how many news batches uucp has queued up for site.

       Sizeof reports the total number of bytes in the file(s).  (This may
       seem redundant with ls -l, but the format of ls -l varies between
       systems and sizeof looks after all that.)  Nonexistent files are
       silently ignored.  If the -i option is given, sizeof prints one line
       per (existing) file, with name and size, and does not print the total.

       Ctime and getabsdate convert dates in human-readable form to
       (getabsdate) and from (ctime) decimal ASCII representations of Unix's
       internal integer dates.  Their functionality resembles that of their
       namesakes in the C library.  Getabsdate parses only absolute dates, not
       relative dates.  Under -u, ctime will print GMT instead of local time.
       Under -i, ctime will print the time in GMT in Internet format.

       Newshostname reports the name of this system for news purposes.  This
       may differ from the name of the particular CPU it is run on; a cluster
       of CPUs sharing a filesystem tree would all have the same newshostname
       name.  Typically newshostname gets the name from
       /usr/local/news/lib/whoami; failing that, it consults various other
       possible sources (e.g. the hostname command).

       Gngp resembles grep except that its search is based on newsgroup
       patterns (e.g. `comp', which matches `comp', `comp.lang',
       `comp.lang.c', ...; `comp,!comp.lang.c' which matches `comp' and
       `comp.lang' but not `comp.lang.c'; etc.).  Gngp prints only the line(s)
       that contain a substring that matches the ngpattern.  Normally the
       substring must run from a point in the line to its end.  If the -a flag
       is given, the eligible substrings start at the beginning of the line
       and end at white space or the end of the line.  The -v option prints
       only lines that do not match.  The -r flag reverses the inputs, with
       patterns coming from the file and the argument taken as the line(s).

       Canonhdr takes the concatenation of its input file(s) (standard input
       if none) as an article, and outputs the header from the article with
       header keywords canonicalized for easier processing.  Canonicalization
       forces all alphabetics to lower case except the first letter of each
       (hyphen-separated) word in the keyword, which is forced to upper case.
       (One exception: ``Message-ID'' is the canonical form of [e.g.]
       ``message-id''.)  Under -d, canonhdr will also canonicalise dates in
       Date: and Expires: headers, adding a Date: header if none is present.
       Under -m, it will accept RFC 822 headers and rewrite them as RFC 1036

       Newslock makes a link named lockname to the file locktemp, and returns
       exit status 0 for success, 1 if the link could not be made (typically
       because lockname already existed).  This is used for shell-file locking
       in C News.  It is a subset of ln(1) except that (a) no error messages
       are ever produced and (b) the link is guaranteed to fail if lockname
       already exists.  (Some brain-damaged versions of ln helpfully remove
       lockname in that case, making them useless for locking.)

       /usr/spool/uucp/*       uucp queues
       /usr/local/news/lib/whoaminews host name
       /usr/local/news/lib/L.* lock temporaries
       /usr/local/news/lib/LOCK*lock files

       df(1), uucp(1), ls(1), ctime(3), grep(1), newsdb(5), expire(8CN),
       newsbatch(8CN), rnews(8CN), newsmaint(8CN)
       Internet RFCs 822, 1036 and 1123

       Written at U of Toronto by Henry Spencer and Geoff Collyer.

       Spacefor and queuelen are unfortunately somewhat system-specific, since
       df output and uucp file layout vary between different versions.  (Using
       system calls in spacefor doesn't help, as the system calls differ too.)

       Queuelen probably ought to count bytes rather than batches, but that
       would make its system-dependency even worse.

       The need for sizeof and newslock is a botch.

       Ctime probably shouldn't assume GMT under -i, but dealing with local
       time zones gets into a swamp of portability problems.

                                  25 Aug 1994                     NEWSAUX(8CN)