|
The following descriptions are extracted from the x-qef database. |
|
adjmat produce adjacency matrix arccentre compute the centre of an arc artimes set last modification times for files of an archive arupdate update an archive library ascii print a table of the ASCII character set bfsic build file system integrity check and db maintenance bp deliver source code boiler plate c% cush link that translates _%_ in command cancreat check if file can be created cc_g gcc interface that eliminates gratuitous warnings cc_z cc interface that eliminates gratuitous messages cerrs parse input extracting cc errors and warnings chkfile check all files exist killing argument pid on failure chstat change the status of files named in list or arguments cleanilog clean up an instal.log file clrstr output terminal clear string in readable form clump convert file:lineno input to ranges cmdcmp compare the outputs of two commands com compile or process file using embedded command commw print input terms not in dictionaries company output company information condln link or copy file1 to file2 confvrs create or compare qvrs config file contax output selected contax database entries conv convert input characters to readable form count produce numbers cpifdif compare new and old and copy if different ct cut input into cut file cush could (could not) use shell interface depsmap create file mapping suffixes to mkdeps file detox remove toxic waste normally found in dos files dirlist produce list of all directories for input file list dirname output directory pathname for files dirsetup set up a directory from prototype file divide split files at specified pattern dmpdeps dump or test deps object dosmap change Unix paths to DOS paths double output differing lines of files separated by tab dry run dhrystone tests elimso eliminate n/troff inclusions environ list args, uid/gid, cwd, open files, env, and ignored sigs envset output environment setting commands envstd list arguments, open files and ignored signals fcmp compares new and old fdate output formatted date string fexists output file names that match specified attributes ffill fill in suppressed fields filelist maintain a file list and their collective modification time finclude output file resolving includes finda find and replace Ada variables findc find and replace C variables findf find and replace tabbed fields findw find and replace words fixflist remove non-existent files from a file list flcomm comm(1) like but columns put into files fnd find a command fndstr find a string in a file and output offset form text formatter and macro processor fparens check bracket, brace and double quote balancing in form input ftest test argument file attributes g process go files go detach a command goes view or remove jobs from go message files gomonitor display josh halt files as updated and other files gotstr output names of files that contain argument string grpsort sort groups of lines specified by ranges hhmmss output a banner of the time hoff hell of a lot faster than nroff howto output selected howto information incls dynamic dependency tracker instal meticulously install a file and audit it instdir install a directory instfls install files, but only if necessary, according to script jlines join up selected lines josh a job shell kdbm extract from or add to DBM database l list files in columns lash long argument list shell interface lc list files by type in columns lcmp compare two files ldbm extract from or add to DBM line database ledmp display current lefile values leset set up line editing keyfile liborder process nm of a library to produce dependency graph libs output information on libraries used by the named files lines print first N and last M lines linked list files with multiple links lls ls for input files with selected fields output lninsert replace characters in master by lines from source lntree create tree of symbolic links to input file list man3db apply trg script to selected items from man3 TIPs database manprep prepare manual sections for qef info tool mimk issue updating commands according to a dependency script mkalltraits run mktraits on remote hosts mkddt create ddt declaration mkdeps compile deps scanner file mkerrs process error databases to produce other source mkopts create options header file mkqtree set up new qef tree mkquete produce manual section index mksolib create shared library externs list mktraits compile traits files mkvernum create or change version string mnfadd add a new manifest to manifest database mnfchk check manifest database for syntax and consistency mnfcmp compare two manifests mnfdb output manifest database release information mnfdel delete releases from manifest database mnfput output a manifest or manifest database necho echo with escape interpretation numb produce numbered lines olex lexical analyser builder p4files list perforce files for the current root p4mnf list p4 files for the current root pa output, list, or delete cut files parmsdb output parms database in variety of formats pathclash produce list of duplicated executables in path pathto map argument file to special directory pdirs directory stack manipulation for shells without pushd ph output phone numbers for selected contax database entries putifdif copy input to output file if different qconfset add variable setting to the conf.vrs file qd shell alias/function to chdir using selected qdsrv database entry qdchk check host's qdsrv database entries qdid assign qdsrv ident and/or bind to path qdmgt general qdsrv management interface qds select and print entries from qdsrv database qdsrv qef project database server qdupd add path to qdsrv database qed somewhere between a line editor and a command interpreter qedbufs output qed save file structures qef the driver qefdirs qef script generator for multiple directories qefgui run the qef qui qefinfo run the qef info tool qefpp the qef macro processor qenv output environment variables in sorted usable form qfunc output selected qfunc function/alias file qgdiff graphical file difference viewer qhost qtree host server qhy report why a target was rebuilt qlex interface to lex qmsdev Microsoft Developer's Studio project file generator qmsg send a message or mail to designated users qremote run a command on a remote host (if necessary) qrep another grep qsg the primary qef script generator qsgcomp compiles a qsg script to object qsgdump dump a qsg object file qsh qef shell command interpreter qtreeinfo output information on $QTREE and its directories quete list x_db topics and quete.db entries that match patterns qvrs process the qvrs files qvrsdmp process qvrs binary file qvrsexpr evaluate and output qvrs expressions qyacc interface to yacc r90 reflect lines around diagonal rc windows resource compiler rcslocks report the RCS locked files in a directory realdir output real directory name for argument directory recur execute a command repetitively rep another grep resort build new output in order specified by input revl reverse input lines rls recursive list of files rmlist remove files named in input rmnotnamed remove all files not named by arguments rmwhite output rpl script to remove redundant white space and newlines rootvrs create or modify the root.vrs file rotf select fields of input lines for output rpl replace, print, or delete named lines rtabs align fields by inserting padding samefile check if two paths refer to same file sdba output statistics about sdbm database setbytes set specified offsets to strings sfdchk check strfix dictionaries for valid patterns sfsic source file system integrity check and db maintenance shfix process input file incorporating output of embedded commands shuffle shuffle input lines and output sls source path ls snm standardized nm output srclist check the srclist._ file strfix replace variables according to replacement dictionary sttyek set or display saved stty erase and kill chars subdist create sub-distribution from master file lists summarize summarize selected fields sumup output summations of selected input fields suprep suppress repeated fields sysnm output symbolic system name or check if it matches arguments system output system name or check if it matches arguments tabrpl replace tabs by spaces or vice versa tchown change ownership and mode according to a template tdbkeys list TIPs database index keys and/or files tdbm create TIPs key files tdbrg apply trg program against selected TIPs DBM database entries ted TIPs file editor termfnd check if termcap/terminfo entry exists termsa list all Ada variables in files termsc list all C variables in files termsf list all tabbed fields in files termsw list all words in files tf output name of non-existent comma file tildes convert between symbolic and real character representations timeout execute a program with a time limit tlist formated listing of TIPs data base files tmkprof create new TIPs data base profile topolsrt topologically sort input touchfiles list or create touch files tprof output TIPs profile in various formats traits output traits table transl translate input fields treedirs mkdir selected or all sub-directories of a qef tree trg template driven TIPs report generator trgdmp print trg object file trgmk compile trg script tscan interactive TIPs data base scanner tstrhash test strhash hashing typset interface to typesetter and printing packages untouch set file times upd update conventionally named versions of files upto print selected lines from named files vcc create, compile, link, and remove version string source file vci version control system interface vernumcomp compress the mkvernum database wcci windows c compiler interface whats whats 2 + 2 wmode write-protect files wordidx output input lines followed by lines indicating word count wot output embedded sccs id strings x-contax contax use and data bases eXplanatory D.B. x-eml form eml macros eXplanatory D.B. x-form form macros and syntax eXplanatory D.B. x-html html qsg library eXplanatory D.B. x-ldeps deps library eXplanatory D.B. x-ldtree x_db database describing routines of the -ldtree library x-lledit ledit library eXplanatory D.B. x-lqvrs qvrs library eXplanatory D.B. x-ltc tc library eXplanatory D.B. x-ltips tips library eXplanatory D.B. x-man the -man macro set eXplanatory D.B. x-qed qed commands and facilities eXplanatory D.B. x-qef QEF facilities and tools eXplanatory D.B. x-qefdirs qefdirs eXplanatory D.B. x-qefeg prototype qef files eXplanatory D.B. x-qefgui qef graphical user interface eXplanatory D.B. x-qefpp qef preprocessor controls and macros eXplanatory D.B. x-qfsic file system integrity (fsic) package eXplanatory D.B. x-qmisc Q-Tree miscellany eXplanatory D.B. x-qproc software process procedures eXplanatory D.B. x-qsg qsg and its support library eXplanatory D.B. x-qvrs qvrs variables, facilities, and files eXplanatory D.B. x-ted ted the TIPs editor eXplanatory D.B. x-trg TIPs trg functions eXplanatory D.B. x-tscan tscan facilities and commands eXplanatory D.B. x-xfig xfig qsg library eXplanatory D.B. x-zr qed function library eXplanatory D.B. x_db x_db database front end xdbmk create an x_db data base xdbs list all or specified x_db databases or all their topics xfinterp process -x flag outputs xtty convert stty(1) output to full explanations younger test if files younger than specified time zfill zero fill digit string
adjmat produce adjacency matrix adjmat reads the argument files (defaults to the standard input) and produces an adjacency matrix of the relation- ships expressed by the input lines. Input lines consist of white space separated words, the first of which is taken as the label. The balance of the line's words are the nodes to which the label is adjacent. The output is an adjacency matrix with adjacencies marked with an X. See adjmat(1) for an example. See also: adjmat(1) adjmat(-x)
arccentre compute the centre of an arc arccentre computes the centre point of an arc for use by Arc(x-xfig). The arguments are three points expressed in xfig(1) units, and the output is two floats expressing the centre point. If the points are colinear (i.e., not an arc), arccentre aborts with a suitable diagnostic output. See also: arccentre (1) arccentre (-x) Arc(x-xfig)
artimes set last modification times for files of an archive artimes reads the argument ar(1) file and for each member file, sets the modification time of the corresponding file to modification time as stored in the archive. This is used to create realistic modification times for files that are extracted from object libraries for versions of make(1) that do not understand how to process archive libraries. artimes is unnecessary if ar supports the -o flag. See also: artimes(1) artimes(-x) ar(1)
arupdate update an archive library arupdate is used as an interface to ar(1) in library building scripts. arupdate is used instead of ar as it is an interface is based on a specification of what should be in the library, from which it determines what actions to take to bring the library up-to-date. arupdate's arguments are interpreted to create a list of the files that are to be part of the archive. The actual arguments may be files to be included, files that contain the names of files to be included, or the names of other archives, some or all of whose elements are to be included. Given this member list, arupdate checks the archive to determine the files that need to be removed (i.e., in archive but not the list) the files that need to be replaced (i.e., existing file's time-stamp is not equal to that in the archive), and the files to be added (i.e., in the list but not in the archive). Note: A file named in the argument generated member list need not exist, provided it is already in the archive. arupdate then invokes ar once to delete member files that are no longer part of the library or will be re-added and a second time to add in the new or replacement member files. It will then remove all the files that have been added (other than those extracted from other archives) unless the -k flag has been specified. arupdate also supports an option to add a mkvernum generated version file to the archive. Note: If the -V module is specified, the .c module that is created (i.e., _vmodule.c) is compiled using the _F_mkvernum_cc[module] or _F_mkvernum_cc flags. See also: arupdate(1) arupdate(-x) ar(1) mkvernum _F_mkvernum_cc(x-qvrs)
ascii print a table of the ASCII character set ascii outputs the table of ASCII characters in a variety of formats, as in: |000 nul|001 soh|002 stx|003 etx|004 eot|005 enq|006 ack|007 bel| ... |170 x |171 y |172 z |173 { |174 | |175 } |176 ~ |177 del| Options exist to produce the hexadecimal or decimal values, of the values for selected characters, as in: % ascii a.9 a 141 097 61 lx . 056 046 2E p 9 071 057 39 n See ascii(-x) for list of type keys used for the fifth column of the above output (e.g., 'l' for lower case, 'p' for punctuation). See also: ascii(1) ascii(-x)
bfsic build file system integrity check and db maintenance bfsic is used to compare the lists of existing installed and object file systems against the FSIC database inst.fl, objs.fl, deviates.fl, except/<sysnm>.fl, and <Q>/lib/bfsic.cf. Typically bfsic is used in the fsic(x-qsg) script to create the ,p.errors, ,i.tmps, and ,o.tmps files, which in turn are used to correct the file systems and database. Note: The fsic directory is typically in @QefAdm/fsic in the root directory. See also: bfsic(1) bfsic(-x) FSIC(x-qfsic) inst.fl(x-qfsic) objs.fl(x-qfsic) deviates.fl except/<sysnm>.fl <Q>/lib/bfsic.cf
bp deliver source code boiler plate When bp is invoked with an argument X, it searches for a file called Bp.dir/X in the directories named by $PATH. If such a file is found and it begins with the sequence `#BP' followed by a tab, the file is copied to the standard output, after replacing certain `%%' sequences with run-time values (e.g., the date or user's name) or interpretations. bp is used to retrieve and output prototypes of various files, text or code segments. If bp is invoked without arguments, it outputs a list of all the bp files available. howto is a link to bp that searches for Howto.dir/X files. Note: Many of the boiler plates relate to the qef system. See x-qefeg. See also: bp(1) bp(-x) howto qfunc new-bp(x-qmisc) New-Bp(x-qefgui)
c% cush link that translates _%_ in command c% is an alias for cush that assumes the -% flag to save typing six characters. For a full description see cush(1). See also: cush c%(1) c%(-x) cush(1)
cancreat check if file can be created cancreat checks that the argument file can be created, or opened for writing (if it already exists). The exit status is 0 if the requested access is permitted or possible. Otherwise it is -1. If -d specified, then check is that files may be created in the directory file. If file is not specified, -d is assumed and file defaults to the current directory (i.e., .). See also: cancreat(1) cancreat(-x) ftest test(1)
cc_g gcc interface that eliminates gratuitous warnings cc_g is a link to cc_z that eliminates the numerous messages generated by gcc that are of little or no value or cannot be resolved. The messages to be eliminated are those matched by regular expressions associated with cc_g in the file <qtree-root>/lib/cc_z.cf. See also: cc_z cc_z(1) cc_z(-x)
cc_z cc interface that eliminates gratuitous messages cc_z and its links are interfaces to the standard C compiler that filters cc output to eliminate various gratuitous messages such as the copyright notices and warnings that cannot be resolved. The file <qtree-root>/lib/cc_z.cf should contain lines that indicate the real compiler program to be used and regular expressions to be applied. That file contains comments that describe its contents in more detail. See also: cc_g cc_z(1) cc_z(-x) cc_z.cf
cerrs parse input extracting cc errors and warnings cerrs reads its input, extracts C compiler diagnostic messages, converts them to a canonical form of file, `:', lineno, `:', and message, optionally converts file names to canonical forms using a mapping mechanism, and outputs the result. This allows one to feed the output of a large qef or make session to cerrs and get a usable list of the diagnostics. See also: cerrs(1) cerrs(-x)
chkfile check all files exist killing argument pid on failure chkfile checks that its argument files exist or are writable (if -w specified. If any do not exist (or unwritable), it sends a SIGTERM to the argument pid process and exits with status -1. If the pid argument is not specified, chkfile just exits with a diagnostic message and a non-zero status. If all the argument files exist, chkfile exits silently with status 0. chkfile is used within shell scripts to abort the script if a check file is removed as in: touch CHK$$ echo To terminate this program, remove CHK$$ while true ; do : commands ... chkfile -p $$ CHK$$ done See also: chkfile(1) chkfile(-x) ftest test(1)
chstat change the status of files named in list or arguments chstat is a combination of chmod(3), chown(3), and chgrp(3) that processes the files named in argument files or in the standard input. chstat is useful for processing large numbers of files named by some pipe line or file. See also: chstat(1) chstat(-x) tchown wmode chmod(1) chgrp(1) chown(1)
cleanilog clean up an instal.log file Whenever instal(1) is run, if the qvrs(1) variable @InstLog is set, instal appends an audit trail record to the @InstLog file (usually instal.log at the base of the Object tree). This audit file can grow substantially and may contain many obsolete records. cleanilog may be used to eliminate obsolete records and optionally remove records that refer to non-existent files from an instal audit trail. To update the current tree's @InstLog file, purging references to non-existent files, use: cleanilog -Iuvp See also: cleanilog(1) cleanilog(-x) instal InstLog(x-qvrs)
clrstr output terminal clear string in readable form clrstr writes (to the standard output) the string of characters that will clear the screen of the terminal as specified by the term argument (default $TERM). By default the string is output in a printable form (e.g., ESC (octal 033) shown as "\33", newline output as "^J"). The -n suppresses this translation and the -q flag outputs the string in as a qed string. See also: clrstr(1) clrstr(-x) qed clear(1)
clump convert file:lineno input to ranges clump reads its input, which should be a series of lines similar to that produced by qrep's -n flag (i.e., contain the file name, a colon, and the line number, a colon, and the contents), as in: file:14:This is the first line of a clump file:15:This is the second line. newfile:200:This is a single line clump This is also the form of output produced by many other programs such as: lines, findc (et al), and rpl. Groups of input lines that refer to a series of sequential lines are output as "clumps". Clumps are output as the file name, a colon (':'), the line number of the first line. If it is a multi-line clump, the line number is followed by a comma and the number of following lines in the clump. For the above input, the output would be: file:000014,1: newfile:000200: This output may be input to rpl with the -sa flags to get the addressed lines. See also: clump(1) clump(-x) rpl qrep
cmdcmp compare the outputs of two commands cmdcmp compares the output of a command to the output of another command, the contents of a file or the standard input. It can also compare the contents of a file to the contents of another file or the standard input, although that is just duplicating the capability of cmp(1) or fcmp. cmdcmp was created to circumvent the problems of the ambiguity of the exit status of a pipeline and the problems associated with the management and removal of temporary files. See also: cmdcmp(1) cmdcmp(-x) fcmp cmp(1)
com compile or process file using embedded command com extracts specially identified command lines, called com lines, from its argument files, processes those lines to replace special strings by parts of the argument file name or extracted from the qvrs(1) files, and interprets the resulting line as a shell command. A com line is a line within the first 1024 characters of the file that contains the string `/*^' or `/*%'. The balance of the line is processed to replace `^' characters followed by special strings by special interpretations (as listed by com -X). The resulting line is then executed as a sh(1) command. <qtree-root>/lib/comlines contains the com macros. See also: com(1) com(-x) qvrs
commw print input terms not in dictionaries commw reads its input and outputs all terms in the input that are not in one of the dictionaries. The input file and dictionaries must be in the order normally generated by termsw. A dictionary term is equivalent to an input file term if the dictionary term is equal to the lower case version of, or the unpunctuated version of the input file term. commw typically used to prepare a replacement dictionary for findw as it understands the punctuation, accents, and capitalization rules of that program. Note: commw was originally created to compare words found by termsw against dictionaries to determine words to be corrected. Given the availability of fairly good versions spell(1) one is probably better of using spell to find terms that are questionable and then use that list to create the findw replacement dictionary. See also: commw(1) commw(-x) findw termsw <Q>/lib/words
company output company information company uses the information specified in the -i specified strfix dictionary company-info (defaults to ~/.qtree/company.cf or <Q>/data/company.cf) and outputs that information according to the format specified by the -f file or format. The result is written to specified outfile or the standard output. Note: bp also consults the company info file. See also: company(1) company(-x) bp <Q>/data/company.cf ~/.qtree/company.cf
condln link or copy file1 to file2 condln, given two argument files f1 and f2, ensures that f1 is linked or copied to f2, even if f2 already exists. condln is used instead of ln(1) as that program fails under a number of conditions that condln avoids (e.g., f2 exists or is on a different file system). In summary, condln tries to ensure that file2 is either a link (hard or symbolic) to file1 or is a link to a copy of file1 or is itself a copy of file1. See also: condln(1) condln(-x) ln(1) mklink(x-qsg)
confvrs create or compare qvrs config file The second file processed by qvrs(1) is the file that the user provides or names to set configuration parameters. The actual file used is based on @ConfVrs or searching for conf.vrs or confdefl.vrs in the directories named by @?ConfVrsPath. confvrs provides a number of services with respect to the current config file and the default version. The default behaviour is to output the name of the current config file and the names and values for the variables it sets. Other facilities (selected by flags) show the variables and values for the default config file (-D), show the differences between the real and default config files (-d); and copy the default config file to conf.vrs (-o). See also: confvrs(1) confvrs(-x) qvrs qconfset mkqtree ConfVrs(x-qvrs) ConfVrsPath(x-qvrs) conf.vrs(x-qvrs) confvrs/(x-qvrs) confdefl.vrs(x-qvrs) confdefl-eg(x-qefeg)
contax output selected contax database entries contax is a TIPs application program that scans the specified contacts database and outputs selected entries in the selected format. As such this program can be used for a variety of applications. For example, it can retrieve and display the phone numbers and/or addresses for selected names. It can produce form letters in which it fills in the title, affiliation, address, and salutation for selected names and/or keywords. Using the keyword search facility it can be used for distribution lists to drive electronic mailings. contax selects items from the specified contax data base, and outputs the selected entries in the specified format. See also: contax(1) contax(-x) ph x-contax TIPs
conv convert input characters to readable form conv outputs a line, such as the following, for each character (excluding the nulls) in the arguments. Character x : Octal 170 Decimal 120 Hex 78 Binary 01111000 If no arguments are given, stty(2) is used to set the terminal into raw mode (so as to get all the bits and to suppress any interpretation) and a single input line is read, up to the first newline, carriage return or ctrl-d. Then lines of the above form are output for each of the characters in the read line. The line for the terminating character is not output, unless it is the only character in the input or the -e flag is given. conv's major use is to determine what all those strange keys on a keyboard actually deliver. It is frequently used when designing a leset file or a qed terminal file. See also: conv(1) conv(-x) qed leset
count produce numbers count outputs the integers from a specified start (defaults to 0) to a specified stop (defaults to 32767) in using the specified increment (default 1 or -1 (if the start > stop). A printf(3) format can be specified for the output. count was added to the QEF product at a client's request, for what I know not, but it can be useful. See also: count(1) count(-x)
cpifdif compare new and old and copy if different cpifdif is a very fast implementation of cmp -s new old || cp new old without the complications that arise due to cmp's exit codes. It is used extensively to install new versions of a file only if the file is changed. See also: cpifdif(1) cpifdif(-x) cmp(1) putifdif cmdcmp
ct cut input into cut file ct copies its input files or the standard input into a temporary file in the directory named by $CTDIR or ~/.qtree/ctdir. The companion program pa can be used to retrieve the saved file by explicit basename or an age index (0 for the youngest, 1 for the next youngest, etc.) See also: ct(1) ct(-x) pa
cush could (could not) use shell interface cush simply runs the argument command, which should consist of a program and the arguments to that program. Flags and options allow command line specification of the setting and unsetting of environment variables, redirection of I/O, chdirs, special process management, and process attributes often not available or not easily done using the standard shells. One of the more important cush options is to facilitate the saving of the input in a temporary file, the name of which is inserted into the argument command. This facilitates using commands that require a file and cannot process the standard input. cush is also used to do redirection of I/O in command processors which do not support I/O redirection, when the redirection cannot be expressed in the current shell's context (i.e., on a remote machine or as a different user), or when doing so imposes an additional overhead (e.g., forking a shell). cush has a -E flag that allows the specification of an envset environment set to be applied before executing the program. This option can thus be used to change $PATH or to specify an environment on a remote host as is done by qremote. Note: c% is a link to cush that converts any "_%_"s in the argument command to spaces. It's actually equivalent to cush invoked with the -% flag. See also: cush(1) cush(-x) envset qremote c%
depsmap create file mapping suffixes to mkdeps file depsmap processes the argument files which must be dependency state tables and description files as produced by mkdeps. The Class name, Description field, and the Suffixes list for each file are extracted and saved. Once all the files are processed, depsmap writes the resulting lists to the output file ofile (defaults to the standard output). The resulting file is used by other programs to map a file to the deps class to be used to process the file. The depsmap output file is normally installed as <qtree-root>/lib/deps/deps.map. See also: depsmap(1) depsmap(-x) mkdeps dmpdeps incls deps.map
detox remove toxic waste normally found in dos files detox removes any carriage returns before a new line and a control-z at the end of its input. Alternatively it can insert the carriage returns and control-z. An option is provided to change files in situ.
dirlist produce list of all directories for input file list dirlist reads pathnames from its input files and outputs a unique sorted list of all the directories involved in the input pathnames. Given the path name dir1/dir2/file, dirlist would output: dir1 dir1/dir2 dirlist is used to produce the list of directories that may have to be processed to deal with named or listed files. See also: dirlist(1) dirlist(-x) dirname(1)
dirname output directory pathname for files By default, dirname outputs the directory file for each argument path or, if the -f flag specified, for each file name contained in the argument file. If no file arguments are given, the file names read from the standard input are processed. If any -p, -d, or -l flags are specified, the selected file name parts (the simplified pathname -p, the directory name -d, and the leaf name -l) are output in that order, separated by tabs. The named files are reduced to their simplest form by removing redundant parts of the name (e.g., ``/./'', ``/X/../''). the resulting path is then split into the directory and file name parts. See also: dirname(1) dirname(-x) basename(1)
dirsetup set up a directory from prototype file The input files to dirsetup consist of lines specifying directories, files and their contents, and annotations. When dirsetup processes such a file, dirsetup creates the specified directories and files in directory dir. dirsetup will not overwrite any existing file unless the -o flag is specified. Any annotations are output to the standard output. dirsetup files are usually used to define file systems for special applications such as the qef tutorials or a generic qef administered project. In the absence of any arguments or flags, dirsetup lists the currently available dirsetup files. Currently the dirsetup databases are: dotqtree set up for a user's .qtree directory fsic files of the file system integrity check miniproj files for a minimal qef project newproj infrastructure files for a qef project qeftut1 qef tutorial set # 1 qeftut2 qef tutorial set # 2 qeftut3 qef tutorial set # 3 qegappl example qef application package qeglibeg example qef library set up and mgt. qegqsl example of project specific qsglib See also: dirsetup(1) dirsetup(-x) new-dirsetup(x-qmisc) dirsetup-sets(x-qefeg)
divide split files at specified pattern divide reads the argument files (defaults to the standard input) and splits the output into files named prefix001, prefix002, ... (prefix defaults to ``x''). The files are split at the <num>th line if no linemarker is given. Otherwise, the files are split at the first line after (if -a specified) or the last line before (if -b specified) a line that matches the regexp(x-qmisc) pattern specified by the -p flag. See also: divide(1) divide(-x) split(1) regexp
dmpdeps dump or test deps object Dependency files are created by the mkdeps program. They contain a state table to find and extract embedded dependencies such as the `#include' of the C programming language plus information used to convert an embedded `included' symbol to a file. The dependency suffix map file, deps.map, is used to map file names to deps files. Basically it contains the names of the supported deps files and patterns that match the files that it processes. dmpdeps outputs readable representations of either a selected dependency file or the dependency suffix map file. Some useful commands: dmpdeps -m # show list of current deps files dmpdeps -cc # dump information about c deps file dmpdeps -s -c tex # dump source for tex deps file See also: dmpdeps(1) dmpdeps(-x) mkdeps incls depsmap deps.map
dosmap change Unix paths to DOS paths dosmap reads its argument files (defaults to the standard input) and copies what was read to ofile (defaults to the standard output), converting any strings embedded in ``%%''s to their DOS path names as mapped by roots.map files. See also: dosmap(1) dosmap(-x) dospath(x-ldtree) roots.map
double output differing lines of files separated by tab double reads lines from its two input files in parallel. If the input lines differ, they are output as a single line with a separating tab. double is commonly used to produce a replacement dictionary for other tools such as findf(1). See also: double(1) double(-x) comm(1)
dry run dhrystone tests dry runs the dhrystone tests which are an attempt to measure sure the performance of the host machine. For example: % dry -l 5hk Dhrystone(1.1) time for 500000 passes = 4 This machine benchmarks at 125000 dhrystones/second As might be deduced this is an old program on an old platform. Upping the number of loops may increase the accuracy. See also: dry(1) dry(-x)
elimso eliminate n/troff inclusions elimso is used to eliminate n/troff ".so" commands from the input by replacing the containing line by the named file. Also supported is the facility to incorporate the output of shell commands. It is provided for use by typset. Note: The -S option specifies that the qvrs variable @SrcPath directories are searched for files to be included. See also: elimso(1) elimso(-x) typset soelim(1) qvrs
environ list args, uid/gid, cwd, open files, env, and ignored sigs environ outputs the argument list (including the first argument) in an unambiguous form (using `\ddd' to represent unprintable characters), lists the file descriptors that are open, the signals that are not SIG_DFL, the real and effective uids and gids, the umask setting, and the environment variables. The output is written to /dev/tty to ensure its visibility. environ was created to test that programs were setting up the correct signals, arguments, and files before forking and execing another program. This is usually done by moving the program of interest (i.e., the program that will be exec'ed) to a temporary location, linking or copying environ to the old program name and running the parent program. Alternatively one may be able to link environ to the program name in an earlier directory of the $PATH. See also: environ(1) environ(-x) envstd
envset output environment setting commands envset is used to extract a named set of environment variables settings and unsettings specified in ~/.qtree/envset.cf, <qtree-root>/data/envset.cf, and <qtree-root>/lib/envset.cf). envset outputs the selected sets as a series of sh or csh commands to perform the various settings/unsettings. envset -x explains the syntax of the envset file. It is convenient to set an alias or shell function Ev to facilitate running envset and interpreting its output. In the csh use: alias Ev 'eval `<qtree-root>/bin/envset -cNQ \!*`' In sh or one of its clones, use: Ev () { eval $(<qtree-root>/bin/envset -NQ $*) } Note: There is a qfunc option Ev which will deliver the appropriate setting. So then Ev EnvSet will changes the current shell's environment to that specified by the argument. The fully rooted path is used so that $PATH does not need to be set correctly for Ev to work. The -Q flag will set $QTREE to the the program's path name minus "/bin/envset" (i.e., <qtree-root>). Note: qremote executes cush with the flag -E envset, where envset is usually the value of @QremoteEnv as extracted from the root.vrs file. Note: cush, josh, and qsg all have a -E flags that selects an envset for interpretation before executing the argument command. QremoteEnv specifies the envset to be loaded on the remote system, actually done via cush. See also: envset(1) envset(-x) cush josh qsg qfunc $ENVSETS qremote QremoteEnv(x-qvrs)
envstd list arguments, open files and ignored signals envstd is a link to environ. environ lists its arguments, open files, real and effective uids and gids, its umask setting and its environment variables. environ writes its output to a file (usually /dev/tty) opened specifically to ensure its visibility. When environ is invoked as envstd, the various outputs can be selected by flags and the output is written to the standard output. See also: envstd(1) envstd(-x) environ
fcmp compares new and old fcmp is a link to cpifdif and is equivalent to specifying a -n or -N to that program. Basically, fcmp compares the files new and old and exits with status 0 if they are identical, and 1 otherwise. fcmp is basically the same as cmp(1) except faster, consistent, and providing some important options. See also: fcmp(1) fcmp(-x) cpifdif cmp(1)
fdate output formatted date string fdate formats a specified time -- defaults to the current time -- according to a specified format. The format argument consists of `^' followed by a single letter to select the element of the time to be output. For example: fdate '^a ^h ^d ^T ^c^y' would output: Mon Jan 31 05:48:21 2000 The command: fdate -X will output the format keys and their descriptions. fdate predates the extension of date(1)'s extension to provide similar functionality, however, date is limited to displaying the current time, whereas fdate can be used to output the date for an arbitrary time such as the time stamps stored in qmkhist._ files. See also: fdate(1) fdate(-x) date(1)
fexists output file names that match specified attributes fexists is used in the FSIC package qef script to filter a list of files to remove those that aren't empty. This is used in a pipeline with rmlist to remove the empty files. fexists can also be used to select input paths that are or are not files, directories, have a specified mode, have been modified within a specified time, or are empty. See also: fexists(1) fexists(-x)
ffill fill in suppressed fields ffill fills in empty fields with the contents of the most recent non-empty corresponding field in a previous line. In effect it is the inverse of suprep. The fields to be filled in are selected by the `-0..9' argument (defaults to `-0'). For example: ffill -03 specifies that the zeroth and third fields are to be filled in. All other fields are to be copied out directly. See also: ffill(1) ffill(-x) suprep double
filelist maintain a file list and their collective modification time filelist maintains the list of files in the argument file flist, optionally reports gains or losses and sets flist's time stamp according to the status of the files it names. srclist is a special case link to filelist that uses the file called srclist._ and implies the flags -mnuv. See also: filelist(1) filelist(-x) srclist srclist._
finclude output file resolving includes finclude copies its input files to its designated output, replacing any lines that begin with `include' (or a specified string) by a header line, the contents of the included file, and a trailer line. finclude is often used to prepare input for other processes, in particular strfix. See also: finclude(1) finclude(-x) strfix
finda find and replace Ada variables finda searches the argument files for ADA variables that are named in the first field of the argument dictionary file and replaces those found terms by the replacement field. finda is almost equivalent to findc and a full description of the flags and processing is given in findc(1). termsa will produce a list of all the ADA variables found in the files given as input. See also: finda(1) finda(-x) findc(1) termsa findc findf findw
findc find and replace C variables The four find[cfwa] programs search the argument files (defaults to the standard input but see -f) for terms given in the argument dfile (dictionary file). findc searches for C variables; findf searches for fields; findw searches for words, and finda searches for ADA variables. When a term is found, if the dictionary file specifies a replacement string (follows a tab character) the term is replaced by that string. The default (in absence of any -cru flags) action is to copy any lines that contain terms given in the dfile to the standard output. The find? programs are particularly useful for creating input to rpl. termsc will produce a list of all the C variables found in the files given as input. See also: findc(1) findc(-x) termsc finda findf findw rpl
findf find and replace tabbed fields findf searches the argument files for fields that are named in the first field of the argument dictionary file and replaces those found terms by the replacement field. Fields are tab separated strings. findf is almost equivalent to findc and a full description of the flags and processing is given in findc(1). termsf will produce a list of all the fields found in the files given as input. See also: findf(1) findf(-x) termsf finda findc findw
findw find and replace words findw searches the argument files for words that are named in the first field of the argument dictionary file and replaces those found terms by the replacement field. See termsc(1) for a definition of word. findw is almost equivalent to findc and a full description of the flags and processing is given in findc(1). termsw will produce a list of all the words found in the files given as input. See also: findw(1) findw(-x) termsw findc(1) termsc(1) finda findc findf
fixflist remove non-existent files from a file list fixflist reads in filelist as a list of white space separated pathnames. Any pathname that does not refer to an existing file is removed from the list. If the -a flag is specified filelist itself is added to the list (subject to -a and -r special case). If the resulting list is empty and the -r flag is specified, filelist is unlinked. Otherwise the list is sorted and written out to filelist. fixflist was created to maintain file lists within the File System Integrity System (see FSIC). One of the byproducts of that package is a file list containing all the known temporary files (i.e., a.out, core, or any file beginning with a `,'). See also: fixflist(1) fixflist(-x) FSIC
flcomm comm(1) like but columns put into files flcomm is a comm(1) like program that allows columns to be diverted to separate files and aborts in case of sequence errors or duplicated lines. It was created to support the file mechanism used within the Q-Tree directory file system integrity check (see FSIC) previously called fl, hence the "fl" prefix. flcomm is used in FSIC package qef script to compare file lists against the known file lists and output the differences to specified files. See also: flcomm(1) flcomm(-x) comm(1) FSIC fsic(x-qsg)
fnd find a command fnd searches the directories specified by $PATH for the argument file. If it finds an executable file corresponding to the argument file fnd writes the full path name to the standard output. Flags allow the user to specify the inclusion or exclusion of the current directory, or the reporting of all instances in the path. See also: fnd(1) fnd(-x) pathclash which(1) $PATH(x-qvrs)
fndstr find a string in a file and output offset fndstr searches the argument files -- defaults to the standard input -- for the argument string, and outputs the offset of that string if found. fndstr was provided to facilitate setting the name of the database in the sysnm binary. See sysnm(1) for a description of how fndstr and setbytes are used to perform this. See also: fndstr(-x) fndstr(1) setbytes sysnm
form text formatter and macro processor form is a general purpose macro processor that is intended to be used as a front end for troff(1) and other text formatters. form is generally used in conjunction with a macro package, the analog of troff macro packages such as -ms or -man. form has several advantages over straight troff: it has a more readable syntax, better macro definition facilities, and it can be used to make documents portable between different text formatters. It should be noted that all the Q-Tree man pages are written in form and that typset has a -f flag to invoke form on its input. See also: form(1) form(-x) fparens typset x-form (x-form) x-eml (x-eml)
fparens check bracket, brace and double quote balancing in form input fparens processes its inputs as specified by arguments searching for possible problems in form input with respect to: * unbalanced `{'s, `[', `]', `}', and `"' characters; * an `@' just before the end-of-file; * a file that does not end with a newline; * a nested unescaped special character; * an unnested unescaped special character (suppressed if -n); * an `@' immediately followed a character other than one of the special characters. Any detected anomalies are reported as rpl format lines (i.e., (i.e., filename, colon, line number, colon, comment). For example: cmd1/man/envset.1:000207: `{' at position 2 unclosed See also: fparens(1) fparens(-x) form x-form
ftest test argument file attributes ftest tests the argument file for the attributes specified via the flags, outputting the appropriate diagnostic and/or taking some other action. ftest was created to eliminate the complicated and cumbersome testing that is sometimes required in shell or make scripts to test whether or not a file can be changed or exists. See also: ftest(1) ftest(-x) test(1) cancreat
g process go files g is used to view and optionally remove the diagnostic output files of go and josh, referred to as the go-files. Within the qef gui, go is used to detach builds creating the files displayed by the build monitor. g can be used to view those files. Note: The -d flags to go and josh cause the output files to be created in the user's ~/.qtree/goes/<host> directory. The -d flag to g causes it to look in the appropriate directory. See also: g(1) g(-x) go josh goes gomonitor $GODIR
go detach a command go executes its argument command in background, usually redirecting the standard input and outputs, possibly sending a message when the argument command has completed. go is used to detach builds within the qef gui, redirecting the outputs to diagnostic files that can be viewed using the build monitor. go appends messages to ~/.qtree/goes/<host>/gomsgs when a command is executed and when it terminates. goes can be used to remove lines for completed jobs from the ~/.qtree/goes/<host>/gomsgs files. See also: go(1) go(-x) g goes ~/.qtree/goes/<host> $GODIR(x-qvrs) $GOFILE(x-qvrs)
goes view or remove jobs from go message files go, josh, and jog append messages to ~/.qtree/goes/<host>/gomsgs whenever a job is dispatched and when it ends. The following are examples of such records: pid command ~ host - directory yyyy/mm/dd hh:mm:ss pid:status command ~ host - directory yyyy/mm/dd hh:mm:ss pid! command ~ host - directory yyyy/mm/dd hh:mm:ss pid:status! command ~ host - directory yyyy/mm/dd hh:mm:ss The `:status' fields indicate that the job has completed, the `!' that the job has been canceled. For completed jobs, the command and directory fields may be truncated so that the entire line fits into 80 characters. goes can be used to: + view job records for current, specified, or all hosts; + cancel job records (i.e., insert a `!' after the pid:status field) for completed jobs or jobs over a day old [*]; + remove job records for completed or day old jobs [*]. [*] Can be applied to the current host's (default), a specified host's, or all hosts' gomsgs files. Note: jog might not be available. See also: goes(1) goes(-x) go josh gomonitor jog(1) ~/.qtree/goes/<host>/gomsgs
gomonitor display josh halt files as updated and other files gomonitor monitors the ~/.qtree/goes/<host>/gomsgs files, displaying job records that are appended to those files by go and josh. Lines for completed lines are displayed in reverse video. gomonitor also outputs the date and time (updated every five seconds), the number of messages in your mailbox, the contents of ~/.qtree/goshow (if non-empty) or the contents of ~/.qtree/td (see td(1)) and the diary entries for the next week (see diary(1)). gomonitor is designed to be run continuously in an xterm window, refreshing the date and time every five seconds and the other contents when they are changed. The command: goes -c -h may be used to cancel completed commands, for all hosts, which will suppress their display by gomonitor. An alternative to gomonitor is provided by the Build-Monitor window of the qefgui. It provides facilities for viewing the go files as they are created, removing selected go-files, halting or rerunning jobs, and many more facilities. Note: td(1) and diary(1) may not be part of your system. See also: gomonitor(1) gomonitor(-x) josh g goes Build-Monitor(x-qefgui)
gotstr output names of files that contain argument string gotstr outputs the list of files named in filelist arguments (defaults to the standard input) that contain the argument string, and it does so very quickly by using a Boyer/Moore algorithm and reading 32K at a time. Frequently gotstr is used to prepare an argument list for grep(1) as in: grep pattern `gotstr string filelist` or better: gotstr string filelist | qrep -F pattern See also: gotstr(1) gotstr(-x) qrep bm(1)
grpsort sort groups of lines specified by ranges grpsort reads its input files, searching for lines that match the specified argument regular expression. The matched line and the lines that follow up to (but not including) the next matched line constitute a group. All lines are copied to a temporary file and the matched string and the offset to its group are saved. Once all the input has been read, the matched strings are sorted. Then the groups are read from the saved input in the sorted order and output. Note: If the pattern contains a sub-pattern -- specified by `\(...\)' the string matched by the sub-pattern is used as the sort key. As an example of its uses, grpsort is used to sort x_db entries, each of which begins with `%{' optionally followed by a `-' and white space. Thus to sort the entries of an x_db database by the first key of a line one uses: grpsort '^%{<-|>[ ]*\(.*\)' See also: grpsort(1) grpsort(-x)
hhmmss output a banner of the time hhmmss clears the screen and outputs a banner of the time as in: # ####### # # ####### # ### ##### ## # # ### # # # ### # # # # # # # # # # # # # # # # # # # # ###### # # ###### # # # ####### # # # # # # # ### # # # ### # # # # ##### # # # ##### # ### ##### Note that this representation of the time is legible when using the ``tiny'' or ``unreadable'' xterm fonts. An alternative representation is provided that uses highlighting which is somewhat more attractive. By default, the display is refreshed every ten seconds on the ten second time. An interrupt (usually Ctrl-C) will cause the time to be refreshed every second and a subsequent interrupt will revert to refreshing on the ten second mark. To terminate the clock use two interrupts within a second. An option (-S) is provided which shows a count down or elapsed time, which when combined with the highlighting representation is very useful for showing students the time left for an exam. See also: hhmmss(1) hhmmss(-x) xclock(1)
hoff hell of a lot faster than nroff hoff is a much cut down (might I say absurdly cut down) version of nroff(1) to be used to format simple documents or quickly left justify and fill lines. For example, hoff was used to justify and fill these lines just by piping them through hoff within the editor (qed) using: ?much cut?,. | hoff A list of the supported commands can be found in hoff(-x). See also: hoff(1) hoff(-x)
howto output selected howto information When howto is invoked with an argument X, it searches for a file called Howto.dir/X in the directories named by $PATH. If such a file is found and it begins with the sequence `#HT' followed by a tab, the file is copied to the standard output, after replacing certain `%' sequences with run-time values (e.g., the date or user's name) or interpretations. howto is used to describe various procedures and/or standards. If howto is invoked without arguments, it outputs a list of all the howto files available. howto is a link to bp. There are a number of howto files provided by default: dirsetup How to edit a dirsetup database help How to help someone use a computer howto How to create a new howto file swhygiene Stenning's Project Hygiene Principles and Suggestions The author finds it a convenient mechanism for storing and accessing miscellaneous information. See also: howto(1) howto(-x) bp
incls dynamic dependency tracker incls takes as input a list of files and outputs the implied dependencies. Its primary purpose is to maintain the incls._ database and to produce the dependency list used within the qef scripts. incls uses finite state automatas stored in files produced by mkdeps to the argument files. The qvrs variable SrcProdMap[class] may be used to extend the list of affixes and their dependencies as generated by the -M and -m flags. incls will consult and update a universal cache of dependencies in a DBM database named by @InclsDbm. Using such a database saves rescanning commonly used headers such as stdio.h. See incls.dir and InclsDbm. See also: incls(1) incls(-x) mkdeps incls._ dmpdeps depsmap SrcProdMap incls.dir InclsDbm InclsDbmUpdate
instal meticulously install a file and audit it instal [sic] is used to install files in remote directories. instal accepts flags from the qvrs variables @_F_instal and @_F_instal[root] as well as on the command line. It maintains an audit trail in the path named by qvrs variable @InstLog. instal works hard to check that everything happened correctly. Of particular importance is the -I flag which causes instal to not fail if it cannot set the specified mode, owner and/or group. In such an instance, instal outputs a noisy warning message and records the failure in file named by appending `.fix' to @InstLog (after removing `.log' if it exists). The failure is recorded in the format read by tchown which can be used by a privileged user at the end of the build. This feature means that one does not need to be the root user to build installations!! So why's instal misspelt? See faq8. See also: instal(1) instal(-x) _F_instal(x-qvrs) InstLog(x-qvrs) tchown
instdir install a directory instdir is a link to instal that creates directories. See also: instdir(1) instdir(-x) instal instdir(x-qsg)
instfls install files, but only if necessary, according to script instfls reads its input script which contains a number of source/destination path name pairs. It installs the source files into the destination files, but only after checking to ensure that the installation will result in a significant change. A history file is maintained to suppress file comparisons if the files have not changed since the last time instfls was run. instfls can also take a list of files and the names of the source and destination directories. See also: instfls(1) instfls(-x) instfls(x-qsg) instal if_install._ih if_install._il
jlines join up selected lines jlines copies the named file(s) (defaults to the standard input) to the standard output, replacing selected newlines (i.e., joining some lines) by specified string. Normally, newlines escaped by a concatenation character (default `\') are removed (together with the escape concatenation character). By default, the concatenation character is assumed to precede the newline but one can choose to have the escape character appear after the newline to be removed (i.e., at the beginning of the next line). See also: jlines(1) jlines(-x)
josh a job shell josh is a command interpreter that manages jobs selected by name from the specified josh file -- defaults to ~/.qtree/josh. A josh file consists of lines of the following form: # comments say no more X=value assign a value to variable X group ~ pats ... specifies that `group' implies jobs matched by specified patterns. labels...: commands the jobs to be done; commands may be continued over multiple lines and incorporate variable values and command line arguments. josh selects jobs to be done by those labels or groups matched by command line specified patterns. The associated commands are then interpreted using the shell. Flags are provided to detach the job redirecting the output as is done by go, in which case josh maintains a josh halt file that records progress and can be used to halt a josh job. An extremely important task performed by josh is to facilitate remote executions of qef jobs as described in Remote-Qefs. See also: josh(1) josh(-x) gomonitor go g Remote-Qefs $GODIR(x-qvrs) $GOFILE(x-qvrs)
kdbm extract from or add to DBM database kdbm is a tool used to create, update and query a DBM database. Basically a kdbm database uses ASCII keys with single or multiple text line data elements. See also: kdbm(1) kdbm(-x) ldbm sdba
l list files in columns l is yet another ls(1) type program that lists entries in the specified directories. It is provided as part of the Q-Tree to ensure a consistent interface and provide additional capabilities not normally available using ls. lc is a link to l that implies the -a and -l flags -- list all files (-a) by file-type (-l). Note: Some man(1) commands cannot retrieve l(1) due to their interpretation of `l' as being a section number. In such a case see lc(1). See also: l(1) l(-x) lc lc(1)
lash long argument list shell interface lash runs its argument command repetitively for the specified arguments -- possibly read from the standard input. The command should contain % character sequences to specify the positions and forms of the arguments. Supported forms include selecting the argument's directory, basename, root, etc. A command may also use multiple arguments. lash is similar to the BSD tool apply. See also: lash(1) lash(-x)
lc list files by type in columns lc is a link to l that lists the files in the argument directory by type (e.g., directories, devices, etc). It also lists all files whereas l suppresses files whose names begin with a `.'. See also: lc(1) lc(-x) l
lcmp compare two files lcmp compares the two argument files byte by byte and reports any differences as the octal address (see -d flag) of the difference and the symbolic representation of the characters in each file separated by tabs, as in: 000117 \t ` ' 000120 007 x 000340 EOF \n In most respects, lcmp is equivalent to cmp(1) with the -l flag. The differences are the use of the symbolic representation of the characters, use of octal addresses, and treatment of the EOF. See also: lcmp(1) lcmp(-x) cmp(1) fcmp
ldbm extract from or add to DBM line database ldbm is used to create, update and query an ldbm database. which is a DBM database (i.e., X.{dir,pag} pair) in which a key's data item (as stored in the X.pag file) is a list of seek offsets into third file X.data. The offsets point to newline terminated lines of text for the key. See also: ldbm(1) ldbm(-x) kdbm sdba
ledmp display current lefile values ledmp outputs the tables size, termcap strings and key mappings contained in the argument leditor control file (default $LEFILE, $LEDIR/${TERM} or <qtree-root>/lib/ledir/${TERM}). Flags may be used to select one or more of the output tables. See keys(x-lledit) for a list of the leditor keys. See also: ledmp(1) ledmp(-x) leset (x-lledit) leditor $LEFILE
leset set up line editing keyfile leset creates and writes to object (defaults to the standard output) the setup file needed for the leditor control file used in qed and other tools. Normally this file is stored as <qtree-root>/lib/ledir/${TERM}. However, the user may specify an explicit lefile by setting the $LEFILE shell environment variable or may specify a directory to be searched before looking in the standard position by setting $LEDIR. The input file syntax is described briefly in leset(-x) and fully in leset(1). The special keys symbols and their semantics are listed by the -k flag. See also: leset(1) leset(-x) leditor ledmp
liborder process nm of a library to produce dependency graph liborder reads a snm output for a library and produces a dependency graph of the library's modules. This output is usually input to topolsrt (or tsort(1)) to produce a topologically sorted list of the library's modules. liborder used to be required on some old platforms to create the ordered list of modules, however, this has been rendered unnecessary by ranlib(1) or ar(1) features. See also: liborder(1) liborder(-x) snm topolsrt
libs output information on libraries used by the named files libs processes a list of symbolic library names given via arguments, or the libraries specified for an argument file via the LIBS[] variable or as embedded in the files themselves as in: /* LIBS: -ldtree By default, libs outputs the library names or symbols that will be used when linking the named file or library. Flags may be specified to show the raw library list (-r), the list after LibMap expansion is done (-m), the expanded list after the library search is done (-e) the list of symbols to be used when linking (-c), and list all libraries that match a specified symbol (-A). Try: libs -aA -lc Note: If a libs argument begins with [name], as in: libs [alternative]/.../realfilename.c then alternative is used to match LibStatic[] patterns, instead of realfilename. Note: The qvrs -l flag outputs a list of all the variables used in library searches and their current settings. See also: libs(1) libs(-x) *lib-macros(x-qefpp) *lib-vars(x-qvrs) Apropos: ? -Q <Lib|archive|libs>
lines print first N and last M lines lines prints the first head (default 5) and the last tail (default 0) lines of each argument file (defaults to the standard input) or the files named by the files or the standard input if the -f flag is specified. lines also supports a -r flag which causes lines to output lines in the rpl format, for example: file:000123:contents of line # 123 in file See also: lines(1) lines(-x) rpl
linked list files with multiple links linked checks the argument files (defaults to files named in the standard input) or the files named by the argument files (if -f) for files that exist and have multiple links. If there are 1 or less links nothing is output, otherwise the name of the file is output. A flag (-s) is provided that output those files that are symbolic links. See also: linked(1) linked(-x)
lls ls for input files with selected fields output lls is yet another variant of ls(1), with the difference that the files to be listed may be named by the standard input or the argument files and the file attribute fields displayed are selectable by a command line option (see -o). The list of selectable fields is output by lls(-x) and given in lls(1). See also: lls(1) lls(-x) rls
lninsert replace characters in master by lines from source lninsert reads the master file and searches it for the replacement character (defaults to '%'). Each replacement character is replaced, in the output stream, by characters from the source file, up to the next newline not preceded by a backslash. The newline is included in the output unless the -n option is specified. The resulting merged stream is written to the standard output. Either one of the master or source files may be assigned to the standard input by using a `-' instead of a file name. lninsert is yet another useful tool for merging lists of fields into a master form, possibly repeating the master, to create form letters or database entries. F.Y.I.: lninsert is ancient, dating back to fourth edition UNIX. See also: lninsert(1) lninsert(-x)
lntree create tree of symbolic links to input file list lntree reads a list of pathnames from the argument file (defaults to the standard input) and creates a ``shadow'' tree in the current directory that consists of symbolic links to the input pathnames relative to the argument fromroot. Hard links are used if symbolic links are not supported by the host system. Directories are created as required. Pathnames in the argument files or the standard input are separated by white-space or newlines. Strings following a `#' at the beginning of a line or after a space or tab are ignored. If the n flag is specified, lntree does nothing other than to report what it would do. See also: lntree(1) lntree(-x) ln(1) link(2) symlink(2)
man3db apply trg script to selected items from man3 TIPs database man3db is a special purpose TIPs trg program that will apply the built-in trg program format or the trg source file trg as specified by the -b or -t arguments to the items in the specified files or the ``*.d'' files in the argument dir (default ``*.d''). If a -q flag is given, only those items that match the argument Tips query are processed. man3db is used to produce the x_db libraries such as x-ldtree. man3db entries describing the routines of the library are embedded in the actual source. man3db extracts these entries and processes them with a built in man3db format that produces x_db formatted information (possible being processed through form and grpsort). See also: man3db(1) man3db(-x) man3db(x-qsg)
manprep prepare manual sections for qef info tool manprep is used to transform output of man(1) into the form required for presentation by the qef graphical user interface. The output consists of Tcl/Tk expressions specifying bold text, section headers, and references to other manual sections. See also: manprep(1) manprep(-x)
mimk issue updating commands according to a dependency script Yet another make(1), but built specifically to be a suitable back-end for qef. mimk duplicates most of the important functionality of make, but does not support variables or suffix rules, as such things are done in other qef processes. mimk will run processes in parallel and will rerun constructions if the dependency list or the constructions itself has been changed since its last execution. See also: mimk(1) mimk(-x) qhy qmkhist._
mkalltraits run mktraits on remote hosts Without any flags or host arguments, mkalltraits runs: qremote -h <host> mktraits -u for all hosts <host> for which the variable <host>.qtree exists in the qdsrv database. The mktraits will rebuild the <Q>/data/traits/<host>.tab. This is usually necessary after <Q>/lib/traits.vrs or <Q>/data/traits.ext files are changed and the traits binary files stored in traits/<host>.tab files need to be rebuilt. The -r flag specifies that rsh(1) is to be used instead of qremote as might be required when qremote cannot be run due to a missing traits file. See also: mkalltraits(1) mkalltraits(-x) traits qremote qdsrv
mkddt create ddt declaration mkddt transforms its argument input files into a C header or source file (if -c) containing appropriate initializations for Ddt_t structures used to control the Dynamic debugging trace (ddt) package. mkddt is used to build qef itself and a number of other Q-Tree packages. It is not intended for general use at this time. As such it might not be available. See also: mkddt(1) mkddt(-x)
mkdeps compile deps scanner file mkdeps compiles a description and control variables of the scanner used to process files to extract embedded dependencies such as the `#include' statements of C. The resulting object file is used by various programs (e.g., incls) to extract embedded dependencies from a source file. Such files are usually stored in <qtree-root>/lib/deps. dmpdeps may be used to examine and/or test a mkdeps object or an installed version. depsmap is used to create a file that maps from file suffixes to mkdeps object files. Warning: The mkdeps language is obtuse and baroque. It is not intended for the casual user. If you need a new language supported, write to support@qef.com and it will be created. See also: mkdeps(1) mkdeps(-x) incls dmpdeps depsmap mkdeps(x-qsg)
mkerrs process error databases to produce other source mkerrs processes a library's error database to create required header files. The user provides a TIPs error database. mkerrs is used to convert entries in these files to the two C language header files required to use the error handling package. mkerrs is used to build the Q-Tree product itself so is provided as part of that product. See also: mkerrs(1) mkerrs(-x) mkerrs(x-qsg) TIPs
mkopts create options header file mkopts creates a C language header file of defines for options. It is used to create header files based on qvrs option settings. A qsg library script (mkopts(x-qsg) exists to create header files using mkopts. See also: mkopts(1) mkopts(-x) mkopts(x-qsg)
mkqtree set up new qef tree mkqtree creates a new qef shadow tree for the current directory. Given the command: mkqtree -t@TreeType directory subtrees ... mkqtree performs the following: mkdir directory # if directory does not exist cd directory rootvrs -tTreeType original-directory # if no root.vrs confvrs -c # if conf.vrs does not exist treedirs subtrees ... # if subtrees not . The above creates the new directory, creates the root.vrs file linking the new directory to the original, copies confvrs/confdefl.vrs to conf.vrs and populates the tree with the requested sub-directories. See also: mkqtree(1) mkqtree(-x) rootvrs confvrs treedirs confdefl.vrs
mkquete produce manual section index mkquete processes manual sections to extract the short description in the NAME section and to build output records in the following form: section name <tab> description Flags or the traits variables ManSections and ManZipSuffixes name the manual sections to be processed and the suffixes for compressed files respectively. mkquete is run to produce <qtree-root>/data/quete/*.db which is read by quete to create a manual section topic list within the help information window in qefgui. See QueteDbs(x-qefgui). See also: mkquete(1) mkquete(-x) man(1) traits data/quete quete.db-maint
mksolib create shared library externs list mksolib is used to convert a list of variables and their types into a C module which can then be linked with a library to create a shared object (i.e., so) library. Basically to create a shared library, a mksolib input file is created that lists at least one variable from every required module in the archive. When such a file is processed by mksolib, and then compiled and linked with the standard object library (with the appropriate flags), a shared library containing the defining modules for each of the listed variables is created. A qsg library script (mksolib(x-qsg)) exists to facilitate mksolib's use. See also: mksolib(1) mksolib(-x) mksolib(x-qsg)
mktraits compile traits files mktraits creates the traits database <Q>/data/traits/<host>.tab. The traits database is a set of variable/value pairs used to store system, host, and site settings such as capabilities, pathnames, and special values such as QDSRV_HOST. mktraits compiles the traits source files traits.vrs and traits.ext. The language used in these files is identical to that of qvrs, except that the trait(x-qvrs) function is not supported. Note: Whenever mktraits -Ru is run, any traits/<host>.tab file that is older than either of the source files is removed. Running traits or any query of the traits database via the libdtree.a A.P.I. will recreate the file if necessary. See also: mktraits(1) mktraits(-x) traits trait(x-qvrs) trait(x-qsg) traits-vars traits/<host>.tab
mkvernum create or change version string mkvernum extracts the current module version number from the qvrs variable Revision[module] or Revision and generates a version string for embedding in the code or library. Many of the qsg scripts support a -v flag that will automatically create, compile and add the version string to a program or library. One of the important mkvernum features is its ability to embed the value of a counter that is incremented on each use in the output string. These counters are retrieved by communicating to qdsrv which maintains <Q>/data/mkvernum.db. Note: vcc is a link to mkvernum used to create and compile a C version file. See also: mkvernum(1) mkvernum(-x) vcc qdsrv vernumcomp verlib/ <Q>/data/mkvernum.db Revision(x-qvrs) _F_mkvernum_cc(x-qvrs) ReportMkvernum MkvernumFormat MkvernumPath RevisionString
mnfadd add a new manifest to manifest database mnfadd is part of the manifest package -- see mnfdb. mnfadd adds a new input manifest to a manifest database and outputs the result. See also: mnfadd(1) mnfadd(-x) mnfdb manifest(x-qmisc)
mnfchk check manifest database for syntax and consistency mnfchk is part of the manifest package -- see mnfdb. mnfchk reads the argument manifest database -- defaults to the standard input -- outputting any syntax errors in the manifest database to an argument file -- defaults to the standard output. If the -S flag is specified, for all files/version tuples in the selected releases (defaults to all), mnfchk finds the associated s-file and checks that the named version actually exists. See mnfchk(1) for a list and explanation of the errors that can be output. Note: The -S check works with SCCS files only. To check a manifest for some other system, use mnfput -m to retrieve the files and associated versions and input that information to a mechanism that checks the validity of the file/version tuples. See also: mnfchk(1) mnfchk(-x) mnfdb manifest(x-qmisc)
mnfcmp compare two manifests mnfcmp is part of the manifest package -- see mnfdb. mnfcmp compares two manifests reporting the differences in three tab separated fields, giving the file name, the file's version numbers in the first and the second manifests. If a file is not listed in either one or the other manifests the associated version field is output as a single caret (`^'). See also: mnfcmp(1) mnfcmp(-x) mnfdb manifest(x-qmisc)
mnfdb output manifest database release information mnfdb outputs the release information for the releases selected by the -r flags (defaults to -r \*) in the named manifest database. mnfdb is part of the manifest package which consists of the following tools: mnfadd add a new manifest to manifest database mnfchk check manifest database for syntax and consistency mnfcmp compare two manifests mnfdb output manifest database release information mnfdel delete releases from manifest database mnfput output a manifest or manifest database See mandb(1) for descriptions of manifests, manifest databases, releases, and the care and feeding of manifest databases. See also: mnfdb(1) mnfdb(-x) manifest(x-qmisc)
mnfdel delete releases from manifest database mnfdel is part of the manifest package -- see mnfdb. mnfdel is used to remove a named release or releases from a manifest database. The associated release declarations are removed as are all bindings of file/version tuples to those releases. The resulting manifest data is output to a named file or the standard output. See also: mnfdel(1) mnfdel(-x) mnfdb manifest(x-qmisc)
mnfput output a manifest or manifest database mnfput is part of the manifest package -- see mnfdb. mnfput reads the selected manifest database and outputs the named releases. The -m flag outputs a resolved manifest. If multiple releases are selected and those releases specify differing versions for a specific file, the version specified by the youngest selected release is output. See also: mnfput(1) mnfput(-x) mnfdb manifest(x-qmisc)
necho echo with escape interpretation necho just echos its arguments, much the same as echo(1). However, necho provides special character interpretation in its arguments to facilitate specification of non-printable characters, such as "\r", "^M", or "\15" for carriage return. necho also provides output redirection via arguments, which may be necessary to ensure correct interpretation or alternatively eliminate the need to invoke a shell. See also: necho(1) necho(-x) echo(1)
numb produce numbered lines numb reads lines from the argument files (defaults to the standard input) and outputs the line with a line number. An option (-f) exists to allow the specification of the output format. See also: numb(1) numb(-x)
olex lexical analyser builder olex is the original lex(1) provided to circumvent the limitations of flex(1). It is required to boot the Q-Tree as the lex sources all use feature in control the I/O that cannot be emulated within flex. Note: DO NOT USE!! See also: olex(1) olex(-x) qlex(1) _T_lex lex(1)
p4files list perforce files for the current root p4files is used to produce a list of the files in the perforce files in the appropriate branch. Basically p4files builds a p4 command to list the files in the depot. The most basic command is "p4 -sync -n".a The command's output is read by p4files to extract the file name, the type, and the revision number. The output will consist of the filename, relative to the current directory, the optional affix, the type in parentheses, and the revision number (if the -M flag was specified). This input will typically be sent to sfsic to compare the perforce depot's files against the FSIC file lists. See also: p4files(1) p4files(-x) p4mnf perforce(1) p4(1) sfsic sfsic.cf
p4mnf list p4 files for the current root p4mnf is used to produce a file manifest in the perforce(1) files in the appropriate branch. Basically p4mnf builds a p4(1) command to list the files in the depot. The most basic command is "p4 files". The command is modified to add additional flags -- e.g., -x-, d depot. The constructed command is executed, possibly with the argument files or files specified by those files (if -F flag specified) input to the command as the standard input. The command's output is read by p4mnf to extract the file name and the revision number which are output with a separating tab. This input will typically be with the mnfdb package to maintain a release database. Note: m4mnf is very similar to p4files. See also: p4mnf(1) p4mnf(-x) p4files perforce(1) p4(1) mnfdb
pa output, list, or delete cut files pa and its companion tool ct paste and cut files. When ct is invoked it copies its input into a file in the user's $CTDIR (default ~/.qtree/ctdir) directory. The name of the new file is `,' followed by two decimal digits. pa can be used to list, examine, retrieve and/or remove cut files by relative age or explicit index. The default command is to cat the most recently modified file in the $CTDIR directory. See also: pa(1) pa(-x) ct $CTDIR ~/.qtree/ctdir
parmsdb output parms database in variety of formats parmsdb processes the specified parms database -- defaults to <qtree-root>lib/parms -- for items that match the specified query (default all) and outputs those items in the selected format -- defaults to ``default''. The parms database describes the parameters used to configure the Q-Tree for the system. The parameter files are parmsdb dictionaries normally stored in the magic/parms directory of the Q-Tree source. Typically a parameter assigns a string value that will be used to configure header and data files during the boot strap. Unfortunately, the database tends to slip out-of-date. See also: parmsdb(1) parmsdb(-x)
pathclash produce list of duplicated executables in path pathclash outputs the file names that occur in more than one of the directories named by $PATH -- in other words, the path name clashes. It is provided to facilitate quick determination of whether or not any of the qef tools clash with existing tools in the user's $PATH. See also: pathclash(1) pathclash(-x)
pathto map argument file to special directory pathto maps its argument files by replacing symbolic prefixes to real pathnames. The symbolic names are listed by the -l flag. pathto is used in shell scripts to facilitate specification of Q-Tree (and other) files by applying the appropriate substitution and search mechanisms. pathto may be used to determine the default <qtree-root> using: pathto -d qt Note: Additional symbolic mappings can be specified in the roots.map files. See also: pathto(1) pathto(-x) QTREE <qtree-root> roots.map
pdirs directory stack manipulation for shells without pushd pdirs is provided for use on systems that lack that very useful function pushd. pdirs should not be used directly as its purpose is to deliver an argument for a chdir and to maintain a list of directories which must be done using built-in shell functions. To use pdirs, one should use: % eval `qfunc pdirs` which defines the following functions: pd () { eval `pdirs -e $* ++ $_dirs` ; } pushd () { eval `pdirs -e $* ++ $_dirs` ; } popd () { eval `pdirs -ep $* ++ $_dirs` ; } dirs () { echo `pwd` $_dirs ; } The resulting functions pushd, popd, and dirs provide much the same functionality as their csh name-sakes. See also: pdirs(1) pdirs(-x) sh(1)
ph output phone numbers for selected contax database entries ph is a link to contax. The only difference is that invoking contax using ph automatically assumes the -b ph option. That option selects the ``ph'' output format which outputs the phone numbers for the selected entries. For example, the command: % ph tilbrook would yield: David Tilbrook: (+1 416) 925-8168 (office) (+1 416) ...-.... (mobile) Frank Tilbrook: (+1 416) ... See also: ph(1) ph(-x) contax
putifdif copy input to output file if different putifdif compares its standard input to contents of its argument file, copying the input to the argument file if they differ. putifdif is used to process configured header files, changing the installed copy only if its contents would change. See also: putifdif(1) putifdif(-x) cpifdif
qconfset add variable setting to the conf.vrs file qconfset is provided to insert or replace a variable setting or an option at the beginning of the current tree's conf.vrs file, if there is one. The conf.vrs is the qvrs file used to specify the user's options and controls. It is typically initialized using confvrs which copies the default configuration file confvrs/confdefl.vrs. See also: qconfset(1) qconfset(-x)
qd shell alias/function to chdir using selected qdsrv database entry To facilitate changing directories within the shell one sets the following alias or function: alias qd 'set qdtmp=`qds -d \!*` && cd $qdtmp' # in csh qd () { qdtmp=$(qds -d $*) && cd $qdtmp } # in sh, ksh or bash The above are also output by the qds -X flag and qfunc qd. To define qd one uses: eval `qfunc -c qd` # in csh eval `qfunc qd` # otherwise Once set, one can use qd to chdir to trees or sub-directories within a tree using queries, absolute indices, or qds flags such as -n or -i. Note that an argument to qd may be used to specify the sub-directory of the target tree. If the target tree is the same project as the current tree, the qd will chdir to the same sub-directory of the target tree. To specify the root of the tree, on should begin the argument with a slash as in: qd <qds flags> /sub-dir See also: qds qfunc
qdchk check host's qdsrv database entries qdchk retrieves all the paths for the current host from the qdsrv database -- see qdsrv(1). For each retrieved path entry, qdchk checks the fields and directories for validity reporting any discrepancies. The error and warning messages produced by qdchk are explained in individual items of x-qmisc. See *qdchk(x-qmisc). See also: qdchk(1) qdchk(-x) qdsrv qdsrv-record *qdchk(x-qmisc)
qdid assign qdsrv ident and/or bind to path qdid provides support for retrieving an unused qdsrv identifier and/or binding a qdsrv identifier to a qdsrv database entry. Once an identifier is bound to a path, qds -i may be used to retrieve that path. Thus a user may identify a path that represents the current set of working directories. The environment variable $QDSRV_ID may be used to contain the identifier. If QDSRV_ID is not set the lowest identifier is assigned to the user. Note: qds also has an option to do the path binding. See also: qdid(1) qdid(-x) qdsrv qds $QDSRV_ID
qdmgt general qdsrv management interface qdmgt provides a generalized message interface to qdsrv. It sends argument message (possible specified by a flag) to the server and then just writes the returned messages to the standard error output (if the returned message begins with a `!') or to the standard output. qdmgt was developed initially to test the server prior to the existence of the specialized tools. As such all the qdsrv services may be invoked via qdmgt and some are available only by usi