0N/AThe advanced software technology department has been collecting useful C
0N/Aroutines in a single library called libast. libast is used by nmake, the
0N/Anmake cpp (which is mainly based on another library (libpp)), CIA
0N/A(C information abstractor from Robin Chen), and a collection of other
0N/A/bin and
/usr/bin commands that benefit from concentrating functionality
0N/AMore detail is available in the man pages. libast contains:
0N/A (1) routines to support a generic environment for
0N/A a variety of UNIX operating system variants
0N/A (2) routines that update standard libc routines
0N/A (3) routines shared between several commands
0N/AIf you already have nmake 2.0 or newer installed then use
0N/A`nmake install' from this directory, otherwise use
0N/ASome of the routines not found in section 3:
0N/Ahash: generic, scoped hash table support
733N/A hashalloc create a hash table or push new scope
0N/A hashdump debug dump of one or all hash tables
0N/A hashfree free a hashalloc()'d table
0N/A hashlook low level name lookup
0N/A hashscan entry generator for scoped table scan
0N/A hashsize explicitly change table size (usually automatic)
0N/A hashwalk apply function to each table entry
1957N/A memhash return hash code for n-char chunk of memory
0N/A strhash return hash code for null terminated string
0N/A tar.h POSIX ustar format interface definitions
0N/A cmdargs apply a sequence of cmd line option parsers
0N/A cmdopen like popen() but stdin and stdout are specified
0N/A cvtatoe convert ASCII to EBCDIC
0N/A cvtetoa convert EBCDIC to ASCII
0N/A error output generic error and trace messages
1897N/A ftwalk an ftw(3) that works -- used in new tw(1)
0N/A getshell return full path of shell for cmdopen()
0N/A ooptget optget() for obsolete ar(1) and tar(1) options
0N/A optget YA getopt(3) but no argc or error message output
1612N/A pathaccess find file with specific acces on list of dirs
1612N/A pathcanon canonicalize path name in place
1612N/A pathcmd return full path name of executable using $PATH
0N/A pathroot determine `related root' directory for command
0N/A perror uses strerror()
1612N/A readargs append each line of file to argv[0]
1400N/Are: egrep(1) and ed(1) style re's from V9
0N/A (not the good awk(1) algorithm)
0N/A recomp compile re pattern
0N/A reerror report re*() errors
0N/A reexec match string using compiled re
0N/A resub ed(1) style substitute using last reexec()
0N/A chresc return next char in string converting \ sequences
1612N/A ctoi convert char constant string to int
1612N/A strcopy like strcpy(3) but returns end of destination
0N/A strdup malloc(3) and strcpy(3) smashed together
1612N/A strerror return error message string given errno
1612N/A stresc convert \ sequences in string in place
0N/A streval evaluate C expression in string
0N/A strls ls -l format support
1612N/A strmatch Korn shell file pattern match
0N/A strsignal return signal id string given SIG* number
0N/A strtape convert generic tape unit to /dev/* file
0N/A token generate space separated tokens in string
1612N/A tmdate convert date string to time_t
1612N/A tmform format time_t to date string
1612N/A tmmake return current time_t
0N/A tmtime convert struct tm to time_t