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