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