diff options
Diffstat (limited to 'share')
57 files changed, 0 insertions, 13203 deletions
diff --git a/share/doc/psd/00.contents b/share/doc/psd/00.contents deleted file mode 100644 index 3866526..0000000 --- a/share/doc/psd/00.contents +++ /dev/null @@ -1,191 +0,0 @@ -.\" Copyright (c) 1986, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)00.contents 8.1 (Berkeley) 6/8/93 -.\" -.OH '''PSD Contents' -.EH 'PSD Contents''' -.TL -UNIX Programmer's Supplementary Documents (PSD) -.sp -\s-24.4 Berkeley Software Distribution\s+2 -.sp -\fRJune, 1993\fR -.PP -This volume contains documents which supplement the manual pages in -.I -The -.UX -Programmer's Reference Manual -.R -for the 4.4BSD system as distributed by U.C. Berkeley. -.SH -Documents of Historical Interest -.IP -.tl 'The Unix Time\-Sharing System''PSD:1' -.QP -Dennis Ritchie and Ken Thompson's original paper about UNIX, reprinted -from Communications of the ACM. - -.IP -.tl 'Unix Implementation''PSD:2' -.QP -Ken Thompson's description of the implementation of the Version 7 -kernel and file system. - -.IP -.tl 'The Unix I/O System''PSD:3' -.QP -Dennis Ritchie's overview of the I/O System of Version 7; still helpful for -those writing device drivers. - -.IP -.tl 'Unix Programming \- Second Edition ''PSD:4' -.QP -Describes the programming interface to the UNIX version 7 operating -system and the standard I/O library. Should be supplemented by -Kernighan and Pike, ``The UNIX Programming Environment'', -Prentice-Hall, 1984 and especially by the Programmer Reference Manual -section 2 (system calls) and 3 (library routines). - -.IP -.tl 'Berkeley Software Architecture Manual (4.4 Edition)''PSD:5' -.QP -A concise and terse description of the system call interface -provided in Berkeley Unix, as revised for 4.4BSD. -This will never be a best seller. - -.SH -Languages in common use -.IP -.tl 'The C Programming Language \- Reference Manual''PSD:6' -.QP -Official statement of the syntax of C. -Should be supplemented by ``The C Programming Language,'' -B.W. Kernighan and D.M. Ritchie, Prentice-Hall, 1978, that -contains a tutorial introduction and many examples. - -.IP -.tl 'Berkeley Pascal User\'s Manual''PSD:7' -.QP -An implementation of this language popular for learning to program. - -.IP -.tl 'A Portable Fortran 77 Compiler''PSD:8' -.QP -A revised version of the document which originally appeared in -Volume 2b of the Bell Labs documentation; -this version reflects the work done at Berkeley. - -.IP -.tl 'Introduction to the f77 I/O Library''PSD:9' -.QP -A description of the revised input/output library for Fortran 77, -reflecting work carried out at Berkeley. - -.SH -Programming Tools -.IP -.tl 'Debugging with GDB: The GNU Source-Level Debugger''PSD:10' -.QP -How to debug programs using the source level \fIgdb\fP debugger -(or how to debug programs without having to know much about machine language). - -.IP -.tl 'A Tutorial Introduction to ADB''PSD:11' -.QP -How to debug programs using the assembly-language level \fIadb\fP debugger. - -.IP -.tl 'Make \- A Program for Maintaining Computer Programs''PSD:12' -.QP -Indispensable tool for making sure large programs are properly -compiled with minimal effort. - -.IP -.tl 'An Introduction to the Revision Control System''PSD:13' -.QP -RCS is a user-contributed tool for working together with other people -without stepping on each other's toes. -An alternative to \fIsccs\fR for controlling software changes. - -.IP -.tl 'An Introduction to the Source Code Control System''PSD:14' -.QP -A useful introductory article for those users with -installations licensed for SCCS. - -.IP -.tl 'YACC: Yet Another Compiler-Compiler''PSD:15' -.QP -Converts a BNF specification of a language and semantic actions -written in C into a compiler for that language. - -.IP -.tl 'LEX \- A Lexical Analyzer Generator''PSD:16' -.QP -Creates a recognizer for a set of regular expressions: -each regular expression can be followed by arbitrary C code -to be executed upon finding the regular expression. - -.IP -.tl 'The M4 Macro Processor''PSD:17' -.QP -M4 is a macro processor useful in its own right and as a -front-end for C, Ratfor, and Cobol. - -.IP -.tl 'gprof: a Call Graph Execution Profiler''PSD:18' -.QP -A program to show the call graph and execution time of a program. -Indispensable aid for improving the running time of almost everything. - -.SH -Programming Libraries -.IP -.tl 'Screen Updating and Cursor Movement Optimization''PSD:19' -.QP -Describes the \fIcurses\fP package, an aid for writing screen-oriented, -terminal-independent programs. - -.SH -General Reference -.IP -.tl 'An Introductory 4.4BSD Interprocess Communication Tutorial''PSD:20' -.QP -How to write programs that use the Interprocess Communication Facilities -of 4.4BSD. - -.IP -.tl 'An Advanced 4.4BSD Interprocess Communication Tutorial''PSD:21' -.QP -The reference document (with some examples) for the Interprocess Communication -Facilities of 4.4BSD. diff --git a/share/doc/psd/Title b/share/doc/psd/Title deleted file mode 100644 index 2ec146c..0000000 --- a/share/doc/psd/Title +++ /dev/null @@ -1,131 +0,0 @@ -.\" Copyright (c) 1986, 1993 The Regents of the University of California. -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)Title 8.2 (Berkeley) 4/19/94 -.\" -.ps 18 -.vs 22 -.sp 2.75i -.ft B -.ce 3 -UNIX Programmer's Supplementary Documents -(PSD) -.ps 14 -.vs 16 -.sp |4i -.ce 2 -4.4 Berkeley Software Distribution -.sp |5.75i -.ft R -.pt 12 -.vs 16 -.ce -June, 1993 -.sp |8.2i -.ce 5 -Computer Systems Research Group -Computer Science Division -Department of Electrical Engineering and Computer Science -University of California -Berkeley, California 94720 -.bp -\& -.sp |1i -.hy 0 -.ps 10 -.vs 12p -Copyright 1979, 1980, 1983, 1986, 1993 -The Regents of the University of California. All rights reserved. -.sp 2 -Other than the specific documents listed below as copyrighted by AT&T, -redistribution and use of this manual in source and binary forms, -with or without modification, are permitted provided that the -following conditions are met: -.sp 0.5 -.in +0.2i -.ta 0.2i -.ti -0.2i -1) Redistributions of this manual must retain the copyright -notices on this page, this list of conditions and the following disclaimer. -.ti -0.2i -2) Software or documentation that incorporates part of this manual must -reproduce the copyright notices on this page, this list of conditions and -the following disclaimer in the documentation and/or other materials -provided with the distribution. -.ti -0.2i -3) All advertising materials mentioning features or use of this software -must display the following acknowledgement: -``This product includes software developed by the University of -California, Berkeley and its contributors.'' -.ti -0.2i -4) Neither the name of the University nor the names of its contributors -may be used to endorse or promote products derived from this software -without specific prior written permission. -.in -0.2i -.sp -\fB\s-1THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE.\s+1\fP -.sp 2 -Documents PSD:1, 2, 3, 4, 6, 11, 15, 16, and 17 -are copyright 1979, AT&T Bell Laboratories, Incorporated. -Document PSD:8 is a modification of an earlier document that -is copyrighted 1979 by AT&T Bell Laboratories, Incorporated. -Holders of \x'-1p'UNIX\v'-4p'\s-3TM\s0\v'4p'/32V, -System III, or System V software licenses are -permitted to copy these documents, or any portion of them, -as necessary for licensed use of the software, -provided this copyright notice and statement of permission -are included. -.sp 2 -Document PSD:10 is part of the user contributed software and is -copyright 1992 by the Free Software Foundation, Inc. -Permission is granted to make and distribute verbatim copies of -this document provided the copyright notice and this permission notice -are preserved on all copies. -.sp 2 -Document PSD:13 is part of the user contributed software and is -copyright 1983 by Walter F. Tichy. -Permission to copy the RCS documentation or any portion thereof as -necessary for licensed use of the software is granted to licensees -of this software, provided this copyright notice is included. -.sp 2 -The views and conclusions contained in this manual are those of the -authors and should not be interpreted as representing official policies, -either expressed or implied, of the Regents of the University of California. diff --git a/share/doc/smm/00.contents b/share/doc/smm/00.contents deleted file mode 100644 index ed03c7a..0000000 --- a/share/doc/smm/00.contents +++ /dev/null @@ -1,161 +0,0 @@ -.\" Copyright (c) 1986, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)00.contents 8.1 (Berkeley) 7/5/93 -.\" -.OH '''SMM Contents' -.EH 'SMM Contents''' -.TL -UNIX System Manager's Manual (SMM) -.sp -\s-24.4 Berkeley Software Distribution\s+2 -.sp -\fRJune, 1993\fR -.PP -This volume contains manual pages and supplementary documents useful to system -administrators. -The information in these documents applies to -the 4.4BSD system as distributed by U.C. Berkeley. -.SH -Reference Manual \- Section 8 -.tl '''(8)' -.IP -Section 8 of the UNIX Programmer's Manual contains information related to -system operation, administration, and maintenance. -.SH -System Installation and Administration -.IP -.tl 'Installing and Operating 4.4BSD''SMM:1' -.QP -The definitive reference document for those occasions when -you find you need to start over again. - -.IP -.tl 'Building 4.4BSD Kernels with \fIConfig\fP''SMM:2' -.QP -In-depth discussions of the use and operation of the \fIconfig\fP -program, and how to build your very own Unix kernel. - -.IP -.tl 'Fsck \- The UNIX File System Check Program''SMM:3' -.QP -A reference document for using the \fIfsck\fP program during -times of file system distress. - -.IP -.tl 'Disc Quotas in a UNIX Environment''SMM:4' -.QP -A light introduction to the techniques -for limiting the use of disc resources. - -.IP -.tl 'A Fast File System for UNIX''SMM:5' -.QP -A description of the 4.4BSD file system organization, -design and implementation. - -.IP -.tl 'The 4.4BSD NFS Implementation''SMM:6' -.QP -An overview of the design, implementation, and use of NFS on 4.4BSD. - -.IP -.tl 'Line Printer Spooler Manual''SMM:7' -.QP -This document describes the structure and installation procedure -for the line printer spooling system. - -.IP -.tl 'Sendmail Installation and Operation Guide''SMM:8' -.QP -The last word in installing and operating the \fIsendmail\fP program. - -.ne 3 -.IP -.tl 'Sendmail \- An Internetwork Mail Router''SMM:9' -.QP -An overview document on the design and implementation of \fIsendmail\fP. - -.IP -.tl 'Name Server Operations Guide for BIND''SMM:10' -.QP -Setting up and operating the name to Internet addressing software. -If you have a network this will be of interest. - -.IP -.tl 'Timed Installation and Operation Guide''SMM:11' -.QP -Describes how to maintain time synchronization between machines -in a local network. - -.IP -.tl 'The Berkeley UNIX Time Synchronization Protocol''SMM:12' -.QP -The protocols and algorithms used by timed, -the network time synchronization daemon. - -.IP -.tl 'AMD \- The 4.4BSD Automounter''SMM:13' -.QP -Automatically mounting file systems on demand. - -.IP -.tl 'Installation and Operation of UUCP''SMM:14' -.QP -Describes the implementation of uucp; for the installer and administrator. - -.IP -.tl 'A Dial\-Up Network of UNIX Systems''SMM:15' -.QP -Describes UUCP, a program for communicating files between UNIX systems. - -.IP -.tl 'On the Security of UNIX''SMM:16' -.QP -Hints on how to break UNIX, and how to avoid your system being broken. - -.IP -.tl 'Password Security \- A Case History''SMM:17' -.QP -How the bad guys used to be able to break the password algorithm, and why -they cannot now (at least not so easily). - -.IP -.tl 'Networking Implementation Notes, 4.4BSD Edition''SMM:18' -.QP -A concise description of the system interfaces used within the -networking subsystem. - -.IP -.tl 'The PERL Programming Language''SMM:19' -.QP -The Practical Extraction and Report Language is ideal for -writing those pesky adminitration scripts. diff --git a/share/doc/smm/Title b/share/doc/smm/Title deleted file mode 100644 index 4dd1b89..0000000 --- a/share/doc/smm/Title +++ /dev/null @@ -1,203 +0,0 @@ -.\" Copyright (c) 1986, 1993 The Regents of the University of California. -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)Title 8.2 (Berkeley) 4/19/94 -.\" -.ps 18 -.vs 22 -.sp 2.75i -.ft B -.ce 2 -UNIX System Manager's Manual -(SMM) -.ps 14 -.vs 16 -.sp |4i -.ce 2 -4.4 Berkeley Software Distribution -.sp |5.75i -.ft R -.pt 12 -.vs 16 -.ce -June, 1993 -.sp |8.2i -.ce 5 -Computer Systems Research Group -Computer Science Division -Department of Electrical Engineering and Computer Science -University of California -Berkeley, California 94720 -.bp -\& -.sp |1i -.hy 0 -.ps 10 -.vs 12p -Copyright 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993 -The Regents of the University of California. All rights reserved. -.sp 2 -Other than the specific manual pages and documents listed below -as copyrighted by AT&T, -redistribution and use of this manual in source and binary forms, -with or without modification, are permitted provided that the -following conditions are met: -.sp 0.5 -.in +0.2i -.ta 0.2i -.ti -0.2i -1) Redistributions of this manual must retain the copyright -notices on this page, this list of conditions and the following disclaimer. -.ti -0.2i -2) Software or documentation that incorporates part of this manual must -reproduce the copyright notices on this page, this list of conditions and -the following disclaimer in the documentation and/or other materials -provided with the distribution. -.ti -0.2i -3) All advertising materials mentioning features or use of this software -must display the following acknowledgement: -``This product includes software developed by the University of -California, Berkeley and its contributors.'' -.ti -0.2i -4) Neither the name of the University nor the names of its contributors -may be used to endorse or promote products derived from this software -without specific prior written permission. -.in -0.2i -.sp -\fB\s-1THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE.\s+1\fP -.sp 2 -The Institute of Electrical and Electronics Engineers and the American -National Standards Committee X3, on Information Processing Systems have -given us permission to reprint portions of their documentation. -.sp -In the following statement, the phrase ``this text'' refers to portions -of the system documentation. -.sp 0.5 -``Portions of this text are reprinted and reproduced in -electronic form in 4.4BSD from IEEE Std 1003.1-1988, IEEE -Standard Portable Operating System Interface for Computer Environments -(POSIX), copyright 1988 by the Institute of Electrical and Electronics -Engineers, Inc. In the event of any discrepancy between these versions -and the original IEEE Standard, the original IEEE Standard is the referee -document.'' -.sp -In the following statement, the phrase ``This material'' refers to portions -of the system documentation. -.sp 0.5 -``This material is reproduced with permission from American National -Standards Committee X3, on Information Processing Systems. Computer and -Business Equipment Manufacturers Association (CBEMA), 311 First St., NW, -Suite 500, Washington, DC 20001-2178. The developmental work of -Programming Language C was completed by the X3J11 Technical Committee.'' -.sp 2 -Manual pages cron.8, icheck.8, ncheck.8, and sa.8 -and documents SMM:15, 16, and 17 -are copyright 1979, AT&T Bell Laboratories, Incorporated. -Document SMM:14 is a modification of an earlier document that -is copyrighted 1979 by AT&T Bell Laboratories, Incorporated. -Holders of \x'-1p'UNIX\v'-4p'\s-3TM\s0\v'4p'/32V, -System III, or System V software licenses are -permitted to copy these documents, or any portion of them, -as necessary for licensed use of the software, -provided this copyright notice and statement of permission -are included. -.sp 2 -The views and conclusions contained in this manual are those of the -authors and should not be interpreted as representing official policies, -either expressed or implied, of the Regents of the University of California. -.br -.ll 6.5i -.lt 6.5i -.po .75i -.in 0i -.af % i -.ds ET\" -.de HD -.po 0 -.lt 7.4i -.tl '''' -.lt -.po -'sp 18p -.if o .tl '\\*(ET''\\*(OT' -.if e .tl '\\*(OT''\\*(ET' -'sp 18p -.ns -.. -.de FO -'sp 18p -.if e .tl '\s9\\*(Dt''\\*(Ed\s0' -.if o .tl '\s9\\*(Ed''\\*(Dt\s0' -'bp -.. -.wh 0 HD -.wh -60p FO -.bp 5 -.ds ET \s9\f2Table \|of \|Contents\fP\s0 -.ds OT - % - -.ce -\f3TABLE \|OF \|CONTENTS\fP -.nr x .5i -.in +\nxu -.nf -.ta \n(.lu-\nxuR -.de xx -\\$1\f3 \a \fP\\$2 -.. -.de t -.sp 1v -.ne .5i -.cs 3 -.ti -.5i -.ss 18 -\f3\s9\\$2. \\$3\s0\fP -.ss 12 -.if t .sp .5v -.cs 3 36 -.ds Ed Section \\$2 -.ds Dt \\$3 -.so \\$1 -.. -.t /usr/src/share/man/man0/toc8 8 "System Maintenance" -.in -.5i -.cs 3 -.if n .ta 8n 16n 24n 32n 40n 48n 56n 64n 72n 80n -.if t .ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i diff --git a/share/doc/usd/00.contents b/share/doc/usd/00.contents deleted file mode 100644 index eae0ba8..0000000 --- a/share/doc/usd/00.contents +++ /dev/null @@ -1,262 +0,0 @@ -.\" Copyright (c) 1986, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)00.contents 8.2 (Berkeley) 4/20/94 -.\" -.de ND -.KE -.sp -.KS -.. -.OH '''USD Contents' -.EH 'USD Contents''' -.TL -UNIX User's Supplementary Documents (USD) -.sp -\s-24.4 Berkeley Software Distribution\s+2 -.sp -\fRJune, 1993\fR -.PP -This volume contains documents which supplement the manual pages in -.I -The Unix User's Reference Manual -.R -for the 4.4BSD system as distributed by U.C. Berkeley. -.sp -.KS -.SH -Getting Started -.ND -.IP -.tl 'Unix for Beginners \- Second Edition''USD:1' -.QP -An introduction to the most basic uses of the system. -.ND -.IP -.tl 'Learn \- Computer\-Aided Instruction on UNIX (Second Edition)''USD:2' -.QP -Describes a computer-aided instruction program that walks new users through -the basics of files, the editor, and document prepararation software. -.ND -.SH -Basic Utilities -.ND -.IP -.tl 'An Introduction to the UNIX Shell''USD:3' -.QP -Steve Bourne's introduction to the capabilities of -.I sh, -a command interpreter especially popular for writing shell scripts. -.ND -.IP -.tl 'An Introduction to the C shell''USD:4' -.QP -This introduction to -.I csh, -(a command interpreter popular for interactive work) describes many -commonly used UNIX commands, assumes little prior knowledge of UNIX, -and has a glossary useful for beginners. -.ND -.IP -.tl 'DC \- An Interactive Desk Calculator''USD:5' -.QP -A super HP calculator, if you do not need floating point. -.ND -.IP -.tl 'BC \- An Arbitrary Precision Desk-Calculator Language''USD:6' -.QP -A front end for DC that provides infix notation, control flow, and -built\-in functions. -.ND -.SH -Communicating with the World -.ND -.IP -.tl 'Mail Reference Manual''USD:7' -.QP -Complete details on one of the programs for sending and reading your mail. -.ND -.IP -.tl 'The Rand MH Message Handling System''USD:8' -.QP -This system for managing your computer mail uses lots of small programs, -instead of one large one. -.ND -.SH -Text Editing -.ND -.IP -.tl 'A Tutorial Introduction to the Unix Text Editor''USD:9' -.QP -An easy way to get started with the line editor, -.I ed. -.ND -.IP -.tl 'Advanced Editing on Unix''USD:10' -.QP -The next step. -.ND -.IP -.tl 'An Introduction to Display Editing with Vi''USD:11' -.QP -The document to learn to use the \fIvi\fR screen editor. -.ND -.IP -.tl 'Ex Reference Manual (Version 3.7)''USD:12' -.QP -The final reference for the \fIex\fR editor. -.ND -.IP -.tl 'Vi Reference Manual''USD:13' -.QP -The definitive reference for the \fInvi\fR editor. -.ND -.IP -.tl 'Jove Manual for UNIX Users''USD:14' -.QP -Jove is a small, self-documenting, customizable display editor, based on -EMACS. A plausible alternative to -.I vi. -.ND -.IP -.tl 'SED \- A Non-interactive Text Editor''USD:15' -.QP -Describes a one-pass variant of -.I ed -useful as a filter for processing large files. -.ND -.IP -.tl 'AWK \- A Pattern Scanning and Processing Language (Second Edition)''USD:16' -.QP -A program for data selection and transformation. -.ND -.SH -Document Preparation -.ND -.IP -.tl 'Typing Documents on UNIX: Using the \-ms Macros with Troff and Nroff''USD:17' -.QP -Describes and gives examples of the basic use of the typesetting tools and -``-ms'', a frequently used package of formatting requests that make it easier -to lay out most documents. -.ND -.IP -.tl 'A Revised Version of \-ms''USD:18' -.QP -A brief description of the Berkeley revisions made to the \-ms formatting -macros for nroff and troff. -.ND -.IP -.tl 'Writing Papers with \fInroff\fR using \-me''USD:19' -.QP -Another popular macro package for -.I nroff. -.ND -.IP -.tl '\-me Reference Manual''USD:20' -.QP -The final word on \-me. -.ND -.IP -.tl 'NROFF/TROFF User\'s Manual''USD:21' -.QP -Extremely detailed information about these document formatting programs. -.ND -.IP -.tl 'A TROFF Tutorial''USD:22' -.QP -An introduction to the most basic uses of -.I troff -for those who really want to know such things, or want to write their -own macros. -.ND -.IP -.tl 'A System for Typesetting Mathematics''USD:23' -.QP -Describes -.I eqn, -an easy-to-learn language for high-quality mathematical typesetting. -.ND -.IP -.tl 'Typesetting Mathematics \- User\'s Guide (Second Edition)''USD:24' -.QP -More details about how to use -.I eqn. -.ND -.IP -.tl 'Tbl \- A Program to Format Tables''USD:25' -.QP -A program for easily typesetting tabular material. -.ND -.IP -.tl 'Refer \- A Bibliography System''USD:26' -.QP -An introduction to one set of tools used to maintain bibliographic databases. -The major program, -.I refer, -is used to automatically retrieve and format the references -based on document citations. -.ND -.IP -.tl 'Some Applications of Inverted Indexes on the UNIX System''USD:27' -.QP -Mike Lesk's paper describes the -.I refer -programs in a somewhat larger context. -.ND -.IP -.tl 'BIB \- A Program for Formatting Bibliographies''USD:28' -.QP -This is an alternative to -.I refer -for expanding citations in documents. -.ND -.IP -.tl 'Writing Tools \- The STYLE and DICTION Programs''USD:29' -.QP -These are programs which can help you understand and improve your -writing style. -.ND -.SH -Amusements -.ND -.IP -.tl 'A Guide to the Dungeons of Doom''USD:30' -.QP -An introduction to the popular game of \fIrogue\fP, a fantasy game -which is one of the biggest known users of VAX cycles. -.ND -.IP -.tl 'Star Trek''USD:31' -.QP -You are the Captain of the Starship Enterprise. Wipe out the -Klingons and save the Federation. -.KE diff --git a/share/doc/usd/Title b/share/doc/usd/Title deleted file mode 100644 index d36a55f..0000000 --- a/share/doc/usd/Title +++ /dev/null @@ -1,120 +0,0 @@ -.\" Copyright (c) 1986, 1993 The Regents of the University of California. -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)Title 8.2 (Berkeley) 4/19/94 -.\" -.ps 18 -.vs 22 -.sp 2.75i -.ft B -.ce 2 -UNIX User's Supplementary Documents -(USD) -.ps 14 -.vs 16 -.sp |4i -.ce 2 -4.4 Berkeley Software Distribution -.sp |5.75i -.ft R -.pt 12 -.vs 16 -.ce -June, 1993 -.sp |8.2i -.ce 5 -Computer Systems Research Group -Computer Science Division -Department of Electrical Engineering and Computer Science -University of California -Berkeley, California 94720 -.bp -\& -.sp |1i -.hy 0 -.ps 10 -.vs 12p -Copyright 1979, 1980, 1983, 1986, 1993 -The Regents of the University of California. All rights reserved. -.sp 2 -Other than the specific documents listed below as copyrighted by AT&T, -redistribution and use of this manual in source and binary forms, -with or without modification, are permitted provided that the -following conditions are met: -.sp 0.5 -.in +0.2i -.ta 0.2i -.ti -0.2i -1) Redistributions of this manual must retain the copyright -notices on this page, this list of conditions and the following disclaimer. -.ti -0.2i -2) Software or documentation that incorporates part of this manual must -reproduce the copyright notices on this page, this list of conditions and -the following disclaimer in the documentation and/or other materials -provided with the distribution. -.ti -0.2i -3) All advertising materials mentioning features or use of this software -must display the following acknowledgement: -``This product includes software developed by the University of -California, Berkeley and its contributors.'' -.ti -0.2i -4) Neither the name of the University nor the names of its contributors -may be used to endorse or promote products derived from this software -without specific prior written permission. -.in -0.2i -.sp -\fB\s-1THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE.\s+1\fP -.sp 2 -Documents USD:1, 2, 3, 5, 6, 9, 10, 15, 16, 17, 21, 22, 23, 24, 25, 26, 27, -and 29 are copyright 1979, AT&T Bell Laboratories, Incorporated. -Holders of \x'-1p'UNIX\v'-4p'\s-3TM\s0\v'4p'/32V, -System III, or System V software licenses are -permitted to copy these documents, or any portion of them, -as necessary for licensed use of the software, -provided this copyright notice and statement of permission -are included. -.sp 2 -Documents USD:8, 14, and 28 are part of the -user contributed software. -.sp 2 -The views and conclusions contained in this manual are those of the -authors and should not be interpreted as representing official policies, -either expressed or implied, of the Regents of the University of California. diff --git a/share/man/man8/adduser.8 b/share/man/man8/adduser.8 deleted file mode 100644 index 73e3dcd..0000000 --- a/share/man/man8/adduser.8 +++ /dev/null @@ -1,115 +0,0 @@ -.\" Copyright (c) 1980, 1991, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)adduser.8 8.1 (Berkeley) 6/5/93 -.\" -.Dd June 5, 1993 -.Dt ADDUSER 8 -.Os BSD 4 -.Sh NAME -.Nm adduser -.Nd procedure for adding new users -.Sh DESCRIPTION -A new user must choose a login name, which must not already appear in -.Pa /etc/passwd -or -.Pa /etc/aliases . -It must also not begin with the hyphen -.Ql Fl -character. -It is strongly recommended that it be all lower-case, and not contain -the dot -.Ql \&. -character, as that tends to confuse mailers. -An account can be added by editing a line into the passwd file; this -must be done with the password file locked e.g. by using -.Xr chpass 1 -or -.Xr vipw 8 . -.Pp -A new user is given a group and user id. -Login and user id's should be unique across the system, and often across -a group of systems, since they are used to control file access. -Typically, users working on similar projects will be put in the same groups. -At the University of California, Berkeley, we have groups for system staff, -faculty, graduate students, and special groups for large projects. -.Pp -A skeletal account for a new user -\*(lqernie\*(rq -might look like: -.Bd -literal -ernie::25:30::0:0:Ernie Kovacs,508 Evans Hall,x7925, - 642-8202:/a/users/ernie:/bin/csh -.Ed -.Pp -For a description of each of these fields, see -.Xr passwd 5 . -.Pp -It is useful to give new users some help in getting started, supplying -them with a few skeletal files such as -.Pa \&.profile -if they use -.Pa /bin/sh , -or -.Pa \&.cshrc -and -.Pa \&.login -if they use -.Pa /bin/csh . -The directory -.Pa /usr/share/skel -contains skeletal definitions of such files. -New users should be given copies of these files which, for instance, -use -.Xr tset 1 -automatically at each login. -.Sh FILES -.Bl -tag -width /etc/master.passwdxx -compact -.It Pa /etc/master.passwd -user database -.It Pa /usr/share/skel -skeletal login directory -.El -.Sh SEE ALSO -.Xr chpass 1 , -.Xr finger 1 , -.Xr passwd 1 , -.Xr aliases 5 , -.Xr passwd 5 , -.Xr pwd_mkdb 8 , -.Xr vipw 8 -.Sh BUGS -User information should (and eventually will) be stored elsewhere. -.Sh HISTORY -The -.Nm -command appeared in -.Bx 3.0 . diff --git a/share/tabset/3101 b/share/tabset/3101 deleted file mode 100644 index dab586b..0000000 --- a/share/tabset/3101 +++ /dev/null @@ -1 +0,0 @@ -H 0 0 0 0 0 0 0 0 0 diff --git a/share/tabset/9837 b/share/tabset/9837 deleted file mode 100644 index 57d211f..0000000 --- a/share/tabset/9837 +++ /dev/null @@ -1 +0,0 @@ -3
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
\ No newline at end of file diff --git a/share/tabset/aa b/share/tabset/aa deleted file mode 100644 index 5784745..0000000 --- a/share/tabset/aa +++ /dev/null @@ -1 +0,0 @@ - 1 1 1 1 1 1 1 1 1 diff --git a/share/tabset/aed512 b/share/tabset/aed512 deleted file mode 100644 index 2c9d5fc..0000000 --- a/share/tabset/aed512 +++ /dev/null @@ -1 +0,0 @@ -\EG1MMM.`40K0001202080K8001????00^L\EC80L80{80^L\EK010100????K0601??0000c818100\EG1HHH.\07210000019A27FD006A280D002A200A52429FE8524861086118612861360N031B4C3F3F1800N041B0C1B4C38301800N001B3B313030301800N011B3B313030341800N021B3B313030381800N050800N061B3B313335301800\07211000015A58E8D5011A58F8D5111A5908D5211A5918D531160\07212000015AD5011858EAD5111858FAD52118590AD5311859160\0721300004B2071C5858E0A18658E0A0A858EA900858F268FA5278590A50A29018591A9F51865908590A90165918591A59038E58E8590A591E58F290185912071C5180A0A0A0901858EA900858F268F60\0721350000BA9472031DEA9502031DE60\E\E\E\EG1MMM.^A diff --git a/share/tabset/beehive b/share/tabset/beehive deleted file mode 100644 index 6d30c69..0000000 --- a/share/tabset/beehive +++ /dev/null @@ -1,2 +0,0 @@ -
- diff --git a/share/tabset/diablo b/share/tabset/diablo deleted file mode 100644 index 8acc53f..0000000 --- a/share/tabset/diablo +++ /dev/null @@ -1,3 +0,0 @@ - 9 -2 1 1 1 !1 )1 11 91 A1 I1 Q1 Y1 a1 i1 q1 y1 - 9 diff --git a/share/tabset/dtc382 b/share/tabset/dtc382 deleted file mode 100644 index 79257c3..0000000 --- a/share/tabset/dtc382 +++ /dev/null @@ -1 +0,0 @@ -
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
\ No newline at end of file diff --git a/share/tabset/hp700-wy b/share/tabset/hp700-wy Binary files differdeleted file mode 100644 index a48c65b..0000000 --- a/share/tabset/hp700-wy +++ /dev/null diff --git a/share/tabset/ibm3101 b/share/tabset/ibm3101 deleted file mode 100644 index 7e510ef..0000000 --- a/share/tabset/ibm3101 +++ /dev/null @@ -1 +0,0 @@ -H 0 0 0 0 0 0 0 0 0
\ No newline at end of file diff --git a/share/tabset/std b/share/tabset/std deleted file mode 100644 index e93f737..0000000 --- a/share/tabset/std +++ /dev/null @@ -1 +0,0 @@ -
3
1 1 1 1 1 1 1 1 1 1 1 1 1 diff --git a/share/tabset/stdcrt b/share/tabset/stdcrt deleted file mode 100644 index 66ba12f..0000000 --- a/share/tabset/stdcrt +++ /dev/null @@ -1 +0,0 @@ -
3
1 1 1 1 1 1 1 1 1
\ No newline at end of file diff --git a/share/tabset/tandem653 b/share/tabset/tandem653 deleted file mode 100644 index 4588c34..0000000 --- a/share/tabset/tandem653 +++ /dev/null @@ -1 +0,0 @@ -3
1 1 1 1 1 1 1 1 1 1 diff --git a/share/tabset/teleray b/share/tabset/teleray deleted file mode 100644 index 46158f3..0000000 --- a/share/tabset/teleray +++ /dev/null @@ -1 +0,0 @@ -GY9(FY90FY98FY9@FY9HFY9PFY9XFY9`FY9hF
\ No newline at end of file diff --git a/share/tabset/vt100 b/share/tabset/vt100 deleted file mode 100644 index 2ea71e1..0000000 --- a/share/tabset/vt100 +++ /dev/null @@ -1 +0,0 @@ -
[3g
H H H H H H H H H H
\ No newline at end of file diff --git a/share/tabset/vt100-w b/share/tabset/vt100-w deleted file mode 100644 index 20c0614..0000000 --- a/share/tabset/vt100-w +++ /dev/null @@ -1 +0,0 @@ -
[3g
H H H H H H H H H H H H H H H H H
\ No newline at end of file diff --git a/share/tabset/wyse-adds b/share/tabset/wyse-adds deleted file mode 100644 index 996ed66..0000000 --- a/share/tabset/wyse-adds +++ /dev/null @@ -1,3 +0,0 @@ -Setting tabs...
2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 - -
diff --git a/share/tabset/xerox1720 b/share/tabset/xerox1720 deleted file mode 100644 index 7437292..0000000 --- a/share/tabset/xerox1720 +++ /dev/null @@ -1 +0,0 @@ -2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
\ No newline at end of file diff --git a/share/tabset/zenith29 b/share/tabset/zenith29 deleted file mode 100644 index ada8330..0000000 --- a/share/tabset/zenith29 +++ /dev/null @@ -1 +0,0 @@ -[3g
H H H H H H H H H H diff --git a/share/tmac/README b/share/tmac/README deleted file mode 100644 index a15dcaf..0000000 --- a/share/tmac/README +++ /dev/null @@ -1,145 +0,0 @@ -# @(#)README 8.1 (Berkeley) 6/8/93 - --mdoc stuff - doc-* files are unstripped tmac.doc-* files - -Site specific string and register names (for doc-{common,nroff,ditroff}) - -.\" tmac.doc-nroff -.\" -.\" Default fonts -.\" FONT DITROFF style TROFF Style NROFF Style -.\" Default Times Roman Times Roman Printer Dependent -.\" Default bold Times Bold Times Bold Printer Dependent -.\" Default italic Times Italic Times Italic Underline -.\" Const width lit Courier Times ? Printer Dependent -.\" Const width bold Courier Bold ? Printer Dependent -.\" Const width ital Courier Oblique ? Printer Dependent -.\" -.\" Default point size 10 (vs 12), Section Header point size 12 (vs 14) -.\" -.\" STRING CONSTANTS -.\" NS aD string (site) Address Style -.\" NS aR string (site) Argument Reference Style -.\" NS cM string (site) Interactive Comand Modifier (flag) -.\" NS eM string (site) Emphasis (in the English sense - usually italics) -.\" NS eR string (site) Errno Style -.\" NS eV string (site) Environment Variable Style -.\" NS fA string (site) Function Argument Style -.\" NS fL string (site) Command Line Flag Style -.\" NS fN string (site) Function Name Style -.\" NS Hs string (site) Header String Style -.\" NS iC string (site) Interactive Command Style -.\" NS lI string (site) Literal Style -.\" NS lp string (site) Left Function Parenthesis Style -.\" NS rp string (site) Right Function Parenthesis Style -.\" NS lP string (site) Left Parenthesis Style -.\" NS rP string (site) Right Parenthesis Style -.\" NS lB string (site) Bracket Open Style -.\" NS rB string (site) Bracket Close Style -.\" NS mL string (site) Diagnostic Message List Style -.\" NS nM string (site) Name (subject of manpage) Style -.\" NS nO string (site) normal font (default) -.\" NS lO string (site) Options Open Bracket Style -.\" NS rO string (site) Options Close Bracket Style -.\" NS pA string (site) Pathname Style -.\" NS Pu string (site) Accepted punctuation string for -mdoc syntax -.\" NS rA string (site) Reference Author Style -.\" NS rT string (site) Reference Title Style -.\" NS sH string (site) Section Header Style -.\" NS sY string (site) Symbolic Emphasis (boldface) -.\" NS sX string (site) Section Header Cross References -.\" NS tN string (site) Trade Name Style -.\" NS vA string (site) Generic Variable Style -.\" NS Vs string (site) Volume Title Style -.\" NS xR string (site) Cross Reference STyle (man page only) -.\" MISCELLANEOUS -.\" NS lS string (site) list-label-sep (list-types hang, number, bullet, diag) -.\" NS iV string soft space (can be split on a newline or padded in adjust mode) -.\" NS sV string manipulable space -.\" NS hV string hard space (cannot be split on newline or padded) -.\" NS tV string tab space (for column function) -.\" NS sI register (site) subheader indent -.\" NS tI register (site) text indent -.\" NS cR register nroff crt flag (1 for crt/online, 0 for printer) -.\" NS Pp register (site) paragraph vertical spacing -.\" NS dI register flag (Bd) -.\" INDENT WIDTHS (used for tag widths, and argument tests) -.\" NS Ad register (site) Width Needed for Address Tag (indented amount) -.\" NS Ac register (site) Angle Quote Close Value -.\" NS Ao register (site) Angle Quote Open Width -.\" NS Aq register (site) Angle Quote Width -.\" NS Bc register (site) Bracket Quote Close Value -.\" NS Bl register (site) Bullet List Macro Value -.\" NS Bo register (site) Bracket Quote Open Width -.\" NS Bq register (site) Bracket Quote Width -.\" NS Ar register (site) Width Needed for Argument -.\" NS Cm register (site) Width neeeded for Interactive Command Modifier -.\" NS Co register (site) Width Needed for Column offset -.\" NS Cx register (site) Width Needed for Complex Expressions -.\" NS Ds register (site) Width Needed for Display (right and left margins) -.\" NS Dc register (site) Double Quote Close Value -.\" NS Do register (site) Double Quote Open Width -.\" NS Dq register (site) Double Quote Width -.\" NS Dv register (site) Defined (#define) variable (markup) -.\" NS tI register (site) tI is dependent on Ds and used by .Dp -.\" NS Ec register (site) Enclose Quote Close Value -.\" NS El register (site) Enumerated List Macro Value -.\" NS Eo register (site) Enclose Quote Open Width -.\" NS Em register (site) Width Needed for Display -.\" NS Eq register (site) Enclose Quote Width -.\" NS Er register (site) Width Needed for Errno Types -.\" NS Ev register (site) Width Needed for Environment Variables -.\" NS Ex register (site) Width Needed for Example Indent -.\" NS Fa register (site) Width Needed for Function Argument -.\" NS Fl register (site) Width Needed for Flag -.\" NS Fc register (site) Funtion Quote Close Value -.\" NS Fn register (site) Width Needed for Function -.\" NS Fo register (site) Funtion Quote Open Width -.\" NS Hl register (site) Hypehnated List Macro Value (sub bullet list) -.\" NS I1, I2, I3 register (site) Indent values -.\" NS Ic register (site) Width neeeded for Interactive Command Name -.\" NS Li register (site) Width Needed for Literal Constant -.\" NS Ms register (site) Width Needed for Math Symbol ? not sure if needed -.\" NS Nm register (site) Width Needed for Name -.\" NS No register (site) Width Needed for Name -.\" NS Ns register (site) No Space Macro Value -.\" NS Oo register (site) Width Needed for Option Open -.\" NS Oc register (site) Width Needed for Option Close -.\" NS Op register (site) Width Needed for Option (one line) -.\" NS Pa register (site) Width Needed for Pathname -.\" NS Pf register (site) Prefix Macro Value -.\" NS Pq register (site) Parenthesis Quote Width -.\" NS Ql register (site) Width Needed for Quoted Literal -.\" NS Sc register (site) Single Quote Close Value -.\" NS So register (site) Single Quote Open Width -.\" NS Sq register (site) Single Quote Width -.\" NS Sy register (site) Width Needed for Symbols, Modes or Masks -.\" NS Sx register (site) Width Needed for Section Header Cross References -.\" NS Ra register (site) Reference Author -.\" NS Rj register (site) Reference Journal Name -.\" NS Rn register (site) Reference Issue Number -.\" NS Ro register (site) Reference Optional Information -.\" NS Rr register (site) Reference Technical Report Name -.\" NS Rt register (site) Reference Book or Article title Title -.\" NS Rv register (site) Reference Volume -.\" NS Ta register (site) Tab macro register -.\" NS Tn register (site) Trade Name Macro Value -.\" NS Tv register (site) Tab Macro Value -.\" NS Tx register (site) Width needed for default or unknown text width -.\" NS Va register (site) Width Needed for Generic Variable -.\" NS Xc register (site) Extended Argument List Close Value -.\" NS Xo register (site) Extended Argument List Open Width -.\" NS Xr register (site) Width Needed for Cross Reference. -.\" .nr %A 1 -.\" .nr %J 1 -.\" .nr %N 1 -.\" .nr %O 1 -.\" .nr %R 1 -.\" .nr %T 1 -.\" .nr %V 1 -.\" PAGE LAYOUT -.\" NS pL macro - page layout -.\" NS Hm register header margin -.\" NS Fm register footer margin -.\" NS vV register vertical distance (from Section headers/Lists/Subsections) diff --git a/share/tmac/doc b/share/tmac/doc deleted file mode 100644 index 609b9c1..0000000 --- a/share/tmac/doc +++ /dev/null @@ -1,3456 +0,0 @@ -.\" Copyright (c) 1991, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)doc 8.1 (Berkeley) 6/8/93 -.\" -.\" .mdoc-parse - attempt to parse troff request arguments -.\" %beginstrip% -.if \n(.g \{\ -.cp 0 -.ftr C CR -.\} -.if t \{\ -. so /usr/share/tmac/tmac.doc-ditroff -.\} -.if n \{\ -. so /usr/share/tmac/tmac.doc-nroff -.\} -.so /usr/share/tmac/tmac.doc-common -.so /usr/share/tmac/tmac.doc-syms -.\" NS Db macro - start/stop DEBUG MODE -.\" NS Db register DEBUG MODE -.\" NS iN register DEBUG MODE (inline if 1, to stderr if 0 (default)) -.nr Db 0 -.de Db -.ie \\n(.$==0 \{\ -. ie \\n(Db==0 \{\ -.tm DEBUGGING ON -. nr Db 1 -. \} -. el \{\ -.tm DEBUGGING OFF -. nr Db 0 -. \} -.\} -.el \{\ -. if "\\$1"on" \{\ -.tm DEBUGGING ON -. nr Db 1 -. \} -. if "\\$1"off" \{\ -.tm DEBUGGING OFF -. nr Db 0 -. \} -.\} -.. -.\" NS aV macro - parse argument vector (recursive) (.aV arg ... ) -.\" NS fV macro - parse argument vector (recursive) (.fV) -.\" NS aC register argument counter (aV/fV) -.\" NS fV register argument counter (must set to \\n(.$ prior to reuqest) (fV) -.\" NS A[0-9] argument vector (aV/fV) -.\" NS C[0-9] reg. arg type(1=macro, 2=arg, 3=punct-suf, 4=punct-pre) (aV/fV) -.\" NS S[0-9] space vector (sV) -.\" NS aP register argument pointer (aV) -.\" NS yU local string used for debugging -.\" NS iI local register (indent for inline debug mode) -.\" NS mN name of calling request (set in each user requestable macro) -.de aV -.nr aC \\n(aC+1 -.ie "\\$1"|" \{\ -. if "\\*(mN"Op" .ds A\\n(aC \fR\\$1\fP -. if "\\*(mN"Ar" .ds A\\n(aC \fR\\$1\fP -. if "\\*(mN"Fl" .ds A\\n(aC \fR\\$1\fP -. if "\\*(mN"Cm" .ds A\\n(aC \fR\\$1\fP -. if "\\*(mN"It" .ds A\\n(aC \fR\\$1\fP -.\} -.el .ds A\\n(aC \\$1 -.aU \\n(aC -.nr C\\n(aC \\n(aT -.s\\n(aT -.if \\n(Db \{\ -. if \\n(aT==1 .ds yU Executable -. if \\n(aT==2 .ds yU String -. if \\n(aT==3 .ds yU Closing Punctuation or suffix -. if \\n(aT==4 .ds yU Opening Punctuation or prefix -. if \\n(iN==1 \{\ -. br -. nr iI \\n(.iu -. in -\\n(iIu -. if \\n(aC==1 \{\ -\&\fBDEBUG(argv) MACRO:\fP `.\\*(mN' \fBLine #:\fP \\n(.c -. \} -\&\t\fBArgc:\fP \\n(aC \fBArgv:\fP `\\*(A\\n(aC' \fBLength:\fP \\n(sW -\&\t\fBSpace:\fP `\\*(S\\n(aC' \fBClass:\fP \\*(yU -. \} -. if \\n(iN==0 \{\ -. if \\n(aC==1 \{\ -. tm DEBUG(argv) MACRO: `.\\*(mN' Line #: \\n(.c -. \} -. tm \tArgc: \\n(aC Argv: `\\*(A\\n(aC' Length: \\n(sW -. tm \tSpace: `\\*(S\\n(aC' Class: \\*(yU -. \} -.\} -.ie \\n(.$==1 \{\ -. nr aP 0 -. ie \\n(dZ==1 \{\ -. if \\n(oM>1 .as b1 \\*(S0 -. \} -. el \{\ -. if \\n(oM>0 \{\ -. if \\n(fC==0 .as b1 \\*(S0 -. \} -. \} -. ds S0 \\*(S\\n(aC -. if \\n(Db \{\ -. if \\n(iN==1 \{\ -\&MACRO REQUEST: \t.\\*(mN \\*(A1 \\*(A2 \\*(A3 \\*(A4 \\*(A5 \\*(A6 \\*(A7 \\*(A8 \\*(A9 -. br -. in \\n(iIu -. \} -. if \\n(iN==0 \{\ -.tm \tMACRO REQUEST: .\\*(mN \\*(A1 \\*(A2 \\*(A3 \\*(A4 \\*(A5 \\*(A6 \\*(A7 \\*(A8 \\*(A9 -. \} -. \} -.\} -.el .aV \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.. -.de fV -.nr aC \\n(aC+1 -.if "\\*(A\\n(aC"|" \{\ -. if "\\*(mN"Op" .ds A\\n(aC \fR\\*(A\\n(aC\fP -. if "\\*(mN"Ar" .ds A\\n(aC \fR\\*(A\\n(aC\fP -. if "\\*(mN"Fl" .ds A\\n(aC \fR\&\\*(A\\n(aC\fP -. if "\\*(mN"Cm" .ds A\\n(aC \fR\\*(A\\n(aC\fP -. if "\\*(mN"It" .ds A\\n(aC \fR\\*(A\\n(aC\fP -.\} -.aU \\n(aC -.nr C\\n(aC \\n(aT -.s\\n(aT -.if \\n(Db \{\ -. if \\n(aT==1 .ds yU Executable -. if \\n(aT==2 .ds yU String -. if \\n(aT==3 .ds yU Closing Punctuation or suffix -. if \\n(aT==4 .ds yU Opening Punctuation or prefix -. if \\n(iN==1 \{\ -. br -. nr iI \\n(.iu -. in -\\n(iIu -. if \\n(aC==1 \{\ -\&\fBDEBUG(fargv) MACRO:\fP `.\\*(mN' \fBLine #:\fP \\n(.c -. \} -\&\t\fBArgc:\fP \\n(aC \fBArgv:\fP `\\*(A\\n(aC' \fBLength:\fP \\n(sW -\&\t\fBSpace:\fP `\\*(S\\n(aC' \fBClass:\fP \\*(yU -. \} -. if \\n(iN==0 \{\ -. if \\n(aC==1 \{\ -. tm DEBUG(fargv) MACRO: `.\\*(mN' Line #: \\n(.c -. \} -. tm \tArgc: \\n(aC Argv: `\\*(A\\n(aC' Length: \\n(sW -. tm \tSpace: `\\*(S\\n(aC' Class: \\*(yU -. \} -.\} -.ie \\n(fV==1 \{\ -. nr aP 0 -. ie \\n(dZ==1 \{\ -. if \\n(oM>1 .as b1 \\*(S0 -. \} -. el \{\ -. if \\n(oM>0 \{\ -. if \\n(fC==0 .as b1 \\*(S0 -. \} -. \} -. ds S0 \\*(S\\n(aC -. nr fV 0 -. if \\n(Db \{\ -. ie \\n(iN \{\ -\&\tMACRO REQUEST: .\\*(mN \\*(A1 \\*(A2 \\*(A3 \\*(A4 \\*(A5 \\*(A6 \\*(A7 \\*(A8 \\*(A9 -. br -. in \\n(iIu -. \} -. el \{\ -.tm \tMACRO REQUEST: .\\*(mN \\*(A1 \\*(A2 \\*(A3 \\*(A4 \\*(A5 \\*(A6 \\*(A7 \\*(A8 \\*(A9 -. \} -. \} -.\} -.el \{\ -. nr fV \\n(fV-1 -. fV -.\} -.. -.\" NS aX macro - stuff saved strings into `b1' (used by -diag list) -.de aX -.nr aP \\n(aP+1 -.as b1 \&\\*(A\\n(aP -.ie \\n(fV==1 \{\ -. nr aP 0 -. nr fV 0 -.\} -.el \{\ -. as b1 \&\\*(sV -. nr fV \\n(fV-1 -. aX -.\} -.. -.\" NS aI macro - append arg to arg vector: .aI [arg] [type] (used by .En only) -.de aI -.ie \\n(aC<9 \{\ -. nr aC \\n(aC+1 -. ds A\\n(aC \\$1 -. nr C\\n(aC \\$2 -. s\\$2 -. ds xV S\\n(aC -.\} -.el \{\ -. tm Usage: Too many arguments (maximum of 8 accepted) (#\\n(.c) -. tm \\*(A1 \\*(A2 \\*(A3 \\*(A4 \\*(A5 \\*(A6 \\*(A7 \\*(A8 \\*(A9 -.\} -.. -.\" -.\" NS aZ macro - print buffer (pB) and clean up arg vectors (aY) -.de aZ -.pB -.aY -.. -.\" NS aY macro - clean up arg vector -.de aY -.rm C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 -.rm A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 -.rm S1 S2 S3 S4 S5 S6 S7 S8 S9 -.nr aC 0 -.nr aP 0 -.. -.\" NS pB macro - test for end of vector (eol) (print b1 buffer or divert) -.de pB -.ie \\n(dZ==1 \{\ -. if \\n(oM==1 \{\&\\*(b1 -. rm S0 -. ds b1 -. \} -. if \\n(oM==0 \{\ -. x2 -. \} -.\} -.el \{\ -. ie \\n(oM==0 \{\&\\*(b1 -. rm S0 -. ds b1 -. \} -. el \{\ -. if ((\\n(sM==1)&(\\n(tP==0)) \{\ -. x1 -. \} -. \} -.\} -.hy -.. -.\" NS x1 macro - save buffer and divert if tP flag set -.\" NS eB diversion string -.\" NS b2 string save of buffer -.\" NS lK register count of lines read from input file -.de x1 -.nr dZ \\n(dZ+1 -.ds b2 \\*(b1 -.ds b1 -.nr lK \\n(.c -.ev 2 -.fi -.di eB -.. -.\" -.\" NS x2 macro - end diversion and print -.\" NS b0 string local temporary -.de x2 -.br -.di -.ev -.ie (\\n(.c-\\n(lK>1) \{\ -. ds b0 \&\\*(eB\\ -. ds b1 \\*(b2\\*(b0\\*(b1 -.\} -.el .ds b1 \\*(b2\\*(b1 -\&\\*(b1 -.rm eB b2 b0 b1 -.nr dZ \\n(dZ-1 -.. -.\" NS Fl macro - flags (appends - and prints flags) -.\" NS cF register save current font -.\" NS cZ register save current font size -.de Fl -.as b1 \&\\*(fL -.if \\n(aC==0 \{\ -. ie \\n(.$==0 \{\ -. as b1 \&\|\-\|\fP\s0 -. pB -. \} -. el \{\ -. ds mN Fl -. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. \} -.\} -.if \\n(aC>0 \{\ -. ie (\\n(aC-\\n(aP)==0 \{\ -. as b1 \&\|\-\fP\s0 -. aZ -. \} -. el \{\ -. nr aP \\n(aP+1 -. ie \\n(C\\n(aP==1 \{\ -. as b1 \&\|\-\fP\s0 -. \\*(A\\n(aP -. \} -. el \{\ -. nr cF \\n(.f -. nr cZ \\n(.s -. if \\n(C\\n(aP==3 \{\ -. as b1 \&\|\-\| -. \} -. fR -. \} -. \} -.\} -.. -.\" -.\" NS fR macro - Fl flag recursion routine (special handling) -.\" NS jM local register -.\" NS jN local register -.\" -.de fR -.hy 0 -.nr jM \\n(C\\n(aP -.ie \\n(jM==1 \{\ -. as b1 \&\fP\s0 -. \\*(A\\n(aP -.\} -.el \{\ -. nr jN \\n(aP -. ie \\n(jM==2 \{\ -. ie !"\\*(A\\n(aP"\\*(Ba" \{\ -. ie !"\\*(A\\n(aP"\fR|\fP" \{\ -. ie "\\*(A\\n(aP"-" .as b1 \&\|\-\^\-\| -. el .as b1 \&\|\-\\*(A\\n(aP -. \} -. el .as b1 \&\\*(A\\n(aP -. \} -. el .as b1 \&\\*(A\\n(aP -. \} -. el .as b1 \&\f\\n(cF\s\\n(cZ\\*(A\\n(aP\fP\s0 -. ie \\n(aC==\\n(aP \{\ -. if \\n(jM==4 .as b1 \&\|\- -. as b1 \&\fP\s0 -. aZ -. \} -. el \{\ -. nr aP \\n(aP+1 -. ie ((\\n(C\\n(aP==3)&(\\n(C\\n(jN==4)) .as b1 \&\|\- -. el .as b1 \&\\*(S\\n(jN -. fR \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. \} -.\} -.rr jM jN -.. -.\" -.\" NS nR macro - general name recursion routine -.\" NS jM local register -.\" NS jN local register -.de nR -.hy 0 -.nr jM \\n(C\\n(aP -.ie \\n(jM==1 \{\ -. as b1 \&\f\\n(cF\s\\n(cZ -. \\*(A\\n(aP -.\} -.el \{\ -. nr jN \\n(aP -. ie \\n(jM==2 .as b1 \&\\*(A\\n(aP -. el .as b1 \&\f\\n(cF\s\\n(cZ\\*(A\\n(aP\fP\s0 -. ie \\n(aC==\\n(aP \{\ -. as b1 \&\f\\n(cF\s\\n(cZ -. aZ -. \} -. el \{\ -. nr aP \\n(aP+1 -. as b1 \&\\*(S\\n(jN -. nR -. \} -.\} -.rr jM jN -.. -.\" NS Ar macro - command line `argument' macro -.\" -.de Ar -.as b1 \\*(aR -.if \\n(aC==0 \{\ -. ie \\n(.$==0 \{\ -. as b1 file\ ...\fP\s0 -. pB -. \} -. el \{\ -. ds mN Ar -. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. \} -.\} -.if \\n(aC>0 \{\ -. ie (\\n(aC-\\n(aP)==0 \{\ -. as b1 \&file\ ...\fP\s0 -. aZ -. \} -. el \{\ -. nr aP \\n(aP+1 -. ie \\n(C\\n(aP==1 \{\ -. as b1 \&file\ ...\fP\s0 -. \\*(A\\n(aP -. \} -. el \{\ -. nr cF \\n(.f -. nr cZ \\n(.s -. if \\n(C\\n(aP==3 \{\ -. as b1 \&file\ ... -. \} -. nR -. \} -. \} -.\} -.. -.\" NS Ad macro - Addresses -.de Ad -.if \\n(aC==0 \{\ -. ie \\n(.$==0 .tm Usage: .Ad address ... \\*(Pu (#\\n(.c) -. el \{\ -. ds mN Ad -. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. \} -.\} -.if \\n(aC>\\n(aP \{\ -. as b1 \\*(aD -. nr aP \\n(aP+1 -. nr cF \\n(.f -. nr cZ \\n(.s -. nR -.\} -.. -.\" NS Cd macro - Config declaration (for section 4 SYNOPSIS) (not callable) -.\" needs work - not very translatable -.de Cd -.if \\n(aC==0 \{\ -. ie \\n(.$==0 .tm Usage: .Cd Configuration file declaration (#\\n(.c) -. el \{\ -. ds mN Cd -. ds A1 \\$1 -. ds A2 \\$2 -. ds A3 \\$3 -. ds A4 \\$4 -. ds A5 \\$5 -. ds A6 \\$6 -. ds A7 \\$7 -. ds A8 \\$8 -. ds A9 \\$9 -. nr fV \\n(.$ -. fV -. \} -.\} -.br -.if \\n(aC>\\n(aP \{\ -. as b1 \\*(nM -. nr aP \\n(aP+1 -. nr cF \\n(.f -. nr cZ \\n(.s -. ie \\n(nS \{\ -. if "\\*(mN"Cd" \{\ -. rs -. ie \\n(nS>1 .br -. el \{\ -. if \\n(iS==0 .nr iS \\n(Dsu -. \} -. in +\\n(iSu -. ti -\\n(iSu -. nr nS \\n(nS+1 -. \} -. nR -. in -\\n(iSu -. \} -. el .nR -.\} -.. -.\" NS Cm macro - Interactive command modifier (flag) -.de Cm -.if \\n(aC==0 \{\ -. ie \\n(.$==0 .tm Usage: .Cm Interactive command modifier ... \\*(Pu (#\\n(.c) -. el \{\ -. ds mN Cm -. ds A1 \\$1 -. ds A2 \\$2 -. ds A3 \\$3 -. ds A4 \\$4 -. ds A5 \\$5 -. ds A6 \\$6 -. ds A7 \\$7 -. ds A8 \\$8 -. ds A9 \\$9 -. nr fV \\n(.$ -. fV -. \} -.\} -.if \\n(aC>\\n(aP \{\ -. as b1 \\*(cM -. nr aP \\n(aP+1 -. nr cF \\n(.f -. nr cZ \\n(.s -. nR -.\} -.. -.\" NS Dv macro - define variable -.de Dv -.if \\n(aC==0 \{\ -. ie \\n(.$==0 .tm Usage: .Dv define_variable ... \\*(Pu (#\\n(.c) -. el \{\ -. ds mN Dv -. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. \} -.\} -.if \\n(aC>\\n(aP \{\ -. as b1 \\*(eR -. nr aP \\n(aP+1 -. nr cF \\n(.f -. nr cZ \\n(.s -. nR -.\} -.. -.\" NS Em macro - Emphasis -.de Em -.if \\n(aC==0 \{\ -. ie \\n(.$==0 \{\ -. tm Usage: .Em text ... \\*(Pu (#\\n(.c) -. \} -. el \{\ -. ds mN Em -. ds A1 \\$1 -. ds A2 \\$2 -. ds A3 \\$3 -. ds A4 \\$4 -. ds A5 \\$5 -. ds A6 \\$6 -. ds A7 \\$7 -. ds A8 \\$8 -. ds A9 \\$9 -. nr fV \\n(.$ -. fV -. \} -.\} -.if \\n(aC>\\n(aP \{\ -. as b1 \\*(eM -. nr aP \\n(aP+1 -. nr cF \\n(.f -. nr cZ \\n(.s -. nR -.\} -.. -.\" NS Er macro - Errnotype -.de Er -.if \\n(aC==0 \{\ -. ie \\n(.$==0 .tm Usage: .Er ERRNOTYPE ... \\*(Pu (#\\n(.c) -. el \{\ -. ds mN Er -. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. \} -.\} -.if \\n(aC>\\n(aP \{\ -. as b1 \\*(eR -. nr aP \\n(aP+1 -. nr cF \\n(.f -. nr cZ \\n(.s -. nR -.\} -.. -.\" NS Ev macro - Environment variable -.de Ev -.if \\n(aC==0 \{\ -. ie \\n(.$==0 .tm Usage: .Ev ENVIRONMENT_VARIABLE ... \\*(Pu (#\\n(.c) -. el \{\ -. ds mN Ev -. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. \} -.\} -.if \\n(aC>\\n(aP \{\ -. as b1 \\*(eV -. nr aP \\n(aP+1 -. nr cF \\n(.f -. nr cZ \\n(.s -. nR -.\} -.. -.\" NS Fd macro - function declaration - not callable (& no err check) -.\" NS fD register subroutine test (in synopsis only) -.\" NS fY register subroutine count (in synopsis only) (fortran only) -.\" NS fZ register also subroutine count (in synopsis only) -.de Fd -.ds mN Fd -.if \\n(nS>0 \{\ -.\" if a variable type was the last thing given, want vertical space -. if \\n(fX>0 \{\ -. Pp -. nr fX 0 -. \} -.\" if a subroutine was the last thing given, want vertical space -. if \\n(fZ>0 \{\ -. ie \\n(fD==0 \{\ -. Pp -. rs -. \} -. el .br -. \} -. nr fD \\n(fD+1 -.\} -.nr cF \\n(.f -.nr cZ \\n(.s -\&\\*(fD\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.br -.ft \\n(cF -.fs \\n(cZ -.. -.\" NS Fr macro - function return value - not callable (at the moment) -.de Fr -.if \\n(aC==0 \{\ -. ie \\n(.$==0 .tm Usage: .Fr Function_return_value... \\*(Pu (#\\n(.c) -. el \{\ -. ds mN Fr -. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. \} -.\} -.if \\n(aC>\\n(aP \{\ -. as b1 \\*(aR -. nr aP \\n(aP+1 -. nr cF \\n(.f -. nr cZ \\n(.s -. nR -.\} -.. -.\" NS Ic macro - Interactive command -.de Ic -.if \\n(aC==0 \{\ -. ie \\n(.$==0 .tm Usage: .Ic Interactive command ... \\*(Pu (#\\n(.c) -. el \{\ -. ds mN Ic -. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. \} -.\} -.if \\n(aC>\\n(aP \{\ -. as b1 \\*(iC -. nr aP \\n(aP+1 -. nr cF \\n(.f -. nr cZ \\n(.s -. nR -.\} -.. -.\" NS Li macro - literals -.de Li -.if \\n(aC==0 \{\ -. ie \\n(.$==0 .tm Usage .Li argument ... \\*(Pu (#\\n(.c) -. el \{\ -. ds mN Li -. ds A1 \\$1 -. ds A2 \\$2 -. ds A3 \\$3 -. ds A4 \\$4 -. ds A5 \\$5 -. ds A6 \\$6 -. ds A7 \\$7 -. ds A8 \\$8 -. ds A9 \\$9 -. nr fV \\n(.$ -. fV -. \} -.\} -.if \\n(aC>\\n(aP \{\ -. as b1 \\*(lI -. nr aP \\n(aP+1 -. nr cF \\n(.f -. nr cZ \\n(.s -. nR -.\} -.. -.\" NS Or macro - Pipe symbol (OR) -.de Or -.if \\n(aC==0 \{\ -. ie \\n(.$==0 .tm Usage: .Or ... \\*(Pu (#\\n(.c) -. el \{\ -. ds mN Or -. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. \} -.\} -.if \\n(aC>\\n(aP \{\ -. as b1 \\*(iC -. nr aP \\n(aP+1 -. nr cF \\n(.f -. nr cZ \\n(.s -. nR -.\} -.. -.\" NS Ms macro - Math symbol -.de Ms -.if \\n(aC==0 \{\ -. ie \\n(.$==0 .tm Usage: .Ms Math symbol ... \\*(Pu (#\\n(.c) -. el \{\ -. ds mN Ms -. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. \} -.\} -.if \\n(aC>\\n(aP \{\ -. as b1 \\*(sY -. nr aP \\n(aP+1 -. nr cF \\n(.f -. nr cZ \\n(.s -. nR -.\} -.. -.\" NS Nm macro - Name of command or page topic -.\" NS n1 string - save first invocation of .Nm -.\" NS iS register - indent second command line in a synopsis -.de Nm -.if \\n(aC==0 \{\ -. ie \\n(.$==0 \{\ -. ie "\\*(n1"" .tm Usage: .Nm Name(s) ... \\*(Pu (#\\n(.c) -. el \&\\*(nM\\*(n1\fP\s0 -. \} -. el \{\ -. ds mN Nm -. ds A1 \\$1 -. ds A2 \\$2 -. ds A3 \\$3 -. ds A4 \\$4 -. ds A5 \\$5 -. ds A6 \\$6 -. ds A7 \\$7 -. ds A8 \\$8 -. ds A9 \\$9 -. nr fV \\n(.$ -. fV -. \} -.\} -.if \\n(aC>0 \{\ -. ie \\n(aC==\\n(aP \{\ -. as b1 \&\\*(nM\\*(n1\fP\s0 -. aZ -. \} -. el \{\ -. as b1 \\*(nM -. nr aP \\n(aP+1 -. ie \\n(C\\n(aP==1 \{\ -. as b1 \&\\*(n1\fP\s0 -. \\*(A\\n(aP -. \} -. el \{\ -. nr cF \\n(.f -. nr cZ \\n(.s -. if \\n(nS \{\ -. if "\\*(mN"Nm" \{\ -. rs -. in -\\n(iSu -. ie \\n(nS>1 .br -. el \{\ -. if \\n(iS==0 \{\ -. sw \\$1 -. nr iS ((\\n(sWu+1)*\\n(fW)u -. \} -. \} -. in +\\n(iSu -. ti -\\n(iSu -. nr nS \\n(nS+1 -. \} -. \} -. if "\\*(n1"" .ds n1 \\*(A\\n(aP -. nR -. \} -. \} -.\} -.. -.\" NS Pa macro - Pathname -.de Pa -.if \\n(aC==0 \{\ -. ie \\n(.$==0 \&\\*(pA~\fP\s0 -. el \{\ -. ds mN Pa -. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. \} -.\} -.if \\n(aC>\\n(aP \{\ -. as b1 \\*(pA -. nr aP \\n(aP+1 -. nr cF \\n(.f -. nr cZ \\n(.s -. nR -.\} -.. -.\" NS Sy macro - Symbolics -.de Sy -.if \\n(aC==0 \{\ -. ie \\n(.$==0 .tm Usage: .Sy symbolic_text ... \\*(Pu (#\\n(.c) -. el \{\ -. ds mN Sy -. ds A1 \\$1 -. ds A2 \\$2 -. ds A3 \\$3 -. ds A4 \\$4 -. ds A5 \\$5 -. ds A6 \\$6 -. ds A7 \\$7 -. ds A8 \\$8 -. ds A9 \\$9 -. nr fV \\n(.$ -. fV -. \} -.\} -.if \\n(aC>\\n(aP \{\ -. as b1 \\*(sY -. nr aP \\n(aP+1 -. nr cF \\n(.f -. nr cZ \\n(.s -. nR -.\} -.. -.\" NS Tn macro - Trade Name Macro -.de Tn -.if \\n(aC==0 \{\ -. ie \\n(.$==0 .tm Usage: .Tn Trade_name(s) ... \\*(Pu (#\\n(.c) -. el \{\ -. ds mN Tn -. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. \} -.\} -.if \\n(aC>\\n(aP \{\ -. as b1 \\*(tN\\*(tF -. nr aP \\n(aP+1 -. nr cF \\n(.f -. nr cZ \\n(.s -. nR -.\} -.. -.\" NS nN macro - Trade Name Macro for inside of reference -.de nN -.if \\n(aC==0 \{\ -. ie \\n(.$==0 .tm Usage: .Tn Trade_name(s) ... \\*(Pu (#\\n(.c) -. el \{\ -. ds mN Tn -. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. \} -.\} -.if \\n(aC>\\n(aP \{\ -. as b1 \\*(tN -. nr aP \\n(aP+1 -. nr cF \\n(.f -. nr cZ \\n(.s -. rR -.\} -.. -.\" NS Va macro - variable name macro -.de Va -.if \\n(aC==0 \{\ -. ie \\n(.$==0 .tm Usage: .Va variable_name(s) ... \\*(Pu (#\\n(.c) -. el \{\ -. ds mN Va -. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. \} -.\} -.if \\n(aC>\\n(aP \{\ -. as b1 \\*(vA -. nr aP \\n(aP+1 -. nr cF \\n(.f -. nr cZ \\n(.s -. nR -.\} -.. -.\" -.\" NS No macro - Normal text macro (default text style if mess up) -.de No -.as b1 \\*(nO -.if \\n(aC==0 \{\ -. ie \\n(.$==0 .tm Usage: .No must be called with arguments (#\\n(.c) -. el \{\ -. ds mN No -. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. \} -.\} -.if \\n(aC>\\n(aP \{\ -. nr aP \\n(aP+1 -. ie \\n(C\\n(aP==1 \{\ -. \\*(A\\n(aP -. \} -. el \{\ -. nr cF \\n(.f -. nr cZ \\n(.s -. nR -. \} -.\} -.. -.\"------------------------------------------------------------------------ -.\" NS Op macro - Option Expression -.de Op -.if \\n(aC==0 \{\ -. ds mN Op -.\} -.\" .ds qL \&\\*(lO -.\" .ds qR \&\\*(rO -.ds qL \&\\*(lB -.ds qR \&\\*(rB -.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 -.. -.\" NS Aq macro - Enclose string in angle brackets -.de Aq -.if \\n(aC==0 .ds mN Aq -.ds qL \&< -.ds qR \&> -.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.. -.\" NS Bq macro - Enclose string in square brackets -.de Bq -.if \\n(aC==0 .ds mN Bq -.ds qL \&\\*(lB -.ds qR \&\\*(rB -.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.. -.\" NS Dq macro - Enclose string in double quotes -.de Dq -.if \\n(aC==0 .ds mN Dq -.ds qL \&\\*(Lq -.ds qR \&\\*(Rq -.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.. -.\" NS Eq macro - Enclose string in double quotes -.de Eq -.if \\n(aC==0 .ds mN Eq -.ds qL \\$1 -.ds qR \\$2 -.En \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.. -.\" NS Pq macro - Enclose string in parenthesis -.de Pq -.if \\n(aC==0 .ds mN Pq -.ds qL \&\\*(lP -.ds qR \&\\*(rP -.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.. -.\" NS Ql macro - Quoted literal is in file mdoc-[dit|n|g]roff (too large -.\" an if-else to carry along recursively for `if n ...') -.\" -.\" NS Sq macro - Enclose string in single quotes -.de Qq -.if \\n(aC==0 .ds mN Qq -.ds qL \&\\*q -.ds qR \&\\*q -.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.. -.\" NS Sq macro - Enclose string in single quotes -.de Sq -.if \\n(aC==0 .ds mN Sq -.ds qL \&\\*(sL -.ds qR \&\\*(sR -.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.. -.\" -.\" NS Es macro - Set up strings for .En call -.de Es -.if \\n(aC==0 \{\ -. ie \\n(.$>2 .aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. el \{\ -. ds qL \\$1 -. ds qR \\$2 -. \} -.\} -.if \\n(aC>\\n(aP \{\ -. nr aP \\n(aP+1 -. ds qL \\*(A\\n(aP -. nr aP \\n(aP+1 -. ds qR \\*(A\\n(aP -. ie \\n(aC>\\n(aP .c\\n(C\\n(aP -. el .aZ -.\} -.. -.\" .tm En beg arg(A[\\n(aP])==\\*(A\\n(aP; -.\" .tm En oM==\\n(oM; dZ==\\n(dZ; Xt==\\n(Xt; aC==\\n(aC -.\" NS En macro - Enclose string with given args (eg [ and ] etc) -.\" NS qL string variable set by calling macro -.\" NS qR string variable set by calling macro -.\" NS aJ register (for vR) -.de En -.ie \\n(aC==0 \{\ -. ie \\n(.$==0 \{\ -. as b1 \&\\*(qL\\*(qR -. pB -. \} -. el \{\ -.\". as mN (En) -. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. as b1 \&\\*(qL -. \} -.\} -.el \{\ -. as b1 \&\\*(qL -.\} -.if \\n(aC>0 \{\ -. ie (\\n(aC-\\n(aP)==0 \{\ -. as b1 \&\\*(qR -. aZ -. \} -. el \{\ -. ie \\n(C\\n(aC==3 \{\ -. nr aJ \\n(aC-1 -. vR -. nr aJ \\n(aJ+1 -. ds A\\n(aJ \&\\*(qR\\*(A\\n(aJ -. nr aJ 0 -. \} -. el .aI \&\\*(qR 3 -. nr aP \\n(aP+1 -. if \\n(C\\n(aP==1 .\\*(A\\n(aP -. if \\n(C\\n(aP>1 \{\ -. nr aP \\n(aP-1 -. No -. \} -. \} -.\} -.. -.\" NS vR macro - vector routine (for En, trace backwards past trail punct) -.de vR -.if \\n(C\\n(aJ==3 \{\ -. nr aJ \\n(aJ-1 -. vR -.\} -.. -.\"------------------------------------------------------------------------ -.\" NS Ao macro - Angle open -.de Ao -.if \\n(aC==0 .ds mN Ao -.ds qL \&< -.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.. -.\" NS Ac macro - Angle close -.de Ac -.if \\n(aC==0 .ds mN Ac -.ds qR \&> -.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.. -.\" NS Bo macro - Bracket open -.de Bo -.if \\n(aC==0 .ds mN Bo -.ds qL \&[ -.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.. -.\" NS Bc macro - Bracket close -.de Bc -.if \\n(aC==0 .ds mN Bc -.ds qR \&] -.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.. -.\" NS Do macro - Double Quote open -.de Do -.if \\n(aC==0 .ds mN Do -.ds qL \&\\*(Lq -.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.. -.\" NS Dc macro - Double Quote close -.de Dc -.if \\n(aC==0 .ds mN Dc -.ds qR \&\\*(Rq -.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.. -.\" NS Eo macro - Enclose open -.de Eo -.if \\n(aC==0 .ds mN Eo -.ds qL \\$1 -.eO \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.. -.\" NS Ec macro - Enclose close -.de Ec -.if \\n(aC==0 .ds mN Ec -.ds qR \\$1 -.eC \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.. -.\" NS Oo macro - Option open -.de Oo -.if \\n(aC==0 .ds mN Oo -.ds qL \&[ -.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.. -.\" NS Oc macro - Option close -.de Oc -.if \\n(aC==0 .ds mN Oc -.ds qR \&] -.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.. -.\" NS Po macro - Parenthesis open -.de Po -.if \\n(aC==0 .ds mN Po -.ds qL \&( -.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.. -.\" NS Pc macro - Parenthesis close -.de Pc -.if \\n(aC==0 .ds mN Pc -.ds qR \&) -.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.. -.\" NS Qo macro - Straight Double Quote open -.de Qo -.if \\n(aC==0 .ds mN Qo -.ds qL \&\\*q -.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.. -.\" NS Qc macro - Straight Double Quote close -.de Qc -.if \\n(aC==0 .ds mN Qc -.ds qR \&\\*q -.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.. -.\" NS So macro - Single Quote open -.de So -.if \\n(aC==0 .ds mN So -.ds qL \&\\*(sL -.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.. -.\" NS Sc macro - Single Quote close -.de Sc -.if \\n(aC==0 .ds mN Sc -.ds qR \&\\*(sR -.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.. -.\" NS Xo macro - Extend open (continue) -.de Xo -.if \\n(aC==0 .ds mN Xo -.\" .nr mN 1 -.ds qL -.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.. -.\" NS Xe macro - Extend close (end) -.de Xc -.\" .nr mN 0 -.if \\n(aC==0 .ds mN Xc -.ds qR -.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.. -.\" NS eO macro - enclose string open -.\" NS oM register (extension possible) -.de eO -.nr oM \\n(oM+1 -.\" .tm eO last arg==A[\\n(aC]==\\*(A\\n(aC; aP==\\n(aP; oM==\\n(oM; dZ==\\n(dZ; -.ie \\n(aC==0 \{\ -. ie \\n(.$>0 \{\ -. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. as b1 \\*(qL -. \} -. el \{\ -. as b1 \\*(qL -. if (\\n(dZ==0)&(\\n(sM==1) \{\ -. nr dZ \\n(dZ+1 -. ds b2 \\*(b1 -. ds b1 -. nr lK \\n(.c -. ev 2 -. fi -. di eB -. \} -. \} -.\} -.el \{\ -. as b1 \\*(qL -.\} -.ie \\n(aC>0 \{\ -. if \\n(aC>\\n(aP \{\ -. nr aP \\n(aP+1 -. ie \\n(C\\n(aP==1 .\\*(A\\n(aP -. el \{\ -. nr aP \\n(aP-1 -. No -. \} -. \} -. if \\n(aC==\\n(aP \{\ -. if \\n(tP==1 \{\ -.\" .tm SETTING Xt!!! -. nr Xt 1 -. \} -.\".\" . ds S0 -.\"CHANGED ds S0 \\*(iV -. aY -. \} -.\} -.el \{\ -. if \\n(oM>1 .as b1 \\*(sV -.\} -.. -.\" -.\" NS eC macro - enclose string close -.\" NS aa local register -.de eC -.nr oM \\n(oM-1 -.\" tm eC last arg==A[\\n(aC]==\\*(A\\n(aC; aP==\\n(aP; oM==\\n(oM; dZ==\\n(dZ; -.as b1 \\*(qR -.if \\n(aC==0 \{\ -. ie \\n(.$>0 \{\ -. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. \} -. el \{\ -. ie "\\*(xB"" \{\ -. pB -. \} -. el \{\ -. pB -.\\*(L\\n(lC -. nr Xt 0 -. ds xB -. \} -. \} -.\} -.if \\n(aC>0 \{\ -. ie \\n(aC==\\n(aP \{\ -. ie \\n(oM==0 \{\ -. aZ -. \} -. el .aY -. \} -. el \{\ -. nr aa \\n(aP+1 -. if \\n(C\\n(aa==2 .as b1 \\*(S\\n(aC -.\" tm CURRENT arg (aP==\\*(A\\n(aP and ap+1==\\*(A\\n(aa) tP==\\n(tP Xt==\\n(Xt -. rr aa -. if \\n(tP>0 \{\ -.\" tm UNSETTING Xt==\\n(Xt!!!! -. if \\n(Xt>0 .nr Xt \\n(Xt-1 -.\" tm NOW Xt==\\n(Xt!!!! -. \} -. No -. \} -.\} -.. -.\"------------------------------------------------------------------------ -.\" NS Pf macro - Prefix (calls .pF) -.de Pf -.if \\n(aC==0 .ds mN Pf -.ds qL \&\\$1 -.pF \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.. -.\" NS pF macro - Prefix (for prefixing open quotes, brackets etc) -.de pF -.ie \\n(aC==0 \{\ -. as b1 \&\\*(qL -. ie \\n(.$<2 \{\ -. tm Warning: Missing arguments - prefix .Pf) -. pB -. \} -. el .aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.\} -.el \{\ -. ie (\\n(aC-\\n(aP)>1 \{\ -. nr aP \\n(aP+1 -. as b1 \&\\*(A\\n(aP -. \} -. el .tm Warning: .Pf: trailing prefix (#\\n(.c) -.\} -.if \\n(aC>0 \{\ -. ie (\\n(aC-\\n(aP)==0 .aZ -. el \{\ -. nr aP \\n(aP+1 -. c\\n(C\\n(aP -. \} -.\} -.. -.\" NS Ns macro - remove space (space remove done by .aV or .fV) -.de Ns -.if \\n(aC==0 \{\ -. ds mN Ns -. ie \\n(.$>0 .aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. el .tm Usage: .Ns must be called with arguments (#\\n(.c) -.\} -.No -.. -.de Ap -.if \\n(aC==0 \{\ -. ds mN Ap -. tm Usage: Ap "cannot be first request on a line (no .Ap)" (#\\n(.c) -.\} -.as b1 \&' -.No -.. -.\" NS Hv macro - Hard (unpaddable) Space vector -.\" NS iV string inter-vector space -.\" NS sV string inter-argument space -.de Hv -.ds iV \\*(sV -.ds sV \\*(hV -.. -.\" NS Sv macro - Soft Space vector (troff limitation) -.de Sv -.ds sV \\*(iV -.. -.\" NS Tv macro - Tab Space vector -.de Tv -.ds sV \\*(tV -.. -.\" NS Sm macro - Space mode -.\" NS sM register - default is one (space mode on) -.nr sM 1 -.de Sm -.if \\n(aC==0 \{\ -. ie \\n(.$==0 .tm "Usage: .Sm [off | on]" (#\\n(.c) -. el \{\ -. ds mN Sm -. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. \} -.\} -.if \\n(aC>0 \{\ -. nr aP \\n(aP+1 -. if "\\*(A\\n(aP"on" \{\ -. ds sV \\*(iV -. nr sM 1 -. \} -. if "\\*(A\\n(aP"off" \{\ -. ds sV -. rm S0 S1 S2 S3 S4 S5 S6 S7 S8 S9 -. nr sM 0 -. \} -. ie \\n(aC>\\n(aP \{\ -. No -. \} -. el .aY -.\} -.. -.\"------------------------------------------------------------------------ -.\" Size and Argument type macros -.\" NS aT macro - argument type -.\" NS aU macro - argument type (same as .aT but uses A[1-9] strings -.\" NS aT register argument type -.if \n(.g \{\ -.de aT -.nr aT 0 -.ie \\n(sW>2:(\A'\\$1'==0) \{\ -. nr aT 2 -.\} -.el \{\ -. if \\n(sW==1 \{\ -. ie \\n(z\\$1>2 \{\ -. nr aT \\n(z\\$1 -. \} -. el .nr aT 2 -. \} -. if \\n(sW==2 \{\ -. ie \\n(\\$1 \{\ -. nr aT 1 -. \} -. el .nr aT 2 -. \} -.\} -.. -.de aU -.nr aT 0 -.aW \\$1 -.ie \\n(sW>2:(\A'\\*(A\\$1'==0) .nr aT 2 -.el \{\ -. if \\n(sW==1 \{\ -. ie \\n(z\\*(A\\$1>2 \{\ -. nr aT \\n(z\\*(A\\$1 -. \} -. el .nr aT 2 -. \} -. if \\n(sW==2 \{\ -. ie (\\n(\\*(A\\$1) \{\ -. nr aT 1 -. \} -. el .nr aT 2 -. \} -.\} -.. -.\} -.if !\n(.g \{\ -.de aT -.nr aT 0 -.ie \\n(sW>2 \{\ -. nr aT 2 -.\} -.el \{\ -. if \\n(sW==1 \{\ -. ie \\n(z\\$1>2 \{\ -. nr aT \\n(z\\$1 -. \} -. el .nr aT 2 -. \} -. if \\n(sW==2 \{\ -. ie \\n(\\$1 \{\ -. nr aT 1 -. \} -. el .nr aT 2 -. \} -.\} -.. -.de aU -.nr aT 0 -.aW \\$1 -.ie \\n(sW>2 .nr aT 2 -.el \{\ -. if \\n(sW==1 \{\ -. ie \\n(z\\*(A\\$1>2 \{\ -. nr aT \\n(z\\*(A\\$1 -. \} -. el .nr aT 2 -. \} -. if \\n(sW==2 \{\ -. ie (\\n(\\*(A\\$1) \{\ -. nr aT 1 -. \} -. el .nr aT 2 -. \} -.\} -.. -.\} -.\" NS s1 macro - set spacing for class type 1 -.\" NS s2 macro - set spacing for class type 2 -.\" NS s3 macro - set spacing for class type 3 -.\" NS s1 macro - set spacing for class type 1 -.\" NS s2 macro - set spacing for class type 2 -.\" NS s3 macro - set spacing for class type 3 -.\" NS s4 macro - set spacing for class type 4 -.\" NS S[0-9] string spacing -.\" NS xX local register -.\" NS aa local register -.de s0 -.tm MDOC-ERROR: bogus type 0 (can't set space '\\*(A\\n(aC') (#\\n(.c) -.. -.de s1 -.if \\n(\\*(A\\n(aC==3 \{\ -. nr xX \\n(aC-1 -. rm S\\n(xX -. ds S\\n(aC \\*(sV -.\} -.if \\n(\\*(A\\n(aC==2 \{\ -. nr xX \\n(aC-1 -.\" this kludge can probably go away, but need to double check first -. ie "\\*(A\\n(aC"Nb" .ds S\\n(xX \\*(hV -. el .rm S\\n(xX -.\} -.. -.de s2 -.ds S\\n(aC \\*(sV -.. -.de s3 -.if \\n(aC>1 \{\ -. nr xX \\n(aC-1 -. rm S\\n(xX -.\} -.ds S\\n(aC \\*(sV -.. -.de s4 -.nr aa 0 -.. -.\" Class switches (on current argument aP) -.\" NS c0 macro - catch errors (non-existent class type 0) -.\" NS c1 macro - call request if type 1 -.\" NS c2 macro - call .No if type 2 -.\" NS c3 macro - call .No if type 3 -.\" NS c4 macro - call .No if type 4 -.de c0 -.tm MDOC-ERROR: bogus class 0 (can't determine '\\*(A\\n(aC') (#\\n(.c) -.. -.de c1 -.\\*(A\\n(aP -.. -.de c2 -.nr aP \\n(aP-1 -.No -.. -.de c3 -.nr aP \\n(aP-1 -.No -.. -.de c4 -.nr aP \\n(aP-1 -.No -.. -.\" NS y1 macro - ignore if class 1 -.\" NS y2 macro - ignore if class 2 -.\" NS y3 macro - append if type 3 -.\" NS y4 macro - append if type 4 -.de y1 -.nr aa 1 -.. -.de y2 -.nr aa 1 -.. -.de y3 -.as b1 \\*(A\\n(aP -.nr aP \\n(aP+1 -.n\\C\\n(aP -.. -.de y4 -.as b1 \\*(A\\n(aP -.nr aP \\n(aP+1 -.n\\C\\n(aP -.. -.\"-------------------------------------------------------------------------- -.\" Ns Bf macro - Begin Font Mode (will be begin-mode/end-mode in groff & TeX) -.\" Ns Ef macro - End Font Mode -.de Bf -.ds mN Bf -.ie \\n(.$>0 \{\ -. nr bF \\n(.f -. nr bZ \\n(.s -. if "\\$1"Em" \&\\*(eM\c -. if "\\$1"Li" \&\\*(lI\c -. if "\\$1"Sy" \&\\*(sY\c -. if "\\$1"-emphasis" \&\\*(eM\c -. if "\\$1"-literal" \&\\*(lI\c -. if "\\$1"-symbolic" \&\\*(sY\c -.\} -.el .tm Usage .Bf [Em | emphasis | Li | literal | Sy | symbolic] (#\\n(.c) -.. -.de Ef -.ds mN Ef -.ie \\n(.$>0 .tm Usage .Ef (does not take arguments) (#\\n(.c) -.el \&\f\\n(bF\s\\n(bZ -.. -.\" Ns Bk macro - Begin Keep -.\" Ns Ek macro - End Keep -.\" Ns kS string - keep type -.de Bk -.ds mN Bk -.ie \\n(.$==0 \{\ -.tm Usage: .Bk [-lines | -words] (#\\n(.c) -.\} -.el \{\ -. if !"\\*(kS"" .tm .Bk: nesting keeps not implemented yet. (#\\n(.c) -. if "\\$1"-lines" .tm .Bd -lines: Not implemented yet. (#\\n(.c) -. if "\\$1"-words" .Hv -. ds kS \\$1 -.\} -.. -.de Ek -.ds mN Ek -.ie \\n(.$>0 .tm Usage .Ek (does not take arguments) (#\\n(.c) -.el \{\ -. if "\\*(kS"-lines" .tm .Bd -lines: Not implemented yet. (#\\n(.c) -. if "\\*(kS"-words" .Sv -. rm kS -.\} -.. -.\" NS Bd macro - Begin Display display-type [offset string] -.\" NS Ed macro - end Display -.\" NS O[0-9] registers - stack of indent -.\" NS d[0-9] registers - display-type stack -.de Bd -.ds mN Bd -.ie \\n(.$==0 \{\ -.tm Usage: .Bd [-literal | -filled | -ragged | -unfilled] [-offset [string]] [-compact] (#\\n(.c) -.\} -.el \{\ -. ds aa -. nr bV 0 -. nr iD 0 -. nr dP \\n(dP+1 -. if "\\$1"-literal" \{\ -. nr iD \\n(iD+1 -. ds d\\n(dP dL -. nr cF \\n(.f -. nr cZ \\n(.s -. ie t \{\&\\*(lI -' ta 9n 18n 27n 36n 45n 54n 63n 72n -. \} -. el \{\ -' ta 8n 16n 24n 32n 40n 48n 56n 64n 72n -. \} -. nf -. \} -. if "\\$1"-filled" \{\ -. nr iD \\n(iD+1 -. ds d\\n(dP dF -. br -. \} -. if "\\$1"-ragged" \{\ -. nr iD \\n(iD+1 -. ds d\\n(dP dR -. na -. \} -. if "\\$1"-unfilled" \{\ -. nr iD \\n(iD+1 -. ds d\\n(dP dU -. nf -. \} -.\" .tm Here is argc: \\n(.$ and here is iD \\n(iD -. if ((\\n(iD>=1)&(\\n(.$>\\n(iD)) \{\ -. bV \\$2 \\$3 \\$4 -. \} -. if \\n(O\\n(dP>0 'in \\n(.iu+\\n(O\\n(dPu -. if (\\n(bV==0) \{\ -. if (\\n(nS==0) \{\ -. ie "\\*(d\\n(dP"dR" .sp \\n(dVu -. el 'sp \\n(dVu -. \} -. \} -. if \\n(cR==0 .ne 2v -. nr bV 0 -. nr iD 0 -.\} -.. -.\" NS bV macro - resolve remaining .Bd arguments -.de bV -.\" .tm in bV with args: \\$1 \\$2 \\$3 -.nr iD 1 -.ds bY -.if "\\$1"-offset" \{\ -. ds bY \\$2 -. if "\\*(bY"left" \{\ -. nr iD \\n(iD+1 -. nr O\\n(dP 0 -. \} -. if "\\*(bY"right" \{\ -. nr iD \\n(iD+1 -. nr O\\n(dP (\\n(.l/3)u -. \} -. if "\\*(bY"center" \{\ -. nr iD \\n(iD+1 -. nr O\\n(dP (\\n(.l-\\n(.i)/4u -. \} -. if "\\*(bY"indent" \{\ -. nr iD \\n(iD+1 -. nr O\\n(dP \\n(dIu -. \} -. if "\\*(bY"indent-two" \{\ -. nr iD \\n(iD+1 -. nr O\\n(dP \\n(dIu+\\n(dIu -. \} -. if \\n(iD==1 \{\ -. nr iD \\n(iD+1 -. sW "\\*(bY" -. ie \\n(sW>2 \{\ -. ie ((\\*(bY>9n)&(\\*(bY<100n)) \{\ -. nr O\\n(dP \\*(bY -. \} -. el .nr O\\n(dP (\\n(sW)*\\n(fWu -. \} -. el \{\ -. if \\n(sW==2 .aT \\*(bY -. ie \\n(aT==1 \{\ -. nr O\\n(dP \\n(\\*(bY -. \} -. el .nr O\\n(dP \\*(bY -. \} -. \} -.\} -.if "\\$1"-compact" \{\ -. nr bV 1 -.\} -.if \\n(iD<\\n(.$ \{\ -. ie "\\*(bY"" \{\ -. bV \\$2 \\$3 -. \} -. el \{\ -. bV \\$3 -. \} -.\} -.. -.\" NS Ed macro - end display -.de Ed -.ds mN Ed -.br -.if \\n(dP==0 .tm mdoc: Extraneous .Ed -.if "\\*(d\\n(dP"dL" \{\ -. ft \\n(cF -. fz \\n(cZ -.\} -.in \\n(.iu-\\n(O\\n(dPu -.rr O\\n(dP -.rm d\\n(dP -.nr dP \\n(dP-1 -.fi -.if t .ad -.. -.\"-------------------------------------------------------------------------- -.\" NS Bl macro - begin list (.Bl list-type) -.\" NS L[0-9] registers - stack of list types -.de Bl -.ie \\n(.$==0 \{\ -.tm Usage: .Bl [[-hang | -tag] [-width]] [ -item | -enum | -bullet | -diag] (#\\n(.c) -.\} -.el \{\ -. ds mN Bl -. nr aP 0 -. nr lC \\n(lC+1 -. ds A1 \\$2 -. ds A2 \\$3 -. ds A3 \\$4 -. ds A4 \\$5 -. ds A5 \\$6 -. ds A6 \\$7 -. ds A7 \\$8 -. ds A8 \\$9 -. nr fV \\n(.$-1 -. if "\\$1"-hang" \{\ -. nr aP \\n(aP+1 -. ds L\\n(lC hL -. nr w\\n(lC 6n -. nr tC 1 -. \} -. if "\\$1"-tag" \{\ -. nr aP \\n(aP+1 -. ds L\\n(lC tL -. nr tC 1 -. \} -. if "\\$1"-item" \{\ -. nr aP \\n(aP+1 -. ds L\\n(lC iT -. nr tC 1 -. \} -. if "\\$1"-enum" \{\ -. nr aP \\n(aP+1 -. ds L\\n(lC nU -. nr w\\n(lC 3n -. nr tC 1 -. \} -. if "\\$1"-bullet" \{\ -. nr aP \\n(aP+1 -. ds L\\n(lC bU -. nr w\\n(lC 2n -. nr tC 1 -. \} -. if "\\$1"-dash" \{\ -. nr aP \\n(aP+1 -. ds L\\n(lC hU -. nr w\\n(lC 2n -. nr tC 1 -. \} -. if "\\$1"-hyphen" \{\ -. nr aP \\n(aP+1 -. ds L\\n(lC hU -. nr w\\n(lC 2n -. nr tC 1 -. \} -. if "\\$1"-inset" \{\ -. nr aP \\n(aP+1 -. ds L\\n(lC lL -. nr tC 1 -. \} -. if "\\$1"-diag" \{\ -. nr aP \\n(aP+1 -. ds L\\n(lC mL -. nr mL 1 -. \} -. if "\\$1"-ohang" \{\ -. nr aP \\n(aP+1 -. ds L\\n(lC oL -. nr tC 1 -. \} -. if "\\$1"-column" \{\ -. nr aP \\n(aP+1 -. ds L\\n(lC cL -. \} -. ie \\n(aP==0 \{\ -. tm \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. tm Usage: .Bl [[-inset|-tag] -width] [-item|-enum|-bullet|-diag] (#\\n(.c) -. \} -. el \{\ -. tY -. if (\\n(aP==1)&(\\n(aP<\\n(.$) \{\ -. nr aP 0 -. lV -. if "\\*(L\\n(lC"cL" \{\ -. W\\n(wV -. nr w\\n(lC 0 -' in -\\n(eWu -. ie \\n(v\\n(lC==1 \{\ -. nr aa 0 -. \} -. el \{\ -. sp \\n(dVu -. \} -. nf -. nr wV 0 -. \} -. \} -. \} -. nr aP 0 -.\" . ds b1 -. aY -.\" .tm Here is L[\\n(lC]==\\*(L\\n(lC -.\} -.. -.if \n(.g \{\ -. nr i 10 -. while \ni<100 \{\ -. nr num!\nin 1 -. nr i +1 -. \} -.\} -.\" NS lV macro - resolve remaining .Bl arguments -.de lV -.nr aP \\n(aP+1 -.if \\n(fV>=\\n(aP \{\ -. nr iD 0 -. if "\\*(A\\n(aP"-compact" \{\ -. nr iD 1 -. nr v\\n(lC 1 -. \} -. if "\\*(A\\n(aP"-width" \{\ -. nr iD 1 -. nr aP \\n(aP+1 -. nr tW 1 -. ds t\\n(lC TagwidtH -. ds tS \\*(A\\n(aP -. aW \\n(aP -. ie \\n(sW>2 \{\ -. nr w\\n(lC (\\n(sW)*\\n(fWu -. if \\n(sW==3 \{\ -. ie \\n(.g \{\ -. if \A'\\*(tS' .if r num!\\*(tS \{\ -. nr w\\n(lC \\*(tS -. \} -. \} -. el \{\ -. if (\\*(tS>9n)&(\\*(tS<99n) \{\ -. nr w\\n(lC \\*(tSu -. \} -. \} -. \} -. \} -. el \{\ -. aT \\*(tS -. ie \\n(aT==1 \{\ -. nr w\\n(lC \\n(\\*(tS -. \} -. el \{\ -. nr w\\n(lC \\*(tSu -. \} -. \} -. \} -. if "\\*(A\\n(aP"-offset" \{\ -. nr iD 1 -. nr aP \\n(aP+1 -. ie "\\*(A\\n(aP"indent" \{\ -. nr o\\n(lC \\n(Dsu -. \} -. el \{\ -. ds tS \\*(A\\n(aP -. aW \\n(aP -. ie \\n(sW>2 \{\ -. nr o\\n(lC (\\n(sW)*\\n(fWu -. ie \\n(.g \{\ -. if \A'\\*(tS' .if r num!\\*(tS \{\ -. nr o\\n(lC \\*(tS -. \} -. \} -. el \{\ -. if (\\*(tS>9n)&(\\*(tS<100n) \{\ -. nr o\\n(lC \\*(tS -. \} -. \} -. \} -. el \{\ -. ie \\n(C\\n(aP==1 .nr o\\n(lC \\n(\\*(tS -. el .nr o\\n(lC \\*(tS -. \} -. \} -. \} -. if \\n(iD==0 \{\ -. if "\\*(L\\n(lC"cL" \{\ -. nr wV \\n(wV+1 -. ds A\\n(wV \\*(A\\n(aP -. \} -. \} -. if \\n(fV>\\n(aP .lV -.\} -.. -.\" NS El macro - end list -.\" NS iD local register -.de El -.ie \\n(.$>0 \{\ -. tm Usage: .El (#\\n(.c) -.\} -.el \{\ -. ds mN El -. nr iD 0 -. if "\\*(L\\n(lC"cL" \{\ -. nr iD 1 -. cC -. \} -. if "\\*(L\\n(lC"nU" \{\ -. nr nU 0 -. \} -. if \\n(mL>0 \{\ -. nr iD 1 -. nr mL 0 -. tZ -. nr lC \\n(lC-1 -. tY -. \} -. if "\\*(L\\n(lC"iT" \{\ -' in \\n(.iu-\\n(o\\n(lCu -. tZ -. nr lC \\n(lC-1 -. tY -. nr iD 1 -. \} -. if "\\*(L\\n(lC"oL" \{\ -' in \\n(.iu-\\n(o\\n(lCu -. tZ -. nr lC \\n(lC-1 -. tY -. nr iD 1 -. \} -. if "\\*(L\\n(lC"lL" \{\ -' in \\n(.iu-\\n(o\\n(lCu -. tZ -. nr lC \\n(lC-1 -. tY -. nr iD 1 -. \} -. if \\n(iD==0 \{\ -. lE -. \} -. br -. nr iD 0 -.\} -.. -.\" NS It macro - list item -.\" NS iD local register -.\" NS aA save pA font string for section FILES (no underline if nroff) -.de It -.if "\\*(L\\n(lC"" \{\ -. tm Usage .Bl -list-type [-width [string] | -compact | -offset [string]] (#\\n(.c) -. tm .It \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 -.\} -.\" .tm Here is L[\\n(lC]==\\*(L\\n(lC -.ne 3v -.ie \\n(.$>0 \{\ -. ds mN It -. ds b1 -. nr iD 0 -. ds A1 \\$1 -. ds A2 \\$2 -. ds A3 \\$3 -. ds A4 \\$4 -. ds A5 \\$5 -. ds A6 \\$6 -. ds A7 \\$7 -. ds A8 \\$8 -. ds A9 \\$9 -. nr fV \\n(.$ -. if "\\*(L\\n(lC"mL" \{\ -. nr iD 1 -. nr aP 0 -. aX -. \\*(L\\n(lC -. \} -. if "\\*(L\\n(lC"cL" \{\ -. ds b1 -. nr aP 0 -. nr iD 1 -. \\*(L\\n(lC -. \} -. if "\\*(L\\n(lC"iT" \{\ -. nr aP 0 -. nr iD 1 -. \\*(L\\n(lC -. \} -. if \\n(iD==0 \{\ -. fV -.\" tm ------------------------------------------------------------------------ -.\" tm It list-type==\\*(L\\n(lC, aP==\\n(aP -.\" tm It beg arg(A[1])==\\*(A1; oM==\\n(oM; dZ==\\n(dZ; Xt==\\n(Xt; aC==\\n(aC -. nr oM \\n(oM+1 -. nr tP 1 -. nr aP \\n(aP+1 -. nr tX \\n(C\\n(aP -. ds tX \\*(A\\n(aP -. if \\n(nF==1 \{\ -. ds aA \\*(pA -. if n .ds pA \\*(nO -. \} -. ie \\n(C\\n(aP==1 \{\ -. \\*(A\\n(aP -. \} -. el \{\ -. nr aP \\n(aP-1 -. No -. \} -.\" tm in It here is b1==\\*(b1 -.\" tm It mid arg(A[1])==\\*(A1; oM==\\n(oM; dZ==\\n(dZ; Xt==\\n(Xt; aC==\\n(aC -. ie \\n(Xt==1 .ds xB \&\\*(L\\n(lC -. el .\\*(L\\n(lC -. \} -. nr iD 0 -.\} -.el .\\*(L\\n(lC -.. -.\" NS lL macro - .It item of list-type inset -.de lL -.lY -.br -\&\\*(b1 -.nr oM \\n(oM-1 -.nr tP 0 -.ds b1 -.aY -'fi -.. -.\" NS hL macro - .It item of list-type hanging label (as opposed to tagged) -.de hL -.lX -.nr bb \\n(w\\n(lCu+\\n(lSu -.ti -\\n(bbu -.ie \w\\*(b1u>=(\\n(w\\n(lCu) \&\\*(b1 -.el \&\\*(b1\h'|\\n(bbu'\c -.nr oM \\n(oM-1 -.ds b1 -.nr tP 0 -.aY -'fi -.. -.\" NS oL macro - .It item of list-type overhanging label -.de oL -.lY -\&\\*(b1 -.br -.nr oM \\n(oM-1 -.ds b1 -.nr tP 0 -.aY -'fi -.. -.\" NS iT macro - .It item of list-type [empty label] -.de iT -.lY -.br -.\" .ds b1 -.aY -'fi -.. -.\" NS nU macro - Enumerated list -.\" NS nU register count -.\" NS hU macro - Hyphen paragraph list (sub bullet list) -.\" NS bU macro - Bullet paragraph list -.de nU -.nr oM \\n(oM+1 -.nr nU \\n(nU+1 -.ds b1 \&\\n(nU. -.uL -.. -.de bU -.nr oM \\n(oM+1 -.nr bU \\n(bU+1 -.ds b1 \&\\*(sY\&\(bu\fP -.uL -.. -.de hU -.nr oM \\n(oM+1 -.nr bU \\n(bU+1 -.ds b1 \&\\*(sY\&\-\fP -.uL -.. -.\" NS uL macro - .It item of list-type enum/bullet/hyphen -.de uL -.lX -.nr bb \\n(w\\n(lCu+\\n(lSu -.ti -\\n(bbu -.ie \w\\*(b1u>=(\\n(w\\n(lCu) \&\\*(b1 -.el \&\\*(b1\h'|\\n(bbu'\c -.nr oM \\n(oM-1 -.\" .nr dZ \\n(dZ+1 -.ds b1 -.nr tP 0 -.aY -'fi -.. -.\" NS mL macro - .It item of list-type diagnostic-message -.de mL -.nr cF \\n(.f -.nr cZ \\n(.s -.ie \\n(mL==1 \{\ -. nr zB \\n(.c -. ie (\\n(zB-\\n(zA)>1 .Pp -. el .br -. nr zA \\n(zB -. nr zB 0 -.\} -.el \{\ -. nr zA \\n(.c -. br -.\} -\&\\*(sY\\*(b1\f\\n(cF\s\\n(cZ\\*(lS\c -.aY -.ds b1 -'fi -.. -.\" NS tL macro - .It item of list-type "tag" -.de tL -.\" tm in tL here is b1==\\*(b1 -.if \\n(tW==0 .lW -.lX -.nr bb \\n(w\\n(lCu+\\n(lSu -.ti -\\n(bbu -.ie (\w\\*(b1u)>(\\n(w\\n(lCu) \{\&\\*(b1 -. br -.\} -.el \&\\*(b1\h'|\\n(bbu'\c -.if \\n(nF==1 \{\ -. if n .ds pA \\*(aA -.\} -.nr oM \\n(oM-1 -.nr tP 0 -.\" .nr dZ \\n(dZ+1 -.ds b1 -.aY -'fi -.. -.\" NS lW macro - resolve unknown label/tag width (if .Bl [inset | tag] only) -.de lW -.if !"TagwidtH"\\*(t\\n(lC" \{\ -. ie \\n(tX==1 \{\ -. ds t\\n(lN \\*(tX -. nr w\\n(lN \\n(\\*(tX -. \} -. el \{\ -. ds t\\n(lN No -. nr w\\n(lN \\n(No -. \} -. if !"\\*(t\\n(lC"\\*(t\\n(lN" .nr tC 1 -.\} -.. -.\" NS lX macro - set up vertical spacing (if compact) and offset+indent (all) -.de lX -.ie \\n(tC \{\ -. nr tC 0 -. nr tW 0 -. if \\n(v\\n(lC==0 .sp \\n(dVu -. in \\n(.iu+\\n(w\\n(lCu+\\n(o\\n(lCu+\\n(lSu -.\} -.el \{\ -. ie \\n(v\\n(lC==1 \{\ -. nr aa 0 -. \} -. el \{\ -. sp \\n(dVu -. \} -.\} -.if !\\n(cR .ne 2v -.. -.\" NS lY macro - set up vertical spacing (if compact) and offset+indent (all) -.de lY -.ie \\n(tC \{\ -. nr tC 0 -. nr tW 0 -. if \\n(v\\n(lC==0 .sp \\n(dVu -. in \\n(.iu+\\n(o\\n(lCu -.\} -.el \{\ -. ie \\n(v\\n(lC==1 \{\ -. nr aa 0 -. \} -. el \{\ -. sp \\n(dVu -. \} -.\} -.if !\\n(cR .ne 2v -.. -.\" NS tS temporary string -.\" NS hL macro - hanging list function -.\" NS tS temporary string -.\" NS hL macro - hanging list function -.\" NS lT macro - tagged list function -.\" NS lE macro - list end function -.\" NS tX string (initial string) -.\" NS tX register (initial class) -.\" NS tC parameter change flag -.\" NS Xt save current list-type flag -.\" NS lC register - list type stack counter -.\" NS tP register tag flag (for diversions) -.\" NS w[0-9] register tag stack (nested tags) -.\" NS t[0-9] register tag string stack (nested tags) -.\" NS o[0-9] register offset stack (nested tags) -.\" NS v[0-9] register vertical tag break stack -.\" NS h[0-9] register horizontal tag stack (continuous if 1, break if 0) -.nr lC 0 -.nr wV 0 -.nr w1 0 -.nr o1 0 -.nr v1 0 -.nr h1 0 -.ds t\n(lC -.de lE -.\" IN lC o[\\n(lC]==\\n(o\\n(lC, w[\\n(lC]==\\n(w\\n(lC, -.ie \\n(o\\n(lC>0 \{\ -' in \\n(.iu-(\\n(w\\n(lCu)-(\\n(o\\n(lCu)-\\n(lSu -. rr o\\n(lC -.\} -.el 'in \\n(.iu-\\n(w\\n(lCu-\\n(lSu -.if \\n(lC<=0 .tm Extraneous .El call (#\\n(.c) -.tZ -.nr lC \\n(lC-1 -.tY -.. -.\" NS tY macro - set up next block for list -.\" NS tZ macro - decrement stack -.\" NS tY register (next possible lC value) -.de tY -.nr tY (\\n(lC+1) -.nr w\\n(tY 0 -.nr h\\n(tY 0 -.nr o\\n(tY 0 -.ds t\\n(tY \\*(t\\n(lC -.ds L\\n(tY -.nr v\\n(tY 0 -.. -.de tZ -.rm L\\n(tY -.rr w\\n(tY -.rr h\\n(tY -.rr o\\n(tY -.rm t\\n(tY -.rr v\\n(tY -.nr tY \\n(tY-1 -.. -.\" initial values -.nr w1 0 -.nr o1 0 -.nr h1 0 -.ds t1 -.nr v1 0 -.nr tY 1 -.\" NS Xr macro - cross reference (man page only) -.de Xr -.if \\n(aC==0 \{\ -. ie \\n(.$==0 .tm Usage: .Xr manpage_name [section#] \\*(Pu (#\\n(.c) -. el \{\ -. ds mN Xr -. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. \} -.\} -.if \\n(aC>\\n(aP \{\ -. nr aP \\n(aP+1 -. ie \\n(C\\n(aP==1 .tm Usage: .Xr manpage_name [section#] \\*(Pu (#\\n(.c) -. el \{\ -. ie \\n(C\\n(aP>2 .y\\n(C\\n(aP -. el \{\ -. as b1 \&\\*(xR\\*(A\\n(aP\fP\s0 -. if \\n(aC>\\n(aP \{\ -. nr aP \\n(aP+1 -. if \\n(C\\n(aP==2 \{\ -. as b1 \&(\\*(A\\n(aP) -. nr aP \\n(aP+1 -. \} -. if \\n(aC>=\\n(aP \{\ -. c\\n(C\\n(aP -. \} -. \} -. \} -. aZ -. \} -.\} -.. -.\" NS Sx macro - cross section reference -.de Sx -.if \\n(aC==0 \{\ -. ie \\n(.$==0 .tm Sx Usage: .Sx Section Header \\*(Pu (#\\n(.c) -. el \{\ -. ds mN Sx -. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. \} -.\} -.if \\n(aC>\\n(aP \{\ -. nr aP \\n(aP+1 -. as b1 \\*(sX -. nr cF \\n(.f -. nr cZ \\n(.s -. nR -.\} -.. -.\" NS cC macro - column-list end-list -.\" NS eW macro - column indent width -.\" NS cI register - column indent width -.\" NS W[1-5] macro - establish tabs for list-type column -.de cC -'in \\n(.iu-\\n(o\\n(lCu-\\n(w\\n(lCu -.ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i -.fi -.tZ -.nr lC \\n(lC-1 -.tY -.. -.de W1 -.ta \w\\*(A1 u -.nr eW \w\\*(A1 u -'in \\n(.iu+\\n(eWu+\\n(o\\n(lCu -.. -.de W2 -.ta \w\\*(A1 u +\w\\*(A2 u -.nr eW \w\\*(A1 u+\w\\*(A2 u -'in \\n(.iu+\\n(eWu+\\n(o\\n(lCu -.. -.de W3 -.ta \w\\*(A1 u +\w\\*(A2 u +\w\\*(A3 u -.nr eW \w\\*(A1 u+\w\\*(A2 u+\w\\*(A3 u -'in \\n(.iu+\\n(eWu+\\n(o\\n(lCu -.. -.de W4 -.ta \w\\*(A1 u +\w\\*(A2 u +\w\\*(A3 u +\w\\*(A4 u -.nr eW \w\\*(A1 u+\w\\*(A2 u +\w\\*(A3 u +\w\\*(A4 u -'in \\n(.iu+\\n(eWu+\\n(o\\n(lCu -.. -.de W5 -.ta \w\\*(A1 u +\w\\*(A2 u +\w\\*(A3 u +\w\\*(A4 u +\w\\*(A5 u -.nr eW \w\\*(A1 u +\w\\*(A2 u +\w\\*(A3 u +\w\\*(A4 u +\w\\*(A5 u -' in \\n(.iu+\\n(eWu+\\n(o\\n(lCu -.. -.\" This is packed abnormally close, intercol width should be an option -.de W6 -.ta \w\\*(A1 u +\w\\*(A2 u +\w\\*(A3 u +\w\\*(A4 u +\w\\*(A5 u +\w\\*(A6 -.nr eW \w\\*(A1 u +\w\\*(A2 u +\w\\*(A3 u +\w\\*(A4 u +\w\\*(A5 u +\w\\*(A6 -' in \\n(.iu+\\n(eWu+\\n(o\\n(lCu -.. -.\" NS cL macro - column items -.de cL -.if \\n(w\\n(lC==0 .nr w\\n(lC \\n(eWu -.if \\n(.u==0 \{\ -. fi -' in \\n(.iu+\\n(eWu -.\} -.ti -\\n(eWu -.fV -.nr aP \\n(aP+1 -.ie \\n(aC>=\\n(aP \{\ -. if "\\*(A\\n(aP"Ta" \{\ -. nr jJ \\n(aP-1 -. rm S\\n(jJ -. rr jJ -. \} -. c\\n(C\\n(aP -.\} -.el .tm Usage: .It column_string [Ta [column_string ...] ] (#\\n(.c) -.. -.\" NS Ta macro - append tab (\t) -.de Ta -.ie \\n(aC>0 \{\ -. nr aP \\n(aP+1 -. ie \\n(aC>=\\n(aP \{\ -. if "\\*(A\\n(aP"Ta" \{\ -. nr jJ \\n(aP-1 -. rm S\\n(jJ -. rr jJ -. \} -. as b1 \\t -. c\\n(C\\n(aP -. \} -. el \{\ -. as b1 \\t\\c -. rm S\\n(aP -. pB -. aY -.\" . ds b1 -. \} -.\} -.el \{\ -. tm Usage: Ta must follow column entry: e.g. (#\\n(.c) -. tm .It column_string [Ta [column_string ...] ] -.\} -.. -.\" -.\" NS Dl macro - display (one line) literal -.de Dl -'ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i -.in \\n(.iu+\\n(Dsu -.ie \\n(aC==0 \{\ -. ie \\n(.$==0 \{\ -. tm Usage: .Dl argument ... (#\\n(.c) -. \} -. el \{\ -. ds mN Dl -. ds A1 \\$1 -. ds A2 \\$2 -. ds A3 \\$3 -. ds A4 \\$4 -. ds A5 \\$5 -. ds A6 \\$6 -. ds A7 \\$7 -. ds A8 \\$8 -. ds A9 \\$9 -. nr fV \\n(.$ -. fV -. Li -. \} -.\} -.el \{\ -. tm Usage: .Dl not callable by other macros (#\\n(.c) -.\} -.in \\n(.iu-\\n(Dsu -.. -.\" -.\" NS D1 macro - display (one line) -.de D1 -'ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i -.in \\n(.iu+\\n(Dsu -.ie \\n(aC==0 \{\ -. ie \\n(.$==0 \{\ -. tm Usage: .D1 argument ... (#\\n(.c) -. \} -. el \{\ -. ds mN D1 -. ds A1 \\$1 -. ds A2 \\$2 -. ds A3 \\$3 -. ds A4 \\$4 -. ds A5 \\$5 -. ds A6 \\$6 -. ds A7 \\$7 -. ds A8 \\$8 -. ds A9 \\$9 -. nr fV \\n(.$ -. fV -. nr aP \\n(aP+1 -. ie \\n(C\\n(aP==1 .\\*(A\\n(aP -. el .No -. \} -.\} -.el \{\ -. tm Usage: .D1 not callable by other macros (#\\n(.c) -.\} -.in \\n(.iu-\\n(Dsu -.. -.\" NS Ex macro - DEFUNCT -.de Ex -.tm Ex defunct, Use .D1: \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.. -.\" -.\" NS Ex macro - DEFUNCT -.de Ex -.tm Ex defunct, Use .D1: \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.. -.\" -.\" NS Vt macro - Variable type (for forcing old style variable declarations) -.\" this is not done in the same manner as .Ot for fortrash - clean up later -.de Vt -.\" if a function declaration was the last thing given, want vertical space -.if \\n(fD>0 \{\ -. Pp -. nr fD 0 -.\} -.\" if a subroutine was the last thing given, want vertical space -.if \\n(fZ>0 \{\ -. ie \\n(fX==0 \{\ -. Pp -. rs -. \} -. el .br -.\} -.nr fX \\n(fX+1 -.nr cF \\n(.f -.nr cZ \\n(.s -\\*(fT\&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.ie \\n(oT==0 .br -.el \&\ \& -.ft \\n(cF -.fs \\n(cZ -.. -.\" -.\" NS Ft macro - Function type -.nr fZ 0 -.de Ft -.if \\n(nS>0 \{\ -. if \\n(fZ>0 \{\ -. Pp -. nr fD 0 -. nr fX 0 -. \} -. if \\n(fD>0 \{\ -. Pp -. nr fD 0 -. nr fX 0 -. \} -. if \\n(fX>0 \{\ -. Pp -. nr fX 0 -. \} -. nr fY 1 -.\} -.nr cF \\n(.f -.nr cZ \\n(.s -\&\\*(fT\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.ft \\n(cF -.fs \\n(cZ -.\" .br -.. -.\" -.\" NS Ot macro - Old Function type (fortran - no newline) -.\" Ns oT register -.nr oT 0 -.de Ot -.nr oT 1 -.if \\n(nS>0 \{\ -. if \\n(fZ>0 \{\ -. Pp -. nr fD 0 -. nr fX 0 -. \} -. if \\n(fD>0 \{\ -. Pp -. nr fD 0 -. nr fX 0 -. \} -. if \\n(fX>0 \{\ -. Pp -. nr fX 0 -. \} -. nr fY 1 -.\} -.if \\n(.$==4 .as b1 \&\\*(fT\&\\$1 \\$2 \\$3 \\$4 -.if \\n(.$==3 .as b1 \&\\*(fT\&\\$1 \\$2 \\$3 -.if \\n(.$==2 .as b1 \&\\*(fT\&\\$1 \\$2 -.if \\n(.$==1 .as b1 \&\\*(fT\&\\$1 -.as b1 \&\ \fP -.. -.\" -.\" NS Fa macro - Function arguments -.de Fa -.if \\n(aC==0 \{\ -. ie \\n(.$==0 .tm Usage: .Fa Function Arguments ... \\*(Pu (#\\n(.c) -. el \{\ -. ds mN Fa -. ds A1 \\$1 -. ds A2 \\$2 -. ds A3 \\$3 -. ds A4 \\$4 -. ds A5 \\$5 -. ds A6 \\$6 -. ds A7 \\$7 -. ds A8 \\$8 -. ds A9 \\$9 -. nr fV \\n(.$ -. fV -. \} -.\} -.ie \\n(fC>0 \{\ -. fC -.\} -.el \{\ -. if \\n(aC>\\n(aP \{\ -. as b1 \\*(fA -. nr aP \\n(aP+1 -. nr cF \\n(.f -. nr cZ \\n(.s -. nR -. if \\n(nS>0 \{\ -. if \\n(fZ>0 .br -. \} -. \} -.\} -.. -.\" NS fC macro - interal .Fa for .FO and .Fc -.de fC -.ie \\n(aC>\\n(aP \{\ -. nr aP \\n(aP+1 -.\" . nr aa \\n(aP -.\" . if \\n(nS>0 \{\ -. ds Fb -. nr fB 0 -. nr Fb 0 -. fB \\*(A\\n(aP -. if \\n(fB>1 \{\ -. rm A\\n(aP -. rn Fb A\\n(aP -. \} -.\" . \} -. if \\n(fC>1 \{\ -. as b1 \&\f\\n(cF\s\\n(cZ\|,\\*(fA\\*(S\\n(aP\\*(A\\n(aP\fP\s0 -. \} -. if \\n(fC==1 \{\ -. as b1 \&\|\\*(fA\\*(A\\n(aP\fP\s0 -. \} -. nr fC \\n(fC+1 -. fC -.\} -.el \{\ -. aY -.\} -.. -.\" NS Fn macro - functions -.\" NS fY register - dick with old style function declarations (fortran) -.\" NS fZ register - break a line when more than one function in a synopsis -.\" -.de Fn -.if \\n(aC==0 \{\ -. ie \\n(.$==0 .tm Usage: .Fn function_name function_arg(s) ... \\*(Pu (#\\n(.c) -. el \{\ -. ds mN Fn -. ds A1 \\$1 -. ds A2 \\$2 -. ds A3 \\$3 -. ds A4 \\$4 -. ds A5 \\$5 -. ds A6 \\$6 -. ds A7 \\$7 -. ds A8 \\$8 -. ds A9 \\$9 -. nr fV \\n(.$ -. fV -. \} -.\} -.if \\n(nS>0 \{\ -.\" if there is/has been more than one subroutine declaration -. if \\n(fY==0 \{\ -. if \\n(fZ>0 \{\ -. Pp -. nr fX 0 -. nr fD 0 -. \} -. \} -. if \\n(fY==1 \{\ -. br -. nr fX 0 -. nr fD 0 -. nr fY 0 -. \} -. if \\n(fD>0 \{\ -. Pp -. nr fX 0 -. \} -. if \\n(fX>0 \{\ -. Pp -. nr fD 0 -. \} -. nr fZ \\n(fZ+1 -. nr fY 0 -. rs -. ie \\n(nS>1 .br -. el \{\ -. if \\n(iS==0 \{\ -. nr iS ((8)*\\n(fW)u -. \} -. \} -. in +\\n(iSu -. ti -\\n(iSu -. nr nS \\n(nS+1 -.\} -.if \\n(aC>\\n(aP \{\ -. nr aP \\n(aP+1 -. nr cF \\n(.f -. nr cZ \\n(.s -. as b1 \\*(fN\\*(A\\n(aP\fP\s0\\*(lp -. ie \\n(aC>\\n(aP \{\ -. as b1 \\*(fA -. nr aP \\n(aP+1 -. f\\n(C\\n(aP -. \} -. el \{\ -. ie \\n(nS>0 .as b1 \|\\*(rp\fR;\fP -. el .as b1 \|\\*(rp -. aZ -. \} -. if \\n(nS>0 \{\ -. in -\\n(iSu -. \} -.\} -.. -.\" -.\" NS f1 macro - class switch -.\" NS f2 macro - handle function arguments -.\" NS f3 macro - punctuation -.\" NS f4 macro - write out function -.de f1 -.ie \\n(nS>0 .as b1 \\*(rp\fR;\fP\f\\n(cF\s\\n(cZ -.el .as b1 \\*(rp\f\\n(cF\s\\n(cZ -.\\*(A\\n(aP -.. -.de f2 -.if \\n(nS>0 \{\ -. ds Fb -. nr fB 0 -. nr Fb 0 -. fB \\*(A\\n(aP -. if \\n(fB>1 \{\ -. rm A\\n(aP -. rn Fb A\\n(aP -. \} -.\} -.as b1 \\*(A\\n(aP -.ie \\n(aC>\\n(aP \{\ -. nr aa \\n(aP -. nr aP \\n(aP+1 -. if \\n(C\\n(aP==2 \{\ -. as b1 \&\|\f\\n(cF\s\\n(cZ,\\*(S\\n(aa\fP\s0\| -. \} -. f\\n(C\\n(aP -.\} -.el \{\ -. ie \\n(nS>0 .as b1 \\*(rp\fR;\fP\f\\n(cF\s\\n(cZ -. el .as b1 \\*(rp\f\\n(cF\s\\n(cZ -. aZ -.\} -.. -.de f3 -.ie \\n(nS>0 .as b1 \\*(rp\f\\n(cF\s\\n(cZ\\*(A\\n(aP -.el .as b1 \\*(rp\f\\n(cF\s\\n(cZ\\*(A\\n(aP -.ie \\n(aC>\\n(aP \{\ -. No -.\} -.el .aZ -.. -.de f4 -.ie \\n(nS>0 .as b1 \\*(rp\fR;\fP\f\\n(cF\s\\n(cZ\\*(S\\n(aP\\*(A\\n(aP -.el .as b1 \\*(rp\f\\n(cF\s\\n(cZ\\*(S\\n(aP\\*(A\\n(aP -.ie \\n(aC>\\n(aP \{\ -. nr aP \\n(aP+1 -. No -.\} -.el .aZ -.. -.de Fo -.hy 0 -.if \\n(aC==0 \{\ -. ie \\n(.$==0 .tm Usage: .Fo function_name -. el \{\ -. ds mN Fo -. ds A1 \\$1 -. ds A2 \\$2 -. ds A3 \\$3 -. ds A4 \\$4 -. ds A5 \\$5 -. ds A6 \\$6 -. ds A7 \\$7 -. ds A8 \\$8 -. ds A9 \\$9 -. nr fV \\n(.$ -. fV -. \} -.\} -.if \\n(nS>0 \{\ -.\" if there is/has been more than one subroutine declaration -. if \\n(fY==0 \{\ -. if \\n(fZ>0 \{\ -. Pp -. nr fX 0 -. nr fD 0 -. \} -. \} -. if \\n(fY==1 \{\ -. br -. nr fX 0 -. nr fD 0 -. nr fY 0 -. \} -. if \\n(fD>0 \{\ -. Pp -. nr fX 0 -. \} -. if \\n(fX>0 \{\ -. Pp -. nr fD 0 -. \} -. nr fZ \\n(fZ+1 -. nr fY 0 -. rs -. ie \\n(nS>1 .br -. el \{\ -. if \\n(iS==0 \{\ -. nr iS ((8)*\\n(fW)u -. \} -. \} -. in +\\n(iSu -. ti -\\n(iSu -. nr nS \\n(nS+1 -.\} -.if \\n(aC>\\n(aP \{\ -. nr oM \\n(oM+1 -. nr fC 1 -. nr aP \\n(aP+1 -. nr cF \\n(.f -. nr cZ \\n(.s -. as b1 \\*(fN\\*(A\\n(aP\fP\s0\\*(lp -. aY -.\} -.. -.de Fc -.if \\n(aC==0 \{\ -. if \\n(.$>0 \{\ -. ds mN Fo -. ds A1 \\$1 -. ds A2 \\$2 -. ds A3 \\$3 -. ds A4 \\$4 -. ds A5 \\$5 -. ds A6 \\$6 -. ds A7 \\$7 -. ds A8 \\$8 -. ds A9 \\$9 -. nr fV \\n(.$ -. fV -. \} -.\} -.nr fC 0 -.nr oM \\n(oM-1 -.ie \\n(nS>0 .as b1 \|\\*(rp\fR;\fP -.el .as b1 \|\\*(rp -.ie \\n(aC>\\n(aP \{\ -. nr aP \\n(aP+1 -. \\*(A\\n(aP -.\} -.el \{\ -. aZ -.\} -.if \\n(nS>0 \{\ -. in -\\n(iSu -.\} -.hy -.. -.\" NS fb macro - if SYNOPSIS, set hard space inbetween function args -.\" NS fb register - count of words in a function argument -.\" NS Fb register - counter -.\" NS Fb string - temporary string -.de fB -.\" .tm fB==\\n(fB, Fb==\\n(Fb, 1==\\$1 2==\\$2 3==\\$3 4==\\$4 5==\\$5 6==\\$6 -.if \\n(fB==0 \{\ -. nr fB \\n(.$ -. nr Fb 0 -. ds Fb -.\} -.nr Fb \\n(Fb+1 -.as Fb \&\\$1 -.if \\n(Fb<\\n(fB \{\ -. as Fb \&\\*(hV -. fB \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.\} -.. -.\" NS Fc - Function close - not implemented yet -.\" NS Fo - Function open - not implemented yet -.\" -.\" Very crude references, stash all reference info into strings (usual -.\" use of b1 buffer, then b1 contents copied to string of retrievable -.\" naming convention), print out reference on .Re request and clean up. -.\" Ordering very limited, no fancy citations, but can do articles, journals -.\" and books - need to add several missing options (like city etc). -.\" should be able to grab a refer entry, massage it a wee bit (prefix -.\" a `.' to the %[A-Z]) and not worry (ha!) -.\" -.\" NS Rs macro - Reference Start -.\" NS rS register - Reference Start flag -.\" NS rS string - Reference Start buffer name for next save (of b1 buffer) -.de Rs -.nr rS 1 -.rC -.if \\n(nA==1 .Pp -.nr Kl 0 -.. -.\" NS Re macro - Reference End -.de Re -.rZ -.rC -.nr rS 0 -.. -.\" NS rC macro - reference cleanup -.de rC -.nr uK 0 -.nr jK 0 -.nr iK 0 -.nr nK 0 -.nr oK 0 -.nr qK 0 -.nr rK 0 -.nr tK 0 -.nr vK 0 -.nr dK 0 -.nr pK 0 -.nr bK 0 -.ds rS -.rm U1 U2 U3 U4 U5 U6 U7 U8 -.rm uK jK iK nK oK rK qK tK vK dK pK bK -.. -.\" NS rZ macro - reference print -.de rZ -.if \\n(uK \{\&\\*(U1, -. nr aK 1 -. if (\\n(uK>1 \{\ -. aK -. \} -. nr Kl -\\n(uK -.\} -.if \\n(tK \{\ -. nr Kl \\n(Kl-1 -. if \\n(Kl==0 \{\ -. ie (\\n(jK==1):(\\n(bK==1) \{\&\\*q\\*(tK\\*q. -. \} -. el \{\&\\*(eM\\*(tK\\*(nO. -. \} -. \} -. if \\n(Kl>0 \{\ -. ie (\\n(jK==1):(\\n(bK==1) \{\&\\*q\\*(tK\\*q, -. \} -. el \{\&\\*(eM\\*(tK\\*(nO, -. \} -. \} -.\} -.if \\n(bK \{\ -. nr Kl \\n(Kl-1 -. if \\n(Kl==0 \&\\*(eM\\*(bK\\*(nO. -. if \\n(Kl>0 \&\\*(eM\\*(bK\\*(nO, -.\} -.if \\n(iK \{\ -. nr Kl \\n(Kl-1 -. if \\n(Kl==0 \&\\*(eM\\*(iK\\*(nO. -. if \\n(Kl>0 \&\\*(eM\\*(iK\\*(nO, -.\} -.if \\n(jK \{\ -. nr Kl \\n(Kl-1 -. if \\n(Kl==0 \&\\*(eM\\*(jK\\*(nO. -. if \\n(Kl>0 \&\\*(eM\\*(jK\\*(nO, -.\} -.if \\n(rK \{\ -. nr Kl \\n(Kl-1 -. if \\n(Kl==0 \&\\*(rK. -. if \\n(Kl>0 \&\\*(rK, -.\} -.if \\n(nK \{\ -. nr Kl \\n(Kl-1 -. if \\n(Kl==0 \&\\*(nK. -. if \\n(Kl>0 \&\\*(nK, -.\} -.if \\n(vK \{\ -. nr Kl \\n(Kl-1 -. if \\n(Kl==0 \&\\*(vK. -. if \\n(Kl>0 \&\\*(vK, -.\} -.if \\n(pK \{\ -. nr Kl \\n(Kl-1 -. if \\n(Kl==0 \&\\*(pK. -. if \\n(Kl>0 \&\\*(pK, -.\} -.if \\n(qK \{\ -. nr Kl \\n(Kl-1 -. if \\n(Kl==0 \&\\*(qK. -. if \\n(Kl>0 \&\\*(qK, -.\} -.if \\n(dK \{\ -. nr Kl \\n(Kl-1 -. if \\n(Kl==0 \&\\*(dK. -. if \\n(Kl>0 \&\\*(dK, -.\} -.if \\n(oK \{\ -. nr Kl \\n(Kl-1 -. if \\n(Kl==0 \&\\*(oK. -. if \\n(Kl>0 \&\\*(oK, -.\} -.if \\n(Kl>0 .tm unresolved reference problem -.. -.\" NS aK macro - print out reference authors -.de aK -.nr aK \\n(aK+1 -.ie (\\n(uK-\\n(aK)==0 \{\&and \\*(U\\n(aK, -.\} -.el \{\&\\*(U\\n(aK, -. aK -.\} -.. -.\" NS %A macro - reference author(s) -.\" NS uK register - reference author(s) counter -.\" NS U[1-9] strings - reference author(s) names -.de %A -.if \\n(aC==0 \{\ -. ie \\n(.$==0 .tm Usage: .%A Author_name (#\\n(.c) -. el \{\ -. nr uK \\n(uK+1 -. nr Kl \\n(Kl+1 -. ds rS U\\n(uK -. ds mN %A -. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. \} -.\} -.if \\n(aC>\\n(aP \{\ -. nr aP \\n(aP+1 -. nr cF \\n(.f -. nr cZ \\n(.s -. rR -.\} -.. -.\" NS %B macro - [reference] Book Name -.\" NS bK string - Book Name -.\" NS bK register - Book Name flag -.de %B -.if \\n(aC==0 \{\ -. ie \\n(.$==0 .tm Usage: .%B Book Name (#\\n(.c) -. el \{\ -. ds mN %B -. if \\n(rS>0 \{\ -. nr bK \\n(bK+1 -. nr Kl \\n(Kl+1 -. ds rS bK -. \} -. ds A1 \\$1 -. ds A2 \\$2 -. ds A3 \\$3 -. ds A4 \\$4 -. ds A5 \\$5 -. ds A6 \\$6 -. ds A7 \\$7 -. ds A8 \\$8 -. ds A9 \\$9 -. nr fV \\n(.$ -. fV -. \} -.\} -.if \\n(aC>\\n(aP \{\ -. nr aP \\n(aP+1 -. nr cF \\n(.f -. nr cZ \\n(.s -. ie \\n(rS==0 \{\ -. as b1 \&\\*(eM -. nR -. \} -. el .rR -.\} -.. -.\" NS %D macro - [reference] Date -.\" NS dK string - Date String -.\" NS dK register - Date flag -.de %D -.if \\n(aC==0 \{\ -. ie \\n(.$==0 .tm Usage: .%D Date (#\\n(.c) -. el \{\ -. ds mN %D -. nr dK \\n(dK+1 -. nr Kl \\n(Kl+1 -. ds rS dK -. ds A1 \\$1 -. ds A2 \\$2 -. ds A3 \\$3 -. ds A4 \\$4 -. ds A5 \\$5 -. ds A6 \\$6 -. ds A7 \\$7 -. ds A8 \\$8 -. ds A9 \\$9 -. nr fV \\n(.$ -. fV -. \} -.\} -.if \\n(aC>\\n(aP \{\ -. nr aP \\n(aP+1 -. nr cF \\n(.f -. nr cZ \\n(.s -. rR -.\} -.. -.\" NS %I macro - [reference] Issuer/Publisher Name -.\" NS jK register - [reference] Issuer/Publisher Name flag -.\" NS jK string - [reference] Issuer/Publisher Name -.de %I -.if \\n(aC==0 \{\ -. ie \\n(.$==0 .tm Usage: .%I Issuer/Publisher Name (#\\n(.c) -. el \{\ -. ds mN %I -. nr iK \\n(iK+1 -. ds rS iK -. nr Kl \\n(Kl+1 -. ds A1 \\$1 -. ds A2 \\$2 -. ds A3 \\$3 -. ds A4 \\$4 -. ds A5 \\$5 -. ds A6 \\$6 -. ds A7 \\$7 -. ds A8 \\$8 -. ds A9 \\$9 -. nr fV \\n(.$ -. fV -. \} -.\} -.if \\n(aC>\\n(aP \{\ -. nr aP \\n(aP+1 -. nr cF \\n(.f -. nr cZ \\n(.s -. rR -.\} -.. -.\" NS %J macro - [reference] Journal Name -.\" NS jK register - [reference] Journal Name flag -.\" NS jK string - [reference] Journal Name -.de %J -.if \\n(aC==0 \{\ -. ie \\n(.$==0 .tm Usage: .%J Journal Name (#\\n(.c) -. el \{\ -. ds mN %J -. nr jK \\n(jK+1 -. ds rS jK -. nr Kl \\n(Kl+1 -. ds A1 \\$1 -. ds A2 \\$2 -. ds A3 \\$3 -. ds A4 \\$4 -. ds A5 \\$5 -. ds A6 \\$6 -. ds A7 \\$7 -. ds A8 \\$8 -. ds A9 \\$9 -. nr fV \\n(.$ -. fV -. \} -.\} -.if \\n(aC>\\n(aP \{\ -. nr aP \\n(aP+1 -. nr cF \\n(.f -. nr cZ \\n(.s -. rR -.\} -.. -.\" NS %N macro - [reference] issue number -.\" NS nK register - [reference] issue number flag -.\" NS nK string - [reference] issue number -.de %N -.if \\n(aC==0 \{\ -. ie \\n(.$==0 .tm Usage: .%N issue number (#\\n(.c) -. el \{\ -. nr nK \\n(nK+1 -. nr Kl \\n(Kl+1 -. ds rS nK -. ds mN %N -. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. \} -.\} -.if \\n(aC>\\n(aP \{\ -. nr aP \\n(aP+1 -. nr cF \\n(.f -. nr cZ \\n(.s -. rR -.\} -.. -.\" NS %O macro - [reference] optional information -.\" NS oK register - [reference] optional information flag -.\" NS oK string - [reference] optional information -.de %O -.if \\n(aC==0 \{\ -. ie \\n(.$==0 .tm Usage: .%O optional information ... \\*(Pu (#\\n(.c) -. el \{\ -. ds mN %O -. nr oK \\n(oK+1 -. nr Kl \\n(Kl+1 -. ds rS oK -. ds A1 \\$1 -. ds A2 \\$2 -. ds A3 \\$3 -. ds A4 \\$4 -. ds A5 \\$5 -. ds A6 \\$6 -. ds A7 \\$7 -. ds A8 \\$8 -. ds A9 \\$9 -. nr fV \\n(.$ -. fV -. \} -.\} -.if \\n(aC>\\n(aP \{\ -. nr aP \\n(aP+1 -. nr cF \\n(.f -. nr cZ \\n(.s -. rR -.\} -.. -.\" NS %P macro - [reference] page numbers -.\" NS pK register - [reference] page number flag -.\" NS pK string - [reference] page number -.de %P -.if \\n(aC==0 \{\ -. ie \\n(.$==0 .tm Usage: .%P page numbers ... \\*(Pu (#\\n(.c) -. el \{\ -. ds mN %P -. nr pK \\n(pK+1 -. nr Kl \\n(Kl+1 -. ds rS pK -. ds A1 \\$1 -. ds A2 \\$2 -. ds A3 \\$3 -. ds A4 \\$4 -. ds A5 \\$5 -. ds A6 \\$6 -. ds A7 \\$7 -. ds A8 \\$8 -. ds A9 \\$9 -. nr fV \\n(.$ -. fV -. \} -.\} -.if \\n(aC>\\n(aP \{\ -. nr aP \\n(aP+1 -. nr cF \\n(.f -. nr cZ \\n(.s -. rR -.\} -.. -.\" NS %Q macro - Corporate or Foreign Author -.\" NS qK string - Corporate or Foreign Author -.\" NS qK register - Corporate or Foreign Author flag -.de %Q -.if \\n(aC==0 \{\ -. ie \\n(.$==0 .tm Usage: .%Q Corporate or Foreign Author (#\\n(.c) -. el \{\ -. ds mN %Q -. nr qK \\n(qK+1 -. nr Kl \\n(Kl+1 -. ds rS qK -. ds A1 \\$1 -. ds A2 \\$2 -. ds A3 \\$3 -. ds A4 \\$4 -. ds A5 \\$5 -. ds A6 \\$6 -. ds A7 \\$7 -. ds A8 \\$8 -. ds A9 \\$9 -. nr fV \\n(.$ -. fV -. \} -.\} -.if \\n(aC>\\n(aP \{\ -. nr aP \\n(aP+1 -. nr cF \\n(.f -. nr cZ \\n(.s -. rR -.\} -.. -.\" NS %R macro - [reference] report name -.\" NS rK string - [reference] report name -.\" NS rK register - [reference] report flag -.de %R -.if \\n(aC==0 \{\ -. ie \\n(.$==0 .tm Usage: .%R reference report (#\\n(.c) -. el \{\ -. ds mN %R -. nr rK \\n(rK+1 -. nr Kl \\n(Kl+1 -. ds rS rK -. ds A1 \\$1 -. ds A2 \\$2 -. ds A3 \\$3 -. ds A4 \\$4 -. ds A5 \\$5 -. ds A6 \\$6 -. ds A7 \\$7 -. ds A8 \\$8 -. ds A9 \\$9 -. nr fV \\n(.$ -. fV -. \} -.\} -.if \\n(aC>\\n(aP \{\ -. nr aP \\n(aP+1 -. nr cF \\n(.f -. nr cZ \\n(.s -. rR -.\} -.. -.\" NS %T macro - reference title -.\" NS tK string - reference title -.\" NS tK register - reference title flag -.de %T -.if \\n(aC==0 \{\ -. ie \\n(.$==0 .tm Usage: .%T (#\\n(.c) -. el \{\ -. ds mN %T -. if \\n(rS>0 \{\ -. nr tK \\n(tK+1 -. nr Kl \\n(Kl+1 -. ds rS tK -. \} -. ds A1 \\$1 -. ds A2 \\$2 -. ds A3 \\$3 -. ds A4 \\$4 -. ds A5 \\$5 -. ds A6 \\$6 -. ds A7 \\$7 -. ds A8 \\$8 -. ds A9 \\$9 -. nr fV \\n(.$ -. fV -. \} -.\} -.if \\n(aC>\\n(aP \{\ -.\" . ie \\n(jS==1 \{\ -.\" . nr cF \\n(.f -.\" . nr cZ \\n(.s -.\" . ds qL \&\\*(Lq\\*(rA -.\" . ds qR \&\\*(Rq\f\\n(cF\s\\n(cZ -.\" . En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.\" . \} -.\" . el \{\ -. nr aP \\n(aP+1 -. nr cF \\n(.f -. nr cZ \\n(.s -. ie \\n(rS==0 \{\ -. as b1 \&\\*(eM -. nR -. \} -. el .rR -.\" . \} -.\} -.. -.\" NS %V macro - reference volume -.\" NS vK string - reference volume -.\" NS vK register - reference volume flag -.de %V -.if \\n(aC==0 \{\ -. ie \\n(.$==0 .tm Usage: .%V Volume , ... \\*(Pu (#\\n(.c) -. el \{\ -. ds mN %V -. nr vK \\n(vK+1 -. nr Kl \\n(Kl+1 -. ds rS vK -. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. \} -.\} -.if \\n(aC>\\n(aP \{\ -. nr aP \\n(aP+1 -. nr cF \\n(.f -. nr cZ \\n(.s -. rR -.\} -.. -.\" NS rR macro - reference recursion routine -.\" NS jM local register -.\" NS jN local register -.de rR -.hy 0 -.nr jM \\n(C\\n(aP -.ie \\n(jM==1 \{\ -.\" . as b1 \&\f\\n(cF\s\\n(cZ -. ie "\\*(A\\n(aP"Tn" \{\ -. nN -. \} -. el \{\ -. if \\n(aC>8 .tm Usage: \\*(mN - maximum 8 arguments (#\\n(.c) -. aI rR 1 -. \\*(A\\n(aP -. \} -.\} -.el \{\ -. nr jN \\n(aP -. ie \\n(jM==2 .as b1 \&\\*(A\\n(aP -. el .as b1 \&\\*(A\\n(aP -.\" . el .as b1 \&\f\\n(cF\s\\n(cZ\\*(A\\n(aP\fP\s0 -. ie \\n(aC==\\n(aP \{\ -.\" . as b1 \&\f\\n(cF\s\\n(cZ -. rD -. \} -. el \{\ -. nr aP \\n(aP+1 -. as b1 \&\\*(S\\n(jN -. rR -. \} -.\} -.rr jM jN -.. -.\" NS rD macro - save b1 buffer in to appropriate name -.de rD -.as \\*(rS \\*(b1 -.ds b1 -.ds rS -.aY -.. -.\" NS Hf macro - source include header files. -.de Hf -.Pp -File: -.Pa \\$1 -.Pp -.nr cF \\n(.f -.nr cZ \\n(.s -.ie t \{\ -\&\\*(lI -.br -.ta +9n 18n 27n 36n 45n 54n 63n 72n -.\} -.el \{\ -.ta +8n 16n 24n 32n 40n 48n 56n 64n 72n -.\} -.nf -.so \\$1 -.fi -.ft \\n(cF -.fz \\n(cZ -.Pp -.. -.\" NS An macro - author name -.\" NS aN register -.nr aN 0 -.de An -.if \\n(nY==1 \{\ -. ie \\n(aN==1 \{\ -. br -. \} -. el \{\ -. nr aN 1 -. \} -.\} -.if \\n(aC==0 \{\ -. ie \\n(.$==0 .tm Usage: .An author_name ... \\*(Pu (#\\n(.c) -. el \{\ -. ds mN An -. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. \} -.\} -.if \\n(aC>\\n(aP \{\ -. nr aP \\n(aP+1 -. nr cF \\n(.f -. nr cZ \\n(.s -. nR -.\} -.. -.\" NS Sf macro -defunct -.de Sf -.tm .Sf defunct, use prefix or Ns -.. -.ds rV "function returns the value 0 if successful; otherwise the value -1 is returned and the global variable \\*(vAerrno\fP is set to indicate the error. -.\" Ns Rv macro - return values -.\" Ns rV string - standard return message -.de Rv -.ie \\n(.$==0 \{\ -.tm Usage: .Rv [-std] (#\\n(.c) -.\} -.el \{\ -. ds mN Rv -.\" . nr aP 0 -.\" . nr lR \\n(lR+1 -.\" . ds A1 \\$2 -.\" . ds A2 \\$3 -.\" . ds A3 \\$4 -.\" . ds A4 \\$5 -.\" . ds A5 \\$6 -.\" . ds A6 \\$7 -.\" . ds A7 \\$8 -.\" . ds A8 \\$9 -.\" . nr fV \\n(.$-1 -. if "\\$1"-std" \{\ -. nr cH \\*(cH -. if (\\n(cH<2):(\\n(cH>3) .tm Usage: .Rv -std sections 2 and 3 only -. br -\&The -.Fn \\$2 -\&\\*(rV -. \} -.\} -.. diff --git a/share/tmac/doc-common b/share/tmac/doc-common deleted file mode 100644 index a8aef9e..0000000 --- a/share/tmac/doc-common +++ /dev/null @@ -1,432 +0,0 @@ -.\" Copyright (c) 1991, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)doc-common 8.1 (Berkeley) 6/8/93 -.\" -.\" %beginstrip% -.nr %A 1 -.nr %J 1 -.nr %N 1 -.nr %O 1 -.nr %R 1 -.nr %T 1 -.nr %V 1 -.nr Ad 12n -.nr Ac 3 -.nr Ao 12n -.nr An 12n -.nr Aq 12n -.nr Ar 12n -.nr Bc 3 -.nr Bl 1 -.nr Bo 12n -.nr Bq 12n -.nr Cd 12n -.nr Cm 10n -.nr Dc 3 -.nr Do 10n -.nr Dq 12n -.nr Ds 6n -.nr Dq 12n -.nr Dv 12n -.nr Ec 3 -.nr El 1 -.nr Eo 12n -.nr Eq 12n -.nr Em 10n -.nr Er 12n -.nr Ev 15n -.nr Fa 12n -.nr Fl 10n -.nr Fc 3 -.nr Fo 16n -.nr Fn 16n -.nr I1 6n -.nr I2 12n -.nr I3 18n -.nr Ic 10n -.nr Li 16n -.nr Ms 6n -.nr Nm 10n -.nr No 12n -.nr Ns 2 -.nr Oo 10n -.nr Oc 3 -.nr Op 14n -.nr Pa 32n -.nr Pf 12n -.nr Pc 3 -.nr Po 12n -.nr Pq 12n -.nr Ql 16n -.nr Sc 3 -.nr So 12n -.nr Sq 12n -.nr Sy 6n -.nr Sx 16n -.nr Rv 1 -.nr Tn 10n -.nr Ta 1 -.nr Tv 1 -.nr Tx 22n -.nr Va 12n -.nr Xc 3 -.nr Xo 1 -.nr Xr 10n -.ds sV \& \& -.ds hV \&\ \& -.ds iV \& \& -.ds tV \&\\t\& -.\" Punctuation values (3 = closing punctuation, 4 = opening) -.nr z. 3 -.nr z, 3 -.nr z: 3 -.nr z; 3 -.nr z( 4 -.nr z) 3 -.nr z[ 4 -.nr z] 3 -.\" Matching pairs -.ds z( z) -.ds z[ z] -.ds z< z> -.\" This is disgusting, troff not parse ``if'' stmt properly -.nr z0 0 -.nr z1 0 -.nr z2 0 -.nr z3 0 -.nr z4 0 -.nr z5 0 -.nr z6 0 -.nr z7 0 -.nr z8 0 -.nr z9 0 -.nr z# 0 -.\" Header assembly macros -.de Dt -.ds dT UNTITLED -.ds vT LOCAL -.ds cH Null -.if !"\\$1"" .ds dT \\$1 -.if !"\\$2"" \{\ -. ds cH \\$2 -.\" . if "\\$3"" \{\ -. if \\$2>=1 .if \\$2<=8 \{\ -. ds vT BSD Reference Manual -. if \\$2>1 .if \\$2<6 .ds vT BSD Programmer's Manual -. if "\\$2"8" .ds vT BSD System Manager's Manual -. nr sN \\$2 -. \} -. if "\\$2"unass" .ds vT DRAFT -. if "\\$2"draft" .ds vT DRAFT -. if "\\$2"paper" .ds vT UNTITLED -.\" . \} -.\} -.if !"\\$3"" \{\ -. if "\\$3"USD" .ds vT BSD User's Supplementary Documents -. if "\\$3"PS1" .ds vT BSD Programmers's Supplementary Documents -. if "\\$3"AMD" .ds vT BSD Ancestral Manual Documents -. if "\\$3"SMM" .ds vT BSD System Manager's Manual -. if "\\$3"URM" .ds vT BSD Reference Manual -. if "\\$3"PRM" .ds vT BSD Programmers's Manual -. if "\\$3"IND" .ds vT BSD Manual Master Index -.\" . if "\\$3"CON" .ds vT BSD Contributed Software Manual -.\" . if "\\$3"IMP" .ds vT BSD Implementation Notes -.\" . if "\\$3"HOW" .ds vT BSD How Pocket Manual -. if "\\$3"LOCAL" .ds vT BSD Local Manual -. if "\\$3"tahoe" .as vT \ (Tahoe Architecture) -. if "\\$3"vax" .as vT \ (VAX Architecture) -. if "\\$3"hp300" .as vT \ (HP300 Architecture) -. if "\\$3"sparc" .as vT \ (SPARC Architecture) -. if "\\*(vT"LOCAL" .ds vT \\$3 -.\} -.. -.\" NS Os macro - Operating System (behaviour changes after first call) -.\" . ds vT \f(CODRAFT\fP\ \ \-\-\ \ \\*(vT\ \ \-\-\ \ \f(CODRAFT -.\" . ds dD \f(CODRAFT\fP\ \ \-\-\ \ \\*(dD\ \ \-\-\ \ \f(CODRAFT -.\" .ds vT \s+4\f(CODRAFT\fP\s-4\ \ \-\-\ \ \\*(vT\ \ \-\-\ \ \s+4\f(CODRAFT\s-4 -.\" .ds dD \s+4\f(CODRAFT\fP\s-4\ \ \-\-\ \ \\*(dD\ \ \-\-\ \ \s+4\f(CODRAFT\s-4 -.de Os -.ds oS Null -.if "\\$1"" \{\ -. ds oS 4.4BSD -.\} -.if "\\$2"" \{\ -. ds aa Non-Null -.\} -.if "\\$1"ATT" \{\ -. ds oS AT&T -. if "\\$2"" .as oS \0UNIX -. if "\\$2"7th" .as oS \07th Edition -. if "\\$2"7" .as oS \07th Edition -. if "\\$2"III" .as oS \0System III -. if "\\$2"3" .as oS \0System III -. if "\\$2"V" .as oS \0System V -. if "\\$2"V.2" .as oS \0System V Release 2 -. if "\\$2"V.3" .as oS \0System V Release 3 -. if "\\$2"V.4" .as oS \0System V Release 4 -.\} -.if "\\$1"BSD" \{\ -. if "\\$2"3" .ds oS 3rd Berkeley Distribution -. if "\\$2"4" .ds oS 4th Berkeley Distribution -. if "\\$2"4.1" .ds oS 4.1 Berkeley Distribution -. if "\\$2"4.2" .ds oS 4.2 Berkeley Distribution -. if "\\$2"4.3" .ds oS 4.3 Berkeley Distribution -. if "\\$2"4.3T" .ds oS 4.3-Tahoe Berkeley Distribution -. if "\\$2"4.3R" .ds oS 4.3-Reno Berkeley Distribution -. if "\\$2"4.3t" .ds oS 4.3-Tahoe Berkeley Distribution -. if "\\$2"4.3r" .ds oS 4.3-Reno Berkeley Distribution -. if "\\$2"4.4" .ds oS 4.4BSD -.\} -.if "\\*(oS"Null" .ds oS \0\\$1 -.if "\\*(aa"Non-Null" .as oS \0\\$2 -.rm aa -.. -.de Dd -.if !"\\*(dD"" .nr gX 1 -.ie \\n(.$>0 \{\ -. ie \\n(.$==3 \{\ -. ds dD \\$1 \\$2 \\$3 -. \} -. el \{\ -. if "\\n(mo"1" .ds dD January -. if "\\n(mo"2" .ds dD February -. if "\\n(mo"3" .ds dD March -. if "\\n(mo"4" .ds dD April -. if "\\n(mo"5" .ds dD May -. if "\\n(mo"6" .ds dD June -. if "\\n(mo"7" .ds dD July -. if "\\n(mo"8" .ds dD August -. if "\\n(mo"9" .ds dD September -. if "\\n(mo"10" .ds dD October -. if "\\n(mo"11" .ds dD November -. if "\\n(mo"12" .ds dD December -. as dD \&\ \\n(dy, 19\\n(yr -. \} -.\} -.el \{\ -. ds dD Epoch -.\} -.. -.de hM -.ev 1 -.pL -.if !\\n(cR 'sp \\n(Hmu -.tl @\\*(Hs\\*(hT\fP@\\*(Vs\\*(vT\fP@\\*(Hs\\*(hT\fP@ -'sp \\n(Hmu -.ev -.. -.de fM -.ie \\n(cR 'br -.el \{\ -. ev 1 -. pL -. if !\\n(cR \{\ -' sp \\n(Fmu -. tl @\\*(Hs\\*(oS\fP@\\*(Vs\\*(dD\fP@%@ -' bp -. \} -. ev -.\} -.. -.de lM -.fl -.if \\n(cR \{\ -' sp -. tl @\\*(Hs\\*(oS\fP@\\*(Vs\\*(dD\fP@%@ -. pl \\n(nlu -.\} -.. -.de Pp -.sp \\n(Ppu -.ne 2 -.ns -.. -.de Lp -.Pp -.. -.de LP -.tm Not a \-mdoc command: .LP -.. -.de PP -.tm Not a \-mdoc command: .PP -.. -.de pp -.tm Not a \-mdoc command: .pp -.. -.de Nd -\&\-\& \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.. -.de Ss -.sp -.ne 2 -.ti -.25i -\&\\*(sH\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6 \|\\$7 \|\\$8 \|\\$9 -\&\fP\s0 -.ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i -.if !\\n(cR .ne 2 -.br -.. -.de Rd -.tm MDOC REGISTER DUMP -.tm Db==\\n(Db register DEBUG MODE -.tm L[0-9] registers - stack of list types -.tm L0==\\n(L0 -.tm L1==\\n(L1 -.tm L2==\\n(L2 -.tm L3==\\n(L3 -.tm L4==\\n(L4 -.tm L5==\\n(L5 -.tm L6==\\n(L6 -.tm L7==\\n(L7 -.tm L8==\\n(L8 -.tm L9==\\n(L9 -.tm O[0-9] registers - stack of indent -.tm O0==\\n(O0 -.tm O1==\\n(O1 -.tm O2==\\n(O2 -.tm O3==\\n(O3 -.tm O4==\\n(O4 -.tm O5==\\n(O5 -.tm O6==\\n(O6 -.tm O7==\\n(O7 -.tm O8==\\n(O8 -.tm O9==\\n(O9 -.tm aC==\\n(aC register argument counter (aV/fV) -.tm aJ==\\n(aJ register (for vR) -.tm aN==\\n(aN register -.tm aP==\\n(aP register argument pointer (aV) -.tm aT==\\n(aT register argument type -.tm aa==\\n(aa local register -.tm bK==\\n(bK register - Book Name flag -.tm cF==\\n(cF register save current font -.tm cI==\\n(cI register - column indent width -.tm cZ==\\n(cZ register save current font size -.tm dK==\\n(dK register - Date flag -.tm d[0-9] registers - display-type stack -.tm d0==\\n(d0 -.tm d1==\\n(d1 -.tm d2==\\n(d2 -.tm d3==\\n(d3 -.tm d4==\\n(d4 -.tm d5==\\n(d5 -.tm d6==\\n(d6 -.tm d7==\\n(d7 -.tm d8==\\n(d8 -.tm d9==\\n(d9 -.tm dZ==\\n(dZ register diversion count -.tm fD==\\n(fD register subroutine test (in synopsis only) -.tm fV==\\n(fV register argument counter (must set to \\n(.$ prior to -.tm fY==\\n(fY register - dick with old style function declarations (fortran) -.tm fZ==\\n(fZ register also subroutine count (in synopsis only) -.tm h[0-9] register horizontal tag stack (continuous if 1, break if -.tm h0==\\n(h0 -.tm h1==\\n(h1 -.tm h2==\\n(h2 -.tm h3==\\n(h3 -.tm h4==\\n(h4 -.tm h5==\\n(h5 -.tm h6==\\n(h6 -.tm h7==\\n(h7 -.tm h8==\\n(h8 -.tm h9==\\n(h9 -.tm iD==\\n(iD local register -.tm iI==\\n(iI local register (indent for inline debug mode) -.tm iN==\\n(iN register DEBUG MODE (inline if 1, to stderr if -.tm iS==\\n(iS register - indent second command line in a synopsis -.tm jK==\\n(jK register - [reference] Journal Name flag -.tm jM==\\n(jM local register -.tm jN==\\n(jN local register -.tm lC==\\n(lC register - list type stack counter -.tm lK==\\n(lK register count of lines read from input file -.tm nK==\\n(nK register - [reference] issue number flag -.tm nU==\\n(nU register count -.tm oK==\\n(oK register - [reference] optional information flag -.tm oM==\\n(oM register (extension possible) -.tm o[0-9] register offset stack (nested tags) -.tm o0==\\n(o0 -.tm o1==\\n(o1 -.tm o2==\\n(o2 -.tm o3==\\n(o3 -.tm o4==\\n(o4 -.tm o5==\\n(o5 -.tm o6==\\n(o6 -.tm o7==\\n(o7 -.tm o8==\\n(o8 -.tm o9==\\n(o9 -.tm oM==\\n(oM register open ended line flag -.tm pK==\\n(pK register - [reference] page number flag -.tm qK==\\n(qK register - Corporate or Foreign Author flag -.tm rK==\\n(rK register - [reference] report flag -.tm rS==\\n(rS register - Reference Start flag -.tm sM==\\n(sM register - default is one (space mode on) -.tm tK==\\n(tK register - reference title flag -.tm tP==\\n(tP register tag flag (for diversions) -.tm tX==\\n(tX register (initial class) -.tm tY==\\n(tY register (next possible lC value) -.tm t[0-9] register tag string stack (nested tags) -.tm t0==\\n(t0 -.tm t1==\\n(t1 -.tm t2==\\n(t2 -.tm t3==\\n(t3 -.tm t4==\\n(t4 -.tm t5==\\n(t5 -.tm t6==\\n(t6 -.tm t7==\\n(t7 -.tm t8==\\n(t8 -.tm t9==\\n(t9 -.tm uK==\\n(uK register - reference author(s) counter -.tm vK==\\n(vK register - reference volume flag -.tm v[0-9] register vertical tag break stack -.tm v0==\\n(v0 -.tm v1==\\n(v1 -.tm v2==\\n(v2 -.tm v3==\\n(v3 -.tm v4==\\n(v4 -.tm v5==\\n(v5 -.tm v6==\\n(v6 -.tm v7==\\n(v7 -.tm v8==\\n(v8 -.tm v9==\\n(v9 -.tm w[0-9] register tag stack (nested tags) -.tm w0==\\n(w0 -.tm w1==\\n(w1 -.tm w2==\\n(w2 -.tm w3==\\n(w3 -.tm w4==\\n(w4 -.tm w5==\\n(w5 -.tm w6==\\n(w6 -.tm w7==\\n(w7 -.tm w8==\\n(w8 -.tm w9==\\n(w9 -.tm xX==\\n(xX local register -.tm END OF REGISTER DUMP -.. diff --git a/share/tmac/doc-ditroff b/share/tmac/doc-ditroff deleted file mode 100644 index 08b413e..0000000 --- a/share/tmac/doc-ditroff +++ /dev/null @@ -1,269 +0,0 @@ -.\" Copyright (c) 1991, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)doc-ditroff 8.1 (Berkeley) 6/8/93 -.\" -.\" tmac.mdoc-ditroff -.\" %beginstrip% -.\" -.ds aD \fI\s10 -.ds aR \f(CO\s10 -.ds cM \f(CB\s10 -.ds dF \fR\s10 -.ds eM \fI\s10 -.ds eR \fC\s10 -.ds eV \fC\s10 -.ds fA \f(CO\s10 -.ds fD \f(CB\s10 -.ds fL \f(CB\s10 -.ds fN \f(CB\s10 -.ds fP \fP\s0 -.ds fS \s0 -.ds fT \f(CO\s10 -.ds Hs \fR\s10 -.ds iC \f(CB\s10 -.ds lI \fC -.ds lP \fR\|(\|\fP\s10 -.ds lp \fR(\fP\s10 -.ds rP \fR\|)\|\fP\s10 -.ds rp \fR)\fP\s10 -.ds lB \fR\^[\^\fP\s10 -.ds rB \fR\^]\fP\s10 -.ds mL \fB\s10 -.ds nM \f(CB\s10 -.ds nO \fR\s10 -.ds nT \s0 -.ds pA \fC\s10 -.ds Pu \fR{\ .\ ,\ :\ ;\ (\ )\ [\ ]\ \fR} -.ds rA \fR\s10 -.ds rT \f(CO\s10 -.ds sH \fB\s10 -.ds sP \s0 -.ds sY \fB\s10 -.ds sX \fR\s10 -.ds tF \fR -.ds tN \s9 -.ds vA \fI\s10 -.ds Vs \fR\s10 -.ds vT \f(CB\s10 -.ds xR \fC\s10 -.tr *\(** -.nr sI \w\fC,u*5 -.nr Ti \n(sIu -.nr Pp .5v -.ds lS \0 -.nr lS \w'\0'u -.nr dI 6n -.de pL -.nr Hm .5i -.nr Fm .5i -.nr ll 6.5i -.ll 6.5i -.nr lt 6.5i -.lt 6.5i -.nr po 1i -.po 1.i -.nr dV .5v -.. -.ds <= \(<= -.ds >= \(>= -.ds Lq \&`` -.ds Rq \&'' -.ds ua \(ua -.ds aa \(aa -.ds ga \(ga -.ds sR \&' -.ds sL \&` -.ds q \&" -.\" Math stuff -.ds Pi \(*p -.ds Ne \(!= -.ds Le \(<= -.ds Ge \(>= -.ds Lt < -.ds Gt > -.ds Pm \(+- -.ds If \(if -.ds Na \fINaN\fP -.ds Ba \fR\&|\fP -.\" -.nr gX 0 -.de hK -.ds hT \\*(dT -.if !"\\*(cH"Null" \{\ -. ie !"\\*(gP"Null" .as hT \|(\|\\*(cH\\*(gP\|) -. el .as hT \\|(\\|\\*(cH\\|) -.\} -.if "\\*(cH"Null" \{\ -. if !"\\*(gP"Null" .as hT \&\|(\|\\*(gP\|) -.\} -.wh 0 hM -.wh -1.25i fM -.\" .tm Here is gX == \\n(gX -.ie \\n(gX==1 \{\ -. rm n1 -. if \\n(.g .br -. if !\\n(.g .bp -.\} -.el \{\ -. if \\n(.g .br -. if !\\n(.g 'bp -.\} -.nr % 1 -.nr gX 0 -.em lM -.. -.\" -.nr fW \w\fC0 -.de sW -.nr sW \w\fC\\$1 -.ie \\n(sW>=\\n(fW \{\ -. ie \\n(sW%\\n(fW .nr sW (\\n(sW/\\n(fW)+1 -. el .nr sW \\n(sW/\\n(fW -.\} -.el \{\ -. ie \\n(sW>0 .nr sW 1 -. el .nr sW 0 -.\} -.. -.\" -.de aW -.nr sW \w\fC\\*(A\\$1 -.ie \\n(sW>=\\n(fW \{\ -. ie \\n(sW%\\n(fW .nr sW (\\n(sW/\\n(fW)+1 -. el .nr sW \\n(sW/\\n(fW -.\} -.el \{\ -. ie \\n(sW>0 .nr sW 1 -. el .nr sW 0 -.\} -.. -.\" NS Ql macro - Quoted literal define -.de Ql -.if \\n(aC==0 \{\ -. ds mN Ql -. ds A1 \\$1 -. ds A2 \\$2 -. ds A3 \\$3 -. ds A4 \\$4 -. ds A5 \\$5 -. ds A6 \\$6 -. ds A7 \\$7 -. ds A8 \\$8 -. nr fV \\n(.$ -. fV -.\} -.nr aP \\n(aP+1 -.aW \\n(aP -.nr aP \\n(aP-1 -.if \\n(sW>2 .Li -.if \\n(sW<=2 \{\ -.\" Db on -. if (\\n(aP>0) \{\ -. ds A\\n(aP Li -. nr aP \\n(aP -1 -. \} -. if (\\n(aP==0) \{\ -. rm C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 -. rm S1 S2 S3 S4 S5 S6 S7 S8 S9 -. rn A8 A9 -. rn A7 A8 -. rn A6 A7 -. rn A5 A6 -. rn A4 A5 -. rn A3 A4 -. rn A2 A3 -. rn A1 A2 -. ds A1 Li -. nr fV \\n(aC+1 -. nr aC 0 -. fV -. \} -. ds qL \&\\*(sL -. ds qR \&\\*(sR -. En -.\" Db off -.\} -.. -.\" NS Sh macro - Section Headers -.\" NS nS register - Section Header SYNOPSIS flag -.\" NS nF register - Section Header FILES flag -.\" NS nA register - Section Header SEE ALSO flag -.\" NS nT register - Section Header STANDARDS flag -.de Sh -.nr nS 0 -.nr sE 0 -.nr iS 0 -'ad -.ie "\\$1"NAME" \{\ -. hK -' in 0 -.\} -.el \{\ -. nr nS 0 -. nr nA 0 -. nr nF 0 -. nr nT 0 -. nr nY 0 -. nr oT 0 -. if "\\$1"SYNOPSIS" \{\ -. na -. nr nS 1 -. \} -. if "\\$1"DESCRIPTION" \{\ -. nr fY 0 -. nr fZ 0 -. nr fB 0 -. nr Fb 0 -. ds Fb -. \} -. if "\\$1"SEE" \{\ -. nr nA 1 -. na -. \} -. if "\\$1"FILES" .nr nF 1 -. if "\\$1"STANDARDS" .nr nT 1 -. if "\\$1"AUTHORS" .nr nY 1 -. if "\\$1"SEE" .nr sE 1 -. in 0 -. nr aN 0 -.\} -.pL -'sp -.ns -.ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i -.if !\\n(cR .ne 3 -'fi -\&\\*(sH\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6 \|\\$7 \|\\$8 \|\\$9 -\&\fP\s0\& -.in \\n(.iu+\\n(Tiu -.ns -.. diff --git a/share/tmac/doc-nroff b/share/tmac/doc-nroff deleted file mode 100644 index 2bb9531..0000000 --- a/share/tmac/doc-nroff +++ /dev/null @@ -1,225 +0,0 @@ -.\" Copyright (c) 1991, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)doc-nroff 8.1 (Berkeley) 6/8/93 -.\" -.\" tmac.mdoc-nroff -.\" %beginstrip% -.\" -.ds aD \fI -.ds aR \fI -.ds cM \fB -.ds dF \fR -.ds eM \fI -.ds eR \fR -.ds eV \fR -.ds fA \fI -.ds fD \fB -.ds fL \fB -.ds fN \fB -.ds fP \fP -.ds fS -.ds fT \fI -.ds Hs \fR -.ds iC \fB -.ds lI \fR -.ds lP \fR\|(\fP -.ds rP \fR\|)\fP -.ds lp \fR\|(\fP -.ds rp \fR\|)\fP -.ds lB \fR\|[\|\fP -.ds rB \fR\|]\fP -.ds mL \fB -.ds nM \fB -.ds nO \fR -.ds pA \fI -.ds Pu {\ .\ ,\ ;\ :\ (\ )\ [\ ]} -.ds rA \fR -.ds rT \fI -.ds sH \fB -.ds sP -.ds sY \fB -.ds sX \fI -.ds tF \fR -.ds tN -.ds vA \fI -.ds Vs \fR -.ds vT \fB -.ds xR \fR -.\" MISCELLANEOUS -.nr sI .5i -.nr Ti .5i -.nr cR 1 -.nr Pp 1v -.ds lS \0\0 -.nr lS \w'\0\0'u -.nr dI 6n -.\" -.de pL -.ie \\n(cR .nr Hm 0 -.el .nr Hm .5i -.nr Fm .5i -.nr ll 78n -.ll 78n -.nr lt 78n -.lt 78n -.nr po 0i -.po 0i -.nr dV 1v -.ad l -.na -.. -.ds <= \&<\&= -.ds >= \&>\&= -.ds Rq '' -.ds Lq `` -.ds ua ^ -.ds aa \' -.ds ga \` -.ds sL ` -.ds sR ' -.ds q \&" -.\" Math stuff -.ds Pi pi -.ds Ne != -.ds Le <= -.ds Ge >= -.ds Lt < -.ds Gt > -.ds Pm +- -.ds If infinity -.ds Na \fINaN\fP -.ds Ba \fR\&|\fP - -.\" -.de hK -.nr % 1 -.ds hT \\*(dT -.if !"\\*(cH"Null" \{\ -. ie !"\\*(gP"Null" .as hT \|(\|\\*(cH\\*(gP\|) -. el .as hT \\|(\\|\\*(cH\\|) -.\} -.if "\\*(cH"Null" .if !"\\*(gP"Null" .as hT \&\|(\|\\*(gP\|) -.ie \\n(cR \{\ -. hM -. wh -1v fM -.\} -.el \{\ -. wh 0 hM -. wh -1.167i fM -.\} -.if \\n(nl==0:\\n(nl==-1 'bp -.em lM -.. -.nr fW \w'0' -.de sW -.nr sW \w\\$1 -.ie \\n(sW>=\\n(fW \{\ -. ie \\n(sW%\\n(fW .nr sW (\\n(sW/\\n(fW)+1 -. el .nr sW \\n(sW/\\n(fW -.\} -.el .nr sW 0 -.. -.de aW -.nr sW \w\\*(A\\$1 -.ie \\n(sW>=\\n(fW \{\ -. ie \\n(sW%\\n(fW .nr sW (\\n(sW/\\n(fW)+1 -. el .nr sW \\n(sW/\\n(fW -.\} -.el .nr sW 0 -.. -.\" NS Ql macro - Quoted literal define -.de Ql -.if \\n(aC==0 \{\ -. ds mN Ql -. ds A1 \\$1 -. ds A2 \\$2 -. ds A3 \\$3 -. ds A4 \\$4 -. ds A5 \\$5 -. ds A6 \\$6 -. ds A7 \\$7 -. ds A8 \\$8 -. ds A9 \\$9 -. nr fV \\n(.$ -. fV -.\} -.ds qL \&\\*(sL -.ds qR \&\\*(sR -.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.. -.\" NS Sh macro - Section Headers -.\" NS nS register - Section Header SYNOPSIS flag -.\" NS nF register - Section Header FILES flag -.\" NS nA register - Section Header SEE ALSO flag -.\" NS nT register - Section Header STANDARDS flag -.de Sh -.nr nS 0 -.nr sE 0 -.nr iS 0 -.ie "\\$1"NAME" \{\ -. hK -' in 0 -.\} -.el \{\ -. nr nS 0 -. nr nA 0 -. nr nF 0 -. nr nT 0 -. nr nY 0 -. nr aN 0 -. nr oT 0 -. if "\\$1"SEE" .nr nA 1 -. if "\\$1"FILES" .nr nF 1 -. if "\\$1"STANDARDS" .nr nT 1 -. if "\\$1"SYNOPSIS" .nr nS 1 -. if "\\$1"DESCRIPTION" \{\ -. rr fB -. rr Fb -. ds Fb -. nr fY 0 -. nr fZ 0 -. \} -. if "\\$1"AUTHORS" .nr nY 1 -. in 0 -.\} -.pL -'sp -.ns -.ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i -.if !\\n(cR .ne 3 -'fi -\&\\*(sH\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6 \|\\$7 \|\\$8 \|\\$9 -\&\fP\s0\& -.in \\n(.iu+\\n(Tiu -.if "\\$1"SEE" .nr sE 1 -.ns -.. diff --git a/share/tmac/doc-syms b/share/tmac/doc-syms deleted file mode 100644 index edc886f..0000000 --- a/share/tmac/doc-syms +++ /dev/null @@ -1,238 +0,0 @@ -.\" Copyright (c) 1991, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)doc-syms 8.1 (Berkeley) 6/8/93 -.\" -.\" %beginstrip% -.\" NS Ux macro - UNIX -.de Ux -.nr cF \\n(.f -.nr cZ \\n(.s -.ds aa \&\f\\n(cF\s\\n(cZ -.as b1 \&\\*(tNUNIX\\*(aa -.rm aa -.if \\n(aC==0 \{\ -. if \\n(.$>0 .aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.\} -.ie \\n(aC>\\n(aP \{\ -. nr aP \\n(aP+1 -. ie \\n(C\\n(aP==1 \{\ -. \\*(A\\n(aP -. \} -. el .nR -.\} -.el .aZ -.. -.\" NS Bx macro -BSD (fix smaller nroff version) -.de Bx -.nr cF \\n(.f -.nr cZ \\n(.s -.ds aa \&\f\\n(cF\s\\n(cZ -.if \\n(aC==0 \{\ -.\" . ie \\n(.$==0 \&\\*(tNBSD\\*(aa \\*(tNUNIX\\*(aa -. ie \\n(.$==0 \&\\*(tNBSD\\*(aa -. el .aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.\} -.if "\\$1"-alpha" \{\ -\¤tly in alpha test. -. aY -.\} -.if "\\$1"-beta" \{\ -\¤tly in beta test. -. aY -.\} -.if "\\$1"-devel" \{\ -\¤tly under development. -. aY -.\} -.if \\n(aC>\\n(aP \{\ -. nr aP \\n(aP+1 -. ie \\n(C\\n(aP==2 \{\ -. as b1 \&\\*(A\\n(aP\&\\*(tNBSD\\*(aa -. ie \\n(aC>\\n(aP \{\ -. nr jj \\n(aP+1 -. ie \\n(C\\n(jj==2 \{\ -. if "\\*(A\\n(jj"Reno" \{\ -. nr aP \\n(aP+1 -. as b1 \&\-\\*(A\\n(jj -. \} -. if "\\*(A\\n(jj"reno" \{\ -. nr aP \\n(aP+1 -. as b1 \&\-Reno -. \} -. if "\\*(A\\n(jj"Tahoe" \{\ -. nr aP \\n(aP+1 -. as b1 \&\-\\*(A\\n(jj -. \} -. if "\\*(A\\n(jj"tahoe" \{\ -. nr aP \\n(aP+1 -. as b1 \&\-Tahoe -. \} -. ie \\n(aC>\\n(aP \{\ -. nr aP \\n(aP+1 -. nR -. \} -. el .aZ -. \} -. el \{\ -. nr aP \\n(aP+1 -. nR -. \} -. rr jj -. \} -. el .aZ -. \} -. el \{\ -. as b1 \&\\*(tNBSD\\*(aa -. nR -. \} -.\} -.. -.\" Ns Ud macro - prints "currently under development" (HISTORY section) -.de Ud -\¤tly under development. -.. -.\" Ns At macro - AT&T UNIX (this macro does not handle punctuation) -.de At -.nr cF \\n(.f -.nr cZ \\n(.s -.ds aa \&\f\\n(cF\s\\n(cZ -.if \\n(.$==2 \{\ -. if "\\$1"32v" \&Version 32V \\*(tNAT&T UNIX\\*(aa\\$2 -. if "\\$1"v6" \&Version 6 \\*(tNAT&T UNIX\\*(aa\\$2 -. if "\\$1"v7" \&Version 7 \\*(tNAT&T UNIX\\*(aa\\$2 -. if "\\$1"V" \&\\*(tNAT&T\\*(aa System V \\*(tNUNIX\\*(aa\\$2 -. if "\\$1"V.1" \&\\*(tNAT&T\\*(aa System V.1 \\*(tNUNIX\\*(aa\\$2 -. if "\\$1"V.4" \&\\*(tNAT&T\\*(aa System V.4 \\*(tNUNIX\\*(aa\\$2 -.\} -.if \\n(.$==1 \{\ -. if "\\$1"32v" \&Version 32V \\*(tNAT&T UNIX\\*(aa -. if "\\$1"v6" \&Version 6 \\*(tNAT&T UNIX\\*(aa -. if "\\$1"v7" \&Version 7 \\*(tNAT&T UNIX\\*(aa -. if "\\$1"V" \&\\*(tNAT&T\\*(aa System V \\*(tNUNIX\\*(aa -. if "\\$1"V.1" \&\\*(tNAT&T\\*(aa System V.1 \\*(tNUNIX\\*(aa -. if "\\$1"V.4" \&\\*(tNAT&T\\*(aa System V.4 \\*(tNUNIX\\*(aa -.\} -.if \\n(.$==0 \{\ -\&\\*(tNAT&T UNIX\\*(aa -.\} -.. -.\" The Bt macro should go away now -.\" Ns Bt macro - prints "is currently in beta test." (HISTORY section) -.de Bt -\&is currently in beta test. -.. -.\" NS St macro - standards (posix, ansi - formal standard names) -.ds Px \\*(tNPOSIX -.ds Ai \\*(tNANSI -.de St -.if \\n(aC==0 \{\ -. ie \\n(.$==0 \{\ -.tm Usage: .St [-p1003.1-88 | -p1003.2 | -ansiC-89 | -iso ] \\*(Pu ... (#\\n(.c) -. \} -. el \{\ -. ds mN St -. nr aP 0 -. ds A1 \\$1 -. ds A2 \\$2 -. ds A3 \\$3 -. ds A4 \\$4 -. ds A5 \\$5 -. ds A6 \\$6 -. ds A7 \\$7 -. ds A8 \\$8 -. ds A9 \\$9 -. nr fV \\n(.$ -. fV -. \} -.\} -.if \\n(aC>\\n(aP \{\ -. nr cF \\n(.f -. nr cZ \\n(.s -. ds aa \&\f\\n(cF\s\\n(cZ -. nr aP \\n(aP+1 -. if "\\*(A\\n(aP"-p1003.1-88" \{\ -. ie \\n(sT==1 \{\ -. ds b1 \&\\*(tNIEEE Std\\*(aa1003.1-1988\\*(sV -. as b1 (``\\*(tN\\*(Px\\*(aa'') -. \} -. el \{\ -. ds b1 \&\\*(tNIEEE Std\\*(aa1003.1-1988\\*(sV -. as b1 (``\\*(tN\\*(Px\\*(aa'') -. \} -. \} -. if "\\*(A\\n(aP"-p1003.2" \{\ -. ie \\n(sT==1 \{\ -. ds b1 \&\\*(tNIEEE Std\\*(aa1003.2 -. as b1 (``\\*(tN\\*(Px\\*(aa'') -. \} -. el \{\ -. ds b1 \&\\*(tNIEEE Std\\*(aa1003.2\\*(sV -. as b1 (``\\*(tN\\*(Px\\*(aa'') -. \} -. \} -. if "\\*(A\\n(aP"-ansiC" \{\ -. ie \\n(sT==1 \{\ -. ds b1 \&\\*(tNANSI C \\*(aaX3.159-1989\\*(sV -. as b1 (``\\*(tNANSI C\\*(aa'') -. \} -. el \{\ -. ds b1 \&\\*(tNANSI C \\*(aaX3.159-1989\\*(sV -. as b1 (``\\*(tNANSI C \\*(aa'') -. \} -. \} -. if "\\*(A\\n(aP"-ansiC-89" \{\ -. ie \\n(sT==1 \{\ -. ds b1 \&\\*(tNANSI C \\*(aaX3.159-1989\\*(sV -. as b1 (``\\*(tNANSI C \\*(aa'') -. \} -. el \{\ -. ds b1 \&\\*(tNANSI C \\*(aaX3.159-1989\\*(sV -. as b1 (``\\*(tNANSI C \\*(aa'') -. \} -. \} -. if "\\*(A\\n(aP"-iso8802-3" \{\ -. ie \\n(sT==1 \{\ -. ds b1 \&\\*(tNISO \\*(aa8802-3: 1989\\*(sV -.\" . as b1 (``\\*(tNANSI C\\*(aa'') -. \} -. el \{\ -. ds b1 \&\\*(tNISO \\*(aa8802-3: 1989\\*(sV -.\" . as b1 (``\\*(tNANSI C\\*(aa'') -. \} -. \} -. ie \\n(aC>\\n(aP \{\ -. nr aP \\n(aP+1 -. nR -. \} -. el .aZ -.\} -.. diff --git a/share/tmac/strip.sed b/share/tmac/strip.sed deleted file mode 100644 index 4a03826..0000000 --- a/share/tmac/strip.sed +++ /dev/null @@ -1,44 +0,0 @@ -#! /bin/sed -f -# -# Copyright (c) 1988, 1993 -# The Regents of the University of California. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# 3. All advertising materials mentioning features or use of this software -# must display the following acknowledgement: -# This product includes software developed by the University of -# California, Berkeley and its contributors. -# 4. Neither the name of the University nor the names of its contributors -# may be used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -# SUCH DAMAGE. -# -# @(#)strip.sed 8.1 (Berkeley) 6/8/93 -# - -/%beginstrip%/{ - h - s/.*/.\\" This version has had comments stripped; an unstripped version is available./p - g -} -/%beginstrip%/,$s/[. ][ ]*\\".*// -/^$/d -/\\n@/d diff --git a/share/tmac/tmac.andoc b/share/tmac/tmac.andoc deleted file mode 100644 index 8ceec48..0000000 --- a/share/tmac/tmac.andoc +++ /dev/null @@ -1,54 +0,0 @@ -.\" -.\" Copyright (c) 1990 The Regents of the University of California. -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)tmac.andoc 8.1 (Berkeley) 6/30/93 -.\" -.\" If -mdoc macros, source tmac.mdoc -.\" If -man macros, check to see if groff or troff/nroff is being used -.\" -.de Dd -.rn Dd xX -.so /usr/share/tmac/tmac.doc -.Dd \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 -.rm xX -.. -.de TH -.rn TH xX -.ie \n(.g \{\ -. so /usr/share/tmac/tmac.groff_an -.\} -.el \{\ -. so /usr/old/lib/tmac/tmac.an -.\} -.TH "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" -.rm xX -.. diff --git a/share/tmac/tmac.doc.old b/share/tmac/tmac.doc.old deleted file mode 100644 index e998fcf..0000000 --- a/share/tmac/tmac.doc.old +++ /dev/null @@ -1,1833 +0,0 @@ -.\" -.\" Copyright (c) 1990, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)tmac.doc.old 8.1 (Berkeley) 6/8/93 -.\" -.\" Assume nroff on crt's only if cR==1 -.if n .nr cR 1 -.\" STRING CONSTANTS -.\" DITROFF -.if t \{\ -.\" Address Style -.ds aD \fI -.\" Argument Reference Style -.ds aR \f(CO -.\" Interactive Comand Modifier (flag) -.ds cM \f(CB -.\" Emphasis (in the English sense - usually italics) -.ds eM \fI -.\" Errno Style -.ds eR \fC -.\" Environment Variable Style -.ds eV \fC -.\" Command Line Flag Style -.ds fL \f(CB -.\" Header String Style -.ds Hs \fR -.\" Interactive Command Style -.ds iC \f(CB -.\" Literal Style -.ds lI \fC -.\" Left Parenthesis Style -.ds lP \fR\|(\|\fP -.\" Right Parenthesis Style -.ds rP \fR\|)\|\fP -.\" Options Open Bracket Style -.ds lB \fR\^[\^\fP -.\" Options Open Bracket Style -.ds rB \fR\^]\fP -.\" Name (subject of manpage) Style -.ds nM \f(CB -.\" Pathname Style -.ds pA \fC -.\" Accepted punctuation string for -mdoc syntax -.ds Pu \fR[.,:;(\^)[\^]\fR] -.\" Section Header Style -.ds Sp \s12\fB -.\" .ds sT \s-2\fR -.\" Symbolic Emphasis (boldface) -.ds sY \f(CB -.\" Generic Variable Style -.ds vA \fI -.\" Volume Title Style -.ds Vs \fR -.\" Cross Reference STyle (man page only) -.ds xR \fC -.\" Math * -.tr *\(** -.\} -.\" NROFF -.if n \{\ -.\" Address Style -.ds aD \fI -.\" Argument Reference Style -.ds aR \fI -.\" Interactive Command Modifier (flag) -.ds cM \fB -.\" Emphasis (in the English sense - usually italics) -.ds eM \fI -.\" Errno Style -.ds eR \fR -.\" Environment Variable Style -.ds eV \fR -.\" Command Line Flag Style -.ds fL \fB -.\" Header String Style -.ds Hs \fR -.\" Interactive Command Style -.ds iC \fB -.\" Literal Style -.ds lI \fR -.\" Left Parenthesis Style -.ds lP \fR\|(\fP -.\" Right Parenthesis Style -.ds rP \fR\|)\fP -.\" Options Open Bracket Style -.ds lB \fR\|[\|\fP -.\" Options Open Bracket Style -.ds rB \fR\|]\fP -.\" Name (subject of manpage) Style -.ds nM \fB -.\" Pathname Style -.ds pA \fI -.\" Accepted punctuation string for -mdoc syntax -.ds Pu [.,;:()[]] -.\" Section Header Style -.ds Sp \s12\fB -.\" .ds sT \s-2\fR -.\" .ds sT \s-2\fR -.\" Symbol, Mode or Mask Style -.ds sY \fB -.\" Generic Variable Style -.ds vA \fI -.\" Volume Title Style -.ds Vs \fR -.\" Cross Reference Style (man page only) -.ds xR \fR -.\} -.\" INDENTS - Subheaders(sI), Text(Ti) between Section Headers and Subsects -.if t \{\ -. nr sI \w'\fC,'u*5 -. nr Ti \n(sIu -.\} -.if n \{\ -. nr sI .5i -. nr Ti .5i -.\} -.\" Flags for macros names which are used only for .Ds -.nr dI 6n -.nr dC 1 -.nr dL 1 -.nr dR 1 -.\" INDENT WIDTHS (for Lists) -.\" Width Needed for Address Tag (indented amount) -.nr Ad 12n -.\" Angle Quote Width -.nr Aq 12n -.\" Width Needed for Argument -.nr Ar 12n -.\" Width Needed for Column offset -.nr Cl 15n -.\" Width neeeded for Interactive Command Modifier -.nr Cm 10n -.\" Width Needed for Complex Expressions -.nr Cx 20n -.\" Indent Width Needed for Display (right and left margins) -.nr Ds 6n -.\" Double Quote Width -.nr Dq 12n -.\" tI is dependent on Ds and used by .Dp -.nr tI \n(Dsu -.\" Width Needed for Display -.nr Em 10n -.\" Width Needed for Errno Types -.nr Er 15n -.\" Width Needed for Environment Variables -.nr Ev 15n -.\" Width Needed for Example Indent -.nr Ex 10n -.\" Width Needed for Flag -.nr Fl 10n -.\" Width Needed for Function -.nr Fn 16n -.\" Width neeeded for Interactive Command Name -.nr Ic 10n -.\" Width Needed for Constant -.nr Li 16n -.\" Width Needed for Math Symbol ? not sure if needed -.nr Ms 6n -.\" Width Needed for Name -.nr Nm 10n -.\" Width Needed for Option Begin -.nr Ob 14n -.\" Width Needed for Option End -.nr Oe 14n -.\" Width Needed for Option (one line) -.nr Op 14n -.\" Width Needed for Pathname -.nr Pa 32n -.\" Parenthesis Quote Width -.nr Pq 12n -.\" Single Quote Width -.nr Sq 12n -.\" Width Needed for Symbols, Modes or Masks -.nr Sy 6n -.\" Width needed for default or unknown text width -.nr Tx 22n -.\" Width Needed for Generic Variable -.nr Va 12n -.\" Width Needed for Cross Reference, should the cross ref be annotated. -.nr Xr 10n -.\" PARAGRAPH SPACE -.if t \{\ -. nr Pp .5v -.\} -.if n \{\ -. nr Pp 1v -.\} -.\" PAGE LAYOUT -.\" .Li Tagged Paragraph Style - zero if break on oversized tag -.\" one if add em space and continue filling line. -.nr tP 0 -.\" Page Layout Macro -.de pL -.\" DITROFF -.ie t \{\ -.\" Header Margin -. nr Hm .5i -.\" Footer Margin -. nr Fm .5i -.\" Line length -. nr ll 5.5i -.\" Line length -. ll 5.5i -.\" Title length -. nr lt 5.5i -.\" Title length -. lt 5.5i -.\" Page offset -. nr po 1.56i -.\" Page offset -. po 1.56i -.\" Vertical space distance (from Section headers/Lists/Subsections) -. nr vV .5v -.\" em space -. ds tP \|\|\|\|\|\| -.\} -.el \{\ -.\" Line length -. nr ll 78n -. ll 78n -.\" Title length -. nr lt 78n -.\" Title length -. lt 78n -.\" Page offset -. nr po 0i -.\" Page offset -. po 0i -.\" Vertical space distance (from Section headers/Lists/Subsections) -. nr vV 1v -.\" em space -. ds tP \0\0 -.\" Test for crt -. ie \\n(cR .nr Hm 0 -. el .nr Hm .5i -.\" Footer Margin -. nr Fm .5i -.\} -.. -.\" Adjustment mode -.if n \{\ -.ad l -.na -.. -.\} -.\" PREDEFINED STRINGS -.if t \{\ -. ds <= \(<= -. ds >= \(>= -. ds Lq \&`` -. ds Rq \&'' -. ds ua \(ua -. ds aa \(aa -. ds ga \(ga -. ds sR \(aa -. ds sL \(ga -.\} -.if n \{\ -. ds <= \&<\&= -. ds >= \&>\&= -. ds Rq '' -. ds Lq `` -. ds ua ^ -. ds aa ' -. ds ga ` -. ds sL ` -. ds sR ' -.\} -.\" Note: The distances from the bottom or top of the page are set -.\" in headers (macro .hK): to -1.25 for troff, and -1.167 for nroff -.\" bottoms, and top is 0. -.\" -.\" .Dt Document/manpage_title section/chapter volume -.\" The \{ and \} is necessary as roff doesn't nest if-elses -.\" properly, especially with .ds. -.\" TODO: separate Dt into Dt, Ch and Vt for supp docs. -.de Dt -.ds dT UNTITLED -.ds vT Local -.ds cH Null -.\" Volume and Section Number or Chapter Number -.if !"\\$1"" .ds dT \\$1 -.if !"\\$2"" \{\ -. ds cH \\$2 -. if "\\$3"" \{\ -. \" Volume Title if none given -. if \\$2>=1 .if \\$2<=8 \{\ -. ds vT UNIX Reference Manual -. if \\$2>1 .if \\$2<6 .ds vT UNIX Programmer's Manual -. if "\\$2"8" .ds vT UNIX System Manager's Manual -. \} -. if "\\$2"unass" .ds vT DRAFT -. if "\\$2"draft" .ds vT DRAFT -. if "\\$2"paper" .ds vT Null -. \} -.\} -.if !"\\$3"" \{\ -. \" Volume Title if given -. if "\\$3"USD" .ds vT UNIX User's Supplementary Documents -. if "\\$3"PS1" .ds vT UNIX Programmers's Supplementary Documents -. if "\\$3"AMD" .ds vT UNIX Ancestral Manual Documents -. if "\\$3"SMM" .ds vT UNIX System Manager's Manual -. if "\\$3"URM" .ds vT UNIX Reference Manual -. if "\\$3"PRM" .ds vT UNIX Programmers's Manual -. if "\\$3"IND" .ds vT UNIX Manual Master Index -. if "\\$3"CON" .ds vT UNIX Contributed Software Manual -. if "\\$3"IMP" .ds vT UNIX Implementation Notes -. if "\\$3"HOW" .ds vT UNIX How Pocket Manual -. if "\\$3"LOCAL" .ds vT UNIX Local Manual -. if "\\*(vT"Local" .ds vT \\$3 -.\} -.. -.\" -.\" .Os Operating System/Standard and Release or Version Number -.\" -.de Os -.ds oS Null -.if "\\$1"" \{\ -. ds oS \fIBSD Experimental\fP -.\" . ds oS (\fIBag o' Bits\fP) -.\} -.if "\\$2"" \{\ -. ds o1 Non-Null -.\} -.if "\\$1"ATT" \{\ -. ds oS AT&T -. if "\\$2"" .as oS \0UNIX -. if "\\$2"7th" .as oS \07th Edition -. if "\\$2"7" .as oS \07th Edition -. if "\\$2"III" .as oS \0System III -. if "\\$2"3" .as oS \0System III -. if "\\$2"V" .as oS \0System V -. if "\\$2"V.2" .as oS \0System V Release 2 -. if "\\$2"V.3" .as oS \0System V Release 3 -. if "\\$2"V.4" .as oS \0System V Release 4 -.\} -.if "\\$1"BSD" \{\ -. if "\\$2"3" .ds oS 3rd Berkeley Distribution -. if "\\$2"4" .ds oS 4th Berkeley Distribution -. if "\\$2"4.1" .ds oS 4.1 Berkeley Distribution -. if "\\$2"4.2" .ds oS 4.2 Berkeley Distribution -. if "\\$2"4.3" .ds oS 4.3 Berkeley Distribution -. if "\\$2"4.3+" .ds oS 4.3+tahoe Berkeley Distribution -.\} -.if "\\*(oS"Null" .ds oS \\$1 -.if "\\*(o1"Non-Null" .as oS \0\\$2 -.rm o1 -.. -.\" -.\" Standards -.\" -.\" .de St -.\" .ds sT Null -.\" .if "\\$1"POSIX" \{\ -.\" . ds sT IEEE Standard POSIX -.\" . if \\$2 .as sT \0\\$2 -.\" .\} -.\" .if "\\$1"ANSI" \{\ -.\" . ds sT ANSI Standard -.\" . if \\$2 .as sT \0\\$2 -.\" .\} -.\" .if "\\$1"ISO" \{\ -.\" . ds sT ISO Standard -.\" . if \\$2 .as sT \0\\$2 -.\" .\} -.\" .if "\\*(sT"Null" .ds sR \\$3 -.\" .. -.\" -.\" .de Gp -.\" .ie !"\\$1"" .ds gP \&\\$1 \\$2 \\$3 \\$4 \\$5 -.\" .el .ds gP Null -.\" .. -.\" -.\" -.de Dd -.nr aa 0 -.ie \\n(.$>0 \{\ -. ie \\n(.$<4 \{\ -. ds dD \\$1 \\$2 \\$3 -. \} -. el .tm Usage: .Dd Month Day, Year (e.g July 4, 1977). -.\} -.el \{\ -. ds dD Epoch -.\} -.. -.\" -.\" House Keeping Macro - Make sense of dT, cH, vT, sT, gP and dS -.\" TODO: Try to get else's for efficiency -.\" TODO: GET RID OF .wh -1.167i (its in v7) -.\" -.\" -.de hK -.nr % 1 -.ds hT \\*(dT -.if !"\\*(cH"Null" \{\ -. ie !"\\*(gP"Null" .as hT \|(\|\\*(cH\\*(gP\|) -. el .as hT \\|(\\|\\*(cH\\|) -.\} -.if "\\*(cH"Null" .if !"\\*(gP"Null" .as hT \&\|(\|\\*(gP\|) -.if t \{\ -. wh 0 hM -. wh -1.25i fM -.\} -.if n \{\ -. ie \\n(cR \{\ -. hM -. wh -0v fM -. \} -. el \{\ -. wh 0 hM -. wh -1.167i fM -. \} -.\} -.if n \{\ -. if \\n(nl==0:\\n(nl==-1 'bp -.\} -.if t 'bp -.em lM -.. -.\" Header Macro -.\" -.de hM -.ev 1 -.pL -.if !\\n(cR 'sp \\n(Hmu -.tl @\\*(Hs\\*(hT\fP@\\*(Vs\\*(vT\fP@\\*(Hs\\*(hT\fP@ -'sp \\n(Hmu -.ev -.. -.\" -.de fM -.ev 1 -.pL -.if !\\n(cR \{\ -' sp \\n(Fmu -. tl @\\*(Hs\\*(oS\fP@\\*(Vs\\*(dD\fP@%@ -' bp -.\} -.if \\n(cR \{\ -.\" . tl @\\*(Hs\\*(oS\fP@\\*(Vs\\*(dD\fP@%@ -.\" ' bp -.\} -.ev -.. -.de lM -.fl -.if \\n(cR \{\ -. fM -. pl \\n(nlu -.\} -.. -.de Pp -.sp \\n(Ppu -.ne 2 -.ns -.. -.de Lp -.Pp -.. -.de LP -.tm Not a \-mdoc command: .LP -.. -.de PP -.tm Not a \-mdoc command: .PP -.. -.de pp -.tm Not a \-mdoc command: .pp -.. -.de Co -.tm Not a \-mdoc command: .Co -.. -.nr z. 1 -.nr z, 1 -.nr z: 1 -.nr z; 1 -.nr z) 1 -.nr z( 1 -.nr z[ 1 -.nr z] 1 -.\" This is disgusting, troff not parse if stmt properly -.nr z1 0 -.nr z2 0 -.nr z3 0 -.nr z4 0 -.nr z5 0 -.nr z6 0 -.nr z7 0 -.nr z8 0 -.nr z9 0 -.nr z0 0 -.nr z# 0 -.\" -.de Ad -.ie \\n(.$==0 \{\ -. tm Usage: .Ad address [...] \\*(Pu -.\} -.el \{\ -. ds sV \\*(aD -. nr cF \\n(.f -. ie "\\*(iM"" .ds f1 \&\\*(sV -. el .as f1 \&\\*(sV -. nB \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. ft \\n(cF -.\} -.. -.\" -.\" Command Line Argument Macro -.\" -.de Ar -.ie \\n(.$==0 \{\ -. ie !"\\*(iM"" .as f1 \&[\|\\*(aRfile\ ...\fP\|] -. el \&[\|\\*(aRfile\ ...\fP\|] -.\} -.el \{\ -. ds sV \\*(aR -. nr cF \\n(.f -. ie "\\*(iM"" .ds f1 \&\\*(sV -. el .as f1 \&\\*(sV -. nB \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. ft \\n(cF -.\} -.. -.\" -.de Em -.ie \\n(.$==0 \{\ -. tm Usage: .Em text ... \\*(Pu -.\} -.el \{\ -. ds sV \\*(eM -. nr cF \\n(.f -. ie "\\*(iM"" .ds f1 \&\\*(sV -. el .as f1 \&\\*(sV -. nB \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. ft \\n(cF -.\} -.. -.\" -.de Er -.ie \\n(.$==0 \{\ -. tm Usage: .Er ERRNOTYPE ... \\*(Pu -. \} -.el \{\ -. ds sV \\*(eR -. nr cF \\n(.f -. ie "\\*(iM"" .ds f1 \&\\*(sV -. el .as f1 \&\\*(sV -. nB \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. ft \\n(cF -.\} -.. -.\" -.de Ev -.ie \\n(.$==0 \{\ -. tm Usage: .Ev ENVIRONMENT_VARIABLE(s) ... \\*(Pu -. \} -.el \{\ -. ds sV \\*(eV -. nr cF \\n(.f -. ie "\\*(iM"" .ds f1 \&\\*(sV -. el .as f1 \&\\*(sV -. nB \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. ft \\n(cF -.\} -.. -.\" -.\" Flag Name Macro -.\" -.de Fl -.ie \\n(.$==0 \{\ -. ie !"\\*(iM"" .as f1 \&\\*(fL\-\fP -. el \&\\*(fL\-\fP -.\} -.el \{\ -. nr rZ 0 -. sW \\$1 -. if (\\n(sW==1&\\n(.$==1) .rZ \\$1 -. ds sV \\*(fL -. nr cF \\n(.f -. ie \\n(rZ \{\ -. ie "\\*(iM"" .ds f1 \&\\*(sV\-\f\\n(cF\\$1 -. el \&\\*(sV\-\f\\n(cF\\$1 -. \} -. el \{\ -. ie "\\*(iM"" .ds f1 \&\\*(sV -. el .as f1 \&\\*(sV -. fB \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. ft \\n(cF -. \} -.\} -.. -.\" Interactive Commands Macro -.\" -.de Ic -.ie \\n(.$==0 \{\ -. tm Usage: .Ic Interactive Commands(s) ... \\*(Pu -.\} -.el \{\ -. ds sV \\*(iC -. nr cF \\n(.f -. ie "\\*(iM"" .ds f1 \&\\*(sV -. el .as f1 \&\\*(sV -. nB \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. ft \\n(cF -.\} -.. -.\" -.\" Interactive Command Modifiers (flags) -.\" -.de Cm -.ie \\n(.$==0 \{\ -. tm Usage: .Cm Interactive Command Modifier(s) ... \\*(Pu -.\} -.el \{\ -. ds sV \\*(cM -. nr cF \\n(.f -. ie "\\*(iM"" .ds f1 \&\\*(sV -. el .as f1 \&\\*(sV -. nB \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. ft \\n(cF -.\} -.. -.\" -.de Li -.ie \\n(.$==0 \{\ -. tm Usage: .Li literal ... \\*(Pu -. \} -.el \{\ -. ds sV \\*(lI -. nr cF \\n(.f -. ie "\\*(iM"" .ds f1 \&\\*(sV -. el .as f1 \&\\*(sV -. nB \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. ft \\n(cF -.\} -.. -.\" If in nroff or any other case where the default font -.\" is constant width, and literal means zilch, single quote instead. -.ie n \{\ -.de Ql -. ie \\n(.$==0 \{\ -. tm Usage: .Ql literal ... \\*(Pu -. \} -. el \{\ -. Sq \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. \} -.. -.\} -.el \{\ -.de Ql -. ie \\n(.$==0 \{\ -. tm Usage: .Ql literal ... \\*(Pu -. \} -. el \{\ -. Li \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. \} -.. -.\} -.\" -.de Nm -.ie \\n(.$==0 \{\ -. if "\\*(n1"" .tm Usage: .Nm Name(s) ... \\*(Pu -. ie !"\\*(iM"" .as f1 \&\\*(nM\\*(n1\\$1\fP -. el \&\\*(nM\\*(n1\\$1\fP -.\} -.el \{\ -. ds sV \\*(nM -. nr cF \\n(.f -. if \\n(nS \{\ -. rs -. in -\\n(iSu -. ie \\n(nS>1 .br -. el \{\ -. sW \\$1 -. nr iS ((\\n(sW+1)*\\n(fW)u -. \} -. in +\\n(iSu -. ti -\\n(iSu -. nr nS \\n(nS+1 -. \} -. if "\\*(n1"" .ds n1 \\$1 -. ie "\\*(iM"" .ds f1 \&\\*(sV -. el .as f1 \&\\*(sV -. nB \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. ft \\n(cF -.\} -.. -.\" -.de Pa -.ie \\n(.$==0 \{\ -\&\\*(pA~\fP -.\} -.el \{\ -. ds sV \\*(pA -. nr cF \\n(.f -. ie "\\*(iM"" .ds f1 \&\\*(sV -. el .as f1 \&\\*(sV -. nB \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. ft \\n(cF -.\} -.. -.\" -.de Sy -.ie \\n(.$==0 \{\ -. tm Usage: .Sy Symbolic Text ... \\*(Pu -. \} -.el \{\ -. ds sV \\*(sY -. nr cF \\n(.f -. ie "\\*(iM"" .ds f1 \&\\*(sV -. el .as f1 \&\\*(sV -. nB \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. ft \\n(cF -.\} -.. -.\" -.de Ms -.ie \\n(.$==0 \{\ -. tm Usage: .Ms Math Symbol ... \\*(Pu -. \} -.el \{\ -. ds sV \\*(sY -. nr cF \\n(.f -. ie "\\*(iM"" .ds f1 \&\\*(sV -. el .as f1 \&\\*(sV -. nB \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. ft \\n(cF -.\} -.. -.\" -.de Va -.ie \\n(.$==0 \{\ -. tm Usage: .Va variable_name(s) ... \\*(Pu -.\} -.el \{\ -. ds sV \\*(vA -. nr cF \\n(.f -. ie "\\*(iM"" .ds f1 \&\\*(sV -. el .as f1 \&\\*(sV -. nB \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. ft \\n(cF -.\} -.. -.\" -.de nB -.hy 0 -.if \\n(.$==0 .tm Usage error: called with empty arguments (empty quotes)? -.ie \\n(.$>1 \{\ -. rZ \\$1 -. ie \\n(rZ .as f1 \&\f\\n(cF\\$1\fP -. el .as f1 \&\\$1 -. rZ \\$2 -. if !\\n(rZ \{\ -. ie !"\\*(iM""\{\ -.\" I surrender -. if "\\*(iM"Tp" .as f1 \&\ \& -. if "\\*(iM"Dp" .as f1 \&\ \& -. if "\\*(iM"Op" .as f1 \&\ \& -. if "\\*(iM"Cx" .as f1 \&\ \& -. if "\\*(iM"Dq" .as f1 \& \& -. if "\\*(iM"Sq" .as f1 \& \& -. if "\\*(iM"Pq" .as f1 \& \& -. if "\\*(iM"Aq" .as f1 \& \& -. \} -. el .as f1 \& \& -. \} -. nB \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.\} -.el \{\ -. rZ \\$1 -. ie \\n(rZ .as f1 \&\f\\n(cF\\$1 -. el .as f1 \&\\$1\f\\n(cF -. if "\\*(iM"" \{\&\\*(f1 -. ds f1 -. \} -. hy -.\} -.. -.de fB -.hy 0 -.if \\n(.$==0 .tm Usage error: called with empty arguments (empty quotes)? -.ie \\n(.$>1 \{\ -. rZ \\$1 -. ie \\n(rZ .as f1 \&\f\\n(cF\\$1\fP -. el \{\ -. ie "\\$1"-" .as f1 \&\-\- -. el .as f1 \&\-\\$1 -. \} -. rZ \\$2 -. if !\\n(rZ \{\ -. ie !"\\*(iM""\{\ -.\" I surrender -. if "\\*(iM"Tp" .as f1 \&\ \& -. if "\\*(iM"Dp" .as f1 \&\ \& -. if "\\*(iM"Op" .as f1 \&\ \& -. if "\\*(iM"Cx" .as f1 \&\ \& -. if "\\*(iM"Dq" .as f1 \& \& -. if "\\*(iM"Sq" .as f1 \& \& -. if "\\*(iM"Pq" .as f1 \& \& -. if "\\*(iM"Aq" .as f1 \& \& -. \} -. el .as f1 \& \& -. \} -. fB \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.\} -.el \{\ -. rZ \\$1 -. ie \\n(rZ .as f1 \&\f\\n(cF\\$1 -. el \{\ -. ie "\\$1"-" .as f1 \&\-\-\f\\n(cF -. el .as f1 \&\-\\$1\f\\n(cF -. \} -. if "\\*(iM"" \{\&\\*(f1 -. ds f1 -. \} -. hy -.\} -.. -.\" -.\" Single quoted Items -.\" eF, sB g[0-9] and f2 -.de Sq -.nr eF 0 -.ie \\n(.$==0 \{\ -. ie "\\*(iM"" \&\\*(sL\&\\*sR -. el .as f1 \&\\*(sL\&\\*(sR -.\} -.el \{\ -. ie "\\*(iM"" \{\ -. ds f1 \&\\*(sL -. ds iM Sq -. \} -. el .as f1 \&\\*(sL -. sB \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. ie \\n(eF>0 .\\*(g1 \\*(g2 \\*(g3 \\*(g4 \\*(g5 \\*(g6 \\*(g7 \\*(g8 -. el .as f1 \\*(g0 -. as f1 \\*(sR -. if !"\\*(f2"" .as f1 \\*(f2 -. if "\\*(iM"Sq" \{\ -\&\\*(f1 -. ds f1 -. ds iM -. \} -. ds f2 -. rm g0 g1 g2 g3 g4 g5 g6 g7 g8 g9 -. nr eF 0 -.\} -.. -.\" -.\" Double quoted Items -.de Dq -.nr Ef 0 -.ie \\n(.$==0 \{\ -. ie "\\*(iM"" \&\\*(Lq\&\\*(Rq -. el .as f1 \&\\*(Lq\&\\*(Rq -.\} -.el \{\ -. ie "\\*(iM"" \{\ -. ds f1 \&\\*(Lq -. ds iM Dq -. \} -. el .as f1 \&\\*(Lq -. Sb \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. ie \\n(Ef>0 .\\*(k1 \\*(k2 \\*(k3 \\*(k4 \\*(k5 \\*(k6 \\*(k7 \\*(k8 -. el .as f1 \\*(k0 -. as f1 \\*(Rq -. if !"\\*(f4"" .as f1 \\*(f4 -. if "\\*(iM"Dq" \{\ -\&\\*(f1 -. ds f1 -. ds iM -. \} -. ds f4 -. rm k0 k1 k2 k3 k4 k5 k6 k7 k8 k9 -. nr Ef 0 -.\} -.. -.\" -.\" Parenthesis quoted Items -.de Pq -.nr pQ 0 -.ie \\n(.$==0 \{\ -. ie "\\*(iM"" \&(\&) -. el .as f1 \&(\&) -.\} -.el \{\ -. ie "\\*(iM"" \{\ -. ds f1 \&( -. ds iM Pq -. \} -. el .as f1 \&( -. pB \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. ie \\n(pQ>0 .\\*(y1 \\*(y2 \\*(y3 \\*(y4 \\*(y5 \\*(y6 \\*(y7 \\*(y8 -. el .as f1 \\*(y0 -. as f1 \&) -. if !"\\*(f3"" .as f1 \\*(f3 -. if "\\*(iM"Pq" \{\ -\&\\*(f1 -. ds f1 -. ds iM -. \} -. ds f3 -. rm y0 y1 y2 y3 y4 y5 y6 y7 y8 y9 -. nr pQ 0 -.\} -.. -.\" eF, sB g[0-9] and f2 -.de sB -.hy 0 -.ie \\n(.$==0 .tm Sick Logic: macro sB -.el \{\ -. ie \\n(eF>=1 .nr eF \\n(eF+1 -. el \{\ -. mN \\$1 -. if \\n(mN .nr eF \\n(eF+1 -. \} -. rZ \\$1 -. ie \\n(rZ .as f2 \\$1 -. el \{\ -. ie \\n(eF<1 .as g\\n(eF \\$1 -. el .as g\\n(eF \\$1 -. \} -. if \\n(.$>1 \{\ -. rZ \\$2 -. if \\n(rZ==0 \{\ -. if \\n(eF<1 \{\ -. as g\\n(eF \& \& -. \} -. \} -. sB \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. \} -.\} -.. -.de Sb -.hy 0 -.ie \\n(.$==0 .tm Sick Logic: macro Sb -.el \{\ -. ie \\n(Ef>=1 .nr Ef \\n(Ef+1 -. el \{\ -. mN \\$1 -. if \\n(mN .nr Ef \\n(Ef+1 -. \} -. rZ \\$1 -. ie \\n(rZ .as f4 \\$1 -. el \{\ -. ie \\n(Ef<1 .as k\\n(Ef \\$1 -. el .as k\\n(Ef \\$1 -. \} -. if \\n(.$>1 \{\ -. rZ \\$2 -. if \\n(rZ==0 \{\ -. if \\n(Ef<1 \{\ -. as k\\n(Ef \& \& -. \} -. \} -. Sb \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. \} -.\} -.. -.de pB -.hy 0 -.ie \\n(.$==0 .tm Sick Logic: macro pB -.el \{\ -. ie \\n(pQ>=1 .nr pQ \\n(pQ+1 -. el \{\ -. mN \\$1 -. if \\n(mN .nr pQ \\n(pQ+1 -. \} -. rZ \\$1 -. ie \\n(rZ .as f3 \\$1 -. el \{\ -. ie \\n(pQ<1 .as y\\n(pQ \\$1 -. el .as y\\n(pQ \\$1 -. \} -. if \\n(.$>1 \{\ -. rZ \\$2 -. if \\n(rZ==0 \{\ -. if \\n(pQ<1 \{\ -. as y\\n(pQ \& \& -. \} -. \} -. pB \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. \} -.\} -.. -.de aQ -.hy 0 -.ie \\n(.$==0 .tm Bad Syntax: .Aq -.el \{\ -. ie \\n(aQ>=1 .nr aQ \\n(aQ+1 -. el \{\ -. mN \\$1 -. if \\n(mN .nr aQ \\n(aQ+1 -. \} -. rZ \\$1 -. ie \\n(rZ .as aZ \\$1 -. el \{\ -. ie \\n(aQ<1 .as a\\n(aQ \\$1 -. el .as a\\n(aQ \\$1 -. \} -. if \\n(.$>1 \{\ -. rZ \\$2 -. if \\n(rZ==0 \{\ -. if \\n(aQ<1 \{\ -. as a\\n(aQ \& \& -. \} -. \} -. aQ \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. \} -.\} -.. -.\" Angle Bracket Quoted Items -.de Aq -.nr aQ 0 -.ie \\n(.$==0 \{\ -. ie "\\*(iM"" \&<\&> -. el .as f1 \&<\&> -.\} -.el \{\ -. ie "\\*(iM"" \{\ -. ds f1 \&< -. ds iM Aq -. \} -. el .as f1 \&< -. aQ \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 -. ie \\n(aQ>0 .\\*(a1 \\*(a2 \\*(a3 \\*(a4 \\*(a5 \\*(a6 \\*(a7 \\*(a8 -. el .as f1 \\*(a0 -. as f1 \&> -. if !"\\*(aZ"" .as f1 \\*(aZ -. if "\\*(iM"Aq" \{\ -\&\\*(f1 -. ds f1 -. ds iM -. \} -. ds aZ -. rm a0 a1 a2 a3 a4 a5 a6 a7 a8 -. nr aQ 0 -.\} -.. -.\" macro Name test, return macro register value if true -.de mN -.nr mN 0 -.sW \\$1 -.if \\n(sW==2 \{\ -. if \\n(\\$1 .nr mN \\n(\\$1 -.\} -.. -.\" Punctuation test (using z registers), return 1 if true -.de rZ -.nr rZ 0 -.sW \\$1 -.if \\n(sW==1 \{\ -. if \\n(z\\$1==1 \{\ -. nr rZ 1 -. \} -.\} -.. -.\" -.\" sW returns number of characters in a string -.if t \{\ -.nr fW \w'\fC,' -.de sW -.nr sW \w'\fC\\$1' -.\} -.if n \{\ -.nr fW \w'0' -.de sW -.nr sW \w'\\$1' -.\} -.ie \\n(sW>=\\n(fW \{\ -. ie \\n(sW%\\n(fW .nr sW (\\n(sW/\\n(fW)+1 -. el .nr sW \\n(sW/\\n(fW -.\} -.el .nr sW 0 -.. -.\" Option Expression - -.\" TODO - add line overflow check (right!) -.nr eP 0 -.ds e1 -.nr oE 0 -.nr hP 0 -.ds hP -.nr Ep 0 -.de Op -.hy 0 -.if "\\*(iM"" \{\ -. ds iM Op -. ds f1 \& -.\} -.as f1 \&\\*(lB -.\" .tm Op: \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.dO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.ie !"\\$1"Cx" .oE -.el .nr oE \\n(oE+1 -.. -.\" -.\" just for mike, with every bite of garlic in mind (oops, i mean burp). -.\" dO: go dOwn an argument vector and test each argument to see if -.\" a macro name or punctuation. stash in respective place along -.\" with its arguments. -.nr oO 0 -.nr oP 0 -.nr aO 0 -.de dO -.mN \\$1 -.ie \\n(mN \{\ -. if \\n(oP \{\ -. if \\n(hP \{\ -. nr oZ 1 -. oZ -. Oz -. \} -. if \\n(e1==1 \{\ -.\\*(e1 \\*(e2 \\*(e3 \\*(e4 \\*(e5 \\*(e6 \\*(e7 \\*(e8 \\*(e9 -. \} -. uO -. if !(\\n(oO:\\n(aO) .as f1 \& \& -. \} -. ie "\\$1"Op" \{\ -. as f1 \&\\*(lB -. nr aO \\n(aO+1 -. \} -. el \{\ -. nr eP \\n(eP+1 -. ds e\\n(eP \\$1 -. nr e\\n(eP 1 -. \} -.\} -.el \{\ -.\" .tm dO: $1: \\$1: eP \\n(eP e[\\n(eP]: \\*(e\\n(ePEE -. rZ \\$1 -. ie \\n(rZ \{\ -.\" .tm dO:rZ: $1: \\$1: eP \\n(eP e[\\n(eP]: \\*(e\\n(eP -. nr hP \\n(hP+1 -. ds h\\n(hP \\$1 -. \} -. el \{\ -.\" .tm dO:word $1: \\$1: eP \\n(eP e[\\n(eP]: \\*(e\\n(ePEE -. if \\n(eP==0:\\n(e\\n(eP==1 .nr eP \\n(eP+1 -. if \\n(eZ .as e\\n(eP \& \& -. as e\\n(eP \&\\$1 -.\" . ds e\\n(eP \&\\$1 -. nr eZ \\n(eZ+1 -. \} -.\} -.nr oP 1 -.ie \\n(.$>1 \{\ -. dO \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.\} -.el \{\ -. ie \\n(e1 \{\ -.\\*(e1 \\*(e2 \\*(e3 \\*(e4 \\*(e5 \\*(e6 \\*(e7 \\*(e8 \\*(e9 -. \} -. el \{\ -. as f1 \\*(e1 -. \} -.\} -.. -.\" handle old style arguments such as the arg -Idir -.\" in adb, .Oo is a toggle. -.de Oo -.ie \\n(oO .nr oO 0 -.el .nr oO 1 -.. -.\" stash punctuation -.de oZ -.if \\n(hP>=\\n(oZ \{\ -. nr eP \\n(eP+1 -. ds e\\n(eP \\*(h\\n(oZ -. nr oZ \\n(oZ+1 -. oZ -.\} -.. -.\" clean up punctuation vector -.de Oz -.if \\n(hP>0 \{\ -. rm h\\n(hP -. nr hP \\n(hP-1 -. Oz -.\} -.. -.\" uO: go back up created vector cleaning it up along the way -.de uO -.if \\n(eP>0 \{\ -. rm e\\n(eP -. rr e\\n(eP -. nr eP \\n(eP-1 -. nr oP 0 -. nr eZ 0 -. uO -.\} -.. -.\" option end -.de oE -.uO -.ie \\n(hP \{\ -. as f1 \\*(rB\\*(h1\\*(h2\\*(h3 -. Oz -. nr oZ 0 -.\} -.el \{\ -. as f1 \\*(rB -.\} -.ie "\\*(iM"Op" \{\ -. if \\n(aO .aO -.if t \{\ -. if (\\n(.lu-\\n(.ku-\\n(.ou-(2*\\n(fWu))<\w'\fC\\*(f1'u .br -.\} -.if n \{\ -. nr aa \w'\\*(f1'u -.\" . nr qq \\n(.lu-\\n(.ku-\\n(.ou -.\" \&aa == \\n(aa, f1==\\*(f1, qq==\\n(qq -. if (\\n(.lu-\\n(.ku-\\n(.ou-\\n(aau)<=(8*\\n(fWu) .br -.\} -\&\\*(f1 -. ds iM -. ds f1 -. hy -.\} -.el .nr oE \\n(oE-1 -.. -.de aO -.as f1 \\*(rB -.nr aO \\n(aO-1 -.if \\n(aO >0 .aO -.. -.\" -.de Xr -.if \\n(.$<=1 \{\ -. ie \\n(.$==1 \{\ -. if !"\\*(iM"" .as f1 \&\\*(xR\\$1\fP -. if "\\*(iM"" \&\\*(xR\\$1\fP -. \} -. el .tm Xr Usage: .Xr manpage_name [section#] \\*(Pu -.\} -.if \\n(.$==2 \{\ -. rZ \\$2 -. ie "\\*(iM"" \{\ -. ie \\n(rZ \&\\*(xR\\$1\fP\\$2 -. el \&\\*(xR\\$1\fP(\\$2) -. \} -. el \{\ -. ie \\n(rZ .as f1 \&\\*(xR\\$1\fP\\$2 -. el .as f1 \&\\*(xR\\$1\fP(\\$2) -. \} -.\} -.if \\n(.$>=3 \{\ -. rZ \\$2 -. ie \\n(rZ \{\ -. ie !"\\*(iM"" .as f1 \&\\*(xR\\$1\fP\\$2\\$3\\$4\\$5\\$6\\$7\\$8 -. el \&\\*(xR\\$1\fP\\$2\\$3\\$4\\$5\\$6\\$7\\$8 -. \} -. el \{\ -. rZ \\$3 -. ie \\n(rZ \{\ -. if !"\\*(iM"" \{\ -. as f1 \&\\*(xR\\$1\fP(\\$2)\\$3\\$4\\$5\\$6\\$7\\$8 -. \} -. if "\\*(iM"" \{\ -\&\\*(xR\\$1\fP(\\$2)\\$3\\$4\\$5\\$6\\$7\\$8 -. \} -. \} -. el \{\ -. tm rZ = \\n(rZ the arg is \\$3 -. tm Xr-XX Usage: .Xr manpage_name [section#] \\*(Pu -. \} -. \} -.\} -.. -.\" -.\" -.de Ex -.tm Ex defunct, Use .Dl: \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.. -.\" Display (one) Line of text. -.de Dl -.ie "\\*(iM"" \{\ -' ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i -. in \\n(.iu+\\n(Dsu -. mN \\$1 -. ie \\n(mN .\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. el \{\ -. nr cF \\n(.f -.\" Literal font is none specified -\&\\*(lI\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. ft \\n(cF -. \} -. in \\n(.iu-\\n(Dsu -.\} -.el \{\ -. mN \\$1 -. ie \\n(mN .\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 -. el \{\ -. nr cF \\n(.f -. ds f1 \&\\*(lI\\&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 -. as f1 \&\f\\n(cF -. \} -.\} -.. -.\" -.\" -.\" user set Tagged Paragraph Width (used in both Dp and Tp) -.de Tw -.ie \\n(.$==0 \{\ -. nr aa 0 -.\} -.el \{\ -. mN \\$1 -. ie \\n(sW>2 \{\ -. nr tW (\\n(sW+3)*\\n(fWu) -. \} -. el \{\ -. ie \\n(mN .nr tW \\n(mN -. el .nr tW \\$1 -. \} -. nr tF 1 -.\} -.. -.\" -.de Dw -.Tw \\$1 -.. -.\" -.de Di -.ie \\n(.$==0 \{\ -. nr tI \\n(Dsu -.\} -.el \{\ -. sW \\$1 -. if \\n(sW>=2 \{\ -. nr tI \\$1u -. \} -. if \\n(sW<2 \{\ -. if "\\$1"L" \{\ -. nr tI 0 -. \} -. \} -.\} -.. -.\" tagged paragraph -.\" initialize baby stack variables -.nr np 0 -.nr p1 0 -.ds s\n(np -.\" -.de Tp -.ie "\\$1"" .pE p s np -.el \{\ -. ds iM Tp -. mN \\$1 -. ie \\n(tF \{\ -. ds tC Tw -. nr tC 1 -. nr tF 0 -. \} -. el \{\ -. if !"Tw"\\*(s\\n(np" \{\ -. ie \\n(mN \{\ -. ds tC \\$1 -. nr tW \\n(mN -. \} -. el \{\ -. ds tC Tx -. nr tW \\n(Tx -. \} -. if !"\\*(tC"\\*(s\\n(np" .nr tC 1 -. \} -. \} -. sp \\n(vVu -. if !\\n(cR .ne 2 -. if \\n(tC \{\ -. nr np \\n(np+1 -. nr p\\n(np \\n(tW -. ds s\\n(np \\*(tC -. nr tC 0 -. ds tC -. in \\n(.iu+\\n(p\\n(npu -. \} -. ie \\n(mN \{\ -. ds f1 -. \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. if !"\\$1"Cx" .pT st p np -. \} -. el \{\ -. br -. ev 1 -. fi -. di Td -\&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. br -. di -. ev -. na -. ds tD \\*(Td\\ -. pT di p np -. \} -.\} -.. -.\" -.\" -.\" Complex Expression Macro -.\" -.\" TODO: add length across line boundary check (like Li) -.de Cx -.hy 0 -.ie \\n(.$==0 \{\ -. if "\\*(iM"Cx" \{\ -. ds iM -. if \\n(oE .oE -\&\\*(f1 -. ds f1 -. \} -. if "\\*(iM"Tp" .pT st p np -. if "\\*(iM"Dp" .pT st q mp -.\} -.el \{\ -. if "\\*(iM"" \{\ -. ds iM Cx -. ds f1 \& -. \} -. mN \\$1 -.\" Here are the args: `\\$1' `\\$2' `\\$3' `\\$4' -. ie \\n(mN .\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. el \{\ -. as f1 \&\\$1 -. if \\n(.$>1 .Cx \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. \} -.\} -.. -.\" Prefix string in default font to content specified string -.de Pf -.Cx \\$1 -.\\$2 \\$3 \\$4 \\$5 -.Cx -.. -.\" Suffix string in default font to content specified string -.de Sf -.Cx \\$1 \\$2 -.Cx \\$3 -.Cx -.. -.\" Simple Option Begin -.de Ob -.hy 0 -.ie "\\*(iM"" \{\ -. ev 2 -. fi -. di oB -.\} -.el \{\ -.tm shouldn't be here -. as f1 \&[ -. mN \\$1 -. ie \\n(mN .\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. el \{\ -. as f1 \&\\$1 -. if \\n(.$>1 .Oc \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. \} -.\} -.. -.de Oc -.as f1 \&\\$1 -.if \\n(.$>1 .Oc \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.. -.de Oe -.hy 0 -.ie "\\*(iM"" \{\ -. br -. di -. ev -. ds bO \\*(oB\\ -\&[\\*(bO\&] -.\} -.el \{\ -. as f1 \&] -.\} -.. -.\" White space for Cx -.de Ws -.Cx \&\ \& -.. -.\" tagged paragraph -.\" initialize baby stack variables -.nr mp 0 -.nr q1 0 -.ds r\n(np -.\" -.\" Complex Dp tag -.de Dc -.Dp Cx \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 -.. -.\" Complex Tp tag -.de Tc -.Tp Cx \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 -.. -.\" Tag with a flag and an argument with a space -.de Ta -.if "\\$2"" \{\ -. Tp Fl \\$1 -.\} -.el \{\ -. Tp Fl \\$1 -. Cx \&\ \& -. Ar \\$2 \\$3 -. Cx -.\} -.. -.de Da -.Dp Cx Fl \\$1 -.Ws -.Ar \\$2 \\$3 -.Cx -.. -.de To -.Tp Cx Fl \\$1 -.Ar \\$2 \\$3 -.Cx -.. -.de Do -.Dp Cx Fl \\$1 -.Ar \\$2 \\$3 -.Cx -.. -.\" Blended tag toggle -.de Bt -.ie \\n(tP==0 .nr tP 1 -.el .nr tP 0 -.. -.\" Bullet paragraph -.de Bu -.Tp Sy \&\(bu -.. -.\" Display tagged paragraph -.de Dp -.ie "\\$1"" \{\ -. pE q r mp -. sp \\n(vVu -.\} -.el \{\ -. ds iM Dp -. mN \\$1 -. ie \\n(tF \{\ -. ds tC Tw -. nr tC 1 -. nr tF 0 -. \} -. el \{\ -. if !"Tw"\\*(r\\n(mp" \{\ -. ie \\n(mN \{\ -. ds tC \\$1 -. nr tW \\n(mN -. \} -. el \{\ -. ds tC Tx -. nr tW \\n(Tx -. \} -. if !"\\*(tC"\\*(r\\n(mp" .nr tC 1 -. \} -. \} -. if !\\n(cR .ne 2 -. if \\n(tC \{\ -. nr mp \\n(mp+1 -. nr q\\n(mp \\n(tW -. ds r\\n(mp \\*(tC -. nr tC 0 -. ds tC -. ie \\n(tIu==\\n(Dsu .nr i\\n(mp \\n(Dsu -. el \{\ -. nr i\\n(mp \\n(tIu -. nr tI \\n(Dsu -. \} -. in \\n(.iu+\\n(i\\n(mpu -. sp \\n(vVu -. in \\n(.iu+\\n(\\q\\n(mpu -. \} -. ie \\n(mN \{\ -. \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. if !"\\$1"Cx" .pT st q mp -. \} -. el \{\ -. br -. ev 1 -. fi -. di Td -\&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. br -. di -. ev -. na -. ds tD \\*(Td\\ -. pT di q mp -. \} -.\} -.. -.\" -.\" .pE number_stack string_stack counter -.de pE -.ie "\\$3"mp" \{\ -. in \\n(.iu-(\\n(\\$1\\n(\\$3u)-(\\n(i\\n(mpu) -. rr i\\n(mp -.\} -.el .in \\n(.iu-\\n(\\$1\\n(\\$3u -.\" .in \\n(.iu-\\n(\\$1\\n(\\$3u -.if \\n(\\$3<=0 .tm Extraneous call .Tp or .Dp -.rr \\$1\\n(\\$3 -.rm \\$2\\n(\\$3 -.nr \\$3 \\n(\\$3-1 -.ds iM -.. -.\" -.\" .pT [st or di] number_stack counter -.de pT -.ie "\\$1"st" \{\ -. nr bb \\n(\\$2\\n(\\$3u -. ti -\\n(bbu -. ie (\\n(\\$2\\n(\\$3u-2n)<=\w'\\*(f1'u \{\&\\*(f1\\*(tP -. if \\n(tP==0 .br -. \} -. el \\*(f1\h'|\\n(\\$2\\n(\\$3u'\c -.\} -.el \{\ -. ti -\\n(\\$2\\n(\\$3u -. ie (\\n(\\$2\\n(\\$3u-2n)<=\\n(dlu \{\&\\*(tD\\*(tP -. if !\\n(tP .br -. \} -. el \\*(tD\h'|\\n(\\$2\\n(\\$3u-'\c -. if t 'ad -.\} -. ds iM -. ds f1 -'fi -.. -.\" -.\" The new SH -.\" -.de Sh -.\" set Sh state off, check for list state before calling indent (.In) -.nr nS 0 -.nr sE 0 -.ie "\\$1"NAME" \{\ -.\" name state on, housekeep (headers & footers) -. hK -' in 0 -.\} -.el \{\ -. if "\\$1"SYNOPSIS" .nr nS 1 -. in 0 -.\} -.pL -'sp -.ns -.ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i -.if !\\n(cR .ne 3 -'fi -\&\fB\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6 \|\\$7 \|\\$8 \|\\$9 -\&\fP\& -.in \\n(.iu+\\n(Tiu -.if "\\$1"SEE" .nr sE 1 -.ns -.. -.\" -.\" Nd minus sign for an en dash used in .Sh Name -.de Nd -\&\-\& \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.. -.de Ss -.sp -.ti -.25i -\&\fB\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6 \|\\$7 \|\\$8 \|\\$9 -\&\fP\& -.ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i -.if !\\n(cR .ne 2 -.br -.. -.\" .if "\\$1"Ss" .in \\n(.iu+\\n(sIu -.\".. -.\" -.\" -.\" Column Macro -.\" -.hy 0 -.de Cw -.ie \\n(.$==0 \{\ -. br -. in \\n(.iu-\\n(eWu -. ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i -.\} -.el \{\ -. Pp -. if \\n(.$==1 \{\ -. ta \w'\\$1 'u -. nr eW \w'\\$1 'u -' in \\n(.iu+\\n(eWu -. \} -. if \\n(.$==2 \{\ -. ta \w'\\$1 'u +\w'\\$2 'u -. nr eW \w'\\$1 'u+\w'\\$2 'u -' in \\n(.iu+\\n(eWu -. \} -. if \\n(.$==3 \{\ -. ta \w'\\$1 'u +\w'\\$2 'u +\w'\\$3 'u -. nr eW \w'\\$1 'u+\w'\\$2 'u+\w'\\$3 'u -' in \\n(.iu+\\n(eWu -. \} -. if \\n(.$==4 \{\ -. ta \w'\\$1 'u +\w'\\$2 'u +\w'\\$3 'u +\w'\\$4 'u -. nr eW \w'\\$1 'u+\w'\\$2 'u+\w'\\$3 'u +\w'\\$4 'u -' in \\n(.iu+\\n(eWu -. \} -. if \\n(.$==5 \{\ -.ta \w'\\$1 'u +\w'\\$2 'u +\w'\\$3 'u +\w'\\$4 'u +\w'\\$5 'u -.nr eW \w'\\$1 'u +\w'\\$2 'u +\w'\\$3 'u +\w'\\$4 'u +\w'\\$5 'u -' in \\n(.iu+\\n(eWu -. \} -.\} -.. -.de Cl -.ti -\\n(eWu -.mN \\$1 -.ie \\n(mN .\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.el \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.. -.nr dQ 0 -.de Ds -.ie !"\\$1"" \{\ -. mN d\\$1 -. if \\n(mN \{\ -. nr dQ \\n(dQ+1 -. d\\$1 -. \} -.\} -.el .br -.nf -.. -.de Df -.ie !"\\$1"" \{\ -. mN d\\$1 -. if \\n(mN \{\ -. nr dQ \\n(dQ+1 -. d\\$1 -. \} -.\} -.el .br -.. -.de Dn -\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -.nf -.. -.de dI -.nr d\\n(dQ \\n(dIu -.in \\n(.iu+\\n(dIu -.. -.de dC -.nr d\\n(dQ (\\n(.l-\\n(.i)/4u -.in \\n(.iu+\\n(d\\n(dQu -.. -.de dR -.nr d\\n(dQ (\\n(.l/3)u -.in \\n(.iu+\\n(d\\n(dQu -.. -.de dL -.nr aa 0 -.. -.de De -.br -.if \\n(d\\n(dQ \{\ -. in \\n(.iu-\\n(d\\n(dQu -. rr d\\n(dQ -. nr dQ \\n(dQ-1 -.\} -.fi -.. -.\" -.de Fn -.ie \\n(.$==0 \{\ -. tm Usage: .Fn function_name function_arg(s) ... \\*(Pu -.\} -.el \{\ -. nr cF \\n(.f -. ie \\n(.$==1 .ds f1 \&\\*(nM\\$1\fP\\*(lP\fP\\*(rP\fP -. el \{\ -. ds f1 \\*(nM\\$1\fP\\*(lP -. nr aa 0 -. rC \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 -. \} -. if "\\*(iM"" \{\\&\\*(f1 -. ds f1 -. \} -.\} -.. -.\" -.de rC -.rZ \\$1 -.ie \\n(rZ \{\ -. as f1 \f\\n(cF\\*(rP\f\\n(cF\\$1\\$2\\$3\\$4\\$5\\$6\\$7 -.\} -.el \{\ -. ie \\n(aa .as f1 \fP, \\*(aR\\$1 -. el .as f1 \\*(aR\\$1 -. nr aa 1 -. ie \\n(.$>1 .rC \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 -. el .as f1 \fP\\*(rP\fP -.\} -.. diff --git a/share/tmac/tmac.e b/share/tmac/tmac.e deleted file mode 100644 index dabaf7b..0000000 --- a/share/tmac/tmac.e +++ /dev/null @@ -1,41 +0,0 @@ -.\" -.\" Copyright (c) 1990, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)tmac.e 8.2 (Berkeley) 3/27/94 -.\" -.\" If groff, use groff -me, else use local -me (w/ditroff, troff, nroff) -.ie \n(.g \{\ -. so /usr/share/tmac/tmac.groff_me -.\} -.el \{\ -. so /usr/share/tmac/tmac.orig_me -.\} diff --git a/share/tmac/tmac.s b/share/tmac/tmac.s deleted file mode 100644 index 8a80ceb..0000000 --- a/share/tmac/tmac.s +++ /dev/null @@ -1,41 +0,0 @@ -.\" -.\" Copyright (c) 1990, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)tmac.s 8.1 (Berkeley) 6/8/93 -.\" -.\" If groff, use groff -ms, else use local -ms (w/ditroff, troff, nroff) -.ie \n(.g \{\ -. so /usr/share/tmac/tmac.groff_ms -.\} -.el \{\ -. so /usr/old/lib/tmac/tmac.s -.\} diff --git a/share/tmac/tmac.sU b/share/tmac/tmac.sU deleted file mode 100644 index 3c7a83d..0000000 --- a/share/tmac/tmac.sU +++ /dev/null @@ -1,46 +0,0 @@ -.\" Copyright (c) 1992, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)tmac.sU 8.1 (Berkeley) 6/8/93 -.\" -.\" Modify -ms macros for typesetting manuals for Usenix distribution. -.\" Differences: page numbers even on page 1, MH = Bell Labs, -.\" default line length (and title length) 6.5i instead of 6i. -.\" -.so /usr/share/tmac/tmac.s -.nr P1 1 \" page number on page 1 -.nr LL 6.5i -.ll \\n(LLu -.lt 6.5i -.de MH -AT&T Bell Laboratories -Murray Hill, New Jersey 07974 -.. diff --git a/share/zoneinfo/datfiles/africa b/share/zoneinfo/datfiles/africa deleted file mode 100644 index bed0252..0000000 --- a/share/zoneinfo/datfiles/africa +++ /dev/null @@ -1,43 +0,0 @@ -# @(#)africa 4.3 - -############################################################################### - -# Egypt - -# From Bob Devine (January 28, 1988): -# Egypt: DST from first day of May to first of October (ending may -# also be on Sept 30th not 31st -- you might want to ask one of the -# soc.* groups, you might hit someone who could ask an embassy). -# DST since 1960 except for 1981-82. - -# From U. S. Naval Observatory (January 19, 1989): -# EGYPT 2 H AHEAD OF UTC -# EGYPT 3 H AHEAD OF UTC MAY 17 - SEP 30 (AFTER -# EGYPT RAMADAN) - -# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule Egypt 1960 max - May 1 2:00 1:00 " DST" -Rule Egypt 1960 max - Oct 1 2:00 0 - - -# Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL] -Zone Egypt 2:00 Egypt EET%s 1981 - 2:00 - EET 1983 - 2:00 Egypt EET%s - -############################################################################### - -# Libya - -# From Bob Devine (January 28 1988): -# Libya: Since 1982 April 1st to September 30th (?) - -# From U. S. Naval Observatory (January 19, 1989): -# LIBYAN ARAB 1 H AHEAD OF UTC JAMAHIRIYA/LIBYA -# LIBYAN ARAB 2 H AHEAD OF UTC APR 1 - SEP 30 JAMAHIRIYA/LIBYA - -# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule Libya 1982 max - Apr 1 2:00 1:00 " DST" -Rule Libya 1982 max - Sep 30 2:00 0 - - -# Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL] -Zone Libya 2:00 Libya EET%s diff --git a/share/zoneinfo/datfiles/antarctica b/share/zoneinfo/datfiles/antarctica deleted file mode 100644 index 276dda1..0000000 --- a/share/zoneinfo/datfiles/antarctica +++ /dev/null @@ -1,4 +0,0 @@ -# @(#)antarctica 4.1 - -# From Arthur David Olson (February 13, 1988): -# No data available. diff --git a/share/zoneinfo/datfiles/australasia b/share/zoneinfo/datfiles/australasia deleted file mode 100644 index 8aad7e0..0000000 --- a/share/zoneinfo/datfiles/australasia +++ /dev/null @@ -1,110 +0,0 @@ -# @(#)australasia 4.4 - -# Incorporates updates for Australia from Robert Elz' australia 1.1 -# and further updates from the Australian consulate. - -############################################################################### - -# Australia - -# Australian Data (for states with DST), standard rules -# Includes shift in 1987 to follow Vic/NSW rules for ending DST, -# and shift in 1986 to start DST earlier. - -# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule Oz 1971 1985 - Oct lastSun 2:00 1:00 - -Rule Oz 1986 max - Oct Sun<=24 2:00 1:00 - -Rule Oz 1972 only - Feb 27 3:00 0 - -Rule Oz 1973 1986 - Mar Sun>=1 3:00 0 - -Rule Oz 1987 max - Mar Sun<=21 3:00 0 - - -# Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Australia/Tasmania 10:00 Oz EST -Zone Australia/Queensland 10:00 - EST # No DST here -Zone Australia/North 9:30 - CST # No DST here -Zone Australia/West 8:00 - WST # No DST here -Zone Australia/South 9:30 Oz CST - -# Victoria jumped to a later ending date for DST in 1986 rather than 1987. - -Zone Australia/Victoria 10:00 Oz EST 1985 Oct lastSun 2:00 - 10:00 1:00 EST 1986 Mar Sun<=21 3:00 - 10:00 Oz EST - -# New South Wales and subjurisdictions have their own ideas of a fun time. -# Based on law library research by John Mackin (john@basser.cs.su.oz), -# who notes: -# In Australia, time is not legislated federally, but rather by the -# individual states. Thus, while such terms as ``Eastern Standard Time'' -# [I mean, of course, Australian EST, not any other kind] are in common -# use, _they have NO REAL MEANING_, as they are not defined in the -# legislation. This is very important to understand. -# I have researched New South Wales time only; . . .I hope that perhaps a -# resident of each state could be found to do it for their own state. -# (And I can guarantee that Victoria and NSW are different, so the link -# between them in the current australasia file must be broken.) - -# From Robert Elz (May 5, 1989): -# -# From next year (1990) NSW will revert to ending DST on the 1st -# Sunday in March (rather than the third, which it appears will -# continue to be what everyone else uses). - -# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule NSW 1971 1985 - Oct lastSun 2:00 1:00 - -Rule NSW 1972 only - Feb lastSun 3:00 0 - -Rule NSW 1973 1981 - Mar Sun>=1 3:00 0 - -Rule NSW 1982 only - Apr 4 3:00 0 - -Rule NSW 1983 1985 - Mar Sun>=1 3:00 0 - -Rule NSW 1986 only - Mar 16 3:00 0 - -Rule NSW 1986 only - Oct 19 2:00 1:00 - -Rule NSW 1987 only - Mar 15 3:00 0 - -Rule NSW 1987 max - Oct lastSun 2:00 1:00 - -Rule NSW 1988 1989 - Mar Sun<=21 3:00 0 - -Rule NSW 1990 max - Mar Sun>=1 3:00 0 - - -# Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Australia/NSW 10:00 NSW EST -# `Broken Hill' means the County of Yancowinna. [john@basser.cs.su.oz.au,1/4/89] -Zone Australia/Yancowinna 9:30 NSW ??? -Zone Australia/LHI 10:30 NSW ??? - -# A footnote here: -# -# . . . -# Date: Thu, j19 Feb 87 12:02:17 EST -# From: Bradley White <seismo!k.cs.cmu.edu!bww> -# . . . -# I am including a description of Australian time zones. . . -# this stuff is definitely accurate. -# . . . -# a) Australian Eastern Time: (EST = GMT+10:00, EDT = GMT+11:00) -# . . . -# Summer of 86/87 - present (current legislation): -# third Sun Oct 02:00 EST -> third [S]un Mar 02:00 EST -# -# If this turns out to be true, substitute Sun<=21 (third Sunday in October) -# for Sun<=24 (next-to-last Sunday in October) above. . .some time before -# October 1988, the first time it makes a difference. - -############################################################################### - -# New Zealand - -# New Zealand, from Elz' asia 1.1 -# Elz says "no guarantees" -# -# the 1989/90 year was a trial of an extended "daylight saving" period. -# This trial was deemed successful and the extended period adopted for -# subsequent years (with the addition of a further week at the start). -# source -- phone call to Ministry of Internal Affairs Head Office. -# Mark Davies <mark@comp.vuw.ac.nz>, 3 Oct 1990. -# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule NZ 1974 1988 - Oct lastSun 2:00 1:00 D -Rule NZ 1989 only - Oct 8 2:00 1:00 D -Rule NZ 1990 max - Oct Sun>=1 2:00 1:00 D -Rule NZ 1975 1989 - Mar Sun>=1 3:00 0 S -Rule NZ 1990 max - Mar Sun>=15 3:00 0 S - -# Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL] -Zone NZ 12:00 NZ NZ%sT # New Zealand diff --git a/share/zoneinfo/datfiles/etcetera b/share/zoneinfo/datfiles/etcetera deleted file mode 100644 index dbda4db..0000000 --- a/share/zoneinfo/datfiles/etcetera +++ /dev/null @@ -1,55 +0,0 @@ -# @(#)etcetera 4.4 - -# All of these are set up just so people can "zic -l" to a timezone -# that's right for their area, even if it doesn't have a name or dst rules -# (half hour zones are too much to bother with -- when someone asks!) - -Zone GMT 0 - GMT - -Zone GMT-12 -12 - GMT-1200 -Zone GMT-11 -11 - GMT-1100 -Zone GMT-10 -10 - GMT-1000 -Zone GMT-9 -9 - GMT-0900 -Zone GMT-8 -8 - GMT-0800 -Zone GMT-7 -7 - GMT-0700 -Zone GMT-6 -6 - GMT-0600 -Zone GMT-5 -5 - GMT-0500 -Zone GMT-4 -4 - GMT-0400 -Zone GMT-3 -3 - GMT-0300 -Zone GMT-2 -2 - GMT-0200 -Zone GMT-1 -1 - GMT-0100 -Zone GMT+1 1 - GMT+0100 -Zone GMT+2 2 - GMT+0200 -Zone GMT+3 3 - GMT+0300 -Zone GMT+4 4 - GMT+0400 -Zone GMT+5 5 - GMT+0500 -Zone GMT+6 6 - GMT+0600 -Zone GMT+7 7 - GMT+0700 -Zone GMT+8 8 - GMT+0800 -Zone GMT+9 9 - GMT+0900 -Zone GMT+10 10 - GMT+1000 -Zone GMT+11 11 - GMT+1100 -Zone GMT+12 12 - GMT+1200 -Zone GMT+13 13 - GMT+1300 # GMT+12 with DST - -Link GMT UTC -Link GMT UCT -Link GMT Universal -Link GMT Greenwich -Link GMT Zulu -Link GMT GMT-0 -Link GMT GMT+0 -Link GMT GMT0 -Link GMT+1 GMT1 -Link GMT+2 GMT2 -Link GMT+3 GMT3 -Link GMT+4 GMT4 -Link GMT+5 GMT5 -Link GMT+6 GMT6 -Link GMT+7 GMT7 -Link GMT+8 GMT8 -Link GMT+9 GMT9 -Link GMT+10 GMT10 -Link GMT+11 GMT11 -Link GMT+12 GMT12 -Link GMT+13 GMT13 diff --git a/share/zoneinfo/datfiles/factory b/share/zoneinfo/datfiles/factory deleted file mode 100644 index c1c38c1..0000000 --- a/share/zoneinfo/datfiles/factory +++ /dev/null @@ -1,8 +0,0 @@ -# @(#)factory 1.1 - -# For companies who don't want to put time zone specification in -# their installation procedures. When users run date, they'll get the message. -# Also useful for the "comp.sources" version. - -# Zone NAME GMTOFF RULES FORMAT -Zone Factory 0 - "Local time zone must be set--see zic manual page" diff --git a/share/zoneinfo/datfiles/leapseconds b/share/zoneinfo/datfiles/leapseconds deleted file mode 100644 index cc7c6b4..0000000 --- a/share/zoneinfo/datfiles/leapseconds +++ /dev/null @@ -1,31 +0,0 @@ -# @(#)leapseconds 8.1 (Berkeley) 6/29/93 - -# Allowance for leapseconds added to each timezone file. - -# The correction (+ or -) is made at the given time, so lines -# will typically look like: -# Leap YEAR MON DAY 23:59:60 + R/S -# or -# Leap YEAR MON DAY 23:59:59 - R/S - -# If the leapsecond is Rolling (R) the given time is local time -# If the leapsecond is Stationary (S) the given time is GMT - -# Leap YEAR MONTH DAY HH:MM:SS CORR R/S -Leap 1972 Jun 30 23:59:60 + S -Leap 1972 Dec 31 23:59:60 + S -Leap 1973 Dec 31 23:59:60 + S -Leap 1974 Dec 31 23:59:60 + S -Leap 1975 Dec 31 23:59:60 + S -Leap 1976 Dec 31 23:59:60 + S -Leap 1977 Dec 31 23:59:60 + S -Leap 1978 Dec 31 23:59:60 + S -Leap 1979 Dec 31 23:59:60 + S -Leap 1981 Jun 30 23:59:60 + S -Leap 1982 Jun 30 23:59:60 + S -Leap 1983 Jun 30 23:59:60 + S -Leap 1985 Jun 30 23:59:60 + S -Leap 1987 Dec 31 23:59:60 + S -Leap 1989 Dec 31 23:59:60 + S -Leap 1990 Dec 31 23:59:60 + S -Leap 1993 Jun 30 23:59:60 + S diff --git a/share/zoneinfo/datfiles/northamerica b/share/zoneinfo/datfiles/northamerica deleted file mode 100644 index 53a1df1..0000000 --- a/share/zoneinfo/datfiles/northamerica +++ /dev/null @@ -1,321 +0,0 @@ -# @(#)northamerica 4.8 - -############################################################################### - -# United States - -# From Arthur David Olson: -# US Daylight Saving Time ended on the last Sunday of *October* in 1974. -# See, for example, the front page of the Saturday, October 26, 1974 -# and Sunday, October 27, 1974 editions of the Washington Post. - -# From seismo!munnari!kre: -# I recall also being told by someone once that Canada didn't have -# the DST variations in 74/75 that the US did, but I am not nearly -# sure enough of this to add anything. - -# From Arthur David Olson: -# The above has been confirmed by Bob Devine; we'll go with it here. - -# From Arthur David Olson: -# Before the Uniform Time Act of 1966 took effect in 1967, observance of -# Daylight Saving Time in the US was by local option, except during wartime. - -# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule US 1918 1919 - Mar lastSun 2:00 1:00 D -Rule US 1918 1919 - Oct lastSun 2:00 0 S -Rule US 1942 only - Feb 9 2:00 1:00 W # War -Rule US 1945 only - Sep 30 2:00 0 S -Rule US 1967 max - Oct lastSun 2:00 0 S -Rule US 1967 1973 - Apr lastSun 2:00 1:00 D -Rule US 1974 only - Jan 6 2:00 1:00 D -Rule US 1975 only - Feb 23 2:00 1:00 D -Rule US 1976 1986 - Apr lastSun 2:00 1:00 D -Rule US 1987 max - Apr Sun>=1 2:00 1:00 D - -# From Bob Devine (January 28, 1988): -# ...Alaska (and Hawaii) had the timezone names changed in 1967. -# old new -# Pacific Standard Time(PST) -same- -# Yukon Standard Time(YST) -same- -# Central Alaska S.T. (CAT) Alaska-Hawaii St[an]dard Time (AHST) -# Nome Standard Time (NT) Bering Standard Time (BST) -# -# ...Alaska's timezone lines were redrawn in 1983 to give only 2 tz. -# The YST zone now covers nearly all of the state, AHST just part -# of the Aleutian islands. No DST. - -# From U. S. Naval Observatory (January 19, 1989): -# USA EASTERN 5 H BEHIND UTC NEW YORK, WASHINGTON -# USA EASTERN 4 H BEHIND UTC APR 3 - OCT 30 -# USA CENTRAL 6 H BEHIND UTC CHICAGO, HOUSTON -# USA CENTRAL 5 H BEHIND UTC APR 3 - OCT 30 -# USA MOUNTAIN 7 H BEHIND UTC DENVER -# USA MOUNTAIN 6 H BEHIND UTC APR 3 - OCT 30 -# USA PACIFIC 8 H BEHIND UTC L.A., SAN FRANCISCO -# USA PACIFIC 7 H BEHIND UTC APR 3 - OCT 30 -# USA ALASKA STD 9 H BEHIND UTC MOST OF ALASKA (AKST) -# USA ALASKA STD 8 H BEHIND UTC APR 3 - OCT 30 (AKDT) -# USA ALEUTIAN 10 H BEHIND UTC ISLANDS WEST OF 170W -# USA - " - 9 H BEHIND UTC APR 3 - OCT 30 -# USA HAWAII 10 H BEHIND UTC -# USA BERING 11 H BEHIND UTC SAMOA, MIDWAY - -# From Arthur David Olson (January 21, 1989): -# The above dates are for 1988. -# Note the "AKST" and "AKDT" abbreviations, the claim that there's -# no DST in Samoa, and the claim that there is DST in Alaska and the -# Aleutians. - -# From Arthur David Olson (February 13, 1988): -# Legal standard time zone names, from United States Code (1982 Edition and -# Supplement III), Title 15, Chapter 6, Section 260 and forward. First, names -# up to April 1, 1967 (when most provisions of the Uniform Time Act of 1966 -# took effect), as explained in sections 263 and 261: -# (none) -# United States standard eastern time -# United States standard mountain time -# United States standard central time -# United States standard Pacific time -# (none) -# United States standard Alaska time -# (none) -# Next, names from April 1, 1967 until November 30, 1983 (the date for -# public law 98-181): -# Atlantic standard time -# eastern standard time -# central standard time -# mountain standard time -# Pacific standard time -# Yukon standard time -# Alaska-Hawaii standard time -# Bering standard time -# And after November 30, 1983: -# Atlantic standard time -# eastern standard time -# central standard time -# mountain standard time -# Pacific standard time -# Alaska standard time -# Hawaii-Aleutian standard time -# Samoa standard time -# The law doesn't give abbreviations. - -# Easy stuff first--including Alaska, where we ignore history (since we -# can't tell if we should give Yukon time or Alaska-Hawaii time for "old" -# times). - -# Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL] -Zone US/Eastern -5:00 US E%sT -Zone US/Central -6:00 US C%sT -Zone US/Mountain -7:00 US M%sT -Zone US/Pacific -8:00 US P%sT -Zone US/Alaska -9:00 US AK%sT # Abbreviation per USNO - -# Mainland US areas that are always Standard as of 1986. - -Zone US/East-Indiana -5:00 US E%sT 1946 - -5:00 - EST # Always EST as of 1986 -Zone US/Arizona -7:00 US M%sT 1946 - -7:00 - MST # Always MST as of 1986 - -# From Arthur David Olson (February 13, 1988): -# However. . .a writer from the Inter Tribal Council of Arizona, Inc., -# notes in private correspondence dated 12/28/87 that "Presently, only the -# Navajo Nation participates in the Daylight Saving Time policy, due to its -# large size and location in three states." (The "only" means that other -# tribal nations don't use DST.) - -Link US/Mountain Navajo - -# From Bob Devine (January 28, 1988): -# Michigan didn't observe DST from 1968 to 1973. - -Zone US/Michigan -5:00 US E%sT 1968 - -5:00 - EST 1973 - -5:00 US E%sT - -# Samoa just changes names. No DST, per Naval Observatory. - -Zone US/Samoa -11:00 - NST 1967 Apr 1 # N=Nome - -11:00 - BST 1983 Nov 30 # B=Bering - -11:00 - SST # S=Samoa - -# Aleutian has a name change. DST, per Naval Observatory. - -Zone US/Aleutian -10:00 US AH%sT 1983 Nov 30 - -10:00 US HA%sT - -# From Arthur David Olson: -# And then there's Hawaii. -# DST was observed for one day in 1933; -# Standard time was change by half an hour in 1947; -# it's always standard as of 1986. - -Zone US/Hawaii -10:30 US H%sT 1933 Apr 30 2:00 - -10:30 1:00 HDT 1933 May 1 2:00 - -10:30 US H%sT 1947 Jun 8 2:00 - -10:00 - HST - -# Old names, for S5 users - -# Link LINK-FROM LINK-TO -# Link US/Eastern EST5EDT -# Link US/Central CST6CDT -# Link US/Mountain MST7MDT -# Link US/Pacific PST8PDT -# Link US/East-Indiana EST -# Link US/Arizona MST -# Link US/Hawaii HST - -################################################################################ - -# Canada - -# Canada is reportedly lots easier than the US--leastways since 1951. -# I don't know what they did before then. -# 4.3BSD claims that it's perfectly regular. -# According to a posting in "comp.bugs.misc", "comp.unix.wizards", etc. -# on February 8, 1987, by Dave Sherman of the Law Society of Upper Canada, -# "...Canada (well, Ontario and at least some of the other provinces) are -# adopting the new daylight savings time rules...". We assume all of -# Canada is doing so. - -# From Bob Devine (January 28, 1988): -# All of Canada did have DST from your first rule except Saskatchewan. -# Which parts did not observe DST is hard to pinpoint but most of the -# province follows the rules. -# NOTE: those that didn't have DST for that rule, also -# probably did not have it for several years previous. - -# From U. S. Naval Observatory (January 19, 1989): -# CANADA NEW FDL 3.5H BEHIND UTC ST.JOHN'S -# CANADA NEW FDL 1.5H BEHIND UTC APR 3 - OCT 29 -# CANADA ATLANTIC 4 H BEHIND UTC HALIFAX -# CANADA ATLANTIC 3 H BEHIND UTC APR 3 - OCT 29 -# CANADA EASTERN 5 H BEHIND UTC TORONTO, MONTREAL, OTTAWA -# CANADA EASTERN 4 H BEHIND UTC APR 3 - OCT 29 -# CANADA CENTRAL 6 H BEHIND UTC REGINA, WINNIPEG -# CANADA CENTRAL 5 H BEHIND UTC APR 3 - OCT 29 -# CANADA MOUNTAIN 7 H BEHIND UTC CALGARY, EDMONTON -# CANADA MOUNTAIN 6 H BEHIND UTC APR 3 - OCT 29 -# CANADA PACIFIC 8 H BEHIND UTC VANCOUVER -# CANADA PACIFIC 7 H BEHIND UTC APR 3 - OCT 29 -# CANADA YUKON SAME AS PACIFIC DAWSON - -# From Arthur David Olson (January 21, 1989): -# April 3 fell on a Sunday in 1988; October 29 fell on a Sunday in 1989. Ahem. -# Note claim that there's double DST in Newfoundland and that Yukon should -# be same as Pacific. Stick with rules posted in 1988 until more authoritative -# information is available. - -# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule Canada 1969 max - Oct lastSun 2:00 0 S -Rule Canada 1969 1986 - Apr lastSun 2:00 1:00 D -Rule Canada 1987 max - Apr Sun>=1 2:00 1:00 D - -# Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL] -# Bob Devine says that DST *is* observed in Newfoundland -Zone Canada/Newfoundland -3:30 Canada N%sT -Zone Canada/Atlantic -4:00 Canada A%sT -Zone Canada/Eastern -5:00 Canada E%sT -Zone Canada/Central -6:00 Canada C%sT -Zone Canada/East-Saskatchewan -6:00 - CST # No DST as of 1987 -Zone Canada/Mountain -7:00 Canada M%sT -Zone Canada/Pacific -8:00 Canada P%sT -Zone Canada/Yukon -9:00 Canada Y%sT - -############################################################################### - -# Mexico - -# From Guy Harris: -# Rules are from the Official Airline Guide, Worldwide Edition, for 1987. -# Rules prior to 1987 are unknown. -# The comments in the OAG say "Only Ensenada, Mexicale, San Felipe and Tijuana -# observe DST." This is presumably Baja California Norte, above 28th parallel, -# as listed there; Mexico/BajaSur is for "Baja California Sur and N. Pacific -# Coast (States of Sinaloa and Sonora)." - -# From Bob Devine (January 28, 1988): -# The Federal District (where Mexico City is) has observed [DST] several -# times but not recently. -# -# I don't where to drawn the line in the North Baja area. 28th latitude -# sounds good -- but it may be higher (how far [d]o radio stations from -# San Diego affect culture?). -# -# The dates of DST probably go back to 1981. The rules are the same as -# US's. This is going to be a headache for US presidential electi[o]n years! - -# From Arthur David Olson (February 13, 1988) -# Since the 1981 starting date is only "probable," we'll keep the 1987 -# starting date below. - -# From U. S. Naval Observatory (January 19, 1989): -# MEXICO BAJA CAL N 7 H BEHIND UTC BAJA CALIFORNIA SUR AND -# MEXICO BAJA CAL N N. PACIFIC COAST (STATES -# MEXICO BAJA CAL N OF SINALOA AND SONORA) -# MEXICO BAJA CAL N 8 H BEHIND UTC ABOVE 28TH PARALLAL APR 3 -# MEXICO BAJA CAL N - OCT 29 -# MEXICO BAJA CAL N 7 H BEHIND UTC ABOVE 28TH PARALLAL APR 3 -# MEXICO BAJA CAL N - 0CT 29 -# MEXICO 6 H BEHIND UTC STATES OF DURANGO, -# MEXICO COAHUILA, NUEVO LEON, -# MEXICO TAMAULIPAS -# MEXICO 5 H BEHIND UTC STATES OF DURANGO, -# MEXICO COAHUILA, NUEVO LEON, -# MEXICO TAMAULIPAS APR 3 - OCT 29 -# MEXICO 6 H BEHIND UTC GENERAL MEXICO, STATES OF -# MEXICO CAMPECHE, QUINTANA ROO AND -# MEXICO YUCATAN - -# From Arthur David Olson (January 21, 1989): -# April 3 fell on a Sunday in 1988; October 29 fell on a Sunday in 1989. Ahem. -# USNO claims there should be four Mexican zones rather than three: -# a zone that's GMT-8 with DST; a zone that's always GMT-7; -# a zone that's GMT-6 with DST; and a zone that's always GMT-6. -# Wait for more authoritative information before changing. - -# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule Mexico 1987 max - Oct lastSun 2:00 0 S -Rule Mexico 1987 max - Apr Sun>=1 2:00 1:00 D - -# Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL] -Zone Mexico/BajaNorte -8:00 Mexico P%sT -Zone Mexico/BajaSur -7:00 - MST -Zone Mexico/General -6:00 - CST - -############################################################################### - -# Jamaica - -# From Bob Devine (January 28, 1988): -# Follows US rules. - -# From U. S. Naval Observatory (January 19, 1989): -# JAMAICA 5 H BEHIND UTC - -Link US/Eastern Jamaica - -############################################################################### - -# Cuba - -# From Bob Devine (January 28, 1988): -# . . .DST is from 2nd Sunday in May to 2nd Sunday in October since 1981. -# Change at midnight. In 1979 & 1980, started at 3rd Sunday in March -# (I think). - -# From U. S. Naval Observatory (January 19, 1989): -# CUBA 5 H BEHIND UTC -# CUBA 4 H BEHIND UTC MAR 20 - OCT 8 - -# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule Cuba 1979 1980 - Mar Sun>=15 0:00 1:00 D -Rule Cuba 1979 1980 - Oct Sun>=8 0:00 0 S -Rule Cuba 1981 max - May Sun>=8 0:00 1:00 D -Rule Cuba 1981 max - Oct Sun>=8 0:00 0 S - -# Zone NAME GMTOFF RULES/SAVE FORMAT -Zone Cuba -5:00 Cuba C%sT diff --git a/share/zoneinfo/datfiles/pacificnew b/share/zoneinfo/datfiles/pacificnew deleted file mode 100644 index 8e6850c..0000000 --- a/share/zoneinfo/datfiles/pacificnew +++ /dev/null @@ -1,21 +0,0 @@ -# @(#)pacificnew 4.4 - -# From Arthur David Olson (January 18, 1989): -# On November 10, 1987, the U. S. House of Representatives passed a bill -# (H.R. 435), the "Uniform Poll Closing Time Act", establishing -# "Pacific Presidential Election Time"; it was not acted on by the Senate -# before the end of the 100th Congress and so died. -# The bill has been reintroduced in the 101st Congress as H. R. 18; -# H. R. 96 also deals with poll closing time. Either bill would have to be -# passed by both the House and Senate and signed by the President (or have -# the President's veto overridden by the House and Senate) before becoming law. - -# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule Twilite 1989 max - Apr Sun>=1 2:00 1:00 D -Rule Twilite 1989 max uspres Oct lastSun 2:00 1:00 PE -Rule Twilite 1989 max uspres Nov Sun>=7 2:00 0 S -Rule Twilite 1989 max nonpres Oct lastSun 2:00 0 S - -# Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL] -Zone US/Pacific-New -8:00 US P%sT 1989 - -8:00 Twilite P%sT diff --git a/share/zoneinfo/datfiles/solar87 b/share/zoneinfo/datfiles/solar87 deleted file mode 100644 index 5067457..0000000 --- a/share/zoneinfo/datfiles/solar87 +++ /dev/null @@ -1,386 +0,0 @@ -# @(#)solar87 4.1 - -# So much for footnotes about Saudi Arabia. -# Apparent noon times below are for Riyadh; your mileage will vary. -# Times were computed using formulas in the U.S. Naval Observatory's -# Almanac for Computers 1987; the formulas "will give EqT to an accuracy of -# [plus or minus two] seconds during the current year." -# -# Rounding to the nearest five seconds results in fewer than -# 256 different "time types"--a limit that's faced because time types are -# stored on disk as unsigned chars. - -# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule sol87 1987 only - Jan 1 12:03:20s -0:03:20 - -Rule sol87 1987 only - Jan 2 12:03:50s -0:03:50 - -Rule sol87 1987 only - Jan 3 12:04:15s -0:04:15 - -Rule sol87 1987 only - Jan 4 12:04:45s -0:04:45 - -Rule sol87 1987 only - Jan 5 12:05:10s -0:05:10 - -Rule sol87 1987 only - Jan 6 12:05:40s -0:05:40 - -Rule sol87 1987 only - Jan 7 12:06:05s -0:06:05 - -Rule sol87 1987 only - Jan 8 12:06:30s -0:06:30 - -Rule sol87 1987 only - Jan 9 12:06:55s -0:06:55 - -Rule sol87 1987 only - Jan 10 12:07:20s -0:07:20 - -Rule sol87 1987 only - Jan 11 12:07:45s -0:07:45 - -Rule sol87 1987 only - Jan 12 12:08:10s -0:08:10 - -Rule sol87 1987 only - Jan 13 12:08:30s -0:08:30 - -Rule sol87 1987 only - Jan 14 12:08:55s -0:08:55 - -Rule sol87 1987 only - Jan 15 12:09:15s -0:09:15 - -Rule sol87 1987 only - Jan 16 12:09:35s -0:09:35 - -Rule sol87 1987 only - Jan 17 12:09:55s -0:09:55 - -Rule sol87 1987 only - Jan 18 12:10:15s -0:10:15 - -Rule sol87 1987 only - Jan 19 12:10:35s -0:10:35 - -Rule sol87 1987 only - Jan 20 12:10:55s -0:10:55 - -Rule sol87 1987 only - Jan 21 12:11:10s -0:11:10 - -Rule sol87 1987 only - Jan 22 12:11:30s -0:11:30 - -Rule sol87 1987 only - Jan 23 12:11:45s -0:11:45 - -Rule sol87 1987 only - Jan 24 12:12:00s -0:12:00 - -Rule sol87 1987 only - Jan 25 12:12:15s -0:12:15 - -Rule sol87 1987 only - Jan 26 12:12:30s -0:12:30 - -Rule sol87 1987 only - Jan 27 12:12:40s -0:12:40 - -Rule sol87 1987 only - Jan 28 12:12:55s -0:12:55 - -Rule sol87 1987 only - Jan 29 12:13:05s -0:13:05 - -Rule sol87 1987 only - Jan 30 12:13:15s -0:13:15 - -Rule sol87 1987 only - Jan 31 12:13:25s -0:13:25 - -Rule sol87 1987 only - Feb 1 12:13:35s -0:13:35 - -Rule sol87 1987 only - Feb 2 12:13:40s -0:13:40 - -Rule sol87 1987 only - Feb 3 12:13:50s -0:13:50 - -Rule sol87 1987 only - Feb 4 12:13:55s -0:13:55 - -Rule sol87 1987 only - Feb 5 12:14:00s -0:14:00 - -Rule sol87 1987 only - Feb 6 12:14:05s -0:14:05 - -Rule sol87 1987 only - Feb 7 12:14:10s -0:14:10 - -Rule sol87 1987 only - Feb 8 12:14:10s -0:14:10 - -Rule sol87 1987 only - Feb 9 12:14:15s -0:14:15 - -Rule sol87 1987 only - Feb 10 12:14:15s -0:14:15 - -Rule sol87 1987 only - Feb 11 12:14:15s -0:14:15 - -Rule sol87 1987 only - Feb 12 12:14:15s -0:14:15 - -Rule sol87 1987 only - Feb 13 12:14:15s -0:14:15 - -Rule sol87 1987 only - Feb 14 12:14:15s -0:14:15 - -Rule sol87 1987 only - Feb 15 12:14:10s -0:14:10 - -Rule sol87 1987 only - Feb 16 12:14:10s -0:14:10 - -Rule sol87 1987 only - Feb 17 12:14:05s -0:14:05 - -Rule sol87 1987 only - Feb 18 12:14:00s -0:14:00 - -Rule sol87 1987 only - Feb 19 12:13:55s -0:13:55 - -Rule sol87 1987 only - Feb 20 12:13:50s -0:13:50 - -Rule sol87 1987 only - Feb 21 12:13:45s -0:13:45 - -Rule sol87 1987 only - Feb 22 12:13:35s -0:13:35 - -Rule sol87 1987 only - Feb 23 12:13:30s -0:13:30 - -Rule sol87 1987 only - Feb 24 12:13:20s -0:13:20 - -Rule sol87 1987 only - Feb 25 12:13:10s -0:13:10 - -Rule sol87 1987 only - Feb 26 12:13:00s -0:13:00 - -Rule sol87 1987 only - Feb 27 12:12:50s -0:12:50 - -Rule sol87 1987 only - Feb 28 12:12:40s -0:12:40 - -Rule sol87 1987 only - Mar 1 12:12:30s -0:12:30 - -Rule sol87 1987 only - Mar 2 12:12:20s -0:12:20 - -Rule sol87 1987 only - Mar 3 12:12:05s -0:12:05 - -Rule sol87 1987 only - Mar 4 12:11:55s -0:11:55 - -Rule sol87 1987 only - Mar 5 12:11:40s -0:11:40 - -Rule sol87 1987 only - Mar 6 12:11:25s -0:11:25 - -Rule sol87 1987 only - Mar 7 12:11:15s -0:11:15 - -Rule sol87 1987 only - Mar 8 12:11:00s -0:11:00 - -Rule sol87 1987 only - Mar 9 12:10:45s -0:10:45 - -Rule sol87 1987 only - Mar 10 12:10:30s -0:10:30 - -Rule sol87 1987 only - Mar 11 12:10:15s -0:10:15 - -Rule sol87 1987 only - Mar 12 12:09:55s -0:09:55 - -Rule sol87 1987 only - Mar 13 12:09:40s -0:09:40 - -Rule sol87 1987 only - Mar 14 12:09:25s -0:09:25 - -Rule sol87 1987 only - Mar 15 12:09:10s -0:09:10 - -Rule sol87 1987 only - Mar 16 12:08:50s -0:08:50 - -Rule sol87 1987 only - Mar 17 12:08:35s -0:08:35 - -Rule sol87 1987 only - Mar 18 12:08:15s -0:08:15 - -Rule sol87 1987 only - Mar 19 12:08:00s -0:08:00 - -Rule sol87 1987 only - Mar 20 12:07:40s -0:07:40 - -Rule sol87 1987 only - Mar 21 12:07:25s -0:07:25 - -Rule sol87 1987 only - Mar 22 12:07:05s -0:07:05 - -Rule sol87 1987 only - Mar 23 12:06:50s -0:06:50 - -Rule sol87 1987 only - Mar 24 12:06:30s -0:06:30 - -Rule sol87 1987 only - Mar 25 12:06:10s -0:06:10 - -Rule sol87 1987 only - Mar 26 12:05:55s -0:05:55 - -Rule sol87 1987 only - Mar 27 12:05:35s -0:05:35 - -Rule sol87 1987 only - Mar 28 12:05:15s -0:05:15 - -Rule sol87 1987 only - Mar 29 12:05:00s -0:05:00 - -Rule sol87 1987 only - Mar 30 12:04:40s -0:04:40 - -Rule sol87 1987 only - Mar 31 12:04:25s -0:04:25 - -Rule sol87 1987 only - Apr 1 12:04:05s -0:04:05 - -Rule sol87 1987 only - Apr 2 12:03:45s -0:03:45 - -Rule sol87 1987 only - Apr 3 12:03:30s -0:03:30 - -Rule sol87 1987 only - Apr 4 12:03:10s -0:03:10 - -Rule sol87 1987 only - Apr 5 12:02:55s -0:02:55 - -Rule sol87 1987 only - Apr 6 12:02:35s -0:02:35 - -Rule sol87 1987 only - Apr 7 12:02:20s -0:02:20 - -Rule sol87 1987 only - Apr 8 12:02:05s -0:02:05 - -Rule sol87 1987 only - Apr 9 12:01:45s -0:01:45 - -Rule sol87 1987 only - Apr 10 12:01:30s -0:01:30 - -Rule sol87 1987 only - Apr 11 12:01:15s -0:01:15 - -Rule sol87 1987 only - Apr 12 12:00:55s -0:00:55 - -Rule sol87 1987 only - Apr 13 12:00:40s -0:00:40 - -Rule sol87 1987 only - Apr 14 12:00:25s -0:00:25 - -Rule sol87 1987 only - Apr 15 12:00:10s -0:00:10 - -Rule sol87 1987 only - Apr 16 11:59:55s 0:00:05 - -Rule sol87 1987 only - Apr 17 11:59:45s 0:00:15 - -Rule sol87 1987 only - Apr 18 11:59:30s 0:00:30 - -Rule sol87 1987 only - Apr 19 11:59:15s 0:00:45 - -Rule sol87 1987 only - Apr 20 11:59:05s 0:00:55 - -Rule sol87 1987 only - Apr 21 11:58:50s 0:01:10 - -Rule sol87 1987 only - Apr 22 11:58:40s 0:01:20 - -Rule sol87 1987 only - Apr 23 11:58:25s 0:01:35 - -Rule sol87 1987 only - Apr 24 11:58:15s 0:01:45 - -Rule sol87 1987 only - Apr 25 11:58:05s 0:01:55 - -Rule sol87 1987 only - Apr 26 11:57:55s 0:02:05 - -Rule sol87 1987 only - Apr 27 11:57:45s 0:02:15 - -Rule sol87 1987 only - Apr 28 11:57:35s 0:02:25 - -Rule sol87 1987 only - Apr 29 11:57:25s 0:02:35 - -Rule sol87 1987 only - Apr 30 11:57:15s 0:02:45 - -Rule sol87 1987 only - May 1 11:57:10s 0:02:50 - -Rule sol87 1987 only - May 2 11:57:00s 0:03:00 - -Rule sol87 1987 only - May 3 11:56:55s 0:03:05 - -Rule sol87 1987 only - May 4 11:56:50s 0:03:10 - -Rule sol87 1987 only - May 5 11:56:45s 0:03:15 - -Rule sol87 1987 only - May 6 11:56:40s 0:03:20 - -Rule sol87 1987 only - May 7 11:56:35s 0:03:25 - -Rule sol87 1987 only - May 8 11:56:30s 0:03:30 - -Rule sol87 1987 only - May 9 11:56:25s 0:03:35 - -Rule sol87 1987 only - May 10 11:56:25s 0:03:35 - -Rule sol87 1987 only - May 11 11:56:20s 0:03:40 - -Rule sol87 1987 only - May 12 11:56:20s 0:03:40 - -Rule sol87 1987 only - May 13 11:56:20s 0:03:40 - -Rule sol87 1987 only - May 14 11:56:20s 0:03:40 - -Rule sol87 1987 only - May 15 11:56:20s 0:03:40 - -Rule sol87 1987 only - May 16 11:56:20s 0:03:40 - -Rule sol87 1987 only - May 17 11:56:20s 0:03:40 - -Rule sol87 1987 only - May 18 11:56:20s 0:03:40 - -Rule sol87 1987 only - May 19 11:56:25s 0:03:35 - -Rule sol87 1987 only - May 20 11:56:25s 0:03:35 - -Rule sol87 1987 only - May 21 11:56:30s 0:03:30 - -Rule sol87 1987 only - May 22 11:56:35s 0:03:25 - -Rule sol87 1987 only - May 23 11:56:40s 0:03:20 - -Rule sol87 1987 only - May 24 11:56:45s 0:03:15 - -Rule sol87 1987 only - May 25 11:56:50s 0:03:10 - -Rule sol87 1987 only - May 26 11:56:55s 0:03:05 - -Rule sol87 1987 only - May 27 11:57:00s 0:03:00 - -Rule sol87 1987 only - May 28 11:57:10s 0:02:50 - -Rule sol87 1987 only - May 29 11:57:15s 0:02:45 - -Rule sol87 1987 only - May 30 11:57:25s 0:02:35 - -Rule sol87 1987 only - May 31 11:57:30s 0:02:30 - -Rule sol87 1987 only - Jun 1 11:57:40s 0:02:20 - -Rule sol87 1987 only - Jun 2 11:57:50s 0:02:10 - -Rule sol87 1987 only - Jun 3 11:58:00s 0:02:00 - -Rule sol87 1987 only - Jun 4 11:58:10s 0:01:50 - -Rule sol87 1987 only - Jun 5 11:58:20s 0:01:40 - -Rule sol87 1987 only - Jun 6 11:58:30s 0:01:30 - -Rule sol87 1987 only - Jun 7 11:58:40s 0:01:20 - -Rule sol87 1987 only - Jun 8 11:58:50s 0:01:10 - -Rule sol87 1987 only - Jun 9 11:59:05s 0:00:55 - -Rule sol87 1987 only - Jun 10 11:59:15s 0:00:45 - -Rule sol87 1987 only - Jun 11 11:59:30s 0:00:30 - -Rule sol87 1987 only - Jun 12 11:59:40s 0:00:20 - -Rule sol87 1987 only - Jun 13 11:59:50s 0:00:10 - -Rule sol87 1987 only - Jun 14 12:00:05s -0:00:05 - -Rule sol87 1987 only - Jun 15 12:00:15s -0:00:15 - -Rule sol87 1987 only - Jun 16 12:00:30s -0:00:30 - -Rule sol87 1987 only - Jun 17 12:00:45s -0:00:45 - -Rule sol87 1987 only - Jun 18 12:00:55s -0:00:55 - -Rule sol87 1987 only - Jun 19 12:01:10s -0:01:10 - -Rule sol87 1987 only - Jun 20 12:01:20s -0:01:20 - -Rule sol87 1987 only - Jun 21 12:01:35s -0:01:35 - -Rule sol87 1987 only - Jun 22 12:01:50s -0:01:50 - -Rule sol87 1987 only - Jun 23 12:02:00s -0:02:00 - -Rule sol87 1987 only - Jun 24 12:02:15s -0:02:15 - -Rule sol87 1987 only - Jun 25 12:02:25s -0:02:25 - -Rule sol87 1987 only - Jun 26 12:02:40s -0:02:40 - -Rule sol87 1987 only - Jun 27 12:02:50s -0:02:50 - -Rule sol87 1987 only - Jun 28 12:03:05s -0:03:05 - -Rule sol87 1987 only - Jun 29 12:03:15s -0:03:15 - -Rule sol87 1987 only - Jun 30 12:03:30s -0:03:30 - -Rule sol87 1987 only - Jul 1 12:03:40s -0:03:40 - -Rule sol87 1987 only - Jul 2 12:03:50s -0:03:50 - -Rule sol87 1987 only - Jul 3 12:04:05s -0:04:05 - -Rule sol87 1987 only - Jul 4 12:04:15s -0:04:15 - -Rule sol87 1987 only - Jul 5 12:04:25s -0:04:25 - -Rule sol87 1987 only - Jul 6 12:04:35s -0:04:35 - -Rule sol87 1987 only - Jul 7 12:04:45s -0:04:45 - -Rule sol87 1987 only - Jul 8 12:04:55s -0:04:55 - -Rule sol87 1987 only - Jul 9 12:05:05s -0:05:05 - -Rule sol87 1987 only - Jul 10 12:05:15s -0:05:15 - -Rule sol87 1987 only - Jul 11 12:05:20s -0:05:20 - -Rule sol87 1987 only - Jul 12 12:05:30s -0:05:30 - -Rule sol87 1987 only - Jul 13 12:05:40s -0:05:40 - -Rule sol87 1987 only - Jul 14 12:05:45s -0:05:45 - -Rule sol87 1987 only - Jul 15 12:05:50s -0:05:50 - -Rule sol87 1987 only - Jul 16 12:06:00s -0:06:00 - -Rule sol87 1987 only - Jul 17 12:06:05s -0:06:05 - -Rule sol87 1987 only - Jul 18 12:06:10s -0:06:10 - -Rule sol87 1987 only - Jul 19 12:06:15s -0:06:15 - -Rule sol87 1987 only - Jul 20 12:06:15s -0:06:15 - -Rule sol87 1987 only - Jul 21 12:06:20s -0:06:20 - -Rule sol87 1987 only - Jul 22 12:06:25s -0:06:25 - -Rule sol87 1987 only - Jul 23 12:06:25s -0:06:25 - -Rule sol87 1987 only - Jul 24 12:06:25s -0:06:25 - -Rule sol87 1987 only - Jul 25 12:06:30s -0:06:30 - -Rule sol87 1987 only - Jul 26 12:06:30s -0:06:30 - -Rule sol87 1987 only - Jul 27 12:06:30s -0:06:30 - -Rule sol87 1987 only - Jul 28 12:06:30s -0:06:30 - -Rule sol87 1987 only - Jul 29 12:06:25s -0:06:25 - -Rule sol87 1987 only - Jul 30 12:06:25s -0:06:25 - -Rule sol87 1987 only - Jul 31 12:06:25s -0:06:25 - -Rule sol87 1987 only - Aug 1 12:06:20s -0:06:20 - -Rule sol87 1987 only - Aug 2 12:06:15s -0:06:15 - -Rule sol87 1987 only - Aug 3 12:06:10s -0:06:10 - -Rule sol87 1987 only - Aug 4 12:06:05s -0:06:05 - -Rule sol87 1987 only - Aug 5 12:06:00s -0:06:00 - -Rule sol87 1987 only - Aug 6 12:05:55s -0:05:55 - -Rule sol87 1987 only - Aug 7 12:05:50s -0:05:50 - -Rule sol87 1987 only - Aug 8 12:05:40s -0:05:40 - -Rule sol87 1987 only - Aug 9 12:05:35s -0:05:35 - -Rule sol87 1987 only - Aug 10 12:05:25s -0:05:25 - -Rule sol87 1987 only - Aug 11 12:05:15s -0:05:15 - -Rule sol87 1987 only - Aug 12 12:05:05s -0:05:05 - -Rule sol87 1987 only - Aug 13 12:04:55s -0:04:55 - -Rule sol87 1987 only - Aug 14 12:04:45s -0:04:45 - -Rule sol87 1987 only - Aug 15 12:04:35s -0:04:35 - -Rule sol87 1987 only - Aug 16 12:04:25s -0:04:25 - -Rule sol87 1987 only - Aug 17 12:04:10s -0:04:10 - -Rule sol87 1987 only - Aug 18 12:04:00s -0:04:00 - -Rule sol87 1987 only - Aug 19 12:03:45s -0:03:45 - -Rule sol87 1987 only - Aug 20 12:03:30s -0:03:30 - -Rule sol87 1987 only - Aug 21 12:03:15s -0:03:15 - -Rule sol87 1987 only - Aug 22 12:03:00s -0:03:00 - -Rule sol87 1987 only - Aug 23 12:02:45s -0:02:45 - -Rule sol87 1987 only - Aug 24 12:02:30s -0:02:30 - -Rule sol87 1987 only - Aug 25 12:02:15s -0:02:15 - -Rule sol87 1987 only - Aug 26 12:02:00s -0:02:00 - -Rule sol87 1987 only - Aug 27 12:01:40s -0:01:40 - -Rule sol87 1987 only - Aug 28 12:01:25s -0:01:25 - -Rule sol87 1987 only - Aug 29 12:01:05s -0:01:05 - -Rule sol87 1987 only - Aug 30 12:00:50s -0:00:50 - -Rule sol87 1987 only - Aug 31 12:00:30s -0:00:30 - -Rule sol87 1987 only - Sep 1 12:00:10s -0:00:10 - -Rule sol87 1987 only - Sep 2 11:59:50s 0:00:10 - -Rule sol87 1987 only - Sep 3 11:59:35s 0:00:25 - -Rule sol87 1987 only - Sep 4 11:59:15s 0:00:45 - -Rule sol87 1987 only - Sep 5 11:58:55s 0:01:05 - -Rule sol87 1987 only - Sep 6 11:58:35s 0:01:25 - -Rule sol87 1987 only - Sep 7 11:58:15s 0:01:45 - -Rule sol87 1987 only - Sep 8 11:57:55s 0:02:05 - -Rule sol87 1987 only - Sep 9 11:57:30s 0:02:30 - -Rule sol87 1987 only - Sep 10 11:57:10s 0:02:50 - -Rule sol87 1987 only - Sep 11 11:56:50s 0:03:10 - -Rule sol87 1987 only - Sep 12 11:56:30s 0:03:30 - -Rule sol87 1987 only - Sep 13 11:56:10s 0:03:50 - -Rule sol87 1987 only - Sep 14 11:55:45s 0:04:15 - -Rule sol87 1987 only - Sep 15 11:55:25s 0:04:35 - -Rule sol87 1987 only - Sep 16 11:55:05s 0:04:55 - -Rule sol87 1987 only - Sep 17 11:54:45s 0:05:15 - -Rule sol87 1987 only - Sep 18 11:54:20s 0:05:40 - -Rule sol87 1987 only - Sep 19 11:54:00s 0:06:00 - -Rule sol87 1987 only - Sep 20 11:53:40s 0:06:20 - -Rule sol87 1987 only - Sep 21 11:53:15s 0:06:45 - -Rule sol87 1987 only - Sep 22 11:52:55s 0:07:05 - -Rule sol87 1987 only - Sep 23 11:52:35s 0:07:25 - -Rule sol87 1987 only - Sep 24 11:52:15s 0:07:45 - -Rule sol87 1987 only - Sep 25 11:51:55s 0:08:05 - -Rule sol87 1987 only - Sep 26 11:51:35s 0:08:25 - -Rule sol87 1987 only - Sep 27 11:51:10s 0:08:50 - -Rule sol87 1987 only - Sep 28 11:50:50s 0:09:10 - -Rule sol87 1987 only - Sep 29 11:50:30s 0:09:30 - -Rule sol87 1987 only - Sep 30 11:50:10s 0:09:50 - -Rule sol87 1987 only - Oct 1 11:49:50s 0:10:10 - -Rule sol87 1987 only - Oct 2 11:49:35s 0:10:25 - -Rule sol87 1987 only - Oct 3 11:49:15s 0:10:45 - -Rule sol87 1987 only - Oct 4 11:48:55s 0:11:05 - -Rule sol87 1987 only - Oct 5 11:48:35s 0:11:25 - -Rule sol87 1987 only - Oct 6 11:48:20s 0:11:40 - -Rule sol87 1987 only - Oct 7 11:48:00s 0:12:00 - -Rule sol87 1987 only - Oct 8 11:47:45s 0:12:15 - -Rule sol87 1987 only - Oct 9 11:47:25s 0:12:35 - -Rule sol87 1987 only - Oct 10 11:47:10s 0:12:50 - -Rule sol87 1987 only - Oct 11 11:46:55s 0:13:05 - -Rule sol87 1987 only - Oct 12 11:46:40s 0:13:20 - -Rule sol87 1987 only - Oct 13 11:46:25s 0:13:35 - -Rule sol87 1987 only - Oct 14 11:46:10s 0:13:50 - -Rule sol87 1987 only - Oct 15 11:45:55s 0:14:05 - -Rule sol87 1987 only - Oct 16 11:45:45s 0:14:15 - -Rule sol87 1987 only - Oct 17 11:45:30s 0:14:30 - -Rule sol87 1987 only - Oct 18 11:45:20s 0:14:40 - -Rule sol87 1987 only - Oct 19 11:45:05s 0:14:55 - -Rule sol87 1987 only - Oct 20 11:44:55s 0:15:05 - -Rule sol87 1987 only - Oct 21 11:44:45s 0:15:15 - -Rule sol87 1987 only - Oct 22 11:44:35s 0:15:25 - -Rule sol87 1987 only - Oct 23 11:44:25s 0:15:35 - -Rule sol87 1987 only - Oct 24 11:44:20s 0:15:40 - -Rule sol87 1987 only - Oct 25 11:44:10s 0:15:50 - -Rule sol87 1987 only - Oct 26 11:44:05s 0:15:55 - -Rule sol87 1987 only - Oct 27 11:43:55s 0:16:05 - -Rule sol87 1987 only - Oct 28 11:43:50s 0:16:10 - -Rule sol87 1987 only - Oct 29 11:43:45s 0:16:15 - -Rule sol87 1987 only - Oct 30 11:43:45s 0:16:15 - -Rule sol87 1987 only - Oct 31 11:43:40s 0:16:20 - -Rule sol87 1987 only - Nov 1 11:43:40s 0:16:20 - -Rule sol87 1987 only - Nov 2 11:43:35s 0:16:25 - -Rule sol87 1987 only - Nov 3 11:43:35s 0:16:25 - -Rule sol87 1987 only - Nov 4 11:43:35s 0:16:25 - -Rule sol87 1987 only - Nov 5 11:43:35s 0:16:25 - -Rule sol87 1987 only - Nov 6 11:43:40s 0:16:20 - -Rule sol87 1987 only - Nov 7 11:43:40s 0:16:20 - -Rule sol87 1987 only - Nov 8 11:43:45s 0:16:15 - -Rule sol87 1987 only - Nov 9 11:43:50s 0:16:10 - -Rule sol87 1987 only - Nov 10 11:43:55s 0:16:05 - -Rule sol87 1987 only - Nov 11 11:44:00s 0:16:00 - -Rule sol87 1987 only - Nov 12 11:44:05s 0:15:55 - -Rule sol87 1987 only - Nov 13 11:44:15s 0:15:45 - -Rule sol87 1987 only - Nov 14 11:44:20s 0:15:40 - -Rule sol87 1987 only - Nov 15 11:44:30s 0:15:30 - -Rule sol87 1987 only - Nov 16 11:44:40s 0:15:20 - -Rule sol87 1987 only - Nov 17 11:44:50s 0:15:10 - -Rule sol87 1987 only - Nov 18 11:45:05s 0:14:55 - -Rule sol87 1987 only - Nov 19 11:45:15s 0:14:45 - -Rule sol87 1987 only - Nov 20 11:45:30s 0:14:30 - -Rule sol87 1987 only - Nov 21 11:45:45s 0:14:15 - -Rule sol87 1987 only - Nov 22 11:46:00s 0:14:00 - -Rule sol87 1987 only - Nov 23 11:46:15s 0:13:45 - -Rule sol87 1987 only - Nov 24 11:46:30s 0:13:30 - -Rule sol87 1987 only - Nov 25 11:46:50s 0:13:10 - -Rule sol87 1987 only - Nov 26 11:47:10s 0:12:50 - -Rule sol87 1987 only - Nov 27 11:47:25s 0:12:35 - -Rule sol87 1987 only - Nov 28 11:47:45s 0:12:15 - -Rule sol87 1987 only - Nov 29 11:48:05s 0:11:55 - -Rule sol87 1987 only - Nov 30 11:48:30s 0:11:30 - -Rule sol87 1987 only - Dec 1 11:48:50s 0:11:10 - -Rule sol87 1987 only - Dec 2 11:49:10s 0:10:50 - -Rule sol87 1987 only - Dec 3 11:49:35s 0:10:25 - -Rule sol87 1987 only - Dec 4 11:50:00s 0:10:00 - -Rule sol87 1987 only - Dec 5 11:50:25s 0:09:35 - -Rule sol87 1987 only - Dec 6 11:50:50s 0:09:10 - -Rule sol87 1987 only - Dec 7 11:51:15s 0:08:45 - -Rule sol87 1987 only - Dec 8 11:51:40s 0:08:20 - -Rule sol87 1987 only - Dec 9 11:52:05s 0:07:55 - -Rule sol87 1987 only - Dec 10 11:52:30s 0:07:30 - -Rule sol87 1987 only - Dec 11 11:53:00s 0:07:00 - -Rule sol87 1987 only - Dec 12 11:53:25s 0:06:35 - -Rule sol87 1987 only - Dec 13 11:53:55s 0:06:05 - -Rule sol87 1987 only - Dec 14 11:54:25s 0:05:35 - -Rule sol87 1987 only - Dec 15 11:54:50s 0:05:10 - -Rule sol87 1987 only - Dec 16 11:55:20s 0:04:40 - -Rule sol87 1987 only - Dec 17 11:55:50s 0:04:10 - -Rule sol87 1987 only - Dec 18 11:56:20s 0:03:40 - -Rule sol87 1987 only - Dec 19 11:56:50s 0:03:10 - -Rule sol87 1987 only - Dec 20 11:57:20s 0:02:40 - -Rule sol87 1987 only - Dec 21 11:57:50s 0:02:10 - -Rule sol87 1987 only - Dec 22 11:58:20s 0:01:40 - -Rule sol87 1987 only - Dec 23 11:58:50s 0:01:10 - -Rule sol87 1987 only - Dec 24 11:59:20s 0:00:40 - -Rule sol87 1987 only - Dec 25 11:59:50s 0:00:10 - -Rule sol87 1987 only - Dec 26 12:00:20s -0:00:20 - -Rule sol87 1987 only - Dec 27 12:00:45s -0:00:45 - -Rule sol87 1987 only - Dec 28 12:01:15s -0:01:15 - -Rule sol87 1987 only - Dec 29 12:01:45s -0:01:45 - -Rule sol87 1987 only - Dec 30 12:02:15s -0:02:15 - -Rule sol87 1987 only - Dec 31 12:02:45s -0:02:45 - - -# Riyadh is at about 46 degrees 46 minutes East: 3 hrs, 7 mins, 4 secs -# Before and after 1987, we'll operate on local mean solar time. - -# Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL] -Zone Mideast/Riyadh87 3:07:04 - ?? 1987 - 3:07:04 sol87 ?? 1988 - 3:07:04 - ?? diff --git a/share/zoneinfo/datfiles/solar88 b/share/zoneinfo/datfiles/solar88 deleted file mode 100644 index e7f647e..0000000 --- a/share/zoneinfo/datfiles/solar88 +++ /dev/null @@ -1,386 +0,0 @@ -# @(#)solar88 4.2 - -# Apparent noon times below are for Riyadh; they're a bit off for other places. -# Times were computed using formulas in the U.S. Naval Observatory's -# Almanac for Computers 1988; the formulas "will give EqT to an accuracy of -# [plus or minus two] seconds during the current year." -# -# Rounding to the nearest five seconds results in fewer than -# 256 different "time types"--a limit that's faced because time types are -# stored on disk as unsigned chars. - -# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule sol88 1988 only - Jan 1 12:03:15s -0:03:15 - -Rule sol88 1988 only - Jan 2 12:03:40s -0:03:40 - -Rule sol88 1988 only - Jan 3 12:04:10s -0:04:10 - -Rule sol88 1988 only - Jan 4 12:04:40s -0:04:40 - -Rule sol88 1988 only - Jan 5 12:05:05s -0:05:05 - -Rule sol88 1988 only - Jan 6 12:05:30s -0:05:30 - -Rule sol88 1988 only - Jan 7 12:06:00s -0:06:00 - -Rule sol88 1988 only - Jan 8 12:06:25s -0:06:25 - -Rule sol88 1988 only - Jan 9 12:06:50s -0:06:50 - -Rule sol88 1988 only - Jan 10 12:07:15s -0:07:15 - -Rule sol88 1988 only - Jan 11 12:07:40s -0:07:40 - -Rule sol88 1988 only - Jan 12 12:08:05s -0:08:05 - -Rule sol88 1988 only - Jan 13 12:08:25s -0:08:25 - -Rule sol88 1988 only - Jan 14 12:08:50s -0:08:50 - -Rule sol88 1988 only - Jan 15 12:09:10s -0:09:10 - -Rule sol88 1988 only - Jan 16 12:09:30s -0:09:30 - -Rule sol88 1988 only - Jan 17 12:09:50s -0:09:50 - -Rule sol88 1988 only - Jan 18 12:10:10s -0:10:10 - -Rule sol88 1988 only - Jan 19 12:10:30s -0:10:30 - -Rule sol88 1988 only - Jan 20 12:10:50s -0:10:50 - -Rule sol88 1988 only - Jan 21 12:11:05s -0:11:05 - -Rule sol88 1988 only - Jan 22 12:11:25s -0:11:25 - -Rule sol88 1988 only - Jan 23 12:11:40s -0:11:40 - -Rule sol88 1988 only - Jan 24 12:11:55s -0:11:55 - -Rule sol88 1988 only - Jan 25 12:12:10s -0:12:10 - -Rule sol88 1988 only - Jan 26 12:12:25s -0:12:25 - -Rule sol88 1988 only - Jan 27 12:12:40s -0:12:40 - -Rule sol88 1988 only - Jan 28 12:12:50s -0:12:50 - -Rule sol88 1988 only - Jan 29 12:13:00s -0:13:00 - -Rule sol88 1988 only - Jan 30 12:13:10s -0:13:10 - -Rule sol88 1988 only - Jan 31 12:13:20s -0:13:20 - -Rule sol88 1988 only - Feb 1 12:13:30s -0:13:30 - -Rule sol88 1988 only - Feb 2 12:13:40s -0:13:40 - -Rule sol88 1988 only - Feb 3 12:13:45s -0:13:45 - -Rule sol88 1988 only - Feb 4 12:13:55s -0:13:55 - -Rule sol88 1988 only - Feb 5 12:14:00s -0:14:00 - -Rule sol88 1988 only - Feb 6 12:14:05s -0:14:05 - -Rule sol88 1988 only - Feb 7 12:14:10s -0:14:10 - -Rule sol88 1988 only - Feb 8 12:14:10s -0:14:10 - -Rule sol88 1988 only - Feb 9 12:14:15s -0:14:15 - -Rule sol88 1988 only - Feb 10 12:14:15s -0:14:15 - -Rule sol88 1988 only - Feb 11 12:14:15s -0:14:15 - -Rule sol88 1988 only - Feb 12 12:14:15s -0:14:15 - -Rule sol88 1988 only - Feb 13 12:14:15s -0:14:15 - -Rule sol88 1988 only - Feb 14 12:14:15s -0:14:15 - -Rule sol88 1988 only - Feb 15 12:14:10s -0:14:10 - -Rule sol88 1988 only - Feb 16 12:14:10s -0:14:10 - -Rule sol88 1988 only - Feb 17 12:14:05s -0:14:05 - -Rule sol88 1988 only - Feb 18 12:14:00s -0:14:00 - -Rule sol88 1988 only - Feb 19 12:13:55s -0:13:55 - -Rule sol88 1988 only - Feb 20 12:13:50s -0:13:50 - -Rule sol88 1988 only - Feb 21 12:13:45s -0:13:45 - -Rule sol88 1988 only - Feb 22 12:13:40s -0:13:40 - -Rule sol88 1988 only - Feb 23 12:13:30s -0:13:30 - -Rule sol88 1988 only - Feb 24 12:13:20s -0:13:20 - -Rule sol88 1988 only - Feb 25 12:13:15s -0:13:15 - -Rule sol88 1988 only - Feb 26 12:13:05s -0:13:05 - -Rule sol88 1988 only - Feb 27 12:12:55s -0:12:55 - -Rule sol88 1988 only - Feb 28 12:12:45s -0:12:45 - -Rule sol88 1988 only - Feb 29 12:12:30s -0:12:30 - -Rule sol88 1988 only - Mar 1 12:12:20s -0:12:20 - -Rule sol88 1988 only - Mar 2 12:12:10s -0:12:10 - -Rule sol88 1988 only - Mar 3 12:11:55s -0:11:55 - -Rule sol88 1988 only - Mar 4 12:11:45s -0:11:45 - -Rule sol88 1988 only - Mar 5 12:11:30s -0:11:30 - -Rule sol88 1988 only - Mar 6 12:11:15s -0:11:15 - -Rule sol88 1988 only - Mar 7 12:11:00s -0:11:00 - -Rule sol88 1988 only - Mar 8 12:10:45s -0:10:45 - -Rule sol88 1988 only - Mar 9 12:10:30s -0:10:30 - -Rule sol88 1988 only - Mar 10 12:10:15s -0:10:15 - -Rule sol88 1988 only - Mar 11 12:10:00s -0:10:00 - -Rule sol88 1988 only - Mar 12 12:09:45s -0:09:45 - -Rule sol88 1988 only - Mar 13 12:09:30s -0:09:30 - -Rule sol88 1988 only - Mar 14 12:09:10s -0:09:10 - -Rule sol88 1988 only - Mar 15 12:08:55s -0:08:55 - -Rule sol88 1988 only - Mar 16 12:08:40s -0:08:40 - -Rule sol88 1988 only - Mar 17 12:08:20s -0:08:20 - -Rule sol88 1988 only - Mar 18 12:08:05s -0:08:05 - -Rule sol88 1988 only - Mar 19 12:07:45s -0:07:45 - -Rule sol88 1988 only - Mar 20 12:07:30s -0:07:30 - -Rule sol88 1988 only - Mar 21 12:07:10s -0:07:10 - -Rule sol88 1988 only - Mar 22 12:06:50s -0:06:50 - -Rule sol88 1988 only - Mar 23 12:06:35s -0:06:35 - -Rule sol88 1988 only - Mar 24 12:06:15s -0:06:15 - -Rule sol88 1988 only - Mar 25 12:06:00s -0:06:00 - -Rule sol88 1988 only - Mar 26 12:05:40s -0:05:40 - -Rule sol88 1988 only - Mar 27 12:05:20s -0:05:20 - -Rule sol88 1988 only - Mar 28 12:05:05s -0:05:05 - -Rule sol88 1988 only - Mar 29 12:04:45s -0:04:45 - -Rule sol88 1988 only - Mar 30 12:04:25s -0:04:25 - -Rule sol88 1988 only - Mar 31 12:04:10s -0:04:10 - -Rule sol88 1988 only - Apr 1 12:03:50s -0:03:50 - -Rule sol88 1988 only - Apr 2 12:03:35s -0:03:35 - -Rule sol88 1988 only - Apr 3 12:03:15s -0:03:15 - -Rule sol88 1988 only - Apr 4 12:03:00s -0:03:00 - -Rule sol88 1988 only - Apr 5 12:02:40s -0:02:40 - -Rule sol88 1988 only - Apr 6 12:02:25s -0:02:25 - -Rule sol88 1988 only - Apr 7 12:02:05s -0:02:05 - -Rule sol88 1988 only - Apr 8 12:01:50s -0:01:50 - -Rule sol88 1988 only - Apr 9 12:01:35s -0:01:35 - -Rule sol88 1988 only - Apr 10 12:01:15s -0:01:15 - -Rule sol88 1988 only - Apr 11 12:01:00s -0:01:00 - -Rule sol88 1988 only - Apr 12 12:00:45s -0:00:45 - -Rule sol88 1988 only - Apr 13 12:00:30s -0:00:30 - -Rule sol88 1988 only - Apr 14 12:00:15s -0:00:15 - -Rule sol88 1988 only - Apr 15 12:00:00s 0:00:00 - -Rule sol88 1988 only - Apr 16 11:59:45s 0:00:15 - -Rule sol88 1988 only - Apr 17 11:59:30s 0:00:30 - -Rule sol88 1988 only - Apr 18 11:59:20s 0:00:40 - -Rule sol88 1988 only - Apr 19 11:59:05s 0:00:55 - -Rule sol88 1988 only - Apr 20 11:58:55s 0:01:05 - -Rule sol88 1988 only - Apr 21 11:58:40s 0:01:20 - -Rule sol88 1988 only - Apr 22 11:58:30s 0:01:30 - -Rule sol88 1988 only - Apr 23 11:58:15s 0:01:45 - -Rule sol88 1988 only - Apr 24 11:58:05s 0:01:55 - -Rule sol88 1988 only - Apr 25 11:57:55s 0:02:05 - -Rule sol88 1988 only - Apr 26 11:57:45s 0:02:15 - -Rule sol88 1988 only - Apr 27 11:57:35s 0:02:25 - -Rule sol88 1988 only - Apr 28 11:57:30s 0:02:30 - -Rule sol88 1988 only - Apr 29 11:57:20s 0:02:40 - -Rule sol88 1988 only - Apr 30 11:57:10s 0:02:50 - -Rule sol88 1988 only - May 1 11:57:05s 0:02:55 - -Rule sol88 1988 only - May 2 11:56:55s 0:03:05 - -Rule sol88 1988 only - May 3 11:56:50s 0:03:10 - -Rule sol88 1988 only - May 4 11:56:45s 0:03:15 - -Rule sol88 1988 only - May 5 11:56:40s 0:03:20 - -Rule sol88 1988 only - May 6 11:56:35s 0:03:25 - -Rule sol88 1988 only - May 7 11:56:30s 0:03:30 - -Rule sol88 1988 only - May 8 11:56:25s 0:03:35 - -Rule sol88 1988 only - May 9 11:56:25s 0:03:35 - -Rule sol88 1988 only - May 10 11:56:20s 0:03:40 - -Rule sol88 1988 only - May 11 11:56:20s 0:03:40 - -Rule sol88 1988 only - May 12 11:56:20s 0:03:40 - -Rule sol88 1988 only - May 13 11:56:20s 0:03:40 - -Rule sol88 1988 only - May 14 11:56:20s 0:03:40 - -Rule sol88 1988 only - May 15 11:56:20s 0:03:40 - -Rule sol88 1988 only - May 16 11:56:20s 0:03:40 - -Rule sol88 1988 only - May 17 11:56:20s 0:03:40 - -Rule sol88 1988 only - May 18 11:56:25s 0:03:35 - -Rule sol88 1988 only - May 19 11:56:25s 0:03:35 - -Rule sol88 1988 only - May 20 11:56:30s 0:03:30 - -Rule sol88 1988 only - May 21 11:56:35s 0:03:25 - -Rule sol88 1988 only - May 22 11:56:40s 0:03:20 - -Rule sol88 1988 only - May 23 11:56:45s 0:03:15 - -Rule sol88 1988 only - May 24 11:56:50s 0:03:10 - -Rule sol88 1988 only - May 25 11:56:55s 0:03:05 - -Rule sol88 1988 only - May 26 11:57:00s 0:03:00 - -Rule sol88 1988 only - May 27 11:57:05s 0:02:55 - -Rule sol88 1988 only - May 28 11:57:15s 0:02:45 - -Rule sol88 1988 only - May 29 11:57:20s 0:02:40 - -Rule sol88 1988 only - May 30 11:57:30s 0:02:30 - -Rule sol88 1988 only - May 31 11:57:40s 0:02:20 - -Rule sol88 1988 only - Jun 1 11:57:50s 0:02:10 - -Rule sol88 1988 only - Jun 2 11:57:55s 0:02:05 - -Rule sol88 1988 only - Jun 3 11:58:05s 0:01:55 - -Rule sol88 1988 only - Jun 4 11:58:15s 0:01:45 - -Rule sol88 1988 only - Jun 5 11:58:30s 0:01:30 - -Rule sol88 1988 only - Jun 6 11:58:40s 0:01:20 - -Rule sol88 1988 only - Jun 7 11:58:50s 0:01:10 - -Rule sol88 1988 only - Jun 8 11:59:00s 0:01:00 - -Rule sol88 1988 only - Jun 9 11:59:15s 0:00:45 - -Rule sol88 1988 only - Jun 10 11:59:25s 0:00:35 - -Rule sol88 1988 only - Jun 11 11:59:35s 0:00:25 - -Rule sol88 1988 only - Jun 12 11:59:50s 0:00:10 - -Rule sol88 1988 only - Jun 13 12:00:00s 0:00:00 - -Rule sol88 1988 only - Jun 14 12:00:15s -0:00:15 - -Rule sol88 1988 only - Jun 15 12:00:25s -0:00:25 - -Rule sol88 1988 only - Jun 16 12:00:40s -0:00:40 - -Rule sol88 1988 only - Jun 17 12:00:55s -0:00:55 - -Rule sol88 1988 only - Jun 18 12:01:05s -0:01:05 - -Rule sol88 1988 only - Jun 19 12:01:20s -0:01:20 - -Rule sol88 1988 only - Jun 20 12:01:30s -0:01:30 - -Rule sol88 1988 only - Jun 21 12:01:45s -0:01:45 - -Rule sol88 1988 only - Jun 22 12:02:00s -0:02:00 - -Rule sol88 1988 only - Jun 23 12:02:10s -0:02:10 - -Rule sol88 1988 only - Jun 24 12:02:25s -0:02:25 - -Rule sol88 1988 only - Jun 25 12:02:35s -0:02:35 - -Rule sol88 1988 only - Jun 26 12:02:50s -0:02:50 - -Rule sol88 1988 only - Jun 27 12:03:00s -0:03:00 - -Rule sol88 1988 only - Jun 28 12:03:15s -0:03:15 - -Rule sol88 1988 only - Jun 29 12:03:25s -0:03:25 - -Rule sol88 1988 only - Jun 30 12:03:40s -0:03:40 - -Rule sol88 1988 only - Jul 1 12:03:50s -0:03:50 - -Rule sol88 1988 only - Jul 2 12:04:00s -0:04:00 - -Rule sol88 1988 only - Jul 3 12:04:10s -0:04:10 - -Rule sol88 1988 only - Jul 4 12:04:25s -0:04:25 - -Rule sol88 1988 only - Jul 5 12:04:35s -0:04:35 - -Rule sol88 1988 only - Jul 6 12:04:45s -0:04:45 - -Rule sol88 1988 only - Jul 7 12:04:55s -0:04:55 - -Rule sol88 1988 only - Jul 8 12:05:05s -0:05:05 - -Rule sol88 1988 only - Jul 9 12:05:10s -0:05:10 - -Rule sol88 1988 only - Jul 10 12:05:20s -0:05:20 - -Rule sol88 1988 only - Jul 11 12:05:30s -0:05:30 - -Rule sol88 1988 only - Jul 12 12:05:35s -0:05:35 - -Rule sol88 1988 only - Jul 13 12:05:45s -0:05:45 - -Rule sol88 1988 only - Jul 14 12:05:50s -0:05:50 - -Rule sol88 1988 only - Jul 15 12:05:55s -0:05:55 - -Rule sol88 1988 only - Jul 16 12:06:00s -0:06:00 - -Rule sol88 1988 only - Jul 17 12:06:05s -0:06:05 - -Rule sol88 1988 only - Jul 18 12:06:10s -0:06:10 - -Rule sol88 1988 only - Jul 19 12:06:15s -0:06:15 - -Rule sol88 1988 only - Jul 20 12:06:20s -0:06:20 - -Rule sol88 1988 only - Jul 21 12:06:25s -0:06:25 - -Rule sol88 1988 only - Jul 22 12:06:25s -0:06:25 - -Rule sol88 1988 only - Jul 23 12:06:25s -0:06:25 - -Rule sol88 1988 only - Jul 24 12:06:30s -0:06:30 - -Rule sol88 1988 only - Jul 25 12:06:30s -0:06:30 - -Rule sol88 1988 only - Jul 26 12:06:30s -0:06:30 - -Rule sol88 1988 only - Jul 27 12:06:30s -0:06:30 - -Rule sol88 1988 only - Jul 28 12:06:30s -0:06:30 - -Rule sol88 1988 only - Jul 29 12:06:25s -0:06:25 - -Rule sol88 1988 only - Jul 30 12:06:25s -0:06:25 - -Rule sol88 1988 only - Jul 31 12:06:20s -0:06:20 - -Rule sol88 1988 only - Aug 1 12:06:15s -0:06:15 - -Rule sol88 1988 only - Aug 2 12:06:15s -0:06:15 - -Rule sol88 1988 only - Aug 3 12:06:10s -0:06:10 - -Rule sol88 1988 only - Aug 4 12:06:05s -0:06:05 - -Rule sol88 1988 only - Aug 5 12:05:55s -0:05:55 - -Rule sol88 1988 only - Aug 6 12:05:50s -0:05:50 - -Rule sol88 1988 only - Aug 7 12:05:45s -0:05:45 - -Rule sol88 1988 only - Aug 8 12:05:35s -0:05:35 - -Rule sol88 1988 only - Aug 9 12:05:25s -0:05:25 - -Rule sol88 1988 only - Aug 10 12:05:20s -0:05:20 - -Rule sol88 1988 only - Aug 11 12:05:10s -0:05:10 - -Rule sol88 1988 only - Aug 12 12:05:00s -0:05:00 - -Rule sol88 1988 only - Aug 13 12:04:50s -0:04:50 - -Rule sol88 1988 only - Aug 14 12:04:35s -0:04:35 - -Rule sol88 1988 only - Aug 15 12:04:25s -0:04:25 - -Rule sol88 1988 only - Aug 16 12:04:15s -0:04:15 - -Rule sol88 1988 only - Aug 17 12:04:00s -0:04:00 - -Rule sol88 1988 only - Aug 18 12:03:50s -0:03:50 - -Rule sol88 1988 only - Aug 19 12:03:35s -0:03:35 - -Rule sol88 1988 only - Aug 20 12:03:20s -0:03:20 - -Rule sol88 1988 only - Aug 21 12:03:05s -0:03:05 - -Rule sol88 1988 only - Aug 22 12:02:50s -0:02:50 - -Rule sol88 1988 only - Aug 23 12:02:35s -0:02:35 - -Rule sol88 1988 only - Aug 24 12:02:20s -0:02:20 - -Rule sol88 1988 only - Aug 25 12:02:00s -0:02:00 - -Rule sol88 1988 only - Aug 26 12:01:45s -0:01:45 - -Rule sol88 1988 only - Aug 27 12:01:30s -0:01:30 - -Rule sol88 1988 only - Aug 28 12:01:10s -0:01:10 - -Rule sol88 1988 only - Aug 29 12:00:50s -0:00:50 - -Rule sol88 1988 only - Aug 30 12:00:35s -0:00:35 - -Rule sol88 1988 only - Aug 31 12:00:15s -0:00:15 - -Rule sol88 1988 only - Sep 1 11:59:55s 0:00:05 - -Rule sol88 1988 only - Sep 2 11:59:35s 0:00:25 - -Rule sol88 1988 only - Sep 3 11:59:20s 0:00:40 - -Rule sol88 1988 only - Sep 4 11:59:00s 0:01:00 - -Rule sol88 1988 only - Sep 5 11:58:40s 0:01:20 - -Rule sol88 1988 only - Sep 6 11:58:20s 0:01:40 - -Rule sol88 1988 only - Sep 7 11:58:00s 0:02:00 - -Rule sol88 1988 only - Sep 8 11:57:35s 0:02:25 - -Rule sol88 1988 only - Sep 9 11:57:15s 0:02:45 - -Rule sol88 1988 only - Sep 10 11:56:55s 0:03:05 - -Rule sol88 1988 only - Sep 11 11:56:35s 0:03:25 - -Rule sol88 1988 only - Sep 12 11:56:15s 0:03:45 - -Rule sol88 1988 only - Sep 13 11:55:50s 0:04:10 - -Rule sol88 1988 only - Sep 14 11:55:30s 0:04:30 - -Rule sol88 1988 only - Sep 15 11:55:10s 0:04:50 - -Rule sol88 1988 only - Sep 16 11:54:50s 0:05:10 - -Rule sol88 1988 only - Sep 17 11:54:25s 0:05:35 - -Rule sol88 1988 only - Sep 18 11:54:05s 0:05:55 - -Rule sol88 1988 only - Sep 19 11:53:45s 0:06:15 - -Rule sol88 1988 only - Sep 20 11:53:25s 0:06:35 - -Rule sol88 1988 only - Sep 21 11:53:00s 0:07:00 - -Rule sol88 1988 only - Sep 22 11:52:40s 0:07:20 - -Rule sol88 1988 only - Sep 23 11:52:20s 0:07:40 - -Rule sol88 1988 only - Sep 24 11:52:00s 0:08:00 - -Rule sol88 1988 only - Sep 25 11:51:40s 0:08:20 - -Rule sol88 1988 only - Sep 26 11:51:15s 0:08:45 - -Rule sol88 1988 only - Sep 27 11:50:55s 0:09:05 - -Rule sol88 1988 only - Sep 28 11:50:35s 0:09:25 - -Rule sol88 1988 only - Sep 29 11:50:15s 0:09:45 - -Rule sol88 1988 only - Sep 30 11:49:55s 0:10:05 - -Rule sol88 1988 only - Oct 1 11:49:35s 0:10:25 - -Rule sol88 1988 only - Oct 2 11:49:20s 0:10:40 - -Rule sol88 1988 only - Oct 3 11:49:00s 0:11:00 - -Rule sol88 1988 only - Oct 4 11:48:40s 0:11:20 - -Rule sol88 1988 only - Oct 5 11:48:25s 0:11:35 - -Rule sol88 1988 only - Oct 6 11:48:05s 0:11:55 - -Rule sol88 1988 only - Oct 7 11:47:50s 0:12:10 - -Rule sol88 1988 only - Oct 8 11:47:30s 0:12:30 - -Rule sol88 1988 only - Oct 9 11:47:15s 0:12:45 - -Rule sol88 1988 only - Oct 10 11:47:00s 0:13:00 - -Rule sol88 1988 only - Oct 11 11:46:45s 0:13:15 - -Rule sol88 1988 only - Oct 12 11:46:30s 0:13:30 - -Rule sol88 1988 only - Oct 13 11:46:15s 0:13:45 - -Rule sol88 1988 only - Oct 14 11:46:00s 0:14:00 - -Rule sol88 1988 only - Oct 15 11:45:45s 0:14:15 - -Rule sol88 1988 only - Oct 16 11:45:35s 0:14:25 - -Rule sol88 1988 only - Oct 17 11:45:20s 0:14:40 - -Rule sol88 1988 only - Oct 18 11:45:10s 0:14:50 - -Rule sol88 1988 only - Oct 19 11:45:00s 0:15:00 - -Rule sol88 1988 only - Oct 20 11:44:45s 0:15:15 - -Rule sol88 1988 only - Oct 21 11:44:40s 0:15:20 - -Rule sol88 1988 only - Oct 22 11:44:30s 0:15:30 - -Rule sol88 1988 only - Oct 23 11:44:20s 0:15:40 - -Rule sol88 1988 only - Oct 24 11:44:10s 0:15:50 - -Rule sol88 1988 only - Oct 25 11:44:05s 0:15:55 - -Rule sol88 1988 only - Oct 26 11:44:00s 0:16:00 - -Rule sol88 1988 only - Oct 27 11:43:55s 0:16:05 - -Rule sol88 1988 only - Oct 28 11:43:50s 0:16:10 - -Rule sol88 1988 only - Oct 29 11:43:45s 0:16:15 - -Rule sol88 1988 only - Oct 30 11:43:40s 0:16:20 - -Rule sol88 1988 only - Oct 31 11:43:40s 0:16:20 - -Rule sol88 1988 only - Nov 1 11:43:35s 0:16:25 - -Rule sol88 1988 only - Nov 2 11:43:35s 0:16:25 - -Rule sol88 1988 only - Nov 3 11:43:35s 0:16:25 - -Rule sol88 1988 only - Nov 4 11:43:35s 0:16:25 - -Rule sol88 1988 only - Nov 5 11:43:40s 0:16:20 - -Rule sol88 1988 only - Nov 6 11:43:40s 0:16:20 - -Rule sol88 1988 only - Nov 7 11:43:45s 0:16:15 - -Rule sol88 1988 only - Nov 8 11:43:45s 0:16:15 - -Rule sol88 1988 only - Nov 9 11:43:50s 0:16:10 - -Rule sol88 1988 only - Nov 10 11:44:00s 0:16:00 - -Rule sol88 1988 only - Nov 11 11:44:05s 0:15:55 - -Rule sol88 1988 only - Nov 12 11:44:10s 0:15:50 - -Rule sol88 1988 only - Nov 13 11:44:20s 0:15:40 - -Rule sol88 1988 only - Nov 14 11:44:30s 0:15:30 - -Rule sol88 1988 only - Nov 15 11:44:40s 0:15:20 - -Rule sol88 1988 only - Nov 16 11:44:50s 0:15:10 - -Rule sol88 1988 only - Nov 17 11:45:00s 0:15:00 - -Rule sol88 1988 only - Nov 18 11:45:15s 0:14:45 - -Rule sol88 1988 only - Nov 19 11:45:25s 0:14:35 - -Rule sol88 1988 only - Nov 20 11:45:40s 0:14:20 - -Rule sol88 1988 only - Nov 21 11:45:55s 0:14:05 - -Rule sol88 1988 only - Nov 22 11:46:10s 0:13:50 - -Rule sol88 1988 only - Nov 23 11:46:30s 0:13:30 - -Rule sol88 1988 only - Nov 24 11:46:45s 0:13:15 - -Rule sol88 1988 only - Nov 25 11:47:05s 0:12:55 - -Rule sol88 1988 only - Nov 26 11:47:20s 0:12:40 - -Rule sol88 1988 only - Nov 27 11:47:40s 0:12:20 - -Rule sol88 1988 only - Nov 28 11:48:00s 0:12:00 - -Rule sol88 1988 only - Nov 29 11:48:25s 0:11:35 - -Rule sol88 1988 only - Nov 30 11:48:45s 0:11:15 - -Rule sol88 1988 only - Dec 1 11:49:05s 0:10:55 - -Rule sol88 1988 only - Dec 2 11:49:30s 0:10:30 - -Rule sol88 1988 only - Dec 3 11:49:55s 0:10:05 - -Rule sol88 1988 only - Dec 4 11:50:15s 0:09:45 - -Rule sol88 1988 only - Dec 5 11:50:40s 0:09:20 - -Rule sol88 1988 only - Dec 6 11:51:05s 0:08:55 - -Rule sol88 1988 only - Dec 7 11:51:35s 0:08:25 - -Rule sol88 1988 only - Dec 8 11:52:00s 0:08:00 - -Rule sol88 1988 only - Dec 9 11:52:25s 0:07:35 - -Rule sol88 1988 only - Dec 10 11:52:55s 0:07:05 - -Rule sol88 1988 only - Dec 11 11:53:20s 0:06:40 - -Rule sol88 1988 only - Dec 12 11:53:50s 0:06:10 - -Rule sol88 1988 only - Dec 13 11:54:15s 0:05:45 - -Rule sol88 1988 only - Dec 14 11:54:45s 0:05:15 - -Rule sol88 1988 only - Dec 15 11:55:15s 0:04:45 - -Rule sol88 1988 only - Dec 16 11:55:45s 0:04:15 - -Rule sol88 1988 only - Dec 17 11:56:15s 0:03:45 - -Rule sol88 1988 only - Dec 18 11:56:40s 0:03:20 - -Rule sol88 1988 only - Dec 19 11:57:10s 0:02:50 - -Rule sol88 1988 only - Dec 20 11:57:40s 0:02:20 - -Rule sol88 1988 only - Dec 21 11:58:10s 0:01:50 - -Rule sol88 1988 only - Dec 22 11:58:40s 0:01:20 - -Rule sol88 1988 only - Dec 23 11:59:10s 0:00:50 - -Rule sol88 1988 only - Dec 24 11:59:40s 0:00:20 - -Rule sol88 1988 only - Dec 25 12:00:10s -0:00:10 - -Rule sol88 1988 only - Dec 26 12:00:40s -0:00:40 - -Rule sol88 1988 only - Dec 27 12:01:10s -0:01:10 - -Rule sol88 1988 only - Dec 28 12:01:40s -0:01:40 - -Rule sol88 1988 only - Dec 29 12:02:10s -0:02:10 - -Rule sol88 1988 only - Dec 30 12:02:35s -0:02:35 - -Rule sol88 1988 only - Dec 31 12:03:05s -0:03:05 - - -# Riyadh is at about 46 degrees 46 minutes East: 3 hrs, 7 mins, 4 secs -# Before and after 1988, we'll operate on local mean solar time. - -# Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL] -Zone Mideast/Riyadh88 3:07:04 - ?? 1988 - 3:07:04 sol88 ?? 1989 - 3:07:04 - ?? diff --git a/share/zoneinfo/datfiles/solar89 b/share/zoneinfo/datfiles/solar89 deleted file mode 100644 index 4f25170..0000000 --- a/share/zoneinfo/datfiles/solar89 +++ /dev/null @@ -1,391 +0,0 @@ -# @(#)solar89 1.3 - -# Apparent noon times below are for Riyadh; they're a bit off for other places. -# Times were computed using a formula provided by the U. S. Naval Observatory: -# eqt = -105.8 * sin(l) + 596.2 * sin(2 * l) + 4.4 * sin(3 * l) -# -12.7 * sin(4 * l) - 429.0 * cos(l) - 2.1 * cos (2 * l) -# + 19.3 * cos(3 * l); -# where l is the "mean longitude of the Sun" given by -# l = 279.642 degrees + 0.985647 * d -# and d is the interval in days from January 0, 0 hours Universal Time -# (equaling the day of the year plus the fraction of a day from zero hours). -# The accuracy of the formula is plus or minus three seconds. -# -# Rounding to the nearest five seconds results in fewer than -# 256 different "time types"--a limit that's faced because time types are -# stored on disk as unsigned chars. - -# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule sol89 1989 only - Jan 1 12:03:35s -0:03:35 - -Rule sol89 1989 only - Jan 2 12:04:05s -0:04:05 - -Rule sol89 1989 only - Jan 3 12:04:30s -0:04:30 - -Rule sol89 1989 only - Jan 4 12:05:00s -0:05:00 - -Rule sol89 1989 only - Jan 5 12:05:25s -0:05:25 - -Rule sol89 1989 only - Jan 6 12:05:50s -0:05:50 - -Rule sol89 1989 only - Jan 7 12:06:15s -0:06:15 - -Rule sol89 1989 only - Jan 8 12:06:45s -0:06:45 - -Rule sol89 1989 only - Jan 9 12:07:10s -0:07:10 - -Rule sol89 1989 only - Jan 10 12:07:35s -0:07:35 - -Rule sol89 1989 only - Jan 11 12:07:55s -0:07:55 - -Rule sol89 1989 only - Jan 12 12:08:20s -0:08:20 - -Rule sol89 1989 only - Jan 13 12:08:45s -0:08:45 - -Rule sol89 1989 only - Jan 14 12:09:05s -0:09:05 - -Rule sol89 1989 only - Jan 15 12:09:25s -0:09:25 - -Rule sol89 1989 only - Jan 16 12:09:45s -0:09:45 - -Rule sol89 1989 only - Jan 17 12:10:05s -0:10:05 - -Rule sol89 1989 only - Jan 18 12:10:25s -0:10:25 - -Rule sol89 1989 only - Jan 19 12:10:45s -0:10:45 - -Rule sol89 1989 only - Jan 20 12:11:05s -0:11:05 - -Rule sol89 1989 only - Jan 21 12:11:20s -0:11:20 - -Rule sol89 1989 only - Jan 22 12:11:35s -0:11:35 - -Rule sol89 1989 only - Jan 23 12:11:55s -0:11:55 - -Rule sol89 1989 only - Jan 24 12:12:10s -0:12:10 - -Rule sol89 1989 only - Jan 25 12:12:20s -0:12:20 - -Rule sol89 1989 only - Jan 26 12:12:35s -0:12:35 - -Rule sol89 1989 only - Jan 27 12:12:50s -0:12:50 - -Rule sol89 1989 only - Jan 28 12:13:00s -0:13:00 - -Rule sol89 1989 only - Jan 29 12:13:10s -0:13:10 - -Rule sol89 1989 only - Jan 30 12:13:20s -0:13:20 - -Rule sol89 1989 only - Jan 31 12:13:30s -0:13:30 - -Rule sol89 1989 only - Feb 1 12:13:40s -0:13:40 - -Rule sol89 1989 only - Feb 2 12:13:45s -0:13:45 - -Rule sol89 1989 only - Feb 3 12:13:55s -0:13:55 - -Rule sol89 1989 only - Feb 4 12:14:00s -0:14:00 - -Rule sol89 1989 only - Feb 5 12:14:05s -0:14:05 - -Rule sol89 1989 only - Feb 6 12:14:10s -0:14:10 - -Rule sol89 1989 only - Feb 7 12:14:10s -0:14:10 - -Rule sol89 1989 only - Feb 8 12:14:15s -0:14:15 - -Rule sol89 1989 only - Feb 9 12:14:15s -0:14:15 - -Rule sol89 1989 only - Feb 10 12:14:20s -0:14:20 - -Rule sol89 1989 only - Feb 11 12:14:20s -0:14:20 - -Rule sol89 1989 only - Feb 12 12:14:20s -0:14:20 - -Rule sol89 1989 only - Feb 13 12:14:15s -0:14:15 - -Rule sol89 1989 only - Feb 14 12:14:15s -0:14:15 - -Rule sol89 1989 only - Feb 15 12:14:10s -0:14:10 - -Rule sol89 1989 only - Feb 16 12:14:10s -0:14:10 - -Rule sol89 1989 only - Feb 17 12:14:05s -0:14:05 - -Rule sol89 1989 only - Feb 18 12:14:00s -0:14:00 - -Rule sol89 1989 only - Feb 19 12:13:55s -0:13:55 - -Rule sol89 1989 only - Feb 20 12:13:50s -0:13:50 - -Rule sol89 1989 only - Feb 21 12:13:40s -0:13:40 - -Rule sol89 1989 only - Feb 22 12:13:35s -0:13:35 - -Rule sol89 1989 only - Feb 23 12:13:25s -0:13:25 - -Rule sol89 1989 only - Feb 24 12:13:15s -0:13:15 - -Rule sol89 1989 only - Feb 25 12:13:05s -0:13:05 - -Rule sol89 1989 only - Feb 26 12:12:55s -0:12:55 - -Rule sol89 1989 only - Feb 27 12:12:45s -0:12:45 - -Rule sol89 1989 only - Feb 28 12:12:35s -0:12:35 - -Rule sol89 1989 only - Mar 1 12:12:25s -0:12:25 - -Rule sol89 1989 only - Mar 2 12:12:10s -0:12:10 - -Rule sol89 1989 only - Mar 3 12:12:00s -0:12:00 - -Rule sol89 1989 only - Mar 4 12:11:45s -0:11:45 - -Rule sol89 1989 only - Mar 5 12:11:35s -0:11:35 - -Rule sol89 1989 only - Mar 6 12:11:20s -0:11:20 - -Rule sol89 1989 only - Mar 7 12:11:05s -0:11:05 - -Rule sol89 1989 only - Mar 8 12:10:50s -0:10:50 - -Rule sol89 1989 only - Mar 9 12:10:35s -0:10:35 - -Rule sol89 1989 only - Mar 10 12:10:20s -0:10:20 - -Rule sol89 1989 only - Mar 11 12:10:05s -0:10:05 - -Rule sol89 1989 only - Mar 12 12:09:50s -0:09:50 - -Rule sol89 1989 only - Mar 13 12:09:30s -0:09:30 - -Rule sol89 1989 only - Mar 14 12:09:15s -0:09:15 - -Rule sol89 1989 only - Mar 15 12:09:00s -0:09:00 - -Rule sol89 1989 only - Mar 16 12:08:40s -0:08:40 - -Rule sol89 1989 only - Mar 17 12:08:25s -0:08:25 - -Rule sol89 1989 only - Mar 18 12:08:05s -0:08:05 - -Rule sol89 1989 only - Mar 19 12:07:50s -0:07:50 - -Rule sol89 1989 only - Mar 20 12:07:30s -0:07:30 - -Rule sol89 1989 only - Mar 21 12:07:15s -0:07:15 - -Rule sol89 1989 only - Mar 22 12:06:55s -0:06:55 - -Rule sol89 1989 only - Mar 23 12:06:35s -0:06:35 - -Rule sol89 1989 only - Mar 24 12:06:20s -0:06:20 - -Rule sol89 1989 only - Mar 25 12:06:00s -0:06:00 - -Rule sol89 1989 only - Mar 26 12:05:40s -0:05:40 - -Rule sol89 1989 only - Mar 27 12:05:25s -0:05:25 - -Rule sol89 1989 only - Mar 28 12:05:05s -0:05:05 - -Rule sol89 1989 only - Mar 29 12:04:50s -0:04:50 - -Rule sol89 1989 only - Mar 30 12:04:30s -0:04:30 - -Rule sol89 1989 only - Mar 31 12:04:10s -0:04:10 - -Rule sol89 1989 only - Apr 1 12:03:55s -0:03:55 - -Rule sol89 1989 only - Apr 2 12:03:35s -0:03:35 - -Rule sol89 1989 only - Apr 3 12:03:20s -0:03:20 - -Rule sol89 1989 only - Apr 4 12:03:00s -0:03:00 - -Rule sol89 1989 only - Apr 5 12:02:45s -0:02:45 - -Rule sol89 1989 only - Apr 6 12:02:25s -0:02:25 - -Rule sol89 1989 only - Apr 7 12:02:10s -0:02:10 - -Rule sol89 1989 only - Apr 8 12:01:50s -0:01:50 - -Rule sol89 1989 only - Apr 9 12:01:35s -0:01:35 - -Rule sol89 1989 only - Apr 10 12:01:20s -0:01:20 - -Rule sol89 1989 only - Apr 11 12:01:05s -0:01:05 - -Rule sol89 1989 only - Apr 12 12:00:50s -0:00:50 - -Rule sol89 1989 only - Apr 13 12:00:35s -0:00:35 - -Rule sol89 1989 only - Apr 14 12:00:20s -0:00:20 - -Rule sol89 1989 only - Apr 15 12:00:05s -0:00:05 - -Rule sol89 1989 only - Apr 16 11:59:50s 0:00:10 - -Rule sol89 1989 only - Apr 17 11:59:35s 0:00:25 - -Rule sol89 1989 only - Apr 18 11:59:20s 0:00:40 - -Rule sol89 1989 only - Apr 19 11:59:10s 0:00:50 - -Rule sol89 1989 only - Apr 20 11:58:55s 0:01:05 - -Rule sol89 1989 only - Apr 21 11:58:45s 0:01:15 - -Rule sol89 1989 only - Apr 22 11:58:30s 0:01:30 - -Rule sol89 1989 only - Apr 23 11:58:20s 0:01:40 - -Rule sol89 1989 only - Apr 24 11:58:10s 0:01:50 - -Rule sol89 1989 only - Apr 25 11:58:00s 0:02:00 - -Rule sol89 1989 only - Apr 26 11:57:50s 0:02:10 - -Rule sol89 1989 only - Apr 27 11:57:40s 0:02:20 - -Rule sol89 1989 only - Apr 28 11:57:30s 0:02:30 - -Rule sol89 1989 only - Apr 29 11:57:20s 0:02:40 - -Rule sol89 1989 only - Apr 30 11:57:15s 0:02:45 - -Rule sol89 1989 only - May 1 11:57:05s 0:02:55 - -Rule sol89 1989 only - May 2 11:57:00s 0:03:00 - -Rule sol89 1989 only - May 3 11:56:50s 0:03:10 - -Rule sol89 1989 only - May 4 11:56:45s 0:03:15 - -Rule sol89 1989 only - May 5 11:56:40s 0:03:20 - -Rule sol89 1989 only - May 6 11:56:35s 0:03:25 - -Rule sol89 1989 only - May 7 11:56:30s 0:03:30 - -Rule sol89 1989 only - May 8 11:56:30s 0:03:30 - -Rule sol89 1989 only - May 9 11:56:25s 0:03:35 - -Rule sol89 1989 only - May 10 11:56:25s 0:03:35 - -Rule sol89 1989 only - May 11 11:56:20s 0:03:40 - -Rule sol89 1989 only - May 12 11:56:20s 0:03:40 - -Rule sol89 1989 only - May 13 11:56:20s 0:03:40 - -Rule sol89 1989 only - May 14 11:56:20s 0:03:40 - -Rule sol89 1989 only - May 15 11:56:20s 0:03:40 - -Rule sol89 1989 only - May 16 11:56:20s 0:03:40 - -Rule sol89 1989 only - May 17 11:56:20s 0:03:40 - -Rule sol89 1989 only - May 18 11:56:25s 0:03:35 - -Rule sol89 1989 only - May 19 11:56:25s 0:03:35 - -Rule sol89 1989 only - May 20 11:56:30s 0:03:30 - -Rule sol89 1989 only - May 21 11:56:35s 0:03:25 - -Rule sol89 1989 only - May 22 11:56:35s 0:03:25 - -Rule sol89 1989 only - May 23 11:56:40s 0:03:20 - -Rule sol89 1989 only - May 24 11:56:45s 0:03:15 - -Rule sol89 1989 only - May 25 11:56:55s 0:03:05 - -Rule sol89 1989 only - May 26 11:57:00s 0:03:00 - -Rule sol89 1989 only - May 27 11:57:05s 0:02:55 - -Rule sol89 1989 only - May 28 11:57:15s 0:02:45 - -Rule sol89 1989 only - May 29 11:57:20s 0:02:40 - -Rule sol89 1989 only - May 30 11:57:30s 0:02:30 - -Rule sol89 1989 only - May 31 11:57:35s 0:02:25 - -Rule sol89 1989 only - Jun 1 11:57:45s 0:02:15 - -Rule sol89 1989 only - Jun 2 11:57:55s 0:02:05 - -Rule sol89 1989 only - Jun 3 11:58:05s 0:01:55 - -Rule sol89 1989 only - Jun 4 11:58:15s 0:01:45 - -Rule sol89 1989 only - Jun 5 11:58:25s 0:01:35 - -Rule sol89 1989 only - Jun 6 11:58:35s 0:01:25 - -Rule sol89 1989 only - Jun 7 11:58:45s 0:01:15 - -Rule sol89 1989 only - Jun 8 11:59:00s 0:01:00 - -Rule sol89 1989 only - Jun 9 11:59:10s 0:00:50 - -Rule sol89 1989 only - Jun 10 11:59:20s 0:00:40 - -Rule sol89 1989 only - Jun 11 11:59:35s 0:00:25 - -Rule sol89 1989 only - Jun 12 11:59:45s 0:00:15 - -Rule sol89 1989 only - Jun 13 12:00:00s 0:00:00 - -Rule sol89 1989 only - Jun 14 12:00:10s -0:00:10 - -Rule sol89 1989 only - Jun 15 12:00:25s -0:00:25 - -Rule sol89 1989 only - Jun 16 12:00:35s -0:00:35 - -Rule sol89 1989 only - Jun 17 12:00:50s -0:00:50 - -Rule sol89 1989 only - Jun 18 12:01:05s -0:01:05 - -Rule sol89 1989 only - Jun 19 12:01:15s -0:01:15 - -Rule sol89 1989 only - Jun 20 12:01:30s -0:01:30 - -Rule sol89 1989 only - Jun 21 12:01:40s -0:01:40 - -Rule sol89 1989 only - Jun 22 12:01:55s -0:01:55 - -Rule sol89 1989 only - Jun 23 12:02:10s -0:02:10 - -Rule sol89 1989 only - Jun 24 12:02:20s -0:02:20 - -Rule sol89 1989 only - Jun 25 12:02:35s -0:02:35 - -Rule sol89 1989 only - Jun 26 12:02:45s -0:02:45 - -Rule sol89 1989 only - Jun 27 12:03:00s -0:03:00 - -Rule sol89 1989 only - Jun 28 12:03:10s -0:03:10 - -Rule sol89 1989 only - Jun 29 12:03:25s -0:03:25 - -Rule sol89 1989 only - Jun 30 12:03:35s -0:03:35 - -Rule sol89 1989 only - Jul 1 12:03:45s -0:03:45 - -Rule sol89 1989 only - Jul 2 12:04:00s -0:04:00 - -Rule sol89 1989 only - Jul 3 12:04:10s -0:04:10 - -Rule sol89 1989 only - Jul 4 12:04:20s -0:04:20 - -Rule sol89 1989 only - Jul 5 12:04:30s -0:04:30 - -Rule sol89 1989 only - Jul 6 12:04:40s -0:04:40 - -Rule sol89 1989 only - Jul 7 12:04:50s -0:04:50 - -Rule sol89 1989 only - Jul 8 12:05:00s -0:05:00 - -Rule sol89 1989 only - Jul 9 12:05:10s -0:05:10 - -Rule sol89 1989 only - Jul 10 12:05:20s -0:05:20 - -Rule sol89 1989 only - Jul 11 12:05:25s -0:05:25 - -Rule sol89 1989 only - Jul 12 12:05:35s -0:05:35 - -Rule sol89 1989 only - Jul 13 12:05:40s -0:05:40 - -Rule sol89 1989 only - Jul 14 12:05:50s -0:05:50 - -Rule sol89 1989 only - Jul 15 12:05:55s -0:05:55 - -Rule sol89 1989 only - Jul 16 12:06:00s -0:06:00 - -Rule sol89 1989 only - Jul 17 12:06:05s -0:06:05 - -Rule sol89 1989 only - Jul 18 12:06:10s -0:06:10 - -Rule sol89 1989 only - Jul 19 12:06:15s -0:06:15 - -Rule sol89 1989 only - Jul 20 12:06:20s -0:06:20 - -Rule sol89 1989 only - Jul 21 12:06:20s -0:06:20 - -Rule sol89 1989 only - Jul 22 12:06:25s -0:06:25 - -Rule sol89 1989 only - Jul 23 12:06:25s -0:06:25 - -Rule sol89 1989 only - Jul 24 12:06:30s -0:06:30 - -Rule sol89 1989 only - Jul 25 12:06:30s -0:06:30 - -Rule sol89 1989 only - Jul 26 12:06:30s -0:06:30 - -Rule sol89 1989 only - Jul 27 12:06:30s -0:06:30 - -Rule sol89 1989 only - Jul 28 12:06:30s -0:06:30 - -Rule sol89 1989 only - Jul 29 12:06:25s -0:06:25 - -Rule sol89 1989 only - Jul 30 12:06:25s -0:06:25 - -Rule sol89 1989 only - Jul 31 12:06:20s -0:06:20 - -Rule sol89 1989 only - Aug 1 12:06:20s -0:06:20 - -Rule sol89 1989 only - Aug 2 12:06:15s -0:06:15 - -Rule sol89 1989 only - Aug 3 12:06:10s -0:06:10 - -Rule sol89 1989 only - Aug 4 12:06:05s -0:06:05 - -Rule sol89 1989 only - Aug 5 12:06:00s -0:06:00 - -Rule sol89 1989 only - Aug 6 12:05:50s -0:05:50 - -Rule sol89 1989 only - Aug 7 12:05:45s -0:05:45 - -Rule sol89 1989 only - Aug 8 12:05:35s -0:05:35 - -Rule sol89 1989 only - Aug 9 12:05:30s -0:05:30 - -Rule sol89 1989 only - Aug 10 12:05:20s -0:05:20 - -Rule sol89 1989 only - Aug 11 12:05:10s -0:05:10 - -Rule sol89 1989 only - Aug 12 12:05:00s -0:05:00 - -Rule sol89 1989 only - Aug 13 12:04:50s -0:04:50 - -Rule sol89 1989 only - Aug 14 12:04:40s -0:04:40 - -Rule sol89 1989 only - Aug 15 12:04:30s -0:04:30 - -Rule sol89 1989 only - Aug 16 12:04:15s -0:04:15 - -Rule sol89 1989 only - Aug 17 12:04:05s -0:04:05 - -Rule sol89 1989 only - Aug 18 12:03:50s -0:03:50 - -Rule sol89 1989 only - Aug 19 12:03:35s -0:03:35 - -Rule sol89 1989 only - Aug 20 12:03:25s -0:03:25 - -Rule sol89 1989 only - Aug 21 12:03:10s -0:03:10 - -Rule sol89 1989 only - Aug 22 12:02:55s -0:02:55 - -Rule sol89 1989 only - Aug 23 12:02:40s -0:02:40 - -Rule sol89 1989 only - Aug 24 12:02:20s -0:02:20 - -Rule sol89 1989 only - Aug 25 12:02:05s -0:02:05 - -Rule sol89 1989 only - Aug 26 12:01:50s -0:01:50 - -Rule sol89 1989 only - Aug 27 12:01:30s -0:01:30 - -Rule sol89 1989 only - Aug 28 12:01:15s -0:01:15 - -Rule sol89 1989 only - Aug 29 12:00:55s -0:00:55 - -Rule sol89 1989 only - Aug 30 12:00:40s -0:00:40 - -Rule sol89 1989 only - Aug 31 12:00:20s -0:00:20 - -Rule sol89 1989 only - Sep 1 12:00:00s 0:00:00 - -Rule sol89 1989 only - Sep 2 11:59:45s 0:00:15 - -Rule sol89 1989 only - Sep 3 11:59:25s 0:00:35 - -Rule sol89 1989 only - Sep 4 11:59:05s 0:00:55 - -Rule sol89 1989 only - Sep 5 11:58:45s 0:01:15 - -Rule sol89 1989 only - Sep 6 11:58:25s 0:01:35 - -Rule sol89 1989 only - Sep 7 11:58:05s 0:01:55 - -Rule sol89 1989 only - Sep 8 11:57:45s 0:02:15 - -Rule sol89 1989 only - Sep 9 11:57:20s 0:02:40 - -Rule sol89 1989 only - Sep 10 11:57:00s 0:03:00 - -Rule sol89 1989 only - Sep 11 11:56:40s 0:03:20 - -Rule sol89 1989 only - Sep 12 11:56:20s 0:03:40 - -Rule sol89 1989 only - Sep 13 11:56:00s 0:04:00 - -Rule sol89 1989 only - Sep 14 11:55:35s 0:04:25 - -Rule sol89 1989 only - Sep 15 11:55:15s 0:04:45 - -Rule sol89 1989 only - Sep 16 11:54:55s 0:05:05 - -Rule sol89 1989 only - Sep 17 11:54:35s 0:05:25 - -Rule sol89 1989 only - Sep 18 11:54:10s 0:05:50 - -Rule sol89 1989 only - Sep 19 11:53:50s 0:06:10 - -Rule sol89 1989 only - Sep 20 11:53:30s 0:06:30 - -Rule sol89 1989 only - Sep 21 11:53:10s 0:06:50 - -Rule sol89 1989 only - Sep 22 11:52:45s 0:07:15 - -Rule sol89 1989 only - Sep 23 11:52:25s 0:07:35 - -Rule sol89 1989 only - Sep 24 11:52:05s 0:07:55 - -Rule sol89 1989 only - Sep 25 11:51:45s 0:08:15 - -Rule sol89 1989 only - Sep 26 11:51:25s 0:08:35 - -Rule sol89 1989 only - Sep 27 11:51:05s 0:08:55 - -Rule sol89 1989 only - Sep 28 11:50:40s 0:09:20 - -Rule sol89 1989 only - Sep 29 11:50:20s 0:09:40 - -Rule sol89 1989 only - Sep 30 11:50:00s 0:10:00 - -Rule sol89 1989 only - Oct 1 11:49:45s 0:10:15 - -Rule sol89 1989 only - Oct 2 11:49:25s 0:10:35 - -Rule sol89 1989 only - Oct 3 11:49:05s 0:10:55 - -Rule sol89 1989 only - Oct 4 11:48:45s 0:11:15 - -Rule sol89 1989 only - Oct 5 11:48:30s 0:11:30 - -Rule sol89 1989 only - Oct 6 11:48:10s 0:11:50 - -Rule sol89 1989 only - Oct 7 11:47:50s 0:12:10 - -Rule sol89 1989 only - Oct 8 11:47:35s 0:12:25 - -Rule sol89 1989 only - Oct 9 11:47:20s 0:12:40 - -Rule sol89 1989 only - Oct 10 11:47:00s 0:13:00 - -Rule sol89 1989 only - Oct 11 11:46:45s 0:13:15 - -Rule sol89 1989 only - Oct 12 11:46:30s 0:13:30 - -Rule sol89 1989 only - Oct 13 11:46:15s 0:13:45 - -Rule sol89 1989 only - Oct 14 11:46:00s 0:14:00 - -Rule sol89 1989 only - Oct 15 11:45:50s 0:14:10 - -Rule sol89 1989 only - Oct 16 11:45:35s 0:14:25 - -Rule sol89 1989 only - Oct 17 11:45:20s 0:14:40 - -Rule sol89 1989 only - Oct 18 11:45:10s 0:14:50 - -Rule sol89 1989 only - Oct 19 11:45:00s 0:15:00 - -Rule sol89 1989 only - Oct 20 11:44:50s 0:15:10 - -Rule sol89 1989 only - Oct 21 11:44:40s 0:15:20 - -Rule sol89 1989 only - Oct 22 11:44:30s 0:15:30 - -Rule sol89 1989 only - Oct 23 11:44:20s 0:15:40 - -Rule sol89 1989 only - Oct 24 11:44:10s 0:15:50 - -Rule sol89 1989 only - Oct 25 11:44:05s 0:15:55 - -Rule sol89 1989 only - Oct 26 11:44:00s 0:16:00 - -Rule sol89 1989 only - Oct 27 11:43:50s 0:16:10 - -Rule sol89 1989 only - Oct 28 11:43:45s 0:16:15 - -Rule sol89 1989 only - Oct 29 11:43:40s 0:16:20 - -Rule sol89 1989 only - Oct 30 11:43:40s 0:16:20 - -Rule sol89 1989 only - Oct 31 11:43:35s 0:16:25 - -Rule sol89 1989 only - Nov 1 11:43:35s 0:16:25 - -Rule sol89 1989 only - Nov 2 11:43:35s 0:16:25 - -Rule sol89 1989 only - Nov 3 11:43:30s 0:16:30 - -Rule sol89 1989 only - Nov 4 11:43:35s 0:16:25 - -Rule sol89 1989 only - Nov 5 11:43:35s 0:16:25 - -Rule sol89 1989 only - Nov 6 11:43:35s 0:16:25 - -Rule sol89 1989 only - Nov 7 11:43:40s 0:16:20 - -Rule sol89 1989 only - Nov 8 11:43:45s 0:16:15 - -Rule sol89 1989 only - Nov 9 11:43:50s 0:16:10 - -Rule sol89 1989 only - Nov 10 11:43:55s 0:16:05 - -Rule sol89 1989 only - Nov 11 11:44:00s 0:16:00 - -Rule sol89 1989 only - Nov 12 11:44:05s 0:15:55 - -Rule sol89 1989 only - Nov 13 11:44:15s 0:15:45 - -Rule sol89 1989 only - Nov 14 11:44:25s 0:15:35 - -Rule sol89 1989 only - Nov 15 11:44:35s 0:15:25 - -Rule sol89 1989 only - Nov 16 11:44:45s 0:15:15 - -Rule sol89 1989 only - Nov 17 11:44:55s 0:15:05 - -Rule sol89 1989 only - Nov 18 11:45:10s 0:14:50 - -Rule sol89 1989 only - Nov 19 11:45:20s 0:14:40 - -Rule sol89 1989 only - Nov 20 11:45:35s 0:14:25 - -Rule sol89 1989 only - Nov 21 11:45:50s 0:14:10 - -Rule sol89 1989 only - Nov 22 11:46:05s 0:13:55 - -Rule sol89 1989 only - Nov 23 11:46:25s 0:13:35 - -Rule sol89 1989 only - Nov 24 11:46:40s 0:13:20 - -Rule sol89 1989 only - Nov 25 11:47:00s 0:13:00 - -Rule sol89 1989 only - Nov 26 11:47:20s 0:12:40 - -Rule sol89 1989 only - Nov 27 11:47:35s 0:12:25 - -Rule sol89 1989 only - Nov 28 11:47:55s 0:12:05 - -Rule sol89 1989 only - Nov 29 11:48:20s 0:11:40 - -Rule sol89 1989 only - Nov 30 11:48:40s 0:11:20 - -Rule sol89 1989 only - Dec 1 11:49:00s 0:11:00 - -Rule sol89 1989 only - Dec 2 11:49:25s 0:10:35 - -Rule sol89 1989 only - Dec 3 11:49:50s 0:10:10 - -Rule sol89 1989 only - Dec 4 11:50:15s 0:09:45 - -Rule sol89 1989 only - Dec 5 11:50:35s 0:09:25 - -Rule sol89 1989 only - Dec 6 11:51:00s 0:09:00 - -Rule sol89 1989 only - Dec 7 11:51:30s 0:08:30 - -Rule sol89 1989 only - Dec 8 11:51:55s 0:08:05 - -Rule sol89 1989 only - Dec 9 11:52:20s 0:07:40 - -Rule sol89 1989 only - Dec 10 11:52:50s 0:07:10 - -Rule sol89 1989 only - Dec 11 11:53:15s 0:06:45 - -Rule sol89 1989 only - Dec 12 11:53:45s 0:06:15 - -Rule sol89 1989 only - Dec 13 11:54:10s 0:05:50 - -Rule sol89 1989 only - Dec 14 11:54:40s 0:05:20 - -Rule sol89 1989 only - Dec 15 11:55:10s 0:04:50 - -Rule sol89 1989 only - Dec 16 11:55:40s 0:04:20 - -Rule sol89 1989 only - Dec 17 11:56:05s 0:03:55 - -Rule sol89 1989 only - Dec 18 11:56:35s 0:03:25 - -Rule sol89 1989 only - Dec 19 11:57:05s 0:02:55 - -Rule sol89 1989 only - Dec 20 11:57:35s 0:02:25 - -Rule sol89 1989 only - Dec 21 11:58:05s 0:01:55 - -Rule sol89 1989 only - Dec 22 11:58:35s 0:01:25 - -Rule sol89 1989 only - Dec 23 11:59:05s 0:00:55 - -Rule sol89 1989 only - Dec 24 11:59:35s 0:00:25 - -Rule sol89 1989 only - Dec 25 12:00:05s -0:00:05 - -Rule sol89 1989 only - Dec 26 12:00:35s -0:00:35 - -Rule sol89 1989 only - Dec 27 12:01:05s -0:01:05 - -Rule sol89 1989 only - Dec 28 12:01:35s -0:01:35 - -Rule sol89 1989 only - Dec 29 12:02:00s -0:02:00 - -Rule sol89 1989 only - Dec 30 12:02:30s -0:02:30 - -Rule sol89 1989 only - Dec 31 12:03:00s -0:03:00 - - -# Riyadh is at about 46 degrees 46 minutes East: 3 hrs, 7 mins, 4 secs -# Before and after 1989, we'll operate on local mean solar time. - -# Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL] -Zone Mideast/Riyadh89 3:07:04 - ?? 1989 - 3:07:04 sol89 ?? 1990 - 3:07:04 - ?? diff --git a/share/zoneinfo/datfiles/southamerica b/share/zoneinfo/datfiles/southamerica deleted file mode 100644 index abab105..0000000 --- a/share/zoneinfo/datfiles/southamerica +++ /dev/null @@ -1,103 +0,0 @@ -# @(#)southamerica 4.3 - -# From Guy Harris: -# From Official Airline Guide - Worldwide Edition (1987). Countries not -# listed here do not observe DST, according to the OAG. Time zone names -# are pure inventions, and none are supplied for countries not observing -# DST; updates from natives would be appreciated. The times that DST -# starts and ends are based on the assumption that they switch a 2AM just -# as everybody else does. - -############################################################################### - -# Brazil - -# From Guy Harris: -# The OAG lists October 25, 1987 and February 12, 1988 as the starting and -# ending dates, giving them as "estimated date(s) based on previous year". We -# infer a rule here from one example, always a dangerous practice.... Yes, -# they really do switch on Saturday, according to the OAG. -# "Brazil/Acre" is for the Territory of Acre; "Brazil/DeNoronha" is for -# Fernando De Noronha. - -# From Bob Devine (January 28, 1988): -# The only information I found is that there was no DST up to 1985. -# But there was some before 1952! - -# From U. S. Naval Observatory (January 16, 1989): -# BRAZIL WEST 5 H BEHIND UTC TERRITORY OF ACRE -# BRAZIL WEST 4 H BEHIND UTC ACRE OCT 23, '88-FEB 11, -# BRAZIL '89 (ESTIMATED) -# BRAZIL CENTRAL 4 H BEHIND UTC MANAUS -# BRAZIL CENTRAL 3 H BEHIND UTC MANAUS OCT 23, '88-FEB 11, -# BRAZIL CENTRAL '89 (ESTIMATED) -# BRAZIL EAST 3 H BEHIND UTC COASTAL STATES, RIO, SAO -# BRAZIL EAST PAULO, BRASILIA -# BRAZIL EAST 2 H BEHIND UTC COASTAL STATES, RIO, SAO -# BRAZIL PAULO, BRASILIA OCT 23, -# BRAZIL '88-FEB 11, '89 -# BRAZIL (ESTIMATED) -# BRAZIL 2 H BEHIND UTC ATLANTIC ISLANDS, FERNANDO -# BRAZIL DE NORONHA -# BRAZIL 1 H BEHIND UTC OCT 23, '88-FEB 11, '89 -# BRAZIL (ESTIMATED) -# BRAZIL 3 H BEHIND UTC FOR MOST MAJOR AIRPORTS. - -# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule Brazil 1987 max - Feb Sat<=14 2:00 0 S -Rule Brazil 1987 max - Oct Sat<=28 2:00 1:00 D - -# Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL] -Zone Brazil/East -3:00 Brazil E%sT -Zone Brazil/West -4:00 Brazil W%sT -Zone Brazil/Acre -5:00 Brazil A%sT -Zone Brazil/DeNoronha -2:00 Brazil F%sT - -############################################################################### - -# Chile - -# From Guy Harris: -# The OAG lists October 11, 1987 and March 12, 1988 as the starting and -# ending dates, giving them as "estimated date(s) based on previous year." - -# From Bob Devine (January 28, 1988): -# Chile has had 2nd Sunday in October to 2nd Sunday in March DST since 1977. -# Switch is at midnight. OAG is right. - -# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule Chile 1977 max - Oct Sun>=8 0:00 1:00 D -Rule Chile 1978 max - Mar Sun>=8 0:00 0 S - -# Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL] -Zone Chile/Continental -4:00 Chile C%sT -Zone Chile/EasterIsland -6:00 Chile E%sT - -############################################################################### - -# Paraguay - -# From Bob Devine (January 28, 1988): -# Paraguay: First day in October to last in March. Midnight switch?? -# Since 1980. - -# From U. S. Naval Observatory (January 19, 1989): -# PARAGUAY 4 H BEHIND UTC -# PARAGUAY 3 H BEHIND UTC OCT 1, '88-MAR 31, '89 - -# From Arthur David Olson (January 21, 1989): -# Still don't know time of day when switch occurs. Punt. - -############################################################################### - -# Argentina - -# From Bob Devine (January 28, 1988): -# Argentina: first Sunday in October to first Sunday in April since 1976. -# Double Summer time from 1969 to 1974. Switches at midnight. - -# From U. S. Naval Observatory (January 19, 19889): -# ARGENTINA 3 H BEHIND UTC - -# From Arthur David Olson (January 21, 1989): -# OAG, USNO and Bob have different data. Punt. diff --git a/share/zoneinfo/datfiles/systemv b/share/zoneinfo/datfiles/systemv deleted file mode 100644 index 8dc7bed..0000000 --- a/share/zoneinfo/datfiles/systemv +++ /dev/null @@ -1,35 +0,0 @@ -# @(#)systemv 4.1 - -# Old rules, should the need arise. -# No attempt is made to handle Newfoundland, since it cannot be expressed -# using the System V "TZ" scheme (half-hour offset), or anything outside -# North America (no support for non-standard DST start/end dates), nor -# the change in the DST rules in the US in 1987 (can't split between -# Canada, with no changes, and the US) -# -# Be sure to compile this *without* leap second correction for true conformance. - -# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule SystemV min 1973 - Apr lastSun 2:00 1:00 D -Rule SystemV min 1973 - Oct lastSun 2:00 0 S -Rule SystemV 1974 only - Jan 6 2:00 1:00 D -Rule SystemV 1974 only - Nov lastSun 2:00 0 S -Rule SystemV 1975 only - Feb 23 2:00 1:00 D -Rule SystemV 1975 only - Oct lastSun 2:00 0 S -Rule SystemV 1976 max - Apr lastSun 2:00 1:00 D -Rule SystemV 1976 max - Oct lastSun 2:00 0 S - -# Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL] -Zone SystemV/AST4ADT -4:00 SystemV A%sT -Zone SystemV/EST5EDT -5:00 SystemV E%sT -Zone SystemV/CST6CDT -6:00 SystemV C%sT -Zone SystemV/MST7MDT -7:00 SystemV M%sT -Zone SystemV/PST8PDT -8:00 SystemV P%sT -Zone SystemV/YST9YDT -9:00 SystemV Y%sT -Zone SystemV/AST4 -4:00 - AST -Zone SystemV/EST5 -5:00 - EST -Zone SystemV/CST6 -6:00 - CST -Zone SystemV/MST7 -7:00 - MST -Zone SystemV/PST8 -8:00 - PST -Zone SystemV/YST9 -9:00 - YST -Zone SystemV/HST10 -10:00 - HST diff --git a/share/zoneinfo/datfiles/usno1988 b/share/zoneinfo/datfiles/usno1988 deleted file mode 100644 index 12d14ce..0000000 --- a/share/zoneinfo/datfiles/usno1988 +++ /dev/null @@ -1,111 +0,0 @@ -# @(#)usno1988 1.1 -# -# From Arthur David Olson (January 19, 1989): -# -# Here's some United States Naval Observatory time zone data from -# February 1988. It's here mostly to convince you that the USNO has indeed -# been updating its files (see its 1989 data elsewhere). -# -ANDORRA 1 H AHEAD OF UTC -ARGENTINA 3 H BEHIND UTC -BRASIL WEST 5 H BEHIND UTC (CRUZEIRO DO SUL) -BRASIL CENTRAL 4 H BEHIND UTC (MANAUS) -BRASIL EAST 3 H BEHIND UTC COASTAL STATES, RIO, SP, BRASILIA -BRASIL 2 H BEHIND UTC ATLANTIC ISLANDS -BRAZIL 5 H BEHIND UTC WEST (CRUZEIRO DO SUL) -BRAZIL 4 H BEHIND UTC CENTRAL (MANAUS) -BRAZIL 3 H BEHIND UTC COASTAL STATES, RIO, SP, BRASILIA -BRAZIL 3 H BEHIND UTC FOR MOST MAJOR AIRPORTS. -BRAZIL 2 H BEHIND UTC ATLANTIC ISLANDS -BULGARIA 2 H AHEAD OF UTC WINTER -BULGARIA 3 H AHEAD OF UTC SUMMER MAR31 - SEP 85, 0100 LOCAL -CHINA 8 H AHEAD OF UTC; ALL OF CHINA, INCL TAIWAN -CUBA 5 H BEHIND UTC IN WINTER -CUBA 4 H BEHIND UTC MAY 8 - OCT 8 -CYPRUS 2 H AHEAD UTC IN WINTER -CYPRUS 3 H AHEAD UTC MAR 25 - SEP 30 -DENMARK 1 H AHEAD UTC IN WINTER -DENMARK 2 H AHEAD UTC MAR 31 - SEP 30 , 0200 LOCAL -DENMK. FAEROE IS 1 H AHEAD UTC MAR 31 - SEP 30 , 0200 LOCAL -EGYPT 2 H AHEAD UTC -EGYPT 3 H AHEAD UTC SUMMER (AFTER RAMADAN) -ENGLAND ON UTC IN WINTER; WALES, SCOTLAND, N.I., CH.IS. -ENGLAND 1 H AHEAD OF UTC; SUMMER TIL 28 OCT 0200 LOCAL -FINLAND 2 H AHEAD OF UTC IN WINTER -FINLAND 3 H AHEAD OF UTC MAR 25 - SEP 30 -FRANCE 1 H AHEAD OF UTC IN WINTER -FRANCE 2 H AHEAD OF UTC MAR 31 - SEP 30 , 0100 LOCAL -GREECE 2 H AHEAD OF UTC IN WINTER -GREECE 3 H AHEAD OF UTC IN SUMMER EFF. 31MAR85 02/03 LOCAL -GREECE 3 H AHEAD OF UTC MAR 25 - SEP 30 -GREENLAND 4 H BEHIND UTC IN THULE AIRBASE YEAR ROUND -GREENLAND 3 H BEHIND UTC IN WINTER AT SONDRESTROM -GREENLAND 2 H BEHIND UTC 30 MAR - 30 SEP 2200 LOCAL AT -"- -GREENLAND 2 H BEHIND UTC AROUND SCORESBY SUND -ICELAND ON UTC -IRAN 3.5H AHEAD OF UTC -IRELAND ON UTC IN WINTER -IRELAND 1 H AHEAD OF UTC MAR 31 - OCT 23 0200 LOCAL -ITALY 1 H AHEAD OF UTC IN WINTER -ITALY 2 H AHEAD OF UTC MAR 31 - SEP 30, 0030 LOCAL -JAMAICA 5 H BEHIND UTC IN WINTER -JAMAICA 4 H BEHIND UTC APR 29 - OCT 29 -LIBYA 2 H AHEAD OF UTC -MEXICO BAJA CAL N 8 H BEHIND UTC IN WINTER; NORTH BAJA CAL, TIJUANA -MEXICO BAJA CAL N 7 H BEHIND UTC APR 29 - OCT 29 -MEXICO BAJA CAL S 7 H BEHIND UTC ALL YEAR; MAZATLAN -MEXICO CENTRAL 6 H BEHIND UTC ALL YEAR; MEXICO CITY -MONACO 1 H AHEAD UTC IN WINTER -MONACO 2 H AHEAD UTC MAR 25 - SEP30 -PARAGUAY 4 H BEHIND UTC IN WINTER -PARAGUAY 3 H BEHIND UTC SEP 30 - MAR 30 -POLAND 1 H AHEAD OF UTC IN WINTER -POLAND 2 H AHEAD OF UTC MAR 24 - SEP 0200 LOCAL -PORTUGAL ON UTC IN WINTER -PORTUGAL 1 H AHEAD OF UTC IN SUMMER MAR 31 - SEP 29 0100 LOCAL -PORTUGAL AZORES 1 H BEHIND UTC IN WINTER -PORTUGAL AZORES ON UTC IN SUMMER MAR 31 - SEP 29 -PORTUGAL MADEIRA ON UTC ALL YEAR; -ROMANIA 2 H AHEAD OF UTC IN WINTER -ROMANIA 3 H AHEAD OF UTC APR 3 - SEP 24 -SCOTLAND SEE ENGLAND -SWITZERLAND 1 H AHEAD OF UTC IN WINTER -SWITZERLAND 2 H AHEAD OF UTC MAR 31 - SEP 30 0200 LOCAL -TURKEY 3 H AHEAD OF UTC -USA EASTERN 5 H BEHIND UTC IN WINTER; NEW YORK, WASHINGTON -USA EASTERN 4 H BEHIND UTC APR 29 - OCT 29 -USA CENTRAL 6 H BEHIND UTC IN WINTER; CHICAGO, HOUSTON -USA CENTRAL 5 H BEHIND UTC APR 29 - OCT 29 -USA MOUNTAIN 7 H BEHIND UTC IN WINTER; DENVER -USA MOUNTAIN 6 H BEHIND UTC APR 29 - OCT 29 -USA PACIFIC 8 H BEHIND UTC IN WINTER; L.A., SAN FRANCISCO -USA PACIFIC 7 H BEHIND UTC APR 29 - OCT 29 -USA ALASKA STD 9 H BEHIND UTC IN WINTER; MOST OF ALASKA (AKST) -USA ALASKA STD 8 H BEHIND UTC APR 29 - OCT 29 (AKDT) -USA ALEUTIAN 10 H BEHIND UTC IN WINTER; ISLANDS WEST OF 170W -USA - " - 9 H BEHIND UTC APR 29 - OCT 29 -USA HAWAII 10 H BEHIND UTC ALL YEAR; -USA BERING 11 H BEHIND UTC ALL YEAR; SAMOA, MIDWAY -USSR WEST EUROP 3 H AHEAD OF UTC IN WINTER; LENINGRAD, MOSCOW -USSR WEST EUROP 4 H AHEAD OF UTC APR 1 - SEP 30 -USSR CENTRAL EUR 4 H AHEAD OF UTC IN WINTER; ROSTOV, BAKU -USSR CENTRAL EUR 5 H AHEAD OF UTC APR 1 - SEP 30 -USSR EAST EUROP 5 H AHEAD OF UTC IN WINTER; SVERDLOVSK -USSR EAST EUROP 6 H AHEAD OF UTC APR 1 - SEP 30 -USSR WEST SIBERIAN 6 H AHEAD OF UTC IN WINTER; TASHKENT, ALMA ATA -USSR WEST SIBERIAN 7 H AHEAD OF UTC APR 1 - SEP 30 -USSR WEST-CENTRAL 7 H AHEAD OF UTC IN WINTER; NOVOSIBIRSK -USSR WEST-CENTRAL 8 H AHEAD OF UTC APR 1 - SEP 30 -USSR WEST-CENTRAL 8 H AHEAD OF UTC IN WINTER; IRKUTSK -USSR WEST-CENTRAL 9 H AHEAD OF UTC APR 1 - SEP 30 -USSR CENTRAL SIB 9 H AHEAD OF UTC IN WINTER; YAKUTSK -USSR CENTRAL SIB 10 H AHEAD OF UTC APR 1 - SEP 30 -USSR CENTRAL SIB 10 H AHEAD OF UTC IN WINTER; VLADIVOSTOK -USSR CENTRAL SIB 11 H AHEAD OF UTC APR 1 - SEP 30 -USSR EAST SIBERIA 11 H AHEAD OF UTC IN WINTER; MAGADAN -USSR EAST SIBERIA 12 H AHEAD OF UTC APR 1 - SEP 30 -USSR EAST SIBERIA 12 H AHEAD OF UTC IN WINTER; PETROPAVLOVSK -USSR EAST SIBERIA 13 H AHEAD OF UTC APR 1 - SEP 30 -USSR EAST SIBERIA 13 H AHEAD OF UTC IN WINTER; UELEN -USSR EAST SIBERIA 14 H AHEAD OF UTC APR 1 - SEP 30 -WALES SEE ENGLAND diff --git a/share/zoneinfo/datfiles/usno1989 b/share/zoneinfo/datfiles/usno1989 deleted file mode 100644 index 82cc386..0000000 --- a/share/zoneinfo/datfiles/usno1989 +++ /dev/null @@ -1,452 +0,0 @@ -# @(#)usno1989 1.3 -# -# From Arthur David Olson (January 19, 1989): -# -# Here's time zone information from the United States Naval Observatory; -# no corrections have been made, and there are some obvious challenges. -# The USNO warns: -# DUE TO FREQUENT CHANGES IN THE LOCAL LAWS GOVERNING DAYLIGHT -# SAVING TIME, WE CANNOT GUARANTEE THE ACCURACY OF THIS -# INFORMATION. PLEASE ALERT US TO ANY DISCREPANCY YOU MAY -# DISCOVER. -# -AFGHANISTAN 4.5H AHEAD OF UTC -ALBANIA 1 H AHEAD OF UTC -ALBANIA 2 H AHEAD OF UTC MAR 27 - SEP 24 -ALBANIA (ESTIMATED) -ALGERIA 1 H AHEAD OF UTC -AMERICAN SAMOA 11 H BEHIND UTC -ANDORRA 1 H AHEAD OF UTC -ANDORRA 2 H AHEAD OF UTC MAR 27 - SEP 24 -ANDORRA (ESTIMATED) -ANGOLA 1 H AHEAD OF UTC -ARGENTINA 3 H BEHIND UTC -ARUBA 4 H BEHIND UTC ALSO BONAIRE, CURACAO, -ARUBA ST.MAARTEN -AUSTRALIA WEST 8 H AHEAD OF UTC PERTH, EXMOUTH -AUSTRALIA N.T. 9.5H AHEAD OF UTC DARWIN NO ADVANCED TIME -AUSTRALIA N.T. IN SUMMER -AUSTRALIA SOUTH 9.5H AHEAD OF UTC ADELAIDE -AUSTRALIA INCLUDING BROKEN HILL, NSW -AUSTRALIA SOUTH 10.5H AHEAD OF UTC ADELAIDE OCT 30, '88-MAR -AUSTRALIA SOUTH 18, '89 INCLUDING BROKEN -AUSTRIALIA SOUTH HILL, NSW -AUSTRALIA QUEENL 10 H AHEAD OF UTC -AUSTRALIA NSW 10 H AHEAD OF UTC SYDNEY -AUSTRALIA NSW 11 H AHEAD OF UTC SYDNEY OCT 30, '88-MAR 18, -AUSTRALIA NSW '89 -AUSTRALIA TASM. 10 H AHEAD OF UTC HOBART -AUSTRALIA TASM. 11 H AHEAD OF UTC HOBART OCT 30, '88-MAR 18, -AUSTRALIA TASM. '89 -AUSTRIA 1 H AHEAD OF UTC -AUSTRIA 2 H AHEAD OF UTC MAR 27 - SEPT 24 -AZORES SEE PORTUGAL -BAHAMAS 5 H BEHIND UTC EXCLUDING TURKS AND CAICOS -BAHAMAS ISLANDS) -BAHAMAS 4 H BEHIND UTC APR 3 - OCT 29 (SAME -BAHAMAS EXCLUSION) -BAHRAIN 3 H AHEAD OF UTC -BANGLADESH 6 H AHEAD OF UTC -BARBADOS 4 H BEHIND UTC -BELGIUM 1 H AHEAD OF UTC -BELGIUM 2 H AHEAD OF UTC MAR 27 - SEP 24 -BELIZE 6 H BEHIND UTC -BENIN PEOPLES REP 1 H AHEAD OF UTC DAHOMEY -BERMUDA 4 H BEHIND UTC -BERMUDA 3 H BEHIND UTC APR 3 - OCT 29 -BHUTAN 6 H AHEAD OF UTC -BOLIVIA 4 H BEHIND UTC -BONAIRE 4 H BEHIND UTC ALSO ARUBA,CURACAO, -BONAIRE ST.MAARTEN, SABA -BOTSWANA 2 H AHEAD OF UTC -BRAZIL WEST 5 H BEHIND UTC TERRITORY OF ACRE -BRAZIL WEST 4 H BEHIND UTC ACRE OCT 23, '88-FEB 11, -BRAZIL '89 (ESTIMATED) -BRAZIL CENTRAL 4 H BEHIND UTC MANAUS -BRAZIL CENTRAL 3 H BEHIND UTC MANAUS OCT 23, '88-FEB 11, -BRAZIL CENTRAL '89 (ESTIMATED) -BRAZIL EAST 3 H BEHIND UTC COASTAL STATES, RIO, SAO -BRAZIL EAST PAULO, BRASILIA -BRAZIL EAST 2 H BEHIND UTC COASTAL STATES, RIO, SAO -BRAZIL PAULO, BRASILIA OCT 23, -BRAZIL '88-FEB 11, '89 -BRAZIL (ESTIMATED) -BRAZIL 2 H BEHIND UTC ATLANTIC ISLANDS, FERNANDO -BRAZIL DE NORONHA -BRAZIL 1 H BEHIND UTC OCT 23, '88-FEB 11, '89 -BRAZIL (ESTIMATED) -BRAZIL 3 H BEHIND UTC FOR MOST MAJOR AIRPORTS. -BRITISH VIRGIN I. 4 H BEHIND UTC -BRUNEI 8 H AHEAD OF UTC -BULGARIA 2 H AHEAD OF UTC -BULGARIA 3 H AHEAD OF UTC MAR 27 - SEP 24 -BURKINA FASO ON UTC -BURMA 6.5H AHEAD OF UTC -BURUNDI 2 H AHEAD OF UTC -CAMBODIA SEE KAMPUCHEA -CAMEROON 1 H AHEAD OF UTC -CANADA NEW FDL 3.5H BEHIND UTC ST.JOHN'S -CANADA NEW FDL 1.5H BEHIND UTC APR 3 - OCT 29 -CANADA ATLANTIC 4 H BEHIND UTC HALIFAX -CANADA ATLANTIC 3 H BEHIND UTC APR 3 - OCT 29 -CANADA EASTERN 5 H BEHIND UTC TORONTO, MONTREAL, OTTAWA -CANADA EASTERN 4 H BEHIND UTC APR 3 - OCT 29 -CANADA CENTRAL 6 H BEHIND UTC REGINA, WINNIPEG -CANADA CENTRAL 5 H BEHIND UTC APR 3 - OCT 29 -CANADA MOUNTAIN 7 H BEHIND UTC CALGARY, EDMONTON -CANADA MOUNTAIN 6 H BEHIND UTC APR 3 - OCT 29 -CANADA PACIFIC 8 H BEHIND UTC VANCOUVER -CANADA PACIFIC 7 H BEHIND UTC APR 3 - OCT 29 -CANADA YUKON SAME AS PACIFIC DAWSON -CAPE VERDE 1 H BEHIND UTC -CAYMAN ISLANDS 5 H BEHIND UTC -CAROLINE ISLAND 10 H AHEAD OF UTC EXCLUDING PONAPE IS., -CAROLINE ISLAND KUSAIE, AND PINGELAP -CENTRAL AFRICA 1 H AHEAD OF UTC -CEYLON 5.5H AHEAD OF UTC, SEE SRI LANKA -CHAD 1 H AHEAD OF UTC -CHANNEL ISLANDS SEE ENGLAND -CHILE 4 H BEHIND UTC CONTINENTAL -CHILE 3 H BEHIND UTC OCT 9, '88-MAR 11, '89 -CHILE 6 H BEHIND UTC EASTER ISLAND -CHILE 5 H BEHIND UTC OCT 9, '88-MAR 11, '89 -CHINA 8 H AHEAD OF UTC ALL OF CHINA, INCL TAIWAN -CHINA 9 H AHEAD OF UTC APR 17 - SEP 10 -COCOS (Keeling) I. 6.5H AHEAD OF UTC -COLOMBIA 5 H BEHIND UTC -COMOROS 3 H AHEAD OF UTC -CONGO 1 H AHEAD OF UTC -COOK ISLANDS 10 H BEHIND UTC -COOK ISLANDS 9.5H BEHIND UTC OCT 30, '88-MAR 24, '89 -COOK ISLANDS (ESTIMATED) -COSTA RICA 6 H BEHIND UTC -COTE D'IVOIRE ON UTC -CUBA 5 H BEHIND UTC -CUBA 4 H BEHIND UTC MAR 20 - OCT 8 -CURACAO 4 H BEHIND UTC ALSO BONAIRE, ARUBA, -CURACAO ST.MAARTEN -CYPRUS 2 H AHEAD OF UTC -CYPRUS 3 H AHEAD OF UTC MAR 27 - SEP 24 -CZECHOSLOVAKIA 1 H AHEAD OF UTC -CZECHOSLOVAKIA 2 H AHEAD OF UTC MAR 27 - SEP 24 -DENMARK 1 H AHEAD OF UTC -DENMARK 2 H AHEAD OF UTC MAR 27 - SEP 24 -DENMK. FAEROE IS 1 H AHEAD OF UTC MAR 27 - SEP 24 -DJIBOUTI 3 H AHEAD OF UTC -DOMINICA 4 H BEHIND UTC -DOMINICAN REP 4 H BEHIND UTC -ECUADOR 5 H BEHIND UTC CONTINENTAL -ECUADOR 6 H BEHIND UTC GALAPAGOS ISLANDS -EGYPT 2 H AHEAD OF UTC -EGYPT 3 H AHEAD OF UTC MAY 17 - SEP 30 (AFTER -EGYPT RAMADAN) -EL SALVADOR 6 H BEHIND UTC -ENGLAND ON UTC (WALES, SCOTLAND, N.I., -ENGLAND CH. IS.) -ENGLAND 1 H AHEAD OF UTC MAR 27 - OCT 22 -ENEZUELA 4 H BEHIND UTC -EQUITORIAL GUINEA 1 H AHEAD OF UTC -ETHIOPIA 3 H AHEAD OF UTC -FALKLAND ISLANDS 4 H BEHIND UTC -FALKLAND ISLANDS 3 H BEHIND UTC SEP 11, '88-APR 15, '89 -FALKLAND ISLANDS (ESTIMATED) -FAROE ISLAND ON UTC -FAROE ISLAND 1 H AHEAD OF UTC MAR 27 - SEP 24 -FIJI 12 H AHEAD OF UTC -FINLAND 2 H AHEAD OF UTC -FINLAND 3 H AHEAD OF UTC MAR 27 - SEP 24 -FRANCE 1 H AHEAD OF UTC -FRANCE 2 H AHEAD OF UTC MAR 27 - SEP 24 -FRENCH GUIANA 3 H BEHIND UTC -FRENCH POLYNESIA 9 H BEHIND UTC GAMBIER ISLAND -FRENCH POLYNESIA 9.5H BEHIND UTC MARQUESAS ISLANDS -FRENCH POLYNESIA 10 H BEHIND UTC SOCIETY ISLANDS, TUBUAI -FRENCH POLYNESIA ISLANDS, TUAMOTU ISLAND, -FRENCH POLYNESIA TAHITI -GABON 1 H AHEAD OF UTC -GAMBIA ON UTC -GERMANY ALL 1 H AHEAD OF UTC -GERMANY ALL 2 H AHEAD OF UTC MAR 27 - SEP 24 -GHANA ON UTC -GIBRALTAR 1 H AHEAD OF UTC -GIBRALTAR 2 H AHEAD OF UTC MAR 27 - SEP 24 -GREECE 2 H AHEAD OF UTC -GREECE 3 H AHEAD OF UTC MAR 27 - SEP 24 -GREENLAND 4 H BEHIND UTC THULE AIRBASE YEAR ROUND -GREENLAND 3 H BEHIND UTC ANGMAGSSALIK AND W. COAST -GREENLAND 2 H BEHIND UTC MAR 27 - SEP 24 -GREENLAND 1 H BEHIND UTC SCORESBYSUND -GREENLAND ON UTC MAR 27 - SEP 24 -GRENADA 4 H BEHIND UTC -GUADELOUPE 4 H BEHIND UTC ST. BARTHELEMY, NORTHERN -GUADELOUPE ST. MARTIN MARTINIQUE -GUAM 10 H AHEAD OF UTC -GUATEMALA 6 H BEHIND UTC -GUINEA ON UTC -GUINEA BISSAU ON UTC -GUINEA REPUBLIC ON UTC -GUINEA EQUATORIAL 1 H AHEAD OF UTC -GUYANA 3 H BEHIND UTC -HAITI 5 H BEHIND UTC -HAITI 4 H BEHIND UTC APR 3 - OCT 29 -HOLLAND SEE NETHERLANDS -HONDURAS 6 H BEHIND UTC -HONG KONG 8 H AHEAD OF UTC -HUNGARY 1 H AHEAD OF UTC -HUNGARY 2 H AHEAD OF UTC MAR 27 - SEP 24 -ICELAND ON UTC -INDIA 5.5H AHEAD OF UTC INCLUDING ANDAMAN ISLANDS -INDONESIA WEST 7 H AHEAD OF UTC SUMATRA, JAVA, BALI, -INDONESIA WEST JAKARTA -INDONESIA CENTRAL 8 H AHEAD OF UTC KALIMANTAN, SULAWESI -INDONESIA EAST 9 H AHEAD OF UTC IRIAN, BARAT -IRAN 3.5H AHEAD OF UTC -IRAQ 3 H AHEAD OF UTC -IRAQ 4 H AHEAD OF UTC APR 1 - SEP 30 -IRELAND ON UTC -IRELAND 1 H AHEAD OF UTC MAR 27 - OCT 22 -ISRAEL 2 H AHEAD OF UTC -ISRAEL 3 H AHEAD OF UTC APR 10 - SEP 3 -ITALY 1 H AHEAD OF UTC -ITALY 2 H AHEAD OF UTC MAR 27 - SEP 24 -IVORY COAST ON UTC -IWAN 8 H AHEAD OF UTC -JAMAICA 5 H BEHIND UTC -JAPAN 9 H AHEAD OF UTC -JOHNSTON ISLAND 10 H BEHIND UTC -JORDAN 2 H AHEAD OF UTC -JORDAN 3 H AHEAD OF UTC APR 1 - OCT 6 -KAMPUCHEA 7 H AHEAD OF UTC -KENYA 3 H AHEAD OF UTC -KIRIBATI, REP OF 12 H AHEAD OF UTC CANTON, ENDERBURY ISLANDS -KIRIBATI, REP OF 11 H AHEAD OF UTC CHRISTMAS ISLAND -KOREA 9 H AHEAD OF UTC -KOREA, REP OF 9 H AHEAD OF UTC -KOREA, REP OF 10 H AHEAD OF UTC MAY 8 - OCT 8 -KUWAIT 3 H AHEAD OF UTC -KUSAIE, PINGELAP 12 H AHEAD OF UTC INCLUDING MARSHALL IS., -KUSAIE, PINGELAP EXCLUDING KWAJALEIN) -KWAJALEIN 12 H BEHIND UTC -LAOS 7 H AHEAD OF UTC -LEBANON 2 H AHEAD OF UTC -LEBANON 3 H AHEAD OF UTC JUN 1 - OCT 31 -LEEWARD ISLANDS 4 H BEHIND UTC ANTIGUA, DOMINICA, -LEEWARD ISLANDS MONTSERRAT, ST. -LEEWARD ISLAANDS CHRISTOPHER, ST. KITTS, -LEEWARD ISLANDS NEVIS, ANGUILLA -LESOTHO 2 H AHEAD OF UTC -LIBERIA ON UTC -LIBYAN ARAB 1 H AHEAD OF UTC JAMAHIRIYA/LIBYA -LIBYAN ARAB 2 H AHEAD OF UTC APR 1 - SEP 30 JAMAHIRIYA/LIBYA -LIECHTENSTEIN 1 H AHEAD OF UTC -LIECHTENSTEIN 2 H AHEAD OF UTC MAR 27 - SEP 24 -LUXEMBOURG 1 H AHEAD OF UTC -LUXEMBOURG 2 H AHEAD OF UTC MAR 27 - SEP 24 -MACAO 8 H AHEAD OF UTC -MADAGASCAR 3 H AHEAD OF UTC -MADEIRA SEE PORTUGAL -MALAWI 2 H AHEAD OF UTC -MALAYSIA 8 H AHEAD OF UTC -MALDIVES 5 H AHEAD OF UTC -MALI ON UTC -MALTA 1 H AHEAD OF UTC -MALTA 2 H AHEAD OF UTC MAR 27 - SEP 24 -MARTINIQUE 4 H BEHIND UTC -MAURITANIA ON UTC -MAURITIUS 4 H AHEAD OF UTC -MARIANA ISLAND 10 H AHEAD OF UTC EXCLUDING GUAM -MEXICO BAJA CAL N 7 H BEHIND UTC BAJA CALIFORNIA SUR AND -MEXICO BAJA CAL N N. PACIFIC COAST (STATES -MEXICO BAJA CAL N OF SINALOA AND SONORA) -MEXICO BAJA CAL N 8 H BEHIND UTC ABOVE 28TH PARALLAL APR 3 -MEXICO BAJA CAL N - OCT 29 -MEXICO BAJA CAL N 7 H BEHIND UTC ABOVE 28TH PARALLAL APR 3 -MEXICO BAJA CAL N - 0CT 29 -MEXICO 6 H BEHIND UTC STATES OF DURANGO, -MEXICO COAHUILA, NUEVO LEON, -MEXICO TAMAULIPAS -MEXICO 5 H BEHIND UTC STATES OF DURANGO, -MEXICO COAHUILA, NUEVO LEON, -MEXICO TAMAULIPAS APR 3 - OCT 29 -MEXICO 6 H BEHIND UTC GENERAL MEXICO, STATES OF -MEXICO CAMPECHE, QUINTANA ROO AND -MEXICO YUCATAN -MIDWAY ISLAND 11 H BEHIND UTC -MONACO 1 H AHEAD OF UTC -MONACO 2 H AHEAD OF UTC MAR 27 - SEP 24 -MONGOLIA 8 H AHEAD OF UTC -MONGOLIA 9 H AHEAD OF UTC MAR 27 - SEP 24 -MONTSERRAT 4 H BEHIND UTC -MOROCCO ON UTC -MOZAMBIQUE 2 H AHEAD OF UTC -NAMIBIA 2 H AHEAD OF UTC -NAURU, REP OF 12 H AHEAD OF UTC -NEPAL 5H45M AHEAD OF UTC -NETHERLANDS 1 H AHEAD OF UTC -NETHERLANDS 2 H AHEAD OF UTC MAR 27 - SEP 24 -NETHERLANDS 4 H BEHIND UTC ANTILLES AND SOUTHERN ST. -NETHERLANDS MAARTEN -NEW CALEDONIA 11 H AHEAD OF UTC -NEW HEBRIDES SEE VANUATU -NEW ZEALAND 12 H AHEAD OF UTC (EXCLUDING CHATHAM ISLAND) -NEW ZEALAND 13 H AHEAD OF UTC OCT 30, '88-MAR 4, '89 -NEW ZEALAND 12H45M AHEAD OF UTC CHATHAM ISLAND -NICARAGUA 6 H BEHIND UTC -NIGER 1 H AHEAD OF UTC -NIGERIA 1 H AHEAD OF UTC -NIUE ISLAND 11 H BEHIND UTC -NORFOLK ISLAND 11H30M AHEAD OF UTC -NORTHERN IRELAND ON UTC WALES, SCOTLAND, N.I., -NORTHERN IRELAND CH.IS. -NORTHERN IRELAND 1 H AHEAD OF UTC MAR 27 - OCT 22 -NORWAY 1 H AHEAD OF UTC -NORWAY 2 H AHEAD OF UTC MAR 27 - SEP 24 -OGO ON UTC -OMAN 4 H AHEAD OF UTC -PACIFIC ISLAND T.T. -PALAU ISLAND 9 H AHEAD OF UTC -PAKISTAN 5 H AHEAD OF UTC -PANAMA 5 H BEHIND UTC -PAPUA NEW GUINEA 10 H AHEAD OF UTC INCLUDING BOUGAINVILLE -PAPUA NEW GUINEA ISLAND -PARAGUAY 4 H BEHIND UTC -PARAGUAY 3 H BEHIND UTC OCT 1, '88-MAR 31, '89 -PERU 5 H BEHIND UTC -PHILIPPINES 8 H AHEAD OF UTC -PONAPE ISLAND 11 H AHEAD OF UTC -POLAND 1 H AHEAD OF UTC -POLAND 2 H AHEAD OF UTC MAR 27 - SEP 24 -PORTUGAL MAINLAND ON UTC -PORTUGAL MAINLAND 1 H AHEAD OF UTC MAR 27 - SEP 24 -PORTUGAL AZORES 1 H BEHIND UTC -PORTUGAL AZORES ON UTC MAR 27 - SEP 24 -PORTUGAL MADEIRA ON UTC -PORTUGAL MADEIRA 1 H AHEAD OF UTC MAR 27 - SEP 24 -PUERTO RICO 4 H BEHIND UTC -QATAR 3 H AHEAD OF UTC -ROMANIA 2 H AHEAD OF UTC -ROMANIA 3 H AHEAD OF UTC MAR 27 - SEP 24 -RUSSIA SEE USSR -RWANDA 2 H AHEAD OF UTC -SABA 4 H BEHIND UTC ALSO BONAIRE, CURACAO, -SAMOA 11 H BEHIND UTC -SAN MARINO 1 H AHEAD OF UTC -SAN MARINO 2 H AHEAD OF UTC MAR 27 - SEP 24 -SAN SALVADOR 6 H BEHIND UTC -SAO TOME ISLAND ON UTC AND PRINCIPE ISLAND -SAUDI ARABIA 3 H AHEAD OF UTC -SCOTLAND SEE ENGLAND -SENEGAL ON UTC -SEYCHELLES 4 H AHEAD OF UTC -SIERRA LEONE ON UTC -SINGAPORE 8 H AHEAD OF UTC -SOLOMON ISLANDS 11 H AHEAD OF UTC EXCLUDING BOUGAINVILLE -SOLOMON ISLANDS ISLAND -SOMALI 3 H AHEAD OF UTC -SOUTH AFRICA 2 H AHEAD OF UTC -SPAIN CANARY IS ON UTC -SPAIN CANARY IS 1 H AHEAD OF UTC MAR 27 - SEP 24 -SPAIN 1 H AHEAD OF UTC CONTINENTAL, BALEARIC AND -SPAIN MALLORCA ISLANDS -SPAIN 2 H AHEAD OF UTC CONTINENTAL, BALEARIC AND -SPAIN MALLORCA ISLANDS MAR 27 - -SPAIN SEP 24 -SPAIN MAINLAND 1 H AHEAD OF UTC MELILLA -SPAIN MAINLAND 2 H AHEAD OF UTC MAR 27 - SEP 24 -SRI LANKA 5H30M AHEAD OF UTC -ST.MAARTEN -ST.KITTS-NEVIS 4 H BEHIND UTC -ST.LUCIA 4 H BEHIND UTC -ST.PIERRE 3 H BEHIND UTC INCLUDING MIQUELON -ST.PIERRE 2 H BEHIND UTC INLCUDING MIQUELON APR 3 -ST.PIERRE - OCT 29 -ST.VINCENT 4 H BEHIND UTC INCLUDING THE GRENADINES -ST. HELENA ON UTC -SURINAME 3 H BEHIND UTC -SWAZILAND 2 H AHEAD OF UTC -SWEDEN 1 H AHEAD OF UTC -SWEDEN 2 H AHEAD OF UTC MAR 27 - SEP 24 -SWITZERLAND 1 H AHEAD OF UTC -SWITZERLAND 2 H AHEAD OF UTC MAR 27 - SEP 24 -SYRIA 2 H AHEAD OF UTC -SYRIA 3 H AHEAD OF UTC MAR 15 - OCT 30 -TAHITI 10 H BEHIND UTC -TANZANIA 3 H AHEAD OF UTC -THAILAND 7 H AHEAD OF UTC -TRINIDAD / TOBAGO 4 H BEHIND UTC -TUNISIA 1 H AHEAD OF UTC -TUNISIA 2 H AHEAD OF UTC APR 10 - SEP 24 -TURKEY 2 H AHEAD OF UTC -TURKEY 3 H AHEAD OF UTC MAR 27 - SEP 24 -TURKS AND CAICOS 5 H BEHIND UTC -TURKS AND CAICOS 4 H BEHIND UTC APR 3 - OCT 29 -TUVALU 12 H AHEAD OF UTC -UDAN 2 H AHEAD OF UTC -UGANDA 3 H AHEAD OF UTC -UNITED ARAB EMIR. 4 H AHEAD OF UTC ABU DHABI, DUBAI, SHARJAH, -UNITED ARAB EMIR RAS AL KHAIMAH -UNITED KINGDOM ON UTC WALES, SCOTLAND, N.I., CH. -UNITED KINGDOM IS. -UNITED KINGDOM 1 H AHEAD OF UTC MAR 27 - OCT 22 -UNITED STATES SEE USA -UPPER VOLTA ON UTC -URUGUAY 3 H BEHIND UTC -URUGUAY 2 H BEHIND UTC DEC 11, '88-FEB 25, '89 -URAGUAY (ESTIMATED) -USA EASTERN 5 H BEHIND UTC NEW YORK, WASHINGTON -USA EASTERN 4 H BEHIND UTC APR 3 - OCT 30 -USA CENTRAL 6 H BEHIND UTC CHICAGO, HOUSTON -USA CENTRAL 5 H BEHIND UTC APR 3 - OCT 30 -USA MOUNTAIN 7 H BEHIND UTC DENVER -USA MOUNTAIN 6 H BEHIND UTC APR 3 - OCT 30 -USA PACIFIC 8 H BEHIND UTC L.A., SAN FRANCISCO -USA PACIFIC 7 H BEHIND UTC APR 3 - OCT 30 -USA ALASKA STD 9 H BEHIND UTC MOST OF ALASKA (AKST) -USA ALASKA STD 8 H BEHIND UTC APR 3 - OCT 30 (AKDT) -USA ALEUTIAN 10 H BEHIND UTC ISLANDS WEST OF 170W -USA - " - 9 H BEHIND UTC APR 3 - OCT 30 -USA HAWAII 10 H BEHIND UTC -USA BERING 11 H BEHIND UTC SAMOA, MIDWAY -USA FOR SPECIFIC INFO ON USA ZONES/TIMES CALL DOT 202-426-4520 -USSR WEST EUROP 3 H AHEAD OF UTC LENINGRAD, MOSCOW -USSR WEST EUROP 4 H AHEAD OF UTC APR 1 - SEP 30 -USSR CENTRAL EUR 4 H AHEAD OF UTC ROSTOV, BAKU -USSR CENTRAL EUR 5 H AHEAD OF UTC APR 1 - SEP 30 -USSR EAST EUROP 5 H AHEAD OF UTC SVERDLOVSK -USSR EAST EUROP 6 H AHEAD OF UTC APR 1 - SEP 30 -USSR WEST SIBERIAN 6 H AHEAD OF UTC TASHKENT, ALMA ATA -USSR WEST SIBERIAN 7 H AHEAD OF UTC APR 1 - SEP 30 -USSR WEST-CENTRAL 7 H AHEAD OF UTC NOVOSIBIRSK -USSR WEST-CENTRAL 8 H AHEAD OF UTC APR 1 - SEP 30 -USSR WEST-CENTRAL 8 H AHEAD OF UTC IRKUTSK -USSR WEST-CENTRAL 9 H AHEAD OF UTC APR 1 - SEP 30 -USSR CENTRAL SIB 9 H AHEAD OF UTC YAKUTSK -USSR CENTRAL SIB 10 H AHEAD OF UTC APR 1 - SEP 30 -USSR CENTRAL SIB 10 H AHEAD OF UTC VLADIVOSTOK -USSR CENTRAL SIB 11 H AHEAD OF UTC APR 1 - SEP 30 -USSR EAST SIBERIA 11 H AHEAD OF UTC MAGADAN -USSR EAST SIBERIA 12 H AHEAD OF UTC APR 1 - SEP 30 -USSR EAST SIBERIA 12 H AHEAD OF UTC PETROPAVLOVSK -USSR EAST SIBERIA 13 H AHEAD OF UTC APR 1 - SEP 30 -USSR EAST SIBERIA 13 H AHEAD OF UTC UELEN -USSR EAST SIBERIA 14 H AHEAD OF UTC APR 1 - SEP 30 -VANUATU 11 H AHEAD OF UTC (NEW HEBRIDES) -VANUATU 12 H AHEAD OF UTC SEP 25, '88-MAR 25, '89 -VANUATU (ESTIMATED) -VATICAN 1 H AHEAD OF UTC -VATICAN 2 H AHEAD OF UTC MAR 27 - SEP 24 -VIETNAM 7 H AHEAD OF UTC -VIRGIN ISLANDS 4 H BEHIND UTC ST.CROIX, ST.THOMAS, -VIRGIN ISLANDS ST.JOHN -WAKE ISLAND 12 H AHEAD OF UTC -WALES SEE ENGLAND -WALLIS/FUTUNA IS. 12 H AHEAD OF UTC -WINDWARD ISLANDS 4 H BEHIND UTC GRENADA, ST. LUCIA -YEMEN 3 H AHEAD OF UTC BOTH REPUBLICS -YUGOSLAVIA 1 H AHEAD OF UTC -YUGOSLAVIA 2 H AHEAD OF UTC MAR 27 - SEP 24 -ZAIRE EAST 1 H AHEAD OF UTC KINSHASA MBANDAKA -ZAIRE WEST 2 H AHEAD OF UTC LUBUMBASHI, KASAI, KIVU, -ZAIRE WEST HAUT-ZAIRE, SHABA -ZAMBIA 2 H AHEAD OF UTC -ZIMBABWE 2 H AHEAD OF UTC diff --git a/share/zoneinfo/ialloc.c b/share/zoneinfo/ialloc.c deleted file mode 100644 index 118a97b..0000000 --- a/share/zoneinfo/ialloc.c +++ /dev/null @@ -1,140 +0,0 @@ -/*- - * Copyright (c) 1991, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Arthur David Olson of the National Cancer Institute. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static char sccsid[] = "@(#)ialloc.c 8.1 (Berkeley) 6/8/93"; -#endif /* not lint */ - -#ifdef notdef -static char elsieid[] = "@(#)ialloc.c 8.18"; -#endif - -/*LINTLIBRARY*/ - -#include <string.h> -#include <stdlib.h> - -#ifdef MAL -#define NULLMAL(x) ((x) == NULL || (x) == MAL) -#else /* !defined MAL */ -#define NULLMAL(x) ((x) == NULL) -#endif /* !defined MAL */ - -#define nonzero(n) (((n) == 0) ? 1 : (n)) - -char * icalloc __P((int nelem, int elsize)); -char * icatalloc __P((char * old, const char * new)); -char * icpyalloc __P((const char * string)); -char * imalloc __P((int n)); -char * irealloc __P((char * pointer, int size)); -void ifree __P((char * pointer)); - -char * -imalloc(n) -const int n; -{ -#ifdef MAL - register char * result; - - result = malloc((size_t) nonzero(n)); - return NULLMAL(result) ? NULL : result; -#else /* !defined MAL */ - return malloc((size_t) nonzero(n)); -#endif /* !defined MAL */ -} - -char * -icalloc(nelem, elsize) -int nelem; -int elsize; -{ - if (nelem == 0 || elsize == 0) - nelem = elsize = 1; - return calloc((size_t) nelem, (size_t) elsize); -} - -char * -irealloc(pointer, size) -char * const pointer; -const int size; -{ - if (NULLMAL(pointer)) - return imalloc(size); - return realloc((void *) pointer, (size_t) nonzero(size)); -} - -char * -icatalloc(old, new) -char * const old; -const char * const new; -{ - register char * result; - register oldsize, newsize; - - newsize = NULLMAL(new) ? 0 : strlen(new); - if (NULLMAL(old)) - oldsize = 0; - else if (newsize == 0) - return old; - else oldsize = strlen(old); - if ((result = irealloc(old, oldsize + newsize + 1)) != NULL) - if (!NULLMAL(new)) - (void) strcpy(result + oldsize, new); - return result; -} - -char * -icpyalloc(string) -const char * const string; -{ - return icatalloc((char *) NULL, string); -} - -void -ifree(p) -char * const p; -{ - if (!NULLMAL(p)) - (void) free(p); -} - -void -icfree(p) -char * const p; -{ - if (!NULLMAL(p)) - (void) free(p); -} diff --git a/share/zoneinfo/scheck.c b/share/zoneinfo/scheck.c deleted file mode 100644 index 44a7c3c..0000000 --- a/share/zoneinfo/scheck.c +++ /dev/null @@ -1,99 +0,0 @@ -/*- - * Copyright (c) 1991, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Arthur David Olson of the National Cancer Institute. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static char sccsid[] = "@(#)scheck.c 8.1 (Berkeley) 6/8/93"; -#endif /* not lint */ - -#ifdef notdef -static char elsieid[] = "@(#)scheck.c 8.9"; -#endif - -/*LINTLIBRARY*/ - -#include <stdio.h> -#include <ctype.h> -#include <string.h> -#include <stdlib.h> - -char * -scheck(string, format) -const char * const string; -const char * const format; -{ - register char * fbuf; - register const char * fp; - register char * tp; - register int c; - register char * result; - char dummy; - - result = ""; - if (string == NULL || format == NULL) - return result; - fbuf = malloc(2 * strlen(format) + 4); - if (fbuf == NULL) - return result; - fp = format; - tp = fbuf; - while ((*tp++ = c = *fp++) != '\0') { - if (c != '%') - continue; - if (*fp == '%') { - *tp++ = *fp++; - continue; - } - *tp++ = '*'; - if (*fp == '*') - ++fp; - while (isascii(*fp) && isdigit(*fp)) - *tp++ = *fp++; - if (*fp == 'l' || *fp == 'h') - *tp++ = *fp++; - else if (*fp == '[') - do *tp++ = *fp++; - while (*fp != '\0' && *fp != ']'); - if ((*tp++ = *fp++) == '\0') - break; - } - *(tp - 1) = '%'; - *tp++ = 'c'; - *tp = '\0'; - if (sscanf((char *)string, fbuf, &dummy) != 1) - result = (char *) format; - ifree(fbuf); - return result; -} diff --git a/share/zoneinfo/tzfile.5 b/share/zoneinfo/tzfile.5 deleted file mode 100644 index 07842cf..0000000 --- a/share/zoneinfo/tzfile.5 +++ /dev/null @@ -1,162 +0,0 @@ -.\" Copyright (c) 1991, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" This code is derived from software contributed to Berkeley by -.\" Arthur David Olson of the National Cancer Institute. -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)tzfile.5 8.1 (Berkeley) 6/8/93 -.\" -.Dd June 8, 1993 -.Dt TZFILE 5 -.Os -.Sh NAME -.Nm tzfile -.Nd time zone information -.Sh SYNOPSIS -.Fd #include <tzfile.h> -.Sh DESCRIPTION -The time zone information files used by -.Xr tzset 3 -begin with bytes reserved for future use, -followed by four four-byte values of type -.Em long , -written in a ``standard'' byte order -(the high-order byte of the value is written first). -These values are, -in order: -.Bl -tag -width tzh_ttisstdcnt -.It Fa tzh_ttisstdcnt -The number of standard/wall indicators stored in the file. -.It Fa tzh_leapcnt -The number of leap seconds for which data is stored in the file. -.It Fa tzh_timecnt -The number of "transition times" for which data is stored -in the file. -.It Fa tzh_typecnt -The number of "local time types" for which data is stored -in the file (must not be zero). -.It Fa tzh_charcnt -The number of characters of "time zone abbreviation strings" -stored in the file. -.El -.Pp -The above header is followed by -.Fa tzh_timecnt -four-byte values of type -.Em long , -sorted in ascending order. -These values are written in ``standard'' byte order. -Each is used as a transition time (as returned by -.Xr time 2 ) -at which the rules for computing local time change. -Next come -.Fa tzh_timecnt -one-byte values of type -.Fa unsigned char ; -each one tells which of the different types of ``local time'' types -described in the file is associated with the same-indexed transition time. -These values serve as indices into an array of -.Fa ttinfo -structures that appears next in the file; -these structures are defined as follows: -.Bd -literal -offset indent -struct ttinfo { - long tt_gmtoff; - int tt_isdst; - unsigned int tt_abbrind; -}; -.Ed -.Pp -Each structure is written as a four-byte value for -.Fa tt_gmtoff -of type -.Em long , -in a standard byte order, followed by a one-byte value for -.Fa tt_isdst -and a one-byte value for -.Fa tt_abbrind . -In each structure, -.Fa tt_gmtoff -gives the number of seconds to be added to -.Tn GMT , -.Fa tt_isdst -tells whether -.Fa tm_isdst -should be set by -.Xr localtime 3 -and -.Fa tt_abbrind -serves as an index into the array of time zone abbreviation characters -that follow the -.Fa ttinfo -structure(s) in the file. -.Pp -Then there are -.Fa tzh_leapcnt -pairs of four-byte values, written in standard byte order; -the first value of each pair gives the time -(as returned by -.Xr time 2 ) -at which a leap second occurs; -the second gives the -.Em total -number of leap seconds to be applied after the given time. -The pairs of values are sorted in ascending order by time. -.Pp -Finally there are -.Fa tzh_ttisstdcnt -standard/wall indicators, each stored as a one-byte value; -they tell whether the transition times associated with local time types -were specified as standard time or wall clock time, -and are used when a time zone file is used in handling -.Tn POSIX Ns -style -time zone environment variables. -.Pp -.Fa Localtime -uses the first standard-time -.Fa ttinfo -structure in the file -(or simply the first -.Fa ttinfo -structure in the absence of a standard-time structure) -if either -.Fa tzh_timecnt -is zero or the time argument is less than the first transition time recorded -in the file. -.Sh SEE ALSO -.Xr ctime 3 -.Sh HISTORY -The -.Nm tzfile -file format appeared in -.Bx 4.3 tahoe. diff --git a/share/zoneinfo/zic.8 b/share/zoneinfo/zic.8 deleted file mode 100644 index 66191c0..0000000 --- a/share/zoneinfo/zic.8 +++ /dev/null @@ -1,424 +0,0 @@ -.\" Copyright (c) 1991, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" This code is derived from software contributed to Berkeley by -.\" Arthur David Olson of the National Cancer Institute. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)zic.8 8.1 (Berkeley) 6/8/93 -.\" -.TH ZIC 8 -.SH NAME -zic \- time zone compiler -.SH SYNOPSIS -.B zic -[ -.B \-v -] [ -.B \-d -.I directory -] [ -.B \-l -.I localtime -] [ -.B \-p -.I posixrules -] [ -.B \-L -.I leapsecondfilename -] [ -.B \-s -] [ -.I filename -\&... ] -.SH DESCRIPTION -.if t .ds lq `` -.if t .ds rq '' -.if n .ds lq \&"\" -.if n .ds rq \&"\" -.de q -\\$3\*(lq\\$1\*(rq\\$2 -.. -.I Zic -reads text from the file(s) named on the command line -and creates the time conversion information files specified in this input. -If a -.I filename -is -.BR \- , -the standard input is read. -.PP -These options are available: -.TP -.BI "\-d " directory -Create time conversion information files in the named directory rather than -in the standard directory named below. -.TP -.BI "\-l " timezone -Use the given time zone as local time. -.I Zic -will act as if the input contained a link line of the form -.sp -.ti +.5i -Link \fItimezone\fP localtime -.TP -.BI "\-p " timezone -Use the given time zone's rules when handling POSIX-format -time zone environment variables. -.I Zic -will act as if the input contained a link line of the form -.sp -.ti +.5i -Link \fItimezone\fP posixrules -.TP -.BI "\-L " leapsecondfilename -Read leap second information from the file with the given name. -If this option is not used, -no leap second information appears in output files. -.TP -.B \-v -Complain if a year that appears in a data file is outside the range -of years representable by -.IR time (2) -values. -.TP -.B \-s -Limit time values stored in output files to values that are the same -whether they're taken to be signed or unsigned. -You can use this option to generate SVVS-compatible files. -.sp -Input lines are made up of fields. -Fields are separated from one another by any number of white space characters. -Leading and trailing white space on input lines is ignored. -An unquoted sharp character (#) in the input introduces a comment which extends -to the end of the line the sharp character appears on. -White space characters and sharp characters may be enclosed in double quotes -(") if they're to be used as part of a field. -Any line that is blank (after comment stripping) is ignored. -Non-blank lines are expected to be of one of three types: -rule lines, zone lines, and link lines. -.PP -A rule line has the form -.nf -.B -.ti +.5i -.ta \w'Rule\0\0'u +\w'NAME\0\0'u +\w'FROM\0\0'u +\w'1973\0\0'u +\w'TYPE\0\0'u +\w'Apr\0\0'u +\w'lastSun\0\0'u +\w'2:00\0\0'u +\w'SAVE\0\0'u -.sp -Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -.sp -For example: -.ti +.5i -.sp -Rule USA 1969 1973 \- Apr lastSun 2:00 1:00 D -.sp -.fi -The fields that make up a rule line are: -.TP "\w'LETTER/S'u" -.B NAME -Gives the (arbitrary) name of the set of rules this rule is part of. -.TP -.B FROM -Gives the first year in which the rule applies. -The word -.B minimum -(or an abbreviation) means the minimum year with a representable time value. -The word -.B maximum -(or an abbreviation) means the maximum year with a representable time value. -.TP -.B TO -Gives the final year in which the rule applies. -In addition to -.B minimum -and -.B maximum -(as above), -the word -.B only -(or an abbreviation) -may be used to repeat the value of the -.B FROM -field. -.TP -.B TYPE -Gives the type of year in which the rule applies. -If -.B TYPE -is -.B \- -then the rule applies in all years between -.B FROM -and -.B TO -inclusive; -if -.B TYPE -is -.BR uspres , -the rule applies in U.S. Presidential election years; -if -.B TYPE -is -.BR nonpres , -the rule applies in years other than U.S. Presidential election years. -If -.B TYPE -is something else, then -.I zic -executes the command -.ti +.5i -\fByearistype\fP \fIyear\fP \fItype\fP -.br -to check the type of a year: -an exit status of zero is taken to mean that the year is of the given type; -an exit status of one is taken to mean that the year is not of the given type. -.TP -.B IN -Names the month in which the rule takes effect. -Month names may be abbreviated. -.TP -.B ON -Gives the day on which the rule takes effect. -Recognized forms include: -.nf -.in +.5i -.sp -.ta \w'Sun<=25\0\0'u -5 the fifth of the month -lastSun the last Sunday in the month -lastMon the last Monday in the month -Sun>=8 first Sunday on or after the eighth -Sun<=25 last Sunday on or before the 25th -.fi -.in -.5i -.sp -Names of days of the week may be abbreviated or spelled out in full. -Note that there must be no spaces within the -.B ON -field. -.TP -.B AT -Gives the time of day at which the rule takes effect. -Recognized forms include: -.nf -.in +.5i -.sp -.ta \w'1:28:13\0\0'u -2 time in hours -2:00 time in hours and minutes -15:00 24-hour format time (for times after noon) -1:28:14 time in hours, minutes, and seconds -.fi -.in -.5i -.sp -Any of these forms may be followed by the letter -.B w -if the given time is local -.q "wall clock" -time or -.B s -if the given time is local -.q standard -time; in the absence of -.B w -or -.BR s , -wall clock time is assumed. -.TP -.B SAVE -Gives the amount of time to be added to local standard time when the rule is in -effect. -This field has the same format as the -.B AT -field -(although, of course, the -.B w -and -.B s -suffixes are not used). -.TP -.B LETTER/S -Gives the -.q "variable part" -(for example, the -.q S -or -.q D -in -.q EST -or -.q EDT ) -of time zone abbreviations to be used when this rule is in effect. -If this field is -.BR \- , -the variable part is null. -.PP -A zone line has the form -.sp -.nf -.ti +.5i -.ta \w'Zone\0\0'u +\w'Australia/South\-west\0\0'u +\w'GMTOFF\0\0'u +\w'RULES/SAVE\0\0'u +\w'FORMAT\0\0'u -Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL] -.sp -For example: -.sp -.ti +.5i -Zone Australia/South\-west 9:30 Aus CST 1987 Mar 15 2:00 -.sp -.fi -The fields that make up a zone line are: -.TP "\w'GMTOFF'u" -.B NAME -The name of the time zone. -This is the name used in creating the time conversion information file for the -zone. -.TP -.B GMTOFF -The amount of time to add to GMT to get standard time in this zone. -This field has the same format as the -.B AT -and -.B SAVE -fields of rule lines; -begin the field with a minus sign if time must be subtracted from GMT. -.TP -.B RULES/SAVE -The name of the rule(s) that apply in the time zone or, -alternately, an amount of time to add to local standard time. -If this field is -.B \- -then standard time always applies in the time zone. -.TP -.B FORMAT -The format for time zone abbreviations in this time zone. -The pair of characters -.B %s -is used to show where the -.q "variable part" -of the time zone abbreviation goes. -.TP -.B UNTIL -The time at which the GMT offset or the rule(s) change for a location. -It is specified as a year, a month, a day, and a time of day. -If this is specified, -the time zone information is generated from the given GMT offset -and rule change until the time specified. -.IP -The next line must be a -.q continuation -line; this has the same form as a zone line except that the -string -.q Zone -and the name are omitted, as the continuation line will -place information starting at the time specified as the -.B UNTIL -field in the previous line in the file used by the previous line. -Continuation lines may contain an -.B UNTIL -field, just as zone lines do, indicating that the next line is a further -continuation. -.PP -A link line has the form -.sp -.nf -.ti +.5i -.if t .ta \w'Link\0\0'u +\w'LINK-FROM\0\0'u -.if n .ta \w'Link\0\0'u +\w'US/Eastern\0\0'u -Link LINK-FROM LINK-TO -.sp -For example: -.sp -.ti +.5i -Link US/Eastern EST5EDT -.sp -.fi -The -.B LINK-FROM -field should appear as the -.B NAME -field in some zone line; -the -.B LINK-TO -field is used as an alternate name for that zone. -.PP -Except for continuation lines, -lines may appear in any order in the input. -.PP -Lines in the file that describes leap seconds have the following form: -.nf -.B -.ti +.5i -.ta \w'Leap\0\0'u +\w'YEAR\0\0'u +\w'MONTH\0\0'u +\w'DAY\0\0'u +\w'HH:MM:SS\0\0'u +\w'CORR\0\0'u -Leap YEAR MONTH DAY HH:MM:SS CORR R/S -.sp -For example: -.ti +.5i -.sp -Leap 1974 Dec 31 23:59:60 + S -.sp -.fi -The -.BR YEAR , -.BR MONTH , -.BR DAY , -and -.B HH:MM:SS -fields tell when the leap second happened. -The -.B CORR -field -should be -.q + -if a second was added -or -.q - -if a second was skipped. -The -.B R/S -field -should be (an abbreviation of) -.q Stationary -if the leap second time given by the other fields should be interpreted as GMT -or -(an abbreviation of) -.q Rolling -if the leap second time given by the other fields should be interpreted as -local wall clock time. -.SH NOTE -For areas with more than two types of local time, -you may need to use local standard time in the -.B AT -field of the earliest transition time's rule to ensure that -the earliest transition time recorded in the compiled file is correct. -.SH FILE -/etc/zoneinfo standard directory used for created files -.SH "SEE ALSO" -newctime(3), tzfile(5), zdump(8) -.. @(#)zic.8 4.4 diff --git a/share/zoneinfo/zic.c b/share/zoneinfo/zic.c deleted file mode 100644 index 8d80e63..0000000 --- a/share/zoneinfo/zic.c +++ /dev/null @@ -1,1892 +0,0 @@ -/*- - * Copyright (c) 1991, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Arthur David Olson of the National Cancer Institute. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static char sccsid[] = "@(#)zic.c 8.1 (Berkeley) 7/19/93"; -#endif /* not lint */ - -#ifdef notdef -static char elsieid[] = "@(#)zic.c 4.12"; -#endif - -#include <sys/types.h> -#include <sys/cdefs.h> -#include <sys/stat.h> -#include <time.h> -#include <tzfile.h> -#include <stdio.h> -#include <ctype.h> -#include <string.h> -#include <stdlib.h> - -#ifndef TRUE -#define TRUE 1 -#define FALSE 0 -#endif /* !defined TRUE */ - -struct rule { - const char * r_filename; - int r_linenum; - const char * r_name; - - int r_loyear; /* for example, 1986 */ - int r_hiyear; /* for example, 1986 */ - const char * r_yrtype; - - int r_month; /* 0..11 */ - - int r_dycode; /* see below */ - int r_dayofmonth; - int r_wday; - - long r_tod; /* time from midnight */ - int r_todisstd; /* above is standard time if TRUE */ - /* or wall clock time if FALSE */ - long r_stdoff; /* offset from standard time */ - const char * r_abbrvar; /* variable part of abbreviation */ - - int r_todo; /* a rule to do (used in outzone) */ - time_t r_temp; /* used in outzone */ -}; - -/* -** r_dycode r_dayofmonth r_wday -*/ - -#define DC_DOM 0 /* 1..31 */ /* unused */ -#define DC_DOWGEQ 1 /* 1..31 */ /* 0..6 (Sun..Sat) */ -#define DC_DOWLEQ 2 /* 1..31 */ /* 0..6 (Sun..Sat) */ - -struct zone { - const char * z_filename; - int z_linenum; - - const char * z_name; - long z_gmtoff; - const char * z_rule; - const char * z_format; - - long z_stdoff; - - struct rule * z_rules; - int z_nrules; - - struct rule z_untilrule; - time_t z_untiltime; -}; - -extern char * icatalloc __P((char * old, const char * new)); -extern char * icpyalloc __P((const char * string)); -extern void ifree __P((char * p)); -extern char * imalloc __P((int n)); -extern char * irealloc __P((char * old, int n)); -extern int link __P((const char * fromname, const char * toname)); -extern char * optarg; -extern int optind; -extern void perror __P((const char * string)); -extern char * scheck __P((const char * string, const char * format)); -static void addtt __P((time_t starttime, int type)); -static int addtype - __P((long gmtoff, const char * abbr, int isdst, - int ttisstd)); -static void addleap __P((time_t t, int positive, int rolling)); -static void adjleap __P((void)); -static void associate __P((void)); -static int ciequal __P((const char * ap, const char * bp)); -static void convert __P((long val, char * buf)); -static void dolink __P((const char * fromfile, const char * tofile)); -static void eat __P((const char * name, int num)); -static void eats __P((const char * name, int num, - const char * rname, int rnum)); -static long eitol __P((int i)); -static void error __P((const char * message)); -static char ** getfields __P((char * buf)); -static long gethms __P((char * string, const char * errstrng, - int signable)); -static void infile __P((const char * filename)); -static void inleap __P((char ** fields, int nfields)); -static void inlink __P((char ** fields, int nfields)); -static void inrule __P((char ** fields, int nfields)); -static int inzcont __P((char ** fields, int nfields)); -static int inzone __P((char ** fields, int nfields)); -static int inzsub __P((char ** fields, int nfields, int iscont)); -static int itsabbr __P((const char * abbr, const char * word)); -static int itsdir __P((const char * name)); -static int lowerit __P((int c)); -static char * memcheck __P((char * tocheck)); -static int mkdirs __P((char * filename)); -static void newabbr __P((const char * abbr)); -static long oadd __P((long t1, long t2)); -static void outzone __P((const struct zone * zp, int ntzones)); -static void puttzcode __P((long code, FILE * fp)); -static int rcomp __P((const void *leftp, const void *rightp)); -static time_t rpytime __P((const struct rule * rp, int wantedy)); -static void rulesub __P((struct rule * rp, char * loyearp, char * hiyearp, - char * typep, char * monthp, char * dayp, char * timep)); -static void setboundaries __P((void)); -static time_t tadd __P((time_t t1, long t2)); -static void usage __P((void)); -static void writezone __P((const char * name)); -static int yearistype __P((int year, const char * type)); - -static int charcnt; -static int errors; -static const char * filename; -static int leapcnt; -static int linenum; -static time_t max_time; -static int max_year; -static time_t min_time; -static int min_year; -static int noise; -static const char * rfilename; -static int rlinenum; -static const char * progname; -static int timecnt; -static int typecnt; -static int tt_signed; - -/* -** Line codes. -*/ - -#define LC_RULE 0 -#define LC_ZONE 1 -#define LC_LINK 2 -#define LC_LEAP 3 - -/* -** Which fields are which on a Zone line. -*/ - -#define ZF_NAME 1 -#define ZF_GMTOFF 2 -#define ZF_RULE 3 -#define ZF_FORMAT 4 -#define ZF_TILYEAR 5 -#define ZF_TILMONTH 6 -#define ZF_TILDAY 7 -#define ZF_TILTIME 8 -#define ZONE_MINFIELDS 5 -#define ZONE_MAXFIELDS 9 - -/* -** Which fields are which on a Zone continuation line. -*/ - -#define ZFC_GMTOFF 0 -#define ZFC_RULE 1 -#define ZFC_FORMAT 2 -#define ZFC_TILYEAR 3 -#define ZFC_TILMONTH 4 -#define ZFC_TILDAY 5 -#define ZFC_TILTIME 6 -#define ZONEC_MINFIELDS 3 -#define ZONEC_MAXFIELDS 7 - -/* -** Which files are which on a Rule line. -*/ - -#define RF_NAME 1 -#define RF_LOYEAR 2 -#define RF_HIYEAR 3 -#define RF_COMMAND 4 -#define RF_MONTH 5 -#define RF_DAY 6 -#define RF_TOD 7 -#define RF_STDOFF 8 -#define RF_ABBRVAR 9 -#define RULE_FIELDS 10 - -/* -** Which fields are which on a Link line. -*/ - -#define LF_FROM 1 -#define LF_TO 2 -#define LINK_FIELDS 3 - -/* -** Which fields are which on a Leap line. -*/ - -#define LP_YEAR 1 -#define LP_MONTH 2 -#define LP_DAY 3 -#define LP_TIME 4 -#define LP_CORR 5 -#define LP_ROLL 6 -#define LEAP_FIELDS 7 - -/* -** Year synonyms. -*/ - -#define YR_MINIMUM 0 -#define YR_MAXIMUM 1 -#define YR_ONLY 2 - -static struct rule * rules; -static int nrules; /* number of rules */ - -static struct zone * zones; -static int nzones; /* number of zones */ - -struct link { - const char * l_filename; - int l_linenum; - const char * l_from; - const char * l_to; -}; - -static struct link * links; -static int nlinks; - -struct lookup { - const char * l_word; - const int l_value; -}; - -static struct lookup const * byword __P((const char * string, - const struct lookup * lp)); - -static struct lookup const line_codes[] = { - "Rule", LC_RULE, - "Zone", LC_ZONE, - "Link", LC_LINK, - "Leap", LC_LEAP, - NULL, 0 -}; - -static struct lookup const mon_names[] = { - "January", TM_JANUARY, - "February", TM_FEBRUARY, - "March", TM_MARCH, - "April", TM_APRIL, - "May", TM_MAY, - "June", TM_JUNE, - "July", TM_JULY, - "August", TM_AUGUST, - "September", TM_SEPTEMBER, - "October", TM_OCTOBER, - "November", TM_NOVEMBER, - "December", TM_DECEMBER, - NULL, 0 -}; - -static struct lookup const wday_names[] = { - "Sunday", TM_SUNDAY, - "Monday", TM_MONDAY, - "Tuesday", TM_TUESDAY, - "Wednesday", TM_WEDNESDAY, - "Thursday", TM_THURSDAY, - "Friday", TM_FRIDAY, - "Saturday", TM_SATURDAY, - NULL, 0 -}; - -static struct lookup const lasts[] = { - "last-Sunday", TM_SUNDAY, - "last-Monday", TM_MONDAY, - "last-Tuesday", TM_TUESDAY, - "last-Wednesday", TM_WEDNESDAY, - "last-Thursday", TM_THURSDAY, - "last-Friday", TM_FRIDAY, - "last-Saturday", TM_SATURDAY, - NULL, 0 -}; - -static struct lookup const begin_years[] = { - "minimum", YR_MINIMUM, - "maximum", YR_MAXIMUM, - NULL, 0 -}; - -static struct lookup const end_years[] = { - "minimum", YR_MINIMUM, - "maximum", YR_MAXIMUM, - "only", YR_ONLY, - NULL, 0 -}; - -static struct lookup const leap_types[] = { - "Rolling", TRUE, - "Stationary", FALSE, - NULL, 0 -}; - -static const int len_months[2][MONSPERYEAR] = { - 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, - 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 -}; - -static const int len_years[2] = { - DAYSPERNYEAR, DAYSPERLYEAR -}; - -static time_t ats[TZ_MAX_TIMES]; -static unsigned char types[TZ_MAX_TIMES]; -static long gmtoffs[TZ_MAX_TYPES]; -static char isdsts[TZ_MAX_TYPES]; -static char abbrinds[TZ_MAX_TYPES]; -static char ttisstds[TZ_MAX_TYPES]; -static char chars[TZ_MAX_CHARS]; -static time_t trans[TZ_MAX_LEAPS]; -static long corr[TZ_MAX_LEAPS]; -static char roll[TZ_MAX_LEAPS]; - -/* -** Memory allocation. -*/ - -static char * -memcheck(ptr) -char * const ptr; -{ - if (ptr == NULL) { - (void) perror(progname); - (void) exit(EXIT_FAILURE); - } - return ptr; -} - -#define emalloc(size) memcheck(imalloc(size)) -#define erealloc(ptr, size) memcheck(irealloc(ptr, size)) -#define ecpyalloc(ptr) memcheck(icpyalloc(ptr)) -#define ecatalloc(oldp, newp) memcheck(icatalloc(oldp, newp)) - -/* -** Error handling. -*/ - -static void -eats(name, num, rname, rnum) -const char * const name; -const int num; -const char * const rname; -const int rnum; -{ - filename = name; - linenum = num; - rfilename = rname; - rlinenum = rnum; -} - -static void -eat(name, num) -const char * const name; -const int num; -{ - eats(name, num, (char *) NULL, -1); -} - -static void -error(string) -const char * const string; -{ - /* - ** Match the format of "cc" to allow sh users to - ** zic ... 2>&1 | error -t "*" -v - ** on BSD systems. - */ - (void) fprintf(stderr, "\"%s\", line %d: %s", - filename, linenum, string); - if (rfilename != NULL) - (void) fprintf(stderr, " (rule from \"%s\", line %d)", - rfilename, rlinenum); - (void) fprintf(stderr, "\n"); - ++errors; -} - -static void -usage() -{ - (void) fprintf(stderr, -"%s: usage is %s [ -s ] [ -v ] [ -l localtime ] [ -p posixrules ] [ -d directory ]\n\ -\t[ -L leapseconds ] [ filename ... ]\n", - progname, progname); - (void) exit(EXIT_FAILURE); -} - -static const char * psxrules = NULL; -static const char * lcltime = NULL; -static const char * directory = NULL; -static const char * leapsec = NULL; -static int sflag = FALSE; - -int -main(argc, argv) -int argc; -char * argv[]; -{ - register int i, j; - register int c; - - (void) umask(umask(022) | 022); - progname = argv[0]; - while ((c = getopt(argc, argv, "d:l:p:L:vs")) != EOF) - switch (c) { - default: - usage(); - case 'd': - if (directory == NULL) - directory = optarg; - else { - (void) fprintf(stderr, -"%s: More than one -d option specified\n", - progname); - (void) exit(EXIT_FAILURE); - } - break; - case 'l': - if (lcltime == NULL) - lcltime = optarg; - else { - (void) fprintf(stderr, -"%s: More than one -l option specified\n", - progname); - (void) exit(EXIT_FAILURE); - } - break; - case 'p': - if (psxrules == NULL) - psxrules = optarg; - else { - (void) fprintf(stderr, -"%s: More than one -p option specified\n", - progname); - (void) exit(EXIT_FAILURE); - } - break; - case 'L': - if (leapsec == NULL) - leapsec = optarg; - else { - (void) fprintf(stderr, -"%s: More than one -L option specified\n", - progname); - (void) exit(EXIT_FAILURE); - } - break; - case 'v': - noise = TRUE; - break; - case 's': - sflag = TRUE; - break; - } - if (optind == argc - 1 && strcmp(argv[optind], "=") == 0) - usage(); /* usage message by request */ - if (directory == NULL) - directory = TZDIR; - - setboundaries(); - - if (optind < argc && leapsec != NULL) { - infile(leapsec); - adjleap(); - } - - zones = (struct zone *) emalloc(0); - rules = (struct rule *) emalloc(0); - links = (struct link *) emalloc(0); - for (i = optind; i < argc; ++i) - infile(argv[i]); - if (errors) - (void) exit(EXIT_FAILURE); - associate(); - for (i = 0; i < nzones; i = j) { - /* - ** Find the next non-continuation zone entry. - */ - for (j = i + 1; j < nzones && zones[j].z_name == NULL; ++j) - ; - outzone(&zones[i], j - i); - } - /* - ** Make links. - */ - for (i = 0; i < nlinks; ++i) - dolink(links[i].l_from, links[i].l_to); - if (lcltime != NULL) - dolink(lcltime, TZDEFAULT); - if (psxrules != NULL) - dolink(psxrules, TZDEFRULES); - return (errors == 0) ? EXIT_SUCCESS : EXIT_FAILURE; -} - -static void -dolink(fromfile, tofile) -const char * const fromfile; -const char * const tofile; -{ - register char * fromname; - register char * toname; - - fromname = ecpyalloc(directory); - fromname = ecatalloc(fromname, "/"); - fromname = ecatalloc(fromname, fromfile); - toname = ecpyalloc(directory); - toname = ecatalloc(toname, "/"); - toname = ecatalloc(toname, tofile); - /* - ** We get to be careful here since - ** there's a fair chance of root running us. - */ - if (!itsdir(toname)) - (void) remove(toname); - if (link(fromname, toname) != 0) { - (void) fprintf(stderr, "%s: Can't link from %s to ", - progname, fromname); - (void) perror(toname); - (void) exit(EXIT_FAILURE); - } - ifree(fromname); - ifree(toname); -} - -static void -setboundaries() -{ - register time_t bit; - - for (bit = 1; bit > 0; bit <<= 1) - ; - if (bit == 0) { /* time_t is an unsigned type */ - tt_signed = FALSE; - min_time = 0; - max_time = ~(time_t) 0; - if (sflag) - max_time >>= 1; - } else { - tt_signed = TRUE; - min_time = bit; - max_time = bit; - ++max_time; - max_time = -max_time; - if (sflag) - min_time = 0; - } - min_year = TM_YEAR_BASE + gmtime(&min_time)->tm_year; - max_year = TM_YEAR_BASE + gmtime(&max_time)->tm_year; -} - -static int -itsdir(name) -const char * const name; -{ - struct stat s; - - return (stat(name, &s) == 0 && S_ISDIR(s.st_mode)); -} - -/* -** Associate sets of rules with zones. -*/ - -/* -** Sort by rule name. -*/ - -static int -rcomp(cp1, cp2) -const void * cp1; -const void * cp2; -{ - return strcmp(((struct rule *) cp1)->r_name, - ((struct rule *) cp2)->r_name); -} - -static void -associate() -{ - register struct zone * zp; - register struct rule * rp; - register int base, out; - register int i; - - if (nrules != 0) - (void) qsort((void *) rules, (size_t) nrules, - (size_t) sizeof *rules, rcomp); - for (i = 0; i < nzones; ++i) { - zp = &zones[i]; - zp->z_rules = NULL; - zp->z_nrules = 0; - } - for (base = 0; base < nrules; base = out) { - rp = &rules[base]; - for (out = base + 1; out < nrules; ++out) - if (strcmp(rp->r_name, rules[out].r_name) != 0) - break; - for (i = 0; i < nzones; ++i) { - zp = &zones[i]; - if (strcmp(zp->z_rule, rp->r_name) != 0) - continue; - zp->z_rules = rp; - zp->z_nrules = out - base; - } - } - for (i = 0; i < nzones; ++i) { - zp = &zones[i]; - if (zp->z_nrules == 0) { - /* - ** Maybe we have a local standard time offset. - */ - eat(zp->z_filename, zp->z_linenum); - zp->z_stdoff = - gethms((char *)zp->z_rule, "unruly zone", TRUE); - /* - ** Note, though, that if there's no rule, - ** a '%s' in the format is a bad thing. - */ - if (strchr(zp->z_format, '%') != 0) - error("%s in ruleless zone"); - } - } - if (errors) - (void) exit(EXIT_FAILURE); -} - -static void -infile(name) -const char * name; -{ - register FILE * fp; - register char ** fields; - register char * cp; - register const struct lookup * lp; - register int nfields; - register int wantcont; - register int num; - char buf[BUFSIZ]; - - if (strcmp(name, "-") == 0) { - name = "standard input"; - fp = stdin; - } else if ((fp = fopen(name, "r")) == NULL) { - (void) fprintf(stderr, "%s: Can't open ", progname); - (void) perror(name); - (void) exit(EXIT_FAILURE); - } - wantcont = FALSE; - for (num = 1; ; ++num) { - eat(name, num); - if (fgets(buf, (int) sizeof buf, fp) != buf) - break; - cp = strchr(buf, '\n'); - if (cp == NULL) { - error("line too long"); - (void) exit(EXIT_FAILURE); - } - *cp = '\0'; - fields = getfields(buf); - nfields = 0; - while (fields[nfields] != NULL) { - if (ciequal(fields[nfields], "-")) - fields[nfields] = ""; - ++nfields; - } - if (nfields == 0) { - /* nothing to do */ - } else if (wantcont) { - wantcont = inzcont(fields, nfields); - } else { - lp = byword(fields[0], line_codes); - if (lp == NULL) - error("input line of unknown type"); - else switch ((int) (lp->l_value)) { - case LC_RULE: - inrule(fields, nfields); - wantcont = FALSE; - break; - case LC_ZONE: - wantcont = inzone(fields, nfields); - break; - case LC_LINK: - inlink(fields, nfields); - wantcont = FALSE; - break; - case LC_LEAP: - if (name != leapsec) - (void) fprintf(stderr, -"%s: Leap line in non leap seconds file %s\n", - progname, name); - else inleap(fields, nfields); - wantcont = FALSE; - break; - default: /* "cannot happen" */ - (void) fprintf(stderr, -"%s: panic: Invalid l_value %d\n", - progname, lp->l_value); - (void) exit(EXIT_FAILURE); - } - } - ifree((char *) fields); - } - if (ferror(fp)) { - (void) fprintf(stderr, "%s: Error reading ", progname); - (void) perror(filename); - (void) exit(EXIT_FAILURE); - } - if (fp != stdin && fclose(fp)) { - (void) fprintf(stderr, "%s: Error closing ", progname); - (void) perror(filename); - (void) exit(EXIT_FAILURE); - } - if (wantcont) - error("expected continuation line not found"); -} - -/* -** Convert a string of one of the forms -** h -h hh:mm -hh:mm hh:mm:ss -hh:mm:ss -** into a number of seconds. -** A null string maps to zero. -** Call error with errstring and return zero on errors. -*/ - -static long -gethms(string, errstring, signable) -char * string; -const char * const errstring; -const int signable; -{ - int hh, mm, ss, sign; - - if (string == NULL || *string == '\0') - return 0; - if (!signable) - sign = 1; - else if (*string == '-') { - sign = -1; - ++string; - } else sign = 1; - if (sscanf(string, scheck(string, "%d"), &hh) == 1) - mm = ss = 0; - else if (sscanf(string, scheck(string, "%d:%d"), &hh, &mm) == 2) - ss = 0; - else if (sscanf(string, scheck(string, "%d:%d:%d"), - &hh, &mm, &ss) != 3) { - error(errstring); - return 0; - } - if (hh < 0 || hh >= HOURSPERDAY || - mm < 0 || mm >= MINSPERHOUR || - ss < 0 || ss > SECSPERMIN) { - error(errstring); - return 0; - } - return eitol(sign) * - (eitol(hh * MINSPERHOUR + mm) * - eitol(SECSPERMIN) + eitol(ss)); -} - -static void -inrule(fields, nfields) -register char ** const fields; -const int nfields; -{ - static struct rule r; - - if (nfields != RULE_FIELDS) { - error("wrong number of fields on Rule line"); - return; - } - if (*fields[RF_NAME] == '\0') { - error("nameless rule"); - return; - } - r.r_filename = filename; - r.r_linenum = linenum; - r.r_stdoff = gethms(fields[RF_STDOFF], "invalid saved time", TRUE); - rulesub(&r, fields[RF_LOYEAR], fields[RF_HIYEAR], fields[RF_COMMAND], - fields[RF_MONTH], fields[RF_DAY], fields[RF_TOD]); - r.r_name = ecpyalloc(fields[RF_NAME]); - r.r_abbrvar = ecpyalloc(fields[RF_ABBRVAR]); - rules = (struct rule *) erealloc((char *) rules, - (int) ((nrules + 1) * sizeof *rules)); - rules[nrules++] = r; -} - -static int -inzone(fields, nfields) -register char ** const fields; -const int nfields; -{ - register int i; - char buf[132]; - - if (nfields < ZONE_MINFIELDS || nfields > ZONE_MAXFIELDS) { - error("wrong number of fields on Zone line"); - return FALSE; - } - if (strcmp(fields[ZF_NAME], TZDEFAULT) == 0 && lcltime != NULL) { - (void) sprintf(buf, - "\"Zone %s\" line and -l option are mutually exclusive", - TZDEFAULT); - error(buf); - return FALSE; - } - if (strcmp(fields[ZF_NAME], TZDEFRULES) == 0 && psxrules != NULL) { - (void) sprintf(buf, - "\"Zone %s\" line and -p option are mutually exclusive", - TZDEFRULES); - error(buf); - return FALSE; - } - for (i = 0; i < nzones; ++i) - if (zones[i].z_name != NULL && - strcmp(zones[i].z_name, fields[ZF_NAME]) == 0) { - (void) sprintf(buf, -"duplicate zone name %s (file \"%s\", line %d)", - fields[ZF_NAME], - zones[i].z_filename, - zones[i].z_linenum); - error(buf); - return FALSE; - } - return inzsub(fields, nfields, FALSE); -} - -static int -inzcont(fields, nfields) -register char ** const fields; -const int nfields; -{ - if (nfields < ZONEC_MINFIELDS || nfields > ZONEC_MAXFIELDS) { - error("wrong number of fields on Zone continuation line"); - return FALSE; - } - return inzsub(fields, nfields, TRUE); -} - -static int -inzsub(fields, nfields, iscont) -register char ** const fields; -const int nfields; -const int iscont; -{ - register char * cp; - static struct zone z; - register int i_gmtoff, i_rule, i_format; - register int i_untilyear, i_untilmonth; - register int i_untilday, i_untiltime; - register int hasuntil; - - if (iscont) { - i_gmtoff = ZFC_GMTOFF; - i_rule = ZFC_RULE; - i_format = ZFC_FORMAT; - i_untilyear = ZFC_TILYEAR; - i_untilmonth = ZFC_TILMONTH; - i_untilday = ZFC_TILDAY; - i_untiltime = ZFC_TILTIME; - z.z_name = NULL; - } else { - i_gmtoff = ZF_GMTOFF; - i_rule = ZF_RULE; - i_format = ZF_FORMAT; - i_untilyear = ZF_TILYEAR; - i_untilmonth = ZF_TILMONTH; - i_untilday = ZF_TILDAY; - i_untiltime = ZF_TILTIME; - z.z_name = ecpyalloc(fields[ZF_NAME]); - } - z.z_filename = filename; - z.z_linenum = linenum; - z.z_gmtoff = gethms(fields[i_gmtoff], "invalid GMT offset", TRUE); - if ((cp = strchr(fields[i_format], '%')) != 0) { - if (*++cp != 's' || strchr(cp, '%') != 0) { - error("invalid abbreviation format"); - return FALSE; - } - } - z.z_rule = ecpyalloc(fields[i_rule]); - z.z_format = ecpyalloc(fields[i_format]); - hasuntil = nfields > i_untilyear; - if (hasuntil) { - z.z_untilrule.r_filename = filename; - z.z_untilrule.r_linenum = linenum; - rulesub(&z.z_untilrule, - fields[i_untilyear], - "only", - "", - (nfields > i_untilmonth) ? fields[i_untilmonth] : "Jan", - (nfields > i_untilday) ? fields[i_untilday] : "1", - (nfields > i_untiltime) ? fields[i_untiltime] : "0"); - z.z_untiltime = rpytime(&z.z_untilrule, z.z_untilrule.r_loyear); - if (iscont && nzones > 0 && z.z_untiltime < max_time && - z.z_untiltime > min_time && - zones[nzones - 1].z_untiltime >= z.z_untiltime) { -error("Zone continuation line end time is not after end time of previous line"); - return FALSE; - } - } - zones = (struct zone *) erealloc((char *) zones, - (int) ((nzones + 1) * sizeof *zones)); - zones[nzones++] = z; - /* - ** If there was an UNTIL field on this line, - ** there's more information about the zone on the next line. - */ - return hasuntil; -} - -static void -inleap(fields, nfields) -register char ** const fields; -const int nfields; -{ - register const char * cp; - register const struct lookup * lp; - register int i, j; - int year, month, day; - long dayoff, tod; - time_t t; - - if (nfields != LEAP_FIELDS) { - error("wrong number of fields on Leap line"); - return; - } - dayoff = 0; - cp = fields[LP_YEAR]; - if (sscanf((char *)cp, scheck(cp, "%d"), &year) != 1 || - year < min_year || year > max_year) { - /* - * Leapin' Lizards! - */ - error("invalid leaping year"); - return; - } - j = EPOCH_YEAR; - while (j != year) { - if (year > j) { - i = len_years[isleap(j)]; - ++j; - } else { - --j; - i = -len_years[isleap(j)]; - } - dayoff = oadd(dayoff, eitol(i)); - } - if ((lp = byword(fields[LP_MONTH], mon_names)) == NULL) { - error("invalid month name"); - return; - } - month = lp->l_value; - j = TM_JANUARY; - while (j != month) { - i = len_months[isleap(year)][j]; - dayoff = oadd(dayoff, eitol(i)); - ++j; - } - cp = fields[LP_DAY]; - if (sscanf((char *)cp, scheck(cp, "%d"), &day) != 1 || - day <= 0 || day > len_months[isleap(year)][month]) { - error("invalid day of month"); - return; - } - dayoff = oadd(dayoff, eitol(day - 1)); - if (dayoff < 0 && !tt_signed) { - error("time before zero"); - return; - } - t = (time_t) dayoff * SECSPERDAY; - /* - ** Cheap overflow check. - */ - if (t / SECSPERDAY != dayoff) { - error("time overflow"); - return; - } - tod = gethms(fields[LP_TIME], "invalid time of day", FALSE); - cp = fields[LP_CORR]; - if (strcmp(cp, "+") != 0 && strcmp(cp, "") != 0) { - /* infile() turned "-" into "" */ - error("illegal CORRECTION field on Leap line"); - return; - } - if ((lp = byword(fields[LP_ROLL], leap_types)) == NULL) { - error("illegal Rolling/Stationary field on Leap line"); - return; - } - addleap(tadd(t, tod), *cp == '+', lp->l_value); -} - -static void -inlink(fields, nfields) -register char ** const fields; -const int nfields; -{ - struct link l; - - if (nfields != LINK_FIELDS) { - error("wrong number of fields on Link line"); - return; - } - if (*fields[LF_FROM] == '\0') { - error("blank FROM field on Link line"); - return; - } - if (*fields[LF_TO] == '\0') { - error("blank TO field on Link line"); - return; - } - l.l_filename = filename; - l.l_linenum = linenum; - l.l_from = ecpyalloc(fields[LF_FROM]); - l.l_to = ecpyalloc(fields[LF_TO]); - links = (struct link *) erealloc((char *) links, - (int) ((nlinks + 1) * sizeof *links)); - links[nlinks++] = l; -} - -static void -rulesub(rp, loyearp, hiyearp, typep, monthp, dayp, timep) -register struct rule * const rp; -char * const loyearp; -char * const hiyearp; -char * const typep; -char * const monthp; -char * const dayp; -char * const timep; -{ - register struct lookup const * lp; - register char * cp; - - if ((lp = byword(monthp, mon_names)) == NULL) { - error("invalid month name"); - return; - } - rp->r_month = lp->l_value; - rp->r_todisstd = FALSE; - cp = timep; - if (*cp != '\0') { - cp += strlen(cp) - 1; - switch (lowerit(*cp)) { - case 's': - rp->r_todisstd = TRUE; - *cp = '\0'; - break; - case 'w': - rp->r_todisstd = FALSE; - *cp = '\0'; - break; - } - } - rp->r_tod = gethms(timep, "invalid time of day", FALSE); - /* - ** Year work. - */ - cp = loyearp; - if ((lp = byword(cp, begin_years)) != NULL) switch ((int) lp->l_value) { - case YR_MINIMUM: - rp->r_loyear = min_year; - break; - case YR_MAXIMUM: - rp->r_loyear = max_year; - break; - default: /* "cannot happen" */ - (void) fprintf(stderr, - "%s: panic: Invalid l_value %d\n", - progname, lp->l_value); - (void) exit(EXIT_FAILURE); - } else if (sscanf(cp, scheck(cp, "%d"), &rp->r_loyear) != 1 || - rp->r_loyear < min_year || rp->r_loyear > max_year) { - if (noise) - error("invalid starting year"); - if (rp->r_loyear > max_year) - return; - } - cp = hiyearp; - if ((lp = byword(cp, end_years)) != NULL) switch ((int) lp->l_value) { - case YR_MINIMUM: - rp->r_hiyear = min_year; - break; - case YR_MAXIMUM: - rp->r_hiyear = max_year; - break; - case YR_ONLY: - rp->r_hiyear = rp->r_loyear; - break; - default: /* "cannot happen" */ - (void) fprintf(stderr, - "%s: panic: Invalid l_value %d\n", - progname, lp->l_value); - (void) exit(EXIT_FAILURE); - } else if (sscanf(cp, scheck(cp, "%d"), &rp->r_hiyear) != 1 || - rp->r_hiyear < min_year || rp->r_hiyear > max_year) { - if (noise) - error("invalid ending year"); - if (rp->r_hiyear < min_year) - return; - } - if (rp->r_hiyear < min_year) - return; - if (rp->r_loyear < min_year) - rp->r_loyear = min_year; - if (rp->r_hiyear > max_year) - rp->r_hiyear = max_year; - if (rp->r_loyear > rp->r_hiyear) { - error("starting year greater than ending year"); - return; - } - if (*typep == '\0') - rp->r_yrtype = NULL; - else { - if (rp->r_loyear == rp->r_hiyear) { - error("typed single year"); - return; - } - rp->r_yrtype = ecpyalloc(typep); - } - /* - ** Day work. - ** Accept things such as: - ** 1 - ** last-Sunday - ** Sun<=20 - ** Sun>=7 - */ - if ((lp = byword(dayp, lasts)) != NULL) { - rp->r_dycode = DC_DOWLEQ; - rp->r_wday = lp->l_value; - rp->r_dayofmonth = len_months[1][rp->r_month]; - } else { - if ((cp = strchr(dayp, '<')) != 0) - rp->r_dycode = DC_DOWLEQ; - else if ((cp = strchr(dayp, '>')) != 0) - rp->r_dycode = DC_DOWGEQ; - else { - cp = dayp; - rp->r_dycode = DC_DOM; - } - if (rp->r_dycode != DC_DOM) { - *cp++ = 0; - if (*cp++ != '=') { - error("invalid day of month"); - return; - } - if ((lp = byword(dayp, wday_names)) == NULL) { - error("invalid weekday name"); - return; - } - rp->r_wday = lp->l_value; - } - if (sscanf(cp, scheck(cp, "%d"), &rp->r_dayofmonth) != 1 || - rp->r_dayofmonth <= 0 || - (rp->r_dayofmonth > len_months[1][rp->r_month])) { - error("invalid day of month"); - return; - } - } -} - -static void -convert(val, buf) -const long val; -char * const buf; -{ - register int i; - register long shift; - - for (i = 0, shift = 24; i < 4; ++i, shift -= 8) - buf[i] = val >> shift; -} - -static void -puttzcode(val, fp) -const long val; -FILE * const fp; -{ - char buf[4]; - - convert(val, buf); - (void) fwrite((void *) buf, (size_t) sizeof buf, (size_t) 1, fp); -} - -static void -writezone(name) -const char * const name; -{ - register FILE * fp; - register int i, j; - char fullname[BUFSIZ]; - static struct tzhead tzh; - - if (strlen(directory) + 1 + strlen(name) >= sizeof fullname) { - (void) fprintf(stderr, - "%s: File name %s/%s too long\n", progname, - directory, name); - (void) exit(EXIT_FAILURE); - } - (void) sprintf(fullname, "%s/%s", directory, name); - if ((fp = fopen(fullname, "wb")) == NULL) { - if (mkdirs(fullname) != 0) - (void) exit(EXIT_FAILURE); - if ((fp = fopen(fullname, "wb")) == NULL) { - (void) fprintf(stderr, "%s: Can't create ", progname); - (void) perror(fullname); - (void) exit(EXIT_FAILURE); - } - } - convert(eitol(typecnt), tzh.tzh_ttisstdcnt); - convert(eitol(leapcnt), tzh.tzh_leapcnt); - convert(eitol(timecnt), tzh.tzh_timecnt); - convert(eitol(typecnt), tzh.tzh_typecnt); - convert(eitol(charcnt), tzh.tzh_charcnt); - (void) fwrite((void *) &tzh, (size_t) sizeof tzh, (size_t) 1, fp); - for (i = 0; i < timecnt; ++i) { - j = leapcnt; - while (--j >= 0) - if (ats[i] >= trans[j]) { - ats[i] = tadd(ats[i], corr[j]); - break; - } - puttzcode((long) ats[i], fp); - } - if (timecnt > 0) - (void) fwrite((void *) types, (size_t) sizeof types[0], - (size_t) timecnt, fp); - for (i = 0; i < typecnt; ++i) { - puttzcode((long) gmtoffs[i], fp); - (void) putc(isdsts[i], fp); - (void) putc(abbrinds[i], fp); - } - if (charcnt != 0) - (void) fwrite((void *) chars, (size_t) sizeof chars[0], - (size_t) charcnt, fp); - for (i = 0; i < leapcnt; ++i) { - if (roll[i]) { - if (timecnt == 0 || trans[i] < ats[0]) { - j = 0; - while (isdsts[j]) - if (++j >= typecnt) { - j = 0; - break; - } - } else { - j = 1; - while (j < timecnt && trans[i] >= ats[j]) - ++j; - j = types[j - 1]; - } - puttzcode((long) tadd(trans[i], -gmtoffs[j]), fp); - } else puttzcode((long) trans[i], fp); - puttzcode((long) corr[i], fp); - } - for (i = 0; i < typecnt; ++i) - (void) putc(ttisstds[i], fp); - if (ferror(fp) || fclose(fp)) { - (void) fprintf(stderr, "%s: Write error on ", progname); - (void) perror(fullname); - (void) exit(EXIT_FAILURE); - } -} - -static void -outzone(zpfirst, zonecount) -const struct zone * const zpfirst; -const int zonecount; -{ - register const struct zone * zp; - register struct rule * rp; - register int i, j; - register int usestart, useuntil; - register time_t starttime, untiltime; - register long gmtoff; - register long stdoff; - register int year; - register long startoff; - register int startisdst; - register int startttisstd; - register int type; - char startbuf[BUFSIZ]; - - /* - ** Now. . .finally. . .generate some useful data! - */ - timecnt = 0; - typecnt = 0; - charcnt = 0; - /* - ** Two guesses. . .the second may well be corrected later. - */ - gmtoff = zpfirst->z_gmtoff; - stdoff = 0; - starttime = 0; - startttisstd = FALSE; - for (i = 0; i < zonecount; ++i) { - usestart = i > 0; - useuntil = i < (zonecount - 1); - zp = &zpfirst[i]; - eat(zp->z_filename, zp->z_linenum); - startisdst = -1; - if (zp->z_nrules == 0) { - type = addtype(oadd(zp->z_gmtoff, zp->z_stdoff), - zp->z_format, zp->z_stdoff != 0, - startttisstd); - if (usestart) - addtt(starttime, type); - gmtoff = zp->z_gmtoff; - stdoff = zp->z_stdoff; - } else for (year = min_year; year <= max_year; ++year) { - if (useuntil && year > zp->z_untilrule.r_hiyear) - break; - /* - ** Mark which rules to do in the current year. - ** For those to do, calculate rpytime(rp, year); - */ - for (j = 0; j < zp->z_nrules; ++j) { - rp = &zp->z_rules[j]; - eats(zp->z_filename, zp->z_linenum, - rp->r_filename, rp->r_linenum); - rp->r_todo = year >= rp->r_loyear && - year <= rp->r_hiyear && - yearistype(year, rp->r_yrtype); - if (rp->r_todo) - rp->r_temp = rpytime(rp, year); - } - for ( ; ; ) { - register int k; - register time_t jtime, ktime; - register long offset; - char buf[BUFSIZ]; - - if (useuntil) { - /* - ** Turn untiltime into GMT - ** assuming the current gmtoff and - ** stdoff values. - */ - offset = gmtoff; - if (!zp->z_untilrule.r_todisstd) - offset = oadd(offset, stdoff); - untiltime = tadd(zp->z_untiltime, - -offset); - } - /* - ** Find the rule (of those to do, if any) - ** that takes effect earliest in the year. - */ - k = -1; -#ifdef lint - ktime = 0; -#endif /* defined lint */ - for (j = 0; j < zp->z_nrules; ++j) { - rp = &zp->z_rules[j]; - if (!rp->r_todo) - continue; - eats(zp->z_filename, zp->z_linenum, - rp->r_filename, rp->r_linenum); - offset = gmtoff; - if (!rp->r_todisstd) - offset = oadd(offset, stdoff); - jtime = rp->r_temp; - if (jtime == min_time || - jtime == max_time) - continue; - jtime = tadd(jtime, -offset); - if (k < 0 || jtime < ktime) { - k = j; - ktime = jtime; - } - } - if (k < 0) - break; /* go on to next year */ - rp = &zp->z_rules[k]; - rp->r_todo = FALSE; - if (useuntil && ktime >= untiltime) - break; - if (usestart) { - if (ktime < starttime) { - stdoff = rp->r_stdoff; - startoff = oadd(zp->z_gmtoff, - rp->r_stdoff); - (void) sprintf(startbuf, - zp->z_format, - rp->r_abbrvar); - startisdst = - rp->r_stdoff != 0; - continue; - } - if (ktime != starttime && - startisdst >= 0) -addtt(starttime, addtype(startoff, startbuf, startisdst, startttisstd)); - usestart = FALSE; - } - eats(zp->z_filename, zp->z_linenum, - rp->r_filename, rp->r_linenum); - (void) sprintf(buf, zp->z_format, - rp->r_abbrvar); - offset = oadd(zp->z_gmtoff, rp->r_stdoff); - type = addtype(offset, buf, rp->r_stdoff != 0, - rp->r_todisstd); - if (timecnt != 0 || rp->r_stdoff != 0) - addtt(ktime, type); - gmtoff = zp->z_gmtoff; - stdoff = rp->r_stdoff; - } - } - /* - ** Now we may get to set starttime for the next zone line. - */ - if (useuntil) { - starttime = tadd(zp->z_untiltime, - -gmtoffs[types[timecnt - 1]]); - startttisstd = zp->z_untilrule.r_todisstd; - } - } - writezone(zpfirst->z_name); -} - -static void -addtt(starttime, type) -const time_t starttime; -const int type; -{ - if (timecnt != 0 && type == types[timecnt - 1]) - return; /* easy enough! */ - if (timecnt >= TZ_MAX_TIMES) { - error("too many transitions?!"); - (void) exit(EXIT_FAILURE); - } - ats[timecnt] = starttime; - types[timecnt] = type; - ++timecnt; -} - -static int -addtype(gmtoff, abbr, isdst, ttisstd) -const long gmtoff; -const char * const abbr; -const int isdst; -const int ttisstd; -{ - register int i, j; - - /* - ** See if there's already an entry for this zone type. - ** If so, just return its index. - */ - for (i = 0; i < typecnt; ++i) { - if (gmtoff == gmtoffs[i] && isdst == isdsts[i] && - strcmp(abbr, &chars[abbrinds[i]]) == 0 && - ttisstd == ttisstds[i]) - return i; - } - /* - ** There isn't one; add a new one, unless there are already too - ** many. - */ - if (typecnt >= TZ_MAX_TYPES) { - error("too many local time types"); - (void) exit(EXIT_FAILURE); - } - gmtoffs[i] = gmtoff; - isdsts[i] = isdst; - ttisstds[i] = ttisstd; - - for (j = 0; j < charcnt; ++j) - if (strcmp(&chars[j], abbr) == 0) - break; - if (j == charcnt) - newabbr(abbr); - abbrinds[i] = j; - ++typecnt; - return i; -} - -static void -addleap(t, positive, rolling) -const time_t t; -const int positive; -const int rolling; -{ - register int i, j; - - if (leapcnt >= TZ_MAX_LEAPS) { - error("too many leap seconds"); - (void) exit(EXIT_FAILURE); - } - for (i = 0; i < leapcnt; ++i) - if (t <= trans[i]) { - if (t == trans[i]) { - error("repeated leap second moment"); - (void) exit(EXIT_FAILURE); - } - break; - } - for (j = leapcnt; j > i; --j) { - trans[j] = trans[j-1]; - corr[j] = corr[j-1]; - roll[j] = roll[j-1]; - } - trans[i] = t; - corr[i] = (positive ? 1L : -1L); - roll[i] = rolling; - ++leapcnt; -} - -static void -adjleap() -{ - register int i; - register long last = 0; - - /* - ** propagate leap seconds forward - */ - for (i = 0; i < leapcnt; ++i) { - trans[i] = tadd(trans[i], last); - last = corr[i] += last; - } -} - -static int -yearistype(year, type) -const int year; -const char * const type; -{ - char buf[BUFSIZ]; - int result; - - if (type == NULL || *type == '\0') - return TRUE; - if (strcmp(type, "uspres") == 0) - return (year % 4) == 0; - if (strcmp(type, "nonpres") == 0) - return (year % 4) != 0; - (void) sprintf(buf, "yearistype %d %s", year, type); - result = system(buf); - if (result == 0) - return TRUE; - if (result == (1 << 8)) - return FALSE; - error("Wild result from command execution"); - (void) fprintf(stderr, "%s: command was '%s', result was %d\n", - progname, buf, result); - for ( ; ; ) - (void) exit(EXIT_FAILURE); -} - -static int -lowerit(a) -const int a; -{ - return (isascii(a) && isupper(a)) ? tolower(a) : a; -} - -static int -ciequal(ap, bp) /* case-insensitive equality */ -register const char * ap; -register const char * bp; -{ - while (lowerit(*ap) == lowerit(*bp++)) - if (*ap++ == '\0') - return TRUE; - return FALSE; -} - -static int -itsabbr(abbr, word) -register const char * abbr; -register const char * word; -{ - if (lowerit(*abbr) != lowerit(*word)) - return FALSE; - ++word; - while (*++abbr != '\0') - do if (*word == '\0') - return FALSE; - while (lowerit(*word++) != lowerit(*abbr)); - return TRUE; -} - -static const struct lookup * -byword(word, table) -register const char * const word; -register const struct lookup * const table; -{ - register const struct lookup * foundlp; - register const struct lookup * lp; - - if (word == NULL || table == NULL) - return NULL; - /* - ** Look for exact match. - */ - for (lp = table; lp->l_word != NULL; ++lp) - if (ciequal(word, lp->l_word)) - return lp; - /* - ** Look for inexact match. - */ - foundlp = NULL; - for (lp = table; lp->l_word != NULL; ++lp) - if (itsabbr(word, lp->l_word)) - if (foundlp == NULL) - foundlp = lp; - else return NULL; /* multiple inexact matches */ - return foundlp; -} - -static char ** -getfields(cp) -register char * cp; -{ - register char * dp; - register char ** array; - register int nsubs; - - if (cp == NULL) - return NULL; - array = (char **) emalloc((int) ((strlen(cp) + 1) * sizeof *array)); - nsubs = 0; - for ( ; ; ) { - while (isascii(*cp) && isspace(*cp)) - ++cp; - if (*cp == '\0' || *cp == '#') - break; - array[nsubs++] = dp = cp; - do { - if ((*dp = *cp++) != '"') - ++dp; - else while ((*dp = *cp++) != '"') - if (*dp != '\0') - ++dp; - else error("Odd number of quotation marks"); - } while (*cp != '\0' && *cp != '#' && - (!isascii(*cp) || !isspace(*cp))); - if (isascii(*cp) && isspace(*cp)) - ++cp; - *dp = '\0'; - } - array[nsubs] = NULL; - return array; -} - -static long -oadd(t1, t2) -const long t1; -const long t2; -{ - register long t; - - t = t1 + t2; - if (t2 > 0 && t <= t1 || t2 < 0 && t >= t1) { - error("time overflow"); - (void) exit(EXIT_FAILURE); - } - return t; -} - -static time_t -tadd(t1, t2) -const time_t t1; -const long t2; -{ - register time_t t; - - if (t1 == max_time && t2 > 0) - return max_time; - if (t1 == min_time && t2 < 0) - return min_time; - t = t1 + t2; - if (t2 > 0 && t <= t1 || t2 < 0 && t >= t1) { - error("time overflow"); - (void) exit(EXIT_FAILURE); - } - return t; -} - -/* -** Given a rule, and a year, compute the date - in seconds since January 1, -** 1970, 00:00 LOCAL time - in that year that the rule refers to. -*/ - -static time_t -rpytime(rp, wantedy) -register const struct rule * const rp; -register const int wantedy; -{ - register int y, m, i; - register long dayoff; /* with a nod to Margaret O. */ - register time_t t; - - dayoff = 0; - m = TM_JANUARY; - y = EPOCH_YEAR; - while (wantedy != y) { - if (wantedy > y) { - i = len_years[isleap(y)]; - ++y; - } else { - --y; - i = -len_years[isleap(y)]; - } - dayoff = oadd(dayoff, eitol(i)); - } - while (m != rp->r_month) { - i = len_months[isleap(y)][m]; - dayoff = oadd(dayoff, eitol(i)); - ++m; - } - i = rp->r_dayofmonth; - if (m == TM_FEBRUARY && i == 29 && !isleap(y)) { - if (rp->r_dycode == DC_DOWLEQ) - --i; - else { - error("use of 2/29 in non leap-year"); - (void) exit(EXIT_FAILURE); - } - } - --i; - dayoff = oadd(dayoff, eitol(i)); - if (rp->r_dycode == DC_DOWGEQ || rp->r_dycode == DC_DOWLEQ) { - register long wday; - -#define LDAYSPERWEEK ((long) DAYSPERWEEK) - wday = eitol(EPOCH_WDAY); - /* - ** Don't trust mod of negative numbers. - */ - if (dayoff >= 0) - wday = (wday + dayoff) % LDAYSPERWEEK; - else { - wday -= ((-dayoff) % LDAYSPERWEEK); - if (wday < 0) - wday += LDAYSPERWEEK; - } - while (wday != eitol(rp->r_wday)) - if (rp->r_dycode == DC_DOWGEQ) { - dayoff = oadd(dayoff, (long) 1); - if (++wday >= LDAYSPERWEEK) - wday = 0; - ++i; - } else { - dayoff = oadd(dayoff, (long) -1); - if (--wday < 0) - wday = LDAYSPERWEEK - 1; - --i; - } - if (i < 0 || i >= len_months[isleap(y)][m]) { - error("no day in month matches rule"); - (void) exit(EXIT_FAILURE); - } - } - if (dayoff < 0 && !tt_signed) { - if (wantedy == rp->r_loyear) - return min_time; - error("time before zero"); - (void) exit(EXIT_FAILURE); - } - t = (time_t) dayoff * SECSPERDAY; - /* - ** Cheap overflow check. - */ - if (t / SECSPERDAY != dayoff) { - if (wantedy == rp->r_hiyear) - return max_time; - if (wantedy == rp->r_loyear) - return min_time; - error("time overflow"); - (void) exit(EXIT_FAILURE); - } - return tadd(t, rp->r_tod); -} - -static void -newabbr(string) -const char * const string; -{ - register int i; - - i = strlen(string) + 1; - if (charcnt + i >= TZ_MAX_CHARS) { - error("too many, or too long, time zone abbreviations"); - (void) exit(EXIT_FAILURE); - } - (void) strcpy(&chars[charcnt], string); - charcnt += eitol(i); -} - -static int -mkdirs(name) -char * const name; -{ - register char * cp; - - if ((cp = name) == NULL || *cp == '\0') - return 0; - while ((cp = strchr(cp + 1, '/')) != 0) { - *cp = '\0'; - if (!itsdir(name)) { - /* - ** It doesn't seem to exist, so we try to create it. - */ - if (mkdir(name, 0755) != 0) { - (void) fprintf(stderr, - "%s: Can't create directory ", - progname); - (void) perror(name); - return -1; - } - } - *cp = '/'; - } - return 0; -} - -static long -eitol(i) -const int i; -{ - long l; - - l = i; - if (i < 0 && l >= 0 || i == 0 && l != 0 || i > 0 && l <= 0) { - (void) fprintf(stderr, "%s: %d did not sign extend correctly\n", - progname, i); - (void) exit(EXIT_FAILURE); - } - return l; -} - -/* -** UNIX is a registered trademark of AT&T. -*/ |